The forum is locked.
The Ocean Color Forum has transitioned over to the Earthdata Forum (https://forum.earthdata.nasa.gov/). The information existing below will be retained for historical reference. Please sign into the Earthdata Forum for active user support.
Topic Products and Algorithms / Satellite Data Products & Algorithms / 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
(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);
}
Oh, of course. The parameters used in the blending are not arbitrary, they are the thresholds again.
Thanks, and may the source be with you.
Thanks, and may the source be with you.
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
Thanks, Gwynn.
Topic Products and Algorithms / Satellite Data Products & Algorithms / Reproducing chlor_a from oc3m and CI