Allometry
Agate.Library.Allometry.allometric_palatability_unimodal
— Methodallometric_palatability_unimodal(prey_data, predator_data)
Calculates the unimodal allometric palatability of prey based on predator-prey diameters.
This function extracts prey_diameter
, predator_diameter
, optimum_predator_prey_ratio
, and specificity
from the provided dictionaries and calculates the palatability using the diameter-based formula.
Note that this formulation differs from the currently operational MITgcm-DARWIN model as it uses diameter instead of volumes and is structurally different. However, both formulations result in a unimodal response the width and optima are modulated by the optimumpredatorprey ratio and the specificity.
Arguments
prey_data
: A dictionary containing prey-specific data:diameters
: Diameter of the prey.
predator_data
: A dictionary containing predator-specific data:can_eat
: A binary value (1 or 0) indicating if the predator can consume prey. If this is set to 0, palatability is set to 0.diameters
: Diameter of the predator.optimum_predator_prey_ratio
: The optimal predator-prey diameter ratio for the predator.specificity
: A parameter controlling how sharply the palatability decreases away from the optimal ratio.
Returns
palatability
: A number between 0 and 1 representing the palatability.
Agate.Library.Allometry.allometric_palatability_unimodal_protection
— Methodallometric_palatability_unimodal_protection(prey_data, predator_data)
Calculates the unimodal allometric palatability of prey, accounting for additional prey protection mechanisms.
The function uses a modified unimodal relationship defined by: palatability = prey_protection / (1 + (predator_prey_ratio - predator_prey_optimum)^2)^predator_specificity
Arguments
prey_data
: A dictionary containing prey-specific data:diameters
: Diameter of the prey.protection
: A scaling factor between 0 and 1 representing additional protection mechanisms of the prey.
predator_data
: A dictionary containing predator-specific data:can_eat
: A binary value (1 or 0) indicating if the predator can consume prey. If this is set to 0, palatability is set to 0.diameters
: Diameter of the predator.optimum_predator_prey_ratio
: The optimal predator-prey diameter ratio for the predator.specificity
: A parameter controlling how sharply the palatability decreases away from the optimal ratio.
Returns
palatability
: A number between 0 andprey_protection
representing the palatability.
Agate.Library.Allometry.allometric_scaling_power
— Methodallometric_scaling_power(a, b, d::Number)
Allometric scaling function using the power law for cell volume.
Arguments
a
: scaleb
: exponentd
: cell equivalent spherical diameter (ESD)
Growth
Agate.Library.Growth.default_PC
— MethodPC = PCᵐᵃˣ * γⁿᵘᵗ * γˡⁱᵍʰᵗ * fᵗᵉᵐᵖ * γᶜᵒ²
Carbon-specific growth rate for plankton (Default MITgcm-DARWIN formulation).
Arguments
PCᵐᵃˣ
: maximum carbon-specific growth rateγⁿᵘᵗ
: nutrient limitionγˡⁱᵍʰᵗ
: light limitionfᵗᵉᵐᵖ
: temperature limitationγᶜᵒ²
: carbon dioxide limitation
Mortality
Agate.Library.Mortality.linear_loss
— MethodLinear mortality rate. In this formulation mortality is constant, and can be interpreted as a "closure term" for low density predation and and other death terms.
Arguments
P
: plankton concentrationl
: mortality rate
Agate.Library.Mortality.net_linear_loss
— MethodNet loss of all plankton due to linear mortality.
Arguments
P
: NamedArray which includes all plankton concentration valueslinear_mortality
: NamedArray of all plankton linear mortality rates
Agate.Library.Mortality.net_quadratic_loss
— MethodNet loss of all plankton due to quadratic mortality.
Arguments
P
: NamedArray which includes all plankton concentration valuesquadratic_mortality
: NamedArray of all plankton quadratic mortality rates
Agate.Library.Mortality.quadratic_loss
— MethodQuadratic mortality coefficient. In this formulation mortality increases exponentially with plankton biomass and is often interpreted to represent viral processes and non-represented density-dependent predation effects.
Arguments
P
: plankton concentrationl
: mortality rate
Nutrients
Agate.Library.Nutrients.monod_limitation
— MethodR / (kᵣ + R)
Monod formulation of nutrient limitation, which is based on Michaelis-Menten enzyme kinetics.
Arguments
R
: nutrient (e.g. N, P, Si)kᵣ
: nutrient half saturation constant
Note that sometimes this formulation is also used for Predation ('Holling type 2').
Photosynthesis
Agate.Library.Photosynthesis.light_limitation_geider
— MethodPᶜₘₐₓ[1-exp((-αᶜʰˡθᶜE₀)/Pᶜₘₐₓ)]
A light limitation function which depends on the cellular ratio of chlorophyll to carbon. This formulation is based on equation (4) from Geider et al., 1998.
Arguments
PAR
: photosynthetic active radiation (E₀)maximum_growth_rate
: maximum growth rate before nutrient limitation (Pᶜₘₐₓ)photosynthetic_slope
: initial photosynthetic slope (αᶜʰˡ)chlorophyll_to_carbon_ratio
: ratio between cellular chlorophyll and carbon (θᶜ)
Agate.Library.Photosynthesis.light_limitation_smith
— Methodα * PAR / sqrt(μ₀ ^ 2 + α ^ 2 * PAR ^ 2)
Smith 1936 formulation of light limitation (also see Evans and Parslow, 1985).
Arguments
PAR
: photosynthetic active radiationα
: initial photosynthetic slopeμ₀
: maximum growth rate at T = 0 °C (this seems weird?, from Kuhn 2015)
Agate.Library.Photosynthesis.net_photosynthetic_growth_single_nutrient
— MethodNet photosynthetic growth of all plankton assuming geider light limitation.
Arguments
N
: NutrientP
: NamedArray which includes all plankton concentration valuesPAR
: PARmaximum_growth_rate
: NamedArray of all plankton maximum growth ratesnutrient_half_saturation
: NamedArray of all plankton nutrient half saturation constants
Agate.Library.Photosynthesis.net_photosynthetic_growth_single_nutrient_geider_light
— MethodNet photosynthetic growth of all plankton.
Arguments
N
: NutrientP
: NamedArray which includes all plankton concentration valuesPAR
: PARmaximum_growth_rate
: NamedArray of all plankton maximum growth ratesnutrient_half_saturation
: NamedArray of all plankton nutrient half saturation constantsphotosynthetic_slope
: initial photosynthetic slope (αᶜʰˡ)chlorophyll_to_carbon_ratio
: ratio between cellular chlorophyll and carbon (θᶜ)
Agate.Library.Photosynthesis.photosynthetic_growth_single_nutrient
— MethodSingle nutrient monod smith photosynthetic growth (used, for example, in Kuhn 2015).
Arguments
N
: nutrient concentrationP
: phytoplankton concentrationPAR
: photosynthetic active radiationμ₀
: maximum growth rate at T = 0 °Ckₙ
: nutrient half saturationα
: initial photosynthetic slope
Agate.Library.Photosynthesis.photosynthetic_growth_single_nutrient_geider_light
— MethodSingle nutrient geider photosynthetic growth.
Arguments
N
: nutrient concentrationP
: phytoplankton concentrationPAR
: photosynthetic active radiationmaximum_growth_rate
: maximum growth rate before nutrient limitation (Pᶜₘₐₓ)kₙ
: nutrient half saturationphotosynthetic_slope
: initial photosynthetic slope (αᶜʰˡ)chlorophyll_to_carbon_ratio
: ratio between cellular chlorophyll and carbon (θᶜ)
Agate.Library.Photosynthesis.γˡⁱᵍʰᵗ
— Methodγˡⁱᵍʰᵗ = (1 - ℯ^(kˢᵃᵗ*I)) * ℯ^kⁱⁿʰ * nˡⁱᵍʰᵗ
Light limitation for plankton (Default MITgcm-DARWIN formulation).
Arguments
I
: irradiancekˢᵃᵗ
: half saturation constant of light saturationkⁱⁿʰ
: half saturation constant of light inhibitionnˡⁱᵍʰᵗ
: light penalty term
Predation
Agate.Library.Predation.assimilation_efficiency_emergent_binary
— Methodassimilation_efficiency_emergent_binary(prey_data, predator_data)
Determines the assimilation efficiency of a predator consuming prey, based on binary conditions of edibility.
The function evaluates whether the predator can eat the prey and whether the prey can be consumed, and assigns the assimilation efficiency accordingly.
Arguments
prey_data
: A dictionary containing prey-specific data:can_be_eaten
: A binary value (1 or 0) indicating if the prey can be consumed by the predator.
predator_data
: A dictionary containing predator-specific data:can_eat
: A binary value (1 or 0) indicating if the predator can consume prey.assimilation_efficiency
: The efficiency with which the predator assimilates nutrients from the prey if the conditions are met.
Returns
assimilation_efficiency
:- If
can_eat
is 1 andcan_be_eaten
is 1, returns the predator'sassimilation_efficiency
. - Otherwise, returns 0.
- If
Agate.Library.Predation.holling_type_2
— MethodHolling's "type II" functional response as describe in Holling 1959. The function is similar to the Monod equation and Michaelis-Menten equation of for enzyme kinetics. The formulation is characterized by decelerating predation as prey concentrations increase.
Arguments
R
: prey densityk
: prey density at which predation is half it's maximum rate
Agate.Library.Predation.net_predation_assimilation_loss_preferential
— MethodNet predator assimilation loss of all plankton.
Arguments
P
: NamedArray which includes all plankton concentration valuesholling_half_saturation
: NamedArray of all plankton predation half saturation constantsmaximum_predation_rate
: NamedArray of all plankton maximum predation ratespalatability
: NamedArray of all plankton palatabilities where:- each row is a predator
- each column is a prey
- values are accessed as
palat[predator, prey]
- for a non-predator [i,:]=0
assimilation_efficiency
: NamedArray of all plankton assimilation efficiencies where:- each row is a predator
- each column is a prey
- values are accessed as
palat[predator, prey]
- for a non-predator [i,:]=0
Agate.Library.Predation.predation_assimilation_loss_idealized
— MethodEstimates the rate at which plankton predation gain is lost to the environment due to inefficient assimilation efficiency (e.g. 'sloppy feeding').
Note that this differs from the predationgainidealized as this function represents the transfer of biomass from the prey to the environment rather than the transfer of biomass from the prey to the predator.
Arguments
P
: phytoplankton concentrationZ
: zooplankton concentrationβ
: assimilation efficiency of prey to the predatorgₘₐₓ
: maximum grazing rate of the predatorkₚ
: grazing/holling half saturation
Agate.Library.Predation.predation_assimilation_loss_preferential
— MethodEstimates the rate at which plankton predation gain is lost to the environment due to inefficient assimilation efficiency (e.g. 'sloppy feeding').
Note that this differs from the predationgainpreferential as this function represents the transfer of biomass from the prey to the environment rather than the transfer of biomass from the prey to the predator.
Arguments
P
: phytoplankton concentrationZ
: zooplankton concentrationβ
: assimilation efficiency of prey to the predatorgₘₐₓ
: maximum grazing rate of the predatorkₚ
: grazing/holling half saturationpalatability
: the likelihood at which the predator feeds on the prey
Agate.Library.Predation.predation_gain_idealized
— MethodEstimates the gain rate of Z (predator) feeding on P (prey). In this formulation predation rate is multiplied by an assimilation efficiency (β) which represents 'sloppy feeding'.
Arguments
P
: phytoplankton concentrationZ
: zooplankton concentrationβ
: assimilation efficiencygₘₐₓ
: maximum grazing ratekₚ
: grazing/holling half saturation
Agate.Library.Predation.predation_gain_preferential
— MethodEstimates the gain rate of Z (predator) feeding on P (prey). In this formulation predation rate is multiplied by an assimilation efficiency (β) which represents 'sloppy feeding'.
Arguments
P
: phytoplankton concentrationZ
: zooplankton concentrationβ
: assimilation efficiencygₘₐₓ
: maximum grazing ratekₚ
: grazing/holling half saturationpalatability
: the likelihood at which the predator feeds on the prey
Agate.Library.Predation.predation_loss_idealized
— MethodEstimates the loss rate of P (prey), to Z (predator). In this formulation predator-prey interactions are modulated both by their density (Holling type 2) and the prey-predator palatability.
Arguments
P
: phytoplankton concentrationZ
: zooplankton concentrationgₘₐₓ
: maximum grazing ratekₚ
: prey density at which predation is half it's maximum rate
Agate.Library.Predation.predation_loss_preferential
— MethodEstimates the loss rate of P (prey), to Z (predator). In this formulation predator-prey interactions are modulated both by their density (Holling type 2) and the prey-predator palatability.
Arguments
P
: phytoplankton concentrationZ
: zooplankton concentrationgₘₐₓ
: maximum grazing ratekₚ
: prey density at which predation is half it's maximum ratepalatability
: the likelihood at which the predator feeds on the prey
Agate.Library.Predation.summed_predation_assimilation_loss_preferential
— MethodEstimates the total assimilation loss of the predator (P[predator_name]
) feeding on all plankton.
For plankton P[predator_name]
, the function loops over each prey (P[prey_name]
) to estimate the total assimilation loss during predation.
Arguments
predator_name
: name of the predator, e.g.P[predator_name]
P
: NamedArray which includes all plankton concentration valuesmaximum_predation_rate
: NamedArray of all plankton predation ratesholling_half_saturation
: NamedArray of all plankton predation half saturation constantspalatability
: NamedArray of all plankton palatabilities where:- each row is a predator
- each column is a prey
- values are accessed as
palat[predator, prey]
- for a non-predator [i,:]=0
assimilation_efficiency
: NamedArray of all plankton assimilation efficiencies where:- each row is a predator
- each column is a prey
- values are accessed as
palat[predator, prey]
- for a non-predator [i,:]=0
Agate.Library.Predation.summed_predation_gain_preferential
— MethodEstimates the total predation gain of the predator (P[predator_name]
) feeding on all plankton.
For plankton P[predator_name]
, the function loops over each prey (P[prey_name]
) to estimate the total gain due to predation.
Arguments
predator_name
: name of the predator, e.g.P[predator_name]
P
: NamedArray which includes all plankton concentration valuesmaximum_predation_rate
: NamedArray of all plankton predation ratesholling_half_saturation
: NamedArray of all plankton predation half saturation constantspalatability
: NamedArray of all plankton palatabilities where:- each row is a predator
- each column is a prey
- values are accessed as
palat[predator, prey]
- for a non-predator [i,:]=0
assimilation_efficiency
: NamedArray of all plankton assimilation efficiencies where:- each row is a predator
- each column is a prey
- values are accessed as
palat[predator, prey]
- for a non-predator [i,:]=0
Agate.Library.Predation.summed_predation_loss_preferential
— MethodEstimates the total loss rate of the prey P[prey_name]
to predation.
For plankton P[prey_name]
, the function loops over each predator to estimate the total loss of plankton prey_name
due to predation.
Arguments
prey_name
: name of the prey plankton to access value asP[prey_name]
P
: NamedArray which includes all planktonmaximum_predation_rate
: NamedArray of all plankton predation ratesholling_half_saturation
: NamedArray of all plankton predation half saturation constantspalatability
: NamedArray of all plankton palatabilities where:- each row is a predator
- each column is a prey
- values are accessed as
palat[predator, prey]
- for a non-predator [i,:]=0
Remineralization
Agate.Library.Remineralization.remineralization_idealized
— MethodIdealized remineralization of detritus into dissolved nutrients.
Arguments
D
: detritusr
: remineralization rate