OB.DAAC Logo
NASA Logo
Ocean Color Science Software

ocssw V2022
L1B_Setup.c File Reference
#include <string.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
#include "L1B_Setup.h"
#include "L1B_Tables.h"
#include "Metadata.h"
#include "HDF_Lib.h"
#include "PGS_PC.h"
#include "PGS_TD.h"
#include "PGS_Error_Codes.h"
#include "FNames.h"
#include "L1B_SetupP.h"
Include dependency graph for L1B_Setup.c:

Go to the source code of this file.

Macros

#define L1B_EV_SDS_RANK   3
 
#define MAX_ATTR_NAME_SIZE2   72
 
#define SW_DEF_EV_SDS(SI_name, UI_name, str)
 
#define SW_DEF_EV_Aggr_SDS(SI_name, UI_name, SU_name, str)
 
#define CREATE_EV_SDS(sd_id, SI_name, UI_name, SI_longName, UI_longName, SI_id, UI_id)
 
#define CREATE_EV_Aggr_SDS(sd_id, SI_name, UI_name, SU_name, SI_LName, UI_LName, SU_LName, SI_id, UI_id, SU_id)
 
#define MAX_ATTR_NAME_SIZE   26
 
#define MAX_ATTR_BUFFER_SIZE   72
 
#define COPY_ATTR(attr_name)
 
#define NADIR_FRAME_GEO_VALS(geoname, var, scalefactor, buf)
 
#define PACK_MEMBER(member, buffer_ptr)
 
#define SCAN_INTERVAL   1.4771
 
#define REFL_250M_START_INDEX   0
 
#define REFL_500M_START_INDEX   2
 
#define REFL_1000M_START_INDEX   7
 
#define REFL_BAND26_START_INDEX   21
 
#define SET_UI_SDS_CONV_ATTRS(sds_id, spec_uncert, scale_factor, indx, numval, lun)
 

Enumerations

enum  L1B_EV_SDS_index_t {
  SI_250m, UI_250m, SI_500m, UI_500m,
  SI_1km, UI_1km, SI_1km_EMISS, UI_1km_EMISS,
  SI_250to500m, UI_250to500m, SU_250to500m, SI_250to1km,
  UI_250to1km, SU_250to1km, SI_500to1km, UI_500to1km,
  SU_500to1km, NUM_L1B_EV_SDS, SI_250m, UI_250m,
  SI_500m, UI_500m, SI_1km, UI_1km,
  SI_1km_EMISS, UI_1km_EMISS, SI_250to500m, UI_250to500m,
  SU_250to500m, SI_250to1km, UI_250to1km, SU_250to1km,
  SI_500to1km, UI_500to1km, SU_500to1km, NUM_L1B_EV_SDS
}
 

Functions

PGSt_SMF_status L1B_Setup (lookup_tables_t *tables, L1A_granule_t *L1A_Gran, L1B_granule_t *L1B_Gran, L1A_Scan_t *L1A_Scan, L1B_Scan_t *L1B_Scan, QA_Data_t *QA, L1B_Scan_Metadata_t *L1B_Scan_Meta, boolean skip_night_hi_res)
 
PGSt_SMF_status Open_L1A_EV_SDS (L1A_granule_t *L1A_Gran, L1A_Scan_t *L1A_Scan)
 
PGSt_SMF_status Calculate_Earth_Sun_Distance (L1A_granule_t *L1A_Gran, float32 *Earth_Sun_Dist)
 
PGSt_SMF_status Calculate_RSB_Cal_Coeff (lookup_tables_t *tables, float32 E_S_Dist, RSB_Cal_Coeff_t *RSB_Cal_Coeff)
 
PGSt_SMF_status Init_L1B_ScaleOffset (L1B_ScaleOffset_t *SO, RSB_Cal_Coeff_t *RSB_Cal_Coeff, float E_S_Dist, lookup_tables_t *tables)
 
