OB.DAAC Logo
NASA Logo
Ocean Color Science Software

ocssw V2022
VcstCmnConsts.h
Go to the documentation of this file.
1 /*****************************************************************************
2  *
3  * NAME: VcstCmnConsts.h
4  *
5  * DESCRIPTION: Defines constants used for Common Geolocation and Calibration.
6  *
7  * Adapted as a consolidation of several IDPS header files published by
8  * Raytheon Company.
9  *
10  * REFERENCES:
11  * Meeus, Jean, "Astronomical Algorithms, 2nd Edition," Willman-Bell Inc,
12  * Richmond VA, 1998, 477 pp.
13  *
14  *
15  *****************************************************************************/
16 
17 #ifndef VcstCmnGeoConsts_h
18 #define VcstCmnGeoConsts_h
19 
20 #include <math.h>
21 #include <string>
22 #include <VcstViirsStructs.h>
23 
24 const int TEL_START_ENC_NOMINAL_NPP = 30940;
25 const int HAM_START_ENC_NOMINAL_0_NPP = 10514;
26 const int HAM_START_ENC_NOMINAL_1_NPP = 10513;
27 const int SCAN_ENCDR_START_MAX_NPP = 32767;
28 
29 const int TEL_START_ENC_NOMINAL_J1 = 31002;
30 const int HAM_START_ENC_NOMINAL_0_J1 = 10579;
31 const int HAM_START_ENC_NOMINAL_1_J1 = 10579;
32 const int SCAN_ENCDR_START_MAX_J1 = 32767;
33 
34 const int TEL_START_ENC_NOMINAL_J2 = 30814;
35 const int HAM_START_ENC_NOMINAL_0_J2 = 10465;
36 const int HAM_START_ENC_NOMINAL_1_J2 = 10465;
37 const int SCAN_ENCDR_START_MAX_J2 = 32767;
38 
39 const signed char SCE_INVALID = -1;
40 const char SCE_A_SIDE_ON = 0; //DR4759 scan control electronics side
41 const char SCE_B_SIDE_ON = 1;
42 const int SCAN_SYNC_FAILURE = 1; //DR4795 tel/ham sync failure
43 const int SCAN_SYNC_NORMAL = 0;
44 const int SCAN_SYNC_UNDETERMINED = -1;
45 
46 const int VCST_SUCCESS = 0;
47 const int VCST_FAIL = 1;
48 const int VCST_WARNING = 2;
49 const int VCST_STOP = 3;
50 const int VCST_INIT_FAIL = 4;
51 const int VCST_CROSSGRAN_FAIL = 5;
52 const int VCST_TILE_FAIL = 6;
53 const int VCST_NO_DATA = 7;
54 const int VCST_THREAD_LAUNCHED = 8;
55 const int VCST_GEO_WARNING = 12;
56 const int VCST_GEO_OLD_TLE = 14;
57 
62 const int VCST_BANDS = 22;
63 
64 // L1A fills
65 const double VCST_DOUBLE_FILL = -999.9e0;
66 const float VCST_FLOAT_FILL = -999.9;
67 const long long VCST_INT64_FILL = -999;
68 const int VCST_INT32_FILL = -999;
69 const short VCST_SHORT_FILL = -999;
70 const short VCST_USHORT_FILL = 32767;
71 const signed char VCST_BYTE_FILL = -1;
72 const unsigned char VCST_UBYTE_FILL = 255;
73 
74 // Ellipsoid Intersection Failed
75 const double ELLIPSOID_FLOAT64_FILL = -999.9e0;
76 const float ELLIPSOID_FLOAT32_FILL = -999.9;
77 
78 // Algorithm could not compute the pixel because of a software problem
79 // ie. couldn't converge
80 const double ERR_FLOAT64_FILL = -999.9e0;
81 const float ERR_FLOAT32_FILL = -999.9;
82 
83 //Missing - C3S provided a fill value or AP missing
84 const double MISS_FLOAT64_FILL = -999.9e0;
85 const float MISS_FLOAT32_FILL = -999.9;
86 const long long MISS_INT64_FILL = -999;
87 const int MISS_INT32_FILL = -999;
88 const unsigned char MISS_UINT8_FILL = 255;
89 
90 // The pixel was not to be computed because it is not applicable to situation
91 const double NA_FLOAT64_FILL = -999.9e0;
92 const long long NA_INT64_FILL = -999;
93 
94 // Value Does Not Exist/Missing Scan
95 const double VDNE_FLOAT64_FILL = -999.9e0;
96 
97 // Fill Tests
98 const long long INT64_FILL_TEST = -990;
99 const double FLOAT64_FILL_TEST = -999.0e0;
100 const float FLOAT32_FILL_TEST = -999.0;
101 
102 // Error codes for Cmn Geo
103 
104 const int CMNGEO_WARNING = 12;
105 const int CMNGEO_OLD_TLE = 14;
106 
107 // Band groups
108 const int NUM_DNB_BANDS = 1;
109 const int NUM_REFL_375M_BANDS = 3;
110 const int NUM_REFL_750M_BANDS = 11;
112 const int NUM_EMISS_375M_BANDS = 2;
113 const int NUM_EMISS_750M_BANDS = 5;
116 const int NUM_REFLECTIVE_BANDS = 15;
118  - NUM_DNB_BANDS;
119 const int NUM_EMISSIVE_BANDS = 7; // m12,m13,m14,m15,m16,i4,i5
120 const int NUM_REFLECTIVE_BT = 3; // M7,M8,M10
121 const int NUM_VIS_BANDS = 9;
122 const int NUM_SMIR_BANDS = 8;
123 const int NUM_LW_BANDS = 4;
124 
125 const int EMISSIVE_BANDS_INDEX[NUM_EMISSIVE_BANDS] ={3, 4, 16, 17, 18, 19, 20};
126 const int VIS_BAND_INDEX[NUM_VIS_BANDS] = {0, 1, 5, 6, 7, 8, 9, 10, 11}; /* I1,2 M1-7 */
127 const int SMIR_BAND_INDEX[NUM_SMIR_BANDS] = {2, 3, 12, 13, 14, 15, 16, 17}; /* I3,4 M8-13*/
128 const int LWIR_BAND_INDEX[NUM_LW_BANDS] = {4, 18, 19, 20}; /* I5 M14-16 */
129 
130 const int CMNGEO_MIN_MAX_DIM = 2;
131 
132 const int JPL_EPHEM_ROW = 460;
133 const int JPL_EPHEM_COL = 826;
134 const int JPL_IPT_ROW = 13;
135 const int JPL_IPT_COL = 3;
136 
137 const int SD_MATRIX_COL = 3;
138 const int SD_MATRIX_ROW = 3;
139 
140 const int SDSM_COEF = 6;
141 const int SDSM_DETECTORS = 8;
142 const int SDSM_SAMPLES = 5;
143 const int BB_THERMISTORS = 6;
144 
145 const unsigned char SDSM_POS_HOME = 0;
146 const unsigned char SDSM_POS_HOME_RAW = 0;
147 const unsigned char SDSM_POS_SD_VIEW = 1;
148 const unsigned char SDSM_POS_SD_VIEW_RAW = 28;
149 const unsigned char SDSM_POS_SUN_VIEW = 2;
150 const unsigned char SDSM_POS_SUN_VIEW_RAW = 67;
151 
152 const double TAI93_TAI58_SEC = 1104537627.0;
153 const double AU_TO_METERS = 149597870700.0;
154 
155 const int MOON_INSIDE_SV_KOB = 1;
156 const int MOON_OUTSIDE_SV_KOB = 0;
158 const int TRK_UPPER = 0; // track upper limit index
159 const int TRK_LOWER = 1; // track lower limit index
160 const int SCN_UPPER = 2; // scan upper limit index
161 const int SCN_LOWER = 3; // scan lower limit index
162 
163 const int MAX_STRING_LENGTH = 255;
164 
165 const int HAM_ENCDR_START_NOT_NOMINAL = 1; //DR4767 non nominal ham encoder start
171 
172 //DR4777 bit 5 for non nominal telescope encoder start
173 const unsigned char SDR_SCAN_QUALITY_TEL_START_IS_NOMINAL = 0x00; //00000000
174 const unsigned char SDR_SCAN_QUALITY_TEL_START_NOT_NOMINAL = 0x10; //000x0000
175 //DR4795 bit 4 for scan sync failure
176 const unsigned char SDR_SCAN_QUALITY_SCAN_SYNC_NORMAL = 0x00; //00000000
177 const unsigned char SDR_SCAN_QUALITY_SCAN_SYNC_FAILURE = 0x08; //0000x000
178 
179 const unsigned char VRDR_ENG_ENCODER_VALID_DATA = 0;
180 const unsigned char VRDR_ENG_ENCODER_NO_DATA = 1;
181 const unsigned char VRDR_ENG_ENCODER_MASK = 0x1;
182 const unsigned char VRDR_ENG_ENCODER_SHIFT = 0;
183 
184 // size of a quaternion
185 const int QUAT_SIZE = 4;
186 
187 // size of a vector
188 const int VEC_SIZE = 3;
189 
190 // time in microseconds of a full viirs scan
191 const double VIIRS_SCAN_RATE = 1.786400;
192 
193 // Angular values are from Y3261
194 const double START_OF_EV_DEG = -56.04;
195 const double MIDDLE_OF_SV_DEG = -65.40;
196 const double MIDDLE_OF_SD_DEG = 157.42;
197 const double MIDDLE_OF_BB_DEG = 100.0;
198 
199 // the solar diffuser center view time offset from the start of the
200 // scan time. start of scan time is the beginning of the earth view
201 // (VIIRS_SCAN_RATE / 360.0) * (MIDDLE_OF_SD_DEG - START_OF_EV_DEG);
202 
204 
205 // the space view center view time offset from the start of the
206 // scan time. start of scan time is the begining of the earthview
207 // Note the correct space view to consider is actually just prior to
208 // to the earth view and the offset becomes negative
209 // (VIIRS_SCAN_RATE / 360.0) * (MIDDLE_OF_SV_DEG - START_OF_EV_DEG);
210 
212 
213 // the black body center view time offset from the start of the
214 // scan time. start of scan time is the beginning of the earth view
215 // (VIIRS_SCAN_RATE / 360.0) * (MIDDLE_OF_BB_DEG - START_OF_EV_DEG);
216 
218 
219 // Number of seconds in 30 minutes
220 const double SEC_IN_30MIN = 1800.0e+0;
221 
222 // Fraction of a second to check if a leap second
223 // has occurred in UT1mUTC data.
224 //TODO: Randy's code sets this to .5
225 // and does the interpolation differently for leap seconds!
226 const double LEAPSEC_DETECT = 0.65e0;
227 
228 // Difference between estimated lat and calculated lat
229 const double MAX_LAT_DIFF = 1.e-10;
230 
231 // Instrument frame to ECR transformation matrix
232 const double tMtrxInst2SC[VEC_SIZE][VEC_SIZE] = {
233  { 1.0, 0.0, 0.0},
234  { 0.0, 1.0, 0.0},
235  { 0.0, 0.0, 1.0}
236 };
237 
238 // Constant for the value 1000.0
239 const double KILO = 1000.0e0;
240 
241 // Constant for the value 1/1000.0
242 // (used for meters to kilometers conversion)
243 const double INV_KILO = 1.0e-3;
244 
245 // Maximum number of seconds of difference between 2 packets.
246 // If difference exceeds this amount, interpolate for missing packets
247 const double PKT_TIME_TOL = 1.8e0;
248 
249 // Minimum number of points before and after granule start/stop time
250 // that CmnGeo would like to have
251 const int MIN_POINTS = 2;
252 
253 // Approximately 1cm when muliplied by Equitoral radius
254 const double APPROX_1CM = 1.5e-09;
255 
256 // The following constants are Flag definitions
257 
258 // Flag for converting Eci to Ecr
259 const int ECI2ECR = 0;
260 
261 // Flag for converting Ecr to Eci
262 const int ECR2ECI = 1;
263 
264 // Flag for calculating Sun values
265 const int SUN_FLAG = 0;
266 
267 // Flag for calculating Moon values
268 const int MOON_FLAG = 1;
269 
270 // Constant for NOVAS-C designation of Earth
271 const int NOVASC_EARTH = 3;
272 
273 // Constant for NOVAS-C designation of Sun
274 const int NOVASC_SUN = 10;
275 
276 // Constant for NOVAS-C designation of Moon
277 const int NOVASC_MOON = 11;
278 
279 // Constant for NOVAS-C function equ2hor. This selects the
280 // standard atmosphere refraction model
281 const short NOVASC_REFRACT = 0;
282 
283 // Max number of eclipses to cache
284 const short PRO_GEO_MAX_ECLIPSES = 3;
285 
286 // Time of the New Moon for Jan 6, 2000, in TJD/JDE (Terrestrial Dynamic
287 // Julian Day = Julian Day Ephemeris, in Meeus' terminology). From
288 // Meeus, pg. 349 (eq 49.1).
289 const double TJD_JAN2000_NEWMOON = 2451550.09766;
290 
291 // Length of the mean synodic period of the Moon, i.e., the mean interval
292 // between two consecutive New Moons, in days. From Meeus, pg. 349
293 // (eq. 49.1).
294 const double MOON_PERIOD_DAYS = 29.530588861;
295 
296 // Angular semidiameter of the Sun at a distance of 1 AU, in radians
297 // (equiv. to Meeus value of 959".63). See Meeus, pg. 389.
298 const double SUN_SEMIDIAM = 4.6524e-3;
299 
300 // Radius of the Moon, derived from the Meeus' value of "k" = 0.272481,
301 // which is the ratio of the Moon's mean radius to equatorial radius of
302 // the Earth, times the equatorial radius of the Earth from ProCmnPhysConst.h
303 // Units are meters. See Meeus, pg. 390
304 const double LUNAR_RADIUS = 1.73792e6;
305 
306 // The following are from ProCmnMathConsts.h
307 
308 // index for X component in an array
309 const int X_COM = 0;
310 
311 // index for Y component in an array
312 const int Y_COM = 1;
313 
314 // index for Z component in an array
315 const int Z_COM = 2;
316 
317 // index for Roll component in an attitude array
318 const int ROLL_COM = 0;
319 
320 // index for Pitch component in an attitude array
321 const int PITCH_COM = 1;
322 
323 // index for Yaw component in an attitude array
324 const int YAW_COM = 2;
325 
326 // index for I component in quaternion array
327 const int I_COM = 0;
328 
329 // index for J component in quaternion array
330 const int J_COM = 1;
331 
332 // index for K component in quaternion array
333 const int K_COM = 2;
334 
335 // index for W component in quaternion array
336 const int W_COM = 3;
337 
338 // Minimum quaternion magnitude
339 const double QUAT_MIN_MAG = 9.999999e-1;
340 
341 // Maximum quaternion magnitude
342 const double QUAT_MAX_MAG = 1.000001e0;
343 
344 // Value of PI/2 in Float32 format
345 const float FLOAT32_PIO2 = 1.570795;
346 
347 // Value of PI in float format
348 const float FLOAT32_PI = 3.141591;
349 
350 const double PI = M_PI; // math constant pi
351 const double PIO2 = M_PI_2; // pi/2
352 const double PIO4 = M_PI_4; // pi/4
353 const double TREPIO2 = 3.0L * M_PI / 2.0L; // 3*pi/2
355 
356 // used to convert degrees to radians
357 //const double DEG2RAD = M_PI/180.0L; // (pi/180)
358 
359 // used to convert radians to degrees
360 //const double RAD2DEG = 180.0L/M_PI; // (180/pi)
361 
362 // used to convert degrees to arcsec
363 const double DEG2ARCSEC = 3600.0L; // seconds in a degree
364 
365 // Universal Gas Constant - used to compute virtual temp. J/(kg*K)
366 const float DRYGAS = 287.05;
367 
368 // Average Atmospheric Pressure at Sea Level
369 const double AVG_PRESS_SEALVL = 1013.25e0;
370 
371 // Gravity (m/s^2)
372 const double GRAVITY = 9.80665;
373 
374 // Radius of the Area Weighting Reference Sphere (m)
375 // This is NOT the radius of the earth and should not be used for any
376 // calculations other than by Area Weighting to determine if a pixel
377 // is near the pole.
378 const double EARTH_RADIUS_METERS = 6371007.181;
379 
380 // The following constant definitions are the WGS84 Earth Ellipsoid
381 // constants. The main reference for the WGS84 ellipsoid is
382 // NIMA Physical Geodesy web page: 164.214.2.59/GandG/wgs-84/egm96.htm
383 // See the updated page with the link to the NIMA TR8350.2 document:
384 // http://earth-info.nga.mil/GandG/publications/tr8350.2/tr8350_2.html
385 // The Flattening Factor(f) is computed from f = 1/298.257223563.
386 const double EQUAT_RAD = 6.37813700000000e+6; // Equatoral rad., meters WGS84
387 const double POLAR_RAD = 6.35675231424518e+6; // Polar radius, meters WGS84
388 const double ECCEN_SQ = 6.69437999014132e-3; // Eccentricity Squared WGS84
389 const double FLATFAC = 3.35281066474748071e-3; // Flattening Factor WGS84
390 
391 // Earth Gravitational Parameter mu (G*M) in m^3 per s^2 from WGS84.
392 // The central term in the Earth's gravitational field (GM) is known with
393 // much greater accuracy than either 'G', the universal gravitational
394 // constant, or 'M', the mass of the Earth. The refined value accounting
395 // for the mass of the atmosphere is (3986004.418 +/- 0.008) e+8 m^3/s^2.
396 // GPS OCS applications take advantage of the improved value, however,
397 // Section 3.2.3.2 and the ICD-GPS-200 recommends the original WGS 84 GM
398 // value to avoid introduction of error to the GPS user.
399 const double EARTH_GRAV_mu = 3.986005000e+14;
400 
401 // USAF Orbit Analyst Manuals, circa 1978. 1 - eccen_sqr
402 const double DETIC2CENTRIC = 9.93305620009859e-1;
403 const double CENTRIC2DETIC = 1.00673949674228e+0;
404 
405 // The following constant definitions are for time conversions
406 
407 const double TAI2IET = 1.0e+06; // Conversion factor
408 const double MIN_IN_HOUR = 60.0e+0; // Number of minutes in an hour
409 const double SEC_IN_HOUR = 3600.0e+0; // Number of seconds in an hour
410 const double MJD_CONV_FAC = 2.4000005e+6; // Factor to convert AJD to MJD
411 const double SEC_IN_DAY = 8.64e+04; // Number of seconds in a day
412 const double UJD58 = 2.43620450e+06; // Jan 1 1958 UJD format
413 const double JAN012030 = 2.272147232e+09; // Jan 1 2030 TAI format
414 const double TJD_CONV_FAC = 32.184e+0; // Factor to convert TAI to TJD
415 const double DEG_IN_HOUR = 15.0e+0; // Number of degrees in an hour
416 
417 // The following constant definitions are for polarstereographic dataset
418 const double MINUS30 = -0.523598775598299e0; // -30 degrees in radians
419 const double PLUS30 = 0.523598775598299e0; // 30 degrees in radians
420 
421 // The following constant definitions are for nwp ancillary granulation
422 // declare constant for calculation of water vapor mixing ratio (r)
423 const double GAS = 621.97; //-- ratio of the molecular weight
424 //-- of water vapor to dry air
425 //-- in units of grams/kilogram
426 
427 // declare just a few of the more popular of the twenty SI prefixes
428 const double MICRO = 0.000001; //-- scale by 1/1000000th
429 const double MILLI = 0.001; //-- scale by 1/1000th
430 const double CENTI = 0.01; //-- scale by 1/100th
431 const double DECI = 0.1; //-- scale by 1/10th
432 const double DEKA = 10.0; //-- scale by 10x
433 const double HECTO = 100.0; //-- scale by 100x
434 
435 // Kelvin/Celsius conversion factor
436 const double TCOEFF = 273.15;
437 
438 // Constant used to generate surface reflectance
439 // multiplier to convert pascal to atmospheres (1 atm = 101325 pascal)
440 const float PRESS_CONV = 1.0 / 101325.0;
441 
442 // Standard Atmosphere Surface Pressure
443 const double STDPSL = 1013.0;
444 
445 // Moist air adiabatic lapse rate is 6.5 K/Km (equivalent to 6.5 C/Km)
446 // Converted value would be .0065 C/m
447 const double MOIST_AIR_LAPSE_RATE = 6.5 / 1000;
448 
449 // Constant used to convert atm-cm to Dobson units
450 const double ATM_CM2DOBSON = 1000.0;
451 
452 /*******************************************************************************
453  *
454  * NAME: maptrig_main
455  *
456  * DESCRIPTION: Several constants always needed for map conversions are defined
457  * in a way that makes them global. Each function that uses these constants
458  * does an include on "maptrig_func.h"
459  *
460  * REFERENCES: none
461  *
462  * LIMITATIONS: none
463  *
464  * REVISION/EVENT HISTORY:
465  * DATE PR# AUTHOR Build DESCRIPTION
466  * --------- --- ------ ----- -----------
467  * 01MAR2010 021991 J. Gibbs SenChar Added defines
468  *
469  * NOTES (MISCELLANEOUS) SECTION:
470  *
471  *******************************************************************************/
472 
473 const double pi = 3.14159265358979e+0; /* widely known math constant pi */
474 const double pio2 = 1.57079632679490e+0; /* pi/2 */
475 const double trepio2 = 4.71238898038470e+0; /* 3*pi/2 */
476 const double pio4 = 7.85398163397448e-1; /* pi/4 */
477 const double twopi = 6.28318530717960e+0; /* 2*pi */
478 const double deg2rad = 1.74532925199433e-2; /* converts degrees to radians */
479 const double rad2deg = 5.72957795130822e+1; /* converts radians to degrees */
480 
481 /***************************************************************************
482  WGS84 Earth Ellipsoid constants needed by earth_radius and other functions
483  The main reference for the WGS84 ellipsoid is NIMA Physical Geodesy
484  source document on internet:
485  http://earth-info.nga.mil/GandG/publications/tr8350.2/wgs84fin.pdf
486  Equatorial radius and Inverse Flattening factor on page 3-2.
487 
488  NOTE: These constants can have 15 significant digits, or as many digits
489  as desired, because NIMA specifically defined the WGS84 Equatorial radius
490  to exactly 6,378,137 meters, with no fraction after that. They also
491  defined the number 1/f (see flatinv below) with as many zeroes behind it
492  as you want to add. So all the numbers associated with the WGS84 Ellipsoid
493  can be calculated to as many significant digits as desired.
494 
495  NOTE: Inverse of the Earth Flattening factor is from the definition
496  of WGS84, and is 1/f. (It is inside a comment block because it is not
497  directly used, but the other constants shown here are calculated from
498  it.)
499  double flatinv=298.257223563000e+0;
500 
501  NOTE: WGS84 Earth flattening factor is f. (It is inside a comment block
502  because it is not directly used.)
503  double flatten=3.35281066474748e-3;
504 
505  NOTE: The following constants are directly used by earth_radius, and/or
506  other functions.
507 
508  equatorial radius, in kilometers, is from the definition of WGS84
509  equatorial radius in meters
510  polar radius in meters
511  eccentricity squared is from e^2 = f(2 - f)
512  detic2centric is explained in earth_radius.cpp
513  centric2detic is the inverse of the above
514  delta is explained in the comments in earth_radius.cpp
515  **********************/
516 
517 const double eq_rad_km = 6.37813700000000e+3; /* equatorial radius, KM */
518 const double eq_radm = 6.37813700000000e+6; /* equatorial radius, meters */
519 const double pole_radm = 6.35675231424518e+6; /* polar_radius, meters */
520 const double eccen_sqr = 6.69437999014132e-3; /* e^2 = f(2 - f) */
521 const double detic2centric = 9.93305620009859e-1; /* 1 - e^2 */
522 const double centric2detic = 1.00673949674228e+0; /* 1 / (1 - e^2) */
523 const double delta = 6.73949674227643e-3; /* ( 1/(1-f)^2 ) - 1 */
524 
525 #endif
#define SC_Diary_Records_10Hz
const int JPL_EPHEM_COL
const int BB_THERMISTORS
const double MISS_FLOAT64_FILL
Definition: VcstCmnConsts.h:84
const double tMtrxInst2SC[VEC_SIZE][VEC_SIZE]
const int NUM_REFL_750M_BANDS
const double UJD58
const int TRK_LOWER
const unsigned char SDSM_POS_SD_VIEW_RAW
const int VCST_SUCCESS
Definition: VcstCmnConsts.h:46
const int VCST_FAIL
Definition: VcstCmnConsts.h:47
const int HAM_START_ENC_NOMINAL_1_J2
Definition: VcstCmnConsts.h:36
const int HAM_ENCDR_START_NOT_NOMINAL
const int TEL_ENCDR_START_NOT_NOMINAL
const float PRESS_CONV
const double pio4
const double PKT_TIME_TOL
const double MINUS30
const double VIIRS_SCAN_RATE
const int TEL_ENCDR_START_UNDETERMINED
const double BB_VIEW_CENTER_OFFSET_FROM_START_OF_SCAN
const int VCST_NO_DATA
Definition: VcstCmnConsts.h:53
const double HECTO
const double MILLI
const short PRO_GEO_MAX_ECLIPSES
const int VCST_BANDS
Definition: VcstCmnConsts.h:62
const int VCST_GEO_WARNING
Definition: VcstCmnConsts.h:55
const int PITCH_COM
const double VDNE_FLOAT64_FILL
Definition: VcstCmnConsts.h:95
const int VCST_TILE_FAIL
Definition: VcstCmnConsts.h:52
const char SCE_A_SIDE_ON
Definition: VcstCmnConsts.h:40
const long long MISS_INT64_FILL
Definition: VcstCmnConsts.h:86
const int NUM_REFL_750M_SG_BANDS
const double CENTI
const int MOON_OUTSIDE_SV_KOB
const int SMIR_BAND_INDEX[NUM_SMIR_BANDS]
const double eq_rad_km
const int HAM_START_ENC_NOMINAL_1_NPP
Definition: VcstCmnConsts.h:26
const double deg2rad
const float FLOAT32_PIO2
const int VIS_BAND_INDEX[NUM_VIS_BANDS]
const int SCAN_SYNC_FAILURE
Definition: VcstCmnConsts.h:42
const double START_OF_EV_DEG
const int VCST_THREAD_LAUNCHED
Definition: VcstCmnConsts.h:54
const unsigned char VRDR_ENG_ENCODER_NO_DATA
const int YAW_COM
const double DETIC2CENTRIC
const double pi
const long long VCST_INT64_FILL
Definition: VcstCmnConsts.h:67
const int W_COM
const int NOVASC_EARTH
const double NA_FLOAT64_FILL
Definition: VcstCmnConsts.h:91
const double MICRO
const double TAI93_TAI58_SEC
const double PLUS30
const unsigned char SDR_SCAN_QUALITY_TEL_START_NOT_NOMINAL
const int SD_MATRIX_ROW
const double LEAPSEC_DETECT
const int LWIR_BAND_INDEX[NUM_LW_BANDS]
const double ERR_FLOAT64_FILL
Definition: VcstCmnConsts.h:80
const int NOVASC_MOON
const int NUM_REFLECTIVE_BANDS_WITHOUT_DNB
const unsigned char SDR_SCAN_QUALITY_TEL_START_IS_NOMINAL
const double MOON_PERIOD_DAYS
const int TRK_UPPER
const double detic2centric
const double ECCEN_SQ
const int HAM_START_ENC_NOMINAL_0_J1
Definition: VcstCmnConsts.h:30
const int NUM_REFLECTIVE_BT
const double MIN_IN_HOUR
const int JPL_EPHEM_ROW
const double MOIST_AIR_LAPSE_RATE
const double SUN_SEMIDIAM
const int HAM_START_ENC_NOMINAL_0_J2
Definition: VcstCmnConsts.h:35
const double FLATFAC
#define Number_of_Scans
const signed char SCE_INVALID
Definition: VcstCmnConsts.h:39
const long long INT64_FILL_TEST
Definition: VcstCmnConsts.h:98
const double SEC_IN_DAY
const float FLOAT32_FILL_TEST
const int Y_COM
const int K_COM
const double MIDDLE_OF_SD_DEG
const double CENTRIC2DETIC
const int HAM_START_ENC_NOMINAL_1_J1
Definition: VcstCmnConsts.h:31
const int VCST_STOP
Definition: VcstCmnConsts.h:49
const double TJD_JAN2000_NEWMOON
const short VCST_SHORT_FILL
Definition: VcstCmnConsts.h:69
const double FLOAT64_FILL_TEST
Definition: VcstCmnConsts.h:99
const int SCN_LOWER
const int NUM_SMIR_BANDS
const int VCST_GEO_OLD_TLE
Definition: VcstCmnConsts.h:56
const int MOON_FLAG
const int SD_MATRIX_COL
const int TEL_ENCDR_START_IS_NOMINAL
const float ERR_FLOAT32_FILL
Definition: VcstCmnConsts.h:81
const double GAS
const double SEC_IN_30MIN
const int NUM_EMISS_750M_BANDS
const double LUNAR_RADIUS
const int MAX_STRING_LENGTH
const double eq_radm
const int SC_DIARY_RECORDS
Definition: VcstCmnConsts.h:59
const double DEKA
const int VCST_INIT_FAIL
Definition: VcstCmnConsts.h:50
const int HAM_START_ENC_NOMINAL_0_NPP
Definition: VcstCmnConsts.h:25
const float FLOAT32_PI
const float MISS_FLOAT32_FILL
Definition: VcstCmnConsts.h:85
const double QUAT_MIN_MAG
const double VCST_DOUBLE_FILL
Definition: VcstCmnConsts.h:65
const int SUN_FLAG
const float DRYGAS
const int TEL_START_ENC_NOMINAL_NPP
Definition: VcstCmnConsts.h:24
const double EARTH_GRAV_mu
const int NUM_REFLECTIVE_BANDS
const int SCAN_SYNC_UNDETERMINED
Definition: VcstCmnConsts.h:44
const int NUM_VIS_BANDS
const int JPL_IPT_COL
const double EARTH_RADIUS_METERS
const float VCST_FLOAT_FILL
Definition: VcstCmnConsts.h:66
const double centric2detic
const int SCN_UPPER
const double STDPSL
const int VEC_SIZE
const int JPL_IPT_ROW
const int NUM_LW_BANDS
const double INV_KILO
const int J_COM
const double delta
const int SCAN_ENCDR_START_MAX_J1
Definition: VcstCmnConsts.h:32
const unsigned char VRDR_ENG_ENCODER_SHIFT
#define M_PI
Definition: pml_iop.h:15
const int I_COM
const int SDSM_SAMPLES
const short NOVASC_REFRACT
const unsigned char MISS_UINT8_FILL
Definition: VcstCmnConsts.h:88
const double TCOEFF
const double JAN012030
const int CMNGEO_OLD_TLE
const double POLAR_RAD
const unsigned char VRDR_ENG_ENCODER_VALID_DATA
const unsigned char SDSM_POS_SUN_VIEW_RAW
const double trepio2
const int UNDETERMINED_MOON_IN_SV_KOB
const double SD_VIEW_CENTER_OFFSET_FROM_START_OF_SCAN
const double TREPIO2
const double QUAT_MAX_MAG
const int NUM_DNB_BANDS
const int HAM_ENCDR_START_UNDETERMINED
const int TEL_START_ENC_NOMINAL_J1
Definition: VcstCmnConsts.h:29
const double DEG2ARCSEC
const double TWOPI = 2.0L*M_PI; // 2*pi
const double ELLIPSOID_FLOAT64_FILL
Definition: VcstCmnConsts.h:75
const int QUAT_SIZE
const short VCST_USHORT_FILL
Definition: VcstCmnConsts.h:70
const double SV_VIEW_CENTER_OFFSET_FROM_START_OF_SCAN
const unsigned char SDR_SCAN_QUALITY_SCAN_SYNC_FAILURE
const unsigned char SDSM_POS_SUN_VIEW
const int SCAN_ENCDR_START_MAX_J2
Definition: VcstCmnConsts.h:37
const float ELLIPSOID_FLOAT32_FILL
Definition: VcstCmnConsts.h:76
const long long NA_INT64_FILL
Definition: VcstCmnConsts.h:92
const int NUM_EMISS_750M_SG_BANDS
const int X_COM
const signed char VCST_BYTE_FILL
Definition: VcstCmnConsts.h:71
const double APPROX_1CM
const double GRAVITY
const double MJD_CONV_FAC
const int TEL_START_ENC_NOMINAL_J2
Definition: VcstCmnConsts.h:34
const int CMNGEO_MIN_MAX_DIM
const double TJD_CONV_FAC
const unsigned char SDR_SCAN_QUALITY_SCAN_SYNC_NORMAL
const int SDSM_COEF
const int EMISSIVE_BANDS_INDEX[NUM_EMISSIVE_BANDS]
const int VCST_CROSSGRAN_FAIL
Definition: VcstCmnConsts.h:51
const double DEG_IN_HOUR
const unsigned char SDSM_POS_HOME
const int NUM_REFL_375M_BANDS
const unsigned char SDSM_POS_SD_VIEW
const double MIDDLE_OF_SV_DEG
const int SC_DIARY_RECORDS_10HZ
Definition: VcstCmnConsts.h:60
const int Z_COM
const int SCAN_SYNC_NORMAL
Definition: VcstCmnConsts.h:43
const int CMNGEO_WARNING
const double AVG_PRESS_SEALVL
const double PIO2
const int VIIRS_SCANS
Definition: VcstCmnConsts.h:58
const double ATM_CM2DOBSON
const int SC_DIARY_RECORDS_1HZ
Definition: VcstCmnConsts.h:61
const double DECI
const unsigned char SDSM_POS_HOME_RAW
#define SC_Diary_Records_1Hz
const double EQUAT_RAD
const int HAM_ENCDR_START_IS_NOMINAL
const unsigned char VCST_UBYTE_FILL
Definition: VcstCmnConsts.h:72
const int VCST_INT32_FILL
Definition: VcstCmnConsts.h:68
const int ROLL_COM
const double pio2
const double twopi
const int VCST_WARNING
Definition: VcstCmnConsts.h:48
const int NUM_EMISS_750M_DG_BANDS
#define SC_Diary_Records
const double SEC_IN_HOUR
const unsigned char VRDR_ENG_ENCODER_MASK
const double rad2deg
const double AU_TO_METERS
const int NUM_EMISSIVE_BANDS
const int ECI2ECR
const double eccen_sqr
const int SCAN_ENCDR_START_MAX_NPP
Definition: VcstCmnConsts.h:27
const int MOON_INSIDE_SV_KOB
const int ECR2ECI
const int MIN_POINTS
const int NOVASC_SUN
const char SCE_B_SIDE_ON
Definition: VcstCmnConsts.h:41
const double PI
const int MISS_INT32_FILL
Definition: VcstCmnConsts.h:87
const int SDSM_DETECTORS
const double TAI2IET
const double MAX_LAT_DIFF
const double pole_radm
const int NUM_EMISS_375M_BANDS
const double MIDDLE_OF_BB_DEG
const double KILO
const double PIO4