OB.DAAC Logo
NASA Logo
Ocean Color Science Software

ocssw V2022
mtl_geometry.h File Reference
#include <math.h>
#include <stdio.h>
#include <string.h>
#include "smeta.h"
#include "smeta_exploit.h"
#include "smeta_geometry.h"
Include dependency graph for mtl_geometry.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  WRS2
 
struct  VECTOR
 

Macros

#define MIN(a, b)   (a<b?a:b)
 
#define MAX(a, b)   (a>b?a:b)
 

Functions

int frame_scene (WRS2 wrsparms, SMETA smeta, double *dellon, double *delrow)
 
int frame_scene_ls (WRS2 wrsparms, SMETA smeta, double *dellon, double *delrow)
 
int project_point (WRS2 wrsparms, SMETA smeta, double dellon, int band, int sca, double frow, double ndet, double *l1t_line, double *l1t_samp)
 
int project_point_ls (WRS2 wrsparms, SMETA smeta, double dellon, int band, double frow, double nsamp, double nline, double *l1t_line, double *l1t_samp)
 
void pathrow_to_latlon (WRS2 parms, int path, double wrsrow, double *lat, double *lon)
 
double dotprod (VECTOR a, VECTOR b)
 
void crossprod (VECTOR a, VECTOR b, VECTOR *c)
 
double vecnorm (VECTOR a)
 
void unitvec (VECTOR a, VECTOR *b)
 
void rotatevec (double mat[3][3], VECTOR a, VECTOR *b)
 
int calc_yaw_steering_gp (WRS2 parms, VECTOR pos, VECTOR vel, VECTOR i_los, double roll, double *gp_lat, double *gp_lon)
 
int calc_yaw_steering_gp_ls (WRS2 parms, VECTOR pos, VECTOR vel, VECTOR i_los, double roll, double *gp_lat, double *gp_lon)
 
int calc_los (SMETA_BAND band_smeta, int sca, double ndet, VECTOR *los)
 
int calc_los_ls (SMETA_BAND_LS band_smeta, double frow, double npix, double ndet, VECTOR *los)
 
void pathrow_to_posvel (WRS2 parms, int path, double dellon, double wrsrow, VECTOR *pos, VECTOR *vel)
 
int get_ecfsun (WRS2 wrsparms, SMETA smeta, double dellon, VECTOR *ecfsun)
 
int get_ecfsun_ls (WRS2 wrsparms, SMETA smeta, double dellon, VECTOR *ecfsun)
 

Macro Definition Documentation

◆ MAX

#define MAX (   a,
  b 
)    (a>b?a:b)

Definition at line 19 of file mtl_geometry.h.

◆ MIN

#define MIN (   a,
  b 
)    (a<b?a:b)

Definition at line 18 of file mtl_geometry.h.

Function Documentation

◆ calc_los()

int calc_los ( SMETA_BAND  band_smeta,
int  sca,
double  ndet,
VECTOR los 
)

Definition at line 19 of file mtl_geometry.c.

◆ calc_los_ls()

int calc_los_ls ( SMETA_BAND_LS  band_smeta,
double  frow,
double  npix,
double  ndet,
VECTOR los 
)

Definition at line 52 of file mtl_geometry.c.

◆ calc_yaw_steering_gp()

int calc_yaw_steering_gp ( WRS2  parms,
VECTOR  pos,
VECTOR  vel,
VECTOR  i_los,
double  roll,
double *  gp_lat,
double *  gp_lon 
)

Definition at line 100 of file mtl_geometry.c.

◆ calc_yaw_steering_gp_ls()

int calc_yaw_steering_gp_ls ( WRS2  parms,
VECTOR  pos,
VECTOR  vel,
VECTOR  i_los,
double  roll,
double *  gp_lat,
double *  gp_lon 
)

Definition at line 265 of file mtl_geometry.c.

◆ crossprod()

void crossprod ( VECTOR  a,
VECTOR  b,
VECTOR c 
)

Definition at line 1067 of file mtl_geometry.c.

◆ dotprod()

double dotprod ( VECTOR  a,
VECTOR  b 
)

Definition at line 1061 of file mtl_geometry.c.

◆ frame_scene()

int frame_scene ( WRS2  wrsparms,
SMETA  smeta,
double *  dellon,
double *  delrow 
)

Definition at line 419 of file mtl_geometry.c.

◆ frame_scene_ls()

int frame_scene_ls ( WRS2  wrsparms,
SMETA  smeta,
double *  dellon,
double *  delrow 
)

Definition at line 591 of file mtl_geometry.c.

◆ get_ecfsun()

int get_ecfsun ( WRS2  wrsparms,
SMETA  smeta,
double  dellon,
VECTOR ecfsun 
)

Definition at line 849 of file mtl_geometry.c.

◆ get_ecfsun_ls()

int get_ecfsun_ls ( WRS2  wrsparms,
SMETA  smeta,
double  dellon,
VECTOR ecfsun 
)

Definition at line 900 of file mtl_geometry.c.

◆ pathrow_to_latlon()

void pathrow_to_latlon ( WRS2  parms,
int  path,
double  wrsrow,
double *  lat,
double *  lon 
)

Definition at line 959 of file mtl_geometry.c.

◆ pathrow_to_posvel()

void pathrow_to_posvel ( WRS2  parms,
int  path,
double  dellon,
double  wrsrow,
VECTOR pos,
VECTOR vel 
)

Definition at line 1003 of file mtl_geometry.c.

◆ project_point()

int project_point ( WRS2  wrsparms,
SMETA  smeta,
double  dellon,
int  band,
int  sca,
double  frow,
double  ndet,
double *  l1t_line,
double *  l1t_samp 
)

Definition at line 722 of file mtl_geometry.c.

◆ project_point_ls()

int project_point_ls ( WRS2  wrsparms,
SMETA  smeta,
double  dellon,
int  band,
double  frow,
double  nsamp,
double  nline,
double *  l1t_line,
double *  l1t_samp 
)

Definition at line 781 of file mtl_geometry.c.

◆ rotatevec()

void rotatevec ( double  mat[3][3],
VECTOR  a,
VECTOR b 
)

Definition at line 1100 of file mtl_geometry.c.

◆ unitvec()

void unitvec ( VECTOR  a,
VECTOR b 
)

Definition at line 1082 of file mtl_geometry.c.

◆ vecnorm()

double vecnorm ( VECTOR  a)

Definition at line 1077 of file mtl_geometry.c.