PGSt_SMF_status Open_W_L1B_Granule (lookup_tables_t *tables, L1B_granule_t *L1B_Gran, L1B_Scan_t *L1B_Scan, boolean skip_night_hi_res)
 
PGSt_SMF_status Create_L1B_Swath (L1B_granule_t *L1B_Gran, boolean skip_night_hi_res)
 
PGSt_SMF_status Write_Swath_Band_Number (int32 file_index, L1B_granule_t *L1B_Gran)
 
PGSt_SMF_status Open_L1B_EV_SDS (L1B_granule_t *L1B_Gran, L1B_Scan_t *L1B_Scan, boolean skip_night_hi_res)
 
PGSt_SMF_status Set_L1B_EV_SDS_Attrs (lookup_tables_t *tables, L1B_granule_t *L1B_Gran, L1B_Scan_t *L1B_Scan, boolean skip_night_hi_res)
 
PGSt_SMF_status Set_Unit_Range_Fillvalue (L1B_Scan_t *L1B_Scan, boolean skip_night_hi_res)
 
PGSt_SMF_status Get_SDS_id (int32 f, L1B_Scan_t *L1B_Scan, int16 *num_sds, int32 *sds_id)
 
PGSt_SMF_status Set_SDS_Attributes (int32 *sds_id, char **BandNames, float32 **scale, float32 **offset, char *rad_units, char *refl_units, char *counts_units, int32 num_sds)
 
PGSt_SMF_status Create_Band_Subsetting_SDS (L1B_granule_t *L1B_Gran, boolean skip_night_hi_res)
 
PGSt_SMF_status Copy_Geo_SDS (L1B_granule_t *L1B_Gran, boolean skip_night_hi_res)
 
PGSt_SMF_status Scan_Meta_Cal (lookup_tables_t *tables, L1A_granule_t *L1A_Gran, L1B_granule_t *L1B_Gran, L1B_Scan_Metadata_t *L1B_Scan_Meta, QA_Data_t *QA)
 
PGSt_SMF_status Calculate_DCR_Change (L1A_granule_t *L1A_Gran, QA_Data_t *QA, L1B_Scan_Metadata_t *L1B_Scan_Meta)
 
PGSt_SMF_status Init_QA_Parameters (L1A_granule_t *L1A_Gran, L1B_granule_t *L1B_Gran, QA_Data_t *QA)
 
PGSt_SMF_status Write_L1B_ScanMeta (L1B_Scan_Metadata_t *L1B_Scan_Meta, L1A_granule_t *L1A_Gran, QA_Data_t *QA, boolean skip_night_hi_res)
 
PGSt_SMF_status Determine_Other_Missing_Scans (lookup_tables_t *tables, L1A_granule_t *L1A_Gran)
 
PGSt_SMF_status Determine_Split_Scans (L1A_granule_t *L1A_Gran, boolean *split_scan)
 
PGSt_SMF_status Get_Split_Scan_Indexes (int32 S1, int32 num_scans, int16 mirror_side[], int32 scan_quality[][SCAN_QUALITY_ARRAY_NUM_ELEMENTS], int32 *S_split_1, int32 *S_split_2)
 
PGSt_SMF_status Set_UI_ConvertToPercent_Attrs (lookup_tables_t *tables, L1B_Scan_t *L1B_Scan, boolean skip_night_hi_res)
 
PGSt_SMF_status Calculate_B26_B5_Correction (float32 *original_correction, float32 *scaled_correction, L1B_ScaleOffset_t *ScaleOffset)
 

Variables

char * L1A_EV_SDS_NAME [NUM_L1A_RESOLUTIONS]
 
char * L1B_EV_SDS_NAME [NUM_L1B_EV_SDS]
 
char * L1B_EV_SDS_LONG_NAME [NUM_L1B_EV_SDS]
 
char * Band_subsetting_names [NUM_L1A_RESOLUTIONS]
 
