Allometry
Agate.Library.Allometry.allometric_palatability_unimodal — Method
allometric_palatability_unimodal(prey, predator)Compute unimodal allometric palatability from predator and prey diameters.
\[\eta = \left[1 + \left(\frac{d_{pred}}{d_{prey}} - \rho^*\right)^2\right]^{-\sigma}\]
where $d_{pred}$ and $d_{prey}$ are predator and prey diameters, $\rho^*$ is the optimum predator:prey diameter ratio, and $\sigma$ is the specificity parameter.
Arguments
prey:PalatabilityPreyParameters(diameter, protection).predator:PalatabilityPredatorParameters(diameter, optimum_predator_prey_ratio, specificity).
Agate.Library.Allometry.allometric_palatability_unimodal_protection — Method
allometric_palatability_unimodal_protection(prey, predator)Compute unimodal allometric palatability with multiplicative prey protection.
Agate.Library.Allometry.allometric_scaling_power — Method
allometric_scaling_power(a, b, diameter)Evaluate a power-law allometric scaling against spherical cell volume.
\[f(d) = a V(d)^b, \qquad V(d) = \frac{4}{3}\pi\left(\frac{d}{2}\right)^3\]
where $d$ is equivalent spherical diameter, $V$ is spherical cell volume, $a$ is the prefactor, and $b$ is the exponent.
Arguments
a: scale/prefactor parameter.b: exponent parameter.diameter: cell equivalent spherical diameter.
Mortality
Agate.Library.Mortality.linear_loss — Method
linear_loss(P, rate)Linear mortality (loss) rate.
Arguments
P: plankton concentrationrate: mortality (loss) rate
Agate.Library.Mortality.quadratic_loss — Method
quadratic_loss(P, rate)Quadratic mortality (loss) rate.
Arguments
P: plankton concentrationrate: mortality (loss) rate
Nutrients
Agate.Library.Nutrients.liebig_minimum — Method
liebig_minimum(a, b, rest...)
liebig_minimum(values::NTuple)Return the minimum value among the given limitation factors.
Arguments
a, b, rest...: limitation factorsvalues: anNTupleof limitation factors
This is an explicit alias around LiebigMinimum() for clearer model code.
Agate.Library.Nutrients.monod_limitation — Method
monod_limitation(R, K)Monod (Michaelis–Menten) nutrient limitation.
$R$ / ($K$ + $R$)
where:
- $R$ = nutrient concentration
- $K$ = nutrient half-saturation constant
Arguments
R: nutrient concentrationK: nutrient half-saturation constant
Agate.Library.Nutrients.smooth_liebig_minimum — Method
smooth_liebig_minimum(a, b, rest...; sharpness = 50.0)
smooth_liebig_minimum(values::NTuple; sharpness = 50.0)Return a smooth approximation to the minimum value among the given limitation factors. Larger sharpness values approach liebig_minimum.
Photosynthesis
Agate.Library.Photosynthesis.geider_growth — Method
geider_growth(resources, P, PAR, maximum_growth_rate, half_saturations, alpha,
chlorophyll_to_carbon_ratio)Compute Geider-style phytoplankton biomass growth with Liebig nutrient limitation.
\[G_G = \gamma\,L_G(I)\,P, \qquad \gamma = \min_i \frac{R_i}{K_i + R_i}\]
where $P$ is phytoplankton biomass, $I$ is PAR, $L_G$ is the Geider light-dependent growth rate, and $\gamma$ is the minimum Monod nutrient limitation across the supplied resources. A single nutrient is represented by a tuple of length one.
Arguments
resources: tuple of nutrient concentrations $R_i$.P: phytoplankton biomass.PAR: photosynthetically active radiation $I$.maximum_growth_rate: maximum carbon-specific growth rate $P^C_{max}$.half_saturations: tuple of nutrient half-saturation constants $K_i$.alpha: chlorophyll-specific initial slope $\alpha^{chl}$.chlorophyll_to_carbon_ratio: chlorophyll-to-carbon ratio $\theta^C$.
Agate.Library.Photosynthesis.geider_light_limitation — Method
geider_light_limitation(PAR, alpha, maximum_growth_rate, chlorophyll_to_carbon_ratio)Evaluate the Geider-style light-dependent growth rate.
\[L_G(I) = P^C_{max} \left[1 - \exp\left(-\frac{\alpha^{chl}\theta^C I}{P^C_{max}}\right)\right]\]
Arguments
PAR: photosynthetically active radiation $I$.alpha: chlorophyll-specific initial slope $\alpha^{chl}$.maximum_growth_rate: maximum carbon-specific growth rate $P^C_{max}$.chlorophyll_to_carbon_ratio: chlorophyll-to-carbon ratio $\theta^C$.
Agate.Library.Photosynthesis.smith_growth — Method
smith_growth(resources, P, PAR, maximum_growth_0C, half_saturations, alpha)Compute Smith-style phytoplankton biomass growth with Liebig nutrient limitation.
\[G_S = \mu_0\,\gamma\,L_S(I)\,P, \qquad \gamma = \min_i \frac{R_i}{K_i + R_i}\]
where $P$ is phytoplankton biomass, $I$ is PAR, $L_S$ is the Smith light-limitation factor, and $\gamma$ is the minimum Monod nutrient limitation across the supplied resources. A single nutrient is represented by a tuple of length one.
Arguments
resources: tuple of nutrient concentrations $R_i$.P: phytoplankton biomass.PAR: photosynthetically active radiation $I$.maximum_growth_0C: maximum growth rate $\mu_0$ at 0 °C.half_saturations: tuple of nutrient half-saturation constants $K_i$.alpha: initial photosynthetic slope $\alpha$.
Agate.Library.Photosynthesis.smith_light_limitation — Method
smith_light_limitation(PAR, alpha, maximum_growth_0C)Evaluate the Smith (1936) light-limitation factor.
Arguments
PAR: photosynthetically active radiation $I$.alpha: initial photosynthetic slope $\alpha$.maximum_growth_0C: maximum growth rate $\mu_0$ at 0 °C.
Predation
Agate.Library.Predation.holling_type_ii — Method
holling_type_ii(P, K)Holling (1959) type-II functional response.
Arguments
P: prey concentrationK: prey half-saturation (prey density at which predation is half its maximum)
Agate.Library.Predation.idealized_predation_gain — Method
idealized_predation_gain(P, Z, assimilation_efficiency, maximum_grazing_rate, half_saturation)Assimilated gain rate to predator Z feeding on prey P.
Arguments
P: prey concentrationZ: predator concentrationassimilation_efficiency: assimilation efficiency βmaximum_grazing_rate: maximum grazing rate gₘₐₓhalf_saturation: prey half-saturation K
Agate.Library.Predation.idealized_predation_loss — Method
idealized_predation_loss(P, Z, maximum_grazing_rate, half_saturation)Loss rate of prey P to predator Z using a squared Holling term.
Arguments
P: prey concentrationZ: predator concentrationmaximum_grazing_rate: maximum grazing rate gₘₐₓhalf_saturation: prey half-saturation K
Agate.Library.Predation.idealized_predation_unassimilated_loss — Method
idealized_predation_unassimilated_loss(P, Z, assimilation_efficiency, maximum_grazing_rate, half_saturation)Unassimilated fraction of idealized predation loss ("sloppy feeding").
Arguments
P: prey concentrationZ: predator concentrationassimilation_efficiency: assimilation efficiency βmaximum_grazing_rate: maximum grazing rate gₘₐₓhalf_saturation: prey half-saturation K
Agate.Library.Predation.preferential_predation_gain — Method
preferential_predation_gain(P, Z, assimilation_efficiency, maximum_grazing_rate, half_saturation, palatability)Assimilated preferential predation gain.
Arguments
P: prey concentrationZ: predator concentrationassimilation_efficiency: assimilation efficiency βmaximum_grazing_rate: maximum grazing rate gₘₐₓhalf_saturation: prey half-saturation Kpalatability: palatability η
Agate.Library.Predation.preferential_predation_loss — Method
preferential_predation_loss(P, Z, maximum_grazing_rate, half_saturation, palatability)Preferential predation loss from prey P to predator Z.
Arguments
P: prey concentrationZ: predator concentrationmaximum_grazing_rate: maximum grazing rate gₘₐₓhalf_saturation: prey half-saturation Kpalatability: palatability η
Agate.Library.Predation.preferential_predation_unassimilated_loss — Method
preferential_predation_unassimilated_loss(P, Z, assimilation_efficiency, maximum_grazing_rate, half_saturation, palatability)Unassimilated fraction of preferential predation loss ("sloppy feeding").
Arguments
P: prey concentrationZ: predator concentrationassimilation_efficiency: assimilation efficiency βmaximum_grazing_rate: maximum grazing rate gₘₐₓhalf_saturation: prey half-saturation Kpalatability: palatability η
Remineralization
Agate.Library.Remineralization.linear_remineralization — Method
linear_remineralization(D, rate)Idealized remineralization of detritus into dissolved nutrients.
Arguments
D: detritus concentrationrate: remineralization rate