OB.DAAC Logo
NASA Logo
Ocean Color Science Software

ocssw V2022
geolocate_oci.h File Reference
#include "common.h"
#include <netcdf>
Include dependency graph for geolocate_oci.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  geoFile
 

Macros

#define SWAP_2(x)   ( (((x) & 0xff) << 8) | ((unsigned short)(x) >> 8) )
 
#define SWAP_4(x)
 

Typedefs

typedef float quat_array[4]
 
typedef float orb_array[3]
 

Functions

int read_mce_tlm (netCDF::NcFile *l1afile, netCDF::NcGroup egid, uint32_t nscan, uint32_t nenc, int32_t &ppr_off, double &revpsec, double &secpline, int32_t *mspin, int32_t *ot_10us, uint8_t *enc_count, float **hamenc, float **rtaenc)
 
int j2000_to_ecr (int32_t iyr, int32_t idy, double sec, double ecmat[3][3])
 
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 get_ut1 (int32_t iyr, int32_t idy, double &ut1utc)
 
int ephparms (double t, double &xls, double &gs, double &xlm, double &omega)
 
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)
 
int mtoq (double rm[3][3], double q[4])
 
int qprod (double q1[4], float q2[4], double q3[4])
 
int qprod (float q1[4], float q2[4], float q3[4])
 
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 q_interp (size_t n_SC_rec, size_t sdim, double *tq, quat_array *q, double *time, quat_array *qi)
 
int l_sun (size_t sdim, int32_t iyr, int32_t iday, double *sec, orb_array *sunr)
 
int sun2000 (size_t sdim, int32_t iyr, int32_t idy, double *sec, orb_array *sun)
 
int qtom (float quat[4], double rm[3][3])
 
int scan_ell (float p[3], double sm[3][3], double coef[10])
 
int oci_geonav (float pos[3], float vel[3], double smat[3][3], double coef[10], float sunr[3], float **pview, size_t npix, double delt, float *xlat, float *xlon, short *solz, short *sola, short *senz, short *sena, short *range)
 
int mat2rpy (float pos[3], float vel[3], double smat[3][3], float rpy[3])
 
int expandEnvVar (std::string *sValue)
 

Variables

constexpr double PI = 3.14159265358979323846
 
constexpr double RADEG = 180 / PI
 
constexpr double DTOR = PI / 180
 
constexpr float focal_length = 45.184
 

Macro Definition Documentation

◆ SWAP_2

#define SWAP_2 (   x)    ( (((x) & 0xff) << 8) | ((unsigned short)(x) >> 8) )

Definition at line 9 of file geolocate_oci.h.

◆ SWAP_4

#define SWAP_4 (   x)
Value:
( ((x) << 24) | \
(((x) << 8) & 0x00ff0000) | \
(((x) >> 8) & 0x0000ff00) | \
((x) >> 24) )

Definition at line 11 of file geolocate_oci.h.

Typedef Documentation

◆ orb_array

typedef float orb_array[3]

Definition at line 17 of file geolocate_oci.h.

◆ quat_array

typedef float quat_array[4]

Definition at line 16 of file geolocate_oci.h.

Function Documentation

◆ ephparms()

int ephparms ( double  t,
double &  xls,
double &  gs,
double &  xlm,
double &  omega 
)

Definition at line 575 of file geolocate_hawkeye.cpp.

◆ expandEnvVar()

int expandEnvVar ( std::string sValue)
inline

Definition at line 88 of file geolocate_oci.h.

◆ get_nut()

int get_nut ( int32_t  iyr,
int32_t  idy,
double  xnut[3][3] 
)

Definition at line 547 of file geolocate_hawkeye.cpp.

◆ get_ut1()

int get_ut1 ( int32_t  iyr,
int32_t  idy,
double &  ut1utc 
)

Definition at line 635 of file geolocate_hawkeye.cpp.

◆ gha2000()

int gha2000 ( int32_t  iyr,
double  day,
double &  gha 
)

