Go to the documentation of this file.
8 #ifndef INCLUDE_DBALGORITHM_H_
9 #define INCLUDE_DBALGORITHM_H_
71 static constexpr
int No_byte = 6;
72 static constexpr
int Fmax = 150;
73 static constexpr
int Lmax = 210;
74 static constexpr
int Fbmax = 1500;
75 static constexpr
int Lbmax = 2100;
76 static constexpr
int No_byte_O = 5;
77 static constexpr
float delta = -0.000001;
78 static constexpr
float SolarZenithAngleZEPS = 84.000001;
79 static constexpr
float NDVI1_CUTOFF = 0.18;
80 static constexpr
float NDVI2_CUTOFF = 0.35;
82 static const float xlog[8];
83 static const float htab[8];
84 static const float ttab[8];
85 static const float ptab[8];
86 static const float gtab[8];
101 virtual int initialize( map<string, ddata*> imap );
111 virtual map<string, ddata*> process(vector<size_t>
start, vector<size_t>
count,
112 map<string, ddata*> imap);
118 int compute_gas_correction();
159 int initialize_LUT_data( map<string, ddata*> imap );
170 int compute_pressure (
float height,
float& sigma,
float& ps,
float& theta);
175 int compute_glint_angle(
float& glint_angle);
180 int compute_scatter_angle(
float& scat_angle);
207 vector<string>
get_products() {
return {
"cloud_mask",
"quality_flag",
"aerosol_type",
208 "l2_flags",
"scattering_angle",
"chlorophyll",
"fmf_550",
"angstrom",
"aot_380",
209 "aot_490",
"aot_550",
"aot_670",
"aot_865",
"aot_1240",
"aot_1610",
"aot_2250"};};
214 map<string, ddata*> process(vector<size_t>
start, vector<size_t>
count,
215 map<string, ddata*> imap);
242 int initialize_LUT_data();
247 float calc_glint_refl(
size_t iy,
size_t ix,
int&
status);
257 int linfit(
int size,
float x[],
float y[],
float r[]);
262 float calc_turbid_residual(
float sza,
float r488,
263 float r1240,
float r1600,
float r2250,
float r550,
int&
status );
294 vector<string>
get_products() {
return {
"cloud_mask",
"quality_flag",
"aerosol_type",
295 "l2_flags",
"scattering_angle",
"fmf_550",
"angstrom",
"aot_380",
296 "aot_410",
"aot_550",
"aot_490",
"aot_670"};};
300 map<string, ddata*> process(vector<size_t>
start, vector<size_t>
count,
301 map<string, ddata*> imap);
360 int initialize_LUT_data();
361 int initialize_LUT_data( map<string, ddata*> imap );
371 int compute_dstar(
const size_t iy,
const size_t ix);
376 int compute_sr(
const size_t iy,
const size_t ix);
381 int compute_ler(
const size_t iy,
const size_t ix);
387 int interx(
int i1,
int i2,
rhot_band w,
float& ezero,
388 float& tr,
float&
sb);
vector< string > get_products()
void initialize(int pixref_flag, int blkref_flag)
dbModisSurfReflLimited * msr_lut_
real, dimension(10) xzlog
dbViirsSurfReflLimited * vsr_lut_
dbSurfacePressureLUT * sp_lut_
dbBathymetryLUT * bath_lut_
subroutine locate(xx, n, x, j)
virtual vector< string > get_products()
vector< string > get_products()
DbHighAltSmokeMask * ha_smoke_
dbSurfCoeffLimited * scl_lut_