OB.DAAC Logo
NASA Logo
Ocean Color Science Software

ocssw V2022
par_utils.h
Go to the documentation of this file.
1 #ifndef _PARUTILS_H
2 #define _PARUTILS_H
3 
4 #include <stdio.h>
5 #include <math.h>
6 #include "l2_struc.h"
7 #include "filehandle.h"
8 #include "l12_proto.h"
9 
10 //typedef int logical;
11 // #define FALSE 0
12 // #define TRUE 1
13 #define NMODEL 12
14 #define NPHASE 75
15 
16 float calc_par(
17  l2str *l2rec,
18  int ip,
19  int nbands,
20  float *Lt,
21  float taua,
22  float angstrom,
23  float *wl,
24  float *fo,
25  float *ko3,
26  float *taumolbar);
27 
28 void GetAerPhase(l2str *l2rec, int ip, int32_t nbands, float angstrom, float *phasea,
29  float *omegaa, float *modelAngstrom);
30 
31 void read_aerosol_par(l2str *l2rec, int32_t nbands, float *tablewavelengths, float *tablephaseangles,
32  float *tablealphas, float *tableomegas, float *tableaerphasefunc);
33 
34 void* allocateMemoryPar(size_t numBytes, const char* name);
35 
36 float EstimateDobson(int32_t year, int32_t month, int32_t day, float lat);
37 
38 float EstimateWatVap(int32_t year, int32_t month, int32_t day, float lat);
39 
40 float varsol(int32_t jday);
41 void triseset(int32_t jday, float xlon, float xlat, float *trise, float *tset);
42 int Greg2Jul(int32_t year, int32_t month, int32_t day);
43 
44 // return solar zenith - ignore solar azimuth angle
45 float get_solz(int jday, float time, float lon, float lat);
46 
47 float interp_as_taulow(float csz, float tau);
48 
49 float interp_as_tauhigh(float csz);
50 
51 #endif
int32_t day
float get_solz(int jday, float time, float lon, float lat)
void GetAerPhase(l2str *l2rec, int ip, int32_t nbands, float angstrom, float *phasea, float *omegaa, float *modelAngstrom)
Definition: par_utils.c:51
float * lat
float calc_par(l2str *l2rec, int ip, int nbands, float *Lt, float taua, float angstrom, float *wl, float *fo, float *ko3, float *taumolbar)
Definition: calc_par.c:87
int32_t jday(int16_t i, int16_t j, int16_t k)
Definition: jday.c:4
float EstimateDobson(int32_t year, int32_t month, int32_t day, float lat)
Definition: par_utils.c:250
float interp_as_tauhigh(float csz)
Definition: par_utils.c:769
void read_aerosol_par(l2str *l2rec, int32_t nbands, float *tablewavelengths, float *tablephaseangles, float *tablealphas, float *tableomegas, float *tableaerphasefunc)
Definition: par_utils.c:174
float xlon[LAC_PIXEL_NUM]
Definition: l1a_seawifs.c:93
void triseset(int32_t jday, float xlon, float xlat, float *trise, float *tset)
Definition: par_utils.c:529
float EstimateWatVap(int32_t year, int32_t month, int32_t day, float lat)
Definition: par_utils.c:381
int32_t nbands
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
float varsol(int32_t jday)
Definition: par_utils.c:514
float * lon
int Greg2Jul(int32_t year, int32_t month, int32_t day)
float interp_as_taulow(float csz, float tau)
Definition: par_utils.c:661
void * allocateMemoryPar(size_t numBytes, const char *name)