OB.DAAC Logo
NASA Logo
Ocean Color Science Software

ocssw V2022
prism.h
Go to the documentation of this file.
1 /*
2  * prism.h
3  *
4  * Created on: June 2015
5  * Author: rhealy
6  */
7 
8 #ifndef SRC_L2GEN_PRISM_H_
9 #define SRC_L2GEN_PRISM_H_
10 #include <gsl/gsl_errno.h>
11 #include <gsl/gsl_spline.h>
12 #include <gsl/gsl_sort_double.h>
13 #include <proj.h>
14 
15 typedef struct prism_l1b_t {
16  // info
17 
18  int npixels;
19  int nscans;
20  int nbands;
23 } prism_l1b_t;
24 
25 typedef struct prism_struct {
26  double stime, etime;
28  double **sena, **senz, **sola, **solz, **utc;
29  double *gain;
30  double *wave, *fwhm;
31  PJ *pj;
33  double pixelSize;
36  FILE *av_fp;
37  gsl_spline *spline;
38  gsl_interp_accel *spl_acc;
39  float alt;
40 } prism_t;
41 
42 void readNextLine_av(FILE* fp, char* tag, char* val);
43 char* getinbasename(char *file);
44 void prism_proj4_convert(prism_t * data, int numPoints, double *x, double *y);
45 char* checkTagLine_av(char *line, char* tag);
46 double getValidAngle(double *ang, int32_t npix, int32_t skip);
47 int readBinScanLine_float(float *Lt, int32_t recnum, int32_t npix, double *gain, int nbands, int numBands, int interleave, int swap, FILE *ptr);
48 prism_t* createPrivateData_pr(int numBands, int32_t nscan, int32_t npix);
49 void freePrivateData_pr(prism_t* data);
50 void get_zenaz(float *pos, float lon, float lat, float *senz, float *sena);
51 double deg2rad(double deg);
52 
53 #endif /* SRC_L2GEN_PRISM_H_ */
int numBands
Definition: prism.h:34
double * gain
Definition: prism.h:29
void get_zenaz(float *pos, float lon, float lat, float *senz, float *sena)
Definition: get_zenaz.c:28
double easting
Definition: prism.h:32
double getValidAngle(double *ang, int32_t npix, int32_t skip)
Definition: jplaeriallib.c:423
int16 * gain
Definition: l1_czcs_hdf.c:33
double etime
Definition: prism.h:26
char * checkTagLine_av(char *line, char *tag)
int npixels
Definition: prism.h:18
prism4ocia_t * createPrivateData_pr(int numBands, int32_t nscan, int32_t npix)
Definition: read_prism.c:36
int nscans
Definition: prism.h:19
int nbands
Definition: prism.h:20
int32_t nscan
Definition: prism.h:27
float32 * pos
Definition: l1_czcs_hdf.c:35
float * lat
void readNextLine_av(FILE *fp, char *tag, char *val)
int eastbyscan
Definition: prism.h:35
double deg2rad(double deg)
Definition: read_prism.c:550
int32 nscan
Definition: l1_czcs_hdf.c:19
no change in intended resolving MODur00064 Corrected handling of bad ephemeris attitude resolving resolving GSFcd00179 Corrected handling of fill values for[Sensor|Solar][Zenith|Azimuth] resolving MODxl01751 Changed to validate LUT version against a value retrieved from the resolving MODxl02056 Changed to calculate Solar Diffuser angles without adjustment for estimated post launch changes in the MODIS orientation relative to incidentally resolving defects MODxl01766 Also resolves MODxl01947 Changed to ignore fill values in SCI_ABNORM and SCI_STATE rather than treating them as resolving MODxl01780 Changed to use spacecraft ancillary data to recognise when the mirror encoder data is being set by side A or side B and to change calculations accordingly This removes the need for seperate LUTs for Side A and Side B data it makes the new LUTs incompatible with older versions of the and vice versa Also resolves MODxl01685 A more robust GRing algorithm is being which will create a non default GRing anytime there s even a single geolocated pixel in a granule Removed obsolete messages from seed file
Definition: HISTORY.txt:413
int utmZone
Definition: prism.h:34
int readBinScanLine_float(float *Lt, int32_t recnum, int32_t npix, double *gain, int nbands, int numBands, int interleave, int swap, FILE *ptr)
Definition: jplaeriallib.c:371
int32_t wgs_npix
Definition: prism.h:27
int32_t wgs_nscan
Definition: prism.h:27
read recnum
PJ * pj
Definition: prism.h:31
void freePrivateData_pr(prism4ocia_t *data)
Definition: read_prism.c:59
double * wave
Definition: prism.h:30
double northing
Definition: prism.h:32
double ** solz
Definition: prism.h:28
double * fwhm
Definition: prism.h:30
FILE * av_fp
Definition: prism.h:36
gsl_interp_accel * spl_acc
Definition: prism.h:38
no change in intended resolving MODur00064 Corrected handling of bad ephemeris attitude data
Definition: HISTORY.txt:356
double pixelSize
Definition: prism.h:33
double ** utc
Definition: prism.h:28
int interleave
Definition: prism.h:35
float alt
Definition: prism.h:39
double ** senz
Definition: prism.h:28
int32_t nbands
double stime
Definition: prism.h:26
float * lon
gsl_spline * spline
Definition: prism.h:37
double ** sena
Definition: prism.h:28
void prism_proj4_convert(prism4ocia_t *data, int numPoints, double *x, double *y)
Definition: read_prism.c:554
double ** sola
Definition: prism.h:28
msiBandIdx val
Definition: l1c_msi.cpp:34
int32_t npix
Definition: prism.h:27
int npix
Definition: get_cmp.c:27
double rotation
Definition: prism.h:32
char * getinbasename(char *file)
Definition: jplaeriallib.c:41