Loading metis_l1_prep.pro +47 −47 Original line number Original line Diff line number Diff line Loading @@ -270,56 +270,56 @@ pro metis_l1_prep ; adjust the primary header (it is almost the same for all data product types) ; adjust the primary header (it is almost the same for all data product types) fxaddpar, primary_header, 'FILENAME', file_name fxaddpar, primary_header, 'FILENAME', file_name fxaddpar, primary_header, 'PARENT', file_basename(input.file_name), 'Name of the parent file', before = 'APID' fxaddpar, primary_header, 'PARENT', file_basename(input.file_name), 'name of the parent file', before = 'APID' fxaddpar, primary_header, 'DATE', date, 'Date and time of FITS file creation', before = 'OBT_BEG' 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-OBS', date_beg, 'same as DATE-BEG', before = 'OBT_BEG' fxaddpar, primary_header, 'DATE-BEG', date_beg, 'Start time of observation', before = 'OBT_BEG' fxaddpar, primary_header, 'DATE-BEG', date_beg, 'start time of observation', before = 'OBT_BEG' fxaddpar, primary_header, 'DATE-AVG', date_avg, 'Average time of observation', before = 'OBT_BEG' fxaddpar, primary_header, 'DATE-AVG', date_avg, 'average time of observation', before = 'OBT_BEG' fxaddpar, primary_header, 'DATE-END', date_end, 'End time of observation', before = 'OBT_BEG' fxaddpar, primary_header, 'DATE-END', date_end, 'end time of observation', before = 'OBT_BEG' fxaddpar, primary_header, 'TIMESYS', 'UTC', 'System used for time keywords', before = 'OBT_BEG' fxaddpar, primary_header, 'TIMESYS', 'UTC', 'system used for time keywords', before = 'OBT_BEG' fxaddpar, primary_header, 'TIMRDER', 0.0, '[s] Estimated random error in time values', before = 'OBT_BEG' fxaddpar, primary_header, 'TIMRDER', 0.0, '[s] estimated random error in time values', before = 'OBT_BEG' fxaddpar, primary_header, 'TIMSYER', 0.0, '[s] Estimated systematic error in time values', before = 'OBT_BEG' fxaddpar, primary_header, 'TIMSYER', 0.0, '[s] estimated systematic error in time values', before = 'OBT_BEG' fxaddpar, primary_header, 'LEVEL', 'L1' fxaddpar, primary_header, 'LEVEL', 'L1' fxaddpar, primary_header, 'CREATOR', 'metis_l1_prep.pro' fxaddpar, primary_header, 'CREATOR', 'metis_l1_prep.pro' fxaddpar, primary_header, 'VERS_SW', input.sw_version fxaddpar, primary_header, 'VERS_SW', input.sw_version fxaddpar, primary_header, 'VERS_CAL', cal_pack.version, 'Version of the calibration package', after = 'VERS_SW' fxaddpar, primary_header, 'VERS_CAL', cal_pack.version, 'version of the calibration package', after = 'VERS_SW' fxaddpar, primary_header, 'VERSION', version fxaddpar, primary_header, 'VERSION', version fxaddpar, primary_header, 'OBSRVTRY', 'Solar Orbiter', 'Satellite name', before = 'INSTRUME' fxaddpar, primary_header, 'OBSRVTRY', 'Solar Orbiter', 'satellite name', before = 'INSTRUME' fxaddpar, primary_header, 'TELESCOP', telescope, 'Telescope that took the measurement', before = 'INSTRUME' fxaddpar, primary_header, 'TELESCOP', telescope, 'telescope that took the measurement', before = 'INSTRUME' fxaddpar, primary_header, 'DETECTOR', detector, 'Subunit/sensor', before = 'DATAMIN' fxaddpar, primary_header, 'DETECTOR', detector, 'subunit/sensor', before = 'DATAMIN' fxaddpar, primary_header, 'OBJECT', 'TBD', 'The use of the keyword OBJECT is [TBD]', before = 'DATAMIN' fxaddpar, primary_header, 'OBJECT', 'TBD', 'the use of the keyword OBJECT is [TBD]', before = 'DATAMIN' fxaddpar, primary_header, 'OBS_MODE', planning_data.obs_mode, 'Observation mode', before = 'DATAMIN' fxaddpar, primary_header, 'OBS_MODE', planning_data.obs_mode, 'observation mode', before = 'DATAMIN' fxaddpar, primary_header, 'OBS_TYPE', obs_type, 'Encoded version of OBS_MODE', before = 'DATAMIN' fxaddpar, primary_header, 'OBS_TYPE', obs_type, 'encoded version of OBS_MODE', before = 'DATAMIN' fxaddpar, primary_header, 'FILTER', filter, 'Filter used to acquire this image', before = 'DATAMIN' fxaddpar, primary_header, 'FILTER', filter, 'filter used to acquire this image', before = 'DATAMIN' fxaddpar, primary_header, 'WAVELNTH', wavelnth, '[nm] Characteristic wavelength of observation', before = 'DATAMIN' fxaddpar, primary_header, 'WAVELNTH', wavelnth, '[nm] characteristic wavelength of observation', before = 'DATAMIN' fxaddpar, primary_header, 'WAVEMIN', wavemin, '[nm] Min. bandpass wavelength', before = 'DATAMIN' fxaddpar, primary_header, 'WAVEMIN', wavemin, '[nm] min. bandpass wavelength', before = 'DATAMIN' fxaddpar, primary_header, 'WAVEMAX', wavemax, '[nm] Max. bandpass wavelength', before = 'DATAMIN' fxaddpar, primary_header, 'WAVEMAX', wavemax, '[nm] max. bandpass wavelength', before = 'DATAMIN' fxaddpar, primary_header, 'WAVEBAND', waveband, 'Bandpass description', before = 'DATAMIN' fxaddpar, primary_header, 'WAVEBAND', waveband, 'bandpass description', before = 'DATAMIN' fxaddpar, primary_header, 'XPOSURE', xposure, '[s] Total effective exposure time', before = 'DATAMIN' fxaddpar, primary_header, 'XPOSURE', xposure, '[s] total effective exposure time', before = 'DATAMIN' fxaddpar, primary_header, 'NSUMEXP', nsumexp, 'Number of detector readouts summed together', before = 'DATAMIN' fxaddpar, primary_header, 'NSUMEXP', nsumexp, 'number of detector readouts summed together', before = 'DATAMIN' fxaddpar, primary_header, 'TELAPSE', telapse, '[s] Elapsed time during observation', before = 'DATAMIN' fxaddpar, primary_header, 'TELAPSE', telapse, '[s] elapsed time during observation', before = 'DATAMIN' fxaddpar, primary_header, 'SOOPNAME', planning_data.soop_name, 'Name of the SOOP that the data belong to', before = 'DATAMIN' fxaddpar, primary_header, 'SOOPNAME', planning_data.soop_name, 'name of the SOOP that the data belong to', before = 'DATAMIN' fxaddpar, primary_header, 'SOOPTYPE', soop_type, 'Campaign ID(s) that the data belong to', before = 'DATAMIN' fxaddpar, primary_header, 'SOOPTYPE', soop_type, 'campaign ID(s) that the data belong to', before = 'DATAMIN' fxaddpar, primary_header, 'OBS_ID', planning_data.obs_id, 'Unique ID of the individual observation', before = 'DATAMIN' fxaddpar, primary_header, 'OBS_ID', planning_data.obs_id, 'unique ID of the individual observation', before = 'DATAMIN' fxaddpar, primary_header, 'TARGET', 'TBD', 'Type of target from planning', before = 'DATAMIN' fxaddpar, primary_header, 'TARGET', 'TBD', 'type of target from planning', before = 'DATAMIN' fxaddpar, primary_header, 'BSCALE', 1, 'Ratio of physical to array value at 0 offset', before = 'DATAMIN' 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, '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, 'BTYPE', metis_datatype[datatype], 'science data object type', before = 'DATAMIN' fxaddpar, primary_header, 'BUNIT', 'DN', 'Units of physical value', before = 'DATAMIN' 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, 'BLANK', 0, 'data value used to mark undefined pixels', after = 'BUNIT' fxaddpar, primary_header, 'DATAMIN', min(data, /nan) fxaddpar, primary_header, 'DATAMIN', min(data, /nan) fxaddpar, primary_header, 'DATAMAX', max(data, /nan) fxaddpar, primary_header, 'DATAMAX', max(data, /nan) fxaddpar, primary_header, 'IDB_VERS', input.idb_version, '', before = 'HDR_VERS' fxaddpar, primary_header, 'IDB_VERS', input.idb_version, '', before = 'HDR_VERS' fxaddpar, primary_header, 'INFO_URL', 'http://metis.oato.inaf.it', 'Link to more information on the instrument', before = 'HISTORY' fxaddpar, primary_header, 'INFO_URL', 'http://metis.oato.inaf.it', 'link to more information on the instrument', before = 'HISTORY' if datatype le 6 then begin if datatype le 6 then begin fxaddpar, primary_header, 'NBIN1', bin_fact, 'Binning factor in the dimension 1', before = 'COMPRESS' fxaddpar, primary_header, 'NBIN1', bin_fact, 'binning factor in the dimension 1', before = 'COMPRESS' fxaddpar, primary_header, 'NBIN2', bin_fact, 'Binning factor in the dimension 2', before = 'COMPRESS' fxaddpar, primary_header, 'NBIN2', bin_fact, 'binning factor in the dimension 2', before = 'COMPRESS' fxaddpar, primary_header, 'NBIN', bin_fact * bin_fact, 'Product of all NBIN values above', before = 'COMPRESS' fxaddpar, primary_header, 'NBIN', bin_fact * bin_fact, 'product of all NBIN values above', before = 'COMPRESS' fxaddpar, primary_header, 'PXBEG1', 1, 'First pixel read out in dimension 1', before = 'COMPRESS' fxaddpar, primary_header, 'PXBEG1', 1, 'first pixel read out in dimension 1', before = 'COMPRESS' fxaddpar, primary_header, 'PXBEG2', 1, 'First pixel read out in dimension 2', before = 'COMPRESS' fxaddpar, primary_header, 'PXBEG2', 1, 'first pixel read out in dimension 2', before = 'COMPRESS' fxaddpar, primary_header, 'PXEND1', naxis1, 'Last pixel read out in dimension 1', before = 'COMPRESS' fxaddpar, primary_header, 'PXEND1', naxis1, 'last pixel read out in dimension 1', before = 'COMPRESS' fxaddpar, primary_header, 'PXEND2', naxis2, 'Last pixel read out in dimension 2', before = 'COMPRESS' fxaddpar, primary_header, 'PXEND2', naxis2, 'last pixel read out in dimension 2', before = 'COMPRESS' endif endif ; read the house-keeping telemetry ; read the house-keeping telemetry Loading Loading @@ -498,9 +498,9 @@ pro metis_l1_prep if datatype le 6 and isa(quality_matrix) then begin if datatype le 6 and isa(quality_matrix) then begin quality_matrix_header = !null quality_matrix_header = !null fxaddpar, quality_matrix_header, 'PCOUNT', 0, 'Parameter count' fxaddpar, quality_matrix_header, 'PCOUNT', 0, 'parameter count' fxaddpar, quality_matrix_header, 'GCOUNT', 1, 'Group count' fxaddpar, quality_matrix_header, 'GCOUNT', 1, 'group count' fxaddpar, quality_matrix_header, 'EXTNAME', 'Quality matrix', 'Extension name' fxaddpar, quality_matrix_header, 'EXTNAME', 'Quality matrix', 'extension name' fits_add_checksum, quality_matrix_header, quality_matrix fits_add_checksum, quality_matrix_header, quality_matrix mwrfits, quality_matrix, out_file_name, quality_matrix_header, /no_comment, /silent mwrfits, quality_matrix, out_file_name, quality_matrix_header, /no_comment, /silent Loading @@ -510,9 +510,9 @@ pro metis_l1_prep ; build the telemetry extension ; build the telemetry extension hk_extension_header = !null hk_extension_header = !null fxaddpar, hk_extension_header, 'PCOUNT', 0, 'Parameter count' fxaddpar, hk_extension_header, 'PCOUNT', 0, 'parameter count' fxaddpar, hk_extension_header, 'GCOUNT', 1, 'Group count' fxaddpar, hk_extension_header, 'GCOUNT', 1, 'group count' fxaddpar, hk_extension_header, 'EXTNAME', 'House-keeping', 'Extension name' fxaddpar, hk_extension_header, 'EXTNAME', 'House-keeping', 'extension name' hk_bin_table = make_bin_table(hk_table) hk_bin_table = make_bin_table(hk_table) mwrfits, hk_bin_table, out_file_name, hk_extension_header, /no_comment, /silent mwrfits, hk_bin_table, out_file_name, hk_extension_header, /no_comment, /silent Loading metis_wcs.pro +18 −18 Original line number Original line Diff line number Diff line Loading @@ -108,23 +108,23 @@ function metis_wcs, header, cal_pack, ref_detector = ref_detector wcs.add, { $ wcs.add, { $ name: 'WCSNAME', $ name: 'WCSNAME', $ value: 'Helioprojective-Cartesian', $ value: 'Helioprojective-Cartesian', $ comment: 'Name of coordinate system'} comment: 'name of coordinate system'} wcs.add, { $ wcs.add, { $ name: 'CTYPE1', $ name: 'CTYPE1', $ value: ctype1, $ value: ctype1, $ comment: ctype1 eq 'HPLT-TAN' ? 'Helioprojective latitude (Solar Y)' : 'Helioprojective longitude (Solar X)'} comment: ctype1 eq 'HPLT-TAN' ? 'helioprojective latitude (solar y)' : 'helioprojective longitude (solar x)'} wcs.add, { $ wcs.add, { $ name: 'CTYPE2', $ name: 'CTYPE2', $ value: ctype2, $ value: ctype2, $ comment: ctype2 eq 'HPLT-TAN' ? 'Helioprojective latitude (Solar Y)' : 'Helioprojective longitude (Solar X)'} comment: ctype2 eq 'HPLT-TAN' ? 'helioprojective latitude (solar y)' : 'helioprojective longitude (solar x)'} wcs.add, { $ wcs.add, { $ name: 'CUNIT1', $ name: 'CUNIT1', $ value: 'arcsec', $ value: 'arcsec', $ comment: 'Units along axis 1'} comment: 'units along axis 1'} wcs.add, { $ wcs.add, { $ name: 'CUNIT2', $ name: 'CUNIT2', $ value: 'arcsec', $ value: 'arcsec', $ comment: 'Units along axis 2'} comment: 'units along axis 2'} wcs.add, { $ wcs.add, { $ name: 'PC1_1', $ name: 'PC1_1', $ value: pc[0, 0], $ value: pc[0, 0], $ Loading @@ -144,47 +144,47 @@ function metis_wcs, header, cal_pack, ref_detector = ref_detector wcs.add, { $ wcs.add, { $ name: 'CDELT1', $ name: 'CDELT1', $ value: cdelt[0], $ value: cdelt[0], $ comment: '[arcsec] Pixel scale along axis 1'} comment: '[arcsec] pixel scale along axis 1'} wcs.add, { $ wcs.add, { $ name: 'CDELT2', $ name: 'CDELT2', $ value: cdelt[1], $ value: cdelt[1], $ comment: '[arcsec] Pixel scale along axis 2'} comment: '[arcsec] pixel scale along axis 2'} wcs.add, { $ wcs.add, { $ name: 'CROTA', $ name: 'CROTA', $ value: atan(pc[0, 1], pc[0, 0]) * !radeg, $ value: atan(pc[0, 1], pc[0, 0]) * !radeg, $ comment: '[deg] Rotation angle'} comment: '[deg] rotation angle'} wcs.add, { $ wcs.add, { $ name: 'CRVAL1', $ name: 'CRVAL1', $ value: crval[0], $ value: crval[0], $ comment: '[arcsec] Value of reference pixel along axis 1'} comment: '[arcsec] value of reference pixel along axis 1'} wcs.add, { $ wcs.add, { $ name: 'CRVAL2', $ name: 'CRVAL2', $ value: crval[1], $ value: crval[1], $ comment: '[arcsec] Value of reference pixel along axis 2'} comment: '[arcsec] value of reference pixel along axis 2'} wcs.add, { $ wcs.add, { $ name: 'CRPIX1', $ name: 'CRPIX1', $ value: crpix[0], $ value: crpix[0], $ comment: '[pixel] Reference pixel location along axis 1'} comment: '[pixel] reference pixel location along axis 1'} wcs.add, { $ wcs.add, { $ name: 'CRPIX2', $ name: 'CRPIX2', $ value: crpix[1], $ value: crpix[1], $ comment: '[pixel] Reference pixel location along axis 2'} comment: '[pixel] reference pixel location along axis 2'} wcs.add, { $ wcs.add, { $ name: 'SUN_XCEN', $ name: 'SUN_XCEN', $ value: sunpix[0], $ value: sunpix[0], $ comment: '[pixel] Sun center location along axis 1'} comment: '[pixel] sun center location along axis 1'} wcs.add, { $ wcs.add, { $ name: 'SUN_YCEN', $ name: 'SUN_YCEN', $ value: sunpix[1], $ value: sunpix[1], $ comment: '[pixel] Sun center location along axis 2'} comment: '[pixel] sun center location along axis 2'} wcs.add, { $ wcs.add, { $ name: 'SUNPIX1', $ name: 'SUNPIX1', $ value: sunpix[0], $ value: sunpix[0], $ comment: '[pixel] Sun center location along axis 1'} comment: '[pixel] sun center location along axis 1'} wcs.add, { $ wcs.add, { $ name: 'SUNPIX2', $ name: 'SUNPIX2', $ value: sunpix[1], $ value: sunpix[1], $ comment: '[pixel] Sun center location along axis 2'} comment: '[pixel] sun center location along axis 2'} wcs.add, { $ wcs.add, { $ name: 'IO_XCEN', $ name: 'IO_XCEN', $ value: borpix[0], $ value: borpix[0], $ Loading Loading @@ -248,11 +248,11 @@ function metis_wcs, header, cal_pack, ref_detector = ref_detector wcs.add, { $ wcs.add, { $ name: 'INN_FOV', $ name: 'INN_FOV', $ value: 1.6, $ value: 1.6, $ comment: '[deg] Inner Metis FOV'} comment: '[deg] inner Metis FOV'} wcs.add, { $ wcs.add, { $ name: 'OUT_FOV', $ name: 'OUT_FOV', $ value: 3.4, $ value: 3.4, $ comment: '[deg] Outer Metis FOV'} comment: '[deg] outer Metis FOV'} return, wcs return, wcs end end solo_get_ephemeris.pro +35 −35 Original line number Original line Diff line number Diff line Loading @@ -16,7 +16,7 @@ function solo_get_ephemeris, header, cal_pack ephemerides.add, { $ ephemerides.add, { $ name: 'LONPOLE', $ name: 'LONPOLE', $ value: 180., $ value: 180., $ comment: '[deg] Native longitude of the celestial pole'} comment: '[deg] native longitude of the celestial pole'} ; spherical coordinates of the S/C in the heeq (i.e., stonyhurst) frame ; spherical coordinates of the S/C in the heeq (i.e., stonyhurst) frame Loading @@ -30,33 +30,33 @@ function solo_get_ephemeris, header, cal_pack ephemerides.add, { $ ephemerides.add, { $ name: 'RSUN_ARC', $ name: 'RSUN_ARC', $ value: rsun_arc, $ value: rsun_arc, $ comment: '[arcsec] Apparent photospheric solar radius'} comment: '[arcsec] apparent photospheric solar radius'} ephemerides.add, { $ ephemerides.add, { $ name: 'RSUN_REF', $ name: 'RSUN_REF', $ value: rsun, $ value: rsun, $ comment: '[m] Assumed physical solar radius'} comment: '[m] assumed physical solar radius'} solar_angles = solo_get_solar_angles(utc) solar_angles = solo_get_solar_angles(utc) ephemerides.add, { $ ephemerides.add, { $ name: 'SOLAR_B0', $ name: 'SOLAR_B0', $ value: solar_angles[0], $ value: solar_angles[0], $ comment: '[deg] S/C tilt of solar North pole'} comment: '[deg] S/C tilt of solar north pole'} ephemerides.add, { $ ephemerides.add, { $ name: 'SOLAR_P0 ', $ name: 'SOLAR_P0 ', $ value: solar_angles[1], $ value: solar_angles[1], $ comment: '[deg] S/C celestial North to solar North angle'} comment: '[deg] S/C celestial north to solar north angle'} ephemerides.add, { $ ephemerides.add, { $ name: 'SOLAR_EP', $ name: 'SOLAR_EP', $ value: solar_angles[2], $ value: solar_angles[2], $ comment: '[deg] S/C ecliptic North to solar North angle'} comment: '[deg] S/C ecliptic north to solar north angle'} carrot = solo_get_carringrot(utc) carrot = solo_get_carringrot(utc) ephemerides.add, { $ ephemerides.add, { $ name: 'CAR_ROT', $ name: 'CAR_ROT', $ value: carrot, $ value: carrot, $ comment: 'Carrington rotation number'} comment: 'carrington rotation number'} ephemerides.add, { $ ephemerides.add, { $ name: 'HGLT_OBS', $ name: 'HGLT_OBS', $ Loading @@ -74,24 +74,24 @@ function solo_get_ephemeris, header, cal_pack ephemerides.add, { $ ephemerides.add, { $ name: 'CRLT_OBS', $ name: 'CRLT_OBS', $ value: coord[2], $ value: coord[2], $ comment: '[deg] S/C Carrington latitude (B0 angle)'} comment: '[deg] S/C carrington latitude (B0 angle)'} ephemerides.add, { $ ephemerides.add, { $ name: 'CRLN_OBS', $ name: 'CRLN_OBS', $ value: coord[1], $ value: coord[1], $ comment: '[deg] S/C Carrington longitude (L0 angle)'} comment: '[deg] S/C carrington longitude (L0 angle)'} ephemerides.add, { $ ephemerides.add, { $ name: 'DSUN_OBS', $ name: 'DSUN_OBS', $ value: solo_dist, $ value: solo_dist, $ comment: '[m] S/C distance from Sun'} comment: '[m] S/C distance from sun'} ephemerides.add, { $ ephemerides.add, { $ name: 'DSUN_AU', $ name: 'DSUN_AU', $ value: solo_dist/au, $ value: solo_dist/au, $ comment: '[AU] S/C distance from Sun'} comment: '[AU] S/C distance from sun'} ephemerides.add, { $ ephemerides.add, { $ name: 'AU_REF', $ name: 'AU_REF', $ value: au, $ value: au, $ comment: '[m] Assumed physical Astronomical Unit'} comment: '[m] assumed physical astronomical unit'} ; coordinates of the S/C in the hee frame ; coordinates of the S/C in the hee frame Loading @@ -101,15 +101,15 @@ function solo_get_ephemeris, header, cal_pack ephemerides.add, { $ ephemerides.add, { $ name: 'HEEX_OBS', $ name: 'HEEX_OBS', $ value: coord[0], $ value: coord[0], $ comment: '[m] S/C Heliocentric Earth Ecliptic X'} comment: '[m] S/C heliocentric earth ecliptic x'} ephemerides.add, { $ ephemerides.add, { $ name: 'HEEY_OBS', $ name: 'HEEY_OBS', $ value: coord[1], $ value: coord[1], $ comment: '[m] S/C Heliocentric Earth Ecliptic Y'} comment: '[m] S/C heliocentric earth ecliptic y'} ephemerides.add, { $ ephemerides.add, { $ name: 'HEEZ_OBS', $ name: 'HEEZ_OBS', $ value: coord[2], $ value: coord[2], $ comment: '[m] S/C Heliocentric Earth Ecliptic Z'} comment: '[m] S/C heliocentric earth ecliptic z'} ; coordinates of the S/C in the hci frame ; coordinates of the S/C in the hci frame Loading @@ -120,28 +120,28 @@ function solo_get_ephemeris, header, cal_pack ephemerides.add, { $ ephemerides.add, { $ name: 'HCIX_OBS', $ name: 'HCIX_OBS', $ value: coord[0], $ value: coord[0], $ comment: '[m] S/C Heliocentric Inertial X'} comment: '[m] S/C heliocentric inertial x'} ephemerides.add, { $ ephemerides.add, { $ name: 'HCIY_OBS', $ name: 'HCIY_OBS', $ value: coord[1], $ value: coord[1], $ comment: '[m] S/C Heliocentric Inertial Y'} comment: '[m] S/C heliocentric inertial y'} ephemerides.add, { $ ephemerides.add, { $ name: 'HCIZ_OBS', $ name: 'HCIZ_OBS', $ value: coord[2], $ value: coord[2], $ comment: '[m] S/C Heliocentric Inertial Z'} comment: '[m] S/C heliocentric inertial z'} ephemerides.add, { $ ephemerides.add, { $ name: 'HCIX_VOB', $ name: 'HCIX_VOB', $ value: vel[0], $ value: vel[0], $ comment: '[m/s] S/C Heliocentric Inertial X velocity'} comment: '[m/s] S/C heliocentric inertial x velocity'} ephemerides.add, { $ ephemerides.add, { $ name: 'HCIY_VOB', $ name: 'HCIY_VOB', $ value: vel[1], $ value: vel[1], $ comment: '[m/s] S/C Heliocentric Inertial Y velocity'} comment: '[m/s] S/C heliocentric inertial y velocity'} ephemerides.add, { $ ephemerides.add, { $ name: 'HCIZ_VOB', $ name: 'HCIZ_VOB', $ value: vel[2], $ value: vel[2], $ comment: '[m/s] S/C Heliocentric Inertial Z velocity'} comment: '[m/s] S/C heliocentric inertial z velocity'} ; coordinates of the S/C in the hae frame ; coordinates of the S/C in the hae frame Loading @@ -151,15 +151,15 @@ function solo_get_ephemeris, header, cal_pack ephemerides.add, { $ ephemerides.add, { $ name: 'HAEX_OBS', $ name: 'HAEX_OBS', $ value: coord[0], $ value: coord[0], $ comment: '[m] S/C Heliocentric Aries Ecliptic X'} comment: '[m] S/C heliocentric aries ecliptic x'} ephemerides.add, { $ ephemerides.add, { $ name: 'HAEY_OBS', $ name: 'HAEY_OBS', $ value: coord[1], $ value: coord[1], $ comment: '[m] S/C Heliocentric Aries Ecliptic Y'} comment: '[m] S/C heliocentric aries ecliptic y'} ephemerides.add, { $ ephemerides.add, { $ name: 'HAEZ_OBS', $ name: 'HAEZ_OBS', $ value: coord[2], $ value: coord[2], $ comment: '[m] S/C Heliocentric Aries Ecliptic Z'} comment: '[m] S/C heliocentric aries ecliptic z'} ; coordinates of the S/C in the heeq frame ; coordinates of the S/C in the heeq frame Loading @@ -169,15 +169,15 @@ function solo_get_ephemeris, header, cal_pack ephemerides.add, { $ ephemerides.add, { $ name: 'HEQX_OBS', $ name: 'HEQX_OBS', $ value: coord[0], $ value: coord[0], $ comment: '[m] S/C Heliocentric Earth Equatorial X'} comment: '[m] S/C heliocentric earth equatorial x'} ephemerides.add, { $ ephemerides.add, { $ name: 'HEQY_OBS', $ name: 'HEQY_OBS', $ value: coord[1], $ value: coord[1], $ comment: '[m] S/C Heliocentric Earth Equatorial Y'} comment: '[m] S/C heliocentric earth equatorial y'} ephemerides.add, { $ ephemerides.add, { $ name: 'HEQZ_OBS', $ name: 'HEQZ_OBS', $ value: coord[2], $ value: coord[2], $ comment: '[m] S/C Heliocentric Earth Equatorial Z'} comment: '[m] S/C heliocentric earth equatorial z'} ; coordinates of the S/C in the gse frame ; coordinates of the S/C in the gse frame Loading @@ -187,15 +187,15 @@ function solo_get_ephemeris, header, cal_pack ephemerides.add, { $ ephemerides.add, { $ name: 'GSEX_OBS', $ name: 'GSEX_OBS', $ value: coord[0], $ value: coord[0], $ comment: '[m] S/C Geocentric Solar Ecliptic X'} comment: '[m] S/C geocentric solar ecliptic x'} ephemerides.add, { $ ephemerides.add, { $ name: 'GSEY_OBS', $ name: 'GSEY_OBS', $ value: coord[1], $ value: coord[1], $ comment: '[m] S/C Geocentric Solar Ecliptic Y'} comment: '[m] S/C geocentric solar ecliptic y'} ephemerides.add, { $ ephemerides.add, { $ name: 'GSEZ_OBS', $ name: 'GSEZ_OBS', $ value: coord[2], $ value: coord[2], $ comment: '[m] S/C Geocentric Solar Ecliptic Z'} comment: '[m] S/C geocentric solar ecliptic z'} ; light travel times and radial velocity of the S/C ; light travel times and radial velocity of the S/C Loading @@ -206,15 +206,15 @@ function solo_get_ephemeris, header, cal_pack ephemerides.add, { $ ephemerides.add, { $ name: 'OBS_VR', $ name: 'OBS_VR', $ value: rad_vel, $ value: rad_vel, $ comment: '[m/s] Radial velocity of S/C relative to Sun'} comment: '[m/s] radial velocity of S/C relative to sun'} ephemerides.add, { $ ephemerides.add, { $ name: 'EAR_TDEL', $ name: 'EAR_TDEL', $ value: t_del, $ value: t_del, $ comment: '[s] Time(Sun to Earth) - Time(Sun to S/C)'} comment: '[s] time(sun to earth) - time(sun to S/C)'} ephemerides.add, { $ ephemerides.add, { $ name: 'SUN_TIME', $ name: 'SUN_TIME', $ value: sun_time, $ value: sun_time, $ comment: '[s] Time(Sun to S/C)'} comment: '[s] time(sun to S/C)'} ; corrections of the acquisition date ; corrections of the acquisition date Loading @@ -227,11 +227,11 @@ function solo_get_ephemeris, header, cal_pack ephemerides.add, { $ ephemerides.add, { $ name: 'DATE_EAR', $ name: 'DATE_EAR', $ value: date_ear, $ value: date_ear, $ comment: '[UTC] Obs. start time corrected to Earth'} comment: '[UTC] obs. start time corrected to earth'} ephemerides.add, { $ ephemerides.add, { $ name: 'DATE_SUN', $ name: 'DATE_SUN', $ value: date_sun, $ value: date_sun, $ comment: '[UTC] Obs. start time corrected to Sun'} comment: '[UTC] obs. start time corrected to sun'} return, ephemerides return, ephemerides end end Loading
metis_l1_prep.pro +47 −47 Original line number Original line Diff line number Diff line Loading @@ -270,56 +270,56 @@ pro metis_l1_prep ; adjust the primary header (it is almost the same for all data product types) ; adjust the primary header (it is almost the same for all data product types) fxaddpar, primary_header, 'FILENAME', file_name fxaddpar, primary_header, 'FILENAME', file_name fxaddpar, primary_header, 'PARENT', file_basename(input.file_name), 'Name of the parent file', before = 'APID' fxaddpar, primary_header, 'PARENT', file_basename(input.file_name), 'name of the parent file', before = 'APID' fxaddpar, primary_header, 'DATE', date, 'Date and time of FITS file creation', before = 'OBT_BEG' 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-OBS', date_beg, 'same as DATE-BEG', before = 'OBT_BEG' fxaddpar, primary_header, 'DATE-BEG', date_beg, 'Start time of observation', before = 'OBT_BEG' fxaddpar, primary_header, 'DATE-BEG', date_beg, 'start time of observation', before = 'OBT_BEG' fxaddpar, primary_header, 'DATE-AVG', date_avg, 'Average time of observation', before = 'OBT_BEG' fxaddpar, primary_header, 'DATE-AVG', date_avg, 'average time of observation', before = 'OBT_BEG' fxaddpar, primary_header, 'DATE-END', date_end, 'End time of observation', before = 'OBT_BEG' fxaddpar, primary_header, 'DATE-END', date_end, 'end time of observation', before = 'OBT_BEG' fxaddpar, primary_header, 'TIMESYS', 'UTC', 'System used for time keywords', before = 'OBT_BEG' fxaddpar, primary_header, 'TIMESYS', 'UTC', 'system used for time keywords', before = 'OBT_BEG' fxaddpar, primary_header, 'TIMRDER', 0.0, '[s] Estimated random error in time values', before = 'OBT_BEG' fxaddpar, primary_header, 'TIMRDER', 0.0, '[s] estimated random error in time values', before = 'OBT_BEG' fxaddpar, primary_header, 'TIMSYER', 0.0, '[s] Estimated systematic error in time values', before = 'OBT_BEG' fxaddpar, primary_header, 'TIMSYER', 0.0, '[s] estimated systematic error in time values', before = 'OBT_BEG' fxaddpar, primary_header, 'LEVEL', 'L1' fxaddpar, primary_header, 'LEVEL', 'L1' fxaddpar, primary_header, 'CREATOR', 'metis_l1_prep.pro' fxaddpar, primary_header, 'CREATOR', 'metis_l1_prep.pro' fxaddpar, primary_header, 'VERS_SW', input.sw_version fxaddpar, primary_header, 'VERS_SW', input.sw_version fxaddpar, primary_header, 'VERS_CAL', cal_pack.version, 'Version of the calibration package', after = 'VERS_SW' fxaddpar, primary_header, 'VERS_CAL', cal_pack.version, 'version of the calibration package', after = 'VERS_SW' fxaddpar, primary_header, 'VERSION', version fxaddpar, primary_header, 'VERSION', version fxaddpar, primary_header, 'OBSRVTRY', 'Solar Orbiter', 'Satellite name', before = 'INSTRUME' fxaddpar, primary_header, 'OBSRVTRY', 'Solar Orbiter', 'satellite name', before = 'INSTRUME' fxaddpar, primary_header, 'TELESCOP', telescope, 'Telescope that took the measurement', before = 'INSTRUME' fxaddpar, primary_header, 'TELESCOP', telescope, 'telescope that took the measurement', before = 'INSTRUME' fxaddpar, primary_header, 'DETECTOR', detector, 'Subunit/sensor', before = 'DATAMIN' fxaddpar, primary_header, 'DETECTOR', detector, 'subunit/sensor', before = 'DATAMIN' fxaddpar, primary_header, 'OBJECT', 'TBD', 'The use of the keyword OBJECT is [TBD]', before = 'DATAMIN' fxaddpar, primary_header, 'OBJECT', 'TBD', 'the use of the keyword OBJECT is [TBD]', before = 'DATAMIN' fxaddpar, primary_header, 'OBS_MODE', planning_data.obs_mode, 'Observation mode', before = 'DATAMIN' fxaddpar, primary_header, 'OBS_MODE', planning_data.obs_mode, 'observation mode', before = 'DATAMIN' fxaddpar, primary_header, 'OBS_TYPE', obs_type, 'Encoded version of OBS_MODE', before = 'DATAMIN' fxaddpar, primary_header, 'OBS_TYPE', obs_type, 'encoded version of OBS_MODE', before = 'DATAMIN' fxaddpar, primary_header, 'FILTER', filter, 'Filter used to acquire this image', before = 'DATAMIN' fxaddpar, primary_header, 'FILTER', filter, 'filter used to acquire this image', before = 'DATAMIN' fxaddpar, primary_header, 'WAVELNTH', wavelnth, '[nm] Characteristic wavelength of observation', before = 'DATAMIN' fxaddpar, primary_header, 'WAVELNTH', wavelnth, '[nm] characteristic wavelength of observation', before = 'DATAMIN' fxaddpar, primary_header, 'WAVEMIN', wavemin, '[nm] Min. bandpass wavelength', before = 'DATAMIN' fxaddpar, primary_header, 'WAVEMIN', wavemin, '[nm] min. bandpass wavelength', before = 'DATAMIN' fxaddpar, primary_header, 'WAVEMAX', wavemax, '[nm] Max. bandpass wavelength', before = 'DATAMIN' fxaddpar, primary_header, 'WAVEMAX', wavemax, '[nm] max. bandpass wavelength', before = 'DATAMIN' fxaddpar, primary_header, 'WAVEBAND', waveband, 'Bandpass description', before = 'DATAMIN' fxaddpar, primary_header, 'WAVEBAND', waveband, 'bandpass description', before = 'DATAMIN' fxaddpar, primary_header, 'XPOSURE', xposure, '[s] Total effective exposure time', before = 'DATAMIN' fxaddpar, primary_header, 'XPOSURE', xposure, '[s] total effective exposure time', before = 'DATAMIN' fxaddpar, primary_header, 'NSUMEXP', nsumexp, 'Number of detector readouts summed together', before = 'DATAMIN' fxaddpar, primary_header, 'NSUMEXP', nsumexp, 'number of detector readouts summed together', before = 'DATAMIN' fxaddpar, primary_header, 'TELAPSE', telapse, '[s] Elapsed time during observation', before = 'DATAMIN' fxaddpar, primary_header, 'TELAPSE', telapse, '[s] elapsed time during observation', before = 'DATAMIN' fxaddpar, primary_header, 'SOOPNAME', planning_data.soop_name, 'Name of the SOOP that the data belong to', before = 'DATAMIN' fxaddpar, primary_header, 'SOOPNAME', planning_data.soop_name, 'name of the SOOP that the data belong to', before = 'DATAMIN' fxaddpar, primary_header, 'SOOPTYPE', soop_type, 'Campaign ID(s) that the data belong to', before = 'DATAMIN' fxaddpar, primary_header, 'SOOPTYPE', soop_type, 'campaign ID(s) that the data belong to', before = 'DATAMIN' fxaddpar, primary_header, 'OBS_ID', planning_data.obs_id, 'Unique ID of the individual observation', before = 'DATAMIN' fxaddpar, primary_header, 'OBS_ID', planning_data.obs_id, 'unique ID of the individual observation', before = 'DATAMIN' fxaddpar, primary_header, 'TARGET', 'TBD', 'Type of target from planning', before = 'DATAMIN' fxaddpar, primary_header, 'TARGET', 'TBD', 'type of target from planning', before = 'DATAMIN' fxaddpar, primary_header, 'BSCALE', 1, 'Ratio of physical to array value at 0 offset', before = 'DATAMIN' 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, '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, 'BTYPE', metis_datatype[datatype], 'science data object type', before = 'DATAMIN' fxaddpar, primary_header, 'BUNIT', 'DN', 'Units of physical value', before = 'DATAMIN' 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, 'BLANK', 0, 'data value used to mark undefined pixels', after = 'BUNIT' fxaddpar, primary_header, 'DATAMIN', min(data, /nan) fxaddpar, primary_header, 'DATAMIN', min(data, /nan) fxaddpar, primary_header, 'DATAMAX', max(data, /nan) fxaddpar, primary_header, 'DATAMAX', max(data, /nan) fxaddpar, primary_header, 'IDB_VERS', input.idb_version, '', before = 'HDR_VERS' fxaddpar, primary_header, 'IDB_VERS', input.idb_version, '', before = 'HDR_VERS' fxaddpar, primary_header, 'INFO_URL', 'http://metis.oato.inaf.it', 'Link to more information on the instrument', before = 'HISTORY' fxaddpar, primary_header, 'INFO_URL', 'http://metis.oato.inaf.it', 'link to more information on the instrument', before = 'HISTORY' if datatype le 6 then begin if datatype le 6 then begin fxaddpar, primary_header, 'NBIN1', bin_fact, 'Binning factor in the dimension 1', before = 'COMPRESS' fxaddpar, primary_header, 'NBIN1', bin_fact, 'binning factor in the dimension 1', before = 'COMPRESS' fxaddpar, primary_header, 'NBIN2', bin_fact, 'Binning factor in the dimension 2', before = 'COMPRESS' fxaddpar, primary_header, 'NBIN2', bin_fact, 'binning factor in the dimension 2', before = 'COMPRESS' fxaddpar, primary_header, 'NBIN', bin_fact * bin_fact, 'Product of all NBIN values above', before = 'COMPRESS' fxaddpar, primary_header, 'NBIN', bin_fact * bin_fact, 'product of all NBIN values above', before = 'COMPRESS' fxaddpar, primary_header, 'PXBEG1', 1, 'First pixel read out in dimension 1', before = 'COMPRESS' fxaddpar, primary_header, 'PXBEG1', 1, 'first pixel read out in dimension 1', before = 'COMPRESS' fxaddpar, primary_header, 'PXBEG2', 1, 'First pixel read out in dimension 2', before = 'COMPRESS' fxaddpar, primary_header, 'PXBEG2', 1, 'first pixel read out in dimension 2', before = 'COMPRESS' fxaddpar, primary_header, 'PXEND1', naxis1, 'Last pixel read out in dimension 1', before = 'COMPRESS' fxaddpar, primary_header, 'PXEND1', naxis1, 'last pixel read out in dimension 1', before = 'COMPRESS' fxaddpar, primary_header, 'PXEND2', naxis2, 'Last pixel read out in dimension 2', before = 'COMPRESS' fxaddpar, primary_header, 'PXEND2', naxis2, 'last pixel read out in dimension 2', before = 'COMPRESS' endif endif ; read the house-keeping telemetry ; read the house-keeping telemetry Loading Loading @@ -498,9 +498,9 @@ pro metis_l1_prep if datatype le 6 and isa(quality_matrix) then begin if datatype le 6 and isa(quality_matrix) then begin quality_matrix_header = !null quality_matrix_header = !null fxaddpar, quality_matrix_header, 'PCOUNT', 0, 'Parameter count' fxaddpar, quality_matrix_header, 'PCOUNT', 0, 'parameter count' fxaddpar, quality_matrix_header, 'GCOUNT', 1, 'Group count' fxaddpar, quality_matrix_header, 'GCOUNT', 1, 'group count' fxaddpar, quality_matrix_header, 'EXTNAME', 'Quality matrix', 'Extension name' fxaddpar, quality_matrix_header, 'EXTNAME', 'Quality matrix', 'extension name' fits_add_checksum, quality_matrix_header, quality_matrix fits_add_checksum, quality_matrix_header, quality_matrix mwrfits, quality_matrix, out_file_name, quality_matrix_header, /no_comment, /silent mwrfits, quality_matrix, out_file_name, quality_matrix_header, /no_comment, /silent Loading @@ -510,9 +510,9 @@ pro metis_l1_prep ; build the telemetry extension ; build the telemetry extension hk_extension_header = !null hk_extension_header = !null fxaddpar, hk_extension_header, 'PCOUNT', 0, 'Parameter count' fxaddpar, hk_extension_header, 'PCOUNT', 0, 'parameter count' fxaddpar, hk_extension_header, 'GCOUNT', 1, 'Group count' fxaddpar, hk_extension_header, 'GCOUNT', 1, 'group count' fxaddpar, hk_extension_header, 'EXTNAME', 'House-keeping', 'Extension name' fxaddpar, hk_extension_header, 'EXTNAME', 'House-keeping', 'extension name' hk_bin_table = make_bin_table(hk_table) hk_bin_table = make_bin_table(hk_table) mwrfits, hk_bin_table, out_file_name, hk_extension_header, /no_comment, /silent mwrfits, hk_bin_table, out_file_name, hk_extension_header, /no_comment, /silent Loading
metis_wcs.pro +18 −18 Original line number Original line Diff line number Diff line Loading @@ -108,23 +108,23 @@ function metis_wcs, header, cal_pack, ref_detector = ref_detector wcs.add, { $ wcs.add, { $ name: 'WCSNAME', $ name: 'WCSNAME', $ value: 'Helioprojective-Cartesian', $ value: 'Helioprojective-Cartesian', $ comment: 'Name of coordinate system'} comment: 'name of coordinate system'} wcs.add, { $ wcs.add, { $ name: 'CTYPE1', $ name: 'CTYPE1', $ value: ctype1, $ value: ctype1, $ comment: ctype1 eq 'HPLT-TAN' ? 'Helioprojective latitude (Solar Y)' : 'Helioprojective longitude (Solar X)'} comment: ctype1 eq 'HPLT-TAN' ? 'helioprojective latitude (solar y)' : 'helioprojective longitude (solar x)'} wcs.add, { $ wcs.add, { $ name: 'CTYPE2', $ name: 'CTYPE2', $ value: ctype2, $ value: ctype2, $ comment: ctype2 eq 'HPLT-TAN' ? 'Helioprojective latitude (Solar Y)' : 'Helioprojective longitude (Solar X)'} comment: ctype2 eq 'HPLT-TAN' ? 'helioprojective latitude (solar y)' : 'helioprojective longitude (solar x)'} wcs.add, { $ wcs.add, { $ name: 'CUNIT1', $ name: 'CUNIT1', $ value: 'arcsec', $ value: 'arcsec', $ comment: 'Units along axis 1'} comment: 'units along axis 1'} wcs.add, { $ wcs.add, { $ name: 'CUNIT2', $ name: 'CUNIT2', $ value: 'arcsec', $ value: 'arcsec', $ comment: 'Units along axis 2'} comment: 'units along axis 2'} wcs.add, { $ wcs.add, { $ name: 'PC1_1', $ name: 'PC1_1', $ value: pc[0, 0], $ value: pc[0, 0], $ Loading @@ -144,47 +144,47 @@ function metis_wcs, header, cal_pack, ref_detector = ref_detector wcs.add, { $ wcs.add, { $ name: 'CDELT1', $ name: 'CDELT1', $ value: cdelt[0], $ value: cdelt[0], $ comment: '[arcsec] Pixel scale along axis 1'} comment: '[arcsec] pixel scale along axis 1'} wcs.add, { $ wcs.add, { $ name: 'CDELT2', $ name: 'CDELT2', $ value: cdelt[1], $ value: cdelt[1], $ comment: '[arcsec] Pixel scale along axis 2'} comment: '[arcsec] pixel scale along axis 2'} wcs.add, { $ wcs.add, { $ name: 'CROTA', $ name: 'CROTA', $ value: atan(pc[0, 1], pc[0, 0]) * !radeg, $ value: atan(pc[0, 1], pc[0, 0]) * !radeg, $ comment: '[deg] Rotation angle'} comment: '[deg] rotation angle'} wcs.add, { $ wcs.add, { $ name: 'CRVAL1', $ name: 'CRVAL1', $ value: crval[0], $ value: crval[0], $ comment: '[arcsec] Value of reference pixel along axis 1'} comment: '[arcsec] value of reference pixel along axis 1'} wcs.add, { $ wcs.add, { $ name: 'CRVAL2', $ name: 'CRVAL2', $ value: crval[1], $ value: crval[1], $ comment: '[arcsec] Value of reference pixel along axis 2'} comment: '[arcsec] value of reference pixel along axis 2'} wcs.add, { $ wcs.add, { $ name: 'CRPIX1', $ name: 'CRPIX1', $ value: crpix[0], $ value: crpix[0], $ comment: '[pixel] Reference pixel location along axis 1'} comment: '[pixel] reference pixel location along axis 1'} wcs.add, { $ wcs.add, { $ name: 'CRPIX2', $ name: 'CRPIX2', $ value: crpix[1], $ value: crpix[1], $ comment: '[pixel] Reference pixel location along axis 2'} comment: '[pixel] reference pixel location along axis 2'} wcs.add, { $ wcs.add, { $ name: 'SUN_XCEN', $ name: 'SUN_XCEN', $ value: sunpix[0], $ value: sunpix[0], $ comment: '[pixel] Sun center location along axis 1'} comment: '[pixel] sun center location along axis 1'} wcs.add, { $ wcs.add, { $ name: 'SUN_YCEN', $ name: 'SUN_YCEN', $ value: sunpix[1], $ value: sunpix[1], $ comment: '[pixel] Sun center location along axis 2'} comment: '[pixel] sun center location along axis 2'} wcs.add, { $ wcs.add, { $ name: 'SUNPIX1', $ name: 'SUNPIX1', $ value: sunpix[0], $ value: sunpix[0], $ comment: '[pixel] Sun center location along axis 1'} comment: '[pixel] sun center location along axis 1'} wcs.add, { $ wcs.add, { $ name: 'SUNPIX2', $ name: 'SUNPIX2', $ value: sunpix[1], $ value: sunpix[1], $ comment: '[pixel] Sun center location along axis 2'} comment: '[pixel] sun center location along axis 2'} wcs.add, { $ wcs.add, { $ name: 'IO_XCEN', $ name: 'IO_XCEN', $ value: borpix[0], $ value: borpix[0], $ Loading Loading @@ -248,11 +248,11 @@ function metis_wcs, header, cal_pack, ref_detector = ref_detector wcs.add, { $ wcs.add, { $ name: 'INN_FOV', $ name: 'INN_FOV', $ value: 1.6, $ value: 1.6, $ comment: '[deg] Inner Metis FOV'} comment: '[deg] inner Metis FOV'} wcs.add, { $ wcs.add, { $ name: 'OUT_FOV', $ name: 'OUT_FOV', $ value: 3.4, $ value: 3.4, $ comment: '[deg] Outer Metis FOV'} comment: '[deg] outer Metis FOV'} return, wcs return, wcs end end
solo_get_ephemeris.pro +35 −35 Original line number Original line Diff line number Diff line Loading @@ -16,7 +16,7 @@ function solo_get_ephemeris, header, cal_pack ephemerides.add, { $ ephemerides.add, { $ name: 'LONPOLE', $ name: 'LONPOLE', $ value: 180., $ value: 180., $ comment: '[deg] Native longitude of the celestial pole'} comment: '[deg] native longitude of the celestial pole'} ; spherical coordinates of the S/C in the heeq (i.e., stonyhurst) frame ; spherical coordinates of the S/C in the heeq (i.e., stonyhurst) frame Loading @@ -30,33 +30,33 @@ function solo_get_ephemeris, header, cal_pack ephemerides.add, { $ ephemerides.add, { $ name: 'RSUN_ARC', $ name: 'RSUN_ARC', $ value: rsun_arc, $ value: rsun_arc, $ comment: '[arcsec] Apparent photospheric solar radius'} comment: '[arcsec] apparent photospheric solar radius'} ephemerides.add, { $ ephemerides.add, { $ name: 'RSUN_REF', $ name: 'RSUN_REF', $ value: rsun, $ value: rsun, $ comment: '[m] Assumed physical solar radius'} comment: '[m] assumed physical solar radius'} solar_angles = solo_get_solar_angles(utc) solar_angles = solo_get_solar_angles(utc) ephemerides.add, { $ ephemerides.add, { $ name: 'SOLAR_B0', $ name: 'SOLAR_B0', $ value: solar_angles[0], $ value: solar_angles[0], $ comment: '[deg] S/C tilt of solar North pole'} comment: '[deg] S/C tilt of solar north pole'} ephemerides.add, { $ ephemerides.add, { $ name: 'SOLAR_P0 ', $ name: 'SOLAR_P0 ', $ value: solar_angles[1], $ value: solar_angles[1], $ comment: '[deg] S/C celestial North to solar North angle'} comment: '[deg] S/C celestial north to solar north angle'} ephemerides.add, { $ ephemerides.add, { $ name: 'SOLAR_EP', $ name: 'SOLAR_EP', $ value: solar_angles[2], $ value: solar_angles[2], $ comment: '[deg] S/C ecliptic North to solar North angle'} comment: '[deg] S/C ecliptic north to solar north angle'} carrot = solo_get_carringrot(utc) carrot = solo_get_carringrot(utc) ephemerides.add, { $ ephemerides.add, { $ name: 'CAR_ROT', $ name: 'CAR_ROT', $ value: carrot, $ value: carrot, $ comment: 'Carrington rotation number'} comment: 'carrington rotation number'} ephemerides.add, { $ ephemerides.add, { $ name: 'HGLT_OBS', $ name: 'HGLT_OBS', $ Loading @@ -74,24 +74,24 @@ function solo_get_ephemeris, header, cal_pack ephemerides.add, { $ ephemerides.add, { $ name: 'CRLT_OBS', $ name: 'CRLT_OBS', $ value: coord[2], $ value: coord[2], $ comment: '[deg] S/C Carrington latitude (B0 angle)'} comment: '[deg] S/C carrington latitude (B0 angle)'} ephemerides.add, { $ ephemerides.add, { $ name: 'CRLN_OBS', $ name: 'CRLN_OBS', $ value: coord[1], $ value: coord[1], $ comment: '[deg] S/C Carrington longitude (L0 angle)'} comment: '[deg] S/C carrington longitude (L0 angle)'} ephemerides.add, { $ ephemerides.add, { $ name: 'DSUN_OBS', $ name: 'DSUN_OBS', $ value: solo_dist, $ value: solo_dist, $ comment: '[m] S/C distance from Sun'} comment: '[m] S/C distance from sun'} ephemerides.add, { $ ephemerides.add, { $ name: 'DSUN_AU', $ name: 'DSUN_AU', $ value: solo_dist/au, $ value: solo_dist/au, $ comment: '[AU] S/C distance from Sun'} comment: '[AU] S/C distance from sun'} ephemerides.add, { $ ephemerides.add, { $ name: 'AU_REF', $ name: 'AU_REF', $ value: au, $ value: au, $ comment: '[m] Assumed physical Astronomical Unit'} comment: '[m] assumed physical astronomical unit'} ; coordinates of the S/C in the hee frame ; coordinates of the S/C in the hee frame Loading @@ -101,15 +101,15 @@ function solo_get_ephemeris, header, cal_pack ephemerides.add, { $ ephemerides.add, { $ name: 'HEEX_OBS', $ name: 'HEEX_OBS', $ value: coord[0], $ value: coord[0], $ comment: '[m] S/C Heliocentric Earth Ecliptic X'} comment: '[m] S/C heliocentric earth ecliptic x'} ephemerides.add, { $ ephemerides.add, { $ name: 'HEEY_OBS', $ name: 'HEEY_OBS', $ value: coord[1], $ value: coord[1], $ comment: '[m] S/C Heliocentric Earth Ecliptic Y'} comment: '[m] S/C heliocentric earth ecliptic y'} ephemerides.add, { $ ephemerides.add, { $ name: 'HEEZ_OBS', $ name: 'HEEZ_OBS', $ value: coord[2], $ value: coord[2], $ comment: '[m] S/C Heliocentric Earth Ecliptic Z'} comment: '[m] S/C heliocentric earth ecliptic z'} ; coordinates of the S/C in the hci frame ; coordinates of the S/C in the hci frame Loading @@ -120,28 +120,28 @@ function solo_get_ephemeris, header, cal_pack ephemerides.add, { $ ephemerides.add, { $ name: 'HCIX_OBS', $ name: 'HCIX_OBS', $ value: coord[0], $ value: coord[0], $ comment: '[m] S/C Heliocentric Inertial X'} comment: '[m] S/C heliocentric inertial x'} ephemerides.add, { $ ephemerides.add, { $ name: 'HCIY_OBS', $ name: 'HCIY_OBS', $ value: coord[1], $ value: coord[1], $ comment: '[m] S/C Heliocentric Inertial Y'} comment: '[m] S/C heliocentric inertial y'} ephemerides.add, { $ ephemerides.add, { $ name: 'HCIZ_OBS', $ name: 'HCIZ_OBS', $ value: coord[2], $ value: coord[2], $ comment: '[m] S/C Heliocentric Inertial Z'} comment: '[m] S/C heliocentric inertial z'} ephemerides.add, { $ ephemerides.add, { $ name: 'HCIX_VOB', $ name: 'HCIX_VOB', $ value: vel[0], $ value: vel[0], $ comment: '[m/s] S/C Heliocentric Inertial X velocity'} comment: '[m/s] S/C heliocentric inertial x velocity'} ephemerides.add, { $ ephemerides.add, { $ name: 'HCIY_VOB', $ name: 'HCIY_VOB', $ value: vel[1], $ value: vel[1], $ comment: '[m/s] S/C Heliocentric Inertial Y velocity'} comment: '[m/s] S/C heliocentric inertial y velocity'} ephemerides.add, { $ ephemerides.add, { $ name: 'HCIZ_VOB', $ name: 'HCIZ_VOB', $ value: vel[2], $ value: vel[2], $ comment: '[m/s] S/C Heliocentric Inertial Z velocity'} comment: '[m/s] S/C heliocentric inertial z velocity'} ; coordinates of the S/C in the hae frame ; coordinates of the S/C in the hae frame Loading @@ -151,15 +151,15 @@ function solo_get_ephemeris, header, cal_pack ephemerides.add, { $ ephemerides.add, { $ name: 'HAEX_OBS', $ name: 'HAEX_OBS', $ value: coord[0], $ value: coord[0], $ comment: '[m] S/C Heliocentric Aries Ecliptic X'} comment: '[m] S/C heliocentric aries ecliptic x'} ephemerides.add, { $ ephemerides.add, { $ name: 'HAEY_OBS', $ name: 'HAEY_OBS', $ value: coord[1], $ value: coord[1], $ comment: '[m] S/C Heliocentric Aries Ecliptic Y'} comment: '[m] S/C heliocentric aries ecliptic y'} ephemerides.add, { $ ephemerides.add, { $ name: 'HAEZ_OBS', $ name: 'HAEZ_OBS', $ value: coord[2], $ value: coord[2], $ comment: '[m] S/C Heliocentric Aries Ecliptic Z'} comment: '[m] S/C heliocentric aries ecliptic z'} ; coordinates of the S/C in the heeq frame ; coordinates of the S/C in the heeq frame Loading @@ -169,15 +169,15 @@ function solo_get_ephemeris, header, cal_pack ephemerides.add, { $ ephemerides.add, { $ name: 'HEQX_OBS', $ name: 'HEQX_OBS', $ value: coord[0], $ value: coord[0], $ comment: '[m] S/C Heliocentric Earth Equatorial X'} comment: '[m] S/C heliocentric earth equatorial x'} ephemerides.add, { $ ephemerides.add, { $ name: 'HEQY_OBS', $ name: 'HEQY_OBS', $ value: coord[1], $ value: coord[1], $ comment: '[m] S/C Heliocentric Earth Equatorial Y'} comment: '[m] S/C heliocentric earth equatorial y'} ephemerides.add, { $ ephemerides.add, { $ name: 'HEQZ_OBS', $ name: 'HEQZ_OBS', $ value: coord[2], $ value: coord[2], $ comment: '[m] S/C Heliocentric Earth Equatorial Z'} comment: '[m] S/C heliocentric earth equatorial z'} ; coordinates of the S/C in the gse frame ; coordinates of the S/C in the gse frame Loading @@ -187,15 +187,15 @@ function solo_get_ephemeris, header, cal_pack ephemerides.add, { $ ephemerides.add, { $ name: 'GSEX_OBS', $ name: 'GSEX_OBS', $ value: coord[0], $ value: coord[0], $ comment: '[m] S/C Geocentric Solar Ecliptic X'} comment: '[m] S/C geocentric solar ecliptic x'} ephemerides.add, { $ ephemerides.add, { $ name: 'GSEY_OBS', $ name: 'GSEY_OBS', $ value: coord[1], $ value: coord[1], $ comment: '[m] S/C Geocentric Solar Ecliptic Y'} comment: '[m] S/C geocentric solar ecliptic y'} ephemerides.add, { $ ephemerides.add, { $ name: 'GSEZ_OBS', $ name: 'GSEZ_OBS', $ value: coord[2], $ value: coord[2], $ comment: '[m] S/C Geocentric Solar Ecliptic Z'} comment: '[m] S/C geocentric solar ecliptic z'} ; light travel times and radial velocity of the S/C ; light travel times and radial velocity of the S/C Loading @@ -206,15 +206,15 @@ function solo_get_ephemeris, header, cal_pack ephemerides.add, { $ ephemerides.add, { $ name: 'OBS_VR', $ name: 'OBS_VR', $ value: rad_vel, $ value: rad_vel, $ comment: '[m/s] Radial velocity of S/C relative to Sun'} comment: '[m/s] radial velocity of S/C relative to sun'} ephemerides.add, { $ ephemerides.add, { $ name: 'EAR_TDEL', $ name: 'EAR_TDEL', $ value: t_del, $ value: t_del, $ comment: '[s] Time(Sun to Earth) - Time(Sun to S/C)'} comment: '[s] time(sun to earth) - time(sun to S/C)'} ephemerides.add, { $ ephemerides.add, { $ name: 'SUN_TIME', $ name: 'SUN_TIME', $ value: sun_time, $ value: sun_time, $ comment: '[s] Time(Sun to S/C)'} comment: '[s] time(sun to S/C)'} ; corrections of the acquisition date ; corrections of the acquisition date Loading @@ -227,11 +227,11 @@ function solo_get_ephemeris, header, cal_pack ephemerides.add, { $ ephemerides.add, { $ name: 'DATE_EAR', $ name: 'DATE_EAR', $ value: date_ear, $ value: date_ear, $ comment: '[UTC] Obs. start time corrected to Earth'} comment: '[UTC] obs. start time corrected to earth'} ephemerides.add, { $ ephemerides.add, { $ name: 'DATE_SUN', $ name: 'DATE_SUN', $ value: date_sun, $ value: date_sun, $ comment: '[UTC] Obs. start time corrected to Sun'} comment: '[UTC] obs. start time corrected to sun'} return, ephemerides return, ephemerides end end