char * L1B_EV_DIM_NAME [NUM_L1A_RESOLUTIONS][L1B_EV_SDS_RANK]
 
int32 L1B_EV_DIM_OFFSET [NUM_L1A_RESOLUTIONS][L1B_EV_SDS_RANK-1]
 
float32 L1B_EV_DIM_FRAC_OFFSET [NUM_L1A_RESOLUTIONS][L1B_EV_SDS_RANK-1]
 
geolocation_sds_t GEO_SDS [NUM_GEO_SDS]
 
int16 RFLAG
 
int16 RSCL_FLAG
 

Macro Definition Documentation

◆ COPY_ATTR

#define COPY_ATTR (   attr_name)

◆ CREATE_EV_Aggr_SDS

#define CREATE_EV_Aggr_SDS (   sd_id,
  SI_name,
  UI_name,
  SU_name,
  SI_LName,
  UI_LName,
  SU_LName,
  SI_id,
  UI_id,
  SU_id 
)
Value:
CREATE_EV_SDS(sd_id, SI_name, UI_name, SI_LName, UI_LName, SI_id, UI_id); \
if((sds_index = SDnametoindex(sd_id, SU_name)) == FAIL) \
{ \
returnStatus = MODIS_F_HDF_ERROR; \
L1BErrorMsg(location, returnStatus, SU_name, \
"SDnametoindex", evfile_luns[file_index], NULL, True); \
return returnStatus; \
} \
if((SU_id = SDselect(sd_id, sds_index)) == FAIL) \
{ \
returnStatus = MODIS_F_HDF_ERROR; \
L1BErrorMsg(location, returnStatus, SU_name, \
"SDselect", evfile_luns[file_index], NULL, True); \
return returnStatus; \
} \
if(SDsetattr(SU_id, "long_name", DFNT_CHAR8,(int32)strlen(SU_LName), \
SU_LName) == FAIL) \
{ \
returnStatus = MODIS_F_HDF_ERROR; \
L1BErrorMsg(location, returnStatus, SU_name, \
"SDsetattr", evfile_luns[file_index], "long_name", True); \
return returnStatus; \
}

◆ CREATE_EV_SDS

#define CREATE_EV_SDS (   sd_id,
  SI_name,
  UI_name,
  SI_longName,
  UI_longName,
  SI_id,
  UI_id 
)

◆ L1B_EV_SDS_RANK

#define L1B_EV_SDS_RANK   3

Definition at line 166 of file L1B_Setup.c.

◆ MAX_ATTR_BUFFER_SIZE

#define MAX_ATTR_BUFFER_SIZE   72

◆ MAX_ATTR_NAME_SIZE

#define MAX_ATTR_NAME_SIZE   26

◆ MAX_ATTR_NAME_SIZE2

#define MAX_ATTR_NAME_SIZE2   72

◆ NADIR_FRAME_GEO_VALS

#define NADIR_FRAME_GEO_VALS (   geoname,
  var,
  scalefactor,
  buf 
)
Value:
returnStatus = read_sds_rank2(geo_sd_id, geoname, \
10 * L1A_Gran->num_scans, \
EV_1km_FRAMES, buf); \
if (returnStatus != MODIS_S_OK) \
{ \
L1BErrorMsg(location, returnStatus, NULL, \
"read_sds_rank2", GEOLOCATION_FILE, NULL, True); \
return returnStatus; \
} \
for (S = 0; S < L1A_Gran->num_scans; S++) { \
buf_index = (S * 10 + 4) * EV_1km_FRAMES + NADIR_1km_FRAME_NUM - 1; \
var[S] = buf[buf_index] * scalefactor; \
}

◆ PACK_MEMBER

#define PACK_MEMBER (   member,
  buffer_ptr 
)
Value:
memcpy(buffer_ptr, (void *)&member, sizeof(member)); \
buffer_ptr += sizeof(member)

