FrankenLOBSTER with OceanBioME

FrankenLOBSTER is Agate's richer P/Z/H model-family example. Agate owns the living phytoplankton, zooplankton, and heterotrophic-bacterioplankton ecology; OceanBioME's LOBSTER supplies the surrounding nutrient and detritus model.

using Agate
using OceanBioME
using OceanBioME.Models.NutrientsPlanktonDetritusModels: LOBSTER
using Oceananigans
using Oceananigans.Biogeochemistry: required_biogeochemical_tracers
using Oceananigans.Fields: ConstantField
using Oceananigans.Units: minutes, hours

Construct and compose the ecosystem

The public constructor returns an OceanBioME-compatible plankton component backed by a compiled Agate runtime. Model-family parameters are overridden through parameters, while model-level conversion/diagnostic properties use settings.

grid = RectilinearGrid(CPU(); size=(1, 1, 4), extent=(1, 1, 40))
plankton = Agate.Models.FrankenLOBSTER.construct(; grid)
Agate.Integrations.NPDPlankton{Agate.Construction.AgateBGC{@NamedTuple{ammonia_half_saturation::Vector{Float64}, ammonium_fraction_of_exudate::Float64, ammonium_fraction_of_zooplankton_excretion::Float64, assimilation_matrix::Matrix{Float64}, bacterial_assimilation::Matrix{Float64}, bacterial_dom_half_saturation::Matrix{Float64}, bacterial_maximum_uptake_rate::Vector{Float64}, bacterial_substrate_preference::Matrix{Float64}, bacterioplankton_mortality_rate::Vector{Float64}, grazing_half_saturation::Vector{Float64}, light_half_saturation::Vector{Float64}, maximum_growth_rate::Vector{Float64}, maximum_predation_rate::Vector{Float64}, nitrate_ammonia_inhibition::Float64, nitrate_half_saturation::Vector{Float64}, palatability_matrix::Matrix{Float64}, phytoplankton_exudation_fraction::Vector{Float64}, phytoplankton_mortality_rate::Vector{Float64}, reference_temperature::Float64, temperature_q10::Vector{Float64}, zooplankton_excretion_rate::Vector{Float64}, zooplankton_mortality_rate::Vector{Float64}}, @NamedTuple{NO₃::Agate.Compilation.StaticFluxEquation{Tuple{Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{-1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{-1, Tuple{}}}}}, NH₄::Agate.Compilation.StaticFluxEquation{Tuple{Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{-1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{-1, Tuple{}}}}}, DOM::Agate.Compilation.StaticFluxEquation{Tuple{Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.HeterotrophicConsumption, Tuple{Agate.Compilation.InputOp{3}, Agate.Compilation.InputOp{11}, Agate.Compilation.ParameterOp{:bacterial_maximum_uptake_rate, (1,)}, Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}, Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{3}}, Tuple{Agate.Compilation.QuotientOp{Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}, Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}}}}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}}}, solid_waste::Agate.Compilation.StaticFluxEquation{Tuple{Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 1)}}}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 2)}}}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 3)}}}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 1)}}}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 2)}}}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 3)}}}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{11}, Agate.Compilation.ParameterOp{:bacterioplankton_mortality_rate, (1,)}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:phytoplankton_mortality_rate, (1,)}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:phytoplankton_mortality_rate, (2,)}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{9}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:zooplankton_mortality_rate, (1,)}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{10}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:zooplankton_mortality_rate, (2,)}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{}}}}}, inorganic_waste::Agate.Compilation.StaticFluxEquation{Tuple{Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.HeterotrophicConsumption, Tuple{Agate.Compilation.InputOp{3}, Agate.Compilation.InputOp{11}, Agate.Compilation.ParameterOp{:bacterial_maximum_uptake_rate, (1,)}, Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}, Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{3}}, Tuple{Agate.Compilation.QuotientOp{Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}, Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:bacterial_assimilation, (1, 1)}}}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.LinearMortality, Tuple{Agate.Compilation.InputOp{9}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:zooplankton_excretion_rate, (1,)}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_zooplankton_excretion, ()}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.LinearMortality, Tuple{Agate.Compilation.InputOp{10}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:zooplankton_excretion_rate, (2,)}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_zooplankton_excretion, ()}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}}}}}}, dissolved_waste::Agate.Compilation.StaticFluxEquation{Tuple{Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}}}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}}}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.LinearMortality, Tuple{Agate.Compilation.InputOp{9}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:zooplankton_excretion_rate, (1,)}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_zooplankton_excretion, ()}}}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.LinearMortality, Tuple{Agate.Compilation.InputOp{10}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:zooplankton_excretion_rate, (2,)}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_zooplankton_excretion, ()}}}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}}}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}}}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}}}}}}, P_1::Agate.Compilation.StaticFluxEquation{Tuple{Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}}}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:phytoplankton_mortality_rate, (1,)}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}}}}}}}}, P_2::Agate.Compilation.StaticFluxEquation{Tuple{Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}}}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:phytoplankton_mortality_rate, (2,)}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}}}}}}}}, Z_1::Agate.Compilation.StaticFluxEquation{Tuple{Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.LinearMortality, Tuple{Agate.Compilation.InputOp{9}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:zooplankton_excretion_rate, (1,)}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 1)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 2)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 3)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{9}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:zooplankton_mortality_rate, (1,)}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}}}, Z_2::Agate.Compilation.StaticFluxEquation{Tuple{Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.LinearMortality, Tuple{Agate.Compilation.InputOp{10}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:zooplankton_excretion_rate, (2,)}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 1)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 2)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 3)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{10}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:zooplankton_mortality_rate, (2,)}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}}}, H_1::Agate.Compilation.StaticFluxEquation{Tuple{Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.HeterotrophicConsumption, Tuple{Agate.Compilation.InputOp{3}, Agate.Compilation.InputOp{11}, Agate.Compilation.ParameterOp{:bacterial_maximum_uptake_rate, (1,)}, Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}, Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{3}}, Tuple{Agate.Compilation.QuotientOp{Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}, Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:bacterial_assimilation, (1, 1)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{11}, Agate.Compilation.ParameterOp{:bacterioplankton_mortality_rate, (1,)}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}}}}, Nothing, @NamedTuple{pft_entities::@NamedTuple{P::Tuple{Symbol, Symbol}, Z::Tuple{Symbol, Symbol}, H::Tuple{Symbol}}, component_tracers::@NamedTuple{NO₃::Tuple{Symbol}, NH₄::Tuple{Symbol}, DOM::Tuple{Symbol}, solid_waste::Tuple{Symbol}, inorganic_waste::Tuple{Symbol}, dissolved_waste::Tuple{Symbol}, P::Tuple{Symbol, Symbol}, Z::Tuple{Symbol, Symbol}, H::Tuple{Symbol}}, plankton_tracers::NTuple{5, Symbol}, plankton_diameters::NTuple{5, Float64}, parameter_axes::@NamedTuple{ammonia_half_saturation::@NamedTuple{rank::Int64, axes::Tuple{Symbol}, shape::Tuple{Int64}, labels::Tuple{Tuple{Symbol, Symbol}}, applicability::Tuple{}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, ammonium_fraction_of_exudate::@NamedTuple{rank::Int64, axes::Tuple{}, shape::Tuple{}, labels::Tuple{}, applicability::Tuple{}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, ammonium_fraction_of_zooplankton_excretion::@NamedTuple{rank::Int64, axes::Tuple{}, shape::Tuple{}, labels::Tuple{}, applicability::Tuple{}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, assimilation_matrix::@NamedTuple{rank::Int64, axes::Tuple{Symbol, Symbol}, shape::Tuple{Int64, Int64}, labels::Tuple{Tuple{Symbol, Symbol}, Tuple{Symbol, Symbol, Symbol}}, applicability::NTuple{6, Tuple{Symbol, Symbol}}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, bacterial_assimilation::@NamedTuple{rank::Int64, axes::Tuple{Symbol, Symbol}, shape::Tuple{Int64, Int64}, labels::Tuple{Tuple{Symbol}, Tuple{Symbol}}, applicability::Tuple{Tuple{Symbol, Symbol}}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, bacterial_dom_affinity_trait::@NamedTuple{rank::Int64, axes::Tuple{Symbol}, shape::Tuple{Int64}, labels::Tuple{NTuple{5, Symbol}}, applicability::Tuple{}, domains::Tuple{}, runtime_bound::Bool, derived_runtime_parameters::Tuple{Symbol}}, bacterial_dom_half_saturation::@NamedTuple{rank::Int64, axes::Tuple{Symbol, Symbol}, shape::Tuple{Int64, Int64}, labels::Tuple{Tuple{Symbol}, Tuple{Symbol}}, applicability::Tuple{Tuple{Symbol, Symbol}}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, bacterial_maximum_uptake_rate::@NamedTuple{rank::Int64, axes::Tuple{Symbol}, shape::Tuple{Int64}, labels::Tuple{Tuple{Symbol}}, applicability::Tuple{}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, bacterial_substrate_preference::@NamedTuple{rank::Int64, axes::Tuple{Symbol, Symbol}, shape::Tuple{Int64, Int64}, labels::Tuple{Tuple{Symbol}, Tuple{Symbol}}, applicability::Tuple{Tuple{Symbol, Symbol}}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, bacterioplankton_mortality_rate::@NamedTuple{rank::Int64, axes::Tuple{Symbol}, shape::Tuple{Int64}, labels::Tuple{Tuple{Symbol}}, applicability::Tuple{}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, grazing_half_saturation::@NamedTuple{rank::Int64, axes::Tuple{Symbol}, shape::Tuple{Int64}, labels::Tuple{Tuple{Symbol, Symbol}}, applicability::Tuple{}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, light_half_saturation::@NamedTuple{rank::Int64, axes::Tuple{Symbol}, shape::Tuple{Int64}, labels::Tuple{Tuple{Symbol, Symbol}}, applicability::Tuple{}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, maximum_growth_rate::@NamedTuple{rank::Int64, axes::Tuple{Symbol}, shape::Tuple{Int64}, labels::Tuple{Tuple{Symbol, Symbol}}, applicability::Tuple{}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, maximum_predation_rate::@NamedTuple{rank::Int64, axes::Tuple{Symbol}, shape::Tuple{Int64}, labels::Tuple{Tuple{Symbol, Symbol}}, applicability::Tuple{}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, nitrate_ammonia_inhibition::@NamedTuple{rank::Int64, axes::Tuple{}, shape::Tuple{}, labels::Tuple{}, applicability::Tuple{}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, nitrate_half_saturation::@NamedTuple{rank::Int64, axes::Tuple{Symbol}, shape::Tuple{Int64}, labels::Tuple{Tuple{Symbol, Symbol}}, applicability::Tuple{}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, optimum_predator_prey_ratio::@NamedTuple{rank::Int64, axes::Tuple{Symbol}, shape::Tuple{Int64}, labels::Tuple{NTuple{5, Symbol}}, applicability::Tuple{}, domains::Tuple{}, runtime_bound::Bool, derived_runtime_parameters::Tuple{Symbol}}, palatability_matrix::@NamedTuple{rank::Int64, axes::Tuple{Symbol, Symbol}, shape::Tuple{Int64, Int64}, labels::Tuple{Tuple{Symbol, Symbol}, Tuple{Symbol, Symbol, Symbol}}, applicability::NTuple{6, Tuple{Symbol, Symbol}}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, phytoplankton_exudation_fraction::@NamedTuple{rank::Int64, axes::Tuple{Symbol}, shape::Tuple{Int64}, labels::Tuple{Tuple{Symbol, Symbol}}, applicability::Tuple{}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, phytoplankton_mortality_rate::@NamedTuple{rank::Int64, axes::Tuple{Symbol}, shape::Tuple{Int64}, labels::Tuple{Tuple{Symbol, Symbol}}, applicability::Tuple{}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, reference_temperature::@NamedTuple{rank::Int64, axes::Tuple{}, shape::Tuple{}, labels::Tuple{}, applicability::Tuple{}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, specificity::@NamedTuple{rank::Int64, axes::Tuple{Symbol}, shape::Tuple{Int64}, labels::Tuple{NTuple{5, Symbol}}, applicability::Tuple{}, domains::Tuple{}, runtime_bound::Bool, derived_runtime_parameters::Tuple{Symbol}}, temperature_q10::@NamedTuple{rank::Int64, axes::Tuple{Symbol}, shape::Tuple{Int64}, labels::Tuple{Tuple{Symbol, Symbol}}, applicability::Tuple{}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, zooplankton_excretion_rate::@NamedTuple{rank::Int64, axes::Tuple{Symbol}, shape::Tuple{Int64}, labels::Tuple{Tuple{Symbol, Symbol}}, applicability::Tuple{}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, zooplankton_mortality_rate::@NamedTuple{rank::Int64, axes::Tuple{Symbol}, shape::Tuple{Int64}, labels::Tuple{Tuple{Symbol, Symbol}}, applicability::Tuple{}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}}, parameter_constraints::Tuple{Agate.Processes.ProductFractionConstraint{Tuple{Agate.Processes.ParameterValueRef{:ammonium_fraction_of_exudate, Tuple{}}}}, Agate.Processes.ProductFractionConstraint{Tuple{Agate.Processes.ParameterValueRef{:ammonium_fraction_of_zooplankton_excretion, Tuple{}}}}, Agate.Processes.ProductFractionConstraint{Tuple{Agate.Processes.ParameterValueRef{:ammonium_fraction_of_exudate, Tuple{}}}}}, model_settings::@NamedTuple{chlorophyll_ratio::Float64, carbon_ratio::Float64}}, (:PAR, :T)}, (:P_1, :P_2, :Z_1, :Z_2, :H_1), Union{Val{:P_1}, Val{:P_2}, Val{:Z_1}, Val{:Z_2}, Val{:H_1}}, (:NO₃, :NH₄), (:solid_waste, :dissolved_waste, :inorganic_waste), (:DOM,), (:NO₃, :NH₄, :DOM, :T), (:P_1, :P_2), @NamedTuple{chlorophyll_ratio::Float64, carbon_ratio::Float64}}(Agate.Construction.AgateBGC{@NamedTuple{ammonia_half_saturation::Vector{Float64}, ammonium_fraction_of_exudate::Float64, ammonium_fraction_of_zooplankton_excretion::Float64, assimilation_matrix::Matrix{Float64}, bacterial_assimilation::Matrix{Float64}, bacterial_dom_half_saturation::Matrix{Float64}, bacterial_maximum_uptake_rate::Vector{Float64}, bacterial_substrate_preference::Matrix{Float64}, bacterioplankton_mortality_rate::Vector{Float64}, grazing_half_saturation::Vector{Float64}, light_half_saturation::Vector{Float64}, maximum_growth_rate::Vector{Float64}, maximum_predation_rate::Vector{Float64}, nitrate_ammonia_inhibition::Float64, nitrate_half_saturation::Vector{Float64}, palatability_matrix::Matrix{Float64}, phytoplankton_exudation_fraction::Vector{Float64}, phytoplankton_mortality_rate::Vector{Float64}, reference_temperature::Float64, temperature_q10::Vector{Float64}, zooplankton_excretion_rate::Vector{Float64}, zooplankton_mortality_rate::Vector{Float64}}, @NamedTuple{NO₃::Agate.Compilation.StaticFluxEquation{Tuple{Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{-1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{-1, Tuple{}}}}}, NH₄::Agate.Compilation.StaticFluxEquation{Tuple{Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{-1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{-1, Tuple{}}}}}, DOM::Agate.Compilation.StaticFluxEquation{Tuple{Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.HeterotrophicConsumption, Tuple{Agate.Compilation.InputOp{3}, Agate.Compilation.InputOp{11}, Agate.Compilation.ParameterOp{:bacterial_maximum_uptake_rate, (1,)}, Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}, Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{3}}, Tuple{Agate.Compilation.QuotientOp{Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}, Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}}}}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}}}, solid_waste::Agate.Compilation.StaticFluxEquation{Tuple{Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 1)}}}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 2)}}}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 3)}}}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 1)}}}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 2)}}}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 3)}}}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{11}, Agate.Compilation.ParameterOp{:bacterioplankton_mortality_rate, (1,)}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:phytoplankton_mortality_rate, (1,)}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:phytoplankton_mortality_rate, (2,)}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{9}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:zooplankton_mortality_rate, (1,)}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{10}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:zooplankton_mortality_rate, (2,)}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{}}}}}, inorganic_waste::Agate.Compilation.StaticFluxEquation{Tuple{Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.HeterotrophicConsumption, Tuple{Agate.Compilation.InputOp{3}, Agate.Compilation.InputOp{11}, Agate.Compilation.ParameterOp{:bacterial_maximum_uptake_rate, (1,)}, Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}, Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{3}}, Tuple{Agate.Compilation.QuotientOp{Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}, Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:bacterial_assimilation, (1, 1)}}}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.LinearMortality, Tuple{Agate.Compilation.InputOp{9}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:zooplankton_excretion_rate, (1,)}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_zooplankton_excretion, ()}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.LinearMortality, Tuple{Agate.Compilation.InputOp{10}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:zooplankton_excretion_rate, (2,)}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_zooplankton_excretion, ()}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}}}}}}, dissolved_waste::Agate.Compilation.StaticFluxEquation{Tuple{Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}}}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}}}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.LinearMortality, Tuple{Agate.Compilation.InputOp{9}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:zooplankton_excretion_rate, (1,)}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_zooplankton_excretion, ()}}}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.LinearMortality, Tuple{Agate.Compilation.InputOp{10}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:zooplankton_excretion_rate, (2,)}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_zooplankton_excretion, ()}}}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}}}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}}}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}}}}}}, P_1::Agate.Compilation.StaticFluxEquation{Tuple{Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}}}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:phytoplankton_mortality_rate, (1,)}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}}}}}}}}, P_2::Agate.Compilation.StaticFluxEquation{Tuple{Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}}}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:phytoplankton_mortality_rate, (2,)}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}}}}}}}}, Z_1::Agate.Compilation.StaticFluxEquation{Tuple{Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.LinearMortality, Tuple{Agate.Compilation.InputOp{9}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:zooplankton_excretion_rate, (1,)}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 1)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 2)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 3)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{9}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:zooplankton_mortality_rate, (1,)}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}}}, Z_2::Agate.Compilation.StaticFluxEquation{Tuple{Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.LinearMortality, Tuple{Agate.Compilation.InputOp{10}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:zooplankton_excretion_rate, (2,)}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 1)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 2)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 3)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{10}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:zooplankton_mortality_rate, (2,)}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}}}, H_1::Agate.Compilation.StaticFluxEquation{Tuple{Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.HeterotrophicConsumption, Tuple{Agate.Compilation.InputOp{3}, Agate.Compilation.InputOp{11}, Agate.Compilation.ParameterOp{:bacterial_maximum_uptake_rate, (1,)}, Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}, Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{3}}, Tuple{Agate.Compilation.QuotientOp{Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}, Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:bacterial_assimilation, (1, 1)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{11}, Agate.Compilation.ParameterOp{:bacterioplankton_mortality_rate, (1,)}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}}}}, Nothing, @NamedTuple{pft_entities::@NamedTuple{P::Tuple{Symbol, Symbol}, Z::Tuple{Symbol, Symbol}, H::Tuple{Symbol}}, component_tracers::@NamedTuple{NO₃::Tuple{Symbol}, NH₄::Tuple{Symbol}, DOM::Tuple{Symbol}, solid_waste::Tuple{Symbol}, inorganic_waste::Tuple{Symbol}, dissolved_waste::Tuple{Symbol}, P::Tuple{Symbol, Symbol}, Z::Tuple{Symbol, Symbol}, H::Tuple{Symbol}}, plankton_tracers::NTuple{5, Symbol}, plankton_diameters::NTuple{5, Float64}, parameter_axes::@NamedTuple{ammonia_half_saturation::@NamedTuple{rank::Int64, axes::Tuple{Symbol}, shape::Tuple{Int64}, labels::Tuple{Tuple{Symbol, Symbol}}, applicability::Tuple{}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, ammonium_fraction_of_exudate::@NamedTuple{rank::Int64, axes::Tuple{}, shape::Tuple{}, labels::Tuple{}, applicability::Tuple{}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, ammonium_fraction_of_zooplankton_excretion::@NamedTuple{rank::Int64, axes::Tuple{}, shape::Tuple{}, labels::Tuple{}, applicability::Tuple{}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, assimilation_matrix::@NamedTuple{rank::Int64, axes::Tuple{Symbol, Symbol}, shape::Tuple{Int64, Int64}, labels::Tuple{Tuple{Symbol, Symbol}, Tuple{Symbol, Symbol, Symbol}}, applicability::NTuple{6, Tuple{Symbol, Symbol}}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, bacterial_assimilation::@NamedTuple{rank::Int64, axes::Tuple{Symbol, Symbol}, shape::Tuple{Int64, Int64}, labels::Tuple{Tuple{Symbol}, Tuple{Symbol}}, applicability::Tuple{Tuple{Symbol, Symbol}}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, bacterial_dom_affinity_trait::@NamedTuple{rank::Int64, axes::Tuple{Symbol}, shape::Tuple{Int64}, labels::Tuple{NTuple{5, Symbol}}, applicability::Tuple{}, domains::Tuple{}, runtime_bound::Bool, derived_runtime_parameters::Tuple{Symbol}}, bacterial_dom_half_saturation::@NamedTuple{rank::Int64, axes::Tuple{Symbol, Symbol}, shape::Tuple{Int64, Int64}, labels::Tuple{Tuple{Symbol}, Tuple{Symbol}}, applicability::Tuple{Tuple{Symbol, Symbol}}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, bacterial_maximum_uptake_rate::@NamedTuple{rank::Int64, axes::Tuple{Symbol}, shape::Tuple{Int64}, labels::Tuple{Tuple{Symbol}}, applicability::Tuple{}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, bacterial_substrate_preference::@NamedTuple{rank::Int64, axes::Tuple{Symbol, Symbol}, shape::Tuple{Int64, Int64}, labels::Tuple{Tuple{Symbol}, Tuple{Symbol}}, applicability::Tuple{Tuple{Symbol, Symbol}}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, bacterioplankton_mortality_rate::@NamedTuple{rank::Int64, axes::Tuple{Symbol}, shape::Tuple{Int64}, labels::Tuple{Tuple{Symbol}}, applicability::Tuple{}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, grazing_half_saturation::@NamedTuple{rank::Int64, axes::Tuple{Symbol}, shape::Tuple{Int64}, labels::Tuple{Tuple{Symbol, Symbol}}, applicability::Tuple{}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, light_half_saturation::@NamedTuple{rank::Int64, axes::Tuple{Symbol}, shape::Tuple{Int64}, labels::Tuple{Tuple{Symbol, Symbol}}, applicability::Tuple{}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, maximum_growth_rate::@NamedTuple{rank::Int64, axes::Tuple{Symbol}, shape::Tuple{Int64}, labels::Tuple{Tuple{Symbol, Symbol}}, applicability::Tuple{}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, maximum_predation_rate::@NamedTuple{rank::Int64, axes::Tuple{Symbol}, shape::Tuple{Int64}, labels::Tuple{Tuple{Symbol, Symbol}}, applicability::Tuple{}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, nitrate_ammonia_inhibition::@NamedTuple{rank::Int64, axes::Tuple{}, shape::Tuple{}, labels::Tuple{}, applicability::Tuple{}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, nitrate_half_saturation::@NamedTuple{rank::Int64, axes::Tuple{Symbol}, shape::Tuple{Int64}, labels::Tuple{Tuple{Symbol, Symbol}}, applicability::Tuple{}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, optimum_predator_prey_ratio::@NamedTuple{rank::Int64, axes::Tuple{Symbol}, shape::Tuple{Int64}, labels::Tuple{NTuple{5, Symbol}}, applicability::Tuple{}, domains::Tuple{}, runtime_bound::Bool, derived_runtime_parameters::Tuple{Symbol}}, palatability_matrix::@NamedTuple{rank::Int64, axes::Tuple{Symbol, Symbol}, shape::Tuple{Int64, Int64}, labels::Tuple{Tuple{Symbol, Symbol}, Tuple{Symbol, Symbol, Symbol}}, applicability::NTuple{6, Tuple{Symbol, Symbol}}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, phytoplankton_exudation_fraction::@NamedTuple{rank::Int64, axes::Tuple{Symbol}, shape::Tuple{Int64}, labels::Tuple{Tuple{Symbol, Symbol}}, applicability::Tuple{}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, phytoplankton_mortality_rate::@NamedTuple{rank::Int64, axes::Tuple{Symbol}, shape::Tuple{Int64}, labels::Tuple{Tuple{Symbol, Symbol}}, applicability::Tuple{}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, reference_temperature::@NamedTuple{rank::Int64, axes::Tuple{}, shape::Tuple{}, labels::Tuple{}, applicability::Tuple{}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, specificity::@NamedTuple{rank::Int64, axes::Tuple{Symbol}, shape::Tuple{Int64}, labels::Tuple{NTuple{5, Symbol}}, applicability::Tuple{}, domains::Tuple{}, runtime_bound::Bool, derived_runtime_parameters::Tuple{Symbol}}, temperature_q10::@NamedTuple{rank::Int64, axes::Tuple{Symbol}, shape::Tuple{Int64}, labels::Tuple{Tuple{Symbol, Symbol}}, applicability::Tuple{}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, zooplankton_excretion_rate::@NamedTuple{rank::Int64, axes::Tuple{Symbol}, shape::Tuple{Int64}, labels::Tuple{Tuple{Symbol, Symbol}}, applicability::Tuple{}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}, zooplankton_mortality_rate::@NamedTuple{rank::Int64, axes::Tuple{Symbol}, shape::Tuple{Int64}, labels::Tuple{Tuple{Symbol, Symbol}}, applicability::Tuple{}, domains::Tuple{Symbol}, runtime_bound::Bool, derived_runtime_parameters::Tuple{}}}, parameter_constraints::Tuple{Agate.Processes.ProductFractionConstraint{Tuple{Agate.Processes.ParameterValueRef{:ammonium_fraction_of_exudate, Tuple{}}}}, Agate.Processes.ProductFractionConstraint{Tuple{Agate.Processes.ParameterValueRef{:ammonium_fraction_of_zooplankton_excretion, Tuple{}}}}, Agate.Processes.ProductFractionConstraint{Tuple{Agate.Processes.ParameterValueRef{:ammonium_fraction_of_exudate, Tuple{}}}}}, model_settings::@NamedTuple{chlorophyll_ratio::Float64, carbon_ratio::Float64}}, (:PAR, :T)}((ammonia_half_saturation = [0.003413926394727367, 0.013190542115770344], ammonium_fraction_of_exudate = 0.75, ammonium_fraction_of_zooplankton_excretion = 0.5, assimilation_matrix = [0.7 0.7 0.7; 0.7 0.7 0.7], bacterial_assimilation = [0.1;;], bacterial_dom_half_saturation = [0.010389472668190696;;], bacterial_maximum_uptake_rate = [1.1543183482385917e-5], bacterial_substrate_preference = [1.0;;], bacterioplankton_mortality_rate = [5.8e-7], grazing_half_saturation = [1.0, 1.0], light_half_saturation = [33.0, 33.0], maximum_growth_rate = [7.586059471594143e-6, 1.357942683325473e-5], maximum_predation_rate = [8.636365266159741e-5, 6.192080648595684e-5], nitrate_ammonia_inhibition = 3.0, nitrate_half_saturation = [0.006827852789454734, 0.02638108423154069], palatability_matrix = [1.0 0.37627727968301555 1.0; 0.2504399381545132 1.0 0.2504399381545132], phytoplankton_exudation_fraction = [0.05, 0.05], phytoplankton_mortality_rate = [5.8e-7, 5.8e-7], reference_temperature = 20.0, temperature_q10 = [1.88, 1.88], zooplankton_excretion_rate = [5.8e-7, 5.8e-7], zooplankton_mortality_rate = [2.31e-6, 2.31e-6]), (NO₃ = Agate.Compilation.StaticFluxEquation{Tuple{Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{-1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{-1, Tuple{}}}}}((Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{-1, Tuple{}}}(Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}(Agate.Processes.FactorizedGrowth(), (Agate.Compilation.InputOp{7}(), Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}()), (Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}(Agate.Processes.ExponentialSaturation(), (Agate.Compilation.InputOp{12}(), Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}())), Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}(Agate.Processes.InhibitedMonod(), (Agate.Compilation.InputOp{1}(), Agate.Compilation.InputOp{2}(), Agate.Compilation.ParameterOp{:nitrate_half_saturation, (1,)}(), Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}())), Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}(Agate.Processes.Q10{:plankton}(), (Agate.Compilation.InputOp{13}(), Agate.Compilation.ParameterOp{:temperature_q10, (1,)}(), Agate.Compilation.ParameterOp{:reference_temperature, ()}())))), Agate.Compilation.Weight{-1, Tuple{}}(())), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{-1, Tuple{}}}(Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}(Agate.Processes.FactorizedGrowth(), (Agate.Compilation.InputOp{8}(), Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}()), (Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}(Agate.Processes.ExponentialSaturation(), (Agate.Compilation.InputOp{12}(), Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}())), Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}(Agate.Processes.InhibitedMonod(), (Agate.Compilation.InputOp{1}(), Agate.Compilation.InputOp{2}(), Agate.Compilation.ParameterOp{:nitrate_half_saturation, (2,)}(), Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}())), Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}(Agate.Processes.Q10{:plankton}(), (Agate.Compilation.InputOp{13}(), Agate.Compilation.ParameterOp{:temperature_q10, (2,)}(), Agate.Compilation.ParameterOp{:reference_temperature, ()}())))), Agate.Compilation.Weight{-1, Tuple{}}(())))), NH₄ = Agate.Compilation.StaticFluxEquation{Tuple{Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{-1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{-1, Tuple{}}}}}((Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{-1, Tuple{}}}(Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}(Agate.Processes.FactorizedGrowth(), (Agate.Compilation.InputOp{7}(), Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}()), (Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}(Agate.Processes.ExponentialSaturation(), (Agate.Compilation.InputOp{12}(), Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}())), Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (1,)}}}(Agate.Processes.Monod(), (Agate.Compilation.InputOp{2}(), Agate.Compilation.ParameterOp{:ammonia_half_saturation, (1,)}())), Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}(Agate.Processes.Q10{:plankton}(), (Agate.Compilation.InputOp{13}(), Agate.Compilation.ParameterOp{:temperature_q10, (1,)}(), Agate.Compilation.ParameterOp{:reference_temperature, ()}())))), Agate.Compilation.Weight{-1, Tuple{}}(())), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{-1, Tuple{}}}(Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}(Agate.Processes.FactorizedGrowth(), (Agate.Compilation.InputOp{8}(), Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}()), (Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}(Agate.Processes.ExponentialSaturation(), (Agate.Compilation.InputOp{12}(), Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}())), Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (2,)}}}(Agate.Processes.Monod(), (Agate.Compilation.InputOp{2}(), Agate.Compilation.ParameterOp{:ammonia_half_saturation, (2,)}())), Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}(Agate.Processes.Q10{:plankton}(), (Agate.Compilation.InputOp{13}(), Agate.Compilation.ParameterOp{:temperature_q10, (2,)}(), Agate.Compilation.ParameterOp{:reference_temperature, ()}())))), Agate.Compilation.Weight{-1, Tuple{}}(())))), DOM = Agate.Compilation.StaticFluxEquation{Tuple{Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.HeterotrophicConsumption, Tuple{Agate.Compilation.InputOp{3}, Agate.Compilation.InputOp{11}, Agate.Compilation.ParameterOp{:bacterial_maximum_uptake_rate, (1,)}, Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}, Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{3}}, Tuple{Agate.Compilation.QuotientOp{Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}, Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}}}}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}}}((Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.HeterotrophicConsumption, Tuple{Agate.Compilation.InputOp{3}, Agate.Compilation.InputOp{11}, Agate.Compilation.ParameterOp{:bacterial_maximum_uptake_rate, (1,)}, Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}, Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{3}}, Tuple{Agate.Compilation.QuotientOp{Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}, Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}}}}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}(Agate.Compilation.RateOp{Agate.Processes.HeterotrophicConsumption, Tuple{Agate.Compilation.InputOp{3}, Agate.Compilation.InputOp{11}, Agate.Compilation.ParameterOp{:bacterial_maximum_uptake_rate, (1,)}, Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}, Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{3}}, Tuple{Agate.Compilation.QuotientOp{Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}, Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}}}}}, Tuple{}}(Agate.Processes.HeterotrophicConsumption(), (Agate.Compilation.InputOp{3}(), Agate.Compilation.InputOp{11}(), Agate.Compilation.ParameterOp{:bacterial_maximum_uptake_rate, (1,)}(), Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}(), Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}(), Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{3}}, Tuple{Agate.Compilation.QuotientOp{Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}, Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}}}}((Agate.Compilation.InputOp{3}(),), (Agate.Compilation.QuotientOp{Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}, Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}}(Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}(), Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}()),))), ()), Agate.Compilation.Weight{-1, Tuple{}}(())),)), solid_waste = Agate.Compilation.StaticFluxEquation{Tuple{Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 1)}}}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 2)}}}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 3)}}}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 1)}}}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 2)}}}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 3)}}}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{11}, Agate.Compilation.ParameterOp{:bacterioplankton_mortality_rate, (1,)}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:phytoplankton_mortality_rate, (1,)}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:phytoplankton_mortality_rate, (2,)}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{9}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:zooplankton_mortality_rate, (1,)}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{10}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:zooplankton_mortality_rate, (2,)}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{}}}}}((Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 1)}}}}}}(Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}(Agate.Processes.PreferentialGrazing{Int64}(1), (Agate.Compilation.InputOp{7}(), Agate.Compilation.InputOp{9}(), Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}(), Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}(), Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}((Agate.Compilation.InputOp{7}(), Agate.Compilation.InputOp{8}(), Agate.Compilation.InputOp{11}()), (Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}()))), ()), Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 1)}}}}}((Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 1)}}}((Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 1)}(),)),))), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 2)}}}}}}(Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}(Agate.Processes.PreferentialGrazing{Int64}(1), (Agate.Compilation.InputOp{8}(), Agate.Compilation.InputOp{9}(), Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}(), Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}(), Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}((Agate.Compilation.InputOp{7}(), Agate.Compilation.InputOp{8}(), Agate.Compilation.InputOp{11}()), (Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}()))), ()), Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 2)}}}}}((Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 2)}}}((Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 2)}(),)),))), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 3)}}}}}}(Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}(Agate.Processes.PreferentialGrazing{Int64}(1), (Agate.Compilation.InputOp{11}(), Agate.Compilation.InputOp{9}(), Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}(), Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}(), Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}((Agate.Compilation.InputOp{7}(), Agate.Compilation.InputOp{8}(), Agate.Compilation.InputOp{11}()), (Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}()))), ()), Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 3)}}}}}((Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 3)}}}((Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 3)}(),)),))), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 1)}}}}}}(Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}(Agate.Processes.PreferentialGrazing{Int64}(1), (Agate.Compilation.InputOp{7}(), Agate.Compilation.InputOp{10}(), Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}(), Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}(), Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}((Agate.Compilation.InputOp{7}(), Agate.Compilation.InputOp{8}(), Agate.Compilation.InputOp{11}()), (Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}()))), ()), Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 1)}}}}}((Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 1)}}}((Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 1)}(),)),))), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 2)}}}}}}(Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}(Agate.Processes.PreferentialGrazing{Int64}(1), (Agate.Compilation.InputOp{8}(), Agate.Compilation.InputOp{10}(), Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}(), Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}(), Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}((Agate.Compilation.InputOp{7}(), Agate.Compilation.InputOp{8}(), Agate.Compilation.InputOp{11}()), (Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}()))), ()), Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 2)}}}}}((Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 2)}}}((Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 2)}(),)),))), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 3)}}}}}}(Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}(Agate.Processes.PreferentialGrazing{Int64}(1), (Agate.Compilation.InputOp{11}(), Agate.Compilation.InputOp{10}(), Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}(), Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}(), Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}((Agate.Compilation.InputOp{7}(), Agate.Compilation.InputOp{8}(), Agate.Compilation.InputOp{11}()), (Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}()))), ()), Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 3)}}}}}((Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 3)}}}((Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 3)}(),)),))), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{11}, Agate.Compilation.ParameterOp{:bacterioplankton_mortality_rate, (1,)}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{}}}(Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{11}, Agate.Compilation.ParameterOp{:bacterioplankton_mortality_rate, (1,)}}, Tuple{}}(Agate.Processes.QuadraticMortality(), (Agate.Compilation.InputOp{11}(), Agate.Compilation.InputOp{11}(), Agate.Compilation.ParameterOp{:bacterioplankton_mortality_rate, (1,)}()), ()), Agate.Compilation.Weight{1, Tuple{}}(())), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:phytoplankton_mortality_rate, (1,)}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{}}}(Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:phytoplankton_mortality_rate, (1,)}}, Tuple{}}(Agate.Processes.QuadraticMortality(), (Agate.Compilation.InputOp{7}(), Agate.Compilation.InputOp{7}(), Agate.Compilation.ParameterOp{:phytoplankton_mortality_rate, (1,)}()), ()), Agate.Compilation.Weight{1, Tuple{}}(())), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:phytoplankton_mortality_rate, (2,)}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{}}}(Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:phytoplankton_mortality_rate, (2,)}}, Tuple{}}(Agate.Processes.QuadraticMortality(), (Agate.Compilation.InputOp{8}(), Agate.Compilation.InputOp{8}(), Agate.Compilation.ParameterOp{:phytoplankton_mortality_rate, (2,)}()), ()), Agate.Compilation.Weight{1, Tuple{}}(())), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{9}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:zooplankton_mortality_rate, (1,)}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{}}}(Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{9}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:zooplankton_mortality_rate, (1,)}}, Tuple{}}(Agate.Processes.QuadraticMortality(), (Agate.Compilation.InputOp{9}(), Agate.Compilation.InputOp{9}(), Agate.Compilation.ParameterOp{:zooplankton_mortality_rate, (1,)}()), ()), Agate.Compilation.Weight{1, Tuple{}}(())), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{10}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:zooplankton_mortality_rate, (2,)}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{}}}(Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{10}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:zooplankton_mortality_rate, (2,)}}, Tuple{}}(Agate.Processes.QuadraticMortality(), (Agate.Compilation.InputOp{10}(), Agate.Compilation.InputOp{10}(), Agate.Compilation.ParameterOp{:zooplankton_mortality_rate, (2,)}()), ()), Agate.Compilation.Weight{1, Tuple{}}(())))), inorganic_waste = Agate.Compilation.StaticFluxEquation{Tuple{Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.HeterotrophicConsumption, Tuple{Agate.Compilation.InputOp{3}, Agate.Compilation.InputOp{11}, Agate.Compilation.ParameterOp{:bacterial_maximum_uptake_rate, (1,)}, Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}, Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{3}}, Tuple{Agate.Compilation.QuotientOp{Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}, Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:bacterial_assimilation, (1, 1)}}}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.LinearMortality, Tuple{Agate.Compilation.InputOp{9}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:zooplankton_excretion_rate, (1,)}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_zooplankton_excretion, ()}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.LinearMortality, Tuple{Agate.Compilation.InputOp{10}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:zooplankton_excretion_rate, (2,)}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_zooplankton_excretion, ()}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}}}}}}((Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}}}}(Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}(Agate.Processes.FactorizedGrowth(), (Agate.Compilation.InputOp{7}(), Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}()), (Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}(Agate.Processes.ExponentialSaturation(), (Agate.Compilation.InputOp{12}(), Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}())), Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (1,)}}}(Agate.Processes.Monod(), (Agate.Compilation.InputOp{2}(), Agate.Compilation.ParameterOp{:ammonia_half_saturation, (1,)}())), Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}(Agate.Processes.Q10{:plankton}(), (Agate.Compilation.InputOp{13}(), Agate.Compilation.ParameterOp{:temperature_q10, (1,)}(), Agate.Compilation.ParameterOp{:reference_temperature, ()}())))), Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}}}((Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}(), Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}()))), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}}}}(Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}(Agate.Processes.FactorizedGrowth(), (Agate.Compilation.InputOp{8}(), Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}()), (Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}(Agate.Processes.ExponentialSaturation(), (Agate.Compilation.InputOp{12}(), Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}())), Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (2,)}}}(Agate.Processes.Monod(), (Agate.Compilation.InputOp{2}(), Agate.Compilation.ParameterOp{:ammonia_half_saturation, (2,)}())), Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}(Agate.Processes.Q10{:plankton}(), (Agate.Compilation.InputOp{13}(), Agate.Compilation.ParameterOp{:temperature_q10, (2,)}(), Agate.Compilation.ParameterOp{:reference_temperature, ()}())))), Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}}}((Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}(), Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}()))), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.HeterotrophicConsumption, Tuple{Agate.Compilation.InputOp{3}, Agate.Compilation.InputOp{11}, Agate.Compilation.ParameterOp{:bacterial_maximum_uptake_rate, (1,)}, Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}, Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{3}}, Tuple{Agate.Compilation.QuotientOp{Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}, Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:bacterial_assimilation, (1, 1)}}}}}}(Agate.Compilation.RateOp{Agate.Processes.HeterotrophicConsumption, Tuple{Agate.Compilation.InputOp{3}, Agate.Compilation.InputOp{11}, Agate.Compilation.ParameterOp{:bacterial_maximum_uptake_rate, (1,)}, Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}, Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{3}}, Tuple{Agate.Compilation.QuotientOp{Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}, Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}}}}}, Tuple{}}(Agate.Processes.HeterotrophicConsumption(), (Agate.Compilation.InputOp{3}(), Agate.Compilation.InputOp{11}(), Agate.Compilation.ParameterOp{:bacterial_maximum_uptake_rate, (1,)}(), Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}(), Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}(), Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{3}}, Tuple{Agate.Compilation.QuotientOp{Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}, Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}}}}((Agate.Compilation.InputOp{3}(),), (Agate.Compilation.QuotientOp{Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}, Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}}(Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}(), Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}()),))), ()), Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:bacterial_assimilation, (1, 1)}}}}}((Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:bacterial_assimilation, (1, 1)}}}((Agate.Compilation.ParameterOp{:bacterial_assimilation, (1, 1)}(),)),))), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.LinearMortality, Tuple{Agate.Compilation.InputOp{9}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:zooplankton_excretion_rate, (1,)}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_zooplankton_excretion, ()}}}}(Agate.Compilation.RateOp{Agate.Processes.LinearMortality, Tuple{Agate.Compilation.InputOp{9}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:zooplankton_excretion_rate, (1,)}}, Tuple{}}(Agate.Processes.LinearMortality(), (Agate.Compilation.InputOp{9}(), Agate.Compilation.InputOp{9}(), Agate.Compilation.ParameterOp{:zooplankton_excretion_rate, (1,)}()), ()), Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_zooplankton_excretion, ()}}}((Agate.Compilation.ParameterOp{:ammonium_fraction_of_zooplankton_excretion, ()}(),))), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.LinearMortality, Tuple{Agate.Compilation.InputOp{10}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:zooplankton_excretion_rate, (2,)}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_zooplankton_excretion, ()}}}}(Agate.Compilation.RateOp{Agate.Processes.LinearMortality, Tuple{Agate.Compilation.InputOp{10}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:zooplankton_excretion_rate, (2,)}}, Tuple{}}(Agate.Processes.LinearMortality(), (Agate.Compilation.InputOp{10}(), Agate.Compilation.InputOp{10}(), Agate.Compilation.ParameterOp{:zooplankton_excretion_rate, (2,)}()), ()), Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_zooplankton_excretion, ()}}}((Agate.Compilation.ParameterOp{:ammonium_fraction_of_zooplankton_excretion, ()}(),))), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}}}}(Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}(Agate.Processes.FactorizedGrowth(), (Agate.Compilation.InputOp{7}(), Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}()), (Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}(Agate.Processes.ExponentialSaturation(), (Agate.Compilation.InputOp{12}(), Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}())), Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}(Agate.Processes.InhibitedMonod(), (Agate.Compilation.InputOp{1}(), Agate.Compilation.InputOp{2}(), Agate.Compilation.ParameterOp{:nitrate_half_saturation, (1,)}(), Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}())), Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}(Agate.Processes.Q10{:plankton}(), (Agate.Compilation.InputOp{13}(), Agate.Compilation.ParameterOp{:temperature_q10, (1,)}(), Agate.Compilation.ParameterOp{:reference_temperature, ()}())))), Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}}}((Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}(), Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}()))), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}}}}(Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}(Agate.Processes.FactorizedGrowth(), (Agate.Compilation.InputOp{8}(), Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}()), (Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}(Agate.Processes.ExponentialSaturation(), (Agate.Compilation.InputOp{12}(), Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}())), Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}(Agate.Processes.InhibitedMonod(), (Agate.Compilation.InputOp{1}(), Agate.Compilation.InputOp{2}(), Agate.Compilation.ParameterOp{:nitrate_half_saturation, (2,)}(), Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}())), Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}(Agate.Processes.Q10{:plankton}(), (Agate.Compilation.InputOp{13}(), Agate.Compilation.ParameterOp{:temperature_q10, (2,)}(), Agate.Compilation.ParameterOp{:reference_temperature, ()}())))), Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}}}((Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}(), Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}()))))), dissolved_waste = Agate.Compilation.StaticFluxEquation{Tuple{Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}}}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}}}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.LinearMortality, Tuple{Agate.Compilation.InputOp{9}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:zooplankton_excretion_rate, (1,)}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_zooplankton_excretion, ()}}}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.LinearMortality, Tuple{Agate.Compilation.InputOp{10}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:zooplankton_excretion_rate, (2,)}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_zooplankton_excretion, ()}}}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}}}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}}}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}}}}}}((Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}}}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}}}}(Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}(Agate.Processes.FactorizedGrowth(), (Agate.Compilation.InputOp{7}(), Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}()), (Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}(Agate.Processes.ExponentialSaturation(), (Agate.Compilation.InputOp{12}(), Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}())), Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (1,)}}}(Agate.Processes.Monod(), (Agate.Compilation.InputOp{2}(), Agate.Compilation.ParameterOp{:ammonia_half_saturation, (1,)}())), Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}(Agate.Processes.Q10{:plankton}(), (Agate.Compilation.InputOp{13}(), Agate.Compilation.ParameterOp{:temperature_q10, (1,)}(), Agate.Compilation.ParameterOp{:reference_temperature, ()}())))), Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}}}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}}}((Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}}}((Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}(),)), Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}()))), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}}}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}}}}(Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}(Agate.Processes.FactorizedGrowth(), (Agate.Compilation.InputOp{8}(), Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}()), (Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}(Agate.Processes.ExponentialSaturation(), (Agate.Compilation.InputOp{12}(), Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}())), Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (2,)}}}(Agate.Processes.Monod(), (Agate.Compilation.InputOp{2}(), Agate.Compilation.ParameterOp{:ammonia_half_saturation, (2,)}())), Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}(Agate.Processes.Q10{:plankton}(), (Agate.Compilation.InputOp{13}(), Agate.Compilation.ParameterOp{:temperature_q10, (2,)}(), Agate.Compilation.ParameterOp{:reference_temperature, ()}())))), Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}}}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}}}((Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}}}((Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}(),)), Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}()))), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.LinearMortality, Tuple{Agate.Compilation.InputOp{9}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:zooplankton_excretion_rate, (1,)}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_zooplankton_excretion, ()}}}}}}(Agate.Compilation.RateOp{Agate.Processes.LinearMortality, Tuple{Agate.Compilation.InputOp{9}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:zooplankton_excretion_rate, (1,)}}, Tuple{}}(Agate.Processes.LinearMortality(), (Agate.Compilation.InputOp{9}(), Agate.Compilation.InputOp{9}(), Agate.Compilation.ParameterOp{:zooplankton_excretion_rate, (1,)}()), ()), Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_zooplankton_excretion, ()}}}}}((Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_zooplankton_excretion, ()}}}((Agate.Compilation.ParameterOp{:ammonium_fraction_of_zooplankton_excretion, ()}(),)),))), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.LinearMortality, Tuple{Agate.Compilation.InputOp{10}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:zooplankton_excretion_rate, (2,)}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_zooplankton_excretion, ()}}}}}}(Agate.Compilation.RateOp{Agate.Processes.LinearMortality, Tuple{Agate.Compilation.InputOp{10}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:zooplankton_excretion_rate, (2,)}}, Tuple{}}(Agate.Processes.LinearMortality(), (Agate.Compilation.InputOp{10}(), Agate.Compilation.InputOp{10}(), Agate.Compilation.ParameterOp{:zooplankton_excretion_rate, (2,)}()), ()), Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_zooplankton_excretion, ()}}}}}((Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_zooplankton_excretion, ()}}}((Agate.Compilation.ParameterOp{:ammonium_fraction_of_zooplankton_excretion, ()}(),)),))), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}}}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}}}}(Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}(Agate.Processes.FactorizedGrowth(), (Agate.Compilation.InputOp{7}(), Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}()), (Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}(Agate.Processes.ExponentialSaturation(), (Agate.Compilation.InputOp{12}(), Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}())), Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}(Agate.Processes.InhibitedMonod(), (Agate.Compilation.InputOp{1}(), Agate.Compilation.InputOp{2}(), Agate.Compilation.ParameterOp{:nitrate_half_saturation, (1,)}(), Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}())), Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}(Agate.Processes.Q10{:plankton}(), (Agate.Compilation.InputOp{13}(), Agate.Compilation.ParameterOp{:temperature_q10, (1,)}(), Agate.Compilation.ParameterOp{:reference_temperature, ()}())))), Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}}}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}}}((Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}}}((Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}(),)), Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}()))), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}}}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}}}}(Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}(Agate.Processes.FactorizedGrowth(), (Agate.Compilation.InputOp{8}(), Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}()), (Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}(Agate.Processes.ExponentialSaturation(), (Agate.Compilation.InputOp{12}(), Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}())), Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}(Agate.Processes.InhibitedMonod(), (Agate.Compilation.InputOp{1}(), Agate.Compilation.InputOp{2}(), Agate.Compilation.ParameterOp{:nitrate_half_saturation, (2,)}(), Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}())), Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}(Agate.Processes.Q10{:plankton}(), (Agate.Compilation.InputOp{13}(), Agate.Compilation.ParameterOp{:temperature_q10, (2,)}(), Agate.Compilation.ParameterOp{:reference_temperature, ()}())))), Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}}}, Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}}}((Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}}}((Agate.Compilation.ParameterOp{:ammonium_fraction_of_exudate, ()}(),)), Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}()))))), P_1 = Agate.Compilation.StaticFluxEquation{Tuple{Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}}}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:phytoplankton_mortality_rate, (1,)}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}}}}}}}}((Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}}}}}}(Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}(Agate.Processes.FactorizedGrowth(), (Agate.Compilation.InputOp{7}(), Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}()), (Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}(Agate.Processes.ExponentialSaturation(), (Agate.Compilation.InputOp{12}(), Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}())), Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (1,)}}}(Agate.Processes.Monod(), (Agate.Compilation.InputOp{2}(), Agate.Compilation.ParameterOp{:ammonia_half_saturation, (1,)}())), Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}(Agate.Processes.Q10{:plankton}(), (Agate.Compilation.InputOp{13}(), Agate.Compilation.ParameterOp{:temperature_q10, (1,)}(), Agate.Compilation.ParameterOp{:reference_temperature, ()}())))), Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}}}}}((Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}}}((Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}(),)),))), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}(Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}(Agate.Processes.PreferentialGrazing{Int64}(1), (Agate.Compilation.InputOp{7}(), Agate.Compilation.InputOp{9}(), Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}(), Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}(), Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}((Agate.Compilation.InputOp{7}(), Agate.Compilation.InputOp{8}(), Agate.Compilation.InputOp{11}()), (Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}()))), ()), Agate.Compilation.Weight{-1, Tuple{}}(())), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}(Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}(Agate.Processes.PreferentialGrazing{Int64}(1), (Agate.Compilation.InputOp{7}(), Agate.Compilation.InputOp{10}(), Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}(), Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}(), Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}((Agate.Compilation.InputOp{7}(), Agate.Compilation.InputOp{8}(), Agate.Compilation.InputOp{11}()), (Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}()))), ()), Agate.Compilation.Weight{-1, Tuple{}}(())), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:phytoplankton_mortality_rate, (1,)}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}(Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:phytoplankton_mortality_rate, (1,)}}, Tuple{}}(Agate.Processes.QuadraticMortality(), (Agate.Compilation.InputOp{7}(), Agate.Compilation.InputOp{7}(), Agate.Compilation.ParameterOp{:phytoplankton_mortality_rate, (1,)}()), ()), Agate.Compilation.Weight{-1, Tuple{}}(())), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}}}}}}(Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}(Agate.Processes.FactorizedGrowth(), (Agate.Compilation.InputOp{7}(), Agate.Compilation.ParameterOp{:maximum_growth_rate, (1,)}()), (Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}}}(Agate.Processes.ExponentialSaturation(), (Agate.Compilation.InputOp{12}(), Agate.Compilation.ParameterOp{:light_half_saturation, (1,)}())), Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}(Agate.Processes.InhibitedMonod(), (Agate.Compilation.InputOp{1}(), Agate.Compilation.InputOp{2}(), Agate.Compilation.ParameterOp{:nitrate_half_saturation, (1,)}(), Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}())), Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (1,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}(Agate.Processes.Q10{:plankton}(), (Agate.Compilation.InputOp{13}(), Agate.Compilation.ParameterOp{:temperature_q10, (1,)}(), Agate.Compilation.ParameterOp{:reference_temperature, ()}())))), Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}}}}}((Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}}}((Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (1,)}(),)),))))), P_2 = Agate.Compilation.StaticFluxEquation{Tuple{Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}}}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:phytoplankton_mortality_rate, (2,)}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}}}}}}}}((Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}}}}}}(Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}(Agate.Processes.FactorizedGrowth(), (Agate.Compilation.InputOp{8}(), Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}()), (Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}(Agate.Processes.ExponentialSaturation(), (Agate.Compilation.InputOp{12}(), Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}())), Agate.Compilation.FactorOp{Agate.Processes.Monod, Tuple{Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:ammonia_half_saturation, (2,)}}}(Agate.Processes.Monod(), (Agate.Compilation.InputOp{2}(), Agate.Compilation.ParameterOp{:ammonia_half_saturation, (2,)}())), Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}(Agate.Processes.Q10{:plankton}(), (Agate.Compilation.InputOp{13}(), Agate.Compilation.ParameterOp{:temperature_q10, (2,)}(), Agate.Compilation.ParameterOp{:reference_temperature, ()}())))), Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}}}}}((Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}}}((Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}(),)),))), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}(Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}(Agate.Processes.PreferentialGrazing{Int64}(1), (Agate.Compilation.InputOp{8}(), Agate.Compilation.InputOp{9}(), Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}(), Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}(), Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}((Agate.Compilation.InputOp{7}(), Agate.Compilation.InputOp{8}(), Agate.Compilation.InputOp{11}()), (Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}()))), ()), Agate.Compilation.Weight{-1, Tuple{}}(())), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}(Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}(Agate.Processes.PreferentialGrazing{Int64}(1), (Agate.Compilation.InputOp{8}(), Agate.Compilation.InputOp{10}(), Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}(), Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}(), Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}((Agate.Compilation.InputOp{7}(), Agate.Compilation.InputOp{8}(), Agate.Compilation.InputOp{11}()), (Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}()))), ()), Agate.Compilation.Weight{-1, Tuple{}}(())), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:phytoplankton_mortality_rate, (2,)}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}(Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:phytoplankton_mortality_rate, (2,)}}, Tuple{}}(Agate.Processes.QuadraticMortality(), (Agate.Compilation.InputOp{8}(), Agate.Compilation.InputOp{8}(), Agate.Compilation.ParameterOp{:phytoplankton_mortality_rate, (2,)}()), ()), Agate.Compilation.Weight{-1, Tuple{}}(())), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}}}}}}(Agate.Compilation.RateOp{Agate.Processes.FactorizedGrowth, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}}, Tuple{Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}, Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}, Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}}}(Agate.Processes.FactorizedGrowth(), (Agate.Compilation.InputOp{8}(), Agate.Compilation.ParameterOp{:maximum_growth_rate, (2,)}()), (Agate.Compilation.FactorOp{Agate.Processes.ExponentialSaturation, Tuple{Agate.Compilation.InputOp{12}, Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}}}(Agate.Processes.ExponentialSaturation(), (Agate.Compilation.InputOp{12}(), Agate.Compilation.ParameterOp{:light_half_saturation, (2,)}())), Agate.Compilation.FactorOp{Agate.Processes.InhibitedMonod, Tuple{Agate.Compilation.InputOp{1}, Agate.Compilation.InputOp{2}, Agate.Compilation.ParameterOp{:nitrate_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}}}(Agate.Processes.InhibitedMonod(), (Agate.Compilation.InputOp{1}(), Agate.Compilation.InputOp{2}(), Agate.Compilation.ParameterOp{:nitrate_half_saturation, (2,)}(), Agate.Compilation.ParameterOp{:nitrate_ammonia_inhibition, ()}())), Agate.Compilation.FactorOp{Agate.Processes.Q10{:plankton}, Tuple{Agate.Compilation.InputOp{13}, Agate.Compilation.ParameterOp{:temperature_q10, (2,)}, Agate.Compilation.ParameterOp{:reference_temperature, ()}}}(Agate.Processes.Q10{:plankton}(), (Agate.Compilation.InputOp{13}(), Agate.Compilation.ParameterOp{:temperature_q10, (2,)}(), Agate.Compilation.ParameterOp{:reference_temperature, ()}())))), Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}}}}}((Agate.Compilation.ComplementOp{Tuple{Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}}}((Agate.Compilation.ParameterOp{:phytoplankton_exudation_fraction, (2,)}(),)),))))), Z_1 = Agate.Compilation.StaticFluxEquation{Tuple{Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.LinearMortality, Tuple{Agate.Compilation.InputOp{9}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:zooplankton_excretion_rate, (1,)}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 1)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 2)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 3)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{9}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:zooplankton_mortality_rate, (1,)}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}}}((Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.LinearMortality, Tuple{Agate.Compilation.InputOp{9}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:zooplankton_excretion_rate, (1,)}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}(Agate.Compilation.RateOp{Agate.Processes.LinearMortality, Tuple{Agate.Compilation.InputOp{9}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:zooplankton_excretion_rate, (1,)}}, Tuple{}}(Agate.Processes.LinearMortality(), (Agate.Compilation.InputOp{9}(), Agate.Compilation.InputOp{9}(), Agate.Compilation.ParameterOp{:zooplankton_excretion_rate, (1,)}()), ()), Agate.Compilation.Weight{-1, Tuple{}}(())), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 1)}}}}(Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}(Agate.Processes.PreferentialGrazing{Int64}(1), (Agate.Compilation.InputOp{7}(), Agate.Compilation.InputOp{9}(), Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}(), Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}(), Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}((Agate.Compilation.InputOp{7}(), Agate.Compilation.InputOp{8}(), Agate.Compilation.InputOp{11}()), (Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}()))), ()), Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 1)}}}((Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 1)}(),))), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 2)}}}}(Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}(Agate.Processes.PreferentialGrazing{Int64}(1), (Agate.Compilation.InputOp{8}(), Agate.Compilation.InputOp{9}(), Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}(), Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}(), Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}((Agate.Compilation.InputOp{7}(), Agate.Compilation.InputOp{8}(), Agate.Compilation.InputOp{11}()), (Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}()))), ()), Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 2)}}}((Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 2)}(),))), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 3)}}}}(Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}(Agate.Processes.PreferentialGrazing{Int64}(1), (Agate.Compilation.InputOp{11}(), Agate.Compilation.InputOp{9}(), Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}(), Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}(), Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}((Agate.Compilation.InputOp{7}(), Agate.Compilation.InputOp{8}(), Agate.Compilation.InputOp{11}()), (Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}()))), ()), Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 3)}}}((Agate.Compilation.ParameterOp{:assimilation_matrix, (1, 3)}(),))), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{9}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:zooplankton_mortality_rate, (1,)}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}(Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{9}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:zooplankton_mortality_rate, (1,)}}, Tuple{}}(Agate.Processes.QuadraticMortality(), (Agate.Compilation.InputOp{9}(), Agate.Compilation.InputOp{9}(), Agate.Compilation.ParameterOp{:zooplankton_mortality_rate, (1,)}()), ()), Agate.Compilation.Weight{-1, Tuple{}}(())))), Z_2 = Agate.Compilation.StaticFluxEquation{Tuple{Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.LinearMortality, Tuple{Agate.Compilation.InputOp{10}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:zooplankton_excretion_rate, (2,)}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 1)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 2)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 3)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{10}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:zooplankton_mortality_rate, (2,)}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}}}((Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.LinearMortality, Tuple{Agate.Compilation.InputOp{10}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:zooplankton_excretion_rate, (2,)}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}(Agate.Compilation.RateOp{Agate.Processes.LinearMortality, Tuple{Agate.Compilation.InputOp{10}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:zooplankton_excretion_rate, (2,)}}, Tuple{}}(Agate.Processes.LinearMortality(), (Agate.Compilation.InputOp{10}(), Agate.Compilation.InputOp{10}(), Agate.Compilation.ParameterOp{:zooplankton_excretion_rate, (2,)}()), ()), Agate.Compilation.Weight{-1, Tuple{}}(())), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 1)}}}}(Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}(Agate.Processes.PreferentialGrazing{Int64}(1), (Agate.Compilation.InputOp{7}(), Agate.Compilation.InputOp{10}(), Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}(), Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}(), Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}((Agate.Compilation.InputOp{7}(), Agate.Compilation.InputOp{8}(), Agate.Compilation.InputOp{11}()), (Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}()))), ()), Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 1)}}}((Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 1)}(),))), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 2)}}}}(Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}(Agate.Processes.PreferentialGrazing{Int64}(1), (Agate.Compilation.InputOp{8}(), Agate.Compilation.InputOp{10}(), Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}(), Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}(), Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}((Agate.Compilation.InputOp{7}(), Agate.Compilation.InputOp{8}(), Agate.Compilation.InputOp{11}()), (Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}()))), ()), Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 2)}}}((Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 2)}(),))), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 3)}}}}(Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}(Agate.Processes.PreferentialGrazing{Int64}(1), (Agate.Compilation.InputOp{11}(), Agate.Compilation.InputOp{10}(), Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}(), Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}(), Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}((Agate.Compilation.InputOp{7}(), Agate.Compilation.InputOp{8}(), Agate.Compilation.InputOp{11}()), (Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}()))), ()), Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 3)}}}((Agate.Compilation.ParameterOp{:assimilation_matrix, (2, 3)}(),))), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{10}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:zooplankton_mortality_rate, (2,)}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}(Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{10}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:zooplankton_mortality_rate, (2,)}}, Tuple{}}(Agate.Processes.QuadraticMortality(), (Agate.Compilation.InputOp{10}(), Agate.Compilation.InputOp{10}(), Agate.Compilation.ParameterOp{:zooplankton_mortality_rate, (2,)}()), ()), Agate.Compilation.Weight{-1, Tuple{}}(())))), H_1 = Agate.Compilation.StaticFluxEquation{Tuple{Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.HeterotrophicConsumption, Tuple{Agate.Compilation.InputOp{3}, Agate.Compilation.InputOp{11}, Agate.Compilation.ParameterOp{:bacterial_maximum_uptake_rate, (1,)}, Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}, Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{3}}, Tuple{Agate.Compilation.QuotientOp{Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}, Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:bacterial_assimilation, (1, 1)}}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}, Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{11}, Agate.Compilation.ParameterOp{:bacterioplankton_mortality_rate, (1,)}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}}}((Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.HeterotrophicConsumption, Tuple{Agate.Compilation.InputOp{3}, Agate.Compilation.InputOp{11}, Agate.Compilation.ParameterOp{:bacterial_maximum_uptake_rate, (1,)}, Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}, Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{3}}, Tuple{Agate.Compilation.QuotientOp{Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}, Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}}}}}, Tuple{}}, Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:bacterial_assimilation, (1, 1)}}}}(Agate.Compilation.RateOp{Agate.Processes.HeterotrophicConsumption, Tuple{Agate.Compilation.InputOp{3}, Agate.Compilation.InputOp{11}, Agate.Compilation.ParameterOp{:bacterial_maximum_uptake_rate, (1,)}, Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}, Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{3}}, Tuple{Agate.Compilation.QuotientOp{Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}, Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}}}}}, Tuple{}}(Agate.Processes.HeterotrophicConsumption(), (Agate.Compilation.InputOp{3}(), Agate.Compilation.InputOp{11}(), Agate.Compilation.ParameterOp{:bacterial_maximum_uptake_rate, (1,)}(), Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}(), Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}(), Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{3}}, Tuple{Agate.Compilation.QuotientOp{Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}, Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}}}}((Agate.Compilation.InputOp{3}(),), (Agate.Compilation.QuotientOp{Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}, Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}}(Agate.Compilation.ParameterOp{:bacterial_substrate_preference, (1, 1)}(), Agate.Compilation.ParameterOp{:bacterial_dom_half_saturation, (1, 1)}()),))), ()), Agate.Compilation.Weight{1, Tuple{Agate.Compilation.ParameterOp{:bacterial_assimilation, (1, 1)}}}((Agate.Compilation.ParameterOp{:bacterial_assimilation, (1, 1)}(),))), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}(Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{9}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}}, Tuple{}}(Agate.Processes.PreferentialGrazing{Int64}(1), (Agate.Compilation.InputOp{11}(), Agate.Compilation.InputOp{9}(), Agate.Compilation.ParameterOp{:maximum_predation_rate, (1,)}(), Agate.Compilation.ParameterOp{:grazing_half_saturation, (1,)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}(), Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}}}((Agate.Compilation.InputOp{7}(), Agate.Compilation.InputOp{8}(), Agate.Compilation.InputOp{11}()), (Agate.Compilation.ParameterOp{:palatability_matrix, (1, 1)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (1, 2)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (1, 3)}()))), ()), Agate.Compilation.Weight{-1, Tuple{}}(())), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}(Agate.Compilation.RateOp{Agate.Processes.PreferentialGrazing{Int64}, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{10}, Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}, Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}, Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}}, Tuple{}}(Agate.Processes.PreferentialGrazing{Int64}(1), (Agate.Compilation.InputOp{11}(), Agate.Compilation.InputOp{10}(), Agate.Compilation.ParameterOp{:maximum_predation_rate, (2,)}(), Agate.Compilation.ParameterOp{:grazing_half_saturation, (2,)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}(), Agate.Compilation.ProductPowerSumOp{1, Tuple{Agate.Compilation.InputOp{7}, Agate.Compilation.InputOp{8}, Agate.Compilation.InputOp{11}}, Tuple{Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}, Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}}}((Agate.Compilation.InputOp{7}(), Agate.Compilation.InputOp{8}(), Agate.Compilation.InputOp{11}()), (Agate.Compilation.ParameterOp{:palatability_matrix, (2, 1)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (2, 2)}(), Agate.Compilation.ParameterOp{:palatability_matrix, (2, 3)}()))), ()), Agate.Compilation.Weight{-1, Tuple{}}(())), Agate.Compilation.FluxTerm{Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{11}, Agate.Compilation.ParameterOp{:bacterioplankton_mortality_rate, (1,)}}, Tuple{}}, Agate.Compilation.Weight{-1, Tuple{}}}(Agate.Compilation.RateOp{Agate.Processes.QuadraticMortality, Tuple{Agate.Compilation.InputOp{11}, Agate.Compilation.InputOp{11}, Agate.Compilation.ParameterOp{:bacterioplankton_mortality_rate, (1,)}}, Tuple{}}(Agate.Processes.QuadraticMortality(), (Agate.Compilation.InputOp{11}(), Agate.Compilation.InputOp{11}(), Agate.Compilation.ParameterOp{:bacterioplankton_mortality_rate, (1,)}()), ()), Agate.Compilation.Weight{-1, Tuple{}}(()))))), nothing, (pft_entities = (P = (:P_1, :P_2), Z = (:Z_1, :Z_2), H = (:H_1,)), component_tracers = (NO₃ = (:NO₃,), NH₄ = (:NH₄,), DOM = (:DOM,), solid_waste = (:solid_waste,), inorganic_waste = (:inorganic_waste,), dissolved_waste = (:dissolved_waste,), P = (:P_1, :P_2), Z = (:Z_1, :Z_2), H = (:H_1,)), plankton_tracers = (:P_1, :P_2, :Z_1, :Z_2, :H_1), plankton_diameters = (0.6, 1.2, 6.0, 12.0, 0.6), parameter_axes = (ammonia_half_saturation = (rank = 1, axes = (:plankton,), shape = (2,), labels = ((:P_1, :P_2),), applicability = (), domains = (:nonnegative,), runtime_bound = true, derived_runtime_parameters = ()), ammonium_fraction_of_exudate = (rank = 0, axes = (), shape = (), labels = (), applicability = (), domains = (:unit_interval,), runtime_bound = true, derived_runtime_parameters = ()), ammonium_fraction_of_zooplankton_excretion = (rank = 0, axes = (), shape = (), labels = (), applicability = (), domains = (:unit_interval,), runtime_bound = true, derived_runtime_parameters = ()), assimilation_matrix = (rank = 2, axes = (:consumer, :resource), shape = (2, 3), labels = ((:Z_1, :Z_2), (:P_1, :P_2, :H_1)), applicability = ((:Z_1, :P_1), (:Z_1, :P_2), (:Z_1, :H_1), (:Z_2, :P_1), (:Z_2, :P_2), (:Z_2, :H_1)), domains = (:unit_interval,), runtime_bound = true, derived_runtime_parameters = ()), bacterial_assimilation = (rank = 2, axes = (:consumer, :resource), shape = (1, 1), labels = ((:H_1,), (:DOM,)), applicability = ((:H_1, :DOM),), domains = (:unit_interval,), runtime_bound = true, derived_runtime_parameters = ()), bacterial_dom_affinity_trait = (rank = 1, axes = (:plankton,), shape = (5,), labels = ((:P_1, :P_2, :Z_1, :Z_2, :H_1),), applicability = (), domains = (), runtime_bound = false, derived_runtime_parameters = (:bacterial_dom_half_saturation,)), bacterial_dom_half_saturation = (rank = 2, axes = (:consumer, :resource), shape = (1, 1), labels = ((:H_1,), (:DOM,)), applicability = ((:H_1, :DOM),), domains = (:positive,), runtime_bound = true, derived_runtime_parameters = ()), bacterial_maximum_uptake_rate = (rank = 1, axes = (:consumer,), shape = (1,), labels = ((:H_1,),), applicability = (), domains = (:nonnegative,), runtime_bound = true, derived_runtime_parameters = ()), bacterial_substrate_preference = (rank = 2, axes = (:consumer, :resource), shape = (1, 1), labels = ((:H_1,), (:DOM,)), applicability = ((:H_1, :DOM),), domains = (:nonnegative,), runtime_bound = true, derived_runtime_parameters = ()), bacterioplankton_mortality_rate = (rank = 1, axes = (:plankton,), shape = (1,), labels = ((:H_1,),), applicability = (), domains = (:nonnegative,), runtime_bound = true, derived_runtime_parameters = ()), grazing_half_saturation = (rank = 1, axes = (:consumer,), shape = (2,), labels = ((:Z_1, :Z_2),), applicability = (), domains = (:nonnegative,), runtime_bound = true, derived_runtime_parameters = ()), light_half_saturation = (rank = 1, axes = (:plankton,), shape = (2,), labels = ((:P_1, :P_2),), applicability = (), domains = (:positive,), runtime_bound = true, derived_runtime_parameters = ()), maximum_growth_rate = (rank = 1, axes = (:plankton,), shape = (2,), labels = ((:P_1, :P_2),), applicability = (), domains = (:nonnegative,), runtime_bound = true, derived_runtime_parameters = ()), maximum_predation_rate = (rank = 1, axes = (:consumer,), shape = (2,), labels = ((:Z_1, :Z_2),), applicability = (), domains = (:nonnegative,), runtime_bound = true, derived_runtime_parameters = ()), nitrate_ammonia_inhibition = (rank = 0, axes = (), shape = (), labels = (), applicability = (), domains = (:nonnegative,), runtime_bound = true, derived_runtime_parameters = ()), nitrate_half_saturation = (rank = 1, axes = (:plankton,), shape = (2,), labels = ((:P_1, :P_2),), applicability = (), domains = (:nonnegative,), runtime_bound = true, derived_runtime_parameters = ()), optimum_predator_prey_ratio = (rank = 1, axes = (:plankton,), shape = (5,), labels = ((:P_1, :P_2, :Z_1, :Z_2, :H_1),), applicability = (), domains = (), runtime_bound = false, derived_runtime_parameters = (:palatability_matrix,)), palatability_matrix = (rank = 2, axes = (:consumer, :resource), shape = (2, 3), labels = ((:Z_1, :Z_2), (:P_1, :P_2, :H_1)), applicability = ((:Z_1, :P_1), (:Z_1, :P_2), (:Z_1, :H_1), (:Z_2, :P_1), (:Z_2, :P_2), (:Z_2, :H_1)), domains = (:nonnegative,), runtime_bound = true, derived_runtime_parameters = ()), phytoplankton_exudation_fraction = (rank = 1, axes = (:plankton,), shape = (2,), labels = ((:P_1, :P_2),), applicability = (), domains = (:unit_interval,), runtime_bound = true, derived_runtime_parameters = ()), phytoplankton_mortality_rate = (rank = 1, axes = (:plankton,), shape = (2,), labels = ((:P_1, :P_2),), applicability = (), domains = (:nonnegative,), runtime_bound = true, derived_runtime_parameters = ()), reference_temperature = (rank = 0, axes = (), shape = (), labels = (), applicability = (), domains = (:finite,), runtime_bound = true, derived_runtime_parameters = ()), specificity = (rank = 1, axes = (:plankton,), shape = (5,), labels = ((:P_1, :P_2, :Z_1, :Z_2, :H_1),), applicability = (), domains = (), runtime_bound = false, derived_runtime_parameters = (:palatability_matrix,)), temperature_q10 = (rank = 1, axes = (:plankton,), shape = (2,), labels = ((:P_1, :P_2),), applicability = (), domains = (:positive,), runtime_bound = true, derived_runtime_parameters = ()), zooplankton_excretion_rate = (rank = 1, axes = (:plankton,), shape = (2,), labels = ((:Z_1, :Z_2),), applicability = (), domains = (:nonnegative,), runtime_bound = true, derived_runtime_parameters = ()), zooplankton_mortality_rate = (rank = 1, axes = (:plankton,), shape = (2,), labels = ((:Z_1, :Z_2),), applicability = (), domains = (:nonnegative,), runtime_bound = true, derived_runtime_parameters = ())), parameter_constraints = (Agate.Processes.ProductFractionConstraint{Tuple{Agate.Processes.ParameterValueRef{:ammonium_fraction_of_exudate, Tuple{}}}}((Agate.Processes.ParameterValueRef{:ammonium_fraction_of_exudate, Tuple{}}(()),), :ammonia_growth_P), Agate.Processes.ProductFractionConstraint{Tuple{Agate.Processes.ParameterValueRef{:ammonium_fraction_of_zooplankton_excretion, Tuple{}}}}((Agate.Processes.ParameterValueRef{:ammonium_fraction_of_zooplankton_excretion, Tuple{}}(()),), :excretion_Z), Agate.Processes.ProductFractionConstraint{Tuple{Agate.Processes.ParameterValueRef{:ammonium_fraction_of_exudate, Tuple{}}}}((Agate.Processes.ParameterValueRef{:ammonium_fraction_of_exudate, Tuple{}}(()),), :nitrate_growth_P)), model_settings = (chlorophyll_ratio = 1.31, carbon_ratio = 6.56))), (chlorophyll_ratio = 1.31, carbon_ratio = 6.56))

