EcoLandMod home    Background | Models | Projects | Publications | People | News

Models:

Model Overview

Algorithms hyperlinked

Source code hyperlinked

Model download

Other Open Source tools

ELM v2.8.6 Algorithms

GoTo Main Controller

Overview: Periphyton Module

Periphyton are found attached to macrophyte stems, floating as mats in the water column, and as a benthic layer on top of the soil.  Long considered an integral part of the animal food web, periphyton respond rapidly to changes in water quality and hydroperiod.  Like macrophytes, "native" periphyton are adapted to oligotrophic (low nutrient) conditions, while a variety of other periphyton are common in eutrophic (high nutrient) waters.  Another important control on periphyton and algae is light availability: at intermediate and high plant densities (such as in high nutrient areas), emergent marsh macrophytes shade periphyton, and (to some extent) prevent healthy communities from developing.  Capable of senescing during dry periods and coming back to high growth levels upon rehydration, there are a variety of different types of periphyton species & communities, depending on the subregion of the Everglades and its local environmental conditions.

Periphyton Module Description

The general form of the equations that describe changes to a periphyton carbon stock is:

,

where S(time) is the standing stock of periphyton (g C m-2) at time t or t-1, P is the gross primary production gain (g C m-2 d-1), R is the respiration loss (g C m-2 d-1), M is the mortality loss (g C m-2 d-1), and dt is the time interval (days).  The actual rates are products of the periphyton stock and maximum specific rates that are constrained by control functions:

where Pmax, Rmax, and Mmax are the maximum specific rates (d-1) of, respectively, gross primary production, respiration, and mortality; the CFP, CFR, and CFM are the (dimensionless, 0 Ð 1) control functions constraining gross production, respiration, and mortality, respectively. 

The control function constraining gross primary production includes a density-dependent feedback and a control function involving several environmental parameters.  This combined control function is a multiplicative expression of relative effects of light intensity (e.g., macrophyte shading), temperature (seasonality), and nutrient availability.

The dimensionless control function due to light intensity in the water column is based on SteeleÕs (1965) photoinhibition formulation integrated over depth (Bowie et al. 1985).  The temperature control function (Jorgensen 1976) describes the biological responses to temperature relative to a temperature optimimum and a minimum.  Whereas earlier ELM versions (Fitz et al. 1996, Fitz and Sklar 1999) quantified nutrient limitation using Monod half-saturation kinetics, this relationship appeared to behave inadequately in the oligotrophic conditions of much of the Everglades, apparently with excessive constraint on growth under those ambient conditions.  There is evidence that phosphatase activity of the periphyton assemblage tends to increase under low nutrient conditions (Newman et al. 2003), thus potentially making phosphorus less limiting and deviating from Monod kinetics.  Moreover, while some experimental data existed for half-saturation values of periphyton (Scinto and Reddy submitted) in laboratory settings, there was little information available on growth responses at low nutrient concentrations.  Our alternative nutrient control function formulation uses an exponential function, and a relationship to the parameter whose defininition remains related to saturation kinetic experiments. 

The periphyton module considers two communities of periphyton[1]: those adapted to oligotrophic (ÒcalcareousÓ) and eutrophic (Ònon-calcareousÓ) conditions such as those observed along Everglades nutrient gradients (McCormick et al. 1996).  Both periphyton communities are simulated with the same form of dynamic equations, but have different nutrient limitation parameters, different mortality responses to elevated phosphorus concentrations, and have simple density-dependent inter-community competition.

Periphyton Module Equations

## all calculated within spatial loop across model grid rows, columns

State Variable update calculations

NC_ALG =  NC_ALG  + (NC_ALG_GPP - NC_ALG_RESP - NC_ALG_MORT) * DT

C_ALG =  C_ALG  + (C_ALG_GPP  - C_ALG_RESP  - C_ALG_MORT) * DT

Dependent upon:

1) attribute calculations

ALG_REFUGE = HP_ALG_MAX* GP_ALG_REF_MULT

ALG_SAT = HP_ALG_MAX*0.9

NC_ALG_AVAIL_MORT  = Max(NC_ALG-ALG_REFUGE,0)

C_ALG_AVAIL_MORT  = Max(C_ALG-ALG_REFUGE,0)

## bio-avail P (PO4) is calc'd from TP, using pre-processed regression for predicting PO4 from TP

## assume that periphyton (microbial) alkaline phosphotase activity keeps PO4 at least 10% of TP conc

