diff --git a/metis_l1_prep.pro b/metis_l1_prep.pro index 85a7191bd346025692bb8293bee3cd596ebe2515..367201950e1c04804714d2ed0b0179f7443f9968 100755 --- a/metis_l1_prep.pro +++ b/metis_l1_prep.pro @@ -151,15 +151,33 @@ pro metis_l1_prep ; join the metadata extension header to the primary header removing useless keywords - i = where(strmid(primary_header, 0, 8) eq 'COMP_RAT') - j = where(strmid(metadata_extension_header, 0, 8) eq 'EXTNAME ') - k = where(strmid(metadata_extension_header, 0, 8) eq 'TFORM1 ') + del_tags = list( $ + 'XTENSION', $ + 'BITPIX', $ + 'NAXIS', $ + 'NAXIS1', $ + 'NAXIS2', $ + 'PCOUNT', $ + 'GCOUNT', $ + 'TFIELDS', $ + 'TTYPE1', $ + 'TFORM1', $ + 'TTYPE2', $ + 'TFORM2', $ + 'EXTNAME', $ + 'CHECKSUM', $ + 'DATASUM', $ + 'END' $ + ) - primary_header = [ $ - primary_header[0 : i], $ - metadata_extension_header[j + 1 : k - 1], $ - primary_header[i + 1: *] $ - ] + foreach item, metadata_extension_header do begin + tag = strmid(item, 0, 8) + tag = tag.trim() + if ~ isa(del_tags.where(tag)) then begin + value = fxpar(metadata_extension_header, tag, comment = comment) + fxaddpar, primary_header, tag, value, comment, before = 'CHECKSUM' + endif + endforeach ; rebin the image if binning was applied during the acquisition and check for the data quality ; NOTE - this is done only for image data products @@ -285,8 +303,8 @@ pro metis_l1_prep fxaddpar, primary_header, 'BSCALE', 1, 'Ratio of physical to array value at 0 offset', before = 'DATAMIN' fxaddpar, primary_header, 'BZERO', 0, 'Physical value for the array value 0', before = 'DATAMIN' fxaddpar, primary_header, 'BTYPE', metis_datatype[datatype], 'Science data object type', before = 'DATAMIN' - fxaddpar, primary_header, 'BUNIT', 'DN', 'Units of physical value, after application of BSCALE and BZERO', before = 'DATAMIN' - fxaddpar, primary_header, 'BLANK', 0 + fxaddpar, primary_header, 'BUNIT', 'DN', 'Units of physical value', before = 'DATAMIN' + fxaddpar, primary_header, 'BLANK', 0, 'Data value used to mark undefined pixels', after = 'BUNIT' fxaddpar, primary_header, 'DATAMIN', min(data, /nan) fxaddpar, primary_header, 'DATAMAX', max(data, /nan) fxaddpar, primary_header, 'IDB_VERS', input.idb_version, '', before = 'HDR_VERS'