diff --git a/decode_obt.pro b/decode_obt.pro new file mode 100644 index 0000000000000000000000000000000000000000..92cb582d7924007f3d1064bd40c5e4d8b824f7ad --- /dev/null +++ b/decode_obt.pro @@ -0,0 +1,13 @@ +function decode_obt, t_coarse, t_fine, to_double = to_double, from_double = from_double + if keyword_set(from_double) then begin + obt = t_coarse + t_coarse = ulong(obt) + t_fine = uint((obt - t_coarse) * 65536.0D) + endif + + if keyword_set(to_double) then begin + return, double(t_coarse) + double(t_fine)/65536.0D + endif + + return, t_coarse.tostring() + ':' + t_fine.tostring() +end \ No newline at end of file diff --git a/interpol_param.pro b/interpol_param.pro index 81221e5fccbafc0761b889106a9338fa0f56d450..7e97e7f495458cceb4417a85dac20f2ef91642c0 100644 --- a/interpol_param.pro +++ b/interpol_param.pro @@ -5,6 +5,6 @@ function interpol_param, hk_table, par_name, time times = strsplit(hk_table.gen_time[i[j]], ":", /extract) hk_time[j] = double(times[0]) + double(times[1])/65536.0D endfor - value = interpol(float(hk_table.cal_val[i]), hk_time, time) + value = interpol(float(hk_table.eng_val[i]), hk_time, time) return, value end \ No newline at end of file diff --git a/metis_l1_prep.pro b/metis_l1_prep.pro index 8318af68b30f1ac0ea30ec99b087a99a8e0f2018..6def385a9169c2d888b9e66d39a52444d9aca57d 100644 --- a/metis_l1_prep.pro +++ b/metis_l1_prep.pro @@ -46,24 +46,24 @@ pro metis_l1_prep ; read l0 fits structure - fits_info, input.l0_file_name, n_ext = n_ext, extname = extname, /silent + fits_info, input.file_name, n_ext = n_ext, extname = extname, /silent ; read the primary hdu ext_no = 0 - image = mrdfits(input.l0_file_name, ext_no, primary_header, /silent) + image = mrdfits(input.file_name, ext_no, primary_header, /silent) ; if the data is not an image, read the data binary-table extension if fxpar(primary_header, 'NAXIS') eq 0 then begin ext_no += 1 - data_bin_table = mrdfits(input.l0_file_name, ext_no, data_extension_header, /silent) + data_bin_table = mrdfits(input.file_name, ext_no, data_extension_header, /silent) endif else data_bin_table = !null ; read the metadata extension ext_no += 1 - metadata_bin_table = mrdfits(input.l0_file_name, ext_no, metadata_extension_header, /silent) + metadata_bin_table = mrdfits(input.file_name, ext_no, metadata_extension_header, /silent) ; identify the data product and its nominal size @@ -88,7 +88,7 @@ pro metis_l1_prep if datatype eq 2 then begin if fxpar(metadata_extension_header, 'M') eq 256 then begin ext_no += 1 - accumul_vector = mrdfits(input.l0_file_name, ext_no, vector_extension_header, /silent) + accumul_vector = mrdfits(input.file_name, ext_no, vector_extension_header, /silent) endif else accumul_vector = !null endif @@ -152,20 +152,20 @@ pro metis_l1_prep ; join the metadata extension header to the primary header removing unwanted keywords - i = where(strmid(primary_header, 0, 8) eq 'COMP_RAT') + i = where(strmid(primary_header, 0, 8) eq 'DATASUM ') j = where(strmid(metadata_extension_header, 0, 8) eq 'EXTNAME ') - n = n_elements(metadata_extension_header) + k = where(strmid(metadata_extension_header, 0, 8) eq 'TFORM1 ') primary_header = [ $ - primary_header[0 : i], $ - metadata_extension_header[j + 1 : n - 2], $ - primary_header[i + 1 : *] $ + primary_header[0 : i - 1], $ + metadata_extension_header[j + 1 : k - 1], $ + primary_header[i : *] $ ] ; adjust the primary header (it is almost the same for all data product types) fxaddpar, primary_header, 'FILENAME', file_name, 'FITS filename' - fxaddpar, primary_header, 'PARENT', file_basename(input.l0_file_name), 'Name of the parent file that got processed to the current one', before = 'APID' + fxaddpar, primary_header, 'PARENT', file_basename(input.file_name), 'Name of the parent file that got processed to the current one', before = 'APID' fxaddpar, primary_header, 'DATE', date, 'Date and time of FITS file creation', before = 'OBT_BEG' fxaddpar, primary_header, 'DATE-OBS', date_beg, 'Same as DATE-BEG', before = 'OBT_BEG' fxaddpar, primary_header, 'DATE-BEG', date_beg, 'Start time of observation', before = 'OBT_BEG' @@ -217,7 +217,7 @@ pro metis_l1_prep ; add keywords for file history - fxaddpar, primary_header, 'HISTORY', 'Third history line' + ; fxaddpar, primary_header, 'HISTORY', '' ; remove unused keywords @@ -288,11 +288,11 @@ pro metis_l1_prep output = { $ file_name: out_file_name, $ - l0_file_name: input.l0_file_name, $ - log_file_name: '' $ + l0_file_name: input.file_name, $ + log_file_name: 'output/metis_l1_prep_log.txt' $ } - openw, unit, 'output/contents.json' + openw, unit, 'output/contents.json', /get_lun printf, unit, output, /implied_print free_lun, unit