PO4Pconc = Max(TP_SFWT_CONC_MG* GP_PO4toTP + GP_PO4toTPint, 0.10 * TP_SFWT_CONC_MG)

## light, water, temperature controls apply to both calc and non-calc

ALG_LIGHT_EXTINCT  = GP_alg_light_ext_coef

## algal self-shading implicit in density-dependent constraint function later

ALG_INCID_LIGHT  = SOLRADGRD*Exp(-MAC_LAI* GP_ALG_SHADE_FACTOR)

Z_extinct = SURFACE_WAT*ALG_LIGHT_EXTINCT

I_ISat = ALG_INCID_LIGHT/GP_ALG_LIGHT_SAT

2) control function calculations

## averaged over whole water column (based on Steele 1965)

ALG_LIGHT_CF  = ( Z_extinct > 0.0 ) ? ( 2.718/Z_extinct * (Exp(-I_ISat * Exp(-Z_extinct)) - Exp(-I_ISat)) ) : (I_ISat*Exp(1.0-I_ISat))

## low-water growth constraint ready for something better based on data

ALG_WAT_CF  = ( SURFACE_WAT>0.0 ) ? ( 1.0 ) : ( 0.0)

## Jorgensen 1976; 5 deg C is minimum temperature parameter

ALG_TEMP_CF  = Exp(-2.3 * ABS((H2O_TEMP- GP_ALG_TEMP_OPT)/( GP_ALG_TEMP_OPT-5.0)))

min_litTemp = Min(ALG_LIGHT_CF,ALG_TEMP_CF)

## the 2 communities have same form of growth response to avail phosphorus

NC_ALG_NUT_CF  = Exp(-GP_alg_uptake_coef * Max(GP_NC_ALG_KS_P-PO4Pconc, 0.0)/ GP_NC_ALG_KS_P)

C_ALG_NUT_CF  = Exp(-GP_alg_uptake_coef * Max(GP_C_ALG_KS_P-PO4Pconc, 0.0)/ GP_C_ALG_KS_P) 

## the form of the control function assumes that at very low P conc, the alkaline phosphotase activity of the microbial assemblage scavenges P, maintaining a minimum nutrient availability to community

NC_ALG_PROD_CF  = Min(min_litTemp,ALG_WAT_CF)*Max(NC_ALG_NUT_CF, alg_alkP_min)

C_ALG_PROD_CF   = Min(min_litTemp,ALG_WAT_CF)*Max(C_ALG_NUT_CF, GP_alg_alkP_min)

3) flux calculations

NC_ALG_RESP_POT  = ( UNSAT_DEPTH> GP_algMortDepth ) ? ( 0.0) : (GP_ALG_RC_RESP*ALG_TEMP_CF*NC_ALG_AVAIL_MORT )

C_ALG_RESP_POT  = ( UNSAT_DEPTH> GP_algMortDepth ) ? ( 0.0) : (GP_ALG_RC_RESP*ALG_TEMP_CF *C_ALG_AVAIL_MORT )

NC_ALG_RESP  =  ( NC_ALG_RESP_POT*DT>NC_ALG_AVAIL_MORT ) ? ( NC_ALG_AVAIL_MORT/DT ) : ( NC_ALG_RESP_POT)

C_ALG_RESP  =  ( C_ALG_RESP_POT*DT>C_ALG_AVAIL_MORT ) ? ( C_ALG_AVAIL_MORT/DT ) : ( C_ALG_RESP_POT)

## this is the threshold control function that increases calcareous/native periph mortality (likely due to loss of calcareous sheath) as P conc. increases

C_ALG_thresh_CF = Min(exp(GP_alg_R_accel*Max( TP_SFWT_CONC_MG- GP_C_ALG_threshTP,0.0)/GP_C_ALG_threshTP), 100.0)

NC_ALG_MORT_POT  = ( UNSAT_DEPTH>GP_algMortDepth ) ? ( NC_ALG_AVAIL_MORT* GP_ALG_RC_MORT_DRY ) : ( NC_ALG_AVAIL_MORT* GP_ALG_RC_MORT)

C_ALG_MORT_POT  = ( UNSAT_DEPTH> GP_algMortDepth ) ? ( C_ALG_AVAIL_MORT* GP_ALG_RC_MORT_DRY ) : ( C_ALG_thresh_CF * C_ALG_AVAIL_MORT* GP_ALG_RC_MORT)

