Allometry

Agate.Library.Allometry.allometric_palatability_unimodalMethod
allometric_palatability_unimodal(prey, predator)

Unimodal allometric palatability based on predator–prey diameters.

Formulation

1 / (1 + ($ratio$ - $opt$)²)$^σ$

where:

  • $ratio$ = predator / prey diameter ratio
  • $opt$ = optimum predator:prey diameter ratio
  • σ = unimodal sharpness parameter (specificity)

Arguments

  • prey: PalatabilityPreyParameters(diameter, protection)
  • predator: PalatabilityPredatorParameters(diameter, optimum_predator_prey_ratio, specificity)

Returns

A palatability value in [0, 1].

source
Agate.Library.Allometry.allometric_scaling_powerMethod
allometric_scaling_power(a, b, diameter)

Allometric scaling function using a power law on spherical cell volume.

Formulation

$a$$V$$ᵇ$

where:

  • $V$ = (4 / 3) * π * ($d$ / 2)³
  • $a$ = scale
  • $b$ = exponent
  • $d$ = cell equivalent spherical diameter (ESD)

Arguments

  • a: scale parameter
  • b: exponent parameter
  • diameter: cell equivalent spherical diameter (ESD)

Returns

a * V^b where V is the spherical volume computed from diameter.

source

Mortality

Agate.Library.Mortality.linear_lossMethod
linear_loss(P, rate)

Linear mortality (loss) rate.

Formulation

$l$ * $P$

where:

  • $P$ = plankton concentration
  • $l$ = mortality (loss) rate

Arguments

  • P: plankton concentration
  • rate: mortality (loss) rate
source
Agate.Library.Mortality.quadratic_lossMethod
quadratic_loss(P, rate)

Quadratic mortality (loss) rate.

Formulation

$l$ * $P$²

where:

  • $P$ = plankton concentration
  • $l$ = mortality (loss) rate

Arguments

  • P: plankton concentration
  • rate: mortality (loss) rate
source

Nutrients

Agate.Library.Nutrients.liebig_minimumMethod
liebig_minimum(a, b, rest...)
liebig_minimum(values::NTuple)

Return the minimum value among the given limitation factors.

Formulation

minimum(nutrient_limitations)

Arguments

  • a, b, rest...: limitation factors
  • values: an NTuple of limitation factors

This is an explicit alias around LiebigMinimum() for clearer model code.

source
Agate.Library.Nutrients.monod_limitationMethod
monod_limitation(R, K)

Monod (Michaelis–Menten) nutrient limitation.

Formulation

$R$ / ($K$ + $R$)

where:

  • $R$ = nutrient concentration
  • $K$ = half-saturation constant

Arguments

  • R: nutrient concentration
  • K: nutrient half-saturation constant
Tip

This functional form is sometimes also used for predation (≈ Holling type II).

source

Photosynthesis

Agate.Library.Photosynthesis.geider_light_limitationMethod
geider_light_limitation(PAR, alpha, maximum_growth_rate, chlorophyll_to_carbon_ratio)

Geider-style light limitation.

Formulation

Pᶜₘₐₓ[1-exp((-αᶜʰˡθᶜPAR)/Pᶜₘₐₓ)]

Arguments

  • PAR: photosynthetically active radiation
  • alpha: photosynthetic slope αᶜʰˡ
  • maximum_growth_rate: maximum growth rate Pᶜₘₐₓ
  • chlorophyll_to_carbon_ratio: chlorophyll-to-carbon ratio θᶜ
source
Agate.Library.Photosynthesis.geider_single_nutrient_growthMethod
geider_single_nutrient_growth(R, P, PAR, maximum_growth_rate, nutrient_half_saturation, alpha, chlorophyll_to_carbon_ratio)

Single-nutrient photosynthetic growth with Monod nutrient limitation and Geider light limitation.

Formulation

γᴿ * γᴾᴬᴿ * P

Arguments

  • R: nutrient concentration
  • P: plankton concentration
  • PAR: photosynthetically active radiation
  • maximum_growth_rate: maximum growth rate Pᶜₘₐₓ
  • nutrient_half_saturation: nutrient half-saturation kᵣ
  • alpha: photosynthetic slope α
  • chlorophyll_to_carbon_ratio: chlorophyll-to-carbon ratio θᶜ
source
Agate.Library.Photosynthesis.geider_two_nutrient_growthMethod
geider_two_nutrient_growth(R1, R2, P, PAR, maximum_growth_rate, half_saturation_1, half_saturation_2, alpha, chlorophyll_to_carbon_ratio)

Two-nutrient photosynthetic growth with Liebig limitation and Geider light limitation.

Formulation

Pᶜₘ * γᴾᴬᴿ * P

Arguments

  • R1: first nutrient concentration
  • R2: second nutrient concentration
  • P: plankton concentration
  • PAR: photosynthetically active radiation
  • maximum_growth_rate: maximum growth rate Pᶜₘₐₓ
  • half_saturation_1: half-saturation K₁
  • half_saturation_2: half-saturation K₂
  • alpha: photosynthetic slope α
  • chlorophyll_to_carbon_ratio: chlorophyll-to-carbon ratio θᶜ
Info

