IASI_SND_02 version 4

IASI_SND_02_v4

This definition is based on version 9 of the IASI Level 2 Product Format Specification (PFS) document (EUM-MIS-SPE-980760) 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
1IPR
binary array[dim_0]
dim_0: $num_ipr
binary record "IPR"size: 27
2GEADR
binary array[dim_0]
dim_0: $num_geadr
binary record "GEADR"size: 120

available: $num_geadr > 0
3GIADR
binary record "IASI_GIADR_L2_v4"
4VEADR
binary array[dim_0]
dim_0: $num_veadr
binary record "VEADR"size: 120

available: $num_veadr > 0
5MDR
binary array[dim_0]
dim_0: $num_mdr
binary union "IASI_MDR_L2_Union_v4"

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) == "IASI" and
bytes(/,661,2) == "02" and
bytes(/,1037,5) == "   11" 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_veadr$num_veadr = int(/MPHR/TOTAL_VEADR)
num_mdr$num_mdr = int(/MPHR/TOTAL_MDR)
NLT$NLT = int(/GIADR/NUM_PRESSURE_LEVELS_TEMP)
NLQ$NLQ = int(/GIADR/NUM_PRESSURE_LEVELS_HUMIDITY)
NLO$NLO = int(/GIADR/NUM_PRESSURE_LEVELS_OZONE)
NEW$NEW = int(/GIADR/NUM_SURFACE_EMISSIVITY_WAVELENGTHS)
NL_CO$NL_CO = int(/GIADR/FORLI_NUM_LAYERS_CO)
NL_HNO3$NL_HNO3 = int(/GIADR/FORLI_NUM_LAYERS_HNO3)
NL_O3$NL_O3 = int(/GIADR/FORLI_NUM_LAYERS_O3)
NL_SO2$NL_SO2 = int(/GIADR/BRESCIA_NUM_ALTITUDES_SO2)
NPCT$NPCT = int(/GIADR/NUM_TEMPERATURE_PCS)
NPCW$NPCW = int(/GIADR/NUM_WATER_VAPOUR_PCS)
NPCO$NPCO = int(/GIADR/NUM_OZONE_PCS)
NEVA_CO$NEVA_CO = ($NL_CO + 1) / 2
NEVE_CO$NEVE_CO = $NEVA_CO * $NL_CO
NEVA_HNO3$NEVA_HNO3 = ($NL_HNO3 + 1) / 2
NEVE_HNO3$NEVE_HNO3 = $NEVA_HNO3 * $NL_HNO3
NEVA_O3$NEVA_O3 = ($NL_O3 + 1) / 2
NEVE_O3$NEVE_O3 = $NEVA_O3 * $NL_O3
NERRT$NERRT = $NPCT * ($NPCT + 1) / 2
NERRW$NERRW = $NPCW * ($NPCW + 1) / 2
NERRO$NERRO = $NPCO * ($NPCO + 1) / 2
mdr_bit_size[$num_mdr]for i = 0 to $num_mdr - 1 do
$mdr_bit_size[i] = bitsize(/mdr[i])