This notebook provides an example running a quality control (QC) method with the KPF DRP.

[1]:
# Import packages for reading files

from modules.Utils.kpf_parse import get_datecode
from kpfpipe.models.level0 import KPF0
from modules.quality_control.src.quality_control import QCL0
[2]:
# Example files

# Good L0 files
#ObsID = 'KP.20230830.33530.82' # file with no missing data products
#ObsID = 'KP.20230829.76026.81' # file with no missing data products

# Bad L0 file
ObsID = 'KP.20231108.77769.16'  # file with missing Red

# Read the file
L0_filename = '/data/L0/' + get_datecode(ObsID) + '/' + ObsID + '.fits'
L0 = KPF0.from_fits(L0_filename)
[3]:
# Test of 'L0_data_products_check'

qcl0 = QCL0(L0)
qc_name = 'L0_data_products_check'
qc_value = qcl0.L0_data_products_check(L0)
qcl0.add_qc_keyword_to_header(qc_name,qc_value)
L0_new = qcl0.fits_object
print('QC result: ' + str(L0_new.header['PRIMARY']['DATAPRL0']))
Data products that are supposed to be in this L0 file: ['Green', 'Red', 'ExpMeter', 'Telemetry', 'Pyrheliometer']
Data products in L0 file: ['Green', 'ExpMeter', 'Telemetry', 'Pyrheliometer']
Red not present in L0 file. QC(L0_data_products_check) failed.
---->add_qc_keyword_to_header: qc_name, keyword, value, comment = L0_data_products_check, DATAPRL0, False, QC: L0 data present check
QC result: False