Allometry

Agate.Library.Allometry.allometric_palatability_unimodalMethod
allometric_palatability_unimodal(prey_data::Dict, predator_data::Dict)

Calculates the unimodal allometric palatability of prey based on predator-prey diameters.

Formulation

0 if $e_{pred}$ = 0

1 / (1 + ($d_{ratio}$- $d_{opt}$)²)$^σ$ otherwise

where:

  • $e_{pred}$ = binary ability of predator to eat prey
  • $d_{ratio}$ = ratio between predator and prey diameters
  • $d_{opt}$ = optimum ratio between predator and prey diameter
  • σ = how sharply the palatability decreases away from the optimal ratio.
Info

This formulation differs from the operational MITgcm-DARWIN model as it is is structurally different and diameters are used instead of volumes. However, both formulations result in a unimodal response where the width and optima are modulated by the optimum-predator-prey 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.
source
Agate.Library.Allometry.allometric_palatability_unimodal_protectionMethod
allometric_palatability_unimodal_protection(prey_data::Dict, predator_data::Dict)

Calculates the unimodal allometric palatability of prey, accounting for additional prey protection mechanisms.

Formulation

0 if $e_{pred}$ = 0

(1 - η) / (1 + ($d_{ratio}$- $d_{opt}$)^2)$^σ$ otherwise

where:

  • $e_{pred}$ = binary ability of predator to eat prey
  • η = prey-protection
  • $d_{ratio}$ = ratio between predator and prey diameters
  • $d_{opt}$ = optimum ratio between predator and prey diameter
  • σ = how sharply the palatability decreases away from the optimal ratio.

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 and prey_protection representing the palatability.
source
Agate.Library.Allometry.allometric_scaling_powerMethod
allometric_scaling_power(a::Number, b::Number, diameter::Number)

Allometric scaling function using the power law for cell volume.

Formulation

$a$$V$$ᵇ$

where:

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

Arguments

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

Mortality

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

Linear mortality rate.

Formulation

$l$ * $P$

where:

  • $P$ = plankton concentration
  • $l$ = mortality rate

In this formulation mortality is linear, and can be interpreted as a "closure term" for low density predation and and other death terms.

Arguments

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

Quadratic mortality rate.

Formulation

$l$ * $P$²

where:

  • $P$ = plankton concentration
  • $l$ = mortality rate

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 concentration
  • mortality: mortality rate
source

Nutrients

Agate.Library.Nutrients.liebig_minimumMethod
liebig_minimum(nutrient_limitations)

Liebig's law of the minimum, which states that growth is limited by the scarcest (most limiting) resource.

Formulation

minimum(nutrient_limitations)

where:

  • nutrient_limitations = an array of nutrient limitation values (e.g. [N, P, Si])

Arguments

  • nutrient_limitations: an array of nutrient limitation values

Returns the minimum value among the given nutrient limitations.

source
Agate.Library.Nutrients.monod_limitationMethod
monod_limitation(nutrient_concentration, nutrient_half_saturation)

Monod formulation of nutrient limitation, which is based on Michaelis-Menten enzyme kinetics.

Formulation

$R$ / ($kᵣ$ + $R$)

where:

  • $R$ = nutrient concentration (e.g. N, P, Si)
  • $kᵣ$ = nutrient half saturation constant

Arguments

  • nutrient_concentration: nutrient (e.g. N, P, Si)
  • nutrient_half_saturation: nutrient half saturation constant
Tip

Sometimes this formulation is also used for predation (≈'Holling type 2').

source

Photosynthesis

Agate.Library.Photosynthesis.light_limitation_geiderMethod
light_limitation_geider(PAR, photosynthetic_slope, maximum_growth_rate, 
    chlorophyll_to_carbon_ratio)

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.

Formulation

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

where:

  • Pᶜₘₐₓ = maximum_growth rate
  • αᶜʰˡ = photosynthetic slope
  • PAR = photosynthetic active radiation
  • θᶜ = chlorophyll to carbon ratio