◆ REFL_1000M_START_INDEX

#define REFL_1000M_START_INDEX   7

◆ REFL_250M_START_INDEX

#define REFL_250M_START_INDEX   0

◆ REFL_500M_START_INDEX

#define REFL_500M_START_INDEX   2

◆ REFL_BAND26_START_INDEX

#define REFL_BAND26_START_INDEX   21

◆ SCAN_INTERVAL

#define SCAN_INTERVAL   1.4771

◆ SET_UI_SDS_CONV_ATTRS

#define SET_UI_SDS_CONV_ATTRS (   sds_id,
  spec_uncert,
  scale_factor,
  indx,
  numval,
  lun 
)
Value:
if (SDsetattr(sds_id, "specified_uncertainty", DFNT_FLOAT32, \
numval, &(spec_uncert[indx])) == FAIL) { \
returnStatus = MODIS_F_WRITE_ERROR; \
L1BErrorMsg(location, returnStatus, \
"Could not write UI SDS attribute" \
"\"specified_uncertainty\".", \
"SDsetattr", lun, NULL, True); \
return returnStatus; \
} \
if (SDsetattr(sds_id, "scaling_factor", DFNT_FLOAT32, \
numval, &(scale_factor[indx])) == FAIL) { \
returnStatus = MODIS_F_WRITE_ERROR; \
L1BErrorMsg(location, returnStatus, \
"Could not write UI SDS attribute \"scaling_factor\".", \
"SDsetattr", lun, NULL, True); \
return returnStatus; \
} \
if (SDsetattr(sds_id, "uncertainty_units", DFNT_CHAR8, \
(int32)strlen(units_attr_value), units_attr_value) == FAIL) { \
returnStatus = MODIS_F_WRITE_ERROR; \
L1BErrorMsg(location, returnStatus, \
"Could not write UI SDS attribute \"uncertainty_units\".", \
"SDsetattr", lun, NULL, True); \
return returnStatus; \
}

◆ SW_DEF_EV_Aggr_SDS

#define SW_DEF_EV_Aggr_SDS (   SI_name,
  UI_name,
  SU_name,
  str 
)
Value:
SW_DEF_EV_SDS(SI_name,UI_name,str); \
if (SWdefdatafield(sw_id[file_index], SU_name, str, DFNT_INT8, \
HDFE_NOMERGE) == FAIL) \
{ \
returnStatus = MODIS_F_HDF_ERROR; \
L1BErrorMsg(location, returnStatus, SU_name, \
"SWdefdatafield", evfile_luns[file_index], NULL, True); \
return returnStatus; \
}

◆ SW_DEF_EV_SDS

#define SW_DEF_EV_SDS (   SI_name,
  UI_name,
  str 
)
Value:
if (SWdefdatafield(sw_id[file_index], SI_name, str, DFNT_UINT16, \
HDFE_NOMERGE) == FAIL) \
{ \
returnStatus = MODIS_F_HDF_ERROR; \
L1BErrorMsg(location, returnStatus, SI_name, \
"SWdefdatafield", evfile_luns[file_index], NULL, True); \
return returnStatus; \
} \
if (SWdefdatafield(sw_id[file_index], UI_name, str, DFNT_UINT8, \
HDFE_NOMERGE) == FAIL) \
{ \
returnStatus = MODIS_F_HDF_ERROR; \
L1BErrorMsg(location, returnStatus, UI_name, \
"SWdefdatafield", evfile_luns[file_index], NULL, True); \
return returnStatus; \
}

Enumeration Type Documentation

◆ L1B_EV_SDS_index_t

