SCI_NLC_1P version 0

SCI_NLC_1P_v0

root type

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

dim_0: $num_dsr[0]
binary record "SCI_NL__1P_ADSR_summary_quality"size: 182

available: $ds_available[0] != 0

bit offset: $ds_offset[0]
4geolocation
binary array[dim_0]
Geolocation of the States ADSR

dim_0: $num_dsr[1]
binary record "SCI_NL__1P_ADSR_loc"size: 45

available: $ds_available[1] != 0

bit offset: $ds_offset[1]
5instrument_params
binary array[dim_0]
Static Instrument Parameters

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

available: $ds_available[2] != 0

bit offset: $ds_offset[2]
6leakage_constant
binary array[dim_0]
Leakage Current Parameter (constant fraction) GADS

dim_0: $num_dsr[3]
binary record "SCI_LK1_AX_GADS_const"size: 163952

available: $ds_available[3] != 0

bit offset: $ds_offset[3]
7leakage_variable
binary array[dim_0]
Leakage Current Parameter (variable fraction) GADS

dim_0: $num_dsr[4]
binary record "SCI_LK1_AX_GADS_var"size: 90228

available: $ds_available[4] != 0

bit offset: $ds_offset[4]
8ppg_etalon
binary array[dim_0]
PPG/Etalon Parameters GADS

dim_0: $num_dsr[5]
binary record "SCI_PE1_AX_GADS_ppg"size: 139264

available: $ds_available[5] != 0

bit offset: $ds_offset[5]
9spectral_base
binary array[dim_0]
Precise Basis of the Spectral Calibration Parameters

dim_0: $num_dsr[6]
binary record "SCI_SP1_AX_GADS_pre_basis_spec"size: 32768

available: $ds_available[6] != 0

bit offset: $ds_offset[6]
10spectral_calibration
binary array[dim_0]
Spectral Calibration Parameters GADS

dim_0: $num_dsr[7]
binary record "SCI_SP1_AX_GADS_spec"size: 372

available: $ds_available[7] != 0

bit offset: $ds_offset[7]
11sun_reference
binary array[dim_0]
Sun Reference Spectrum GADS

dim_0: $num_dsr[8]
binary record "SCI_SU1_AX_GADS_sun"size: 163942

available: $ds_available[8] != 0

bit offset: $ds_offset[8]
12pol_sens_nadir
binary array[dim_0]
Polarization Sensitivity Parameters Nadir GADS

dim_0: $num_dsr[9]
binary record "SCI_NL__1P_GADS_polar_nadir"size: 65540

available: $ds_available[9] != 0

bit offset: $ds_offset[9]
13pol_sens_limb
binary array[dim_0]
Polarization Sensitivity Parameters Limb without Neutral Density Filter

dim_0: $num_dsr[10]
binary record "SCI_NL__1P_GADS_polar_limb_occultation"size: 65544

available: $ds_available[10] != 0

bit offset: $ds_offset[10]
14pol_sens_occ
binary array[dim_0]
Polarization Sensitivity Parameters Occultation without Neutral Density Filter

dim_0: $num_dsr[11]
binary record "SCI_NL__1P_GADS_polar_limb_occultation"size: 65544

available: $ds_available[11] != 0

bit offset: $ds_offset[11]
15rad_sens_nadir
binary array[dim_0]
Radiance Sensitivity Parameters Nadir

dim_0: $num_dsr[12]
binary record "SCI_NL__1P_GADS_rad_nadir"size: 32772

available: $ds_available[12] != 0

bit offset: $ds_offset[12]
16rad_sens_limb
binary array[dim_0]
Radiance Sensitivity Parameters Limb without Neutral Density Filter

dim_0: $num_dsr[13]
binary record "SCI_NL__1P_GADS_rad_limb_occultation"size: 32776

available: $ds_available[13] != 0

bit offset: $ds_offset[13]
17rad_sens_occ
binary array[dim_0]
Radiance Sensitivity Parameters Occultation without Neutral Density Filter

