geminiplanetimager / gpi_pipeline

Gemini Planet Imager Data Reduction Pipeline
Other
8 stars 6 forks source link

Autoreducer doesn't do manual flexure shifts if using "Specific recipe" #107

Open semaphoreP opened 7 years ago

semaphoreP commented 7 years ago

Title summarizes it. Autoreducer gives two options: 1. Default automatic recipe 2. Specific recipe. If specific recipe is selected, the manual DX/DY fields for flexure compensation don't get passed to the recipe but appear to the user to be type-able. This can be confusing during the night when we're busy observing and get confused why the pipeline isn't working. We should either:

  1. Don't let users type into DX/DY if "Specific recipe" is selected (easier, probably)
  2. Program it to pass DX/DY flexure fields for "Specific recipe" mode (I'm guessing this is harder.
mperrin commented 7 years ago

Actually I think option 2 may be easy. The "Specific recipe" option is implemented in an else block at https://github.com/geminiplanetimager/gpi_pipeline/blob/master/drf_guis/automaticreducer__define.pro#L279 That block is 3 lines long and consists solely of looking up the template filename from the GUI drop down. Completely ignores flexure of any kind. I suspect it should be sufficient to modify that to set should_apply_flexure_update=1 if there are nonzero DX and DY values. Or maybe just add it all the time? Setting that variable flags some other code to get invoked later, and that later block appears to be smart enough and have error checking so it won't bomb out if you try it on some template that it doesn't make sense on.