Enumerator
SI_250m 
UI_250m 
SI_500m 
UI_500m 
SI_1km 
UI_1km 
SI_1km_EMISS 
UI_1km_EMISS 
SI_250to500m 
UI_250to500m 
SU_250to500m 
SI_250to1km 
UI_250to1km 
SU_250to1km 
SI_500to1km 
UI_500to1km 
SU_500to1km 
NUM_L1B_EV_SDS 
SI_250m 
UI_250m 
SI_500m 
UI_500m 
SI_1km 
UI_1km 
SI_1km_EMISS 
UI_1km_EMISS 
SI_250to500m 
UI_250to500m 
SU_250to500m 
SI_250to1km 
UI_250to1km 
SU_250to1km 
SI_500to1km 
UI_500to1km 
SU_500to1km 
NUM_L1B_EV_SDS 

Definition at line 98 of file L1B_Setup.c.

Function Documentation

◆ Calculate_B26_B5_Correction()

PGSt_SMF_status Calculate_B26_B5_Correction ( float32 *  original_correction,
float32 *  scaled_correction,
L1B_ScaleOffset_t ScaleOffset 
)

Definition at line 5821 of file L1B_Setup.c.

◆ Calculate_DCR_Change()

PGSt_SMF_status Calculate_DCR_Change ( L1A_granule_t L1A_Gran,
QA_Data_t QA,
L1B_Scan_Metadata_t L1B_Scan_Meta 
)

Definition at line 4330 of file L1B_Setup.c.

◆ Calculate_Earth_Sun_Distance()

PGSt_SMF_status Calculate_Earth_Sun_Distance ( L1A_granule_t L1A_Gran,
float32 *  Earth_Sun_Dist 
)

Definition at line 509 of file L1B_Setup.c.

◆ Calculate_RSB_Cal_Coeff()

PGSt_SMF_status Calculate_RSB_Cal_Coeff ( lookup_tables_t tables,
float32  E_S_Dist,
RSB_Cal_Coeff_t RSB_Cal_Coeff 
)

Definition at line 607 of file L1B_Setup.c.

◆ Copy_Geo_SDS()

PGSt_SMF_status Copy_Geo_SDS ( L1B_granule_t L1B_Gran,
boolean  skip_night_hi_res 
)

Definition at line 3234 of file L1B_Setup.c.

◆ Create_Band_Subsetting_SDS()

PGSt_SMF_status Create_Band_Subsetting_SDS ( L1B_granule_t L1B_Gran,
boolean  skip_night_hi_res 
)

Definition at line 3046 of file L1B_Setup.c.

◆ Create_L1B_Swath()

PGSt_SMF_status Create_L1B_Swath ( L1B_granule_t L1B_Gran,
boolean  skip_night_hi_res 
)

Definition at line 1051 of file L1B_Setup.c.

◆ Determine_Other_Missing_Scans()

PGSt_SMF_status Determine_Other_Missing_Scans ( lookup_tables_t tables,
L1A_granule_t L1A_Gran 
)

Definition at line 5234 of file L1B_Setup.c.

◆ Determine_Split_Scans()

PGSt_SMF_status Determine_Split_Scans ( L1A_granule_t L1A_Gran,
boolean split_scan 
)

Definition at line 5353 of file L1B_Setup.c.

◆ Get_SDS_id()

PGSt_SMF_status Get_SDS_id ( int32  f,
L1B_Scan_t L1B_Scan,
int16 *  num_sds,
int32 *  sds_id 
)

Definition at line 2778 of file L1B_Setup.c.

◆ Get_Split_Scan_Indexes()

PGSt_SMF_status Get_Split_Scan_Indexes ( int32  S1,
int32  num_scans,
int16  mirror_side[],
int32  scan_quality[][SCAN_QUALITY_ARRAY_NUM_ELEMENTS],
int32 *  S_split_1,
int32 *  S_split_2 
)

Definition at line 5507 of file L1B_Setup.c.

◆ Init_L1B_ScaleOffset()

PGSt_SMF_status Init_L1B_ScaleOffset ( L1B_ScaleOffset_t SO,
RSB_Cal_Coeff_t RSB_Cal_Coeff,
float  E_S_Dist,
lookup_tables_t tables 
)

