OB.DAAC Logo
NASA Logo
Ocean Color Science Software

ocssw V2022

#include <DbAlgorithm.h>

Inheritance diagram for DbAlgorithm:
[legend]
Collaboration diagram for DbAlgorithm:
[legend]

Public Member Functions

 DbAlgorithm ()
 
virtual ~DbAlgorithm ()
 
virtual int initialize (map< string, ddata * > imap)
 
virtual vector< stringget_products ()
 
virtual map< string, ddata * > process (vector< size_t > start, vector< size_t > count, map< string, ddata * > imap)
 
int compute_gas_correction ()
 
- Public Member Functions inherited from DDAlgorithm
 DDAlgorithm ()
 
virtual ~DDAlgorithm ()
 

Public Attributes

int ler_start_ [2]
 
int ler_edge_ [2]
 
int dateline_
 
float cphi_
 
float cphir_
 
float phs_
 
float phsr_
 
float NC_ [DB_NC_BANDS]
 
float scatter_angle_
 
float glint_angle_
 
float glint_refl_
 
float ndvi_
 
dbTablesLUTmt_lut_
 
dbSurfacePressureLUTsp_lut_
 
dbSurfCoeffLimitedscl_lut_
 
dbGeozoneLUTgz_lut_
 
dbViirsSurfReflLimitedvsr_lut_
 
dbModisSurfReflLimitedmsr_lut_
 
dbOceanAerosolLUMAoaLut_ [NDBMDL]
 
dbBathymetryLUTbath_lut_
 
dbChlLUTchl_lut_
 

Static Public Attributes

static constexpr int No_byte = 6
 
static constexpr int Fmax = 150
 
static constexpr int Lmax = 210
 
static constexpr int Fbmax = 1500
 
static constexpr int Lbmax = 2100
 
static constexpr int No_byte_O = 5
 
static constexpr float delta = -0.000001
 
static constexpr float SolarZenithAngleZEPS = 84.000001
 
static constexpr float NDVI1_CUTOFF = 0.18
 
static constexpr float NDVI2_CUTOFF = 0.35
 
static const float xzlog [10]
 
static const float xlog [8]
 
static const float htab [8] = {0.0, 11.0, 20.0, 32.0, 47.0, 51.0, 71.0, 84.852}
 
static const float ttab [8]
 
static const float ptab [8]
 
static const float gtab [8] = {-6.5, 0.0, 1.0, 2.8, 0.0, -2.8, -2.0, 0.0}
 

Protected Member Functions

int initialize_LUT_data (map< string, ddata * > imap)
 
int locate (int size, float y[], float x, int &status)
 
int compute_pressure (float height, float &sigma, float &ps, float &theta)
 
int compute_glint_angle (float &glint_angle)
 
int compute_scatter_angle (float &scat_angle)
 
- Protected Member Functions inherited from DDAlgorithm
int get_inputs (vector< size_t > start, vector< size_t > count, map< string, ddata * > imap)
 
map< string, ddata * > set_outputs ()
 
map< string, ddata * > set_fills ()
 

Friends

class DbCloudMaskLand
 
class DbCloudMaskOcean
 
class DbSmokeMask
 
class DbHighAltSmokeMask
 
class DbPyrocbMask
 

Additional Inherited Members

- Protected Attributes inherited from DDAlgorithm
size_t lines_
 
size_t pixels_
 
float rfl_ [NTWL]
 
float rfla_ [NTWL][3][3]
 
float gasc_ [NTWL]
 
float lat_
 
float lon_
 
float solz_
 
float senz_
 
float raa_
 
float height_
 
float scatt_
 
float ws_
 
float pwv_
 
float oz_
 
float ps_
 
int month_
 
bool bgascorrect_
 
bool bglintmask_
 
bool bcloudmask_
 
bool btest_
 
unsigned char cloud_mask_
 
short qual_flag_
 
short aerosol_type_
 
short error_flag_
 
unsigned int l2_flags_
 
float scatter_ang_
 
float glint_ang_
 
float sse_
 
float fmf_
 
float aot_550_
 
float ae1_
 
float ae2_
 
float ndv_
 
float chlor_
 
float ssa_ [NLWL+1]
 
float sr_ [NLWL+1]
 
