MIP_OM2_AX version 1

MIP_OM2_AX_v1

root type

binary record
idfield namedefinition
0mph
ascii record "MPH"size: 1247
1sph
ascii record "Auxiliary_Data_SPH"size: 98
2dsd
ascii array[dim_0]
dim_0: $num_dsd
ascii record "DSD"size: 280
3occ_matrix_general_data
binary array[dim_0]
General GADS

dim_0: $num_dsr[0]
binary record "MIP_OM2_AX_GADS_general_v1"

available: $ds_available[0] != 0

bit offset: $ds_offset[0]
4pt_occ_matrix_priority_ads
binary array[dim_0]
p,T Priority of retrieval occupation matrices

dim_0: $num_dsr[1]
binary record "MIP_OM2_AX_ADSR_prior"

available: $ds_available[1] != 0

bit offset: $ds_offset[1]
5h2o_occ_matrix_priority_ads
binary array[dim_0]
H2O Priority of retrieval occupation matrices

dim_0: $num_dsr[2]
binary record "MIP_OM2_AX_ADSR_prior"

available: $ds_available[2] != 0

bit offset: $ds_offset[2]
6n2o_occ_matrix_priority_ads
binary array[dim_0]
N2O Priority of retrieval occupation matrices

dim_0: $num_dsr[3]
binary record "MIP_OM2_AX_ADSR_prior"

available: $ds_available[3] != 0

bit offset: $ds_offset[3]
7hno3_occ_matrix_priority_ads
binary array[dim_0]
HNO3 Priority of retrieval occupation matrices

dim_0: $num_dsr[4]
binary record "MIP_OM2_AX_ADSR_prior"

available: $ds_available[4] != 0

bit offset: $ds_offset[4]
8ch4_occ_matrix_priority_ads
binary array[dim_0]
CH4 Priority of retrieval occupation matrices

dim_0: $num_dsr[5]
binary record "MIP_OM2_AX_ADSR_prior"

available: $ds_available[5] != 0

bit offset: $ds_offset[5]
9o3_occ_matrix_priority_ads
binary array[dim_0]
O3 Priority of retrieval occupation matrices

dim_0: $num_dsr[6]
binary record "MIP_OM2_AX_ADSR_prior"

available: $ds_available[6] != 0

bit offset: $ds_offset[6]
10no2_occ_matrix_priority_ads
binary array[dim_0]
NO2 Priority of retrieval occupation matrices

dim_0: $num_dsr[7]
binary record "MIP_OM2_AX_ADSR_prior"

available: $ds_available[7] != 0

bit offset: $ds_offset[7]
11f11_occ_matrix_priority_ads
binary array[dim_0]
F11 Priority of retrieval occupation matrices

dim_0: $num_dsr[8]
binary record "MIP_OM2_AX_ADSR_prior"

available: $ds_available[8] != 0

bit offset: $ds_offset[8]
12clno_occ_matrix_priority_ads
binary array[dim_0]
ClNO2 Priority of retrieval occupation matrices

dim_0: $num_dsr[9]
binary record "MIP_OM2_AX_ADSR_prior"

available: $ds_available[9] != 0

bit offset: $ds_offset[9]
13n2o5_occ_matrix_priority_ads
binary array[dim_0]
N2O5 Priority of retrieval occupation matrices

dim_0: $num_dsr[10]
binary record "MIP_OM2_AX_ADSR_prior"

available: $ds_available[10] != 0

bit offset: $ds_offset[10]
14f12_occ_matrix_priority_ads
binary array[dim_0]
F12 Priority of retrieval occupation matrices

dim_0: $num_dsr[11]
binary record "MIP_OM2_AX_ADSR_prior"

available: $ds_available[11] != 0

bit offset: $ds_offset[11]
15pt_occupation_matrices_ads
binary array[dim_0]
p,T Occupation matrices ADS

dim_0: $num_dsr[12]
binary record "MIP_OM2_AX_ADSR_occupation"

available: $ds_available[12] != 0

