OB.DAAC Logo
NASA Logo
Ocean Color Science Software

ocssw V2022
GEO_input.h
Go to the documentation of this file.
1 /* file: GEO_input.h */
2 
3 /*
4 !C-INC*************************************************************************
5 
6 !Description: the header file for the input functions in the Level-1A
7  geolocation software
8 
9 !Input Parameters: N/A
10 
11 !Output Parameters: N/A
12 
13 !Revision History:
14 $Log: GEO_input.h,v $
15 Revision 6.4 2010/06/18 20:41:41 kuyper
16 Changed GEO_prepare_ancil_data(), GEO_prepare_l1a_data(), and
17  GEO_read_L1Apacket_data() to return a status code.
18 Corrected parameters that were pointers to array by removing
19  their leading 'const' qualifiers.
20 
21 Revision 6.3 2010/04/23 18:32:29 kuyper
22 Removed parameter from GEO_prepare_ancil_data().
23 
24 James Kuyper James.R.Kuyper@NASA.gov
25 
26 Revision 6.2 2010/04/08 18:42:06 kuyper
27 Helped address Bug 2472 by adding argument to GEO_prepare_ancil_data.
28 Simplified interface to GEO_prepare_mirr_data.
29 
30 Revision 6.1 2010/03/15 20:53:31 gbritz
31 Add ephemeris/attitude quality information to MOD03 file.
32 
33 Georgios Britzolakis georgios.britzolakis-1@nasa.gov
34 
35 Revision 5.1 2005/03/16 21:35:19 kuyper
36 Changed header guard macro name to avoid reserved name space.
37 
38 Revision 4.2 2003/08/07 18:48:39 kuyper
39 Removed never-implemented extra argument.
40 
41 Revision 4.1 2003/03/13 22:11:08 kuyper
42 Added frame_data parameter to GEO_prepare_mirr_data().
43 Added average temperatures parameter to GEO_read_L1Apacket_data().
44 Added GEO_read_L1Atemp_data().
45 
46 Revision 3.7 2001/04/13 15:52:48 kuyper
47 Reverted earth_encoder_times back to uint16.
48 
49  * Revision 3.6 2001/04/03 00:24:15 kuyper
50  * Changed mirr_params parameter of GEO_prepare_mirr_data to 'const *'.
51  *
52  * Revision 3.5 2001/04/02 20:36:15 kuyper
53  * Removed 'const' from 'l1a_file' parameter; it's not const.
54  *
55  * Revision 3.4 2001/03/31 16:06:25 seaton
56  * Changed type from uint16 to int16 for earth_encoder_times in GEO_read_L1Apacket_data.c
57  *
58  * Revision 3.3 2001/03/31 15:29:11 seaton
59  * Changed declaration for GEO_prepare_l1a_data for geo_params.
60  *
61  * Revision 3.2 2001/03/28 18:20:10 vlin
62  * data type of view_sector_start is changed to int16
63  *
64  * Revision 3.1 2001/03/20 22:33:35 kuyper
65  * Changed *params to const for GEO_cumulate_GRing.
66  *
67  * Revision 2.9 2001/03/14 18:03:42 seaton
68  * Added new arguments to function GEO_read_L1Apacket_data.c
69  *
70  * Revision 2.8 2001/03/06 20:15:45 vlin
71  * GEO_prepare_mirr_data() updated & GEO_cumulate_GRing() added
72  *
73 
74  4/5/95
75  Ruiming Chen
76  Finished coding
77 
78 !Team-unique Header:
79  This software is developed by the MODIS Science Data Support
80  Team for the National Aeronautics and Space Administration,
81  Goddard Space Flight Center, under contract NAS5-32373.
82 
83 !END***************************************************************************
84 */
85 
86 #ifndef GEO_INPUT_H
87 #define GEO_INPUT_H
88 #include "hdfi.h"
89 #include "PGS_PC.h"
90 #include "PGS_IO_L0.h"
91 #include "mapi.h"
92 #include "GEO_parameters.h"
93 
95 
96 typedef struct{
97  uint8 second_header[MAX_SCAN_NUMBER]
98  [sizeof( ((PGSt_IO_L0_SecPktHdrEOS_AM *)NULL)->scTime)];
99  int32 posvel[MAX_SCAN_NUMBER][6];
100  int16 attit_angvel[MAX_SCAN_NUMBER][6];
102 
103 /* function prototype */
104 
105 PGSt_SMF_status GEO_prepare_ancil_data(
106  /* Prepare ancillary data for one granule */
107  int const number_of_scans,
108  const GEO_param_struct * params,
109  const sc_ancil_struct sc_ancillary_data[2],
110  const uint16 ss_cp_mode[]
111 );
112 
113 PGSt_SMF_status GEO_prepare_l1a_data(
114  /* Read and prepare L1a data for one granule */
115  MODFILE * const l1a_file,
116  GEO_param_struct const * geo_params,
117  l1a_data_struct * const l1a_data
118 );
119 
120 PGSt_SMF_status GEO_prepare_mirr_data( /* Prepare mirror data for one granule */
123  const mirror_preparation_struct * const,
124  double const,
126 );
127 
129  MODFILE * const l1a_file,
130  ECS_metadata_struct * const ECS_metadata
131  );
132 
133 PGSt_SMF_status GEO_read_L1Apacket_data(
134  MODFILE * l1a_file,
135  int const number_of_scans,
136  uint16 earth_encoder_times[MAX_SCAN_NUMBER][ENCODER_LENGTH],
137  sc_ancil_struct sc_ancillary_data[2],
138  int16 view_sector_start[MAX_SCAN_NUMBER][SECTOR_LENGTH],
139  uint16 FRside[MAX_SCAN_NUMBER][ELEC_SIDES],
140  uint16 SAside[MAX_SCAN_NUMBER][ELEC_SIDES],
141  uint16 ss_cp_mode[]
142 );
143 
145  MODFILE * const l1a_file,
146  int const number_of_scans,
147  l1a_metadata_struct const * const granule_metadata,
149  int16 mirr_side[MAX_SCAN_NUMBER]
150  );
151 
153  MODFILE * const l1a_file,
154  l1a_metadata_struct * const granule_metadata,
155  int * const number_of_scans
156  );
157 
158 PGSt_SMF_status GEO_read_L1Atemp_data(
159  const GEO_param_struct * const,
160  MODFILE * const,
161  int const,
162  float32 []
163  );
164 
165 PGSt_SMF_status GEO_cumulate_GRing(
166  GEO_param_struct const * const params,
167  int32 const num_frames,
168  frame_state_struct const sc_ev_frame_state[],
169  unsigned char pixel_flags[MAX_DETECTORS][MAX_SCAN_SAMPLE],
170  double ecr_sample_position[MAX_DETECTORS][MAX_SCAN_SAMPLE][3]
171 );
172 
173 #endif
PGSt_SMF_status GEO_read_L1Atemp_data(const GEO_param_struct *const, MODFILE *const, int const, float32[])
integer, parameter int16
Definition: cubeio.f90:3
PGSt_SMF_status GEO_prepare_l1a_data(MODFILE *const l1a_file, GEO_param_struct const *geo_params, l1a_data_struct *const l1a_data)
PGSt_SMF_status GEO_cumulate_GRing(GEO_param_struct const *const params, int32 const num_frames, frame_state_struct const sc_ev_frame_state[], unsigned char pixel_flags[MAX_DETECTORS][MAX_SCAN_SAMPLE], double ecr_sample_position[MAX_DETECTORS][MAX_SCAN_SAMPLE][3])
@ SC_CURRENT
Definition: GEO_input.h:94
PGSt_SMF_status GEO_read_L1Apacket_data(MODFILE *l1a_file, int const number_of_scans, uint16 earth_encoder_times[MAX_SCAN_NUMBER][ENCODER_LENGTH], sc_ancil_struct sc_ancillary_data[2], int16 view_sector_start[MAX_SCAN_NUMBER][SECTOR_LENGTH], uint16 FRside[MAX_SCAN_NUMBER][ELEC_SIDES], uint16 SAside[MAX_SCAN_NUMBER][ELEC_SIDES], uint16 ss_cp_mode[])
#define NULL
Definition: decode_rs.h:63
int16_t * l1a_data
Definition: l1a_seawifs.c:84
const int MAX_SCAN_SAMPLE
const int SECTOR_LENGTH
const int MAX_DETECTORS
@ SC_PRIOR
Definition: GEO_input.h:94
#define ELEC_SIDES
Definition: GEO_geo.h:108
int GEO_read_L1Aspecific_metadata(MODFILE *const l1a_file, l1a_metadata_struct *const granule_metadata, int *const number_of_scans)
int GEO_read_L1Ascan_metadata(MODFILE *const l1a_file, int const number_of_scans, l1a_metadata_struct const *const granule_metadata, frame_data_struct frame_data[MAX_SCAN_NUMBER], int16 mirr_side[MAX_SCAN_NUMBER])
PGSt_SMF_status GEO_prepare_mirr_data(uint16[MAX_SCAN_NUMBER][ENCODER_LENGTH], int16[MAX_SCAN_NUMBER][SECTOR_LENGTH], const mirror_preparation_struct *const, double const, l1a_data_struct *)
const int MAX_SCAN_NUMBER
PGSt_SMF_status GEO_prepare_ancil_data(int const number_of_scans, const GEO_param_struct *params, const sc_ancil_struct sc_ancillary_data[2], const uint16 ss_cp_mode[])
#define ENCODER_LENGTH
Definition: GEO_geo.h:111
int GEO_read_L1AECS_metadata(MODFILE *const l1a_file, ECS_metadata_struct *const ECS_metadata)