ALD_U_N_2A version 9

ALD_U_N_2A_03_13

This definition is based on version 3.13 of IODD AED-SD-DoRIT-L2A-025

root type

binary record
Level 2A Product

idfield namedefinition
0mph
ascii record "MPH_v3"size: 1247
1sph
ascii record "Level_2A_SPH_03_12"size: 548
2dsd
ascii array[dim_0]
dim_0: $num_dsd
ascii record "DSD"size: 288
3geolocation
binary array[dim_0]
Geolocation data

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

available: $ds_available[0] != 0

bit offset: $ds_offset[0]
4meas_pcd
binary array[dim_0]
L1B, CAL and CLM input screening quality control

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

available: $ds_available[1] != 0

bit offset: $ds_offset[1]
5sca_pcd
binary array[dim_0]
PCD of SCA products

dim_0: $num_dsr[2]
binary record "Level_2A_SCA_PCD_ADSR_03_13"size: 2389

available: $ds_available[2] != 0

bit offset: $ds_offset[2]
6sca_mle_pcd
binary array[dim_0]
PCD of SCA-MLE products

dim_0: $num_dsr[3]
binary record "Level_2A_SCA_MLE_PCD_ADSR_03_13"size: 20589

available: $ds_available[3] != 0

bit offset: $ds_offset[3]
7ael_pro_pcd
binary array[dim_0]
PCD of AEL-PRO products

dim_0: $num_dsr[4]
binary record "Level_2A_AEL_PRO_PCD_ADSR_03_13"

available: $ds_available[4] != 0

bit offset: $ds_offset[4]
8ica_pcd
binary array[dim_0]
PCD of ICA products

dim_0: $num_dsr[5]
binary record "Level_2A_ICA_PCD_ADSR_03_02"size: 38

available: $ds_available[5] != 0

bit offset: $ds_offset[5]
9mca_pcd
binary array[dim_0]
PCD of MCA products

dim_0: $num_dsr[6]
binary record "Level_2A_MCA_PCD_ADSR_03_02"size: 36

available: $ds_available[6] != 0

bit offset: $ds_offset[6]
10amd_pcd
binary array[dim_0]
PCD of AMD input screening

dim_0: $num_dsr[7]
binary record "Level_2A_AMD_PCD_ADSR_03_02"

available: $ds_available[7] != 0

bit offset: $ds_offset[7]
11group_pcd
binary array[dim_0]
PCD of processing of all algorithms

dim_0: $num_dsr[8]
binary record "Level_2A_Group_PCD_ADSR_03_05"size: 109

available: $ds_available[8] != 0

bit offset: $ds_offset[8]
12sca_optical_properties
binary array[dim_0]
SCA products

dim_0: $num_dsr[9]
binary record "Level_2A_SCA_Opt_MDSR_03_13"

available: $ds_available[9] != 0

bit offset: $ds_offset[9]
13sca_mle_opt_properties
binary array[dim_0]
SCA-MLE products

dim_0: $num_dsr[10]
binary record "Level_2A_SCA_MLE_Opt_MDSR_03_13"size: 1364

available: $ds_available[10] != 0

bit offset: $ds_offset[10]
14ael_pro_opt_properties
binary array[dim_0]
AEL-PRO products

dim_0: $num_dsr[11]
binary record "Level_2A_AEL_PRO_Opt_MDSR_03_13"

available: $ds_available[11] != 0

bit offset: $ds_offset[11]
15ica_optical_properties
binary array[dim_0]
ICA products

dim_0: $num_dsr[12]
binary record "Level_2A_ICA_Opt_MDSR_03_02"size: 612

available: $ds_available[12] != 0

bit offset: $ds_offset[12]
16mca_optical_properties
binary array[dim_0]
MCA products

dim_0: $num_dsr[13]
binary record "Level_2A_MCA_Opt_MDSR_03_02"size: 588

available: $ds_available[13] != 0

bit offset: $ds_offset[13]
17amd
binary array[dim_0]
Atmospherice, molecular data computed from MET files

dim_0: $num_dsr[14]
binary record "Level_2A_AMD_MDSR_03_02"size: 1836

available: $ds_available[14] != 0

bit offset: $ds_offset[14]
18group_optical_properties
binary array[dim_0]
Group level products

dim_0: $num_dsr[15]
binary record "Level_2A_Group_Opt_MDSR_03_02"size: 157

available: $ds_available[15] != 0

bit offset: $ds_offset[15]
19scene_classification
binary array[dim_0]
Scene classification data

dim_0: $num_dsr[16]
binary record "Level_2A_Scene_Classification_ADSR_03_02"size: 24

available: $ds_available[16] != 0

bit offset: $ds_offset[16]
20feature_mask
binary array[dim_0]
Feature mask annotation data

dim_0: $num_dsr[17]
binary record "Level_2A_Feature_Mask_ADSR_03_13"

available: $ds_available[17] != 0

bit offset: $ds_offset[17]
21msp_atb
binary array[dim_0]
Attenuated backscatter signals derived from MSP data

dim_0: $num_dsr[18]
binary record "Level_2A_MSP_ATB_ADSR_03_13"

available: $ds_available[18] != 0

bit offset: $ds_offset[18]

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_2A" and
bytes(/,95,23) == "SD-DoRIT-L2A-025  03.13"

product variables

namesizeinitialisation
num_dsd$num_dsd = int(/mph/num_dsd)
num_ds$num_ds = 19
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) == "Meas_PCD_ADS                ");
$ds_to_dsd_index[2] = index(/dsd, str(./ds_name) == "SCA_PCD_ADS                 ");
$ds_to_dsd_index[3] = index(/dsd, str(./ds_name) == "SCA_MLE_PCD_ADS             ");
$ds_to_dsd_index[4] = index(/dsd, str(./ds_name) == "AEL_PRO_PCD_ADS             ");
$ds_to_dsd_index[5] = index(/dsd, str(./ds_name) == "ICA_PCD_ADS                 ");
$ds_to_dsd_index[6] = index(/dsd, str(./ds_name) == "MCA_PCD_ADS                 ");
$ds_to_dsd_index[7] = index(/dsd, str(./ds_name) == "AMD_PCD_ADS                 ");
$ds_to_dsd_index[8] = index(/dsd, str(./ds_name) == "Group_PCD_ADS               ");
$ds_to_dsd_index[9] = index(/dsd, str(./ds_name) == "SCA_Optical_Properties_MDS  ");
$ds_to_dsd_index[10] = index(/dsd, str(./ds_name) == "SCA_MLE_MDS                 ");
$ds_to_dsd_index[11] = index(/dsd, str(./ds_name) == "AEL_PRO_Opt_Properties_MDS  ");
$ds_to_dsd_index[12] = index(/dsd, str(./ds_name) == "ICA_Optical_Properties_MDS  ");
$ds_to_dsd_index[13] = index(/dsd, str(./ds_name) == "MCA_Optical_Properties_MDS  ");
$ds_to_dsd_index[14] = index(/dsd, str(./ds_name) == "AMD_ADS                     ");
$ds_to_dsd_index[15] = index(/dsd, str(./ds_name) == "Group_Optical_Properties_MDS");
$ds_to_dsd_index[16] = index(/dsd, str(./ds_name) == "Scene_Classification_ADS    ");
$ds_to_dsd_index[17] = index(/dsd, str(./ds_name) == "Feature_Mask_ADS            ");
$ds_to_dsd_index[18] = index(/dsd, str(./ds_name) == "MSP_ATB_ADS                 ")
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)
num_meas_max_brc$num_meas_max_brc = int(/sph/num_meas_max_brc)