MIP_NL__1P version 0

MIP_NL__1P_v0

root type

binary record
idfield namedefinition
0mph
ascii record "MPH"size: 1247
1sph
ascii record "MIP_NL__1P_SPH_v0"size: 1160
2dsd
ascii array[dim_0]
dim_0: $num_dsd
ascii record "DSD"size: 280
3summary_quality_ads
binary array[dim_0]
Summary Quality ADS

dim_0: $num_dsr[0]
binary record "MIP_NL__1P_ADSR_summary_quality_v0"size: 57

available: $ds_available[0] != 0

bit offset: $ds_offset[0]
4geolocation_ads
binary array[dim_0]
Geolocation ADS

dim_0: $num_dsr[1]
binary record "MIP_NL__1P_ADSR_geolocation"size: 69

available: $ds_available[1] != 0

bit offset: $ds_offset[1]
5structure_ads
binary array[dim_0]
Structure ADS

dim_0: $num_dsr[2]
binary record "MIP_NL__1P_ADSR_structure"size: 50

available: $ds_available[2] != 0

bit offset: $ds_offset[2]
6mipas_level_1b_mds
binary array[dim_0]
Calibrated Spectra MDS

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

available: $ds_available[3] != 0

bit offset: $ds_offset[3]
7scan_information_ads
binary array[dim_0]
Scan Information ADS

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

available: $ds_available[4] != 0

bit offset: $ds_offset[4]
8offset_calibration_ads
binary array[dim_0]
Offset Calibration ADS

dim_0: $num_dsr[5]
binary record "MIP_NL__1P_ADSR_off"

available: $ds_available[5] != 0

bit offset: $ds_offset[5]
9gain_calibration_ads_1
binary array[dim_0]
Gain Calibration ADS #1

dim_0: $num_dsr[6]
binary record "MIP_NL__1P_ADSR_gain1"

available: $ds_available[6] != 0

bit offset: $ds_offset[6]
10gain_calibration_ads_2
binary array[dim_0]
Gain Calibration ADS #2

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

available: $ds_available[7] != 0

bit offset: $ds_offset[7]
11ils_spectral_cal_gads
binary array[dim_0]
Instrument Line Shape (ILS) / Spectral Calibration Data (1 MDSR)

dim_0: $num_dsr[8]
binary record "MIP_CS1_AX_MDSR_v0"

available: $ds_available[8] != 0

bit offset: $ds_offset[8]
12los_calibration_gads
binary array[dim_0]
Line-Of-Sight Calibration Data (1 MDSR)

dim_0: $num_dsr[9]
binary record "MIP_CL1_AX_MDSR"size: 175

available: $ds_available[9] != 0

bit offset: $ds_offset[9]
13process_parameters_gads
binary array[dim_0]
Processing Parameters GADS

dim_0: $num_dsr[10]
binary record "MIP_PS1_AX_MDSR_v0"

available: $ds_available[10] != 0

bit offset: $ds_offset[10]

detection rule

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

bytes(/,0,8) == "PRODUCT=" and
bytes(/,9,10) == "MIP_NL__1P" and
bytes(/,95,23) == "PO-RS-MDA-GS2009_12_3I "

or

bytes(/,0,8) == "PRODUCT=" and
bytes(/,9,10) == "MIP_NL__1P" and
bytes(/,95,23) == "PO-RS-MDA-GS2009_12_3H "

or

bytes(/,0,8) == "PRODUCT=" and
bytes(/,9,10) == "MIP_NL__1P" and
bytes(/,95,23) == "PO-RS-MDA-GS2009_06_3C "

or

bytes(/,0,8) == "PRODUCT=" and
bytes(/,9,10) == "MIP_NL__1P" and
bytes(/,95,23) == "UNDEFINED              "

product variables

namesizeinitialisation
num_dsd$num_dsd = int(/mph/num_dsd)
num_ds$num_ds = 11
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) == "GEOLOCATION ADS             ");
$ds_to_dsd_index[2] = index(/dsd, str(./ds_name) == "STRUCTURE ADS               ");
$ds_to_dsd_index[3] = index(/dsd, str(./ds_name) == "MIPAS LEVEL-1B MDS          ");
$ds_to_dsd_index[4] = index(/dsd, str(./ds_name) == "SCAN INFORMATION ADS        ");
$ds_to_dsd_index[5] = index(/dsd, str(./ds_name) == "OFFSET CALIBRATION ADS      ");
$ds_to_dsd_index[6] = index(/dsd, str(./ds_name) == "GAIN CALIBRATION ADS#1      ");
$ds_to_dsd_index[7] = index(/dsd, str(./ds_name) == "GAIN CALIBRATION ADS#2      ");
$ds_to_dsd_index[8] = index(/dsd, str(./ds_name) == "ILS/SPECTRAL CAL GADS       ");
$ds_to_dsd_index[9] = index(/dsd, str(./ds_name) == "LOS CALIBRATION GADS        ");
$ds_to_dsd_index[10] = index(/dsd, str(./ds_name) == "PROCESS PARAMETERS GADS     ")
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" or bytes(/dsd[$ds_to_dsd_index[i]]/filename,7) == "MISSING"), 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)