Constant PAR keeps this short example focused on biological composition rather than physical forcing.

light_attenuation = PrescribedPhotosyntheticallyActiveRadiation(ConstantField(100.0))
bgc = LOBSTER(grid; plankton, light_attenuation)
NutrientsPlanktonDetritus{Float64} with (:NO₃, :NH₄, :P_1, :P_2, :Z_1, :Z_2, :H_1, :DOM, :sPOM, :bPOM, :T) 
 Light attenuation: PrescribedPhotosyntheticallyActiveRadiation
 Sediment: Nothing
 Particles: Nothing
 Modifiers: Nothing

The coupled tracer set combines Agate's living community with OceanBioME-owned nutrient, detritus, and temperature state.

required_biogeochemical_tracers(bgc.underlying_biogeochemistry)
(:NO₃, :NH₄, :P_1, :P_2, :Z_1, :Z_2, :H_1, :DOM, :sPOM, :bPOM, :T)

Run a short water-column experiment

model = NonhydrostaticModel(grid; biogeochemistry=bgc)
set!(
    model;
    NO₃=7.0,
    NH₄=0.1,
    DOM=0.1,
    sPOM=0.01,
    bPOM=0.01,
    T=20.0,
    P_1=0.01,
    P_2=0.01,
    Z_1=0.02,
    Z_2=0.02,
    H_1=0.01,
)