Definition at line 728 of file L1B_Setup.c.

◆ Init_QA_Parameters()

PGSt_SMF_status Init_QA_Parameters ( L1A_granule_t L1A_Gran,
L1B_granule_t L1B_Gran,
QA_Data_t QA 
)

Definition at line 4608 of file L1B_Setup.c.

◆ L1B_Setup()

PGSt_SMF_status L1B_Setup ( lookup_tables_t tables,
L1A_granule_t L1A_Gran,
L1B_granule_t L1B_Gran,
L1A_Scan_t L1A_Scan,
L1B_Scan_t L1B_Scan,
QA_Data_t QA,
L1B_Scan_Metadata_t L1B_Scan_Meta,
boolean  skip_night_hi_res 
)

Definition at line 223 of file L1B_Setup.c.

◆ Open_L1A_EV_SDS()

PGSt_SMF_status Open_L1A_EV_SDS ( L1A_granule_t L1A_Gran,
L1A_Scan_t L1A_Scan 
)

Definition at line 424 of file L1B_Setup.c.

◆ Open_L1B_EV_SDS()

PGSt_SMF_status Open_L1B_EV_SDS ( L1B_granule_t L1B_Gran,
L1B_Scan_t L1B_Scan,
boolean  skip_night_hi_res 
)

Definition at line 1717 of file L1B_Setup.c.

◆ Open_W_L1B_Granule()

PGSt_SMF_status Open_W_L1B_Granule ( lookup_tables_t tables,
L1B_granule_t L1B_Gran,
L1B_Scan_t L1B_Scan,
boolean  skip_night_hi_res 
)

Definition at line 886 of file L1B_Setup.c.

◆ Scan_Meta_Cal()

PGSt_SMF_status Scan_Meta_Cal ( lookup_tables_t tables,
L1A_granule_t L1A_Gran,
L1B_granule_t L1B_Gran,
L1B_Scan_Metadata_t L1B_Scan_Meta,
QA_Data_t QA 
)

Definition at line 3757 of file L1B_Setup.c.

◆ Set_L1B_EV_SDS_Attrs()

PGSt_SMF_status Set_L1B_EV_SDS_Attrs ( lookup_tables_t tables,
L1B_granule_t L1B_Gran,
L1B_Scan_t L1B_Scan,
boolean  skip_night_hi_res 
)

Definition at line 2046 of file L1B_Setup.c.

◆ Set_SDS_Attributes()

PGSt_SMF_status Set_SDS_Attributes ( int32 *  sds_id,
char **  BandNames,
float32 **  scale,
float32 **  offset,
char *  rad_units,
char *  refl_units,
char *  counts_units,
int32  num_sds 
)

Definition at line 2862 of file L1B_Setup.c.

◆ Set_UI_ConvertToPercent_Attrs()

PGSt_SMF_status Set_UI_ConvertToPercent_Attrs ( lookup_tables_t tables,
L1B_Scan_t L1B_Scan,
boolean  skip_night_hi_res 
)

Definition at line 5658 of file L1B_Setup.c.

◆ Set_Unit_Range_Fillvalue()

PGSt_SMF_status Set_Unit_Range_Fillvalue ( L1B_Scan_t L1B_Scan,
boolean  skip_night_hi_res 
)

Definition at line 2430 of file L1B_Setup.c.

◆ Write_L1B_ScanMeta()

PGSt_SMF_status Write_L1B_ScanMeta ( L1B_Scan_Metadata_t L1B_Scan_Meta,
L1A_granule_t L1A_Gran,
QA_Data_t QA,
boolean  skip_night_hi_res 
)

Definition at line 4801 of file L1B_Setup.c.

◆ Write_Swath_Band_Number()

PGSt_SMF_status Write_Swath_Band_Number ( int32  file_index,
L1B_granule_t L1B_Gran 
)

Definition at line 1572 of file L1B_Setup.c.

