OB.DAAC Logo
NASA Logo
Ocean Color Science Software

ocssw V2022
l12_proto.h
Go to the documentation of this file.
1 #ifndef _L12_PROTO_H
2 #define _L12_PROTO_H
3 
4 #include <stdint.h>
5 #include <sys/types.h>
6 #include <unistd.h>
7 #include <stdio.h>
8 #include <math.h>
9 #include <stdlib.h>
10 #include <libgen.h>
11 #include <string.h>
12 #include <ctype.h>
13 #include <netcdf.h>
14 
15 #include <hdf.h>
16 #include <mfhdf.h>
17 
18 #include <l1.h>
19 #include "input_struc.h"
20 #include "l12_parms.h"
21 #include "l1q_struc.h"
22 #include "l2_struc.h"
23 #include "target_struc.h"
24 #include "vcal_struc.h"
25 #include "filter.h"
26 #include <timeutils.h>
27 #include "genutils.h"
28 #include "aer_struc.h"
29 #include "l2prod.h"
30 #include "l2prod_struc.h"
31 #include "dfutils.h"
32 #include "allocate2d.h"
33 #include "epr_api.h"
34 #include "l2_hdf_generic.h"
35 #include "flags_iop.h"
36 #include "table_io_wrapper.h"
37 #include <clo.h>
38 #include "navigation.h"
39 #include "read_l3bin.h"
40 #include "par_utils.h"
41 #include "get_nitrate.h"
42 
43 #ifdef __cplusplus
44 extern "C" {
45 #endif
46 
47 extern instr *input; /* input parameters structure */
48 
49 int getl1rec(int32_t recnum, int32_t dscan, l1str *l1rec);
50 
51 int loadl1(filehandle *l1file, l1str *l1rec);
52 
53 int openl2(filehandle *l2file);
54 int writel2(filehandle *l2file, int32_t recnum, l2str *l2rec, int outfile_number);
55 int closel2(filehandle *l2file);
56 //VOIDP scale_sds(float *data, l2prodstr *p, int nbands);
57 void update_flag_cnts(int32_t *flag_cnt, int32_t* flags, int32_t nflags, int32_t npix, uint32_t init_mask);
58 void update_flag_cnts16(int32_t *flag_cnt, int16_t* flags, int32_t nflags, int32_t npix, uint32_t init_mask);
59 void update_qual_cnts(int32_t *flag_cnt, int8_t* flags, int32_t nflags, int32_t npix);
60 int write_flag_pcnts(idDS ds_id, FILE *fpmeta, int32_t *flag_cnt, int32_t nflags, const char * const flag_lname[], int32_t numScans, int32_t numPixels);
61 int write_qual_flag_pcnts(idDS ds_id, FILE *fpmeta, int32_t *flag_cnt, int32_t nflags, const char * const flag_lname[]);
62 
63 int open_target(filehandle *file);
64 int read_target(filehandle *file, int32_t recnum, tgstr *tgrec);
65 void close_target(void);
66 
67 int open_aer(filehandle *file);
68 int read_aer(filehandle *file, int32_t recnum, aestr *aerec);
69 void close_aer(filehandle *file);
70 
71 void init_l2(l2str *l2rec, int32_t nbands);
72 
73 void free_l1q(void);
74 int32_t alloc_l2(l1str *l1rec, l2str *l2rec);
75 void free_l2(l2str *l2rec);
76 int32_t alloc_target(int32_t npix, int32_t nbands, tgstr *tgrec);
77 int32_t alloc_aer(int32_t npix, int32_t nbands, aestr *aerec);
78 
79 void init_l2prod();
80 l2prodstr *get_l2prod_index(char *name, int32_t sensorID, int32_t numBands, int32_t numPixels,
81  int32_t numScans, int32_t *wave);
83 
84 int32_t prodlist(int32_t sensorID, int32_t evalmask, const char *inprod, const char *defprod, char outprod[L1_MAXPROD][32]);
85 
86 int convl12(l1str *l1rec, l2str *l2rec, int32_t spix, int32_t epix, aestr *aerec);
87 int convl21(l2str *l2rec, tgstr *tgrec, int32_t spix, int32_t epix, float *Lt, vcstr *vrec);
88 
89 int32_t l2_seawifs(filehandle *l1file, filehandle *l2file);
90 int32_t l1b_seawifs(filehandle *l1file, filehandle *ofile,
91  int32_t sscan, int32_t escan, int32_t dscan,
92  int32_t spixl, int32_t epixl, int32_t dpixl);
93 int32_t get_modis_calfile(int32_t sd_id, char *file);
94 
95 void setflagbits_l2(l2str *l2rec, int32_t ipix);
96 int setanc(l1str *l1rec);
97 int acq_sfc_albedo(l1str *l1rec);
98 int init_cld_dat( l1str *l1rec );
99 int read_albedo( int32_t d_np, int32_t d_nl, int32_t st_lin, int32_t ix_clim,
100  int ncid, int *d_id, unsigned char ***alb_dat );
101 
102 void cpl1rec(l1str *l1new, l1str *l1old);
103 
104 int b128_msk_init(char *landfile, int msknum);
105 int b128_msk_get(float lat, float lon, int msknum);
106 int dem_init();
107 int land_mask_init();
108 int land_mask(float lat, float lon);
109 int land_bath_mask(l1str *l1rec,int32_t ip);
110 int bath_mask_init(char *file);
111 int bath_mask(float lat, float lon);
112 float get_dem(float lat, float lon);
113 int get_height(l1str *l1rec, int32_t ip, int terrain_corrected);
114 void free_deminfo();
115 
116 void lowercase(char *s);
117 
118 void atmocor1(l1str *l1rec, int32_t ip);
119 int atmocor2(l2str *l2rec, aestr *aerec, int32_t ip);
120 void whitecaps(int32_t sensorID, int32_t evalmask, int32_t nwave, float ws, float ws_max, float rhof[]);
121 void rayleigh(l1str *l1rec, int32_t ip);
122 int aerosol(l2str *l2rec, int32_t aer_opt_in, aestr *aerec, int32_t ip,
123  float wave[], int32_t nwave, int32_t nir_s_in, int32_t nir_l_in,
124  float F0_in[], float La1_in[], float La2_out[],
125  float t_sol_out[], float t_sen_out[], float *eps, float taua_out[],
126  int32_t *modmin, int32_t *modmax, float *modrat,
127  int32_t *modmin2, int32_t *modmax2, float *modrat2);
128 void gaseous_transmittance(l1str *l1rec, int32_t ip);
129 
130 float ky_airmass(float theta);
131 float pp_airmass(float theta);
132 
133 void get_rhown_nir(char *fqfile, float Rrs[], float wave[], int32_t nir_s, int32_t nir_l,
134  float aw[], float bbw[], float chl, float rhown[]);
135 void get_rhown_eval(char *fqfile, float Rrs[], float wave[], int32_t nir_s, int32_t nir_l,
136  int32_t nwave, float aw[], float bbw[], float chl,
137  float solz, float senz, float phi, float rhown[]);
138 void get_rho_mumm(l2str *l2rec, int32_t ip, int32_t iw, float *rhom);
139 void get_rhown_mumm(l2str *l2rec, int32_t ip, int32_t nir_s, int32_t nir_l, float rhown[]);
140 void glint_rad(int32_t num_iter, int32_t nband, int32_t nir_s, int32_t nir_l,
141  float glint_coef, float air_mass,
142  float mu0, float F0[], float taur[], float taua[], float La[], float TLg[]);
143 
144 float fresnel_coef(float mu, float n);
145 float fresnel_sen(float senz, int return_tf);
146 void fresnel_sol(float wave[], int32_t nwave, float solz, float ws, float brdf[], int return_tf);
147 void foqint_morel(char *file, float wave[], int32_t nwave, float solz, float senzp,
148  float phi, float chl, float brdf[]);
149 void qint_morel(float wave[], int32_t nwave, float solz, float chl, float Qn[]);
150 void gothic_R(float wave[], int32_t nwave, float solz, float senz, float ws, float R[]);
151 int ocbrdf(l2str *l2rec, int32_t ip, int32_t brdf_opt, float wave[], int32_t nwave,
152  float solz, float senz, float phi, float ws, float chl, float nLw[], float Fo[], float brdf[]);
153 
154 void nlw_outband(int32_t evalmask, int32_t sensorID, float wave[], int32_t nwave, float Lw[], float nLw[], float outband_correction[]);
155 
156 int l2gen_usage(const char *prog);
157 int msl12_input_defaults(filehandle *l1file);
158 void msl12_input_init();
159 int l2gen_init_options(clo_optionList_t* list, const char* prog);
160 int msl12_option_input(int argc, char *argv[], clo_optionList_t* list,
161  char *progName, filehandle *l1file);
162 int msl12_input(int argc, char *argv[], const char* progName, filehandle *l1file);
163 
164  //int windex_get(int32_t wave);
165 
166 float bin_climatology(char *l3file, int32_t day, float lon, float lat, char *prodname);
167 
168 float get_default_chl(l2str *l2rec, float Rrs[]);
169 void get_chl(l2str *l2rec, int prodnum, float prod[]);
170 void get_las(l2str *l2rec, l2prodstr *p, float prod[]);
171 //void get_sma(l2str *l2rec, int32_t prodID, float prod[]);
172 void get_tsm(l2str *l2rec, int prodnum, float prod[]);
173 void get_poc(l2str *l2rec, int prodnum, float prod[]);
174 void get_flh(l2str *l2rec, float flh[]);
175 void get_fsat(l2str *l2rec, float flh[]);
176 void get_fsat2(l2str *l2rec, float flh[]);
177 void get_fqy(l2str *l2rec, float fqy[]);
178 void get_fqy2(l2str *l2rec, float fqy[]);
179 void get_ipar(l2str *l2rec, float ipar[]);
180 void get_ipar2(l2str *l2rec, float ipar[]);
181 void get_depth_classification(l2str *l2rec, float depth[]);
182 void get_par(l2str *l2rec, float par[]);
183 void get_bsi(l2str *l2rec, float BSi[]);
184 void get_ssn(l2str *l2rec, float ssn[]);
185 void get_angstrom(l2str *l2rec, int band, float angst[]);
186 void get_ms_epsilon(l2str *l2rec, float eps[]);
187 void get_es(l2str *l2rec, int band, float es[]);
188 void get_toa_refl(l2str *l2rec, int band, float rhot[]);
189 void get_dust_index(l2str *l2rec, float dust[]);
190 void get_ndvi_evi(l1str *l1rec, int prodnum, float prod[]);
191 void get_ndvi(l1str *l1rec, float ndvi[]);
192 void get_evi(l1str *l1rec, float evi[]);
193 void get_evi2(l1str *l1rec, float evi2[]);
194 void get_evi3(l1str *l1rec, float evi3[]);
195 void get_smoke(l2str *l2rec, float smoke[]);
196 void get_Kd(l2str *l2rec, l2prodstr *p, float Kd[]);
197 void get_photic_depth(l2str *l2rec, l2prodstr *p, float Z[]);
198 void cdom_morel(l2str *l2rec, l2prodstr *p, float prod[]);
199 void cdom_mannino(l2str *l2rec, int prodnum, float prod[]);
200  //void get_soa(l2str *l2rec, int32_t prodID, float prod[]);
201  //int run_soa_sma(l2str *l2rec, int32_t ip);
202 void vcal(l2str *l2rec, l2prodstr *p, float vcal[]);
203 float aw_spectra(int32_t wl, int32_t width);
204 float bbw_spectra(int32_t wl, int32_t width);
205 void get_aw_bbw(l2str *l2rec, float wave[], int nwave, float *aw, float *bbw);
206 float seawater_nsw(float wave, float sst, float sss, float *dnswds);
207 float seawater_bb(float wave, float sst, float sss, double delta);
208 void seawater_set(l1str *l1rec);
209 float seawater_get_n(int32_t ip, int32_t ib);
210 float seawater_get_a(int32_t ip, int32_t ib);
211 float seawater_get_bb(int32_t ip, int32_t ib);
212 void get_bbws(l2str *l2rec, l2prodstr *p, float prod[]);
213 void get_avw(l2str *l2rec, float avw[]);
214 void get_Rrs_brightness(l2str *l2rec, float Rrs_brightness[]);
215 void get_lambda_max(l2str *l2rec, float lambda_max[]);
216 void get_Cphyt(l2str *l2rec, float cphyt[]);
217 
218 int atmocor1_land(l1str *l1rec, int32_t ip);
219 void polcor(l1str *l1rec, int32_t ip);
220 int get_rhos(l1str *l1rec, int32_t ip);
221 int8_t *get_qual_sst(l2str *l2rec);
222 int8_t *get_qual_sst4(l2str *l2rec);
223 int8_t *get_qual_sst_triple(l2str *l2rec);
224 int16_t *get_flags_sst(l2str *l2rec);
225 int16_t *get_flags_sst4(l2str *l2rec);
226 int16_t *get_flags_sst_triple(l2str *l2rec);
227 float *get_sst_dust_correction(l2str *l2rec);
228 float *get_sst(l2str *l2rec);
229 float *get_sst4(l2str *l2rec);
230 float *get_sst_triple(l2str *l2rec);
231 float *get_bias_sst(l2str *l2rec);
232 float *get_bias_sst4(l2str *l2rec);
233 float *get_bias_sst_triple(l2str *l2rec);
234 float *get_stdv_sst(l2str *l2rec);
235 float *get_stdv_sst4(l2str *l2rec);
236 float *get_stdv_sst_triple(l2str *l2rec);
237 float *get_bias_mean_sst(l2str *l2rec);
238 float *get_bias_mean_sst4(l2str *l2rec);
239 float *get_bias_mean_sst_triple(l2str *l2rec);
240 int16_t *get_counts_sst(l2str *l2rec);
241 int16_t *get_counts_sst4(l2str *l2rec);
242 int16_t *get_counts_sst_triple(l2str *l2rec);
243 
244 float get_sstref(short reftyp, char *file, l1str *l1rec, int32_t ip);
245 float get_sssref(char *file, float lon, float lat, int day);
246 void calcite(l2str *l2rec, l2prodstr *p, float caco3[]);
247 void tindx_morel(l2str *l2rec, int32_t ip, float *tindx);
248 void tindx_shi(l2str *l2rec, int32_t ip, float *tindx);
249 float conv_rrs_to_555(float Rrs, float wave);
250 
251 float water_vapor(int ib, float wv, float airmass);
252 int ice_mask_init(char *file, int year, int day, float threshold);
253 char ice_mask(float lon, float lat);
254 float ice_fraction(float lon, float lat);
255 void get_ice_frac(l2str *l2rec, float ice[]);
256 void get_tauc(l2str *l2rec, float tauc[]);
257 void get_mgiop(l2str *l2rec, l2prodstr *p, float prod[]);
258 void get_gsm(l2str *l2rec, l2prodstr *p, float prod[]);
259 int16_t *get_iter_gsm(l2str *l2rec);
260 void iops_gsm(l2str *l2rec);
261 void get_giop(l2str *l2rec, l2prodstr *p, float prod[]);
262 int16_t *get_iter_giop(l2str *l2rec);
263 int16_t *get_flags_giop(l2str *l2rec);
264 void iops_giop(l2str *l2rec);
265 void get_carder(l2str *l2rec, l2prodstr *p, float prod[]);
266 int16_t *get_flags_carder(l2str *l2rec);
267 void iops_carder(l2str *l2rec);
268 void chl_carder_empirical(l2str *l2rec, float prod[]);
269 void get_pml(l2str *l2rec, l2prodstr *p, float prod[]);
270 void iops_pml(l2str *l2rec);
271 void get_qaa(l2str *l2rec, l2prodstr *p, float prod[]);
272 unsigned char *get_flags_qaa(l2str *l2rec);
273 void iops_qaa(l2str *l2rec);
274 void get_niwa(l2str *l2rec, l2prodstr *p, float prod[]);
275 void iops_niwa(l2str *l2rec);
276 int16_t *get_flags_niwa(l2str *l2rec);
277 void iops_las(l2str *l2rec);
278 int get_bbp_qaa(l2str *l2rec, int ip, float tab_wave[], float tab_bbp[], int tab_nwave);
279 int get_bbp_las(l2str *l2rec, int ip, float tab_wave[], float tab_bbp[], int tab_nwave);
280 float get_bbp_las_eta(l2str *l2rec, int ip);
281 float get_bbp_las_eta_ksm(l2str *l2rec, int ip);
282 void get_iops(l2str *l2rec, int32_t iop_opt);
283 void set_iop_flag(float wave[], int32_t nwave,
284  float a[], float aph[], float adg[],
285  float bb[], float bbp[], int16_t *flag);
286 float aph_bricaud(float wave, float chl);
287 float aph_ciotti(float wave, float sf);
288 float get_aphstar(float wave, int dwave, int ftype, float proxy);
289 float rrs_above_to_below(float Rrs);
290 void optical_class(l2str *l2rec, l2prodstr *p, float prod[]);
291 float *get_class_ward_owmc(l2str *l2rec);
292 float *get_class_k_owmc(l2str *l2rec);
293 float *get_class_34k_w_owmc(l2str *l2rec);
294 
295  /*
296 void myprod1(l2str *l2rec, float prod[]);
297 void myprod2(l2str *l2rec, float prod[]);
298 void myprod3(l2str *l2rec, float prod[]);
299 void myprod4(l2str *l2rec, float prod[]);
300 void myprod5(l2str *l2rec, float prod[]);
301 void myprod6(l2str *l2rec, float prod[]);
302 void myprod7(l2str *l2rec, float prod[]);
303 void myprod8(l2str *l2rec, float prod[]);
304 void myprod9(l2str *l2rec, float prod[]);
305 void myprod10(l2str *l2rec, float prod[]);
306  */
307 
308 float westernmost(float lon1, float lon2);
309 float easternmost(float lon1, float lon2);
310 
311 /* Filter functions */
312 
313 void fctl_init(fctlstr *fctl);
314 int fctl_set(fctlstr *fctl, int32_t npix, char *fname,
315  int32_t band, int32_t nx, int32_t ny, int32_t minfill, int32_t nbands);
316 void filter(fctlstr *fctl, l1qstr *l1que, l1str *l1rec, int32_t dscan);
317 int rdfilter(char *file, fctlstr *fctl, int32_t nbands);
318 void fdilate(l1qstr *l1que, int32_t nx, int32_t ny, int flag, char kernel[], l1str *l1rec);
319 void fclean(l1qstr *l1que, int32_t nx, int32_t ny, int flag, char kernel[], l1str *l1rec);
320 void fLTmean(l1qstr *l1que, int32_t nx, int32_t ny, int ib, int32_t minfill, char kernel[], l1str *l1rec);
321 void fLTRmean(l1qstr *l1que, int32_t nx, int32_t ny, int ib, int32_t minfill, char kernel[], l1str *l1rec);
322 void fLTmed(l1qstr *l1que, int32_t nx, int32_t ny, int ib, int32_t minfill, char kernel[], l1str *l1rec);
323 void fLTRmed(l1qstr *l1que, int32_t nx, int32_t ny, int ib, int32_t minfill, char kernel[], l1str *l1rec);
324 void fEPSmean(l1qstr *l1que, int32_t nx, int32_t ny, int ib, int32_t minfill, char kernel[], l1str *l1rec);
325 void fEPSiqmean(l1qstr *l1que, int32_t nx, int32_t ny, int ib, int32_t minfill, char kernel[], l1str *l1rec);
326 void fLTRiqmean(l1qstr *l1que, int32_t nx, int32_t ny, int ib, int32_t minfill, char kernel[], l1str *l1rec);
327 void fLTrat(l1qstr *l1que, int32_t nx, int32_t ny, l1str *l1rec);
328 
329 /* viirs pixel conversion */
330 void viirs_pxcvt_2uag(int, int *, int *);
331 void viirs_pxcvt_2ag(int, int *);
332 void viirs_pxcvt_agdel(int, int, int *);
333 
334 /* Fortran functions called from C */
335 
336 void sunangs_(int *iyr, int *iday, float *gmt, float *xlon, float *ylat,
337  float *sunz, float *suna);
338 int getglint_(float *, float *, float *, float *, float *, float *);
339 int getglint_iqu_(float *, float *, float *, float *, float *, float *, float *, float *);
340 void get_um_prod_(int32_t* idProd, int32_t* pix, float* val);
341 void clear_um_prod_();
342  /*
343 int atmcor_soa_(
344  int32_t *sensorID,
345  char *sensorNm,
346  int32_t *nwave,
347  float *wave,
348  int32_t *scan,
349  int32_t *pixel,
350  float *solz,
351  float *senz,
352  float *raz,
353  float *lat,
354  float *lon,
355  float *Lt,
356  float *rho_r,
357  float *Fo,
358  float *Tau_r,
359  float *aw,
360  float *bbw,
361  float *aphstar,
362  float *adg_s,
363  float *bbp_s,
364  float *Rs,
365  float *Rw,
366  float *wv,
367  float *t_sen,
368  float *t_sol,
369  float *optTaua,
370  float *optW0,
371  float *optChl,
372  float *optAcdm,
373  float *pcentCDM,
374  float *optBbp,
375  float *optMr,
376  float *optMi,
377  float *optV,
378  int32_t *status);
379  */
380 
381 void get_fdiff(l2str *l2rec, float fdiff[]);
382 
383 void get_cdom_morel(l2str *l2rec, l2prodstr *p, float prod[]);
384 
385 void optical_water_type(l2str *l2rec, l2prodstr *p, void *vptr);
386 
387 void* prodgen(l2prodstr *p, l2str *l2rec);
388 
389 void virtual_constellation(l2str *l2rec, l2prodstr *p, float prod[]);
390 void bioOptBandShift(l2str *l2rec, l2prodstr *p, float prod[]);
391 
392 void get_swim(l2str *l2rec, l2prodstr *p, float prod[]);
393 void iops_swim(l2str *l2rec);
394 
395 int compfloat(float *x, float *y);
396 void elev_init(char* elevFilename, char* elevAuxFilename);
397 float get_elev(float lat, float lon);
398 
399 int read_target_l3(filehandle *file, l1str *l1rec, int32_t nbands, tgstr *tgrec);
400 int ncio_dim_siz(int, char *);
401 int ncio_grab_f_ds(int, char *, float *);
402 int ncio_grab_stdsclf_ds(int, char *, float, float *);
403 
404 float get_mld(char* mldfile, float lon, float lat, int day);
405 void get_pft_hirata(l2str *l2rec, l2prodstr *p, float prod[]);
406 void get_pft_uitz(l2str *l2rec, l2prodstr *p, float prod[]);
407 void get_npp(l2str *l2rec, int32_t, float prod[]);
408 float chl_abi(l2str *l2rec, float nLw[]);
409 
410 void run_raman_cor(l2str *l2rec, int ip);
411 void get_bpar(l2str *l2rec, l2prodstr *p, float prod[]) ;
412 
413 void get_habs_ci(l2str *l2rec, l2prodstr *p, float ci[]);
414 void get_habs_mph(l2str *l2rec, l2prodstr *p, float mph_chl[]);
415 uint8_t* get_flags_habs_mph(l2str *l2rec);
416 uint8_t* get_flags_habs(l2str *l2rec);
417 void get_psd_ksm(l2str *l2rec, l2prodstr *p, float prod[]);
418 
419 int get_cmp( l2str *l2rec, int prodnum, float prod[]);
420 unsigned char *get_cmp_byt( l2str *l2rec, int32_t );
421 
422 float* giop_get_aph_pointer();
423 float* giop_get_adg_pointer();
424 float* giop_get_bbp_pointer();
425 float* giop_get_bbp_s_pointer();
426 void run_giop(l2str *l2rec);
427 int giop_ran(int recnum);
428 float first_deriv(float x[], float y[], int n);
429 
430 #ifdef __cplusplus
431 }
432 #endif
433 
434 #endif
float pp_airmass(float theta)
Definition: airmass.c:14
float * giop_get_aph_pointer()
Definition: giop.c:2782
#define L1_MAXPROD
Definition: filehandle.h:20
int8_t * get_qual_sst_triple(l2str *l2rec)
Definition: sst.c:7549
int aerosol(l2str *l2rec, int32_t aer_opt_in, aestr *aerec, int32_t ip, float wave[], int32_t nwave, int32_t nir_s_in, int32_t nir_l_in, float F0_in[], float La1_in[], float La2_out[], float t_sol_out[], float t_sen_out[], float *eps, float taua_out[], int32_t *modmin, int32_t *modmax, float *modrat, int32_t *modmin2, int32_t *modmax2, float *modrat2)
Definition: aerosol.c:3922
void get_fsat2(l2str *l2rec, float flh[])
int32 l1file(int32 sdfid, int32 *nsamp, int32 *nscans, int16 *dtynum)
Definition: l1stat_chk.c:586
subroutine dust
Definition: 6sm1.f:3800
void calcite(l2str *l2rec, l2prodstr *p, float caco3[])
Definition: calcite.c:541
char ice_mask(float lon, float lat)
Definition: ice_mask.c:993
void get_Cphyt(l2str *l2rec, float cphyt[])
Definition: get_Cphyt.c:19
void get_gsm(l2str *l2rec, l2prodstr *p, float prod[])
Definition: gsm.c:803
int convl21(l2str *l2rec, tgstr *tgrec, int32_t spix, int32_t epix, float *Lt, vcstr *vrec)
Definition: convl21.c:15
void fLTRmean(l1qstr *l1que, int32_t nx, int32_t ny, int ib, int32_t minfill, char kernel[], l1str *l1rec)
Definition: filter.c:671
void get_dust_index(l2str *l2rec, float dust[])
void elev_init(char *elevFilename, char *elevAuxFilename)
Definition: elev.c:66
int get_rhos(l1str *l1rec, int32_t ip)
Definition: get_rhos.c:23
float get_mld(char *mldfile, float lon, float lat, int day)
Definition: get_mld.cpp:347
void fLTRmed(l1qstr *l1que, int32_t nx, int32_t ny, int ib, int32_t minfill, char kernel[], l1str *l1rec)
Definition: filter.c:1091
subroutine kernel(is, mu, rm, xpl, psl, bp)
Definition: 6sm1.f:4700
int16_t * get_flags_giop(l2str *l2rec)
Definition: giop.c:2722
void get_rho_mumm(l2str *l2rec, int32_t ip, int32_t iw, float *rhom)
Definition: mumm.c:25
float easternmost(float lon1, float lon2)
void filter(fctlstr *fctl, l1qstr *l1que, l1str *l1rec, int32_t dscan)
Definition: filter.c:1396
int32_t day
int get_height(l1str *l1rec, int32_t ip, int terrain_corrected)
Definition: get_height.c:31
void lowercase(char *s)
int msl12_input(int argc, char *argv[], const char *progName, filehandle *l1file)
Definition: msl12_input.c:4201
void iops_niwa(l2str *l2rec)
Definition: get_niwa_iop.c:109
list(APPEND LIBS ${PGSTK_LIBRARIES}) add_executable(atteph_info_modis atteph_info_modis.c) target_link_libraries(atteph_info_modis $
Definition: CMakeLists.txt:7
void get_fqy2(l2str *l2rec, float fqy[])
int atmocor2(l2str *l2rec, aestr *aerec, int32_t ip)
Definition: atmocor2.c:11
void fLTRiqmean(l1qstr *l1que, int32_t nx, int32_t ny, int ib, int32_t minfill, char kernel[], l1str *l1rec)
Definition: filter.c:1164
void get_Rrs_brightness(l2str *l2rec, float Rrs_brightness[])
Definition: get_avw.c:170
float get_sstref(short reftyp, char *file, l1str *l1rec, int32_t ip)
Definition: sstref.c:1592
void nlw_outband(int32_t evalmask, int32_t sensorID, float wave[], int32_t nwave, float Lw[], float nLw[], float outband_correction[])
Definition: nlw_outband.c:3
int l2gen_init_options(clo_optionList_t *list, const char *prog)
Definition: msl12_input.c:667
void get_evi(l1str *l1rec, float evi[])
Definition: get_ndvi.c:63
void get_poc(l2str *l2rec, int prodnum, float prod[])
Definition: get_poc.c:81
float get_aphstar(float wave, int dwave, int ftype, float proxy)
Definition: aph.c:296
float aph_ciotti(float wave, float sf)
Definition: aph.c:190
int getl1rec(int32_t recnum, int32_t dscan, l1str *l1rec)
Definition: getl1rec.c:119
float fresnel_coef(float mu, float n)
Definition: aerosol.c:904
int ncio_dim_siz(int, char *)
Definition: ncio.c:18
int closel2(filehandle *l2file)
Definition: l2_generic.c:1499
float get_bbp_las_eta(l2str *l2rec, int ip)
Definition: las_iop.c:627
void get_ndvi_evi(l1str *l1rec, int prodnum, float prod[])
Definition: get_ndvi.c:203
void close_target(void)
Definition: target_io.c:37
int read_target(filehandle *file, int32_t recnum, tgstr *tgrec)
Definition: target_io.c:105
int open_aer(filehandle *file)
Definition: aer_io.c:73
map< string, float > F0
Definition: DDSensor.cpp:39
void fresnel_sol(float wave[], int32_t nwave, float solz, float ws, float brdf[], int return_tf)
Definition: brdf.c:160
float seawater_get_n(int32_t ip, int32_t ib)
Definition: seawater_get.c:17
void get_tauc(l2str *l2rec, float tauc[])
uint8_t * get_flags_habs(l2str *l2rec)
Definition: get_habs.c:673
float aph_bricaud(float wave, float chl)
Definition: aph.c:181
int32_t alloc_target(int32_t npix, int32_t nbands, tgstr *tgrec)
Definition: alloc_target.c:12
void iops_carder(l2str *l2rec)
Definition: carder.c:1013
void foqint_morel(char *file, float wave[], int32_t nwave, float solz, float senzp, float phi, float chl, float brdf[])
Definition: brdf.c:314
int dem_init()
Definition: read_mask.c:43
void get_photic_depth(l2str *l2rec, l2prodstr *p, float Z[])
Definition: photic_depth.c:303
int getglint_(float *, float *, float *, float *, float *, float *)
read l1rec
void get_smoke(l2str *l2rec, float smoke[])
Definition: get_smoke.c:20
PARAM_TYPE_NONE Default value No parameter is buried in the product name name_prefix is case insensitive string compared to the product name PARAM_TYPE_VIS_WAVE The visible wavelength bands from the sensor are buried in the product name The product name is compared by appending and name_suffix ie aph_412_giop where prod_ix will be set to PARAM_TYPE_IR_WAVE same search method as PARAM_TYPE_VIS_WAVE except only wavelength above are looped through but prod_ix is still based ie aph_2_giop for the second band
int16_t * get_flags_niwa(l2str *l2rec)
Definition: get_niwa_iop.c:99
int msl12_option_input(int argc, char *argv[], clo_optionList_t *list, char *progName, filehandle *l1file)
void get_angstrom(l2str *l2rec, int band, float angst[])
Definition: aerosol.c:4529
void close_aer(filehandle *file)
void viirs_pxcvt_agdel(int, int, int *)
Definition: viirs_pxcvt.c:106
int16_t * get_flags_sst(l2str *l2rec)
Definition: sst.c:7562
void tindx_shi(l2str *l2rec, int32_t ip, float *tindx)
Definition: turbid.c:4
uint8_t * get_flags_habs_mph(l2str *l2rec)
Definition: get_habs.c:356
float * get_class_34k_w_owmc(l2str *l2rec)
Definition: get_owmc.c:214
int ice_mask_init(char *file, int year, int day, float threshold)
Definition: ice_mask.c:900
void get_ipar2(l2str *l2rec, float ipar[])
int setanc(l1str *l1rec)
Definition: setanc.c:563
int open_target(filehandle *file)
Definition: target_io.c:79
float * giop_get_adg_pointer()
Definition: giop.c:2768
float conv_rrs_to_555(float Rrs, float wave)
Definition: convert_band.c:17
float ylat[LAC_PIXEL_NUM]
Definition: l1a_seawifs.c:92
float westernmost(float lon1, float lon2)
void rayleigh(l1str *l1rec, int32_t ip)
Definition: rayleigh.c:130
float * get_bias_mean_sst(l2str *l2rec)
Definition: sst.c:7658
float * lat
int8_t * get_qual_sst4(l2str *l2rec)
Definition: sst.c:7531
void get_fdiff(l2str *l2rec, float fdiff[])
float chl_abi(l2str *l2rec, float nLw[])
Definition: get_chl.c:346
void gaseous_transmittance(l1str *l1rec, int32_t ip)
Definition: gas_trans.c:450
float get_default_chl(l2str *l2rec, float Rrs[])
Definition: get_chl.c:392
void polcor(l1str *l1rec, int32_t ip)
Definition: polcor.c:16
float * get_sst_dust_correction(l2str *l2rec)
Definition: sst.c:7380
float * giop_get_bbp_pointer()
Definition: giop.c:2775
void get_ndvi(l1str *l1rec, float ndvi[])
Definition: get_ndvi.c:31
void msl12_input_init()
Definition: msl12_input.c:485
void cpl1rec(l1str *l1new, l1str *l1old)
Definition: cpl1rec.c:6
void viirs_pxcvt_2ag(int, int *)
Definition: viirs_pxcvt.c:62
unsigned char * get_flags_qaa(l2str *l2rec)
Definition: get_qaa.c:253
void fLTrat(l1qstr *l1que, int32_t nx, int32_t ny, l1str *l1rec)
int ocbrdf(l2str *l2rec, int32_t ip, int32_t brdf_opt, float wave[], int32_t nwave, float solz, float senz, float phi, float ws, float chl, float nLw[], float Fo[], float brdf[])
Definition: brdf.c:40
int rdfilter(char *file, fctlstr *fctl, int32_t nbands)
Definition: filter.c:300
void optical_class(l2str *l2rec, l2prodstr *p, float prod[])
void get_bbws(l2str *l2rec, l2prodstr *p, float prod[])
Definition: seawater.c:254
float * giop_get_bbp_s_pointer()
Definition: giop.c:2797
int l2gen_usage(const char *prog)
Definition: msl12_input.c:4254
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
void free_l2(l2str *l2rec)
Definition: alloc_l2.c:7
instr * input
int land_mask(float lat, float lon)
Definition: read_mask.c:80
void get_um_prod_(int32_t *idProd, int32_t *pix, float *val)
int openl2(filehandle *l2file)
Definition: l2_generic.c:222
int16_t * get_iter_gsm(l2str *l2rec)
Definition: gsm.c:873
float first_deriv(float x[], float y[], int n)
Definition: aerosol.c:246
int compfloat(float *x, float *y)
Definition: filter.c:728
int32_t prodlist(int32_t sensorID, int32_t evalmask, const char *inprod, const char *defprod, char outprod[L1_MAXPROD][32])
l1qstr l1que
Definition: getl1rec.c:7
float ky_airmass(float theta)
Definition: airmass.c:4
void get_habs_ci(l2str *l2rec, l2prodstr *p, float ci[])
Definition: get_habs.c:81
int b128_msk_init(char *landfile, int msknum)
Definition: b128_msk_get.c:30
int b128_msk_get(float lat, float lon, int msknum)
Definition: b128_msk_get.c:183
int land_mask_init()
Definition: read_mask.c:23
void get_fqy(l2str *l2rec, float fqy[])
Definition: fluorescence.c:239
void get_evi3(l1str *l1rec, float evi3[])
Definition: get_ndvi.c:156
int writel2(filehandle *l2file, int32_t recnum, l2str *l2rec, int outfile_number)
Definition: l2_generic.c:988
void update_flag_cnts16(int32_t *flag_cnt, int16_t *flags, int32_t nflags, int32_t npix, uint32_t init_mask)
Definition: l2_generic.c:1561
void get_par(l2str *l2rec, float par[])
Definition: get_par.c:34
void fEPSmean(l1qstr *l1que, int32_t nx, int32_t ny, int ib, int32_t minfill, char kernel[], l1str *l1rec)
Definition: filter.c:851
void get_npp(l2str *l2rec, int32_t, float prod[])
read recnum
void update_flag_cnts(int32_t *flag_cnt, int32_t *flags, int32_t nflags, int32_t npix, uint32_t init_mask)
Definition: l2_generic.c:1546
float seawater_nsw(float wave, float sst, float sss, float *dnswds)
Definition: seawater.c:8
float seawater_get_a(int32_t ip, int32_t ib)
Definition: seawater_get.c:21
void get_bsi(l2str *l2rec, float BSi[])
void chl_carder_empirical(l2str *l2rec, float prod[])
Definition: carder.c:1168
int acq_sfc_albedo(l1str *l1rec)
void fLTmean(l1qstr *l1que, int32_t nx, int32_t ny, int ib, int32_t minfill, char kernel[], l1str *l1rec)
Definition: filter.c:614
float get_sssref(char *file, float lon, float lat, int day)
Definition: sssref.c:360
void get_Kd(l2str *l2rec, l2prodstr *p, float Kd[])
Definition: get_Kd.c:981
int16_t * get_flags_sst_triple(l2str *l2rec)
Definition: sst.c:7593
int ncio_grab_stdsclf_ds(int, char *, float, float *)
Definition: ncio.c:101
void fdilate(l1qstr *l1que, int32_t nx, int32_t ny, int flag, char kernel[], l1str *l1rec)
Definition: filter.c:361
int land_bath_mask(l1str *l1rec, int32_t ip)
Definition: read_mask.c:125
int get_cmp(l2str *l2rec, int prodnum, float prod[])
Definition: get_cmp.c:40
int read_target_l3(filehandle *file, l1str *l1rec, int32_t nbands, tgstr *tgrec)
Definition: target_io.c:209
void gothic_R(float wave[], int32_t nwave, float solz, float senz, float ws, float R[])
Definition: brdf.c:266
void update_qual_cnts(int32_t *flag_cnt, int8_t *flags, int32_t nflags, int32_t npix)
Definition: l2_generic.c:1576
float get_elev(float lat, float lon)
Definition: elev.c:108
void cdom_mannino(l2str *l2rec, int prodnum, float prod[])
Definition: cdom_mannino.c:7
void iops_gsm(l2str *l2rec)
Definition: gsm.c:883
int bath_mask_init(char *file)
Definition: read_mask.c:102
void get_pml(l2str *l2rec, l2prodstr *p, float prod[])
Definition: get_pml.c:268
int16_t * get_iter_giop(l2str *l2rec)
Definition: giop.c:2710
int fctl_set(fctlstr *fctl, int32_t npix, char *fname, int32_t band, int32_t nx, int32_t ny, int32_t minfill, int32_t nbands)
Definition: filter.c:92
void get_qaa(l2str *l2rec, l2prodstr *p, float prod[])
Definition: get_qaa.c:260
void get_tsm(l2str *l2rec, int prodnum, float prod[])
void iops_qaa(l2str *l2rec)
Definition: get_qaa.c:335
float * get_bias_sst_triple(l2str *l2rec)
Definition: sst.c:7423
void get_rhown_mumm(l2str *l2rec, int32_t ip, int32_t nir_s, int32_t nir_l, float rhown[])
Definition: mumm.c:74
void get_es(l2str *l2rec, int band, float es[])
Definition: get_es.c:24
int16_t * get_counts_sst4(l2str *l2rec)
Definition: sst.c:7462
void clear_um_prod_()
float * get_sst(l2str *l2rec)
Definition: sst.c:7606
float aw_spectra(int32_t wl, int32_t width)
int bath_mask(float lat, float lon)
Definition: read_mask.c:108
void get_giop(l2str *l2rec, l2prodstr *p, float prod[])
Definition: giop.c:2538
float * get_sst4(l2str *l2rec)
Definition: sst.c:7625
float bbw_spectra(int32_t wl, int32_t width)
const double delta
float seawater_get_bb(int32_t ip, int32_t ib)
Definition: seawater_get.c:25
float * get_sst_triple(l2str *l2rec)
Definition: sst.c:7644
void optical_water_type(l2str *l2rec, l2prodstr *p, void *vptr)
Definition: owt.c:325
void get_toa_refl(l2str *l2rec, int band, float rhot[])
Definition: get_toa_refl.c:19
void iops_swim(l2str *l2rec)
Definition: swim.c:799
int32_t l3file(int32_t sdfid, int32_t c_sdfid, int32_t *nbins, int32_t *c_nbins, char *ptype)
Definition: l3stat_chk.c:347
char filename[FILENAME_MAX]
Definition: atrem_corl1.h:122
float * get_stdv_sst4(l2str *l2rec)
Definition: sst.c:7488
void get_aw_bbw(l2str *l2rec, float wave[], int nwave, float *aw, float *bbw)
int write_qual_flag_pcnts(idDS ds_id, FILE *fpmeta, int32_t *flag_cnt, int32_t nflags, const char *const flag_lname[])
Definition: l2_generic.c:1611
void init_l2prod()
void whitecaps(int32_t sensorID, int32_t evalmask, int32_t nwave, float ws, float ws_max, float rhof[])
Definition: whitecaps.c:51
float * get_bias_sst(l2str *l2rec)
Definition: sst.c:7392
void get_evi2(l1str *l1rec, float evi2[])
Definition: get_ndvi.c:122
void get_pft_uitz(l2str *l2rec, l2prodstr *p, float prod[])
Definition: get_pft_uitz.c:387
void cdom_morel(l2str *l2rec, l2prodstr *p, float prod[])
float * get_class_k_owmc(l2str *l2rec)
Definition: get_owmc.c:209
void write_product_XML_file(char *filename)
Utility functions for allocating and freeing two-dimensional arrays of various types.
void get_pft_hirata(l2str *l2rec, l2prodstr *p, float prod[])
int init_cld_dat(l1str *l1rec)
Definition: acq_sfc_albedo.c:4
void sunangs_(int *iyr, int *iday, float *gmt, float *xlon, float *ylat, float *sunz, float *suna)
int32_t l2_seawifs(filehandle *l1file, filehandle *l2file)
float fresnel_sen(float senz, int return_tf)
Definition: brdf.c:127
float xlon[LAC_PIXEL_NUM]
Definition: l1a_seawifs.c:93
int read_albedo(int32_t d_np, int32_t d_nl, int32_t st_lin, int32_t ix_clim, int ncid, int *d_id, unsigned char ***alb_dat)
float * get_bias_mean_sst_triple(l2str *l2rec)
Definition: sst.c:7689
ftype
Definition: mapgen.py:232
void atmocor1(l1str *l1rec, int32_t ip)
Definition: atmocor1.c:38
void get_ssn(l2str *l2rec, float ssn[])
int write_flag_pcnts(idDS ds_id, FILE *fpmeta, int32_t *flag_cnt, int32_t nflags, const char *const flag_lname[], int32_t numScans, int32_t numPixels)
Definition: l2_generic.c:1591
int giop_ran(int recnum)
Definition: giop.c:569
void set_iop_flag(float wave[], int32_t nwave, float a[], float aph[], float adg[], float bb[], float bbp[], int16_t *flag)
void get_ipar(l2str *l2rec, float ipar[])
Definition: ipar.c:18
void get_fsat(l2str *l2rec, float flh[])
Definition: fluorescence.c:35
void run_raman_cor(l2str *l2rec, int ip)
Definition: raman.c:815
int32_t nband
int ncio_grab_f_ds(int, char *, float *)
Definition: ncio.c:57
int getglint_iqu_(float *, float *, float *, float *, float *, float *, float *, float *)
void fEPSiqmean(l1qstr *l1que, int32_t nx, int32_t ny, int ib, int32_t minfill, char kernel[], l1str *l1rec)
Definition: filter.c:1247
int read_aer(filehandle *file, int32_t recnum, aestr *aerec)
Definition: aer_io.c:99
l2prodstr * get_l2prod_index(char *name, int32_t sensorID, int32_t numBands, int32_t numPixels, int32_t numScans, int32_t *wave)
void bioOptBandShift(l2str *l2rec, l2prodstr *p, float prod[])
flags
Definition: DDAlgorithm.h:22
int get_bbp_qaa(l2str *l2rec, int ip, float tab_wave[], float tab_bbp[], int tab_nwave)
Definition: get_qaa.c:367
unsigned char * get_cmp_byt(l2str *l2rec, int32_t)
int32_t alloc_aer(int32_t npix, int32_t nbands, aestr *aerec)
Definition: alloc_aer.c:12
float * get_bias_mean_sst4(l2str *l2rec)
Definition: sst.c:7671
void get_rhown_nir(char *fqfile, float Rrs[], float wave[], int32_t nir_s, int32_t nir_l, float aw[], float bbw[], float chl, float rhown[])
int32_t nbands
int8_t * get_qual_sst(l2str *l2rec)
Definition: sst.c:7518
int32_t alloc_l2(l1str *l1rec, l2str *l2rec)
Definition: alloc_l2.c:17
int msl12_input_defaults(filehandle *l1file)
Definition: msl12_input.c:4225
void fctl_init(fctlstr *fctl)
Definition: filter.c:19
void vcal(l2str *l2rec, l2prodstr *p, float vcal[])
Definition: vcal.c:25
void iops_pml(l2str *l2rec)
Definition: get_pml.c:313
float * get_stdv_sst(l2str *l2rec)
Definition: sst.c:7437
void get_ms_epsilon(l2str *l2rec, float eps[])
Definition: aerosol.c:4577
void init_l2(l2str *l2rec, int32_t nbands)
Definition: init_l2.c:11
void * prodgen(l2prodstr *p, l2str *l2rec)
Definition: prodgen.c:89
void free_l1q(void)
Definition: getl1rec.c:13
int16_t * get_counts_sst(l2str *l2rec)
Definition: sst.c:7450
void glint_rad(int32_t num_iter, int32_t nband, int32_t nir_s, int32_t nir_l, float glint_coef, float air_mass, float mu0, float F0[], float taur[], float taua[], float La[], float TLg[])
Definition: glint.c:40
void get_habs_mph(l2str *l2rec, l2prodstr *p, float mph_chl[])
Definition: get_habs.c:261
void free_deminfo()
float rrs_above_to_below(float Rrs)
Definition: giop.c:1598
int get_bbp_las(l2str *l2rec, int ip, float tab_wave[], float tab_bbp[], int tab_nwave)
Definition: las_iop.c:605
void get_iops(l2str *l2rec, int32_t iop_opt)
Definition: convl12.c:113
float get_bbp_las_eta_ksm(l2str *l2rec, int ip)
Definition: las_iop_ksm.c:745
Definition: dfutils.h:28
void iops_giop(l2str *l2rec)
Definition: giop.c:2734
float * lon
void fclean(l1qstr *l1que, int32_t nx, int32_t ny, int flag, char kernel[], l1str *l1rec)
Definition: filter.c:534
data_t s[NROOTS]
Definition: decode_rs.h:75
int32 epix
Definition: l1_czcs_hdf.c:23
void get_carder(l2str *l2rec, l2prodstr *p, float prod[])
Definition: carder.c:957
int16_t * get_counts_sst_triple(l2str *l2rec)
Definition: sst.c:7475
void get_mgiop(l2str *l2rec, l2prodstr *p, float prod[])
Definition: mgiop.c:10
void iops_las(l2str *l2rec)
Definition: las_iop.c:581
void run_giop(l2str *l2rec)
Definition: giop.c:1616
void get_psd_ksm(l2str *l2rec, l2prodstr *p, float prod[])
Definition: get_psd_ksm.c:432
int32_t get_modis_calfile(int32_t sd_id, char *file)
float water_vapor(int ib, float wv, float airmass)
Definition: water_vapor.c:4
void get_cdom_morel(l2str *l2rec, l2prodstr *p, float prod[])
Definition: cdom_morel.c:319
float ice_fraction(float lon, float lat)
Definition: ice_mask.c:1018
#define R
Definition: make_L3_v1.1.c:96
int atmocor1_land(l1str *l1rec, int32_t ip)
Definition: atmocor1_land.c:16
float bin_climatology(char *l3file, int32_t day, float lon, float lat, char *prodname)
void get_swim(l2str *l2rec, l2prodstr *p, float prod[])
Definition: swim.c:741
float get_dem(float lat, float lon)
Definition: read_mask.c:112
void get_lambda_max(l2str *l2rec, float lambda_max[])
Definition: get_avw.c:226
float * get_stdv_sst_triple(l2str *l2rec)
Definition: sst.c:7505
void get_chl(l2str *l2rec, int prodnum, float prod[])
Definition: get_chl.c:462
int loadl1(filehandle *l1file, l1str *l1rec)
Definition: loadl1.c:201
float * get_bias_sst4(l2str *l2rec)
Definition: sst.c:7405
void virtual_constellation(l2str *l2rec, l2prodstr *p, float prod[])
int16_t * get_flags_sst4(l2str *l2rec)
Definition: sst.c:7575
void get_avw(l2str *l2rec, float avw[])
Definition: get_avw.c:80
void fLTmed(l1qstr *l1que, int32_t nx, int32_t ny, int ib, int32_t minfill, char kernel[], l1str *l1rec)
Definition: filter.c:1020
int32 l2file(int32 sdfid, int32 *nsamp, int32 *nscans, char *dtype)
Definition: l2stat_chk.c:313
void qint_morel(float wave[], int32_t nwave, float solz, float chl, float Qn[])
Definition: brdf.c:672
msiBandIdx val
Definition: l1c_msi.cpp:34
void get_depth_classification(l2str *l2rec, float depth[])
PGE01 indicating that PGE02 PGE01 V6 for and PGE01 V2 for MOD03 were used to produce the granule By convention adopted in all MODIS Terra PGE02 code versions are The fourth digit of the PGE02 version denotes the LUT version used to produce the granule The source of the metadata environment variable ProcessingCenter was changed from a QA LUT value to the Process Configuration A sign used in error in the second order term was changed to a
Definition: HISTORY.txt:424
int32_t sensorID[MAXNFILES]
Definition: l2bin.cpp:97
void get_las(l2str *l2rec, l2prodstr *p, float prod[])
Definition: las_iop.c:492
int32_t iyr
Definition: atrem_corl1.h:161
void get_niwa(l2str *l2rec, l2prodstr *p, float prod[])
Definition: get_niwa_iop.c:67
int16_t * get_flags_carder(l2str *l2rec)
Definition: carder.c:948
int convl12(l1str *l1rec, l2str *l2rec, int32_t spix, int32_t epix, aestr *aerec)
Definition: convl12.c:16
float seawater_bb(float wave, float sst, float sss, double delta)
Definition: seawater.c:176
void get_flh(l2str *l2rec, float flh[])
Definition: fluorescence.c:131
void viirs_pxcvt_2uag(int, int *, int *)
Definition: viirs_pxcvt.c:11
int npix
Definition: get_cmp.c:27
float p[MODELMAX]
Definition: atrem_corl1.h:131
float * get_class_ward_owmc(l2str *l2rec)
Definition: get_owmc.c:204
void get_ice_frac(l2str *l2rec, float ice[])
Definition: get_ice_frac.c:17
int32_t l1b_seawifs(filehandle *l1file, filehandle *ofile, int32_t sscan, int32_t escan, int32_t dscan, int32_t spixl, int32_t epixl, int32_t dpixl)
void get_bpar(l2str *l2rec, l2prodstr *p, float prod[])
Definition: get_bpar.c:482
void setflagbits_l2(l2str *l2rec, int32_t ipix)
Definition: setflags_l2.c:14
void get_rhown_eval(char *fqfile, float Rrs[], float wave[], int32_t nir_s, int32_t nir_l, int32_t nwave, float aw[], float bbw[], float chl, float solz, float senz, float phi, float rhown[])
void tindx_morel(l2str *l2rec, int32_t ip, float *tindx)
Definition: turbid.c:65
void seawater_set(l1str *l1rec)
Definition: seawater_get.c:8