bit offset: $ds_offset[12]
16h2o_occupation_matrices_ads
binary array[dim_0]
H2O Occupation matrices ADS

dim_0: $num_dsr[13]
binary record "MIP_OM2_AX_ADSR_occupation"

available: $ds_available[13] != 0

bit offset: $ds_offset[13]
17n2o_occupation_matrices_ads
binary array[dim_0]
N2O Occupation matrices ADS

dim_0: $num_dsr[14]
binary record "MIP_OM2_AX_ADSR_occupation"

available: $ds_available[14] != 0

bit offset: $ds_offset[14]
18hno3_occupation_matrices_ads
binary array[dim_0]
HNO3 Occupation matrices ADS

dim_0: $num_dsr[15]
binary record "MIP_OM2_AX_ADSR_occupation"

available: $ds_available[15] != 0

bit offset: $ds_offset[15]
19ch4_occupation_matrices_ads
binary array[dim_0]
CH4 Occupation matrices ADS

dim_0: $num_dsr[16]
binary record "MIP_OM2_AX_ADSR_occupation"

available: $ds_available[16] != 0

bit offset: $ds_offset[16]
20o3_occupation_matrices_ads
binary array[dim_0]
O3 Occupation matrices ADS

dim_0: $num_dsr[17]
binary record "MIP_OM2_AX_ADSR_occupation"

available: $ds_available[17] != 0

bit offset: $ds_offset[17]
21no2_occupation_matrices_ads
binary array[dim_0]
NO2 Occupation matrices ADS

dim_0: $num_dsr[18]
binary record "MIP_OM2_AX_ADSR_occupation"

available: $ds_available[18] != 0

bit offset: $ds_offset[18]
22f11_occupation_matrices_ads
binary array[dim_0]
F11 Occupation matrices ADS

dim_0: $num_dsr[19]
binary record "MIP_OM2_AX_ADSR_occupation"

available: $ds_available[19] != 0

bit offset: $ds_offset[19]
23clno_occupation_matrices_ads
binary array[dim_0]
ClNO2 Occupation matrices ADS

dim_0: $num_dsr[20]
binary record "MIP_OM2_AX_ADSR_occupation"

available: $ds_available[20] != 0

bit offset: $ds_offset[20]
24n2o5_occupation_matrices_ads
binary array[dim_0]
N2O5 Occupation matrices ADS

dim_0: $num_dsr[21]
binary record "MIP_OM2_AX_ADSR_occupation"

available: $ds_available[21] != 0

bit offset: $ds_offset[21]
25f12_occupation_matrices_ads
binary array[dim_0]
F12 Occupation matrices ADS

dim_0: $num_dsr[22]
binary record "MIP_OM2_AX_ADSR_occupation"

available: $ds_available[22] != 0

bit offset: $ds_offset[22]
26pt_occupation_matrices_mds
binary array[dim_0]
p,T Occupation matrices for retrieval MDS

dim_0: $num_dsr[23]
binary record "MIP_OM2_AX_MDSR_occupation"

available: $ds_available[23] != 0

bit offset: $ds_offset[23]
27h2o_occupation_matrices_mds
binary array[dim_0]
H2O Occupation matrices for vmr retrieval MDS

dim_0: $num_dsr[24]
binary record "MIP_OM2_AX_MDSR_vmr_occupation"

available: $ds_available[24] != 0

bit offset: $ds_offset[24]
28n2o_occupation_matrices_mds
binary array[dim_0]
N2O Occupation matrices for vmr retrieval MDS

dim_0: $num_dsr[25]
binary record "MIP_OM2_AX_MDSR_vmr_occupation"

available: $ds_available[25] != 0

bit offset: $ds_offset[25]
29hno3_occupation_matrices_mds
binary array[dim_0]
HNO3 Occupation matrices for vmr retrieval MDS

dim_0: $num_dsr[26]
binary record "MIP_OM2_AX_MDSR_vmr_occupation"

available: $ds_available[26] != 0

bit offset: $ds_offset[26]
30ch4_occupation_matrices_mds
binary array[dim_0]
CH4 Occupation matrices for vmr retrieval MDS

