Keck-DataReductionPipelines / KPF-Pipeline

KPF-Pipeline
https://kpf-pipeline.readthedocs.io/en/latest/
Other
11 stars 2 forks source link

Add diagnostics to header #734

Closed awhoward closed 9 months ago

awhoward commented 9 months ago

This branch is to implement as many diagnostics-in-headers in the list here (https://github.com/Keck-DataReductionPipelines/KPF-Pipeline/issues/733) as possible. So far, I have implemented dark noise keywords and SNR of L1 spectra keywords.

The code seems to run on the main recipe, but this initial check-in is to have the automated tests run. I intend to work through the list in the coming days. I'm updating the documentation as I go in this Pull Request (https://github.com/Keck-DataReductionPipelines/KPF-Pipeline/pull/731), which can be merged any time.

Note that this code establishes the DiagnosticsFramework as the class for interacting with methods to compute header keywords (mostly from Analysis classes) from within recipes. This new class lives in the Quicklook directory since it is closely related (both produce summary information; "quicklook" outputs are mostly graphical, while "diagnostics" outputs are mostly summary statistics).

awhoward commented 9 months ago

@bjfultn - let's discuss the CI failure above. The report is voluminous so I may not be interpreting it correctly. I see the line below from the report. This confuses me because I don't think I changed MasterFlatFramework. I did move some files with names like modules/Utils/analyze_2d.py to modules/quicklook/src/analyze_2d.py. (I'm happy to discuss that organizational change.) But I don't think MasterFlatFramework depends on any of the "Analyze" classes. Did the CI failed because of a memory problem ("buffer too small")?

[MasterFlatFramework][ERROR]:Failed executing primitive MasterFlatFramework: buffer is too small for requested array

awhoward commented 9 months ago

I fixed the conflict that was automatically detected that @bjfultn pointed out this morning. Let's see if it passes the CI test now.