Arguments

  • PAR: photosynthetic active radiation
  • maximum_growth_rate: maximum growth rate before nutrient limitation
  • photosynthetic_slope: initial photosynthetic slope
  • chlorophyll_to_carbon_ratio: ratio between cellular chlorophyll and carbon
source
Agate.Library.Photosynthesis.light_limitation_smithMethod
light_limitation_smith(PAR, initial_slope, maximum_growth_0C)

Smith 1936 formulation of light limitation (also see Evans and Parslow, 1985).

Formulation

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

where:

  • PAR = photosynthetic active radiation
  • α = initial photosynthetic slope
  • μ₀ = maximum growth rate at 0 °C

Arguments

  • PAR: photosynthetic active radiation
  • initial_slope: initial photosynthetic slope
  • maximum_growth_0C: maximum growth rate at T = 0 °C
source
Agate.Library.Photosynthesis.photosynthetic_growth_single_nutrientMethod
photosynthetic_growth_single_nutrient(N, P, PAR, maximum_growth_0C, 
    nutrient_half_saturation, initial_slope)

Single nutrient monod smith photosynthetic growth (used, for example, in Kuhn 2015).

Formulation

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

where:

  • μ₀ = maximum growth rate at 0 °C
  • γᴿ = monod_limitation(R, kᵣ)
  • R = nutrient concentration
  • kᵣ = nutrient half saturation
  • γᴾᴬᴿ = light_limitation_smith(PAR, α, μ₀)
  • PAR = photosynthetic active radiation
  • α = initial photosynthetic slope
  • P = plankton concentration

Arguments

  • R: nutrient concentration
  • P: plankton concentration
  • PAR: photosynthetic active radiation
  • maximum_growth_0C: maximum growth rate at T = 0 °C
  • nutrient_half_saturation: nutrient half saturation
  • initial_slope: initial photosynthetic slope
source
Agate.Library.Photosynthesis.photosynthetic_growth_single_nutrient_geider_lightMethod
photosynthetic_growth_single_nutrient_geider_light(N, P, PAR, maximum_growth_rate, 
    nutrient_half_saturation, photosynthetic_slope, chlorophyll_to_carbon_ratio)

Single nutrient geider photosynthetic growth.

Formulation

γᴿ * γᴾᴬᴿ * P

where:

  • γᴿ = monod_limitation(R, kᵣ)
  • R = nutrient concentration
  • kᵣ = nutrient half saturation
  • γᴾᴬᴿ = light_limitation_geider(PAR, α, Pᶜₘₐₓ, θᶜ)
  • PAR = photosynthetic active radiation
  • Pᶜₘₐₓ = maximum growth rate
  • θᶜ = chlorophyll to carbon ratio
  • α = initial photosynthetic slope
  • P = plankton concentration

Arguments

  • N: nutrient concentration
  • P: phytoplankton concentration
  • PAR: photosynthetic active radiation
  • maximum_growth_rate: maximum growth rate before nutrient limitation
  • nutrient_half_saturation: nutrient half saturation
  • photosynthetic_slope: initial photosynthetic slope
  • chlorophyll_to_carbon_ratio: ratio between cellular chlorophyll and carbon
source
Agate.Library.Photosynthesis.photosynthetic_growth_two_nutrients_geider_lightMethod
photosynthetic_growth_two_nutrients_geider_light(
    DIN,
    PO4,
    P,
    PAR,
    maximum_growth_rate,
    half_saturation_DIN,
    half_saturation_PO4,
    photosynthetic_slope,
    chlorophyll_to_carbon_ratio,
)

Two nutrient geider photosynthetic growth.

Formulation

Pᶜₘ * γᴾᴬᴿ * P

