GOM_CRS_AX version 0

GOM_CRS_AX

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
3crs_o3_cross_sect_spa_gads
binary array[dim_0]
O3 Cross-sections (SPA) GADS

dim_0: $num_dsr[0]
binary record "GOM_CRS_AX_GADS_spa"size: 38630

available: $ds_available[0] != 0

bit offset: $ds_offset[0]
4crs_o3_cross_sect_spb_gads
binary array[dim_0]
O3 Cross-sections (SPB) GADS

dim_0: $num_dsr[1]
binary record "GOM_CRS_AX_GADS_spb"size: 4626

available: $ds_available[1] != 0

bit offset: $ds_offset[1]
5crs_no2_cross_sect_gads
binary array[dim_0]
NO2 Cross-sections (SPA) GADS

dim_0: $num_dsr[2]
binary record "GOM_CRS_AX_GADS_spa"size: 38630

available: $ds_available[2] != 0

bit offset: $ds_offset[2]
6crs_no3_cross_sect_gads
binary array[dim_0]
NO3 Cross-sections (SPA) GADS

dim_0: $num_dsr[3]
binary record "GOM_CRS_AX_GADS_spa"size: 38630

available: $ds_available[3] != 0

bit offset: $ds_offset[3]
7crs_oclo_cross_sect_gads
binary array[dim_0]
OClO Cross-sections (SPA) GADS

dim_0: $num_dsr[4]
binary record "GOM_CRS_AX_GADS_spa"size: 38630

available: $ds_available[4] != 0

bit offset: $ds_offset[4]
8crs_o2_cross_sect_gads
binary array[dim_0]
O2 Transmissions GADS

dim_0: $num_dsr[5]
binary record "GOM_CRS_AX_GADS_trans"size: 13428

available: $ds_available[5] != 0

bit offset: $ds_offset[5]
9crs_h2o_cross_sect_gads
binary array[dim_0]
H2O Transmissions GADS

dim_0: $num_dsr[6]
binary record "GOM_CRS_AX_GADS_trans"size: 13428

available: $ds_available[6] != 0

bit offset: $ds_offset[6]
10crs_o3_cross_sect_spa_mds
binary array[dim_0]
O3 Cross-sections (SPA) MDS

dim_0: $num_dsr[7]
binary record "GOM_CRS_AX_MDSR_spa"size: 36213

available: $ds_available[7] != 0

bit offset: $ds_offset[7]
11crs_o3_cross_sect_spb_mds
binary array[dim_0]
O3 Cross-sections (SPB) MDS

dim_0: $num_dsr[8]
binary record "GOM_CRS_AX_MDSR_spb"size: 2209

available: $ds_available[8] != 0

bit offset: $ds_offset[8]
12crs_no2_cross_sect_mds
binary array[dim_0]
NO2 Cross-sections (SPA) MDS

dim_0: $num_dsr[9]
binary record "GOM_CRS_AX_MDSR_spa"size: 36213

available: $ds_available[9] != 0

bit offset: $ds_offset[9]
13crs_no3_cross_sect_mds
binary array[dim_0]
NO3 Cross-sections (SPA) MDS

dim_0: $num_dsr[10]
binary record "GOM_CRS_AX_MDSR_spa"size: 36213

available: $ds_available[10] != 0

bit offset: $ds_offset[10]
14crs_oclo_cross_sect_mds
binary array[dim_0]
OClO Cross-sections (SPA) MDS

dim_0: $num_dsr[11]
binary record "GOM_CRS_AX_MDSR_spa"size: 36213

available: $ds_available[11] != 0

bit offset: $ds_offset[11]
15crs_o2_cross_sect_mds
binary array[dim_0]
O2 Transmissions MDS

dim_0: $num_dsr[12]
binary record "GOM_CRS_AX_MDSR_trans"size: 64953

available: $ds_available[12] != 0

bit offset: $ds_offset[12]
16crs_h2o_cross_sect_mds
binary array[dim_0]
H2O Transmissions MDS

dim_0: $num_dsr[13]
binary record "GOM_CRS_AX_MDSR_trans"size: 64953

available: $ds_available[13] != 0

bit offset: $ds_offset[13]

detection rule

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

bytes(/,0,8) == "PRODUCT=" and
bytes(/,9,10) == "GOM_CRS_AX"

product variables

namesizeinitialisation
num_dsd$num_dsd = int(/mph/num_dsd)
num_ds$num_ds = 14
ds_to_dsd_index[$num_ds]$ds_to_dsd_index[0] = index(/dsd, str(./ds_name) == "CRS_O3_CROSS_SECT_SPA_GADS  ");
$ds_to_dsd_index[1] = index(/dsd, str(./ds_name) == "CRS_O3_CROSS_SECT_SPB_GADS  ");
$ds_to_dsd_index[2] = index(/dsd, str(./ds_name) == "CRS_NO2_CROSS_SECT_GADS     ");
$ds_to_dsd_index[3] = index(/dsd, str(./ds_name) == "CRS_NO3_CROSS_SECT_GADS     ");
$ds_to_dsd_index[4] = index(/dsd, str(./ds_name) == "CRS_OCLO_CROSS_SECT_GADS    ");
$ds_to_dsd_index[5] = index(/dsd, str(./ds_name) == "CRS_O2_CROSS_SECT_GADS      ");
$ds_to_dsd_index[6] = index(/dsd, str(./ds_name) == "CRS_H2O_CROSS_SECT_GADS     ");
$ds_to_dsd_index[7] = index(/dsd, str(./ds_name) == "CRS_O3_CROSS_SECT_SPA_MDS   ");
$ds_to_dsd_index[8] = index(/dsd, str(./ds_name) == "CRS_O3_CROSS_SECT_SPB_MDS   ");
$ds_to_dsd_index[9] = index(/dsd, str(./ds_name) == "CRS_NO2_CROSS_SECT_MDS      ");
$ds_to_dsd_index[10] = index(/dsd, str(./ds_name) == "CRS_NO3_CROSS_SECT_MDS      ");
$ds_to_dsd_index[11] = index(/dsd, str(./ds_name) == "CRS_OCLO_CROSS_SECT_MDS     ");
$ds_to_dsd_index[12] = index(/dsd, str(./ds_name) == "CRS_O2_CROSS_SECT_MDS       ");
$ds_to_dsd_index[13] = index(/dsd, str(./ds_name) == "CRS_H2O_CROSS_SECT_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)