ocssw
V2022
|
#include <fstream>
#include <iostream>
#include <sstream>
#include <gsl/gsl_blas.h>
#include <gsl/gsl_linalg.h>
#include <gsl/gsl_matrix_double.h>
#include "geolocate_oci.h"
#include <netcdf>
#include "nc4utils.h"
#include "timeutils.h"
Go to the source code of this file.
Macros | |
#define | VERSION "0.01" |
Functions | |
int | main (int argc, char *argv[]) |
int | read_mce_tlm (NcFile *l1afile, 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 | 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 | get_ut1 (int32_t iyr, int32_t idy, double &ut1utc) |
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_orb_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_att_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 q[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]) |
Macro Definition Documentation
◆ VERSION
#define VERSION "0.01" |
Definition at line 20 of file geolocate_oci.cpp.
Function Documentation
◆ ephparms()
int ephparms | ( | double | t, |
double & | xls, | ||
double & | gs, | ||
double & | xlm, | ||
double & | omega | ||
) |
Definition at line 764 of file geolocate_oci.cpp.
◆ get_nut()
int get_nut | ( | int32_t | iyr, |
int32_t | idy, | ||
double | xnut[3][3] | ||
) |
Definition at line 736 of file geolocate_oci.cpp.
◆ get_ut1()
int get_ut1 | ( | int32_t | iyr, |
int32_t | idy, | ||
double & | ut1utc | ||
) |
Definition at line 824 of file geolocate_oci.cpp.
◆ gha2000()
int gha2000 | ( | int32_t | iyr, |
double | day, | ||
double & | gha | ||
) |
Definition at line 874 of file geolocate_oci.cpp.
◆ j2000_to_ecr()
int j2000_to_ecr | ( | int32_t | iyr, |
int32_t | idy, | ||
double | sec, | ||
double | ecmat[3][3] | ||
) |
Definition at line 644 of file geolocate_oci.cpp.
◆ j2000_to_mod()
int j2000_to_mod | ( | int32_t | iyr, |
int32_t | idy, | ||
double | sec, | ||
double | j2mod[3][3] | ||
) |
Definition at line 701 of file geolocate_oci.cpp.
◆ l_sun()
int l_sun | ( | size_t | sdim, |
int32_t | iyr, | ||
int32_t | iday, | ||
double * | sec, | ||
orb_array * | sunr | ||
) |
Definition at line 1086 of file geolocate_oci.cpp.
◆ main()
int main | ( | int | argc, |
char * | argv[] | ||
) |
An implementation of a Lon/Lat to UTM zone code written by Chuck Gantz chuck ...in 1998...found on .gan tz@gl obal star. comhttp://www.gpsy.com/gpsinfo/geotoutm/, a site published by Karen Nakamura, last updated 22 June 2000.
Minor modifications to the code were made to eliminate deprecation warnings
Definition at line 29 of file geolocate_oci.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 906 of file geolocate_oci.cpp.
◆ nutate()
int nutate | ( | double | t, |
double | xls, | ||
double | gs, | ||
double | xlm, | ||
double | omega, | ||
double & | dpsi, | ||
double & | eps, | ||
double & | epsm | ||
) |
Definition at line 793 of file geolocate_oci.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_orb_rec, |
size_t | sdim, | ||
double * | torb, | ||
orb_array * | p, | ||
orb_array * | v, | ||
double * | time, | ||
orb_array * | posi, | ||
orb_array * | veli | ||
) |
Definition at line 965 of file geolocate_oci.cpp.
◆ q_interp()
int q_interp | ( | size_t | n_att_rec, |
size_t | sdim, | ||
double * | tq, | ||
quat_array * | q, | ||
double * | time, | ||
quat_array * | qi | ||
) |
Definition at line 1044 of file geolocate_oci.cpp.
◆ qprod() [1/2]
int qprod | ( | double | q1[4], |
float | q2[4], | ||
double | q3[4] | ||
) |
Definition at line 943 of file geolocate_oci.cpp.
◆ qprod() [2/2]
int qprod | ( | float | q1[4], |
float | q2[4], | ||
float | q3[4] | ||
) |
Definition at line 954 of file geolocate_oci.cpp.
◆ qtom()
int qtom | ( | float | q[4], |
double | rm[3][3] | ||
) |
Definition at line 1182 of file geolocate_oci.cpp.
◆ read_mce_tlm()
int read_mce_tlm | ( | NcFile * | l1afile, |
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 | ||
) |
Definition at line 530 of file geolocate_oci.cpp.
◆ scan_ell()
int scan_ell | ( | float | p[3], |
double | sm[3][3], | ||
double | coef[10] | ||
) |
Definition at line 1198 of file geolocate_oci.cpp.
◆ sun2000()
int sun2000 | ( | size_t | sdim, |
int32_t | iyr, | ||
int32_t | idy, | ||
double * | sec, | ||
orb_array * | sun | ||
) |
Definition at line 1111 of file geolocate_oci.cpp.