where:

  • Pᶜₘ = liebig_minimum([γᴺ, γᴾ]) * Pᶜₘₐₓ
  • γᴾᴬᴿ = light_limitation_geider(PAR, α, Pᶜₘ, θᶜ)
  • γᴺ = monod_limitation(DIN, Kₙ)
  • γᴾ = monod_limitation(PO₄, Kₚ)
  • DIN = dissolved inorganic nitrogen concentration
  • PO₄ = phosphate concentration
  • Kₙ = nitrogen half saturation constant
  • Kₚ = phosphate half saturation constant
  • Pᶜₘₐₓ = maximum growth rate
  • θᶜ = chlorophyll to carbon ratio
  • α = initial photosynthetic slope
  • P = plankton concentration
Info

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

Arguments

  • DIN: dissolved inorganic nitrogen concentration
  • PO4: phosphate concentration
  • P: phytoplankton concentration
  • PAR: photosynthetic active radiation
  • maximum_growth_rate: maximum growth rate before nutrient limitation
  • half_saturation_DIN: nitrogen half saturation
  • half_saturation_PO4: phosphate half saturation
  • photosynthetic_slope: initial photosynthetic slope
  • chlorophyll_to_carbon_ratio: ratio between cellular chlorophyll and carbon
source

Predation

Agate.Library.Predation.assimilation_efficiency_emergent_binaryMethod
assimilation_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.

Formulation

β if $e_{prey}$ = 1 & $e_{pred}$ = 1

0 otherwise

where:

  • β = assimilation efficiency of prey to the predator
  • $e_{prey}$ = whether prey can be eaten (binary value)
  • $e_{pred}$ = whether predator can eat (binary value)

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 and can_be_eaten is 1, returns the predator's assimilation_efficiency.
    • Otherwise, returns 0.
source
Agate.Library.Predation.holling_type_2Method
holling_type_2(prey_concentration::Real, prey_half_saturation::Real)

Holling's "type II" functional response as describe in Holling 1959.

Formulation

R / (kᵣ + R)

where:

  • $R$ = prey concentration
  • $kᵣ$ = prey half saturation constant

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

  • prey_concentration: prey density
  • prey_half_saturation: prey density at which predation is half it's maximum rate
source
Agate.Library.Predation.predation_assimilation_loss_idealizedMethod
predation_assimilation_loss_idealized(P, Z, assimilation_efficiency, 
    maximum_grazing_rate, prey_half_saturation)

Estimates the rate at which plankton predation gain is lost to the environment due to inefficient assimilation efficiency (e.g. 'sloppy feeding').

Formulation

(1 - β) * $g$

where:

  • β = assimilation efficiency of prey to the predator
  • $g$ = predation_loss_idealized(P, Z, gₘₐₓ, kₚ)
  • P = phytoplankton concentration
  • Z = zooplankton concentration
  • gₘₐₓ = maximum grazing rate of the predator
  • kₚ = prey half saturation
Note

This functino differs from predation_gain_idealized as it 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 concentration
  • Z: zooplankton concentration
  • assimilation_efficiency: assimilation efficiency of prey to the predator
  • maximum_grazing_rate: maximum grazing rate of the predator
  • prey_half_saturation: prey half saturation
source
Agate.Library.Predation.predation_assimilation_loss_preferentialMethod
predation_assimilation_loss_preferential(P, Z, assimilation_efficiency,
    maximum_grazing_rate, prey_half_saturation, palatability)

Estimates the rate at which plankton predation gain is lost to the environment due to inefficient assimilation efficiency (e.g. 'sloppy feeding').

Formulation

(1-β) * $g$

where:

  • β = assimilation efficiency of prey to the predator
  • $g$ = predation_loss_preferential(P, Z, gₘₐₓ, kₚ, η)
  • P = phytoplankton concentration
  • Z = zooplankton concentration
  • gₘₐₓ = maximum grazing rate of the predator
  • kₚ = prey half saturation
  • η = palatability
Info

This function differs from predation_gain_preferential as it 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 concentration
  • Z: zooplankton concentration
  • assimilation_efficiency: assimilation efficiency
  • maximum_grazing_rate: maximum grazing rate
  • prey_half_saturation: prey density at which predation is half it's maximum rate
  • palatability: the likelihood at which the predator feeds on the prey
