ecometab(swmpr_in, ...)
"ecometab"(swmpr_in, depth_val = NULL, metab_units = "mmol", trace = FALSE, ...)
swmpr
object is returned that includes a metabolism attribute as a data.frame
of daily integrated metabolism estimates. See the examples for retrieval.
date
metab_day
)DOF_d
metab_day
function.D_d
DOF_n
D_n
Pg
Rt
NEM
comb
function after creating separate swmpr objects.The open-water method is a common approach to quantify net ecosystem metabolism using a mass balance equation that describes the change in dissolved oxygen over time from the balance between photosynthetic and respiration processes, corrected using an empirically constrained air-sea gas diffusion model (see Ro and Hunt 2006, Thebault et al. 2008). The diffusion-corrected DO flux estimates are averaged separately over each day and night of the time series. The nighttime average DO flux is used to estimate respiration rates, while the daytime DO flux is used to estimate net primary production. To generate daily integrated rates, respiration rates are assumed constant such that hourly night time DO flux rates are multiplied by 24. Similarly, the daytime DO flux rates are multiplied by the number of daylight hours, which varies with location and time of year, to yield net daytime primary production. Respiration rates are subtracted from daily net production estimates to yield gross production rates. The metabolic day is considered the 24 hour period between sunsets on two adjacent calendar days.
Areal rates for gross production and total respiration are based on volumetric rates normalized to the depth of the water column at the sampling location, which is assumed to be well-mixed, such that the DO sensor is reflecting the integrated processes in the entire water column (including the benthos). Water column depth is calculated as the mean value of the depth variable across the time series in the swmpr
object. Depth values are floored at one meter for very shallow stations and 0.5 meters is also added to reflect the practice of placing sensors slightly off of the bottom. Additionally, the air-sea gas exchange model is calibrated with wind data either collected at, or adjusted to, wind speed at 10 m above the surface. The metadata should be consulted for exact height. The value can be changed manually using a height
argument, which is passed to calckl
.
A minimum of three records are required for both day and night periods to calculate daily metabolism estimates. Occasional missing values for air temperature, barometric pressure, and wind speed are replaced with the climatological means (hourly means by month) for the period of record using adjacent data within the same month as the missing data.
All DO calculations within the function are done using molar units (e.g., mmol O2 m-3). The output can be returned as mass units by setting metab_units = 'grams'
(i.e., 1mol = 32 g O2, which multiplies all estimates by 32 g mol-1/1000 mg/g). Input data must be in standard mass units for DO (mg L-1).
The specific approach for estimating metabolism with the open-water method is described in Caffrey et al. 2013 and references cited therein.
Odum HT. 1956. Primary production in flowing waters. Limnology and Oceanography. 1(2):102-117.
Ro KS, Hunt PG. 2006. A new unified equation for wind-driven surficial oxygen transfer into stationary water bodies. Transactions of the American Society of Agricultural and Biological Engineers. 49(5):1615-1622.
Thebault J, Schraga TS, Cloern JE, Dunlavey EG. 2008. Primary production and carrying capacity of former salt ponds after reconnection to San Francisco Bay. Wetlands. 28(3):841-851.
calckl
for estimating the oxygen mass transfer coefficient used with the air-sea gas exchange model, comb
for combining swmpr
objects, metab_day
for identifying the metabolic day for each observation in the time series, plot_metab
for plotting the results, and aggremetab
for aggregating the metabolism attribute.
## Not run:
# ## import water quality and weather data
# data(apadbwq)
# data(apaebmet)
#
# ## combine
# dat <- comb(apadbwq, apaebmet)
#
# ## output units in grams of oxygen
# res <- ecometab(dat, metab_units = 'grams')
# res <- attr(res, 'metabolism')
# ## End(Not run)
Run the code above in your browser using DataLab