Variable Documentation

◆ Band_subsetting_names

char* Band_subsetting_names[NUM_L1A_RESOLUTIONS]
Initial value:
= {
"Band_250M",
"Band_500M",
"Band_1KM_RefSB",
"Band_1KM_Emissive"
}

Definition at line 159 of file L1B_Setup.c.

◆ GEO_SDS

Initial value:
= {
{"Latitude" , "Latitude" , DFNT_FLOAT32, "degrees" ,
{-90.,90.} , -999. , "3,8" , "3,8,13,...", 1.f} ,
{"Longitude" , "Longitude" , DFNT_FLOAT32, "degrees" ,
{-180., 180.} , -999. , "3,8" , "3,8,13,...", 1.f} ,
{"Height" , "Height" , DFNT_INT16 , "meters" ,
{-400,10000} , -32767 , "3,8" , "3,8,13,...", 1.f} ,
{"SensorZenith" , "SensorZenith" , DFNT_INT16 , "degrees" ,
{0,18000} , -32767 , "3,8" , "3,8,13,...", 0.01f},
{"SensorAzimuth", "SensorAzimuth", DFNT_INT16 , "degrees" ,
{-18000,18000} , -32767 , "3,8" , "3,8,13,...", 0.01f},
{"Range" , "Range" , DFNT_UINT16 , "meters" ,
{27000.,65535.}, 0 , "3,8" , "3,8,13,...", 25.f} ,
{"SolarZenith" , "SolarZenith" , DFNT_INT16 , "degrees" ,
{0,18000} , -32767 , "3,8" , "3,8,13,...", 0.01f},
{"SolarAzimuth" , "SolarAzimuth" , DFNT_INT16 , "degrees" ,
{-18000,18000} , -32767 , "3,8" , "3,8,13,...", 0.01f},
{"gflags" , "gflags" , DFNT_UINT8 , "" ,
{0.,0.} , 255 , "" , "" , 1.}
}

Definition at line 195 of file L1B_Setup.c.

◆ L1A_EV_SDS_NAME

char* L1A_EV_SDS_NAME[NUM_L1A_RESOLUTIONS]
Initial value:
= {
"EV_250m", "EV_500m", "EV_1km_day", "EV_1km_night"
}

Definition at line 85 of file L1B_Setup.c.

◆ L1B_EV_DIM_FRAC_OFFSET

float32 L1B_EV_DIM_FRAC_OFFSET[NUM_L1A_RESOLUTIONS][L1B_EV_SDS_RANK-1]
Initial value:
= {
{0.5, 0.0}, {0.5, 0.0}, {0.0, 0.0}, {0.0, 0.0}
}

Definition at line 183 of file L1B_Setup.c.

◆ L1B_EV_DIM_NAME

char* L1B_EV_DIM_NAME[NUM_L1A_RESOLUTIONS][L1B_EV_SDS_RANK]
Initial value:
= {
{"Band_250M", "40*nscans", "4*Max_EV_frames"},
{"Band_500M", "20*nscans", "2*Max_EV_frames"},
{"Band_1KM_RefSB", "10*nscans", "Max_EV_frames"},
{"Band_1KM_Emissive", "10*nscans", "Max_EV_frames"}
}

Definition at line 168 of file L1B_Setup.c.

◆ L1B_EV_DIM_OFFSET

int32 L1B_EV_DIM_OFFSET[NUM_L1A_RESOLUTIONS][L1B_EV_SDS_RANK-1]
Initial value:
= {
{1, 0}, {0, 0}, {0, 0}, {0, 0}
}

Definition at line 177 of file L1B_Setup.c.

◆ L1B_EV_SDS_LONG_NAME

