Agate.jl-NiPiZD model
Agate.Models.NiPiZD.construct — Function
construct(; kw...) -> bgcConstruct a size-structured NiPiZD ecosystem model.
The NiPiZD model contains two plankton groups: phytoplankton (P) and zooplankton (Z), each represented by n_phyto and n_zoo size classes.
In addition to plankton, the default NiPiZD factory includes idealized nutrient (N) and detritus (D) cycling. The returned biogeochemistry instance includes a photosynthetically active radiation (PAR) auxiliary field.
During construction, plankton size (diameter) is used to resolve trait-based parameter vectors and interaction matrices (e.g. palatability and assimilation efficiency). You may override interaction matrices explicitly with palatability_matrix and/or assimilation_matrix.
Keywords
n_phyto=2: number of phytoplankton size classesn_zoo=2: number of zooplankton size classesphyto_diameters=(2, 10, :log_splitting): diameter specification for phytoplanktonzoo_diameters=(20, 100, :linear_splitting): diameter specification for zooplanktonparameters=(;): parameter overrides (validated against the NiPiZD parameter set)palatability_matrix=nothing: optional palatability matrix override. Must be an explicit rectangular matrix sized to the canonical interaction axes(n_consumer, n_prey)(for NiPiZD defaults,(n_zoo, n_phyto)).assimilation_matrix=nothing: optional assimilation matrix override. Must be an explicit rectangular matrix sized to the canonical interaction axes(n_consumer, n_prey)(for NiPiZD defaults,(n_zoo, n_phyto)).grid=BoxModelGrid(): grid used for precision/architecture inference and sinking velocity fieldsarch=nothing: override the architecture (usually inferred fromgrid)sinking_tracers=nothing: sinking speed overrides, e.g.(D = 2/day, P1 = 0.1/day, ...)open_bottom=true: whether sinking tracers leave the domain
Returns
An Oceananigans.Biogeochemistry.AbstractContinuousFormBiogeochemistry instance.
Example
using Agate.Models: NiPiZD
bgc = NiPiZD.construct()