Definition at line 685 of file geolocate_hawkeye.cpp.

◆ j2000_to_ecr()

int j2000_to_ecr ( int32_t  iyr,
int32_t  idy,
double  sec,
double  ecmat[3][3] 
)

Definition at line 455 of file geolocate_hawkeye.cpp.

◆ j2000_to_mod()

int j2000_to_mod ( int32_t  iyr,
int32_t  idy,
double  sec,
double  j2mod[3][3] 
)

Definition at line 512 of file geolocate_hawkeye.cpp.

◆ l_sun()

int l_sun ( size_t  sdim,
int32_t  iyr,
int32_t  iday,
double *  sec,
orb_array sunr 
)

Definition at line 966 of file geolocate_hawkeye.cpp.

◆ mat2rpy()

int mat2rpy ( float  pos[3],
float  vel[3],
double  smat[3][3],
float  rpy[3] 
)

Definition at line 1415 of file geolocate_oci.cpp.

◆ mtoq()

int mtoq ( double  rm[3][3],
double  q[4] 
)

Definition at line 786 of file geolocate_hawkeye.cpp.

◆ nutate()

int nutate ( double  t,
double  xls,
double  gs,
double  xlm,
double  omega,
double &  dpsi,
double &  eps,
double &  epsm 
)

Definition at line 604 of file geolocate_hawkeye.cpp.

◆ oci_geonav()

int oci_geonav ( float  pos[3],
float  vel[3],
double  smat[3][3],
double  coef[10],
float  sunr[3],
float **  pview,
size_t  npix,
double  delt,
float *  xlat,
float *  xlon,
short *  solz,
short *  sola,
short *  senz,
short *  sena,
short *  range 
)

Definition at line 1235 of file geolocate_oci.cpp.

◆ orb_interp()

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 
)

Definition at line 845 of file geolocate_hawkeye.cpp.

◆ q_interp()

int q_interp ( size_t  n_SC_rec,
size_t  sdim,
double *  tq,
quat_array q,
double *  time,
quat_array qi 
)

Definition at line 924 of file geolocate_hawkeye.cpp.

◆ qprod() [1/2]

int qprod ( double  q1[4],
float  q2[4],
double  q3[4] 
)

Definition at line 823 of file geolocate_hawkeye.cpp.

◆ qprod() [2/2]

int qprod ( float  q1[4],
float  q2[4],
float  q3[4] 
)

Definition at line 834 of file geolocate_hawkeye.cpp.

◆ qtom()

int qtom ( float  quat[4],
double  rm[3][3] 
)

Definition at line 1062 of file geolocate_hawkeye.cpp.

◆ read_mce_tlm()

int read_mce_tlm ( netCDF::NcFile *  l1afile,
netCDF::NcGroup  egid,
uint32_t  nscan,
uint32_t  nenc,
int32_t &  ppr_off,
double &  revpsec,
double &  secpline,
int32_t *  mspin,
int32_t *  ot_10us,
uint8_t *  enc_count,
float **  hamenc,
float **  rtaenc 
)

◆ scan_ell()

int scan_ell ( float  p[3],
double  sm[3][3],
double  coef[10] 
)

Definition at line 1078 of file geolocate_hawkeye.cpp.

◆ sun2000()

int sun2000 ( size_t  sdim,
int32_t  iyr,
int32_t  idy,
double *  sec,
orb_array sun 
)

Definition at line 991 of file geolocate_hawkeye.cpp.

Variable Documentation

◆ DTOR

constexpr double DTOR = PI / 180
constexpr

Definition at line 21 of file geolocate_oci.h.

◆ focal_length

constexpr float focal_length = 45.184
constexpr

Definition at line 23 of file geolocate_oci.h.

◆ PI

constexpr double PI = 3.14159265358979323846
constexpr

Definition at line 19 of file geolocate_oci.h.

◆ RADEG

constexpr double RADEG = 180 / PI
constexpr

Definition at line 20 of file geolocate_oci.h.