This file describes the different calibration steps to bring SOIR raw data (PSA level 1B) to calibrated data (PSA level 2). (written by E. NEEFS and A. MAHIEUX) 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. a. 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) (nracc is number of bins accumulated) (for details see TMTC TM/TC document in DOCUMENT directory) b. 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) c. 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 ] d. reduce the spectrum pixel values to one non-binned non-accumulated values adc_sig = float(data[i]) / n_accum e. 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 f. 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 degress 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 g. calculation of new corrected pixel values charge = non_lin_correction.adccode_to_charge( adc_sig_plus_bkg ) - integ_time_ms STEP 2 : WAVENUMBER CALIBRATION ------------------------------- Full scan / full sun calibration Based on regularly registered in flight full sun scans and mini scans, and taking into account the measurement parameters (binning, accumulation, integration time) conversion formulas are produced for distinct periods of the mission, converting the pixel scale into a shifted and stretched wavenumber scale (formulas in SOIR_CALIBRATION_SOFTWARE) Definition of relationship order vs AOTF frequency is as follows (linear approximation) : Order extremes, slopes and frequency for order 101 (base order) Le_MINUS_OFFSET = 2274.75 Le_PLUS_OFFSET = 2256.41 Le_MINUS_SLOPE = 22.52135922 Le_PLUS_SLOPE = 22.34019417 AOTF_FREQ_BASE = 12915 ORDER_BASE = 101 ORDER_SLOPE = 145.3913 Calculating the order from the AOTF frequency "aofs" read in the telemetry of a spectrum order = int((aofs-AOTF_FREQ_BASE)/ORDER_SLOPE + 0.5 + ORDER_BASE) Calculating extremes and slope for a given order "order" Le_minus = (order - ORDER_BASE) * Le_MINUS_SLOPE + Le_MINUS_OFFSET Le_plus = (order - ORDER_BASE) * Le_PLUS_SLOPE + Le_PLUS_OFFSET slope = (Le_minus - Le_plus) / 319 Mapping a pixel x towards a wavenumber in a certain order lambda x <-- x * slope + Le_plus STEP 3 : FULL SUN REFERENCING ----------------------------- a. 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) b. selection of the reference zone the reference zone is defined using the following criteria: - end one second before start of the zone of interest - beginnig 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 satelite during the occultation. c. division of spectra in observation zone by reference spectrum to obtain transmittance values (between 0 and 1) STEP 4 : 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]