Reproducing chlor_a from oc3m and CI
-
- Posts: 49
- Joined: Thu Apr 22, 2010 8:06 am America/New_York
- Has thanked: 1 time
- Been thanked: 1 time
Reproducing chlor_a from oc3m and CI
In the algorithm description (https://oceancolor.gsfc.nasa.gov/atbd/chlor_a/) it says simply, "In between these values, the CI and OCx algorithm are blended using a weighted approach." In another post here (https://oceancolor.gsfc.nasa.gov/forum/oceancolor/topic_show.pl?pid=34869;hl=oc3m) Chris says, "A slightly *modified* version of Hu et al. 2012 is used where those algorithms are blended between chlorophyll concentrations of 0.15 to 0.2 mg m^-3."
Equation 5 in Hu et al. 2012 uses a set of coefficients for alpha and beta in the blended algorithm (different range: 0.25 to 0.3 mg m^-3). So, what coefficients does SeaDAS 7.5.3 use for alpha and beta to blend oc3m and CI in the 0.15 to 0.2 range?
I looked in seadas-7.5.3/ocssw/share/modis/msl12_defaults.par, but while the basic ocX coefficients and bands are lists, I don't see CI's alpha and beta coefficients.
Cheers
Equation 5 in Hu et al. 2012 uses a set of coefficients for alpha and beta in the blended algorithm (different range: 0.25 to 0.3 mg m^-3). So, what coefficients does SeaDAS 7.5.3 use for alpha and beta to blend oc3m and CI in the 0.15 to 0.2 range?
I looked in seadas-7.5.3/ocssw/share/modis/msl12_defaults.par, but while the basic ocX coefficients and bands are lists, I don't see CI's alpha and beta coefficients.
Cheers
Filters:
Reproducing chlor_a from oc3m and CI
(I try to resist the urge to say "use the source")
The "blending" is simply linear interpolation. Look in
The "blending" is simply linear interpolation. Look in
get_chl.c
for the definition of chl_oci
(also in $OCSSWROOT/ocssw-src/src/l2gen/get_chl.c
):float chl_oci(l2str *l2rec, float Rrs[]) {
static float t1 = 0.15;
static float t2 = 0.20;
float chl1 = chlbad;
float chl2 = chlbad;
float chl = chlbad;
chl1 = chl_hu(l2rec, Rrs);
if (chl1 <= t1)
chl = chl1;
else {
chl2 = get_chl_ocx(l2rec, Rrs);
if (chl2 > 0.0) {
if (chl1 >= t2)
chl = chl2;
else {
chl = chl1 * (t2 - chl1) / (t2 - t1)
+ chl2 * (chl1 - t1) / (t2 - t1);
}
}
}
return (chl);
}
Reproducing chlor_a from oc3m and CI
Dirk -
On the command line, you can run
to install source code in your SeaDAS directory (
I'm sure there's a GUI way to do this too, but I don't use the GUI much :)
- Gwyn
On the command line, you can run
install_ocssw.py --src
to install source code in your SeaDAS directory (
install_ocssw.py --help
to see all options).I'm sure there's a GUI way to do this too, but I don't use the GUI much :)
- Gwyn