ocssw
V2022
|
Go to the source code of this file.
Functions | |
double | betasw_ZHH2009 (double, double, double) |
float | opp_cafe (float PAR, float chl, float mld, float lat, int yd, float aph_443, float adg_443, float bbp_443, float bbp_s, float sst) |
void | get_npp (l2str *l2rec, int prodnum, float prod[]) |
void | get_par_clim (float *parin, float *lat, float *lon, int nlat, int nlon, float *latp, float *lonp, int32_t npix, float *par) |
float | npp_vgpm (float chl, float irr, float sst, float dayL) |
float | npp_eppley (float chl, float irr, float sst, float dayL) |
double | npp_cbpm2 (double chl, double bbp, double irr, double k490, double mld, double zno3, double daylength) |
double | austinPetzold_1986 (double lambda, double K490) |
Function Documentation
◆ austinPetzold_1986()
◆ betasw_ZHH2009()
double betasw_ZHH2009 | ( | double | lambda, |
double | S, | ||
double | Tc | ||
) |
◆ get_npp()
void get_npp | ( | l2str * | l2rec, |
int | prodnum, | ||
float | prod[] | ||
) |
Calculate the Primary Productivity using 1 of 3 algorithms 1) Behrenfeld-Falkowski: (BeFa) 2) Behrenfeld-Falkowski algorithm, but modifies the pb_opt function after Eppley (as implemented by Antoine and Morel): (Eppley) 3) Primary Productivity using a chl:Carbon ratio. This is a spectrally resolved version of the cbpm, using nine separate wavelengths: (Updated CbPM)
Adapted from Oregon State U. http://www.science.oregonstate.edu/ocean.productivity/
by R. Healy at NASA January 2015
◆ get_par_clim()
void get_par_clim | ( | float * | parin, |
float * | lat, | ||
float * | lon, | ||
int | nlat, | ||
int | nlon, | ||
float * | latp, | ||
float * | lonp, | ||
int32_t | npix, | ||
float * | par | ||
) |
◆ npp_cbpm2()
double npp_cbpm2 | ( | double | chl, |
double | bbp, | ||
double | irr, | ||
double | k490, | ||
double | mld, | ||
double | zno3, | ||
double | daylength | ||
) |
!Description: opp_cbpm2 - computes daily primary productivity using a chl:Carbon ratio. This is a spectrally resolved version of the cbpm, using nine separate wavelengths. It is also depth resolved, integrating the effects from the surface down to a fixed depth of 200 m.
The cbpm2 algorithm estimates productivity using chl (m-1), bbp (m-1), surface irradiance (Einsteins m-2 d-1), k490 (m-1), mld (m), zno3 (m) and day length (hours).
Net primary productivity is carbon * growth rate, where carbon is proportional to particulate backscatter
carbon = 13000 * (bbp - 0.00035)
and growth rate is a function of nutrient and temperature stress (f(nut,T) and photoacclimation (f(Ig))
growth rate (u) = umax * f(nut,T) * f(Ig)
where:
umax = 2 f(nut,T) = ((Chl/C)sat - y0) / ((Chl/C)max - y0) f(Ig) = 1 - exp (-5 * Ig)
and:
(Chl/C)sat = ratio of satellite observed chl and carbon (carbon from bbp) (Chl/C)max = 0.022 + (0.045-0.022) * exp (-3 * Ig) Ig = median mixed layer light level = surface irradiance * exp (-k(lambda) * MLD/2)
The above items are analyzed for nine separate wavelengths, and is vertically resolved to a depth of 200 m.
For more details, please see the paper by Westberry, et al (2008)
!Input Parameters:
- Parameters
-
[in] chl chlorophyll concentration [in] bbp backscatter [in] irr Photosynthetically available radiation in Einsteins per day per square meter [in] k490 absorbence at 490nm [in] mld mixing layer depth in meters [in] zno3 depth of the nitrocline [in] daylength length of the day in decimal hours.
!Output Parameters:
- Parameters
-
[out] Primary productivity in milligrams Carbon per square meter per day
!Dependencies: function austinPetzold_1986 ( float lambda, float K490 )
given a reference k490 vlaue, determine k(lambda) for a specified lambda
ref: Austin, R. W., and T. J. Petzold (1986), Spectral dependence of the diffuse attenuation coefficient of light in ocean waters, Opt. Eng., 25, 473 – 479
!Revision History:
08-16-2010 first release version (Robert O'Malley) [original code written in matlab by T. Westberry]
01-05-2011 O'Malley add uMax trap on mu[m] correct z_eu determination
!References and Credits
Westberry, T. Behrenfeld, M.J., Siegel, D.A., and Boss, E.; 2008. Carbon-based primary productivity modeling with vertically resolved photoacclimation. Global Biogeochemical Cycles, Vol. 22, GB2024, doi:10.1029/2007GB003078
◆ npp_eppley()
float npp_eppley | ( | float | chl, |
float | irr, | ||
float | sst, | ||
float | dayL | ||
) |
◆ npp_vgpm()
float npp_vgpm | ( | float | chl, |
float | irr, | ||
float | sst, | ||
float | dayL | ||
) |
!C-----------------------------------------------------------------------—*\
!Description: opp_befa - computes daily primary productivity using the Behrenfeld-Falkowski (BeFa) algorithm. The BeFa algorithm estimates productivity using surface chl (mg m-3), surface irradiance (Einsteins m-2 d-1), sea surface temperature (C). Pb_opt is modelled as a polynomial function of SST.
!Input Parameters:
- Parameters
-
[in] chl Chlorophyll_a surface concentration in milligrams chlorophyl per cubic meter [in] irr Photosynthetically available radiation in Einsteins per day per square meter [in] sst Sea surface temperature in degrees Centigrade [in] dayL Length day in decimal hours.
!Output Parameters:
- Parameters
-
[out] Primary productivity in milligrams Carbon per square meter per hour
!Revision History:
First programmed up by Monica Chen at Rutgers (1996)
Revised by K. Turpie at NASA (August 1997)
Maintained by Don Shea at NASA
Now maintained by Robert O'Malley at Oregon State University (April, 2005 - present)
Modified for inclusion in l2gen for OBPG by R. Healy at NASA (January 2015)
!References and Credits
Behrenfeld,M.J; Falkowski,P.G.; 1997. Photosynthetic Rates Derived from Satellite-Based Chlorophyll Concentration. Limnology and Oceanography, Volume 42, Number 1
!END---------------------------------------------------------------------—*\