float aot_ [NOWL+1]
 

Detailed Description

Definition at line 60 of file DbAlgorithm.h.

Constructor & Destructor Documentation

◆ DbAlgorithm()

Class constructor

Definition at line 68 of file DbAlgorithm.cpp.

◆ ~DbAlgorithm()

~DbAlgorithm ( )
virtual

Class destructor

Definition at line 78 of file DbAlgorithm.cpp.

Member Function Documentation

◆ compute_gas_correction()

int compute_gas_correction ( )

Compute gas corrections for one pixel

Definition at line 262 of file DbAlgorithm.cpp.

◆ compute_glint_angle()

int compute_glint_angle ( float &  glint_angle)
protected

Compute glint angle

Definition at line 454 of file DbAlgorithm.cpp.

◆ compute_pressure()

int compute_pressure ( float  height,
float &  sigma,
float &  ps,
float &  theta 
)
protected

Compute pressure from elevation data

Definition at line 396 of file DbAlgorithm.cpp.

◆ compute_scatter_angle()

int compute_scatter_angle ( float &  scat_angle)
protected

Compute scatter angle based on geometry for aerosol dark target algorithm

Definition at line 500 of file DbAlgorithm.cpp.

◆ get_products()

virtual vector<string> get_products ( )
inlinevirtual

Return a list of product names generated by the algorithm

Reimplemented from DDAlgorithm.

Reimplemented in DbAlgLand, and DbAlgOcean.

Definition at line 106 of file DbAlgorithm.h.

◆ initialize()

int initialize ( map< string, ddata * >  imap)
virtual

Initialize Input data

Reimplemented from DDAlgorithm.

Reimplemented in DbAlgLand, and DbAlgOcean.

Definition at line 89 of file DbAlgorithm.cpp.

◆ initialize_LUT_data()

int initialize_LUT_data ( map< string, ddata * >  imap)
protected

Read LUT files into their respective data structures.

Definition at line 115 of file DbAlgorithm.cpp.

◆ locate()

int locate ( int  size,
float  y[],
float  x,
int &  status 
)
protected

Perform binary search of array y, such that x lies between y[i] and y[i+1]

Definition at line 212 of file DbAlgorithm.cpp.

◆ process()

map< string, ddata * > process ( vector< size_t >  start,
vector< size_t >  count,
map< string, ddata * >  imap 
)
virtual

Compute aerosol deep blue algorithm

Reimplemented from DDAlgorithm.

Reimplemented in DbAlgLand, and DbAlgOcean.

Definition at line 190 of file DbAlgorithm.cpp.

Friends And Related Function Documentation

◆ DbCloudMaskLand

friend class DbCloudMaskLand
friend

Definition at line 62 of file DbAlgorithm.h.

◆ DbCloudMaskOcean

friend class DbCloudMaskOcean
friend

Definition at line 63 of file DbAlgorithm.h.

◆ DbHighAltSmokeMask

friend class DbHighAltSmokeMask
friend

Definition at line 65 of file DbAlgorithm.h.

◆ DbPyrocbMask

friend class DbPyrocbMask
friend

Definition at line 66 of file DbAlgorithm.h.

◆ DbSmokeMask

friend class DbSmokeMask
friend

Definition at line 64 of file DbAlgorithm.h.

Member Data Documentation

◆ bath_lut_

dbBathymetryLUT* bath_lut_

Definition at line 142 of file DbAlgorithm.h.

◆ chl_lut_

dbChlLUT* chl_lut_

Definition at line 143 of file DbAlgorithm.h.

◆ cphi_

float cphi_

Definition at line 123 of file DbAlgorithm.h.

◆ cphir_

float cphir_

Definition at line 124 of file DbAlgorithm.h.

◆ dateline_

int dateline_

Definition at line 122 of file DbAlgorithm.h.

◆ delta

constexpr float delta = -0.000001
staticconstexpr

Definition at line 77 of file DbAlgorithm.h.

◆ Fbmax

constexpr int Fbmax = 1500
staticconstexpr

Definition at line 74 of file DbAlgorithm.h.

◆ Fmax

constexpr int Fmax = 150
staticconstexpr

Definition at line 72 of file DbAlgorithm.h.

