GOME_xxx_1B version 12

GOME_xxx_1B_v12

This definition is based on version 9 of the GOME-2 Level 1 Product Format Specification (PFS) document (EPS-MIS-SPE-97232) and version 7D of the EPS Generic Product Format Specification (GPFS) document (EPS-GGS-SPE-096167).

root type

binary record
idfield namedefinition
0MPHR
binary record "MPHR_v2"size: 3307
1SPHR
binary record "GOME2_SPHR_v2"size: 3654
2IPR
binary array[dim_0]
dim_0: $num_ipr
binary record "IPR"size: 27
3GEADR
binary array[dim_0]
dim_0: $num_geadr
binary record "GEADR"size: 120

available: $num_geadr > 0
4GIADR_Channels
binary array[dim_0]
dim_0: $num_giadr_channels
binary record "GOME2_GIADR_L1_Channels_v3"size: 99
5GIADR_Bands
binary array[dim_0]
dim_0: $num_giadr_bands
binary record "GOME2_GIADR_L1B_Bands_v2"size: 160
6GIADR_Steps
binary array[dim_0]
dim_0: $num_giadr_steps
binary record "GOME2_GIADR_L1B_Steps"size: 620
7GIADR_PMDBandDef
binary array[dim_0]
dim_0: $num_giadr_pmdbanddef
binary record "GOME2_GIADR_L1B_PMDBandDef"size: 260
8VEADR
binary array[dim_0]
dim_0: $num_veadr
binary record "VEADR"size: 120

available: $num_veadr > 0
9VIADR_SMR
binary array[dim_0]
dim_0: $num_viadr_smr
binary record "GOME2_VIADR_L1_SMR_v1"size: 116779
10MDR
binary array[dim_0]
dim_0: $num_mdr
binary union "GOME2_MDR_L1B_v5"

detection rule

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

bytes(/,0,8) == "\001\000\000\002\000\000\f\353" and
bytes(/,20,32) == "PRODUCT_NAME                  = " and
bytes(/,552,4) == "GOME" and
bytes(/,661,2) == "1B" and
bytes(/,3305,1) == "F" and
bytes(/,1037,5) == "   12" and
bytes(/,1075,5) == "    0"

product variables

namesizeinitialisation
num_ipr$num_ipr = int(/MPHR/TOTAL_IPR)
num_geadr$num_geadr = int(/MPHR/TOTAL_GEADR)
num_giadr_channels$num_giadr_channels = unboundindex(/GIADR_Channels, int(./RECORD_HEADER/RECORD_SUBCLASS) != 4)
num_giadr_bands$num_giadr_bands = unboundindex(/GIADR_Bands, int(./RECORD_HEADER/RECORD_SUBCLASS) != 5)
num_giadr_steps$num_giadr_steps = unboundindex(/GIADR_Steps, int(./RECORD_HEADER/RECORD_SUBCLASS) != 6)
num_giadr_pmdbanddef$num_giadr_pmdbanddef = unboundindex(/GIADR_PMDBandDef, int(./RECORD_HEADER/RECORD_SUBCLASS) != 7)
num_veadr$num_veadr = int(/MPHR/TOTAL_VEADR)
num_viadr_smr$num_viadr_smr = int(/MPHR/TOTAL_VIADR)
num_mdr$num_mdr = int(/MPHR/TOTAL_MDR)
mdr_bit_size[$num_mdr]for i = 0 to $num_mdr - 1 do
$mdr_bit_size[i] = bitsize(/mdr[i])