PDS_VERSION_ID = PDS3 RECORD_TYPE = STREAM RELEASE_ID = 0001 REVISION_ID = 0000 OBJECT = TEXT PUBLICATION_DATE = 2008-10-28 NOTE = "Description of the CALIB directory contents for an ASPERA-3 release." END_OBJECT = TEXT END CALIB Directory Contents The CALIB directory contains calibration tables for a MEX ASPERA-3 archive volume. The files listed below are found in this directory. CALINFO.TXT - The file you are reading. IMA_MASS.TAB - The ASPERA-3 Ion Mass Analyzer (IMA) Mass channels data calibration table. This table provides the background noise values and the correction ratio for each of the 32 mass channels. This table is applicable for all IMA sectors, and thus is used for all IMA_AZ* data products. IMA_MASS.LBL - PDS label that describes the ASPERA-3 Ion Mass Analyzer (IMA) Mass channels data calibration table. IMA_ENERGYn.TAB - The ASPERA-3 Ion Mass Analyzer (IMA) Energy steps data calibration tables. These tables provide the center energy in eV for each energy step, and the fraction of noise dependent on energy step. These tables also contain elevation angle information per elevation (polar) index and per energy step. These tables are applicable for all IMA sectors, and thus used for all IMA_AZ* data. Note that there are different tables for different time periods, so the tables are numbered where 'n' starts at 1. The time periods each table covers is documented in the associated .LBL file. Beginning with table IMA_ENERGY9, a new table has been added with 'H' appended to 'n' (IMA_ENERGY9H) for use when in high resolution mode where only 32 energies and 6 elevation angles are returned in telemetry. This table covers the same time period as its associated table. The first time this mode is used is 12-13 November 2013 for testing, and then put into operation late December 2013. IMA_ENERGYn.LBL - PDS labels that describe the ASPERA-3 Ion Mass Analyzer (IMA) Energy steps data calibration, tables including the time periods for which the associated table is valid. IMA_AZIMUTH.TAB - The ASPERA-3 Ion Mass Analyzer (IMA) Azimuth sectors data calibration table. This table provides the central directions (in degrees) of each azimuth sector as well as the efficiencies and very rough estimation of the geometric factors for each of the sectors. There is one row per azimuth sector corresponding to each IMA_AZ* data product for a total of 16 rows (16 sectors). IMA_AZIMUTH.LBL - PDS label that describes the ASPERA-3 Ion Mass Analyzer (IMA) Azimuth sectors data calibration table. ******************************* IMPORTANT NOTE ******************************* The ASPERA-3 IMA data is complicated and there is no unique procedure to calibrate the data. Proper calibration depends on the data itself and user specific judgments. There are many issues to address when analyzing the ASPERA-3 IMA data. The IMA_CALIBRATION_REPORT.PDF (in the DOCUMENT directory) addresses these issues and it is advised to contact the IMA team (Rickard Lundin - rickard@irf.se, Stas Barabash - stas@irf.se, and Andrei Fedorov - Andrei.Fedorov@cesr.fr) for guidance in analyzing IMA data. The calibration information and tables provided in this IMA data set are to mainly describe how to remove background noise. Although a description and tables are provided in this IMA data set to convert from raw counts [cnts/accum] to differential number flux [cnts/(cm**2-sr-s-eV)], the user is to BEWARE - the many issues to address are NOT taken into account here. For instance, the default geometric factor is used here even though the geometric factor is dependent on the data itself (different for O+ and H+). This is just a very simplified procedure to show how to convert IMA data from raw units to differential number flux using the IMA tables. ** Please contact the ASPERA-3 IMA Team (Rickard Lundin - rickard@irf.se, Stas Barabash - stas@irf.se, Andrei Fedorov - Andrei.Fedorov@cesr.fr) for more information before using IMA data. ********************************** END NOTE ********************************** Description of calibration table formulation and use: This is the calibration table formulation for all the IMA_AZ* data products. These tables provide calibration values (columns) for the mass channels (IMA_MASS.TAB, 32 rows), the energy steps (IMA_ENERGYn.TAB, 96 (or 32) rows), and the azimuth sectors (IMA_AZIMUTH.TAB, 16 rows). There is a description of each calibration value and how to apply them to the SENSOR data for removing background noise and for converting raw counts [cnts/accum] to differential number flux [cnts/(cm**2-sr-s-eV)]. Removing Background ------------------- Four of the mass channels (0, 4, 10, and 22) have been identified as not trustworthy. So, the data in these must first be replaced. Let each data value be represented by Data(i)(j), where i represents the energy step (0-95 or 0-31) and j represents the mass channel (0-31) Replace data values in channel 0 with zeros: Data(i)(0) = 0 Replace data values in channels 4, 10, and 22 by averaging their adjacent mass channel data values for each energy step: Data(i)(4) = [Data(i)(3) + Data(i)(5)] / 2 Data(i)(10) = [Data(i)(9) + Data(i)(11)] / 2 Data(i)(22) = [Data(i)(21) + Data(i)(23)] / 2 Now, calculate the Data Mean for each energy x mass matrix: NE = Number of energies: 96 or 32 N = NE * 32 (Number of samples: 96 or 32 energies x 32 mass channels) E_M_MATRIX_SUM = SUM [Data(i)(j)] for i=0-95 (or 0-31) and j=0-31 DATA_MEAN = E_M_MATRIX_SUM / N Compute standard deviation, SD: E_M_MATRIX_SQR_SUM = SUM {[Data(i)(j)]**2} for i=0-95, j=0-31 (or i=0-31) +- -+ | N * E_M_MATRIX_SQR_SUM - E_M_MATRIX_SUM**2 | SD = SQRT | ------------------------------------------ | | N**2 - N | +- -+ If the standard deviation is greater than the data mean, then the background mean is computed. If standard deviation is less than or equal to the data mean, then the data mean is the background mean. The background mean is computed by excluding any data greater than the data mean + 2 * standard deviation: If SD > DATA_MEAN, do the following: NB = Number of data samples that meet the criteria If Data(i)(j) less than or equal to (DATA_MEAN + 2 * SD), Add Data(i)(j) to BACKGROUND_SUM Increment NB BACKGROUND_MEAN = BACKGROUND_SUM / NB If SD <= DATA_MEAN, BACKGROUND_MEAN = DATA_MEAN C CODE EXAMPLE to compute BACKGROUND_MEAN: E_M_MATRIX_SUM = 0; E_M_MATRIX_SQR_SUM = 0; N = NE*32; /* NE = 96 or 32 depending on mode */ /* if operational index > 63, NE=32 (high resolution mode) */ for (i=0; i < NE; ++i) { for (j=0; j < 32; ++j) { E_M_MATRIX_SUM = E_M_MATRIX_SUM + Data[i][j]; DATA_SQR = Data[i][j] * Data[i][j]; E_M_MATRIX_SQR_SUM = E_M_MATRIX_SQR_SUM + DATA_SQR; } } DATA_MEAN = E_M_MATRIX_SUM / N; SD = sqrt((N * E_M_MATRIX_SQR_SUM - E_M_MATRIX_SUM**2) / (N**2 - N)); if (SD > DATA_MEAN) { NB = 0; BACKGROUND_SUM = 0; for (i=0; i < NE; ++i) { for (j=0; j < 32; ++j) { if (Data[i][j] <= (DATA_MEAN + 2*SD)) { BACKGROUND_SUM = BACKGROUND_SUM + Data[i][j]; NB = NB + 1; } } } BACKGROUND_MEAN = BACKGROUND_SUM / NB; } else BACKGROUND_MEAN = DATA_MEAN; Computing and Subtracting Background Noise ------------------------------------------ The IMA_MASS.TAB and IMA_ENERGYn.TAB calibration tables are used to determine the background noise per mass channel, per energy step. Please note that the correct IMA_ENERGYn.TAB file must be used based on the time period. Also, if data is sampled during high resolution mode (op index > 63), then the IMA_ENERGYnH.TAB file should be used for the time period. Another clue to use the high resolution table is if only 32 energies are present. Check the IMA_ENERGYn.LBL files for the time period covered for that energy table where n = 1, 2, etc. (Use the START_TIME and STOP_TIME values for time range of the corresponding IMA_ENERGYn.TAB file.) In addition, please note that negative values for the CENTER_ENERGY in the energy tables indicate that IMA cannot measure the positive ions on the given energy step so data at these energy levels should be ignored and not used. Also included in the IMA_ENERGYn.TAB files are the elevation angles per index (polar angle index found as a MODE value in the data files) and per energy step. Columns 4-19 correspond to the elevation (polar) index and the 96 rows correspond to the energy steps. If in high resolution mode, then columns 4-9 correspond to the elevation (polar) index and the 32 rows correspond to the energy steps. Please note that elevation angles less than -50.0 (degrees) indicate invalid data that should be excluded from data analysis. Let the background noise for each data value be represented by BACKGROUND_NOISE(i)(j), where i represents the energy step (0-95/0-31) and j represents the mass channel (0-31) In the IMA_MASS.TAB, column 1 gives the mass channel name to which the calibration data applies. COLUMN 2 of IMA_MASS.TAB: MASS_CHANNEL_NOISE per mass channel This is the mass channel noise for all energy steps (i). BACKGROUND_NOISE(i)(j) = BACKGROUND_MEAN * MASS_CHANNEL_NOISE(j), j=0-31 In the IMA_ENERGYn.TAB, column 1 gives the energy index value for the energy step the calibration data applies. COLUMN 3 of IMA_ENERGYn.TAB: E_STEP_NOISE per energy step This is the energy step noise for all mass channels (j). BACKGROUND_NOISE(i)(j) = BACKGROUND_MEAN * E_STEP_NOISE(i), i=0-95 / 0-31 Now, the background noise needs to be adjusted based on summation modes. Use the MODE DATA rows in the data files for the time period of the data matrix (energy x mass) currently processing, Data(i)(j). The values for the following summation mode descriptions (defined in the label files as SENSOR_NAME), are used to adjust the background noise. ASUM = "Azimuth Sum Mode" value in the data file PSUM = "Polar Angle Sum Mode" value in the data file MSUM = "Mass Channel Sum Mode" value in the data file ADJUST_FACTOR = 2**ASUM * 2**PSUM * 2**MSUM For example, if ASUM = 0, PSUM = 2, and MSUM = 3, then ADJUST_FACTOR = 1 * 4 * 8 = 32 The adjusted background noise is then: ADJ_BCKGRND_NOISE(i)(j) = BACKGROUND_NOISE(i)(j) / ADJUST_FACTOR Now subtract the adjusted background noise from the data: Adj_Data(i)(j) = Data(i)(j) - ADJ_BCKGRND_NOISE(i)(j) One last correction to make before converting to flux: Apply the mass correction ratio. COLUMN 3 of IMA_MASS.TAB: MASS_CORR_RATIO per mass channel This is the mass channel correction ratio for all energy steps (i). Bckgrnd_Removed_Data(i)(j) = Adj_Data(i)(j) * MASS_CORR_RATIO(j), j=0-31 Converting to Number Flux ------------------------- To go from corrected cnts/accum to cnts/(cm**2-sr-s-eV): The differential number flux (DNF) per energy step (i), per mass channel (j), per anode (Azimuth Sector (k)) is: Bckgrnd_Removed_Data(i)(j) DNF(i)(j) = --------------------------------------------------------- Detector_eff(k) * DATA_ACCUM * Geom_Fac(k) * center_eV(i) In the IMA_AZIMUTH.TAB, column 1 gives the IMA Azimuth sector name to which the calibration data applies. This table contains one row per IMA_AZ* data product. Column 2 of the IMA_AZIMUTH.TAB contains the central directions (in degrees) of each of azimuthal sector from +X to +Z of S/C. COLUMN 3 of IMA_AZIMUTH.TAB: AZIMUTH_EFF per azimuth sector (IMA_AZ*) This is the detector efficiency for each IMA azimuth anode (or sector). Detector_eff(k) = AZIMUTH_EFF where k is the row for the azimuth sector (IMA_AZ* data) DATA_ACCUM is constant for all energy steps, mass channels, and azimuths. DATA_ACCUM is 0.1209 seconds COLUMN 4 of IMA_AZIMUTH.TAB: GEOM_FACTOR per azimuth sector (IMA_AZ*) This is the detector geometry factor (cm**2-ster-eV/eV). Geom_Fac(k) = GEOM_FACTOR where k is the row for the azimuth sector (IMA_AZ* data) COLUMN 2 of IMA_ENERGYn.TAB: CENTER_ENERGY per energy step This is the center energy (eV) for each energy step (j). NOTE: Negative values indicate that IMA cannot measure the positive ions on the given energy step and therefore data at these energy steps should be ignored and not used in the data analysis. Center_eV(j) = CENTER_ENERGY where j is the corresponding ENERGY_INDEX based on the position of the items in the data files, starting at 0 This completes the set of terms needed to determine the differential number flux [cnts/(cm**2-sr-s-eV)] per energy step (i), per mass channel(j), per IMA Azimuth sector (IMA_AZ* data product (k)) using the equation given: Bckgrnd_Removed_Data(i)(j) DNF(i)(j) = --------------------------------------------------------- Detector_eff(k) * DATA_ACCUM * Geom_Fac(k) * center_eV(i)