Learn R Programming

LakeMetabolizer (version 1.5.5)

metab.bookkeep: Metabolism model based on simple day/night summation NEP-interpreted changes in DO.

Description

This model is a simple model based on the assumption that movements in DO during the day are due to NEP and gas exchange. Respiration is estimated from night-time decreases. GPP is calculated from the algebraic manipulation of NEP and R. Based on Cole et al 2000.

Usage

metab.bookkeep(do.obs, do.sat, k.gas, z.mix, irr, ...)

Value

A data.frame with columns corresponding to components of metabolism

GPP

numeric estimate of Gross Primary Production, \(mg O_2 L^{-1} d^{-1}\)

R

numeric estimate of Respiration, \(mg O_2 L^{-1} d^{-1}\)

NEP

numeric estimate of Net Ecosystem production, \(mg O_2 L^{-1} d^{-1}\)

Arguments

do.obs

Vector of dissovled oxygen concentration observations, mg L^-1

do.sat

Vector of dissolved oxygen saturation values based on water temperature. Calculate using o2.at.sat

k.gas

Vector of kGAS values calculated from any of the gas flux models (e.g., k.cole) and converted to kGAS using k600.2.kGAS

z.mix

Vector of mixed-layer depths in meters. To calculate, see ts.meta.depths

irr

Integer vector of 1's (daytime) and 0's (nighttime), or numeric vector of irradiance that will be converted to boolean 1's and 0's if "datetime" is passed via ...

...

additional arguments to be passed, particularly POSIXct class "datetime"

Author

R. Iestyn Woolway, Hilary Dugan, Luke A Winslow, Ryan Batt, Jordan S Read, GLEON fellows

References

Cole, Jonathan J., Michael L. Pace, Stephen R. Carpenter, and James F. Kitchell. 2000. Persistence of Net Heterotrophy in Lakes during Nutrient Addition and Food Web Manipulations. Limnology and Oceanography 45 (8): 1718-1730. doi:10.4319/lo.2000.45.8.1718.

See Also

metab.bayesian, metab.mle, metab.kalman

Examples

Run this code
library(rLakeAnalyzer)
Sys.setenv(TZ='GMT')

doobs = load.ts(system.file('extdata', 
                           'sparkling.doobs', package="LakeMetabolizer"))
wtr = load.ts(system.file('extdata', 
                         'sparkling.wtr', package="LakeMetabolizer"))
wnd = load.ts(system.file('extdata', 
                         'sparkling.wnd', package="LakeMetabolizer"))

#Subset a day
mod.date = as.POSIXct('2009-07-08', 'GMT')
doobs = doobs[trunc(doobs$datetime, 'day') == mod.date, ]
wtr = wtr[trunc(wtr$datetime, 'day') == mod.date, ]
wnd = wnd[trunc(wnd$datetime, 'day') == mod.date, ]

k.gas = k600.2.kGAS.base(k.cole.base(wnd[,2]), wtr[,3], 'O2')
do.sat = o2.at.sat.base(wtr[,3], altitude=300)

# Must supply 1 for daytime timesteps and 0 for nighttime timesteps
irr = as.integer(is.day(doobs[,1], 45))

metab.bookkeep(doobs[,2], do.sat, k.gas, z.mix=1, irr, datetime=doobs$datetime)

Run the code above in your browser using DataLab