GOM_LIM_1P version 1

GOM_LIM_1P_v1

root type

binary record
idfield namedefinition
0mph
ascii record "MPH"size: 1247
1sph
ascii record "GOM_TRA_LIM_1P_SPH"size: 696
2dsd
ascii array[dim_0]
dim_0: $num_dsd
ascii record "DSD"size: 280
3lim_summary_quality
binary array[dim_0]
Summary Quality GADS

dim_0: $num_dsr[0]
binary record "GOM_TRA_LIM_1P_GADS_summary_quality_v1"size: 76

available: $ds_available[0] != 0

bit offset: $ds_offset[0]
4lim_occultation_data
binary array[dim_0]
Occultation GADS

dim_0: $num_dsr[1]
binary record "GOM_LIM_1P_GADS_occultation_data_v1"size: 1053

available: $ds_available[1] != 0

bit offset: $ds_offset[1]
5lim_nom_wav_assignment
binary array[dim_0]
Nominal wavelength GADS

dim_0: $num_dsr[2]
binary record "GOM_TRA_LIM_1P_GADS_nominal_wavelength_assignment"size: 9408

available: $ds_available[2] != 0

bit offset: $ds_offset[2]
6lim_mds
binary array[dim_0]
Limb MDS

dim_0: $num_dsr[3]
binary record "GOM_LIM_1P_MDSR_limb_v1"size: 28045

available: $ds_available[3] != 0

bit offset: $ds_offset[3]
7lim_ads
binary array[dim_0]
Limb ADS

dim_0: $num_dsr[4]
binary record "GOM_LIM_1P_ADSR_limb_v1"size: 133

available: $ds_available[4] != 0

bit offset: $ds_offset[4]

detection rule

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

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

or

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

or

bytes(/,0,8) == "PRODUCT=" and
bytes(/,9,10) == "GOM_LIM_1P" 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 = 5
ds_to_dsd_index[$num_ds]$ds_to_dsd_index[0] = index(/dsd, str(./ds_name) == "LIM_SUMMARY_QUALITY         ");
$ds_to_dsd_index[1] = index(/dsd, str(./ds_name) == "LIM_OCCULTATION_DATA        ");
$ds_to_dsd_index[2] = index(/dsd, str(./ds_name) == "LIM_NOM_WAV_ASSIGNMENT      ");
$ds_to_dsd_index[3] = index(/dsd, str(./ds_name) == "LIM_MDS                     ");
$ds_to_dsd_index[4] = index(/dsd, str(./ds_name) == "LIM_ADS                     ")
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)