source
Agate.Library.Predation.predation_gain_idealizedMethod
predation_gain_idealized(P, Z, assimilation_efficiency, maximum_grazing_rate, 
    prey_half_saturation)

Estimates 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'.

Formulation

β * $g$

where:

  • β = assimilation efficiency of prey to the predator
  • $g$ = predation_loss_idealized(P, Z, gₘₐₓ, kₚ)
  • P = phytoplankton concentration
  • Z = zooplankton concentration
  • gₘₐₓ = maximum grazing rate of the predator
  • kₚ = prey half saturation

Arguments

  • P: phytoplankton concentration
  • Z: zooplankton concentration
  • assimilation_efficiency: assimilation efficiency of the predator
  • maximum_grazing_rate: maximum grazing rate of the predator
  • prey_half_saturation: prey half saturation
source
Agate.Library.Predation.predation_gain_preferentialMethod
predation_gain_preferential(P, Z, assimilation_efficiency, maximum_grazing_rate, 
    prey_half_saturation, palatability)

Estimates 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'.

Formulation

β * $g$

where:

  • β = assimilation efficiency of prey to the predator
  • $g$ = predation_loss_preferential(P, Z, gₘₐₓ, kₚ, η)
  • P = phytoplankton concentration
  • Z = zooplankton concentration
  • gₘₐₓ = maximum grazing rate of the predator
  • kₚ = prey half saturation
  • η = palatability

Arguments

  • P: phytoplankton concentration
  • Z: zooplankton concentration
  • assimilation_efficiency: assimilation efficiency
  • maximum_grazing_rate: maximum grazing rate
  • prey_half_saturation: prey density at which predation is half it's maximum rate
  • palatability: the likelihood at which the predator feeds on the prey
source
Agate.Library.Predation.predation_loss_idealizedMethod
predation_loss_idealized(P, Z, maximum_grazing_rate, prey_half_saturation)

Estimates the loss rate of P (prey), to Z (predator).

Formulation

gₘₐₓ * γᴾᴿᴱᴰ * Z

where:

  • gₘₐₓ = maximum grazing rate of the predator
  • γᴾᴿᴱᴰ = holling_type_2(P², kₚ²)
  • P = prey concentration
  • kₚ = prey half saturation
  • Z = predator concentration

In this formulation predator-prey interactions are modulated both by their density (Holling type 2) and the prey-predator palatability.

Arguments

  • P: phytoplankton concentration
  • Z: zooplankton concentration
  • maximum_grazing_rate: maximum grazing rate of the predator
  • prey_half_saturation: prey density at which predation is half it's maximum rate
source
Agate.Library.Predation.predation_loss_preferentialMethod
predation_loss_preferential(P, Z, maximum_grazing_rate, prey_half_saturation, 
    palatability)

Estimates 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.

Formulation

gₘₐₓ * η * γᴾᴿᴱᴰ * Z

where:

  • gₘₐₓ = maximum grazing rate
  • η = palatability
  • γᴾᴿᴱᴰ = holling_type_2(P², kₚ²)
  • P = phytoplankton concentration
  • kₚ = prey half saturation
  • Z: zooplankton concentration

Arguments

  • P: phytoplankton concentration
  • Z: zooplankton concentration
  • maximum_grazing_rate: maximum grazing rate
  • prey_half_saturation: prey density at which predation is half it's maximum rate
  • palatability: the likelihood at which the predator feeds on the prey
source

Remineralization

Agate.Library.Remineralization.remineralization_idealizedMethod
remineralization_idealized(D, remineralization_rate)

Idealized remineralization of detritus into dissolved nutrients.

Formulation

r * D

where:

  • D = detritus concentration
  • r = remineralization rate

Arguments

  • D: detritus concentration
  • remineralization_rate: remineralization rate
source