Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide an option to bypass the solver layer #342

Open
landmanbester opened this issue Sep 13, 2024 · 1 comment
Open

Provide an option to bypass the solver layer #342

landmanbester opened this issue Sep 13, 2024 · 1 comment
Assignees

Comments

@landmanbester
Copy link
Collaborator

Describe the problem that the feature should address
A common use case is to interpolate the gains without doing any actual calibration (as is required for transferring gain solutions from the calibrator to the the target for example). In the current implementation, QuartiCal will still run through the entire data even if solver.iter_recipe contains all zeros. The initial interpolation is actually quite fast but the subsequent pass through the data can take almost as long as calibrating the data in the first place.

Describe the solution you'd like
An option to bypass the solver layer would be useful here. In other words, if solver.iter_recipe is all zeros QuartiCal should not load the data in the first place.

Describe alternatives you've considered
An alternative would be to have an explicit solver.bypass option because it may still be useful to see what happens to the chi2's when doing the interpolation. Another option would be to implement this as a separate interpolation/smoothing application

@JSKenyon
Copy link
Collaborator

This is definitely something which I should add. I hadn't really considered the fact that having the solver code in the Dask graph results in the all the data being read, even if no computation is done. There are occasions when this may be useful i.e. if we want to form residuals/corrected data using the interpolated solutions. However, if the only output is the solutions themselves, we should definitely short circuit the remainder of the calibration code (as the interpolation is actually done in a completely separate compute call). This may even be as simple as putting in a check which confirms that ouptut.products is empty and solver.iter_recipe is entirely zero.

@JSKenyon JSKenyon self-assigned this Sep 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants