GOM_CAL_AX version 1

GOM_CAL_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
3cal_general
binary array[dim_0]
General GADS

dim_0: $num_dsr[0]
binary record "GOM_CAL_AX_GADS_general_v1"size: 14322

available: $ds_available[0] != 0

bit offset: $ds_offset[0]
4cal_bad_pixel
binary array[dim_0]
Bad pixel GADS

dim_0: $num_dsr[1]
binary record "GOM_CAL_AX_GADS_bad_pixels_map"size: 1670

available: $ds_available[1] != 0

bit offset: $ds_offset[1]
5cal_non_linearity
binary array[dim_0]
Non-linearity GADS

dim_0: $num_dsr[2]
binary record "GOM_CAL_AX_GADS_nonlinearity_v1"size: 147620

available: $ds_available[2] != 0

bit offset: $ds_offset[2]
6cal_fp_dark_charge
binary array[dim_0]
Dark charge maps GADS

dim_0: $num_dsr[3]
binary record "GOM_CAL_AX_GADS_dark_charge_maps_v1"size: 68895

available: $ds_available[3] != 0

bit offset: $ds_offset[3]
7cal_fp_prnu
binary array[dim_0]
Non-uniformity maps GADS

dim_0: $num_dsr[4]
binary record "GOM_CAL_AX_GADS_non_uniformity_maps_v1"size: 68037

available: $ds_available[4] != 0

bit offset: $ds_offset[4]
8cal_fp_straylight
binary array[dim_0]
Straylight maps GADS

dim_0: $num_dsr[5]
binary record "GOM_CAL_AX_GADS_straylight"size: 34238

available: $ds_available[5] != 0

bit offset: $ds_offset[5]
9cal_instrument_noise
binary array[dim_0]
Instrument noise GADS

dim_0: $num_dsr[6]
binary record "GOM_CAL_AX_GADS_instrument_noise_v1"size: 7048

available: $ds_available[6] != 0

bit offset: $ds_offset[6]
10cal_sp_dark_charge
binary array[dim_0]
Dark Charge maps MDS

dim_0: $num_dsr[7]
binary record "GOM_CAL_AX_MDSR_dark_charge_maps"size: 32517

available: $ds_available[7] != 0

bit offset: $ds_offset[7]
11cal_sp_prnu
binary array[dim_0]
Non-uniformity maps MDS

dim_0: $num_dsr[8]
binary record "GOM_CAL_AX_MDSR_non_uniformity_maps"size: 10869

available: $ds_available[8] != 0

bit offset: $ds_offset[8]
12cal_sun_straylight
binary array[dim_0]
Sun straylight maps MDS

dim_0: $num_dsr[9]
binary record "GOM_CAL_AX_MDSR_sunstray"size: 34241

available: $ds_available[9] != 0

bit offset: $ds_offset[9]
13cal_earth_straylight
binary array[dim_0]
Earth straylight maps MDS

dim_0: $num_dsr[10]
binary record "GOM_CAL_AX_MDSR_earthstray"size: 34241

available: $ds_available[10] != 0

bit offset: $ds_offset[10]

detection rule

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

bytes(/,0,8) == "PRODUCT=" and
bytes(/,9,10) == "GOM_CAL_AX" and
bytes(/,95,21) == "PO-RS-ACR-GS-0003_6/0"

or

bytes(/,0,8) == "PRODUCT=" and
bytes(/,9,10) == "GOM_CAL_AX" and
bytes(/,95,22) == "PO-RS-MDA-GS2009_10_3I"

or

bytes(/,0,8) == "PRODUCT=" and
bytes(/,9,10) == "GOM_CAL_AX" and
bytes(/,95,23) == "PO-RS-MDA-GS-2009_3/J  "

product variables

namesizeinitialisation
num_dsd$num_dsd = int(/mph/num_dsd)
num_ds$num_ds = 11
ds_to_dsd_index[$num_ds]$ds_to_dsd_index[0] = index(/dsd, str(./ds_name) == "CAL_GENERAL                 ");
$ds_to_dsd_index[1] = index(/dsd, str(./ds_name) == "CAL_BAD_PIXEL               ");
$ds_to_dsd_index[2] = index(/dsd, str(./ds_name) == "CAL_NON_LINEARITY           ");
$ds_to_dsd_index[3] = index(/dsd, str(./ds_name) == "CAL_FP_DARK_CHARGE          ");
$ds_to_dsd_index[4] = index(/dsd, str(./ds_name) == "CAL_FP_PRNU                 ");
$ds_to_dsd_index[5] = index(/dsd, str(./ds_name) == "CAL_FP_STRAYLIGHT           ");
$ds_to_dsd_index[6] = index(/dsd, str(./ds_name) == "CAL_INSTRUMENT_NOISE        ");
$ds_to_dsd_index[7] = index(/dsd, str(./ds_name) == "CAL_SP_DARK_CHARGE          ");
$ds_to_dsd_index[8] = index(/dsd, str(./ds_name) == "CAL_SP_PRNU                 ");
$ds_to_dsd_index[9] = index(/dsd, str(./ds_name) == "CAL_SUN_STRAYLIGHT          ");
$ds_to_dsd_index[10] = index(/dsd, str(./ds_name) == "CAL_EARTH_STRAYLIGHT        ")
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)