dim_0: $num_dsr[27]
binary record "MIP_OM2_AX_MDSR_vmr_occupation"

available: $ds_available[27] != 0

bit offset: $ds_offset[27]
31o3_occupation_matrices_mds
binary array[dim_0]
O3 Occupation matrices for vmr retrieval MDS

dim_0: $num_dsr[28]
binary record "MIP_OM2_AX_MDSR_vmr_occupation"

available: $ds_available[28] != 0

bit offset: $ds_offset[28]
32no2_occupation_matrices_mds
binary array[dim_0]
NO2 Occupation matrices for vmr retrieval MDS

dim_0: $num_dsr[29]
binary record "MIP_OM2_AX_MDSR_vmr_occupation"

available: $ds_available[29] != 0

bit offset: $ds_offset[29]
33f11_occupation_matrices_mds
binary array[dim_0]
F11 Occupation matrices for vmr retrieval MDS

dim_0: $num_dsr[30]
binary record "MIP_OM2_AX_MDSR_vmr_occupation"

available: $ds_available[30] != 0

bit offset: $ds_offset[30]
34clno_occupation_matrices_mds
binary array[dim_0]
ClNO2 Occupation matrices for vmr retrieval MDS

dim_0: $num_dsr[31]
binary record "MIP_OM2_AX_MDSR_vmr_occupation"

available: $ds_available[31] != 0

bit offset: $ds_offset[31]
35n2o5_occupation_matrices_mds
binary array[dim_0]
N2O5 Occupation matrices for vmr retrieval MDS

dim_0: $num_dsr[32]
binary record "MIP_OM2_AX_MDSR_vmr_occupation"

available: $ds_available[32] != 0

bit offset: $ds_offset[32]
36f12_occupation_matrices_mds
binary array[dim_0]
F12 Occupation matrices for vmr retrieval MDS

dim_0: $num_dsr[33]
binary record "MIP_OM2_AX_MDSR_vmr_occupation"

available: $ds_available[33] != 0

bit offset: $ds_offset[33]

detection rule

This product definition is applicable if a product matches the following rule:

bytes(/,0,8) == "PRODUCT=" and
bytes(/,9,10) == "MIP_OM2_AX" and
bytes(/,95,23) == "PO-RS-ESA-GS-0177_6    "

or

bytes(/,0,8) == "PRODUCT=" and
bytes(/,9,10) == "MIP_OM2_AX" and
bytes(/,95,23) == "PO-RS-MDA-GS-2009_5/A  "

product variables