NC_ALG_MORT  = ( (NC_ALG_MORT_POT+NC_ALG_RESP)*DT>NC_ALG_AVAIL_MORT ) ? ( (NC_ALG_AVAIL_MORT-NC_ALG_RESP*DT)/DT ) : ( NC_ALG_MORT_POT)

C_ALG_MORT  = ( (C_ALG_MORT_POT+C_ALG_RESP)*DT>C_ALG_AVAIL_MORT ) ? ( (C_ALG_AVAIL_MORT-C_ALG_RESP*DT)/DT ) : ( C_ALG_MORT_POT)

## gross production of the 2 communities, with density constraint on both noncalc and calc, competition effect accentuated by calc algae

NC_ALG_GPP  =  NC_ALG_PROD_CF* GP_ALG_RC_PROD*NC_ALG * Max( (1.0-(GP_AlgComp*C_ALG+NC_ALG)/ HP_ALG_MAX),0.0)

C_ALG_GPP  =  C_ALG_PROD_CF* GP_ALG_RC_PROD*C_ALG * Max( (1.0-(C_ALG+NC_ALG)/ HP_ALG_MAX),0.0)

## P uptake is dependent on available P and is relative to a maximum P:C ratio for the tissue

NC_ALG_GPP_P = NC_ALG_GPP * GP_ALG_PC * NC_ALG_NUT_CF * Max(1.0-NC_ALG_PC/ GP_ALG_PC, 0.0)

C_ALG_GPP_P = C_ALG_GPP * GP_ALG_PC * C_ALG_NUT_CF * Max(1.0-C_ALG_PC/ GP_ALG_PC, 0.0)

## check for available P mass (the nutCF does not) (unit conversion to g P)

PO4P = Min(PO4Pconc * SFWT_VOL, 1000.0*TP_SF_WT)

reduc = ( (NC_ALG_GPP_P+C_ALG_GPP_P) > 0) ? (PO4P / ( (NC_ALG_GPP_P+C_ALG_GPP_P)*CELL_SIZE*DT) ) : (1.0)

## can have high conc, but low mass of P avail, in presence of high peri biomass and high demand, reduce the production proportionally if excess demand is found

if (reduc < 1.0)  NC_ALG_GPP = NC_ALG_GPP * reduc  

if (reduc < 1.0)  NC_ALG_GPP_P = NC_ALG_GPP_P * reduc  

if (reduc < 1.0)  C_ALG_GPP = C_ALG_GPP * reduc

if (reduc < 1.0)  C_ALG_GPP_P = C_ALG_GPP_P * reduc

4) phosphorus associated with carbon stocks & flows

mortPot = NC_ALG_MORT * NC_ALG_PC

NC_ALG_MORT_P = (mortPot*DT>NC_ALG_P) ? (NC_ALG_P/DT) : (mortPot)

mortPot = C_ALG_MORT * C_ALG_PC

C_ALG_MORT_P = (mortPot*DT>C_ALG_P) ? (C_ALG_P/DT) : (mortPot)

NC_ALG_P =  NC_ALG_P + (NC_ALG_GPP_P - NC_ALG_MORT_P) * DT

C_ALG_P =  C_ALG_P  + (C_ALG_GPP_P - C_ALG_MORT_P) * DT

## default to 3% of max P:C

NC_ALG_PC = (NC_ALG>0.0) ? (NC_ALG_P/ NC_ALG) : (GP_ALG_PC * 0.03)

C_ALG_PC = (C_ALG>0.0) ? (C_ALG_P/ C_ALG) : (GP_ALG_PC * 0.03 )

## gP/m2 => kg P

TP_SFWT_UPTAK  = (NC_ALG_GPP_P+C_ALG_GPP_P)*0.001*CELL_SIZE

TP_SF_WT = TP_SF_WT - TP_SFWT_UPTAK * DT

TP_SFWT_CONC  = ( SFWT_VOL > 0.0 ) ? ( TP_SF_WT/SFWT_VOL ) : ( 0.0)

## used for reporting and other modules to evaluate P conc when water is present

TP_SFWT_CONC_MG  = ( SURFACE_WAT > DetentZ ) ? (TP_SFWT_CONC*1000.0) : (0.0)

External variables used

TP_SF_WT (see TP/Salt module)

TP_SFWT_CONC_MG (see TP/Salt module)

SOLRADGRD (see Globals module)

MAC_LAI (see Macrophyte module)

SURFACE_WAT (see Hydrology module)

