## Reproducing chlor_a from oc3m and CI

### 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

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.

### 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