[Venus Express]-[SPICAV/SOIR] SOIR calibration description Issue 002 23 April 2013 Prepared by: Arnaud MAHIEUX Verified by: Eddy NEEFS Institute: Belgian Institute for Space Aeronomy Ringlaan 3 B-1180 Brussels Belgium Change Log Date Sections Changed Reasons for Change 17/05/2011 All Creation of document from SOIR_CALIBRATION_DESC.TXT Table of Contents 2 Introduction 4 3 Calibration steps to create the PSA data level 2 4 3.1 Step 1: Detector non linearity correction 4 3.2 Step 2: Wavenumber calibration 5 3.3 Step 3: Order number calculation and AOTF frequency to wavenumber calibration 6 3.4 Step 4: Full Sun referencing 6 3.5 Step 5: Tracing the calibration history 6 4 Calibration steps to create the PSA data level 3 29 4.1 Step 1: The AOTF transfer function 29 4.2 Step 2: The blaze function 29 5 Description of the CALIB directory at PSA level 3 30 5.1 Introduction 30 5.2 Resolution calibration file 32 5.3 The AOTF frequency to wavenumber calibration file 32 5.4 The AOTF transfer function calibration file 32 5.5 The blaze function calibration file 32 1 2 Introduction This file describes the different calibration steps to bring SOIR raw data (PSA level 1B) to calibrated data (PSA level 2). It also describes the files contained in the CALIB directory. 3 Calibration steps to create the PSA data level 2 3.1 Step 1: Detector non linearity correction For low signal intensity the detector has a non-linear response. The definition of linearity by the manufacturer is not fully understood. Nevertheless, one has the impression that the pixel is linear within 2 % if it is filled less than 98 % and more than 25 %. Between 10 and 25 % of full well the error grows to about 4 %. Non-linearity correction has to be applied. It is understood that this correction routine is only applicable on data sets that contain signal values with on board subtracted background. 1) Calculate exact number of accumulations for this observation n_accum = (dcbf+1) * (nrac1-1)/2 with dcbf and nracc two parameters in the SOIR telemetry. dcbf is number of lines binned and nracc is number of bins accumulated. For details see TMTC TM/TC document in DOCUMENT directory. 2) Calculate exact integration time for this observation (in milliseconds) integ_time_ms = deit1/1000 with deit a parameter in the SOIR telemetry. deit is integration time in microseconds. For details see TMTC TM/TC document in DOCUMENT directory 3) Read the background value corresponding to this integration time (ADC codes) in the bkgcodes_vs_integtime table (based on measurement during CRUISE phase on Feb 21st 2006) ## background codes vs. integration time for integtime = 0, 1, ...., 150 ms bkgcodes_vs_integtime = [663, 663, 679, 693, 706, 721, 738, 755, 772, 790, 808, 827, 846, 866, 886, 908, 930, 952, 975, 1000, 1024, 1050, 1077, 1104, 1134, 1164, 1194, 1225, 1257, 1289, 1323, 1357, 1391, 1427, 1463, 1500, 1536, 1574, 1611, 1650, 1688, 1727, 1766, 1806, 1846, 1886, 1926, 1966, 2008, 2048, 2089, 2131, 2173, 2215, 2257, 2299, 2340, 2383, 2426, 2469, 2511, 2555, 2599, 2641, 2684, 2729, 2772, 2815, 2860, 2903, 2947, 2992, 3035, 3080, 3125, 3168, 3213, 3257, 3302, 3346, 3391, 3437, 3481, 3527, 3572, 3616, 3661, 3706, 3752, 3797, 3842, 3887, 3933, 3977, 4022, 4068, 4113, 4159, 4205, 4250, 4296, 4342, 4387, 4432, 4479, 4524, 4570, 4616, 4661, 4707, 4753, 4799, 4844, 4891, 4936, 4982, 5028, 5075, 5121, 5166, 5212, 5259, 5305, 5350, 5396, 5442, 5488, 5534, 5581, 5627, 5672, 5719, 5765, 5811, 5858, 5903, 5950, 6042, 6088, 6134, 6182, 6227, 6274, 6319, 6366, 6412, 6458, 6504, 6551, 6597] The ADC values correspond to different integration times and hence to different quantities of thermal background photons. The collected pixel charges are converted by the read-out process into ADC units. There is a non-linear relation between collected photons and observed ADC units. The ADC values include an offset (about 660 units) in the video amplifier electronics introduced to allow for aging margin. We assumed a perfectly linear relationship between integration time and the quantity of photons that is equal for all pixels within a grating order and over all grating orders (wavelengths). This assumption is only valid if pixel quantum efficiency would be constant over pixels and wavelengths. This relationship is most probably also temperature dependent. adc_bkg = non_lin_correction.bkgcodes_vs_integtime[integ_time_ms] 4) Reduce the spectrum pixel values to one non-binned non- accumulated values adc_sig = float(data[i]) / n_accum 5) Make sum of ADC value of (measured) signal and (estimated) background For spectra which have the thermal background subtracted on- board, the real charge collected on the pixel capacitor is still the result of the combined input of signal photons and thermal background photons adc_sig_plus_bkg = adc_sig + adc_bkg 6) Conversion of ADC units into Arbitrary Charge Units (ACU) During the measurement with different integration times (Feb 21st 2006), we have collected different amounts of thermal background photons that have produced different amounts of electrons or charges in the pixel. Because we do not know the exact thermal background level, these quantities are not calibrated. Therefore we introduce the concept of Arbitrary Charge Units, in which we will express signal levels. It is suggested that the value of the arbitrary charge units equals the integration time value. The measured relation between ADC units and ACUs can be approximated by the following equation (10 degrees polynomial if ADC units < 6000 and a linear relationship above 6000 ADC units) : adccode_to_charge( x ): if x < 6000: y=-109.4112717552833+x*(0.3281672408563101+\ x*(-0.0003846513541535442+x*(2.869226627796301E-07+\ x*(-1.381722060516796E-10+x*(4.459643046851159E-14+\ x*(-9.752279474228916E-18+x*(1.426792904826683E-21+\ x*(-1.337703563748429E-25+x*(7.266297806363216E-30+\ x*-1.738835026549852E-34))))))))) else: y = 6.0634764 + 0.02184421*x with x = ADC units and y = ACUs 7) Calculation of new corrected pixel values charge = non_lin_correction.adccode_to_charge( adc_sig_plus_bkg ) - integ_time_ms 3.2 Step 2: Wavenumber calibration The wavenumber to pixel calculation is done using the formula where is the wavenumber in cm-1 of pixel p in diffraction order n and a, b, c and d the coefficients of a third order polynomial. The values of the pixel number range from 0.5 to 319.5, and the order number is a value between 101 and 194. The values of the coefficients are reported for each measured spectrum in the in the spectra files under the DATA directory at PSA level 3. Check the EAICD.pdf file for more info. 3.3 Step 3: Order number calculation and AOTF frequency to wavenumber calibration From the AOTF frequency, the value of the diffraction order is calculated. The relation between the AOTF frequency and the wavenumber is given as with the wavenumber in cm-1 and f the AOTF frequency in Hz. The value of the AOTF frequency programmed in aofs1, aofs2, aofs3 and aofs4 are transformed into their corresponding wavenumber: , , and . Then, for each order, the order center wavenumber is computed using the formula described in the previous section (section 3.2): The values of , , and are compared to list of values, and the each order is assigned considering the closest value between the both lists. 3.4 Step 4: Full Sun referencing 1) Selection of the zone of interest from the total data set The zone of interest is defined using the following criteria: Beginning when SOIR altitude of measurement is 220km (defined from the attitude files, refraction taken into account) End when SOIR altitude of measurement is 60 km (defined from the altitude files, refraction taken into account) 2) Selection of the reference zone The reference zone is defined using the following criteria: End one second before start of the zone of interest Beginning such that reference zone lasts for 39 or 40s The reference spectrum is calculated for every pixel as a linear regression in function of time on the reference zone as described here above. This is to account for the observed drift of the satellite during the occultation. 3) Division of spectra in observation zone by reference spectrum to obtain transmittance values (between 0 and 1) 3.5 Step 5: Tracing the calibration history Look into the .TRT additional data files on PSA level 2. Example: 0.1_TO_0.2_SCRIPT_VERSION,[SVN revision nr] 0.2_TO_0.3_SCRIPT_VERSION,[SVN revision nr] 0.2_TO_0.3_REGRESSION_ZONE,20070415053104-20070415053143 0.2_TO_0.3_OCCULTATION_ZONE,20070415053144-20070415053230 0.2_TO_0.3_REGRESSION_ALTITUDE,220 0.3_TO_1.0_PDS_CREATION,[SVN revision nr] 4 Calibration steps to create the PSA data level 3 4.1 Step 1: The AOTF transfer function The AOTF transfer function describes the behavior as a function of the wavenumber for a given AOTF excitation frequency, corresponding to a diffraction order. More details about the physics underlying the AOTF and its characteristics can be found in: Nevejans et al., Compact high-resolution spaceborne echelle grating spectrometer with acousto-optical tunable filter based order sorting for the infrared domain from 2.2 to 4.3 µm, Applied Optics, Vol. 45, No. 21, 20 July 2006; Mahieux et al., In-flight performance and calibration of SPICAV SOIR onboard Venus Express, Applied Optics, Vol. 47, No. 13, 1 May 2008; Mahieux et al., A new method for determining the transfer function of an Acousto optical tunable filter, Optics Express, Vol. 17, No. 3, 2 February 2009. 4.2 Step 2: The blaze function The blaze function corresponds to the efficiency of the echelle grating as a function of the incident angle to the blaze angle. In the case of SOIR, it takes values between 0 and 1, and these values are given per diffraction order. The blaze angle has been computed from calibration measurements. 5 Description of the CALIB directory at PSA level 3 5.1 Introduction The CALIB directory contains 4 calibration files available in the PDS3 format: The resolution calibration file The AOTF frequency to wavenumber calibration file The AOTF transfer function calibration file The Blaze function calibration file. Each file is accompanied with a CAT file, in the PDS3 format. 5.2 Resolution calibration file The resolution calibration data are given in the RESOL_BINNINGXX.TAB files. The different binning XX possibilities are listed in Table 1. This file is made of (bins+1) columns, where bins corresponds to thevalue listed in the second columnof Table 1. Binning case Number of lines per bin Number of binning groups 8 x 3 3 8 8 x 4 4 8 2 x 12 12 2 2 x 16 16 2 Table 1: List of the binning possibilities 5.3 The AOTF frequency to wavenumber calibration file The AOTF frequency to wavenumber calibrations are given in the AOTF_F_WN.TAB with its associated LBL file. This file is made of 6 columns, the first one giving the relation type (AOTF frequency to wavenumber – F->WN – or wavenumber to AOTF frequency – WN->F). The relations are defined in Section 3.3. The second column gives the binning case and the third one the bin number. Error: Reference source not foundsummarizes the detector lines that are summed up for each case and Table 1 gives the different binning cases. The three last columns give the values of the second order polynomial coefficients. There is one calibration file for the nominal mission, and for each extension of the mission. 5.4 The AOTF transfer function calibration file The AOTF transfer function values are given in the AOTF_F_WN_BINNINGXX.TAB with its associated LBL file. As for the resolution, there is a file for each binning case, which are listed in Table 1. The first column gives the diffraction order number, followed by the centered wavenumber values (between -100 and 100 cm-1 around the maximum, by steps of 0.1cm-1, 2001 in total), the transfer function values for bin 1(2001 in total) and the transfer function values for bin 2 (2001 in total). There is one line per order (94 in total). 5.5 The blaze function calibration file The blaze function values are given in the BLAZE.TAB with its associated LBL file. The first column gives the diffraction order number, followed by the centered wavenumber values (between -100 and 100 cm-1 around the center of the order, by steps of 0.1cm-1, 2001 in total) and the blaze function values (2001 in total), same for bins 1 and 2. There is one line per order (94 in total).