Unlike the MITgcm-DARWIN formulation, this growth function does not include light inhibition.

source
Agate.Library.Photosynthesis.smith_light_limitationMethod
smith_light_limitation(PAR, alpha, maximum_growth_0C)

Smith (1936) formulation of light limitation.

Formulation

α * PAR / √(μ₀² + α² * PAR²)

Arguments

  • PAR: photosynthetically active radiation
  • alpha: initial photosynthetic slope α
  • maximum_growth_0C: maximum growth rate μ₀ at T = 0 °C
source
Agate.Library.Photosynthesis.smith_single_nutrient_growthMethod
smith_single_nutrient_growth(R, P, PAR, maximum_growth_0C, nutrient_half_saturation, alpha)

Single-nutrient photosynthetic growth with Monod nutrient limitation and Smith light limitation.

Formulation

μ₀ * γᴿ * γᴾᴬᴿ * P

Arguments

  • R: nutrient concentration
  • P: plankton concentration
  • PAR: photosynthetically active radiation
  • maximum_growth_0C: maximum growth rate μ₀ at T = 0 °C
  • nutrient_half_saturation: nutrient half-saturation kᵣ
  • alpha: initial photosynthetic slope α
source

Predation

Agate.Library.Predation.holling_type_iiMethod
holling_type_ii(P, K)

Holling (1959) type-II functional response.

Formulation

$P$ / ($K$ + $P$)

Arguments

  • P: prey concentration
  • K: prey half-saturation (prey density at which predation is half its maximum)
source
Agate.Library.Predation.idealized_predation_gainMethod
idealized_predation_gain(P, Z, assimilation_efficiency, maximum_grazing_rate, half_saturation)

Assimilated gain rate to predator Z feeding on prey P.

Formulation

β * g

where g = idealized_predation_loss(P, Z, gₘₐₓ, K).

Arguments

  • P: prey concentration
  • Z: predator concentration
  • assimilation_efficiency: assimilation efficiency β
  • maximum_grazing_rate: maximum grazing rate gₘₐₓ
  • half_saturation: prey half-saturation K
source
Agate.Library.Predation.idealized_predation_lossMethod
idealized_predation_loss(P, Z, maximum_grazing_rate, half_saturation)

Loss rate of prey P to predator Z using a squared Holling term.

Formulation

gₘₐₓ * (P² / (K² + P²)) * Z

Arguments

  • P: prey concentration
  • Z: predator concentration
  • maximum_grazing_rate: maximum grazing rate gₘₐₓ
  • half_saturation: prey half-saturation K
source
Agate.Library.Predation.idealized_predation_unassimilated_lossMethod
idealized_predation_unassimilated_loss(P, Z, assimilation_efficiency, maximum_grazing_rate, half_saturation)

Unassimilated fraction of idealized predation loss ("sloppy feeding").

Formulation

(1 - β) * g

where g = idealized_predation_loss(P, Z, gₘₐₓ, K).

Arguments

  • P: prey concentration
  • Z: predator concentration
  • assimilation_efficiency: assimilation efficiency β
  • maximum_grazing_rate: maximum grazing rate gₘₐₓ
  • half_saturation: prey half-saturation K
source
Agate.Library.Predation.preferential_predation_gainMethod
preferential_predation_gain(P, Z, assimilation_efficiency, maximum_grazing_rate, half_saturation, palatability)

Assimilated preferential predation gain.

Formulation

β * g

where g = preferential_predation_loss(P, Z, gₘₐₓ, K, η).

Arguments

  • P: prey concentration
  • Z: predator concentration
  • assimilation_efficiency: assimilation efficiency β
  • maximum_grazing_rate: maximum grazing rate gₘₐₓ
  • half_saturation: prey half-saturation K
  • palatability: palatability η
source
Agate.Library.Predation.preferential_predation_lossMethod
preferential_predation_loss(P, Z, maximum_grazing_rate, half_saturation, palatability)

Preferential predation loss from prey P to predator Z.

Formulation

gₘₐₓ * η * (P / (K + P)) * Z

Arguments

  • P: prey concentration
  • Z: predator concentration
  • maximum_grazing_rate: maximum grazing rate gₘₐₓ
  • half_saturation: prey half-saturation K
  • palatability: palatability η
source
Agate.Library.Predation.preferential_predation_unassimilated_lossMethod
preferential_predation_unassimilated_loss(P, Z, assimilation_efficiency, maximum_grazing_rate, half_saturation, palatability)

Unassimilated fraction of preferential predation loss ("sloppy feeding").

Formulation

(1 - β) * g

where g = preferential_predation_loss(P, Z, gₘₐₓ, K, η).

Arguments

  • P: prey concentration
  • Z: predator concentration
  • assimilation_efficiency: assimilation efficiency β
  • maximum_grazing_rate: maximum grazing rate gₘₐₓ
  • half_saturation: prey half-saturation K
  • palatability: palatability η
source

Remineralization

Agate.Library.Remineralization.linear_remineralizationMethod
linear_remineralization(D, rate)

Idealized remineralization of detritus into dissolved nutrients.

Formulation

r * D

where:

  • D = detritus concentration
  • r = remineralization rate

Arguments

  • D: detritus concentration
  • rate: remineralization rate
source