simulation = Simulation(model; Δt=5minutes, stop_time=12hours)
run!(simulation)
[ Info: Initializing simulation...
[ Info:     ... simulation initialization complete (111.470 ms)
[ Info: Executing initial time step...
[ Info:     ... initial time step complete (4.285 seconds).
[ Info: Simulation is stopping after running for 4.461 seconds.
[ Info: Simulation time 12 hours equals or exceeds stop time 12 hours.

The example is intentionally short: it demonstrates end-to-end construction and execution, rather than serving as a calibrated ecological experiment.

living_tracers = (:P_1, :P_2, :Z_1, :Z_2, :H_1)
final_living = NamedTuple{living_tracers}(
    Tuple(getproperty(model.tracers, tracer)[1, 1, 1] for tracer in living_tracers)
)
final_living
(P_1 = 0.015217062127416645, P_2 = 0.021834195163195586, Z_1 = 0.020896005660381106, Z_2 = 0.020219567611446942, H_1 = 0.009584698282825706)

Capture and replay the scientific realization

Recipe replay uses the same construct function. Julia dispatch distinguishes a new authored construction from a replay based on the ModelRecipe argument.

_, recipe = Agate.Models.FrankenLOBSTER.construct_plus_recipe(; grid)
replayed = Agate.Models.FrankenLOBSTER.construct(recipe; grid)

required_biogeochemical_tracers(replayed)
(:P_1, :P_2, :Z_1, :Z_2, :H_1)

This page was generated using Literate.jl.