OB.DAAC Logo
NASA Logo
Ocean Color Science Software

ocssw V2022
geolocate_hawkeye.h
Go to the documentation of this file.
1 #ifndef _GEOLOCATE_HAWKEYE_H_
2 #define _GEOLOCATE_HAWKEYE_H_
3 
4 typedef float quat_array[4];
5 typedef float orb_array[3];
6 
7 double constexpr PI = 3.14159265358979323846;
8 double constexpr RADEG = 180 / PI;
9 double constexpr DTOR = PI / 180;
10 
11 float constexpr focal_length = 45.184;
12 
13 int j2000_to_ecr(int32_t iyr, int32_t idy, double sec, double ecmat[3][3]);
14 int j2000_to_mod(int32_t iyr, int32_t idy, double sec, double j2mod[3][3]);
15 int get_nut(int32_t iyr, int32_t idy, double xnut[3][3]);
16 int get_ut1(int32_t iyr, int32_t idy, double &ut1utc);
17 int ephparms(double t, double &xls, double &gs, double &xlm, double &omega);
18 int nutate(double t, double xls, double gs, double xlm, double omega,
19  double &dpsi, double &eps, double &epsm);
20 int gha2000(int32_t iyr, double day, double &gha);
21 int mtoq(double rm[3][3], double q[4]);
22 int qprod(double q1[4], float q2[4], double q3[4]);
23 int qprod(float q1[4], float q2[4], float q3[4]);
24 int orb_interp(size_t n_SC_rec, size_t sdim,
25  double *torb, orb_array *p, orb_array *v,
26  double *time, orb_array *posi, orb_array *veli);
27 int q_interp(size_t n_SC_rec, size_t sdim, double *tq, quat_array *q,
28  double *time, quat_array *qi);
29 int l_sun(size_t sdim, int32_t iyr, int32_t iday,
30  double *sec, orb_array *sunr);
31 int sun2000(size_t sdim, int32_t iyr, int32_t idy,
32  double *sec, orb_array *sun);
33 int qtom(float quat[4], double rm[3][3]);
34 int scan_ell(float p[3], double sm[3][3], double coef[10]);
35 int uni_geonav(float pos[3], float vel[3], double smat[3][3], double coef[10],
36  float sunr[3], orb_array *pview, size_t npix,
37  float *xlat, float *xlon, short *solz, short *sola,
38  short *senz, short *sena, short *range);
39 int mat2rpy(float pos[3], float vel[3], double smat[3][3], float rpy[3], double om[3][3]);
40 int euler(float a[3], double xm[3][3]);
41 
42 #endif // _GEOLOCATE_HAWKEYE_H_
data_t q
Definition: decode_rs.h:74
data_t t[NROOTS+1]
Definition: decode_rs.h:77
int32_t day
int uni_geonav(float pos[3], float vel[3], double smat[3][3], double coef[10], float sunr[3], orb_array *pview, size_t npix, float *xlat, float *xlon, short *solz, short *sola, short *senz, short *sena, short *range)
constexpr double RADEG
float orb_array[3]
float quat_array[4]
int q_interp(size_t n_SC_rec, size_t sdim, double *tq, quat_array *q, double *time, quat_array *qi)
int euler(float a[3], double xm[3][3])
float32 * pos
Definition: l1_czcs_hdf.c:35
constexpr double DTOR
int ephparms(double t, double &xls, double &gs, double &xlm, double &omega)
int j2000_to_ecr(int32_t iyr, int32_t idy, double sec, double ecmat[3][3])
int qprod(double q1[4], float q2[4], double q3[4])
int j2000_to_mod(int32_t iyr, int32_t idy, double sec, double j2mod[3][3])
int get_nut(int32_t iyr, int32_t idy, double xnut[3][3])
int orb_interp(size_t n_SC_rec, size_t sdim, double *torb, orb_array *p, orb_array *v, double *time, orb_array *posi, orb_array *veli)
int l_sun(size_t sdim, int32_t iyr, int32_t iday, double *sec, orb_array *sunr)
int scan_ell(float p[3], double sm[3][3], double coef[10])
int qtom(float quat[4], double rm[3][3])
data_t omega[NROOTS+1]
Definition: decode_rs.h:77
int mat2rpy(float pos[3], float vel[3], double smat[3][3], float rpy[3], double om[3][3])
constexpr double PI
constexpr float focal_length
int sun2000(size_t sdim, int32_t iyr, int32_t idy, double *sec, orb_array *sun)
int get_ut1(int32_t iyr, int32_t idy, double &ut1utc)
float xlon[LAC_PIXEL_NUM]
Definition: l1a_seawifs.c:93
int nutate(double t, double xls, double gs, double xlm, double omega, double &dpsi, double &eps, double &epsm)
int gha2000(int32_t iyr, double day, double &gha)
this program makes no use of any feature of the SDP Toolkit that could generate such a then geolocation is calculated at that and then aggregated up to Resolved feature request Bug by adding three new int8 SDSs for each high resolution offsets between the high resolution geolocation and a bi linear interpolation extrapolation of the positions This can be used to reconstruct the high resolution geolocation Resolved Bug by delaying cumulation of gflags until after validation of derived products Resolved Bug by setting Latitude and Longitude to the correct fill resolving to support Near Real Time because they may be unnecessary if use of entrained ephemeris and attitude data is turned resolving bug report Corrected to filter out Aqua attitude records with missing status helping resolve bug MOD_PR03 will still correctly write scan and pixel data that does not depend upon the start time
Definition: HISTORY.txt:248
int32_t idy
Definition: atrem_corl1.h:161
PGE01 indicating that PGE02 PGE01 V6 for and PGE01 V2 for MOD03 were used to produce the granule By convention adopted in all MODIS Terra PGE02 code versions are The fourth digit of the PGE02 version denotes the LUT version used to produce the granule The source of the metadata environment variable ProcessingCenter was changed from a QA LUT value to the Process Configuration A sign used in error in the second order term was changed to a
Definition: HISTORY.txt:424
int32_t iyr
Definition: atrem_corl1.h:161
int mtoq(double rm[3][3], double q[4])
int npix
Definition: get_cmp.c:27
float p[MODELMAX]
Definition: atrem_corl1.h:131