ALD_U_N_2B version 0

ALD_U_N_2B_01_32

This definition is based on version 1.32 of IODD AE-IF-ECMWF-L2BP-0001

root type

binary record
Level 2B Product

idfield namedefinition
0mph
ascii record "MPH_v1"size: 1247
1sph
ascii record "Level_2B_SPH_01_32"size: 1417
2dsd
ascii array[dim_0]
dim_0: $num_dsd
ascii record "DSD"size: 288
3geolocation
binary array[dim_0]
Geolocation and AOCS

dim_0: $num_dsr[0]
binary record "Level_2BC_Geolocation_ADSR_01_32"

available: $ds_available[0] != 0

bit offset: $ds_offset[0]
4product_confidence_data
binary array[dim_0]
Product Confidence Data

dim_0: $num_dsr[1]
binary record "Level_2BC_PCD_ADSR_01_32"

available: $ds_available[1] != 0

bit offset: $ds_offset[1]
5mie_hloswind
binary array[dim_0]
Mie HLOS winds

dim_0: $num_dsr[2]
binary record "Level_2BC_Mie_HLOSWind_MDSR_01_32"

available: $ds_available[2] != 0

bit offset: $ds_offset[2]
6rayleigh_hloswind
binary array[dim_0]
Rayleigh HLOS winds

dim_0: $num_dsr[3]
binary record "Level_2BC_Rayleigh_HLOSWind_MDSR_01_32"

available: $ds_available[3] != 0

bit offset: $ds_offset[3]

detection rule

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

bytes(/,0,12) == "PRODUCT=\"AE_" and
bytes(/,17,10) == "ALD_U_N_2B" and
bytes(/,95,23) == "L2B/L2C IODD Iss. 01.32"

or

bytes(/,0,12) == "PRODUCT=\"AE_" and
bytes(/,17,10) == "ALD_U_N_2B" and
bytes(/,95,23) == "L2B/L2C IODD Iss. 01.40"

product variables

namesizeinitialisation
num_dsd$num_dsd = int(/mph/num_dsd)
num_ds$num_ds = 4
ds_to_dsd_index[$num_ds]$ds_to_dsd_index[0] = index(/dsd, str(./ds_name) == "Geolocation_ADS             ");
$ds_to_dsd_index[1] = index(/dsd, str(./ds_name) == "Product_Confidence_Data_ADS ");
$ds_to_dsd_index[2] = index(/dsd, str(./ds_name) == "Mie_HLOSwind_MDS            ");
$ds_to_dsd_index[3] = index(/dsd, str(./ds_name) == "Rayleigh_HLOSwind_MDS       ")
ds_available[$num_ds]for i = 0 to $num_ds - 1 do
$ds_available[i] = if($ds_to_dsd_index[i] != -1 and int(/dsd[$ds_to_dsd_index[i]]/ds_size) != 0, 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)