MER_RR__1P version 1

MER_RR__1P_v1

This definition is based on version 5/B of product specification PO-RS-MDA-GS-2009 Vol11

root type

binary record
idfield namedefinition
0mph
ascii record "MPH"size: 1247
1sph
ascii record "MER_RR__2P_SPH"size: 1542
2dsd
ascii array[dim_0]
dim_0: $num_dsd
ascii record "DSD"size: 280
3Quality_ADS
binary array[dim_0]
Level 1b Summary Quality ADS (SQ ADS)

dim_0: $num_dsr[0]
binary record "MER_RR__1P_ADSR_sq_meris_rec_data"size: 33
4Scaling_Factor_GADS
binary array[dim_0]
Level 1b GADS Scaling Factor and General Info

dim_0: $num_dsr[1]
binary record "MER_RR__1P_GADS_sfgi_meris_rec_data"size: 292
5Tie_points_ADS
binary array[dim_0]
Level 1b ADS Tie Point Location and Auxilliary Data (LADS)

dim_0: $num_dsr[2]
binary record "MER_RR__1P_ADSR_tie_pt_meris_rec_data"
6Radiance_1
binary array[dim_0]
Level 1b MDS (1) TOA Radiance

dim_0: $num_dsr[3]
binary record "MER_RR__1P_MDSR_1_15_meris_rec_data"
7Radiance_2
binary array[dim_0]
Level 1b MDS (2) TOA Radiance

dim_0: $num_dsr[4]
binary record "MER_RR__1P_MDSR_1_15_meris_rec_data"
8Radiance_3
binary array[dim_0]
Level 1b MDS (3) TOA Radiance

dim_0: $num_dsr[5]
binary record "MER_RR__1P_MDSR_1_15_meris_rec_data"
9Radiance_4
binary array[dim_0]
Level 1b MDS (4) TOA Radiance

dim_0: $num_dsr[6]
binary record "MER_RR__1P_MDSR_1_15_meris_rec_data"
10Radiance_5
binary array[dim_0]
Level 1b MDS (5) TOA Radiance

dim_0: $num_dsr[7]
binary record "MER_RR__1P_MDSR_1_15_meris_rec_data"
11Radiance_6
binary array[dim_0]
Level 1b MDS (6) TOA Radiance

dim_0: $num_dsr[8]
binary record "MER_RR__1P_MDSR_1_15_meris_rec_data"
12Radiance_7
binary array[dim_0]
Level 1b MDS (7) TOA Radiance

dim_0: $num_dsr[9]
binary record "MER_RR__1P_MDSR_1_15_meris_rec_data"
13Radiance_8
binary array[dim_0]
Level 1b MDS (8) TOA Radiance

dim_0: $num_dsr[10]
binary record "MER_RR__1P_MDSR_1_15_meris_rec_data"
14Radiance_9
binary array[dim_0]
Level 1b MDS (9) TOA Radiance

dim_0: $num_dsr[11]
binary record "MER_RR__1P_MDSR_1_15_meris_rec_data"
15Radiance_10
binary array[dim_0]
Level 1b MDS (10) TOA Radiance

dim_0: $num_dsr[12]
binary record "MER_RR__1P_MDSR_1_15_meris_rec_data"
16Radiance_11
binary array[dim_0]
Level 1b MDS (11) TOA Radiance

dim_0: $num_dsr[13]
binary record "MER_RR__1P_MDSR_1_15_meris_rec_data"
17Radiance_12
binary array[dim_0]
Level 1b MDS (12) TOA Radiance

dim_0: $num_dsr[14]
binary record "MER_RR__1P_MDSR_1_15_meris_rec_data"
18Radiance_13
binary array[dim_0]
Level 1b MDS (13) TOA Radiance

dim_0: $num_dsr[15]
binary record "MER_RR__1P_MDSR_1_15_meris_rec_data"
19Radiance_14
binary array[dim_0]
Level 1b MDS (14) TOA Radiance

dim_0: $num_dsr[16]
binary record "MER_RR__1P_MDSR_1_15_meris_rec_data"
20Radiance_15
binary array[dim_0]
Level 1b MDS (15) TOA Radiance

dim_0: $num_dsr[17]
binary record "MER_RR__1P_MDSR_1_15_meris_rec_data"
21Flags
binary array[dim_0]
Level 1b MDS (16) Flags and Detector Index

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

detection rule

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

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

product variables

namesizeinitialisation
sceneRasterWidth$sceneRasterWidth = int(/sph/line_length)
tiePointGridWidth$tiePointGridWidth = int(/sph/line_length) / int(/sph/samples_per_tie_pt) + if(int(/sph/line_length) % int(/sph/samples_per_tie_pt) == 0, 0, 1)
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) == "Quality ADS                 ");
$ds_to_dsd_index[1] = index(/dsd, str(./ds_name) == "Scaling Factor GADS         ");
$ds_to_dsd_index[2] = index(/dsd, str(./ds_name) == "Tie points ADS              ");
$ds_to_dsd_index[3] = index(/dsd, str(./ds_name) == "Radiance MDS(1)             ");
$ds_to_dsd_index[4] = index(/dsd, str(./ds_name) == "Radiance MDS(2)             ");
$ds_to_dsd_index[5] = index(/dsd, str(./ds_name) == "Radiance MDS(3)             ");
$ds_to_dsd_index[6] = index(/dsd, str(./ds_name) == "Radiance MDS(4)             ");
$ds_to_dsd_index[7] = index(/dsd, str(./ds_name) == "Radiance MDS(5)             ");
$ds_to_dsd_index[8] = index(/dsd, str(./ds_name) == "Radiance MDS(6)             ");
$ds_to_dsd_index[9] = index(/dsd, str(./ds_name) == "Radiance MDS(7)             ");
$ds_to_dsd_index[10] = index(/dsd, str(./ds_name) == "Radiance MDS(8)             ");
$ds_to_dsd_index[11] = index(/dsd, str(./ds_name) == "Radiance MDS(9)             ");
$ds_to_dsd_index[12] = index(/dsd, str(./ds_name) == "Radiance MDS(10)            ");
$ds_to_dsd_index[13] = index(/dsd, str(./ds_name) == "Radiance MDS(11)            ");
$ds_to_dsd_index[14] = index(/dsd, str(./ds_name) == "Radiance MDS(12)            ");
$ds_to_dsd_index[15] = index(/dsd, str(./ds_name) == "Radiance MDS(13)            ");
$ds_to_dsd_index[16] = index(/dsd, str(./ds_name) == "Radiance MDS(14)            ");
$ds_to_dsd_index[17] = index(/dsd, str(./ds_name) == "Radiance MDS(15)            ");
$ds_to_dsd_index[18] = index(/dsd, str(./ds_name) == "Flags MDS(16)               ")
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)