char* L1B_EV_SDS_LONG_NAME[NUM_L1B_EV_SDS]
Initial value:
=
{
"Earth View 250M Reflective Solar Bands Scaled Integers",
"Earth View 250M Reflective Solar Bands Uncertainty Indexes",
"Earth View 500M Reflective Solar Bands Scaled Integers",
"Earth View 500M Reflective Solar Bands Uncertainty Indexes",
"Earth View 1KM Reflective Solar Bands Scaled Integers",
"Earth View 1KM Reflective Solar Bands Uncertainty Indexes",
"Earth View 1KM Emissive Bands Scaled Integers",
"Earth View 1KM Emissive Bands Uncertainty Indexes",
"Earth View 250M Aggregated 500M Reflective Solar Bands "
"Scaled Integers",
"Earth View 250M Aggregated 500M Reflective Solar Bands "
"Uncertainty Indexes",
"Earth View 250M Aggregated 500M Reflective Solar Bands "
"Number of Samples Used in Aggregation",
"Earth View 250M Aggregated 1km Reflective Solar Bands "
"Scaled Integers",
"Earth View 250M Aggregated 1km Reflective Solar Bands "
"Uncertainty Indexes",
"Earth View 250M Aggregated 1km Reflective Solar Bands "
"Number of Samples Used in Aggregation",
"Earth View 500M Aggregated 1km Reflective Solar Bands "
"Scaled Integers",
"Earth View 500M Aggregated 1km Reflective Solar Bands "
"Uncertainty Indexes",
"Earth View 500M Aggregated 1km Reflective Solar Bands "
"Number of Samples Used in Aggregation"
}

Definition at line 124 of file L1B_Setup.c.

◆ L1B_EV_SDS_NAME

char* L1B_EV_SDS_NAME[NUM_L1B_EV_SDS]
Initial value:
=
{
"EV_250_RefSB", "EV_250_RefSB_Uncert_Indexes",
"EV_500_RefSB", "EV_500_RefSB_Uncert_Indexes",
"EV_1KM_RefSB", "EV_1KM_RefSB_Uncert_Indexes",
"EV_1KM_Emissive", "EV_1KM_Emissive_Uncert_Indexes",
"EV_250_Aggr500_RefSB", "EV_250_Aggr500_RefSB_Uncert_Indexes",
"EV_250_Aggr500_RefSB_Samples_Used",
"EV_250_Aggr1km_RefSB", "EV_250_Aggr1km_RefSB_Uncert_Indexes",
"EV_250_Aggr1km_RefSB_Samples_Used",
"EV_500_Aggr1km_RefSB", "EV_500_Aggr1km_RefSB_Uncert_Indexes",
"EV_500_Aggr1km_RefSB_Samples_Used"
}

Definition at line 110 of file L1B_Setup.c.

◆ RFLAG

int16 RFLAG

Definition at line 75 of file Granule.c.

◆ RSCL_FLAG

int16 RSCL_FLAG

Definition at line 76 of file Granule.c.

#define MODIS_S_OK
#define NADIR_1km_FRAME_NUM
Definition: Granule.h:473
#define MODIS_F_WRITE_ERROR
#define CREATE_EV_SDS(sd_id, SI_name, UI_name, SI_longName, UI_longName, SI_id, UI_id)
#define FAIL
Definition: ObpgReadGrid.h:18
#define NULL
Definition: decode_rs.h:63
#define GEOLOCATION_FILE
Definition: FNames.h:82
#define EV_1km_FRAMES
Definition: Granule.h:469
#define SW_DEF_EV_SDS(SI_name, UI_name, str)
HDF4 data type of the output SDS Default is DFNT_FLOAT32 Common types used DFNT_INT16
#define True
Definition: Granule.h:537
const char * str
Definition: l1c_msi.cpp:35
PGSt_SMF_status read_sds_rank2(int32 file_id, char *sds_name, int32 dim1, int32 dim2, void *data)
Definition: HDF_Lib.c:449
#define MODIS_F_HDF_ERROR
HDF4 data type of the output SDS Default is DFNT_FLOAT32 Common types used DFNT_FLOAT32