namesizeinitialisation
num_dsd$num_dsd = int(/mph/num_dsd)
num_ds$num_ds = 34
ds_to_dsd_index[$num_ds]$ds_to_dsd_index[0] = index(/dsd, str(./ds_name) == "OCC MATRIX GENERAL DATA     ");
$ds_to_dsd_index[1] = index(/dsd, str(./ds_name) == "PT OCC MATRIX PRIORITY ADS  ");
$ds_to_dsd_index[2] = index(/dsd, str(./ds_name) == "H2O OCC MATRIX PRIORITY ADS ");
$ds_to_dsd_index[3] = index(/dsd, str(./ds_name) == "N2O OCC MATRIX PRIORITY ADS ");
$ds_to_dsd_index[4] = index(/dsd, str(./ds_name) == "HNO3 OCC MATRIX PRIORITY ADS");
$ds_to_dsd_index[5] = index(/dsd, str(./ds_name) == "CH4 OCC MATRIX PRIORITY ADS ");
$ds_to_dsd_index[6] = index(/dsd, str(./ds_name) == "O3 OCC MATRIX PRIORITY ADS  ");
$ds_to_dsd_index[7] = index(/dsd, str(./ds_name) == "NO2 OCC MATRIX PRIORITY ADS ");
$ds_to_dsd_index[8] = index(/dsd, str(./ds_name) == "F11 OCC MATRIX PRIORITY ADS ");
$ds_to_dsd_index[9] = index(/dsd, str(./ds_name) == "CLNO OCC MATRIX PRIORITY ADS");
$ds_to_dsd_index[10] = index(/dsd, str(./ds_name) == "N2O5 OCC MATRIX PRIORITY ADS");
$ds_to_dsd_index[11] = index(/dsd, str(./ds_name) == "F12 OCC MATRIX PRIORITY ADS ");
$ds_to_dsd_index[12] = index(/dsd, str(./ds_name) == "PT OCCUPATION MATRICES ADS  ");
$ds_to_dsd_index[13] = index(/dsd, str(./ds_name) == "H2O OCCUPATION MATRICES ADS ");
$ds_to_dsd_index[14] = index(/dsd, str(./ds_name) == "N2O OCCUPATION MATRICES ADS ");
$ds_to_dsd_index[15] = index(/dsd, str(./ds_name) == "HNO3 OCCUPATION MATRICES ADS");
$ds_to_dsd_index[16] = index(/dsd, str(./ds_name) == "CH4 OCCUPATION MATRICES ADS ");
$ds_to_dsd_index[17] = index(/dsd, str(./ds_name) == "O3 OCCUPATION MATRICES ADS  ");
$ds_to_dsd_index[18] = index(/dsd, str(./ds_name) == "NO2 OCCUPATION MATRICES ADS ");
$ds_to_dsd_index[19] = index(/dsd, str(./ds_name) == "F11 OCCUPATION MATRICES ADS ");
$ds_to_dsd_index[20] = index(/dsd, str(./ds_name) == "CLNO OCCUPATION MATRICES ADS");
$ds_to_dsd_index[21] = index(/dsd, str(./ds_name) == "N2O5 OCCUPATION MATRICES ADS");
$ds_to_dsd_index[22] = index(/dsd, str(./ds_name) == "F12 OCCUPATION MATRICES ADS ");
$ds_to_dsd_index[23] = index(/dsd, str(./ds_name) == "PT OCCUPATION MATRICES MDS  ");
$ds_to_dsd_index[24] = index(/dsd, str(./ds_name) == "H2O OCCUPATION MATRICES MDS ");
$ds_to_dsd_index[25] = index(/dsd, str(./ds_name) == "N2O OCCUPATION MATRICES MDS ");
$ds_to_dsd_index[26] = index(/dsd, str(./ds_name) == "HNO3 OCCUPATION MATRICES MDS");
$ds_to_dsd_index[27] = index(/dsd, str(./ds_name) == "CH4 OCCUPATION MATRICES MDS ");
$ds_to_dsd_index[28] = index(/dsd, str(./ds_name) == "O3 OCCUPATION MATRICES MDS  ");
$ds_to_dsd_index[29] = index(/dsd, str(./ds_name) == "NO2 OCCUPATION MATRICES MDS ");
$ds_to_dsd_index[30] = index(/dsd, str(./ds_name) == "F11 OCCUPATION MATRICES MDS ");
$ds_to_dsd_index[31] = index(/dsd, str(./ds_name) == "CLNO OCCUPATION MATRICES MDS");
$ds_to_dsd_index[32] = index(/dsd, str(./ds_name) == "N2O5 OCCUPATION MATRICES MDS");
$ds_to_dsd_index[33] = index(/dsd, str(./ds_name) == "F12 OCCUPATION MATRICES MDS ")
ds_available[$num_ds]for i = 0 to $num_ds - 1 do
$ds_available[i] = if($ds_to_dsd_index[i] != -1 and !(bytes(/dsd[$ds_to_dsd_index[i]]/filename,8) == "NOT USED"), 1, 0)
ds_offset[$num_ds]for i = 0 to $num_ds - 1 do
$ds_offset[i] = 8 * int(/dsd[$ds_to_dsd_index[i]]/ds_offset)
num_dsr[$num_ds]for i = 0 to $num_ds - 1 do
$num_dsr[i] = int(/dsd[$ds_to_dsd_index[i]]/num_dsr)
species_count$species_count = 10