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 162 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 94 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 5829 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 4339 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 504 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 615 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 3243 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 3055 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 1059 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 5242 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 5361 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 2787 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 5515 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 736 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 4617 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 218 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 419 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 1726 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 894 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 3766 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 2055 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 2871 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 5666 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 2439 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 4810 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 1581 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 155 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 190 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 81 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 179 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 164 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 173 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 120 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 106 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 SW_DEF_EV_SDS(SI_name, UI_name, str)
#define FAIL
Definition: ObpgReadGrid.h:18
#define NULL
Definition: decode_rs.h:63
#define GEOLOCATION_FILE
Definition: FNames.h:82
#define CREATE_EV_SDS(sd_id, SI_name, UI_name, SI_longName, UI_longName, SI_id, UI_id)
#define EV_1km_FRAMES
Definition: Granule.h:469
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