Due to the lapse in federal government funding, NASA is not updating this website. We sincerely regret this inconvenience.
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