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