SFWT_VOL (see Hydrology module)

UNSAT_DEPTH (see Hydrology module)

H2O_TEMP (see Hydrology module)

Periphyton Module Variable and Parameter Definitions

Module variables

Variable Name

Type

Units

Description

C_ALG_AVAIL_MORT

attribute

gC/m^2

oligotrophic periphyton (archaic, Calcareous, generalized, ALGae) biomass AVAILable for MORTality losses

NC_ALG_AVAIL_MORT

attribute

gC/m^2

eutrophic periphyton (archaic, NonCalcareous, generalized, ALGae) biomass AVAILable for MORTality losses

ALG_LIGHT_CF

controlFunction

dimless

total periphyton (generalized, ALGae) growth Control Function (0-1) of degree of LIGHT limitation

ALG_TEMP_CF

controlFunction

dimless

total periphyton (generalized, ALGae) growth Control Function (0-1) of degree of TEMPerature limitation

ALG_WAT_CF

controlFunction

dimless

total periphyton (generalized, ALGae) growth Control Function (0-1) of degree of WATer limitation

C_ALG_NUT_CF

controlFunction

dimless

oligotrophic periphyton (archaic, Calcareous, generalized, ALGae) growth Control Function (0-1) of degree of NUTrient limitation

C_ALG_PROD_CF

controlFunction

dimless

oligotrophic periphyton (archaic, Calcareous, generalized, ALGae) growth Control Function (0-1) of degree of combined  limitations on gross carbon primary PRODuction

NC_ALG_NUT_CF

controlFunction

dimless

eutrophic periphyton (archaic, NonCalcareous, generalized, ALGae) growth Control Function (0-1) of degree of NUTrient limitation

NC_ALG_PROD_CF

controlFunction

dimless

eutrophic periphyton (archaic, NonCalcareous, generalized, ALGae) growth Control Function (0-1) of degree of combined  limitations on PRODuction

ALG_INCID_LIGHT

forcing

cal/cm^2/d

for ALGal growth, INCIDint LIGHT intensity reaching the water surface through macrophyte canopy

TP_SFWT_UPTAK

rateActual

kgP/d

Total Phosphorus UPTAKe from SurFace WaTer due to periphyton primary production

C_ALG_GPP

rateActual

gC/m2/d

oligotrophic periphyton (archaic, Calcareous, generalized, ALGae) Gross Primary Production gains

C_ALG_MORT

rateActual

gC/m2/d

oligotrophic periphyton (archaic, Calcareous, generalized, ALGae) MORTality losses

C_ALG_NPP

rateActual

gC/m2/d

oligotrophic periphyton (archaic, Calcareous, generalized, ALGae) Net Primary Production gains

C_ALG_RESP

rateActual

gC/m2/d

oligotrophic periphyton (archaic, Calcareous, generalized, ALGae) RESPiration losses

NC_ALG_GPP

rateActual

gC/m2/d

eutrophic periphyton (archaic, NonCalcareous, generalized, ALGae) Gross Primary Production gains

NC_ALG_MORT

rateActual

gC/m2/d

eutrophic periphyton (archaic, NonCalcareous, generalized, ALGae) MORTality losses

NC_ALG_NPP

rateActual

gC/m2/d

eutrophic periphyton (archaic, NonCalcareous, generalized, ALGae) Net Primary Production gains

NC_ALG_RESP

rateActual

gC/m2/d

eutrophic periphyton (archaic, NonCalcareous, generalized, ALGae) RESPiration losses

C_ALG_MORT_POT

ratePotential

gC/m2/d

oligotrophic periphyton (archaic, Calcareous, generalized, ALGae) MORTality POTential losses

C_ALG_RESP_POT

ratePotential

gC/m2/d

oligotrophic periphyton (archaic, Calcareous, generalized, ALGae) RESPiration POTential losses

NC_ALG_MORT_POT

ratePotential

gC/m2/d

eutrophic periphyton (archaic, NonCalcareous, generalized, ALGae) MORTality POTential losses

NC_ALG_RESP_POT

ratePotential

gC/m2/d

eutrophic periphyton (archaic, NonCalcareous, generalized, ALGae) RESPiration POTential losses

C_ALG

state

gC/m^2

oligotrophic periphyton (archaic, Calcareous, generalized, ALGae) biomass

NC_ALG

state

gC/m^2

eutrophic periphyton (archaic, NonCalcareous, generalized, ALGae) biomass

ALG_REFUGE

static