dim_0: $num_dsr[14]
binary record "SCI_NL__1P_GADS_rad_limb_occultation"size: 32776

available: $ds_available[14] != 0

bit offset: $ds_offset[14]
18errors_on_key_data
binary array[dim_0]
Errors on Key Data GADS

dim_0: $num_dsr[15]
binary record "SCI_NL__1P_GADS_err"size: 294912

available: $ds_available[15] != 0

bit offset: $ds_offset[15]
19slit_function
binary array[dim_0]
Slit Function Parameters

dim_0: $num_dsr[16]
binary record "SCI_NL__1P_GADS_slit_f"size: 11

available: $ds_available[16] != 0

bit offset: $ds_offset[16]
20small_ap_slit_function
binary array[dim_0]
Small Aperture Slit Function Parameters

dim_0: $num_dsr[17]
binary record "SCI_NL__1P_GADS_small_ap_slit_f"size: 11

available: $ds_available[17] != 0

bit offset: $ds_offset[17]
21states
binary array[dim_0]
States of the Product ADS

dim_0: $num_dsr[18]
binary record "SCI_NL__1P_ADSR_states"size: 1387

available: $ds_available[18] != 0

bit offset: $ds_offset[18]
22cal_options
binary array[dim_0]
Calibration Options GADS

dim_0: $num_dsr[19]
binary record "SCI_NLC_1P_GADS_calopts"size: 400

available: $ds_available[19] != 0

bit offset: $ds_offset[19]
23nadir_pmd
binary array[dim_0]
PMD MDS for Nadir measurements

dim_0: $num_dsr[20]
binary record "SCI_NLC_1P_MDSR_pmd_nadir"

available: $ds_available[20] != 0

bit offset: $ds_offset[20]
24limb_pmd
binary array[dim_0]
PMD MDS for Limb measurements

dim_0: $num_dsr[21]
binary record "SCI_NLC_1P_MDSR_pmd_limb_occultation"

available: $ds_available[21] != 0

bit offset: $ds_offset[21]
25occultation_pmd
binary array[dim_0]
PMD MDS for Occultation measurements

dim_0: $num_dsr[22]
binary record "SCI_NLC_1P_MDSR_pmd_limb_occultation"

available: $ds_available[22] != 0

bit offset: $ds_offset[22]
26nadir_frac_pol
binary array[dim_0]
Fractional Polarisation MDS for Nadir measurements

dim_0: $num_dsr[23]
binary record "SCI_NLC_1P_MDSR_fpol_nadir"

available: $ds_available[23] != 0

bit offset: $ds_offset[23]
27limb_frac_pol
binary array[dim_0]
Fractional Polarisation MDS for Limb measurements

dim_0: $num_dsr[24]
binary record "SCI_NLC_1P_MDSR_fpol_limb_occultation"

available: $ds_available[24] != 0

bit offset: $ds_offset[24]
28occultation_frac_pol
binary array[dim_0]
Fractional Polarisation MDS for Occultation measurements

dim_0: $num_dsr[25]
binary record "SCI_NLC_1P_MDSR_fpol_limb_occultation"

available: $ds_available[25] != 0

bit offset: $ds_offset[25]
29nadir
binary array[dim_0]
Nadir MDS

dim_0: $num_dsr[26]
binary record "SCI_NLC_1P_MDSR_nadir"

available: $ds_available[26] != 0

bit offset: $ds_offset[26]
30limb
binary array[dim_0]
Limb MDS

dim_0: $num_dsr[27]
binary record "SCI_NLC_1P_MDSR_limb_occultation"

available: $ds_available[27] != 0

bit offset: $ds_offset[27]
31occultation
binary array[dim_0]
Occultation MDS

dim_0: $num_dsr[28]
binary record "SCI_NLC_1P_MDSR_limb_occultation"

available: $ds_available[28] != 0

bit offset: $ds_offset[28]
32monitoring
binary array[dim_0]
Monitoring MDS

dim_0: $num_dsr[29]
binary record "SCI_NLC_1P_MDSR_mon"

available: $ds_available[29] != 0

