OB.DAAC Logo
NASA Logo
Ocean Color Science Software

ocssw V2022
GEO_global_arrays.h
Go to the documentation of this file.
1 /*
2 !C-INC**************************************************************************
3 !Description: the declaration of the global array variables for the
4  Level-1A geolocation software
5 
6 !Input Parameters: N/A
7 
8 !Output Parameters: N/A
9 
10 !Revision History:
11  * $Log: GEO_global_arrays.h,v $
12  * Revision 6.4 2010/12/15 22:56:47 kuyper
13  * Merged *_IDX macros with *_index enumeration constants into *_IDX
14  * enumeration constants.
15  *
16  * Revision 6.3 2010/05/03 18:15:38 kuyper
17  * Reinstated xyzRotRates member of sc_state_struct.
18  *
19  * James Kuyper James.R.Kuyper@NASA.gov
20  *
21  * Revision 6.2 2010/04/01 19:53:32 kuyper
22  * Helped resolve Bug 2472 by adding qualityFlags to sc_state_struct.
23  *
24  * Revision 6.1 2009/04/17 16:24:57 kuyper
25  * Removed most global arrays.
26  * Changed MAX_SCAN_SAMPLE to MAX_PADDED.
27  *
28  * Revision 4.1 2003/08/22 14:10:25 kuyper
29  * Removed sc_attitude.
30  *
31  * Revision 3.1 2001/04/03 00:25:26 kuyper
32  * Removed obsolete global mirr_side.
33  *
34  * Revision 2.6 2001/03/01 19:38:34 rtian
35  * change mirr_impulse_enc and mirr_impulse_time to be array of pointer to double.
36  * rtian@gscmail.gsfc.nasa.gov
37  *
38  * Revision 2.5 1999/03/12 17:48:37 kuyper
39  * Capitalized Prolog Sections
40  *
41  * Revision 2.4 1999/01/22 17:00:19 kuyper
42  * Removed sc_evolution and it's typedef.
43  * Removed xyzRotRates from sc_state_struct.
44  *
45  * Revision 2.3 1997/11/07 16:11:21 kuyper
46  * Changed pixel_flags to unsigned char, to match gflags.
47  * Made include guard macro names ANSI compliant.
48  *
49  * Revision 2.2 1997/10/24 13:25:57 kuyper
50  * Removed ecs_sc_* arrays.
51  *
52  * Revision 2.1 1997/10/21 18:15:47 kuyper
53  * Returned from ClearCase
54  *
55  Revision /main/GEO_V2_DEV/2 on 30-Sep-97.00:43:14
56  by Jeffrey Blanchette (jjb@modis-xl.gsfc.nasa.gov)
57  "Added sample_to_sensor enumerated indices.
58  Removed range_scale global."
59 
60  * Revision 1.8 1997/07/18 21:58:00 kuyper
61  * Baselined Version 1
62  *
63  * Revision 1.8 1997/03/26 19:09:37 fhliang
64  * Initial revision of SDST delivery of GEO_global_arrays.h.
65  *
66  Revision 1.7 1997/01/02 16:29:05 kuyper
67  Added sc_angvel.
68 
69  Revision 1.6 1996/11/07 16:19:22 kuyper
70  Added array index macros for lat,lon,height vectors.
71 
72  Revision 1.5 1996/09/17 19:33:22 kuyper
73  Moved various global arrays into sc_evolution struct.
74 
75  Revision 1.4 1996/07/24 22:14:31 kuyper
76  Inserted required '!'s in comments.
77 
78  Revision 1.3 1996/07/18 22:14:41 kuyper
79  Included GEO_geo.h for MAX_DETECTORS definition.
80 
81  Revision 1.2 1996/07/18 21:56:13 kuyper
82  Converted definitions to extern declarations.
83  Removed samples_per_scan, sector_start_enc.
84 
85 
86  5/22/95
87  Frederick S. Patt (patt@modis-xl.gsfc.nasa.gov)
88  Created this include file from GEO_global.h
89 
90  6/21/95
91  Frederick S. Patt (patt@modis-xl.gsfc.nasa.gov)
92  Clean up and verify consistency with code
93 
94 !Team-unique Header:
95  This software is developed by the MODIS Science Data Support
96  Team for the National Aeronautics and Space Administration,
97  Goddard Space Flight Center, under contract NAS5-32373.
98 
99 !END****************************************************************************
100 */
101 
102 
103 #ifndef GEO_GLOBAL_ARRAYS_H
104 #define GEO_GLOBAL_ARRAYS_H
105 #include "hdfi.h"
106 #include "PGS_TYPES.h"
107 #include "GEO_geo.h"
108 
109 
110 /**********************************************************
111 variables for one granule of the input data based on scan
112 **********************************************************/
113 
114 /* Earth sector start time for the scans in a granule */
115 extern double scan_start_time[MAX_SCAN_NUMBER];
116 
118 typedef struct {
119  PGSt_double time; /* record time, TAI seconds */
120  PGSt_double position[3]; /* ECI postion, meters */
121  PGSt_double velocity[3]; /* ECI velocity, meters/sec */
122  PGSt_double eulerAngles[3]; /* attitude euler angles (roll, pitch,
123  yaw) wrt the orbital reference frame
124  (?), radians. */
125  PGSt_double xyzRotRates[3]; /* attitude rates (roll, pitch, yaw)
126  in the spacecraft reference frame.
127  radians/sec. */
128  uint32 qualityFlags[QFL_IDXS]; /* Ephemeris and atittude
129  quality flags. */
131 
132 /* total number of good impulse data */
133 extern int num_impulse[MAX_SCAN_NUMBER];
134 
135 /* validation flags for mirror data (each scan) */
137 
138 /* mirror impulse encoder for the scans in a granule */
139 extern double * mirr_impulse_enc[MAX_SCAN_NUMBER];
140 
141 /* mirror impulse time for scans in a granule */
142 extern double * mirr_impulse_time[MAX_SCAN_NUMBER];
143 
144 /* sample time for all the pixels in a scan (relative to sector start time */
145 extern double *sample_time;
146 
147 /* offsets into terrain_*_position */
149 
150 /* offsets into sensor, solar arrays. */
152 
153 #endif
154 
double scan_start_time[MAX_SCAN_NUMBER]
@ azimuth_index
@ HT_IDX
double * mirr_impulse_time[MAX_SCAN_NUMBER]
@ range_index
double * sample_time
@ z_angle_index
const int MAX_SCAN_NUMBER
double * mirr_impulse_enc[MAX_SCAN_NUMBER]
@ ATT_IDX
@ QFL_IDXS
@ LON_IDX
@ EPH_IDX
@ LAT_IDX
int mirr_impulse_flag[MAX_SCAN_NUMBER]
int num_impulse[MAX_SCAN_NUMBER]