OB.DAAC Logo
NASA Logo
Ocean Color Science Software

ocssw V2022
VcstCalLutStructures.h
Go to the documentation of this file.
1 /*******************************************************************************
2  *
3  * NAME: ViirsLutStructures.h
4  *
5  * DESCRIPTION: Header file with definitions of constants and data structures for
6  * all calibration LUTs .
7  *
8  * Created on: Feb 13, 2015
9  * Author: Sam Anderson, VCST
10  *
11  *********************************************************************************/
12 
13 #ifndef VIIRSLUTSTRUCTURES_H_
14 #define VIIRSLUTSTRUCTURES_H_
15 
16 const int NUM_ELECTRONICS_SIDE = 2;
17 const int NUM_VIIRS_BAND = 22;
18 const int MAX_NUM_DETECTOR = 32;
19 const int NUM_M_I_GAIN_STATES = 2;
20 const int NUM_MIRROR_SIDES = 2;
21 const int NUM_TDET_LEVEL = 5;
22 const int DIM_NUM4 = 4;
23 const int NUM_TELE_LEVEL = 5;
24 const int MAX_NUM_C_COEF = 4;
25 const int NUM_FOCAL_PLANES = 3;
26 const int telecThermistorNum = 25;
27 const int NUM_REFL_750M_DG_BANDS = 6;
28 const int NUM_DETECTORS_750M = 16;
29 const int PRO_VIIRS_MIN_MAX_DIM = 2;
30 const int NUM_AGG_SEQ = 36;
31 const int MAX_NUM_GAIN = 3;
32 const int NUM_REFL_PLUS_DNB_BANDS = 15;
33 const int NUM_TCAV = 2;
34 const int NUM_TELEC_THERM = 4;
35 const int NUM_TEMP_COEFFS = 6;
36 const int MAX_NUM_VIIRS_SCANS = 48;
37 const int NUM_OF_EBBT_FILES = 7;
38 const int NUM_OF_HAMER_FILES = 7;
39 const int NUM_OF_OBCER_FILES = 7;
40 const int NUM_OF_OBCRR_FILES = 7;
41 const int NUM_OF_RTAER_FILES = 7;
42 const int MAX_HAM_ER_INDEX = 7498;
43 const int NUM_TFPLW = 2;
44 const int NUM_TFPSM = 2;
45 const int NUM_THERMISTORS = 26;
46 const int NUM_TMIR = 2;
47 const int NUM_TOMM_THERM = 5;
48 const int NUM_TRTA = 2;
49 const int NUM_TSH = 2;
50 const int NUM_TTELE = 2;
51 const int NUM_TTEL_TSH_TCAV = 3;
52 const int NUM_DETECTORS_DNB = 16;
53 const int MAX_RSR_VALUES = 1000;
54 const int OneTempTwoTolerances = 3;
55 const int MAX_RTA_ER_INDEX = 7498;
56 const int NUM_375M_BANDS = 5;
57 const int EV_375M_FRAMES = 6400;
58 const int NUM_DETECTORS_375M = 32;
59 const int NUM_750M_SG_BANDS = 9;
60 const int EV_750M_SG_FRAMES = 3200;
61 const int NUM_MAX_THERMISTORS = 26;
62 const int EV_DNB_FRAMES = 4064;
63 const int NUM_SZA_BINS = 469;
64 const int NUM_750M_DG_BANDS = 7;
65 const int X_Y_SIZE = 49951;
66 const int MAX_OBC_ER_INDEX = 7498;
68 const int EV_FRAMES_750m_DG = 6304;
69 const int EV_750M_DG_FRAMES = 6304;
70 const int NUM_HEMISPHERES = 2;
71 const int MAX_EBBT_INDEX = 1050000;
72 const int NUM_BB_THERMISTORS = 6;
73 const int MAX_OBC_RR_INDEX = 7498;
74 const int NUM_T_MIR_THERMISTORS = 2;
75 const int DNB_VIIRS_RDR_COLS = 4064;
76 const int N_DNB_BANDS = 4;
77 const int NUM_BANDS = 22;
78 const int NUM_DETECTORS = 432;
79 const int NUM_MOON_OFFSET_LIMITS = 4;
80 const int NUM_ZONES = 32;
82 const int NUM_GAIN_RATIOS = 2;
83 const int SHORT_DNB_FRAMES = 127;
84 
85 const int RSR_SIZE = 1000;
86 const int SOLAR_IRAD_SIZE = 49951;
87 
90 };
91 
94 };
95 
96 // Delta C Temperature LUT
97 
102 };
103 
106 };
107 
108 // C Coefficients LUT
109 
112 };
113 
116 };
117 
118 // Frame to Zone Table
119 
122 };
123 
126 };
127 
129  signed char Fit_type;
130  unsigned char implicit_pad0[7];
131  long long T_ref;
135 };
136 
139 };
140 
145 };
146 
151 };
152 
157 };
158 
169 };
170 
172  signed char Fit_type[NUM_VIIRS_BAND];
173  unsigned char implicit_pad0[2];
174  long long T_ref;
178 };
179 
180 // Gain Table
181 
184 };
185 
190 };
191 
196 };
197 
202 };
203 
204 // Reflective Lookup Table Structure
205 
208 };
209 
212 };
213 
224  float Trta_Offset;
236  float Tmax;
237  float Tmin;
242 };
243 
249 };
250 
255  unsigned char implicit_pad0[4];
256 };
257 
260 };
261 
266 };
267 
278 };
279 
280 // Solar Irad Table
281 
283  double x[X_Y_SIZE];
284  double y[X_Y_SIZE];
285 };
286 
292  float bbTempSpare[3];
293  float Spare1[12];
295  float Spare2[3];
298 };
299 
301  double I0;
302  double V0;
303  double Rp;
304  double G;
305  double Const1;
307 
311 
312 #endif /* VIIRSLUTSTRUCTURES_H_ */
const int EV_FRAMES_750m_DG
double F_ref[NUM_VIIRS_BAND][MAX_NUM_DETECTOR][MAX_NUM_GAIN][NUM_MIRROR_SIDES]
float RVS_750m_SV_DG[NUM_750M_DG_BANDS][NUM_DETECTORS_750M][NUM_MIRROR_SIDES]
double DeltaC[NUM_ELECTRONICS_SIDE][NUM_VIIRS_BAND][MAX_NUM_DETECTOR][NUM_M_I_GAIN_STATES][NUM_MIRROR_SIDES][MAX_NUM_C_COEF][telecThermistorNum]
const int NUM_OF_OBCER_FILES
const int NUM_OF_EBBT_FILES
signed char Fit_type[NUM_VIIRS_BAND]
double OBC_ER_rad[MAX_OBC_ER_INDEX]
float BB_Weight[NUM_BB_THERMISTORS]
float data[NUM_REFL_750M_DG_BANDS][NUM_DETECTORS_750M][PRO_VIIRS_MIN_MAX_DIM]
const int NUM_OF_HAMER_FILES
const int DNB_VIIRS_RDR_COLS
const int X_Y_SIZE
const int NUM_DETECTORS_DNB
const int MAX_EBBT_INDEX
int Tomm_Thermister_Indexes[NUM_TOMM_THERM]
const int NUM_M_I_GAIN_STATES
const int NUM_750M_DG_BANDS
double rsr[NUM_REFL_PLUS_DNB_BANDS][MAX_RSR_VALUES]
double data[NUM_ELECTRONICS_SIDE][NUM_VIIRS_BAND][MAX_NUM_DETECTOR][NUM_MIRROR_SIDES][NUM_TELE_LEVEL][DIM_NUM4]
const int NUM_TEMP_COEFFS
const int PRO_VIIRS_MIN_MAX_DIM
const int NUM_ELECTRONICS_SIDE
int RTA_ER_indices[NUM_OF_RTAER_FILES][2]
double OBC_ER_tp[MAX_OBC_ER_INDEX]
double L_to_EBBT_tp[MAX_EBBT_INDEX]
double F_param_1[NUM_AGG_SEQ][NUM_DETECTORS_DNB][NUM_MIRROR_SIDES]
const int NUM_ZONES
const int MAX_OBC_ER_INDEX
int Telec_Therm_Indexes[NUM_TELEC_THERM]
double wavelength[NUM_REFL_PLUS_DNB_BANDS][MAX_RSR_VALUES]
float VIIRS_DNB_SDR_STRAY_OFFSET[NUM_HEMISPHERES][NUM_SZA_BINS][EV_DNB_FRAMES][NUM_DETECTORS_DNB][NUM_MIRROR_SIDES]
int OBC_ER_indices[NUM_OF_OBCER_FILES][2]
int HAM_ER_indices[NUM_OF_HAMER_FILES][2]
const int SOLAR_IRAD_SIZE
double solar_spectral_irad[NUM_REFL_PLUS_DNB_BANDS]
const int NUM_VIIRS_BAND
proSdrViirsCalBBTempCoeffStruct thermister[NUM_BB_THERMISTORS]
double L_to_EBBT_rad[MAX_EBBT_INDEX]
double Tdet[NUM_ELECTRONICS_SIDE][NUM_FOCAL_PLANES][NUM_TDET_LEVEL]
float VIIRS_STRAY_SZA_GRID[NUM_HEMISPHERES][NUM_SZA_BINS]
const int NUM_MIRROR_SIDES
const int telecThermistorNum
const int NUM_TRTA
const int NUM_TELE_LEVEL
float VIIRS_STRAY_SZA_GRID[NUM_HEMISPHERES][NUM_SZA_BINS]
const int NUM_DETECTORS_375M
float RVS_375m_SV[NUM_375M_BANDS][NUM_DETECTORS_375M][NUM_MIRROR_SIDES]
const int MAX_NUM_VIIRS_SCANS
float Telec_Therm_Weights[NUM_TELEC_THERM]
const int EV_375M_FRAMES
const int EV_DNB_FRAMES
const int NUM_BANDS
const int NUM_DETECTORS
float RVS_375m_BB[NUM_375M_BANDS][NUM_DETECTORS_375M][NUM_MIRROR_SIDES]
double HAM_ER_tp[MAX_HAM_ER_INDEX]
const int NUM_TOMM_THERM
float evCtPrecTrefMux1Ca[NUM_MAX_EV_CT_PREC_TREF_MUX1CA]
const int NUM_GAIN_RATIOS
float Tomm_Thermister_Weights[NUM_TOMM_THERM]
const int NUM_MAX_EV_CT_PREC_TREF_MUX1CA
const int MAX_OBC_RR_INDEX
int EBBT_indices[NUM_OF_EBBT_FILES][2]
double DNBCoeffs[NUM_ELECTRONICS_SIDE][NUM_ZONES][NUM_DETECTORS_DNB][MAX_NUM_GAIN][3]
const int EV_750M_SG_FRAMES
float defaultValue[NUM_MAX_THERMISTORS]
double RTA_ER_rad[MAX_RTA_ER_INDEX]
const int NUM_OF_OBCRR_FILES
int OBC_RR_indices[NUM_OF_OBCRR_FILES][2]
double F_ref[NUM_AGG_SEQ][NUM_DETECTORS_DNB][NUM_MIRROR_SIDES]
const int NUM_375M_BANDS
double OBC_RR_tp[MAX_OBC_RR_INDEX]
const int MAX_NUM_C_COEF
double F_param_2[NUM_VIIRS_BAND][MAX_NUM_DETECTOR][MAX_NUM_GAIN][NUM_MIRROR_SIDES]
const int NUM_THERMISTORS
float filterThreshold[NUM_MAX_THERMISTORS]
const int NUM_TMIR
const int MAX_RSR_VALUES
float RVS_750m_DG[NUM_750M_DG_BANDS][NUM_DETECTORS_750M][EV_750M_DG_FRAMES][NUM_MIRROR_SIDES]
const int NUM_TFPSM
double RTA_ER_tp[MAX_RTA_ER_INDEX]
float Ttel_Tsh_Tcav_Weights[NUM_TTEL_TSH_TCAV]
const int OneTempTwoTolerances
const int NUM_SZA_BINS
const int RSR_SIZE
const int MAX_NUM_DETECTOR
float VIIRS_DNB_SDR_STRAY_OFFSET[NUM_HEMISPHERES][NUM_SZA_BINS][SHORT_DNB_FRAMES][NUM_DETECTORS_DNB][NUM_MIRROR_SIDES]
const int MAX_NUM_GAIN
const int N_DNB_BANDS
double HAM_ER_rad[MAX_HAM_ER_INDEX]
const int EV_750M_DG_FRAMES
const int NUM_TELEC_THERM
double data[NUM_ELECTRONICS_SIDE][NUM_VIIRS_BAND][MAX_NUM_DETECTOR][NUM_M_I_GAIN_STATES][NUM_MIRROR_SIDES][NUM_TDET_LEVEL][DIM_NUM4]
const int NUM_AGG_SEQ
const int NUM_TCAV
const int SHORT_DNB_FRAMES
double DnbGainRatios[NUM_AGG_SEQ][NUM_DETECTORS_DNB][NUM_GAIN_RATIOS][NUM_DNB_GAIN_RATIO_COEFFS]
float dnbrvs[EV_DNB_FRAMES][NUM_DETECTORS_DNB][NUM_MIRROR_SIDES]
short offsets[DNB_VIIRS_RDR_COLS][NUM_DETECTORS_DNB][N_DNB_BANDS]
float teleCoeffs[NUM_MAX_THERMISTORS][NUM_TEMP_COEFFS]
double F_param_2[NUM_AGG_SEQ][NUM_DETECTORS_DNB][NUM_MIRROR_SIDES]
float bbNominalTemp_Tolerances[OneTempTwoTolerances]
const int MAX_HAM_ER_INDEX
const int NUM_DNB_GAIN_RATIO_COEFFS
const int NUM_REFL_PLUS_DNB_BANDS
const int NUM_T_MIR_THERMISTORS
const int NUM_TTELE
float RVS_750m_SV_SG[NUM_750M_SG_BANDS][NUM_DETECTORS_750M][NUM_MIRROR_SIDES]
double data[NUM_VIIRS_BAND]
const int NUM_TTEL_TSH_TCAV
double Tele[NUM_ELECTRONICS_SIDE][NUM_TELE_LEVEL]
const int NUM_TDET_LEVEL
const int NUM_FOCAL_PLANES
double OBC_RR_rad[MAX_OBC_RR_INDEX]
const int NUM_OF_RTAER_FILES
float RVS_750m_BB_DG[NUM_750M_DG_BANDS][NUM_DETECTORS_750M][NUM_MIRROR_SIDES]
const int NUM_DETECTORS_750M
const int NUM_MOON_OFFSET_LIMITS
float RVS_375m[NUM_375M_BANDS][NUM_DETECTORS_375M][EV_375M_FRAMES][NUM_MIRROR_SIDES]
float data[EV_DNB_FRAMES][NUM_DETECTORS_DNB][MAX_NUM_GAIN][NUM_MIRROR_SIDES]
const int NUM_BB_THERMISTORS
const int NUM_REFL_750M_DG_BANDS
const int NUM_750M_SG_BANDS
const int NUM_TFPLW
const int NUM_HEMISPHERES
const int MAX_RTA_ER_INDEX
double F_param_1[NUM_VIIRS_BAND][MAX_NUM_DETECTOR][MAX_NUM_GAIN][NUM_MIRROR_SIDES]
const int DIM_NUM4
const int NUM_MAX_THERMISTORS
float RVS_750m_SG[NUM_750M_SG_BANDS][NUM_DETECTORS_750M][EV_750M_SG_FRAMES][NUM_MIRROR_SIDES]
int T_mir_function_flag[NUM_T_MIR_THERMISTORS]
float RVS_750m_BB_SG[NUM_750M_SG_BANDS][NUM_DETECTORS_750M][NUM_MIRROR_SIDES]
const int NUM_TSH