diff --git a/metis_l1_prep.pro b/metis_l1_prep.pro index 7d03b4e671fa3d0993769b6837366c1e0978ed1d..2b0de25b6eb46d6ebecf09f26dc023523974ff53 100755 --- a/metis_l1_prep.pro +++ b/metis_l1_prep.pro @@ -533,35 +533,87 @@ pro metis_l1_prep journal, 'Fits file created:' journal, ' file name = ' + out_file_name + base_header = primary_header + sxdelpar, base_header, 'SIMPLE' + sxdelpar, base_header, 'EXTEND' + sxdelpar, base_header, 'COMMENT' + sxdelpar, base_header, 'HISTORY' + ; if applicable, save the data binary-table extension as it is if isa(data_bin_table) then begin - if datatype lt 9 then fits_add_checksum, data_extension_header, data_bin_table - mwrfits, data_bin_table, out_file_name, data_extension_header, /no_comment, /silent + extension_header = base_header + sxdelpar, extension_header, 'BSCALE' + sxdelpar, extension_header, 'BZERO' + sxdelpar, extension_header, 'BUNIT' + sxdelpar, extension_header, 'BTYPE' + sxdelpar, extension_header, 'BLANK' + sxdelpar, extension_header, 'DATAMIN' + sxdelpar, extension_header, 'DATAMAX' + fxaddpar, extension_header, 'XTENSION', 'BINTABLE', 'binary table extension', before = 'BITPIX' + fxaddpar, extension_header, 'NAXIS', 2, 'number of data axes' + fxaddpar, extension_header, 'NAXIS1', 0, 'length of dimension 1', after = 'NAXIS' + fxaddpar, extension_header, 'NAXIS2', 0, 'length of dimension 2', after = 'NAXIS1' + fxaddpar, extension_header, 'PCOUNT', 0, 'parameter count', before = 'LONGSTRN' + fxaddpar, extension_header, 'GCOUNT', 1, 'group count', before = 'LONGSTRN' + fxaddpar, extension_header, 'TFIELDS', 0, 'number of columns in table', before = 'LONGSTRN' + fxaddpar, extension_header, 'EXTNAME', fxpar(data_extension_header, 'EXTNAME'), 'extension name', before = 'LONGSTRN' + + ; add the extension to the fits file + + mwrfits, data_bin_table, out_file_name, extension_header, /no_comment, /silent endif ; save the quality matrix if datatype le 6 and isa(quality_matrix) then begin - quality_matrix_header = !null - fxaddpar, quality_matrix_header, 'PCOUNT', 0, 'parameter count' - fxaddpar, quality_matrix_header, 'GCOUNT', 1, 'group count' - fxaddpar, quality_matrix_header, 'EXTNAME', 'Quality matrix', 'extension name' - fits_add_checksum, quality_matrix_header, quality_matrix - mwrfits, quality_matrix, out_file_name, quality_matrix_header, /no_comment, /silent + extension_header = base_header + sxdelpar, extension_header, 'BLANK' + fxaddpar, extension_header, 'XTENSION', 'IMAGE', 'image extension', before = 'BITPIX' + fxaddpar, extension_header, 'PCOUNT', 0, 'parameter count', before = 'LONGSTRN' + fxaddpar, extension_header, 'GCOUNT', 1, 'group count', before = 'LONGSTRN' + fxaddpar, extension_header, 'EXTNAME', 'Quality matrix', 'extension name', before = 'LONGSTRN' + fxaddpar, extension_header, 'BTYPE', 'Pixel quality' + fxaddpar, extension_header, 'BUNIT', 'None' + fxaddpar, extension_header, 'DATAMIN', min(quality_matrix, /nan) + fxaddpar, extension_header, 'DATAMAX', max(quality_matrix, /nan) + fxaddpar, extension_header, 'COMMENT', 'Quality matrix values:' + fxaddpar, extension_header, 'COMMENT', ' NaN = saturated or null L0 pixel counts' + fxaddpar, extension_header, 'COMMENT', ' 0 = unreliable pixel value' + fxaddpar, extension_header, 'COMMENT', ' 1 = good pixel' + + ; add the extension to the fits file + + fits_add_checksum, extension_header, quality_matrix + mwrfits, quality_matrix, out_file_name, extension_header, /no_comment, /silent journal, 'Quality-matrix extension correctly added.' endif ; build the telemetry extension - hk_extension_header = !null - fxaddpar, hk_extension_header, 'PCOUNT', 0, 'parameter count' - fxaddpar, hk_extension_header, 'GCOUNT', 1, 'group count' - fxaddpar, hk_extension_header, 'EXTNAME', 'House-keeping', 'extension name' - hk_bin_table = make_bin_table(hk_table) - mwrfits, hk_bin_table, out_file_name, hk_extension_header, /no_comment, /silent + + extension_header = base_header + sxdelpar, extension_header, 'BSCALE' + sxdelpar, extension_header, 'BZERO' + sxdelpar, extension_header, 'BUNIT' + sxdelpar, extension_header, 'BTYPE' + sxdelpar, extension_header, 'BLANK' + sxdelpar, extension_header, 'DATAMIN' + sxdelpar, extension_header, 'DATAMAX' + fxaddpar, extension_header, 'XTENSION', 'BINTABLE', 'binary table extension', before = 'BITPIX' + fxaddpar, extension_header, 'NAXIS', 2, 'number of data axes' + fxaddpar, extension_header, 'NAXIS1', 0, 'length of dimension 1', after = 'NAXIS' + fxaddpar, extension_header, 'NAXIS2', 0, 'length of dimension 2', after = 'NAXIS1' + fxaddpar, extension_header, 'PCOUNT', 0, 'parameter count', before = 'LONGSTRN' + fxaddpar, extension_header, 'GCOUNT', 1, 'group count', before = 'LONGSTRN' + fxaddpar, extension_header, 'TFIELDS', 0, 'number of columns in table', before = 'LONGSTRN' + fxaddpar, extension_header, 'EXTNAME', 'House-keeping', 'extension name', before = 'LONGSTRN' + + ; add the extension to the fits file + + mwrfits, hk_bin_table, out_file_name, extension_header, /no_comment, /silent journal, 'HK binary-table extension correctly added.'