Home NPP Products LIDAR Frequently Asked Questions
Site Map Land / Ocean Merge Field / Lab Data Highlights / Results


NPP Products

ONLINE.DATA

VISUAL.COMPARISON

MODEL.DESCRIPTIONS

CODE


VGPM

Eppley-VGPM

original CbPM

updated CbPM

right-click here and use "save as" to download the code


#include <math.h>

/*--------------------------------------------------------------------------*/

double opp_chlCarbon2( double aph,
		       double bbp,
		       double irr,
		       double k490,
		       double mld,
		       double daylength) {
/*

   !Description:     opp_chlCarbon - computes daily primary productivity using
                     a chl:Carbon ratio.  The ChlCarbon algorithm estimates productivity 
		     using aph (m-1), bbp (m-1), surface irradiance (Einsteins m-2 d-1),
                     k490 (m-1), mld (m), and day length (hours).

growth rate (u) = u(max) * f(nut,T) * f(Ig)

where:

u(max) = 2

f(nut,T) = (Chl/C)sat / (Chl/C)max

     where: (Chl/C)sat = SeaWiFS Chl:C = converted ratio of aph/bbp
               (Chl/C)max = 0.022 + (0.045-0.022) * exp (-3 * Ig)

         where: Ig = median mixed layer light level = surface irradiance * 
	                                              exp (-k490 * MLD/2)

f(Ig) = 1 - exp (-3 * Ig)



   !Input Parameters:  
      aph            absorption due to phytoplankton
      bbp            backscatter
      irr            Photosynthetically available radiation in Einsteins per
                     day per square meter
      k490           diffuse attenuation coefficient at 490 nm (units of 1 / m )
      mld            mixing layer depth in meters
      dayL           Length day in decimal hours.

   !Output Parameters: 
             Primary productivity in milligrams Carbon per square meter
                     per day

   !Revision History:  

      June-16-2005 first version (Robert O'Malley)
      
      After program opp_chlCarbon.c
                and opp_befa.c
		 
        replace the z_eu calc in opp_chlCarbon.c
	with the method used in opp_befa.c

   !References and Credits
   
      Behrenfeld,M.J; Boss,E.; Siegel,D.A.; Shea,D.M.; 2005. Carbon-based Ocean
      Productivity and Phytoplankton Physiology from Space.  Global Biogeochemical
      Cycles, Volume 19
      
*/

  double uMax;			/* max growth rate */
  double u;			/* growth rate */
  double chlCarbonMax;		/* max chl:carbon ratio */
  double nutTempFunc;		/* f(nut,T) */
  double chlCarbonSat;		/* satellite chl:carbon ratio */
  double chl;			/* satellite chl */
  double carbon;		/* bbp converted to carbon */
  double Ig;			/* median mixed layer light level */
  double IgFunc;		/* f(Ig) */
  double irrFunc;		/* irradiance function describing water column */
  double z_eu;			/* euphotic depth at 1% light level */
  double npp;
  double chl_tot;
  
  if(irr <= 0.0)
    return 0.0;

  uMax = 2.0;
  
  Ig = irr / daylength * exp(-k490 * mld / 2.0);

  IgFunc = 1 - exp(-3.0 * Ig);

  chl = aph / 0.05582;

  if(bbp < 0.00035)
    bbp = 0.00036;
  carbon = 13000.0 * (bbp - 0.00035);
  
  chlCarbonSat = chl / carbon;

  chlCarbonMax = 0.022 + (0.045-0.022) * exp(-3.0 * Ig);
  
  nutTempFunc = chlCarbonSat / chlCarbonMax;

  /* irr function */
  irrFunc = 0.66125L * irr / ( irr + 4.1L );
  
  u = uMax * nutTempFunc * IgFunc;
  
   /* Calculate euphotic depth (z_eu) with Morel's Case I model.            */
   /* Calculate chl_tot from Satellite Surface Chlorophyll Data.            */

  if (chl <  1.0L) 
    chl_tot = 38.0L * pow( chl, 0.425 );
  else
    chl_tot = 40.2L * pow( chl, 0.507 );

   
  z_eu = 200.0L * pow( chl_tot, (-.293) );

  if (z_eu <= 102.0L) 
    z_eu = 568.2L * pow( chl_tot, (-.746) );

  //  z_eu = -log(0.01) / k490;

  npp = carbon * u * irrFunc * z_eu;

  return npp;
}


Last modified: 24 June 2022
by:  Robert O'Malley

_Home_____NPP Products_____LIDAR__FAQ sheet

Site Map Land / Ocean Merge Field / Lab Highlights / Results