bit offset: $ds_offset[29]

detection rule

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

bytes(/,0,8) == "PRODUCT=" and
bytes(/,9,10) == "SCI_NLC_1P"

or

bytes(/,0,8) == "PRODUCT=" and
bytes(/,9,10) == "SCI_NLC_1C"

product variables

namesizeinitialisation
num_dsd$num_dsd = int(/mph/num_dsd)
num_ds$num_ds = 30
ds_to_dsd_index[$num_ds]$ds_to_dsd_index[0] = index(/dsd, str(./ds_name) == "SUMMARY_QUALITY             ");
$ds_to_dsd_index[1] = index(/dsd, str(./ds_name) == "GEOLOCATION                 ");
$ds_to_dsd_index[2] = index(/dsd, str(./ds_name) == "INSTRUMENT_PARAMS           ");
$ds_to_dsd_index[3] = index(/dsd, str(./ds_name) == "LEAKAGE_CONSTANT            ");
$ds_to_dsd_index[4] = index(/dsd, str(./ds_name) == "LEAKAGE_VARIABLE            ");
$ds_to_dsd_index[5] = index(/dsd, str(./ds_name) == "PPG_ETALON                  ");
$ds_to_dsd_index[6] = index(/dsd, str(./ds_name) == "SPECTRAL_BASE               ");
$ds_to_dsd_index[7] = index(/dsd, str(./ds_name) == "SPECTRAL_CALIBRATION        ");
$ds_to_dsd_index[8] = index(/dsd, str(./ds_name) == "SUN_REFERENCE               ");
$ds_to_dsd_index[9] = index(/dsd, str(./ds_name) == "POL_SENS_NADIR              ");
$ds_to_dsd_index[10] = index(/dsd, str(./ds_name) == "POL_SENS_LIMB               ");
$ds_to_dsd_index[11] = index(/dsd, str(./ds_name) == "POL_SENS_OCC                ");
$ds_to_dsd_index[12] = index(/dsd, str(./ds_name) == "RAD_SENS_NADIR              ");
$ds_to_dsd_index[13] = index(/dsd, str(./ds_name) == "RAD_SENS_LIMB               ");
$ds_to_dsd_index[14] = index(/dsd, str(./ds_name) == "RAD_SENS_OCC                ");
$ds_to_dsd_index[15] = index(/dsd, str(./ds_name) == "ERRORS_ON_KEY_DATA          ");
$ds_to_dsd_index[16] = index(/dsd, str(./ds_name) == "SLIT_FUNCTION               ");
$ds_to_dsd_index[17] = index(/dsd, str(./ds_name) == "SMALL_AP_SLIT_FUNCTION      ");
$ds_to_dsd_index[18] = index(/dsd, str(./ds_name) == "STATES                      ");
$ds_to_dsd_index[19] = index(/dsd, str(./ds_name) == "CAL_OPTIONS                 ");
$ds_to_dsd_index[20] = index(/dsd, str(./ds_name) == "NADIR_PMD                   ");
$ds_to_dsd_index[21] = index(/dsd, str(./ds_name) == "LIMB_PMD                    ");
$ds_to_dsd_index[22] = index(/dsd, str(./ds_name) == "OCCULTATION_PMD             ");
$ds_to_dsd_index[23] = index(/dsd, str(./ds_name) == "NADIR_FRAC_POL              ");
$ds_to_dsd_index[24] = index(/dsd, str(./ds_name) == "LIMB_FRAC_POL               ");
$ds_to_dsd_index[25] = index(/dsd, str(./ds_name) == "OCCULTATION_FRAC_POL        ");
$ds_to_dsd_index[26] = index(/dsd, str(./ds_name) == "NADIR                       ");
$ds_to_dsd_index[27] = index(/dsd, str(./ds_name) == "LIMB                        ");
$ds_to_dsd_index[28] = index(/dsd, str(./ds_name) == "OCCULTATION                 ");
$ds_to_dsd_index[29] = index(/dsd, str(./ds_name) == "MONITORING                  ")
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)