ocssw
V2022
|
Go to the source code of this file.
Functions | |
int | qaa_is_initialized (void) |
int | qaa_init (int i410, int i440, int i490, int i555, int i670) |
int | qaa_set_param (int param,...) |
int | qaa_v6 (int nbands, double *wavel, double *Rrs, double *aw, double *bbw, double *rrs, double *u, double *a, double *bb, unsigned char *flags) |
int | qaaf_v6 (int nbands, float *wavel, float *Rrs, float *aw, float *bbw, float *rrs, float *u, float *a, float *bb, unsigned char *flags) |
int | qaa_decomp (int nbands, double *wavel, double *rrs, double *a, double *aw, double *adg, double *aph, unsigned char *flags) |
int | qaaf_decomp (int nbands, float *wavel, float *rrs, float *a, float *aw, float *adg, float *aph, unsigned char *flags) |
Detailed Description
Quasi-Analytic Algorithm.
This code implements version 6 of the QAA algorithm which was based on the original algorithm Lee, at al (2002) "Deriving inherent optical properties from water color: A multi-band quasi-analytical algorithm for optically deep water" Applied Optics, (41) 27, 5755-5772, 2002
The version 4 update was presented as Appendix A in the paper Lee, et al (2007) "Euphotic zone depth: Its derivation and implication to ocean-color remote sensing" Journal of Geophysical Research, Vol 112, C03009, doi:10,1029/2006JC003802.
The version 5 update is available at IOCCG web site: http://www.ioccg.org/groups/Software_OCA/QAA_v5.pdf
The version 6 update is available at IOCCG web site: http://www.ioccg.org/groups/Software_OCA/QAA_v6.pdf
Additional routines are used to initialize indices and other parameters with the goal to make the code generic for use in SeaWiFS/MODIS processing as well as hyperspectral data from an ASD or PHILLS.
Likewise, the code duplicates routines for float or double type variables. The 'float' routines have an 'f' after the 'qaa' prefix.
The following code example shows a example of running the QAA algorithm on SeaWiFS data (with notes on how to run it for other sensor and using the 670nm path or chl path).
Definition in file qaa.c.
Function Documentation
◆ qaa_decomp()
int qaa_decomp | ( | int | nbands, |
double * | wavel, | ||
double * | rrs, | ||
double * | a, | ||
double * | aw, | ||
double * | adg, | ||
double * | aph, | ||
unsigned char * | flags | ||
) |
Quasi-Analytical Algorithm - decomposition of total absorption.
- Parameters
-
[in] nbands number of bands in spectrum [in] wavel wavelength of spectrum (nbands) [in] rrs below-water remote sensing reflectance (nbands) [in] a total absorption (nbands) [in] aw pure-water absorption (nbands) [out] adg gelbstuff absorption (nbands) [out] aph phytoplankton absorption (nbands) [out] flags quality flags (will be modified) or NULL
This implements Table 3 of the Quasi-Analytical Algorithm. It decomposes the total absorption into phytoplankton absorption and gelbstuff absorption.
This implementation adds a consistency check based on the phytoplankton absorption at 443nm to improve the decomposition of total absorption.
◆ qaa_init()
int qaa_init | ( | int | i410, |
int | i440, | ||
int | i490, | ||
int | i555, | ||
int | i670 | ||
) |
initalize Quasi-Analytical Algorithm v4
- Parameters
-
[in] i410 0-relative index in spectrum of 410 nm [in] i440 0-relative index in spectrum of 440 nm [in] i490 0-relative index in spectrum of 490 nm [in] i555 0-relative index in spectrum of 555 nm [in] i670 0-relative index in spectrum of 670 nm
This routine should be called to initialize various parameters that may be adjusted in the QAA algorithm or that must be known apriori. For example, the user must supply the indices for various required band numbers and whether to perform the iteration in the QAA-555 algorithm (normally yes).
◆ qaa_is_initialized()
int qaa_is_initialized | ( | void | ) |
◆ qaa_set_param()
int qaa_set_param | ( | int | param, |
... | |||
) |
set a parameter for Quasi-Analytical Algorithm
- Parameters
-
[in] param name of parameter
This routine should be called to initialize various parameters that may be adjusted in the QAA algorithm or that must be known apriori. For example, the user must supply the indices for various required band numbers. Optionally, the user may define there own values for some parameters, like S.
Presently the only parameter the user may set is the S value.
◆ qaa_v6()
int qaa_v6 | ( | int | nbands, |
double * | wavel, | ||
double * | Rrs, | ||
double * | aw, | ||
double * | bbw, | ||
double * | rrs, | ||
double * | u, | ||
double * | a, | ||
double * | bb, | ||
unsigned char * | flags | ||
) |
Quasi-Analytical Algorithm v6.
- Parameters
-
[in] nbands number of bands in spectrum [in] wavel wavelength of spectrum (nbands) [in] Rrs above-water remote sensing reflectance (nbands) [in] aw pure-water absorption (nbands) [in] bbw pure-water back scattering (nbands) [out] rrs below-water remote sensing reflectance (nbands) [out] u ratio (nbands) [out] a total absorption (nbands) [out] bb backscattering (nbands) [out] flags quality flags (will be modified) or NULL
This implements version 6 of the Quasi-Analytical Algorithm.
◆ qaaf_decomp()
int qaaf_decomp | ( | int | nbands, |
float * | wavel, | ||
float * | rrs, | ||
float * | a, | ||
float * | aw, | ||
float * | adg, | ||
float * | aph, | ||
unsigned char * | flags | ||
) |
Quasi-Analytical Algorithm - decomposition of total absorption.
- See also
- qaa_decomp()