gC/m^2

total periphyton (generalized, ALGae) biomass REFUGE, below which resp/mortality losses do not occur (static, set= ALG_REF_MULT *  ALG_MAX[habitat] parmameters)

ALG_LIGHT_EXTINCT

static

1/m

for ALGal growth, LIGHT EXTINCTion through suspended particles etc in surface water column (STATIC, set= alg_light_ext_coef)

 

 

 

Time series forcing data

none

 

Static global parameters (all grid-cells)

 

Parameter Name

Type

Units

Description

DT

global

day

Time step for vertical solutions

CELL_SIZE

global

m^2

surface area of a model grid cell

conv_kgTOg

global

dimless

conversion, kg to g

GP_alg_alkP_min

global

dimless

minimum possible constraint level (0-1) on phosphorus uptake and growth;  value>0 indicative of non-zero nutrient limitation due to APActivity

GP_alg_light_ext_coef

global

dimless

light extinction parameter, currently used to fully define (statically) extinction

GP_ALG_LIGHT_SAT

global

cal/cm^2/d

Saturating light intensity for algal photosyn (langley/d = cal/cm^2 per day)

GP_ALG_PC

global

gP/gC

Initial phophorus:carbon ratio in all algae/periphyton

GP_alg_R_accel

global

dimless

acceleration of mortality (via assumed loss of calcareous sheath) of oligotrophic community under high phosphorus conditions

GP_ALG_RC_MORT

global

1/d

Baseline specific rate of algal (periphyton) mortality.  Note that this is in the presence of water.

GP_ALG_RC_MORT_DRY

global

1/d

Specific mortality rate of benthic algae (periphyton) in "drydown" conditions. 

GP_ALG_RC_PROD

global

1/d

Maximum specific rate observed/attainable of algal (periphyton) gross primary production. 

GP_ALG_RC_RESP

global

1/d

Max specific rate of algal respiration. 

GP_ALG_REF_MULT

global

dimless

proportion of max attainable periphyton biomass, defining a refuge density (from losses)

GP_ALG_SHADE_FACTOR

global

dimless

calibration parm to modify LAI in shading fcn

GP_ALG_TEMP_OPT

global

deg C

Optimal temperature for algal primary production (degrees C).  Also used in respiration control.

GP_alg_uptake_coef

global

dimless

parameter for exp function describing uptake kinetics

GP_AlgComp

global

dimless

algal density-dep competition, with parameter >1.0 increasing competitive "ability" of oligotrophic periphyton

GP_algMortDepth

global

m

depth of the unsat zone below which accelerated "drydown" alg mort occurs

GP_C_ALG_KS_P

global

mg/L

half-saturation conc of avail phosphorus for uptake kinetics,  oligotrophic (was calcareous) periph

GP_C_ALG_threshTP

global

mg/L

TP conc above which oligotrophic (was calcareous) periphyton have elevated mortality (via asmed loss of calcareous sheath)

GP_NC_ALG_KS_P

global

mg/L

half-saturation conc of avail phosphorus for uptake kinetics, eutrophic (was non-calcareous)

GP_PO4toTP

global

dimless

slope of empirical regression of predicting PO4 from TP from long-term historical data, northern Everglades locations

GP_PO4toTPint

global

mg/l

intercept of empirical regression of predicting PO4 from TP from long-term historical data, northern Everglades locations

 

 

Static habitat-specific parameters (linked to HAB value of grid-cell)

 

Parameter Name

Type

Units

Description

HP_ALG_MAX

habspec

gC/m^2

Maximum attainable (observed)  algal biomass density.

 

Intrinsic C or ELM functions

exp(x) = Exp(x)  =>  e raised to the xth power

Max(x,y) => maximum of variable x or y

Min(x,y) =>  minimum of variable x or y

(x) ? (y) : (z) =>  if (x is true, or 1), then (return value y), else (return value z)

 

 

 

 

 



[1]  The names of the periphyton state variables are rooted in the term ÒalgaeÓ, originating from the generalized nature of the module that was developed for algal communities.  While periphyton are actually assemblages of microbial and algal biota, the aggregate, net-carbon fixing behavior of this assemblage is explicitly considered in its parameterization.  Similarly, the somewhat archaic identifiers of ÒcalcareousÓ and Ònon-calcareousÓ are more properly described as oligotrophic and eutrophic communities, as the calcitic attributes of the periphyton are not considered in the model.



EcoLandMod Logo EcoLandMod Models