◆ glint_angle_

float glint_angle_

Definition at line 131 of file DbAlgorithm.h.

◆ glint_refl_

float glint_refl_

Definition at line 132 of file DbAlgorithm.h.

◆ gtab

const float gtab = {-6.5, 0.0, 1.0, 2.8, 0.0, -2.8, -2.0, 0.0}
static

Definition at line 86 of file DbAlgorithm.h.

◆ gz_lut_

dbGeozoneLUT* gz_lut_

Definition at line 138 of file DbAlgorithm.h.

◆ htab

const float htab = {0.0, 11.0, 20.0, 32.0, 47.0, 51.0, 71.0, 84.852}
static

Definition at line 83 of file DbAlgorithm.h.

◆ Lbmax

constexpr int Lbmax = 2100
staticconstexpr

Definition at line 75 of file DbAlgorithm.h.

◆ ler_edge_

int ler_edge_[2]

Definition at line 121 of file DbAlgorithm.h.

◆ ler_start_

int ler_start_[2]

Definition at line 120 of file DbAlgorithm.h.

◆ Lmax

constexpr int Lmax = 210
staticconstexpr

Definition at line 73 of file DbAlgorithm.h.

◆ msr_lut_

Definition at line 140 of file DbAlgorithm.h.

◆ mt_lut_

dbTablesLUT* mt_lut_

Definition at line 135 of file DbAlgorithm.h.

◆ NC_

float NC_[DB_NC_BANDS]

Definition at line 128 of file DbAlgorithm.h.

◆ NDVI1_CUTOFF

constexpr float NDVI1_CUTOFF = 0.18
staticconstexpr

Definition at line 79 of file DbAlgorithm.h.

◆ NDVI2_CUTOFF

constexpr float NDVI2_CUTOFF = 0.35
staticconstexpr

Definition at line 80 of file DbAlgorithm.h.

◆ ndvi_

float ndvi_

Definition at line 133 of file DbAlgorithm.h.

◆ No_byte

constexpr int No_byte = 6
staticconstexpr

Definition at line 71 of file DbAlgorithm.h.

◆ No_byte_O

constexpr int No_byte_O = 5
staticconstexpr

Definition at line 76 of file DbAlgorithm.h.

◆ oaLut_

dbOceanAerosolLUMA* oaLut_[NDBMDL]

Definition at line 141 of file DbAlgorithm.h.

◆ phs_

float phs_

Definition at line 125 of file DbAlgorithm.h.

◆ phsr_

float phsr_

Definition at line 126 of file DbAlgorithm.h.

◆ ptab

const float ptab
static
Initial value:
= {1.0, 2.233611E-1, 5.403295E-2, 8.5666784E-3,
1.0945601E-3, 6.6063531E-4, 3.9046834E-5, 3.68501E-6}

Definition at line 85 of file DbAlgorithm.h.

◆ scatter_angle_

float scatter_angle_

Definition at line 130 of file DbAlgorithm.h.

◆ scl_lut_

dbSurfCoeffLimited* scl_lut_

Definition at line 137 of file DbAlgorithm.h.

◆ SolarZenithAngleZEPS

constexpr float SolarZenithAngleZEPS = 84.000001
staticconstexpr

Definition at line 78 of file DbAlgorithm.h.

◆ sp_lut_

Definition at line 136 of file DbAlgorithm.h.

◆ ttab

const float ttab
static
Initial value:
= {288.15, 216.65, 216.65, 228.65, 270.65,
270.65, 214.65, 186.946}

Definition at line 84 of file DbAlgorithm.h.

◆ vsr_lut_

Definition at line 139 of file DbAlgorithm.h.

◆ xlog

const float xlog
static
Initial value:
= { 0.000000, 0.0395086, 0.143841, 0.266515,
0.401776, 0.531394, 0.635031, 0.693147 }

Definition at line 82 of file DbAlgorithm.h.

◆ xzlog

const float xzlog
static
Initial value:
= { 0.0000000, 0.00977964, 0.0395086,
0.0904221, 0.164818, 0.266515, 0.401776, 0.581261, 0.824689, 1.17436 }

Definition at line 81 of file DbAlgorithm.h.


The documentation for this class was generated from the following files: