binary record | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
This product definition is applicable if a product matches the following rule:
bytes(/,0,8) == "PRODUCT=" and bytes(/,9,10) == "MIP_NL__2P" and bytes(/,95,23) == "PO-RS-MDA-GS2009_12_4 " or bytes(/,0,8) == "PRODUCT=" and bytes(/,9,10) == "MIP_NL__2P" and bytes(/,95,23) == "PO-RS-ESA-GS-0177_5 " |
name | size | initialisation |
---|---|---|
num_dsd | $num_dsd = int(/mph/num_dsd) | |
num_ds | $num_ds = 16 | |
ds_to_dsd_index | [$num_ds] | $ds_to_dsd_index[0] = index(/dsd, str(./ds_name) == "SUMMARY QUALITY ADS "); $ds_to_dsd_index[1] = index(/dsd, str(./ds_name) == "SCAN GEOLOCATION ADS "); $ds_to_dsd_index[2] = index(/dsd, str(./ds_name) == "DATASET STRUCTURE ADS "); $ds_to_dsd_index[3] = index(/dsd, str(./ds_name) == "SCAN INFORMATION MDS "); $ds_to_dsd_index[4] = index(/dsd, str(./ds_name) == "PT RETRIEVAL MDS "); $ds_to_dsd_index[5] = index(/dsd, str(./ds_name) == "H2O RETRIEVAL MDS "); $ds_to_dsd_index[6] = index(/dsd, str(./ds_name) == "O3 RETRIEVAL MDS "); $ds_to_dsd_index[7] = index(/dsd, str(./ds_name) == "HNO3 RETRIEVAL MDS "); $ds_to_dsd_index[8] = index(/dsd, str(./ds_name) == "CH4 RETRIEVAL MDS "); $ds_to_dsd_index[9] = index(/dsd, str(./ds_name) == "N2O RETRIEVAL MDS "); $ds_to_dsd_index[10] = index(/dsd, str(./ds_name) == "NO2 RETRIEVAL MDS "); $ds_to_dsd_index[11] = index(/dsd, str(./ds_name) == "CONTINUUM AND OFFSET MDS "); $ds_to_dsd_index[12] = index(/dsd, str(./ds_name) == "PCD INFORMATION ADS "); $ds_to_dsd_index[13] = index(/dsd, str(./ds_name) == "MICROWINDOW OCCUPATION ADS "); $ds_to_dsd_index[14] = index(/dsd, str(./ds_name) == "RESIDUAL SPECTRA ADS "); $ds_to_dsd_index[15] = index(/dsd, str(./ds_name) == "PROCESSING PARAMETERS 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) |
species_count | $species_count = 6 | |
structure_info_next_index | [$num_dsr[2]] | $structure_info_next_index[$num_dsr[2] - 1] = -1; for i = $num_dsr[2] - 2 to 0 step -1 do $structure_info_next_index[i] = if(int(/dataset_structure_ads[i + 1]/ds_pointer[0]/dsr_offset) != -1, i + 1, $structure_info_next_index[i + 1]) |
structure_info_cum_num_dsr | [$num_dsr[2]] | for i = 0 to $num_dsr[2] - 1 do $structure_info_cum_num_dsr[i] = if(int(/dataset_structure_ads[i]/ds_pointer[0]/dsr_offset) == -1, if(i > 0, $structure_info_cum_num_dsr[i - 1], 0), if($structure_info_next_index[i] == -1, $num_dsr[3], if(i > 0, $structure_info_cum_num_dsr[i - 1], 0) + (int(/dataset_structure_ads[$structure_info_next_index[i]]/ds_pointer[0]/dsr_offset) - int(/dataset_structure_ads[i]/ds_pointer[0]/dsr_offset)) / int(/dataset_structure_ads[i]/ds_pointer[0]/dsr_length))) |
info_structure_index | [$num_dsr[3]] | for i = 0 to $num_dsr[3] - 1 do $info_structure_index[i] = index($structure_info_cum_num_dsr, $structure_info_cum_num_dsr > i) |
structure_pt_next_index | [$num_dsr[2]] | $structure_pt_next_index[$num_dsr[2] - 1] = -1; for i = $num_dsr[2] - 2 to 0 step -1 do $structure_pt_next_index[i] = if(int(/dataset_structure_ads[i + 1]/ds_pointer[1]/dsr_offset) != -1, i + 1, $structure_pt_next_index[i + 1]) |
structure_pt_cum_num_dsr | [$num_dsr[2]] | for i = 0 to $num_dsr[2] - 1 do $structure_pt_cum_num_dsr[i] = if(int(/dataset_structure_ads[i]/ds_pointer[1]/dsr_offset) == -1, if(i > 0, $structure_pt_cum_num_dsr[i - 1], 0), if($structure_pt_next_index[i] == -1, $num_dsr[4], if(i > 0, $structure_pt_cum_num_dsr[i - 1], 0) + (int(/dataset_structure_ads[$structure_pt_next_index[i]]/ds_pointer[1]/dsr_offset) - int(/dataset_structure_ads[i]/ds_pointer[1]/dsr_offset)) / int(/dataset_structure_ads[i]/ds_pointer[1]/dsr_length))) |
pt_structure_index | [$num_dsr[4]] | for i = 0 to $num_dsr[4] - 1 do $pt_structure_index[i] = index($structure_pt_cum_num_dsr, $structure_pt_cum_num_dsr > i) |
structure_vmr1_next_index | [$num_dsr[2]] | $structure_vmr1_next_index[$num_dsr[2] - 1] = -1; for i = $num_dsr[2] - 2 to 0 step -1 do $structure_vmr1_next_index[i] = if(int(/dataset_structure_ads[i + 1]/ds_pointer[2]/dsr_offset) != -1, i + 1, $structure_vmr1_next_index[i + 1]) |
structure_vmr1_cum_num_dsr | [$num_dsr[2]] | for i = 0 to $num_dsr[2] - 1 do $structure_vmr1_cum_num_dsr[i] = if(int(/dataset_structure_ads[i]/ds_pointer[2]/dsr_offset) == -1, if(i > 0, $structure_vmr1_cum_num_dsr[i - 1], 0), if($structure_vmr1_next_index[i] == -1, $num_dsr[5], if(i > 0, $structure_vmr1_cum_num_dsr[i - 1], 0) + (int(/dataset_structure_ads[$structure_vmr1_next_index[i]]/ds_pointer[2]/dsr_offset) - int(/dataset_structure_ads[i]/ds_pointer[2]/dsr_offset)) / int(/dataset_structure_ads[i]/ds_pointer[2]/dsr_length))) |
vmr1_structure_index | [$num_dsr[5]] | for i = 0 to $num_dsr[5] - 1 do $vmr1_structure_index[i] = index($structure_vmr1_cum_num_dsr, $structure_vmr1_cum_num_dsr > i) |
structure_vmr2_next_index | [$num_dsr[2]] | $structure_vmr2_next_index[$num_dsr[2] - 1] = -1; for i = $num_dsr[2] - 2 to 0 step -1 do $structure_vmr2_next_index[i] = if(int(/dataset_structure_ads[i + 1]/ds_pointer[3]/dsr_offset) != -1, i + 1, $structure_vmr2_next_index[i + 1]) |
structure_vmr2_cum_num_dsr | [$num_dsr[2]] | for i = 0 to $num_dsr[2] - 1 do $structure_vmr2_cum_num_dsr[i] = if(int(/dataset_structure_ads[i]/ds_pointer[3]/dsr_offset) == -1, if(i > 0, $structure_vmr2_cum_num_dsr[i - 1], 0), if($structure_vmr2_next_index[i] == -1, $num_dsr[6], if(i > 0, $structure_vmr2_cum_num_dsr[i - 1], 0) + (int(/dataset_structure_ads[$structure_vmr2_next_index[i]]/ds_pointer[3]/dsr_offset) - int(/dataset_structure_ads[i]/ds_pointer[3]/dsr_offset)) / int(/dataset_structure_ads[i]/ds_pointer[3]/dsr_length))) |
vmr2_structure_index | [$num_dsr[6]] | for i = 0 to $num_dsr[6] - 1 do $vmr2_structure_index[i] = index($structure_vmr2_cum_num_dsr, $structure_vmr2_cum_num_dsr > i) |
structure_vmr3_next_index | [$num_dsr[2]] | $structure_vmr3_next_index[$num_dsr[2] - 1] = -1; for i = $num_dsr[2] - 2 to 0 step -1 do $structure_vmr3_next_index[i] = if(int(/dataset_structure_ads[i + 1]/ds_pointer[4]/dsr_offset) != -1, i + 1, $structure_vmr3_next_index[i + 1]) |
structure_vmr3_cum_num_dsr | [$num_dsr[2]] | for i = 0 to $num_dsr[2] - 1 do $structure_vmr3_cum_num_dsr[i] = if(int(/dataset_structure_ads[i]/ds_pointer[4]/dsr_offset) == -1, if(i > 0, $structure_vmr3_cum_num_dsr[i - 1], 0), if($structure_vmr3_next_index[i] == -1, $num_dsr[7], if(i > 0, $structure_vmr3_cum_num_dsr[i - 1], 0) + (int(/dataset_structure_ads[$structure_vmr3_next_index[i]]/ds_pointer[4]/dsr_offset) - int(/dataset_structure_ads[i]/ds_pointer[4]/dsr_offset)) / int(/dataset_structure_ads[i]/ds_pointer[4]/dsr_length))) |
vmr3_structure_index | [$num_dsr[7]] | for i = 0 to $num_dsr[7] - 1 do $vmr3_structure_index[i] = index($structure_vmr3_cum_num_dsr, $structure_vmr3_cum_num_dsr > i) |
structure_vmr4_next_index | [$num_dsr[2]] | $structure_vmr4_next_index[$num_dsr[2] - 1] = -1; for i = $num_dsr[2] - 2 to 0 step -1 do $structure_vmr4_next_index[i] = if(int(/dataset_structure_ads[i + 1]/ds_pointer[5]/dsr_offset) != -1, i + 1, $structure_vmr4_next_index[i + 1]) |
structure_vmr4_cum_num_dsr | [$num_dsr[2]] | for i = 0 to $num_dsr[2] - 1 do $structure_vmr4_cum_num_dsr[i] = if(int(/dataset_structure_ads[i]/ds_pointer[5]/dsr_offset) == -1, if(i > 0, $structure_vmr4_cum_num_dsr[i - 1], 0), if($structure_vmr4_next_index[i] == -1, $num_dsr[8], if(i > 0, $structure_vmr4_cum_num_dsr[i - 1], 0) + (int(/dataset_structure_ads[$structure_vmr4_next_index[i]]/ds_pointer[5]/dsr_offset) - int(/dataset_structure_ads[i]/ds_pointer[5]/dsr_offset)) / int(/dataset_structure_ads[i]/ds_pointer[5]/dsr_length))) |
vmr4_structure_index | [$num_dsr[8]] | for i = 0 to $num_dsr[8] - 1 do $vmr4_structure_index[i] = index($structure_vmr4_cum_num_dsr, $structure_vmr4_cum_num_dsr > i) |
structure_vmr5_next_index | [$num_dsr[2]] | $structure_vmr5_next_index[$num_dsr[2] - 1] = -1; for i = $num_dsr[2] - 2 to 0 step -1 do $structure_vmr5_next_index[i] = if(int(/dataset_structure_ads[i + 1]/ds_pointer[6]/dsr_offset) != -1, i + 1, $structure_vmr5_next_index[i + 1]) |
structure_vmr5_cum_num_dsr | [$num_dsr[2]] | for i = 0 to $num_dsr[2] - 1 do $structure_vmr5_cum_num_dsr[i] = if(int(/dataset_structure_ads[i]/ds_pointer[6]/dsr_offset) == -1, if(i > 0, $structure_vmr5_cum_num_dsr[i - 1], 0), if($structure_vmr5_next_index[i] == -1, $num_dsr[9], if(i > 0, $structure_vmr5_cum_num_dsr[i - 1], 0) + (int(/dataset_structure_ads[$structure_vmr5_next_index[i]]/ds_pointer[6]/dsr_offset) - int(/dataset_structure_ads[i]/ds_pointer[6]/dsr_offset)) / int(/dataset_structure_ads[i]/ds_pointer[6]/dsr_length))) |
vmr5_structure_index | [$num_dsr[9]] | for i = 0 to $num_dsr[9] - 1 do $vmr5_structure_index[i] = index($structure_vmr5_cum_num_dsr, $structure_vmr5_cum_num_dsr > i) |
structure_vmr6_next_index | [$num_dsr[2]] | $structure_vmr6_next_index[$num_dsr[2] - 1] = -1; for i = $num_dsr[2] - 2 to 0 step -1 do $structure_vmr6_next_index[i] = if(int(/dataset_structure_ads[i + 1]/ds_pointer[7]/dsr_offset) != -1, i + 1, $structure_vmr6_next_index[i + 1]) |
structure_vmr6_cum_num_dsr | [$num_dsr[2]] | for i = 0 to $num_dsr[2] - 1 do $structure_vmr6_cum_num_dsr[i] = if(int(/dataset_structure_ads[i]/ds_pointer[7]/dsr_offset) == -1, if(i > 0, $structure_vmr6_cum_num_dsr[i - 1], 0), if($structure_vmr6_next_index[i] == -1, $num_dsr[10], if(i > 0, $structure_vmr6_cum_num_dsr[i - 1], 0) + (int(/dataset_structure_ads[$structure_vmr6_next_index[i]]/ds_pointer[7]/dsr_offset) - int(/dataset_structure_ads[i]/ds_pointer[7]/dsr_offset)) / int(/dataset_structure_ads[i]/ds_pointer[7]/dsr_length))) |
vmr6_structure_index | [$num_dsr[10]] | for i = 0 to $num_dsr[10] - 1 do $vmr6_structure_index[i] = index($structure_vmr6_cum_num_dsr, $structure_vmr6_cum_num_dsr > i) |
structure_cont_next_index | [$num_dsr[2]] | $structure_cont_next_index[$num_dsr[2] - 1] = -1; for i = $num_dsr[2] - 2 to 0 step -1 do $structure_cont_next_index[i] = if(int(/dataset_structure_ads[i + 1]/ds_pointer[8]/dsr_offset) != -1, i + 1, $structure_cont_next_index[i + 1]) |
structure_cont_cum_num_dsr | [$num_dsr[2]] | for i = 0 to $num_dsr[2] - 1 do $structure_cont_cum_num_dsr[i] = if(int(/dataset_structure_ads[i]/ds_pointer[8]/dsr_offset) == -1, if(i > 0, $structure_cont_cum_num_dsr[i - 1], 0), if($structure_cont_next_index[i] == -1, $num_dsr[11], if(i > 0, $structure_cont_cum_num_dsr[i - 1], 0) + (int(/dataset_structure_ads[$structure_cont_next_index[i]]/ds_pointer[8]/dsr_offset) - int(/dataset_structure_ads[i]/ds_pointer[8]/dsr_offset)) / int(/dataset_structure_ads[i]/ds_pointer[8]/dsr_length))) |
cont_structure_index | [$num_dsr[11]] | for i = 0 to $num_dsr[11] - 1 do $cont_structure_index[i] = index($structure_cont_cum_num_dsr, $structure_cont_cum_num_dsr > i) |
structure_pcd_next_index | [$num_dsr[2]] | $structure_pcd_next_index[$num_dsr[2] - 1] = -1; for i = $num_dsr[2] - 2 to 0 step -1 do $structure_pcd_next_index[i] = if(int(/dataset_structure_ads[i + 1]/ds_pointer[9]/dsr_offset) != -1, i + 1, $structure_pcd_next_index[i + 1]) |
structure_pcd_cum_num_dsr | [$num_dsr[2]] | for i = 0 to $num_dsr[2] - 1 do $structure_pcd_cum_num_dsr[i] = if(int(/dataset_structure_ads[i]/ds_pointer[9]/dsr_offset) == -1, if(i > 0, $structure_pcd_cum_num_dsr[i - 1], 0), if($structure_pcd_next_index[i] == -1, $num_dsr[12], if(i > 0, $structure_pcd_cum_num_dsr[i - 1], 0) + (int(/dataset_structure_ads[$structure_pcd_next_index[i]]/ds_pointer[9]/dsr_offset) - int(/dataset_structure_ads[i]/ds_pointer[9]/dsr_offset)) / int(/dataset_structure_ads[i]/ds_pointer[9]/dsr_length))) |
pcd_structure_index | [$num_dsr[12]] | for i = 0 to $num_dsr[12] - 1 do $pcd_structure_index[i] = index($structure_pcd_cum_num_dsr, $structure_pcd_cum_num_dsr > i) |
structure_mw_next_index | [$num_dsr[2]] | $structure_mw_next_index[$num_dsr[2] - 1] = -1; for i = $num_dsr[2] - 2 to 0 step -1 do $structure_mw_next_index[i] = if(int(/dataset_structure_ads[i + 1]/ds_pointer[10]/dsr_offset) != -1, i + 1, $structure_mw_next_index[i + 1]) |
structure_mw_cum_num_dsr | [$num_dsr[2]] | for i = 0 to $num_dsr[2] - 1 do $structure_mw_cum_num_dsr[i] = if(int(/dataset_structure_ads[i]/ds_pointer[10]/dsr_offset) == -1, if(i > 0, $structure_mw_cum_num_dsr[i - 1], 0), if($structure_mw_next_index[i] == -1, $num_dsr[13], if(i > 0, $structure_mw_cum_num_dsr[i - 1], 0) + (int(/dataset_structure_ads[$structure_mw_next_index[i]]/ds_pointer[10]/dsr_offset) - int(/dataset_structure_ads[i]/ds_pointer[10]/dsr_offset)) / int(/dataset_structure_ads[i]/ds_pointer[10]/dsr_length))) |
mw_structure_index | [$num_dsr[13]] | for i = 0 to $num_dsr[13] - 1 do $mw_structure_index[i] = index($structure_mw_cum_num_dsr, $structure_mw_cum_num_dsr > i) |
structure_res_next_index | [$num_dsr[2]] | $structure_res_next_index[$num_dsr[2] - 1] = -1; for i = $num_dsr[2] - 2 to 0 step -1 do $structure_res_next_index[i] = if(int(/dataset_structure_ads[i + 1]/ds_pointer[11]/dsr_offset) != -1, i + 1, $structure_res_next_index[i + 1]) |
structure_res_cum_num_dsr | [$num_dsr[2]] | for i = 0 to $num_dsr[2] - 1 do $structure_res_cum_num_dsr[i] = if(int(/dataset_structure_ads[i]/ds_pointer[11]/dsr_offset) == -1, if(i > 0, $structure_res_cum_num_dsr[i - 1], 0), if($structure_res_next_index[i] == -1, $num_dsr[14], if(i > 0, $structure_res_cum_num_dsr[i - 1], 0) + (int(/dataset_structure_ads[$structure_res_next_index[i]]/ds_pointer[11]/dsr_offset) - int(/dataset_structure_ads[i]/ds_pointer[11]/dsr_offset)) / int(/dataset_structure_ads[i]/ds_pointer[11]/dsr_length))) |
res_structure_index | [$num_dsr[14]] | for i = 0 to $num_dsr[14] - 1 do $res_structure_index[i] = index($structure_res_cum_num_dsr, $structure_res_cum_num_dsr > i) |
structure_param_next_index | [$num_dsr[2]] | $structure_param_next_index[$num_dsr[2] - 1] = -1; for i = $num_dsr[2] - 2 to 0 step -1 do $structure_param_next_index[i] = if(int(/dataset_structure_ads[i + 1]/ds_pointer[12]/dsr_offset) != -1, i + 1, $structure_param_next_index[i + 1]) |
structure_param_cum_num_dsr | [$num_dsr[2]] | for i = 0 to $num_dsr[2] - 1 do $structure_param_cum_num_dsr[i] = if(int(/dataset_structure_ads[i]/ds_pointer[12]/dsr_offset) == -1, if(i > 0, $structure_param_cum_num_dsr[i - 1], 0), if($structure_param_next_index[i] == -1, $num_dsr[15], if(i > 0, $structure_param_cum_num_dsr[i - 1], 0) + (int(/dataset_structure_ads[$structure_param_next_index[i]]/ds_pointer[12]/dsr_offset) - int(/dataset_structure_ads[i]/ds_pointer[12]/dsr_offset)) / int(/dataset_structure_ads[i]/ds_pointer[12]/dsr_length))) |
param_structure_index | [$num_dsr[15]] | for i = 0 to $num_dsr[15] - 1 do $param_structure_index[i] = index($structure_param_cum_num_dsr, $structure_param_cum_num_dsr > i) |