From e2ee1c90c28d22c1213444b196b5df72d47182c5 Mon Sep 17 00:00:00 2001 From: Pietro Monticone <38562595+pitmonticone@users.noreply.github.com> Date: Sun, 5 Nov 2023 00:43:46 +0100 Subject: [PATCH 01/26] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fbf77378e..42d8bedab 100644 --- a/README.md +++ b/README.md @@ -160,4 +160,4 @@ If you use OceanBioME as part of your research, teaching, or other activities, w } ``` -To cite a specific version of the package please also cite its [Zenode archive](https://doi.org/10.5281/zenodo.10038575). +To cite a specific version of the package please also cite its [Zenodo archive](https://doi.org/10.5281/zenodo.10038575). From c0fc3074f8d1ed0e25ec16840d2f53cb0e66ad00 Mon Sep 17 00:00:00 2001 From: Pietro Monticone <38562595+pitmonticone@users.noreply.github.com> Date: Sun, 5 Nov 2023 00:43:51 +0100 Subject: [PATCH 02/26] Update OceanBioME.jl --- src/OceanBioME.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/OceanBioME.jl b/src/OceanBioME.jl index ac61ed17c..38af5f015 100644 --- a/src/OceanBioME.jl +++ b/src/OceanBioME.jl @@ -25,7 +25,7 @@ export Boundaries, Sediments, GasExchange, FlatSediment # Utilities export column_advection_timescale, sinking_advection_timescale, Budget -# Positivity preservaiton utilities +# Positivity preservation utilities export ScaleNegativeTracers, ZeroNegativeTracers # Oceananigans extensions @@ -82,7 +82,7 @@ Keyword Arguments - `light_attenuation_model`: light attenuation model which integrated the attenuation of available light - `sediment_model`: slot for `AbstractSediment` - `particles`: slot for `BiogeochemicalParticles` -- `modifiers`: slot for components which modfiy the biogeochemistry when the tendencies have been calculated or when the state is updated +- `modifiers`: slot for components which modify the biogeochemistry when the tendencies have been calculated or when the state is updated """ Biogeochemistry(underlying_biogeochemistry; light_attenuation = nothing, From d2c9d0d8cd120d21662c6b9b7e4b0e1c20cb7c03 Mon Sep 17 00:00:00 2001 From: Pietro Monticone <38562595+pitmonticone@users.noreply.github.com> Date: Sun, 5 Nov 2023 00:43:56 +0100 Subject: [PATCH 03/26] Update makie_recipies.jl --- src/Utils/makie_recipies.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Utils/makie_recipies.jl b/src/Utils/makie_recipies.jl index 6a77e1b48..1b667581e 100644 --- a/src/Utils/makie_recipies.jl +++ b/src/Utils/makie_recipies.jl @@ -69,11 +69,11 @@ function Makie.plot!(res::ResultsLOBSTER) hm_DD = heatmap!(ax_DD, res.t/years, res.z, res.DD') Colorbar(fig[2, 8], hm_DD) - ax_DOM = Axis(fig[3, 1], title = "Disolved organic matter (mmol N/m³)") + ax_DOM = Axis(fig[3, 1], title = "Dissolved organic matter (mmol N/m³)") hm_DOM = heatmap!(ax_DOM, res.t/years, res.z, res.DOM') Colorbar(fig[3, 2], hm_DOM) - ax_DIC = Axis(fig[3, 3], title = "Disolved inorganic matter (mmol N/m³)") + ax_DIC = Axis(fig[3, 3], title = "Dissolved inorganic matter (mmol N/m³)") hm_DIC = heatmap!(ax_DIC, res.t/years, res.z, res.DIC') Colorbar(fig[3, 4], hm_DIC) From 43997a3b9d2526c13749029617cf28dc72209735 Mon Sep 17 00:00:00 2001 From: Pietro Monticone <38562595+pitmonticone@users.noreply.github.com> Date: Sun, 5 Nov 2023 00:44:01 +0100 Subject: [PATCH 04/26] Update index.md --- docs/src/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/index.md b/docs/src/index.md index b6b9e25de..975770186 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -2,7 +2,7 @@ OceanBioME.jl is a fast and flexible ocean biogeochemical modelling environment. It is highly modular and is designed to make it easy to implement and use a variety of biogeochemical and physical models. OceanBioME is built to be coupled with physics models from [Oceananigans.jl](https://github.com/CliMA/Oceananigans.jl) allowing simulations across a wide range of spatial scales ranging from a global hydrostatic free surface model to non-hydrostatic large-eddy simulations. OceanBioME was designed specifically for ocean carbon dioxide removal applications. Notably, it includes active particles which allow individual-based models to be seamlessly coupled with the flow physics, ecosystem models, and carbonate chemistry. -OceanBioME.jl currently provides a core of several biogeochemical models (Nutrient--Phytoplankton--Zooplankton--Detritus (NPZD) and [LOBSTER](https://doi.org/10.1029/2004JC002588), a medium complexity model, air-sea gas exchange models to provide appropriate top boundary conditions, and sediment models to for the benthic boundary. [PISCES](https://doi.org/10.5194/gmd-8-2465-2015) and other higher complexity models are in our future development plans. +OceanBioME.jl currently provides a core of several biogeochemical models Nutrient--Phytoplankton--Zooplankton--Detritus (NPZD) and [LOBSTER](https://doi.org/10.1029/2004JC002588), a medium complexity model, air-sea gas exchange models to provide appropriate top boundary conditions, and sediment models to for the benthic boundary. [PISCES](https://doi.org/10.5194/gmd-8-2465-2015) and other higher complexity models are in our future development plans. OceanBioME.jl includes a framework for integrating the growth of biological/active Lagrangian particles which move around and can interact with the (Eulerian) tracer fields - for example, consuming nutrients and carbon dioxide while releasing dissolved organic material. A growth model for sugar kelp is currently implemented using active particles, and this model can be used in a variety of dynamical scenarios including free-floating or bottom-attached particles. From 8dc4c2adea38d2543fb9c01ddd370246b4fcbe93 Mon Sep 17 00:00:00 2001 From: Pietro Monticone <38562595+pitmonticone@users.noreply.github.com> Date: Sun, 5 Nov 2023 00:44:05 +0100 Subject: [PATCH 05/26] Update LOBSTER.md --- docs/src/model_components/biogeochemical/LOBSTER.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/src/model_components/biogeochemical/LOBSTER.md b/docs/src/model_components/biogeochemical/LOBSTER.md index 0dc47177d..d336e6a16 100644 --- a/docs/src/model_components/biogeochemical/LOBSTER.md +++ b/docs/src/model_components/biogeochemical/LOBSTER.md @@ -146,7 +146,7 @@ Additionally, the ``DIC`` and ``Alk`` equations are modified to replace each ``X | ``\mu_{sPOM}`` | `small_detritus_remineralisation_rate` | 1 / s | | ``\mu_{bPOM}`` | `large_detritus_remineralisation_rate` | 1 / s | | ``\gamma`` | `phytoplankton_exudation_fraction` | - | -| ``\mu_n`` | `nitrifcaiton_rate` | 1 / 2 | +| ``\mu_n`` | `nitrification_rate` | 1 / 2 | | ``\alpha_P`` | `ammonia_fraction_of_exudate` | - | | ``\alpha_Z`` | `ammonia_fraction_of_excriment` | - | | ``\alpha_d`` | `ammonia_fraction_of_detritus` | - | @@ -154,10 +154,10 @@ Additionally, the ``DIC`` and ``Alk`` equations are modified to replace each ``X | ``R_O`` | `organic_redfield` | mmol C / mmol N | | ``R_{Chl:N}`` | `phytoplankton_chlorophyll_ratio` | mg Chl / mmol N | | ``\rho_{CaCO_3}`` | `organic_carbon_calcate_ratio` | mmol CaCO₃/ mmol C | -| ``R_{O_2}`` | `respiraiton_oxygen_nitrogen_ratio` | mmol O / mmol N | -| ``R_{nit}`` | `nitrifcation_oxygen_nitrogen_ratio` | mmol O / mmol N | +| ``R_{O_2}`` | `respiration_oxygen_nitrogen_ratio` | mmol O / mmol N | +| ``R_{nit}`` | `nitrification_oxygen_nitrogen_ratio` | mmol O / mmol N | | ``f_s`` | `slow_sinking_mortality_fraction` | - | -| ``\mu_{DOM}`` | `disolved_organic_breakdown_rate` | 1 / s | +| ``\mu_{DOM}`` | `dissolved_organic_breakdown_rate` | 1 / s | | ``\eta`` | `zooplankton_calcite_dissolution` | - | All default parameter values are given in [Parameters](@ref parameters); and a more thorough explanation of new terms will be included in a publication that is in prep. From 49bf151b3d0b9752ebbfdde6c813d3d9b36be62d Mon Sep 17 00:00:00 2001 From: Pietro Monticone <38562595+pitmonticone@users.noreply.github.com> Date: Sun, 5 Nov 2023 00:44:10 +0100 Subject: [PATCH 06/26] Update model_implementation.md --- docs/src/model_implementation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/model_implementation.md b/docs/src/model_implementation.md index db204e208..328ffdb45 100644 --- a/docs/src/model_implementation.md +++ b/docs/src/model_implementation.md @@ -5,7 +5,7 @@ Here we describe how OceanBioME defines biogeochemical (BGC) models, how this va ## Model structure OceanBioME BGC models are `struct`s of type `ContinuousFormBiogeochemistry`, which is of abstract type `AbstractContinuousFormBiogeochemistry` from Oceananigans. In Oceananigans this describes BGC models which are defined using continuous functions (depending continuously on ``x``, ``y``, and ``z``) rather than discrete functions (depending on ``i``, ``j``, ``k``). This allows the user to implement the BGC model equations without worrying about details of the grid or discretization, and then Oceananigans handles the rest. -OceanBioME's `ContinuousFormBiogeochemistry` adds a layer on top of this which makes it easy to add [light attenuation models](@ref light), [sediment](@ref sediment), and [biologically active particles](@ref individuals) (or indivdiual-based models). OceanBioME's `ContinuousFormBiogeochemistry` includes parameters in which the types of these components are stored. This means that these model components will automatically be integrated into the BGC model without having to add new methods to call Oceananigans functions. +OceanBioME's `ContinuousFormBiogeochemistry` adds a layer on top of this which makes it easy to add [light attenuation models](@ref light), [sediment](@ref sediment), and [biologically active particles](@ref individuals) (or individual-based models). OceanBioME's `ContinuousFormBiogeochemistry` includes parameters in which the types of these components are stored. This means that these model components will automatically be integrated into the BGC model without having to add new methods to call Oceananigans functions. ## Implementing a model From 29e4c4f86156daf87f7492c0fe00e6c5407f6380 Mon Sep 17 00:00:00 2001 From: Pietro Monticone <38562595+pitmonticone@users.noreply.github.com> Date: Sun, 5 Nov 2023 00:44:14 +0100 Subject: [PATCH 07/26] Update slatissima.md --- docs/src/model_components/individuals/slatissima.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/src/model_components/individuals/slatissima.md b/docs/src/model_components/individuals/slatissima.md index 71b1c6203..36f4e9d56 100644 --- a/docs/src/model_components/individuals/slatissima.md +++ b/docs/src/model_components/individuals/slatissima.md @@ -126,7 +126,7 @@ R = \left[R_A\left(\frac{\mu}{\mu_\text{max}} + \frac{J}{J_\text{max}}\right) + | Symbol | Variable name | Units | |--------------------------|--------------------------------------|-------------------------| -| ``A_0`` | `growth_rate_adjustement` | 1 / dm² | +| ``A_0`` | `growth_rate_adjustment` | 1 / dm² | | ``\alpha`` | `photosynthetic_efficiency` | gC / dm² / s / einstein | | ``C_\text{min}`` | `minimum_carbon_reserve` | gC / gSW | | ``C_\text{struct}`` | `structural_carbon` | gC / gSW | @@ -139,8 +139,8 @@ R = \left[R_A\left(\frac{\mu}{\mu_\text{max}} + \frac{J}{J_\text{max}}\right) + | ``k_N`` | `nitrogen_reserve_per_nitrogen` | g / gN | | ``N_\text{min}`` | `minimum_nitrogen_reserve` | gN / gSW | | ``N_\text{max}`` | `maximum_nitrogen_reserve` | gN / gSW | -| ``m_2`` | `growth_adjustement_2` | - | -| ``m_1`` | `growth_adjustement_1` | - | +| ``m_2`` | `growth_adjustment_2` | - | +| ``m_1`` | `growth_adjustment_1` | - | | ``\mu_\text{max}`` | `maximum_specific_growth_rate` | 1 / s | | ``N_\text{struct}`` | `structural_nitrogen` | gN / gSW | | ``P_1`` | `photosynthesis_at_ref_temp_1` | gC / dm² / s | From 223a203397002222844750c3ebf5e34cd2750f4e Mon Sep 17 00:00:00 2001 From: Pietro Monticone <38562595+pitmonticone@users.noreply.github.com> Date: Sun, 5 Nov 2023 00:44:19 +0100 Subject: [PATCH 08/26] Update simple_multi_G.jl --- src/Boundaries/Sediments/simple_multi_G.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Boundaries/Sediments/simple_multi_G.jl b/src/Boundaries/Sediments/simple_multi_G.jl index c30192a9b..6f2cb42ee 100644 --- a/src/Boundaries/Sediments/simple_multi_G.jl +++ b/src/Boundaries/Sediments/simple_multi_G.jl @@ -65,7 +65,7 @@ can be optionally specified. The model is a single layer (i.e. does not include porous diffusion) model with three classes of sediment organic matter which decay at three different rates (fast, slow, refactory). -The nitrifcation/denitrifcation/anoxic mineralisation fractions default to the parameterisation +The nitrification/denitrification/anoxic mineralisation fractions default to the parameterisation of Soetaert et al. 2000; doi:[10.1016/S0012-8252(00)00004-0](https://doi.org/10.1016/S0012-8252(00)00004-0). This model has not yet been validated or compared to observational data. The variety of degridation From 095a318002c0f7960cd05f1b87efbfa86d2f8b12 Mon Sep 17 00:00:00 2001 From: Pietro Monticone <38562595+pitmonticone@users.noreply.github.com> Date: Sun, 5 Nov 2023 00:44:21 +0100 Subject: [PATCH 09/26] Update SLatissima.jl --- src/Models/Individuals/SLatissima.jl | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/Models/Individuals/SLatissima.jl b/src/Models/Individuals/SLatissima.jl index a1397f4bd..66594deb5 100644 --- a/src/Models/Individuals/SLatissima.jl +++ b/src/Models/Individuals/SLatissima.jl @@ -40,7 +40,7 @@ import Oceananigans.Models.LagrangianParticleTracking: update_lagrangian_particl """ SLatissima(; architecture :: AR = CPU(), - growth_rate_adjustement :: FT = 4.5, + growth_rate_adjustment :: FT = 4.5, photosynthetic_efficiency :: FT = 4.15e-5 * 24 * 10^6 / (24 * 60 * 60), minimum_carbon_reserve :: FT = 0.01, structural_carbon :: FT = 0.2, @@ -53,8 +53,8 @@ import Oceananigans.Models.LagrangianParticleTracking: update_lagrangian_particl nitrogen_reserve_per_nitrogen :: FT = 2.72, minimum_nitrogen_reserve :: FT = 0.0126, maximum_nitrogen_reserve :: FT = 0.0216, - growth_adjustement_2 :: FT = 0.039 / (2 * (1 - minimum_nitrogen_reserve / maximum_nitrogen_reserve)), - growth_adjustement_1 :: FT = 0.18 / (2 * (1 - minimum_nitrogen_reserve / maximum_nitrogen_reserve)) - growth_adjustement_2, + growth_adjustment_2 :: FT = 0.039 / (2 * (1 - minimum_nitrogen_reserve / maximum_nitrogen_reserve)), + growth_adjustment_1 :: FT = 0.18 / (2 * (1 - minimum_nitrogen_reserve / maximum_nitrogen_reserve)) - growth_adjustment_2, maximum_specific_growth_rate :: FT = 0.18, structural_nitrogen :: FT = 0.0146, photosynthesis_at_ref_temp_1 :: FT = 1.22e-3 * 24, @@ -114,7 +114,7 @@ Keyword Arguments ================= - `architecture`: the architecture to adapt arrays to -- `growth_rate_adjustement`, ..., `exudation_redfield_ratio`: parameter values +- `growth_rate_adjustment`, ..., `exudation_redfield_ratio`: parameter values - `prescribed_velocity`: functions for the relative velocity `f(x, y, z, t)` - `x`,`y` and `z`: positions of the particles - `A`, `N`, and `C`: area, nitrogen, and carbon reserves @@ -125,7 +125,7 @@ Keyword Arguments """ Base.@kwdef struct SLatissima{AR, FT, U, P, F} <: BiogeochemicalParticles architecture :: AR = CPU() - growth_rate_adjustement :: FT = 4.5 + growth_rate_adjustment :: FT = 4.5 photosynthetic_efficiency :: FT = 4.15e-5 * 24 * 10^6 / (24 * 60 * 60) minimum_carbon_reserve :: FT = 0.01 structural_carbon :: FT = 0.2 @@ -138,8 +138,8 @@ Base.@kwdef struct SLatissima{AR, FT, U, P, F} <: BiogeochemicalParticles nitrogen_reserve_per_nitrogen :: FT = 2.72 minimum_nitrogen_reserve :: FT = 0.0126 maximum_nitrogen_reserve :: FT = 0.0216 - growth_adjustement_2 :: FT = 0.039 / (2 * (1 - minimum_nitrogen_reserve / maximum_nitrogen_reserve)) - growth_adjustement_1 :: FT = 0.18 / (2 * (1 - minimum_nitrogen_reserve / maximum_nitrogen_reserve)) - growth_adjustement_2 + growth_adjustment_2 :: FT = 0.039 / (2 * (1 - minimum_nitrogen_reserve / maximum_nitrogen_reserve)) + growth_adjustment_1 :: FT = 0.18 / (2 * (1 - minimum_nitrogen_reserve / maximum_nitrogen_reserve)) - growth_adjustment_2 maximum_specific_growth_rate :: FT = 0.18 structural_nitrogen :: FT = 0.0146 photosynthesis_at_ref_temp_1 :: FT = 1.22e-3 * 24 @@ -197,7 +197,7 @@ Base.@kwdef struct SLatissima{AR, FT, U, P, F} <: BiogeochemicalParticles end adapt_structure(to, kelp::SLatissima) = SLatissima(adapt(to, kelp.architecture), - adapt(to, kelp.growth_rate_adjustement), + adapt(to, kelp.growth_rate_adjustment), adapt(to, kelp.photosynthetic_efficiency), adapt(to, kelp.minimum_carbon_reserve), adapt(to, kelp.structural_carbon), @@ -210,8 +210,8 @@ adapt_structure(to, kelp::SLatissima) = SLatissima(adapt(to, kelp.architecture), adapt(to, kelp.nitrogen_reserve_per_nitrogen), adapt(to, kelp.minimum_nitrogen_reserve), adapt(to, kelp.maximum_nitrogen_reserve), - adapt(to, kelp.growth_adjustement_2), - adapt(to, kelp.growth_adjustement_1), + adapt(to, kelp.growth_adjustment_2), + adapt(to, kelp.growth_adjustment_1), adapt(to, kelp.maximum_specific_growth_rate), adapt(to, kelp.structural_nitrogen), adapt(to, kelp.photosynthesis_at_ref_temp_1), @@ -475,7 +475,7 @@ end @inline f_curr(u, p) = p.current_1 * (1 - exp(-u / p.current_3)) + p.current_2 -@inline f_area(a, p) = p.growth_adjustement_1 * exp(-(a / p.growth_rate_adjustement)^2) + p.growth_adjustement_2 +@inline f_area(a, p) = p.growth_adjustment_1 * exp(-(a / p.growth_rate_adjustment)^2) + p.growth_adjustment_2 @inline function f_temp(T, p) # should probably parameterise these limits From 4553559b21934900816552371fd49e7cd13e9dc7 Mon Sep 17 00:00:00 2001 From: Pietro Monticone <38562595+pitmonticone@users.noreply.github.com> Date: Sun, 5 Nov 2023 00:44:23 +0100 Subject: [PATCH 10/26] Update NPZD.jl --- src/Models/AdvectedPopulations/NPZD.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Models/AdvectedPopulations/NPZD.jl b/src/Models/AdvectedPopulations/NPZD.jl index 1134967c4..d87670284 100644 --- a/src/Models/AdvectedPopulations/NPZD.jl +++ b/src/Models/AdvectedPopulations/NPZD.jl @@ -127,7 +127,7 @@ Keyword Arguments - `grid`: (required) the geometry to build the model on, required to calculate sinking - `initial_photosynthetic_slope`, ..., `remineralization_rate`: NPZD parameter values -- `surface_phytosynthetically_active_radiation`: funciton (or array in the future) for the photosynthetically available radiation at the surface, should be shape `f(x, y, t)` +- `surface_phytosynthetically_active_radiation`: function (or array in the future) for the photosynthetically available radiation at the surface, should be shape `f(x, y, t)` - `light_attenuation_model`: light attenuation model which integrated the attenuation of available light - `sediment_model`: slot for `AbstractSediment` - `sinking_speed`: named tuple of constant sinking, of fields (i.e. `ZFaceField(...)`) for any tracers which sink (convention is that a sinking speed is positive, but a field will need to follow the usual down being negative) From fbbd88b343789bb7374ed9c2d3b6ecf4078a287e Mon Sep 17 00:00:00 2001 From: Pietro Monticone <38562595+pitmonticone@users.noreply.github.com> Date: Sun, 5 Nov 2023 00:44:25 +0100 Subject: [PATCH 11/26] Update oxygen_chemistry.jl --- src/Models/AdvectedPopulations/LOBSTER/oxygen_chemistry.jl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Models/AdvectedPopulations/LOBSTER/oxygen_chemistry.jl b/src/Models/AdvectedPopulations/LOBSTER/oxygen_chemistry.jl index 555f66bac..1b964bfb8 100644 --- a/src/Models/AdvectedPopulations/LOBSTER/oxygen_chemistry.jl +++ b/src/Models/AdvectedPopulations/LOBSTER/oxygen_chemistry.jl @@ -5,9 +5,9 @@ ψ = bgc.nitrate_ammonia_inhibition kₙₒ₃ = bgc.nitrate_half_saturation kₙₕ₄ = bgc.ammonia_half_saturation - ROᵖ = bgc.respiraiton_oxygen_nitrogen_ratio - ROⁿ = bgc.nitrifcation_oxygen_nitrogen_ratio - μₙ = bgc.nitrifcaiton_rate + ROᵖ = bgc.respiration_oxygen_nitrogen_ratio + ROⁿ = bgc.nitrification_oxygen_nitrogen_ratio + μₙ = bgc.nitrification_rate return (μₚ * Lₚₐᵣ(PAR, kₚₐᵣ) * (Lₙₒ₃(NO₃, NH₄, ψ, kₙₒ₃) + Lₙₕ₄(NH₄, kₙₕ₄)) * ROᵖ * P - (ROᵖ - ROⁿ) * bgc(Val(:NH₄), x, y, z, t, NO₃, NH₄, P, Z, sPOM, bPOM, DOM, PAR) From fad942a9a12700348bb42ab2f85df41c734fe0fc Mon Sep 17 00:00:00 2001 From: Pietro Monticone <38562595+pitmonticone@users.noreply.github.com> Date: Sun, 5 Nov 2023 00:44:27 +0100 Subject: [PATCH 12/26] Update LOBSTER.jl --- .../AdvectedPopulations/LOBSTER/LOBSTER.jl | 70 +++++++++---------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/src/Models/AdvectedPopulations/LOBSTER/LOBSTER.jl b/src/Models/AdvectedPopulations/LOBSTER/LOBSTER.jl index 422bc2b7e..89ec53779 100644 --- a/src/Models/AdvectedPopulations/LOBSTER/LOBSTER.jl +++ b/src/Models/AdvectedPopulations/LOBSTER/LOBSTER.jl @@ -11,13 +11,13 @@ Tracers * Zooplankton: Z (mmol N/m³) * Small (slow sinking) particulate organic matter: sPOM (mmol N/m³) * Large (fast sinking) particulate organic matter: bPOM (mmol N/m³) -* Disolved organic matter: DOM (mmol N/m³) +* Dissolved organic matter: DOM (mmol N/m³) Optional tracers ================ Carbonate chemistry -* Disolved inorganic carbon: DIC (mmol C/m³) +* Dissolved inorganic carbon: DIC (mmol C/m³) * Alkalinity: Alk (meq/m³) Oxygen chemistry @@ -27,7 +27,7 @@ Variable redfield * Small (slow sinking) particulate organic matter carbon content: sPOC (mmol C/m³) * Large (fast sinking) particulate organic matter carbon content: bPOC (mmol C/m³) -* Disolved organic matter carbon content: DOC (mmol C/m³) +* Dissolved organic matter carbon content: DOC (mmol C/m³) * When this option is enabled then the usual sPOM and bPOM change to sPON and bPON as they explicitly represent the nitrogen contained in the particulate matter Required submodels @@ -83,7 +83,7 @@ struct LOBSTER{FT, B, W} <: AbstractContinuousFormBiogeochemistry small_detritus_remineralisation_rate :: FT large_detritus_remineralisation_rate :: FT phytoplankton_exudation_fraction :: FT - nitrifcaiton_rate :: FT + nitrification_rate :: FT ammonia_fraction_of_exudate :: FT ammonia_fraction_of_excriment :: FT ammonia_fraction_of_detritus :: FT @@ -91,11 +91,11 @@ struct LOBSTER{FT, B, W} <: AbstractContinuousFormBiogeochemistry organic_redfield :: FT phytoplankton_chlorophyll_ratio :: FT organic_carbon_calcate_ratio :: FT - respiraiton_oxygen_nitrogen_ratio :: FT - nitrifcation_oxygen_nitrogen_ratio :: FT + respiration_oxygen_nitrogen_ratio :: FT + nitrification_oxygen_nitrogen_ratio :: FT slow_sinking_mortality_fraction :: FT fast_sinking_mortality_fraction :: FT - disolved_organic_breakdown_rate :: FT + dissolved_organic_breakdown_rate :: FT zooplankton_calcite_dissolution :: FT optionals :: B @@ -117,7 +117,7 @@ struct LOBSTER{FT, B, W} <: AbstractContinuousFormBiogeochemistry small_detritus_remineralisation_rate::FT, large_detritus_remineralisation_rate::FT, phytoplankton_exudation_fraction::FT, - nitrifcaiton_rate::FT, + nitrification_rate::FT, ammonia_fraction_of_exudate::FT, ammonia_fraction_of_excriment::FT, ammonia_fraction_of_detritus::FT, @@ -125,11 +125,11 @@ struct LOBSTER{FT, B, W} <: AbstractContinuousFormBiogeochemistry organic_redfield::FT, phytoplankton_chlorophyll_ratio::FT, organic_carbon_calcate_ratio::FT, - respiraiton_oxygen_nitrogen_ratio::FT, - nitrifcation_oxygen_nitrogen_ratio::FT, + respiration_oxygen_nitrogen_ratio::FT, + nitrification_oxygen_nitrogen_ratio::FT, slow_sinking_mortality_fraction::FT, fast_sinking_mortality_fraction::FT, - disolved_organic_breakdown_rate::FT, + dissolved_organic_breakdown_rate::FT, zooplankton_calcite_dissolution::FT, optionals::B, @@ -151,7 +151,7 @@ struct LOBSTER{FT, B, W} <: AbstractContinuousFormBiogeochemistry small_detritus_remineralisation_rate, large_detritus_remineralisation_rate, phytoplankton_exudation_fraction, - nitrifcaiton_rate, + nitrification_rate, ammonia_fraction_of_exudate, ammonia_fraction_of_excriment, ammonia_fraction_of_detritus, @@ -159,11 +159,11 @@ struct LOBSTER{FT, B, W} <: AbstractContinuousFormBiogeochemistry organic_redfield, phytoplankton_chlorophyll_ratio, organic_carbon_calcate_ratio, - respiraiton_oxygen_nitrogen_ratio, - nitrifcation_oxygen_nitrogen_ratio, + respiration_oxygen_nitrogen_ratio, + nitrification_oxygen_nitrogen_ratio, slow_sinking_mortality_fraction, fast_sinking_mortality_fraction, - disolved_organic_breakdown_rate, + dissolved_organic_breakdown_rate, zooplankton_calcite_dissolution, optionals, @@ -189,7 +189,7 @@ end small_detritus_remineralisation_rate::FT = 5.88e-7, # 1/s large_detritus_remineralisation_rate::FT = 5.88e-7, # 1/s phytoplankton_exudation_fraction::FT = 0.05, - nitrifcaiton_rate::FT = 5.8e-7, # 1/s + nitrification_rate::FT = 5.8e-7, # 1/s ammonia_fraction_of_exudate::FT = 0.75, ammonia_fraction_of_excriment::FT = 0.5, ammonia_fraction_of_detritus::FT = 0.0, @@ -197,11 +197,11 @@ end organic_redfield::FT = 6.56, # mol C/mol N phytoplankton_chlorophyll_ratio::FT = 1.31, # g Chl/mol N organic_carbon_calcate_ratio::FT = 0.1, # mol CaCO₃/mol C - respiraiton_oxygen_nitrogen_ratio::FT = 10.75, # mol O/molN - nitrifcation_oxygen_nitrogen_ratio::FT = 2.0, # mol O/molN + respiration_oxygen_nitrogen_ratio::FT = 10.75, # mol O/molN + nitrification_oxygen_nitrogen_ratio::FT = 2.0, # mol O/molN slow_sinking_mortality_fraction::FT = 0.5, fast_sinking_mortality_fraction::FT = 0.5, - disolved_organic_breakdown_rate::FT = 3.86e-7, # 1/s + dissolved_organic_breakdown_rate::FT = 3.86e-7, # 1/s zooplankton_calcite_dissolution::FT = 0.3, surface_phytosynthetically_active_radiation::SPAR = (x, y, t) -> 100*max(0.0, cos(t*π/(12hours))), @@ -226,11 +226,11 @@ Keyword Arguments ================= - `grid`: (required) the geometry to build the model on, required to calculate sinking -- `phytoplankton_preference`, ..., `disolved_organic_breakdown_rate`: LOBSTER parameter values +- `phytoplankton_preference`, ..., `dissolved_organic_breakdown_rate`: LOBSTER parameter values - `surface_phytosynthetically_active_radiation`: funciton (or array in the future) for the photosynthetically available radiation at the surface, should be shape `f(x, y, t)` - `light_attenuation_model`: light attenuation model which integrated the attenuation of available light - `sediment_model`: slot for `AbstractSediment` -- `carbonates`, `oxygen`, and `variable_redfield`: include models for carbonate chemistry and/or oxygen chemistry and/or variable redfield ratio disolved and particulate organic matter +- `carbonates`, `oxygen`, and `variable_redfield`: include models for carbonate chemistry and/or oxygen chemistry and/or variable redfield ratio dissolved and particulate organic matter - `sinking_speed`: named tuple of constant sinking, of fields (i.e. `ZFaceField(...)`) for any tracers which sink (convention is that a sinking speed is positive, but a field will need to follow the usual down being negative) - `open_bottom`: should the sinking velocity be smoothly brought to zero at the bottom to prevent the tracers leaving the domain - `particles`: slot for `BiogeochemicalParticles` @@ -275,7 +275,7 @@ function LOBSTER(; grid, small_detritus_remineralisation_rate::FT = 5.88e-7, # 1/s large_detritus_remineralisation_rate::FT = 5.88e-7, # 1/s phytoplankton_exudation_fraction::FT = 0.05, - nitrifcaiton_rate::FT = 5.8e-7, # 1/s + nitrification_rate::FT = 5.8e-7, # 1/s ammonia_fraction_of_exudate::FT = 0.75, ammonia_fraction_of_excriment::FT = 0.5, ammonia_fraction_of_detritus::FT = 0.0, @@ -283,11 +283,11 @@ function LOBSTER(; grid, organic_redfield::FT = 6.56, # mol C/mol N phytoplankton_chlorophyll_ratio::FT = 1.31, # g Chl/mol N organic_carbon_calcate_ratio::FT = 0.1, # mol CaCO₃/mol C - respiraiton_oxygen_nitrogen_ratio::FT = 10.75, # mol O/molN - nitrifcation_oxygen_nitrogen_ratio::FT = 2.0, # mol O/molN + respiration_oxygen_nitrogen_ratio::FT = 10.75, # mol O/molN + nitrification_oxygen_nitrogen_ratio::FT = 2.0, # mol O/molN slow_sinking_mortality_fraction::FT = 0.5, fast_sinking_mortality_fraction::FT = 0.5, - disolved_organic_breakdown_rate::FT = 3.86e-7, # 1/s + dissolved_organic_breakdown_rate::FT = 3.86e-7, # 1/s zooplankton_calcite_dissolution::FT = 0.3, surface_phytosynthetically_active_radiation = (x, y, t) -> 100 * max(0.0, cos(t * π / (12hours))), @@ -332,7 +332,7 @@ function LOBSTER(; grid, small_detritus_remineralisation_rate, large_detritus_remineralisation_rate, phytoplankton_exudation_fraction, - nitrifcaiton_rate, + nitrification_rate, ammonia_fraction_of_exudate, ammonia_fraction_of_excriment, ammonia_fraction_of_detritus, @@ -340,11 +340,11 @@ function LOBSTER(; grid, organic_redfield, phytoplankton_chlorophyll_ratio, organic_carbon_calcate_ratio, - respiraiton_oxygen_nitrogen_ratio, - nitrifcation_oxygen_nitrogen_ratio, + respiration_oxygen_nitrogen_ratio, + nitrification_oxygen_nitrogen_ratio, slow_sinking_mortality_fraction, fast_sinking_mortality_fraction, - disolved_organic_breakdown_rate, + dissolved_organic_breakdown_rate, zooplankton_calcite_dissolution, optionals, @@ -377,7 +377,7 @@ required_biogeochemical_auxiliary_fields(::LOBSTER) = (:PAR, ) const small_detritus = Union{Val{:sPON}, Val{:sPOC}} const large_detritus = Union{Val{:bPON}, Val{:bPOC}} -const disolved_organic_matter = Union{Val{:DON}, Val{:DOC}} +const dissolved_organic_matter = Union{Val{:DON}, Val{:DOC}} const sPOM = Union{Val{:sPOM}, Val{:sPON}} const bPOM = Union{Val{:bPOM}, Val{:bPON}} @@ -385,7 +385,7 @@ const DOM = Union{Val{:DOM}, Val{:DON}} @inline biogeochemical_drift_velocity(bgc::LOBSTER, ::small_detritus) = biogeochemical_drift_velocity(bgc, Val(:sPOM)) @inline biogeochemical_drift_velocity(bgc::LOBSTER, ::large_detritus) = biogeochemical_drift_velocity(bgc, Val(:bPOM)) -@inline biogeochemical_drift_velocity(bgc::LOBSTER, ::disolved_organic_matter) = biogeochemical_drift_velocity(bgc, Val(:DOM)) +@inline biogeochemical_drift_velocity(bgc::LOBSTER, ::dissolved_organic_matter) = biogeochemical_drift_velocity(bgc, Val(:DOM)) @inline function biogeochemical_drift_velocity(bgc::LOBSTER, ::Val{tracer_name}) where tracer_name if tracer_name in keys(bgc.sinking_velocities) @@ -415,7 +415,7 @@ adapt_structure(to, lobster::LOBSTER) = adapt(to, lobster.small_detritus_remineralisation_rate), adapt(to, lobster.large_detritus_remineralisation_rate), adapt(to, lobster.phytoplankton_exudation_fraction), - adapt(to, lobster.nitrifcaiton_rate), + adapt(to, lobster.nitrification_rate), adapt(to, lobster.ammonia_fraction_of_exudate), adapt(to, lobster.ammonia_fraction_of_excriment), adapt(to, lobster.ammonia_fraction_of_detritus), @@ -423,11 +423,11 @@ adapt_structure(to, lobster::LOBSTER) = adapt(to, lobster.organic_redfield), adapt(to, lobster.phytoplankton_chlorophyll_ratio), adapt(to, lobster.organic_carbon_calcate_ratio), - adapt(to, lobster.respiraiton_oxygen_nitrogen_ratio), - adapt(to, lobster.nitrifcation_oxygen_nitrogen_ratio), + adapt(to, lobster.respiration_oxygen_nitrogen_ratio), + adapt(to, lobster.nitrification_oxygen_nitrogen_ratio), adapt(to, lobster.slow_sinking_mortality_fraction), adapt(to, lobster.fast_sinking_mortality_fraction), - adapt(to, lobster.disolved_organic_breakdown_rate), + adapt(to, lobster.dissolved_organic_breakdown_rate), adapt(to, lobster.zooplankton_calcite_dissolution), adapt(to, lobster.optionals), adapt(to, lobster.sinking_velocities)) From eb09a4fb01cc4184397717fa2c5852db9717a96f Mon Sep 17 00:00:00 2001 From: Pietro Monticone <38562595+pitmonticone@users.noreply.github.com> Date: Sun, 5 Nov 2023 00:44:29 +0100 Subject: [PATCH 13/26] Update fallbacks.jl --- src/Models/AdvectedPopulations/LOBSTER/fallbacks.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Models/AdvectedPopulations/LOBSTER/fallbacks.jl b/src/Models/AdvectedPopulations/LOBSTER/fallbacks.jl index fd8902c26..ddb8b3873 100644 --- a/src/Models/AdvectedPopulations/LOBSTER/fallbacks.jl +++ b/src/Models/AdvectedPopulations/LOBSTER/fallbacks.jl @@ -11,7 +11,7 @@ # Carbonates and oxygen # We can't tell the difference between carbonates and oxygen, and variable redfields without specifying more -# We're lucky that the optional groups have 2, 1, 3 extra variables each so this is the only non-unique conbination +# We're lucky that the optional groups have 2, 1, 3 extra variables each so this is the only non-unique combination @inline (bgc::LOBSTER{<:Any, <:Val{(true, true, false)}, <:Any})(tracer::Val{:DIC}, x, y, z, t, NO₃, NH₄, P, Z, sPOM, bPOM, DOM, DIC, Alk, O₂, PAR) = bgc(tracer, x, y, z, t, NO₃, NH₄, P, Z, sPOM, bPOM, DOM, DIC, Alk, PAR) @inline (bgc::LOBSTER{<:Any, <:Val{(true, true, false)}, <:Any})(tracer::Val{:Alk}, x, y, z, t, NO₃, NH₄, P, Z, sPOM, bPOM, DOM, DIC, Alk, O₂, PAR) = bgc(tracer, x, y, z, t, NO₃, NH₄, P, Z, sPOM, bPOM, DOM, DIC, Alk, PAR) @inline (bgc::LOBSTER{<:Any, <:Val{(true, true, false)}, <:Any})(tracer::Val{:O₂}, x, y, z, t, NO₃, NH₄, P, Z, sPOM, bPOM, DOM, DIC, Alk, O₂, PAR) = bgc(tracer, x, y, z, t, NO₃, NH₄, P, Z, sPOM, bPOM, DOM, O₂, PAR) From 58aad279556e6df1552b9334f12f3d35505ef0d6 Mon Sep 17 00:00:00 2001 From: Pietro Monticone <38562595+pitmonticone@users.noreply.github.com> Date: Sun, 5 Nov 2023 00:44:31 +0100 Subject: [PATCH 14/26] Update core.jl --- src/Models/AdvectedPopulations/LOBSTER/core.jl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Models/AdvectedPopulations/LOBSTER/core.jl b/src/Models/AdvectedPopulations/LOBSTER/core.jl index af067b793..ed862fdf7 100644 --- a/src/Models/AdvectedPopulations/LOBSTER/core.jl +++ b/src/Models/AdvectedPopulations/LOBSTER/core.jl @@ -14,7 +14,7 @@ kₚₐᵣ = bgc.light_half_saturation ψ = bgc.nitrate_ammonia_inhibition kₙₒ₃ = bgc.nitrate_half_saturation - μₙ = bgc.nitrifcaiton_rate + μₙ = bgc.nitrification_rate return μₙ*NH₄ - μₚ*Lₚₐᵣ(PAR, kₚₐᵣ)*Lₙₒ₃(NO₃, NH₄, ψ, kₙₒ₃)*P end @@ -27,12 +27,12 @@ end ψ = bgc.nitrate_ammonia_inhibition kₙₒ₃ = bgc.nitrate_half_saturation kₙₕ₄ = bgc.ammonia_half_saturation - μₙ = bgc.nitrifcaiton_rate + μₙ = bgc.nitrification_rate αᶻ = bgc.ammonia_fraction_of_excriment αᵈ = bgc.ammonia_fraction_of_detritus μᵈ = bgc.small_detritus_remineralisation_rate μᵈᵈ = bgc.large_detritus_remineralisation_rate - μᵈᵒᵐ = bgc.disolved_organic_breakdown_rate + μᵈᵒᵐ = bgc.dissolved_organic_breakdown_rate μᶻ = bgc.zooplankton_excretion_rate return (αᵖ * γ * μₚ * Lₚₐᵣ(PAR, kₚₐᵣ) * (Lₙₒ₃(NO₃, NH₄, ψ, kₙₒ₃) + Lₙₕ₄(NH₄, kₙₕ₄)) * P @@ -56,7 +56,7 @@ end αᵈ = bgc.ammonia_fraction_of_detritus μᵈ = bgc.small_detritus_remineralisation_rate μᵈᵈ = bgc.large_detritus_remineralisation_rate - μᵈᵒᵐ = bgc.disolved_organic_breakdown_rate + μᵈᵒᵐ = bgc.dissolved_organic_breakdown_rate μᶻ = bgc.zooplankton_excretion_rate return ((1 - αᵖ) * γ * μₚ * Lₚₐᵣ(PAR, kₚₐᵣ) * (Lₙₒ₃(NO₃, NH₄, ψ, kₙₒ₃) + Lₙₕ₄(NH₄, kₙₕ₄)) * P From e22107ec61921aac86b1acc313096bd0ccfb3e54 Mon Sep 17 00:00:00 2001 From: Pietro Monticone <38562595+pitmonticone@users.noreply.github.com> Date: Sun, 5 Nov 2023 00:44:33 +0100 Subject: [PATCH 15/26] Update carbonate_chemistry.jl --- src/Models/AdvectedPopulations/LOBSTER/carbonate_chemistry.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Models/AdvectedPopulations/LOBSTER/carbonate_chemistry.jl b/src/Models/AdvectedPopulations/LOBSTER/carbonate_chemistry.jl index e2edb8839..2fb78f35f 100644 --- a/src/Models/AdvectedPopulations/LOBSTER/carbonate_chemistry.jl +++ b/src/Models/AdvectedPopulations/LOBSTER/carbonate_chemistry.jl @@ -10,7 +10,7 @@ αᵈ = bgc.ammonia_fraction_of_detritus μˢᵖᵒᶜ = bgc.small_detritus_remineralisation_rate μᵇᵖᵒᶜ = bgc.large_detritus_remineralisation_rate - μᵈᵒᵐ = bgc.disolved_organic_breakdown_rate + μᵈᵒᵐ = bgc.dissolved_organic_breakdown_rate μᶻ = bgc.zooplankton_excretion_rate ρᶜᵃᶜᵒ³ = bgc.organic_carbon_calcate_ratio Rdᵖ = bgc.phytoplankton_redfield From 1f0e3c9df21e53d1cbc82955d1c3fbb92eb7163f Mon Sep 17 00:00:00 2001 From: Pietro Monticone <38562595+pitmonticone@users.noreply.github.com> Date: Sun, 5 Nov 2023 00:44:35 +0100 Subject: [PATCH 16/26] Update instant_remineralization.jl --- .../Sediments/instant_remineralization.jl | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/Boundaries/Sediments/instant_remineralization.jl b/src/Boundaries/Sediments/instant_remineralization.jl index 3828b1629..be1f51066 100644 --- a/src/Boundaries/Sediments/instant_remineralization.jl +++ b/src/Boundaries/Sediments/instant_remineralization.jl @@ -3,14 +3,14 @@ Hold the parameters and fields the simplest benthic boundary layer where organic carbon is assumed to remineralise instantly with some portion -becoming N, and a fraction being perminantly burried. +becoming N, and a fraction being permanently buried. Burial efficiency from [RemineralisationFraction](@citet). """ struct InstantRemineralisation{FT, F, TE, B} <: FlatSediment burial_efficiency_constant1 :: FT burial_efficiency_constant2 :: FT - burial_efficiency_half_saturaiton :: FT + burial_efficiency_half_saturation :: FT fields :: F tendencies :: TE @@ -18,13 +18,13 @@ struct InstantRemineralisation{FT, F, TE, B} <: FlatSediment InstantRemineralisation(burial_efficiency_constant1::FT, burial_efficiency_constant2::FT, - burial_efficiency_half_saturaiton::FT, + burial_efficiency_half_saturation::FT, fields::F, tendencies::TE, bottom_indices::B) where {FT, F, TE, B} = new{FT, F, TE, B}(burial_efficiency_constant1, burial_efficiency_constant2, - burial_efficiency_half_saturaiton, + burial_efficiency_half_saturation, fields, tendencies, bottom_indices) @@ -34,7 +34,7 @@ end InstantRemineralisation(; grid, burial_efficiency_constant1::FT = 0.013, burial_efficiency_constant2::FT = 0.53, - burial_efficiency_half_saturaiton::FT = 7) + burial_efficiency_half_saturation::FT = 7) Return a single-layer instant remineralisaiton model for NPZD bgc models. @@ -52,7 +52,7 @@ sediment_model = InstantRemineralisation(; grid) function InstantRemineralisation(; grid, burial_efficiency_constant1 = 0.013, burial_efficiency_constant2 = 0.53, - burial_efficiency_half_saturaiton = 7.0) + burial_efficiency_half_saturation = 7.0) @warn "Sediment models are an experimental feature and have not yet been validated" @@ -67,7 +67,7 @@ function InstantRemineralisation(; grid, return InstantRemineralisation(burial_efficiency_constant1, burial_efficiency_constant2, - burial_efficiency_half_saturaiton, + burial_efficiency_half_saturation, fields, tendencies, bottom_indices) @@ -76,7 +76,7 @@ end adapt_structure(to, sediment::InstantRemineralisation) = InstantRemineralisation(adapt(to, sediment.burial_efficiency_constant1), adapt(to, sediment.burial_efficiency_constant2), - adapt(to, sediment.burial_efficiency_half_saturaiton), + adapt(to, sediment.burial_efficiency_half_saturation), adapt(to, sediment.fields), nothing, adapt(to, sediment.bottom_indices)) From 1b778836d6f3b002b8d3feeaba2e00a81ed03fd4 Mon Sep 17 00:00:00 2001 From: Pietro Monticone <38562595+pitmonticone@users.noreply.github.com> Date: Sun, 5 Nov 2023 00:44:37 +0100 Subject: [PATCH 17/26] Update instant_remineralisation.md --- docs/src/model_components/sediments/instant_remineralisation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/model_components/sediments/instant_remineralisation.md b/docs/src/model_components/sediments/instant_remineralisation.md index c21644cf5..3a1fbd9e8 100644 --- a/docs/src/model_components/sediments/instant_remineralisation.md +++ b/docs/src/model_components/sediments/instant_remineralisation.md @@ -18,7 +18,7 @@ where ``F_{OC}`` is the carbon flux (in this implementation the nitrogen flux mu |---------|-------------------------------------|-----------------| | ``E_0`` | `burial_efficiency_constant1` | - | | ``E_1`` | `burial_efficiency_constant2` | - | -| ``k_B`` | `burial_efficiency_half_saturaiton` | mmol C / m² / s | +| ``k_B`` | `burial_efficiency_half_saturation` | mmol C / m² / s | ## Model conservations From c1a1dc86e7fc3315d3d0a8dc19e3eb770fc33725 Mon Sep 17 00:00:00 2001 From: Pietro Monticone <38562595+pitmonticone@users.noreply.github.com> Date: Mon, 6 Nov 2023 20:46:37 +0100 Subject: [PATCH 18/26] Update docs/src/model_components/biogeochemical/LOBSTER.md Co-authored-by: Navid C. Constantinou --- docs/src/model_components/biogeochemical/LOBSTER.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/model_components/biogeochemical/LOBSTER.md b/docs/src/model_components/biogeochemical/LOBSTER.md index d336e6a16..077d6f564 100644 --- a/docs/src/model_components/biogeochemical/LOBSTER.md +++ b/docs/src/model_components/biogeochemical/LOBSTER.md @@ -146,7 +146,7 @@ Additionally, the ``DIC`` and ``Alk`` equations are modified to replace each ``X | ``\mu_{sPOM}`` | `small_detritus_remineralisation_rate` | 1 / s | | ``\mu_{bPOM}`` | `large_detritus_remineralisation_rate` | 1 / s | | ``\gamma`` | `phytoplankton_exudation_fraction` | - | -| ``\mu_n`` | `nitrification_rate` | 1 / 2 | +| ``\mu_n`` | `nitrification_rate` | 1 / 2 | | ``\alpha_P`` | `ammonia_fraction_of_exudate` | - | | ``\alpha_Z`` | `ammonia_fraction_of_excriment` | - | | ``\alpha_d`` | `ammonia_fraction_of_detritus` | - | From c9c2827a96e271219b30c869bf3210aaa45338bc Mon Sep 17 00:00:00 2001 From: Pietro Monticone <38562595+pitmonticone@users.noreply.github.com> Date: Mon, 6 Nov 2023 20:46:52 +0100 Subject: [PATCH 19/26] Update docs/src/model_components/biogeochemical/LOBSTER.md Co-authored-by: Navid C. Constantinou --- docs/src/model_components/biogeochemical/LOBSTER.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/model_components/biogeochemical/LOBSTER.md b/docs/src/model_components/biogeochemical/LOBSTER.md index 077d6f564..b21da3d4e 100644 --- a/docs/src/model_components/biogeochemical/LOBSTER.md +++ b/docs/src/model_components/biogeochemical/LOBSTER.md @@ -155,7 +155,7 @@ Additionally, the ``DIC`` and ``Alk`` equations are modified to replace each ``X | ``R_{Chl:N}`` | `phytoplankton_chlorophyll_ratio` | mg Chl / mmol N | | ``\rho_{CaCO_3}`` | `organic_carbon_calcate_ratio` | mmol CaCO₃/ mmol C | | ``R_{O_2}`` | `respiration_oxygen_nitrogen_ratio` | mmol O / mmol N | -| ``R_{nit}`` | `nitrification_oxygen_nitrogen_ratio` | mmol O / mmol N | +| ``R_{nit}`` | `nitrification_oxygen_nitrogen_ratio` | mmol O / mmol N | | ``f_s`` | `slow_sinking_mortality_fraction` | - | | ``\mu_{DOM}`` | `dissolved_organic_breakdown_rate` | 1 / s | | ``\eta`` | `zooplankton_calcite_dissolution` | - | From ebd50204a75a74f9886c47de1ee352d2f23359f4 Mon Sep 17 00:00:00 2001 From: Pietro Monticone <38562595+pitmonticone@users.noreply.github.com> Date: Mon, 6 Nov 2023 20:47:02 +0100 Subject: [PATCH 20/26] Update docs/src/model_components/biogeochemical/LOBSTER.md Co-authored-by: Navid C. Constantinou --- docs/src/model_components/biogeochemical/LOBSTER.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/model_components/biogeochemical/LOBSTER.md b/docs/src/model_components/biogeochemical/LOBSTER.md index b21da3d4e..a24f47188 100644 --- a/docs/src/model_components/biogeochemical/LOBSTER.md +++ b/docs/src/model_components/biogeochemical/LOBSTER.md @@ -157,7 +157,7 @@ Additionally, the ``DIC`` and ``Alk`` equations are modified to replace each ``X | ``R_{O_2}`` | `respiration_oxygen_nitrogen_ratio` | mmol O / mmol N | | ``R_{nit}`` | `nitrification_oxygen_nitrogen_ratio` | mmol O / mmol N | | ``f_s`` | `slow_sinking_mortality_fraction` | - | -| ``\mu_{DOM}`` | `dissolved_organic_breakdown_rate` | 1 / s | +| ``\mu_{DOM}`` | `dissolved_organic_breakdown_rate` | 1 / s | | ``\eta`` | `zooplankton_calcite_dissolution` | - | All default parameter values are given in [Parameters](@ref parameters); and a more thorough explanation of new terms will be included in a publication that is in prep. From c32d7eedb1db91c6f509b5c3262fda4d9c170750 Mon Sep 17 00:00:00 2001 From: Pietro Monticone <38562595+pitmonticone@users.noreply.github.com> Date: Mon, 6 Nov 2023 20:47:13 +0100 Subject: [PATCH 21/26] Update docs/src/model_components/individuals/slatissima.md Co-authored-by: Navid C. Constantinou --- docs/src/model_components/individuals/slatissima.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/model_components/individuals/slatissima.md b/docs/src/model_components/individuals/slatissima.md index 36f4e9d56..362d6bf59 100644 --- a/docs/src/model_components/individuals/slatissima.md +++ b/docs/src/model_components/individuals/slatissima.md @@ -126,7 +126,7 @@ R = \left[R_A\left(\frac{\mu}{\mu_\text{max}} + \frac{J}{J_\text{max}}\right) + | Symbol | Variable name | Units | |--------------------------|--------------------------------------|-------------------------| -| ``A_0`` | `growth_rate_adjustment` | 1 / dm² | +| ``A_0`` | `growth_rate_adjustment` | 1 / dm² | | ``\alpha`` | `photosynthetic_efficiency` | gC / dm² / s / einstein | | ``C_\text{min}`` | `minimum_carbon_reserve` | gC / gSW | | ``C_\text{struct}`` | `structural_carbon` | gC / gSW | From 9acac7e39b9af77b7cf2526d38fe18f1fb0a6613 Mon Sep 17 00:00:00 2001 From: Pietro Monticone <38562595+pitmonticone@users.noreply.github.com> Date: Mon, 6 Nov 2023 20:47:23 +0100 Subject: [PATCH 22/26] Update docs/src/model_components/individuals/slatissima.md Co-authored-by: Navid C. Constantinou --- docs/src/model_components/individuals/slatissima.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/src/model_components/individuals/slatissima.md b/docs/src/model_components/individuals/slatissima.md index 362d6bf59..eb18809f2 100644 --- a/docs/src/model_components/individuals/slatissima.md +++ b/docs/src/model_components/individuals/slatissima.md @@ -139,8 +139,8 @@ R = \left[R_A\left(\frac{\mu}{\mu_\text{max}} + \frac{J}{J_\text{max}}\right) + | ``k_N`` | `nitrogen_reserve_per_nitrogen` | g / gN | | ``N_\text{min}`` | `minimum_nitrogen_reserve` | gN / gSW | | ``N_\text{max}`` | `maximum_nitrogen_reserve` | gN / gSW | -| ``m_2`` | `growth_adjustment_2` | - | -| ``m_1`` | `growth_adjustment_1` | - | +| ``m_2`` | `growth_adjustment_2` | - | +| ``m_1`` | `growth_adjustment_1` | - | | ``\mu_\text{max}`` | `maximum_specific_growth_rate` | 1 / s | | ``N_\text{struct}`` | `structural_nitrogen` | gN / gSW | | ``P_1`` | `photosynthesis_at_ref_temp_1` | gC / dm² / s | From fc8ce03117e78f53827b76d84d3008566f66177f Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Mon, 6 Nov 2023 13:01:35 -0700 Subject: [PATCH 23/26] up to Oceananigans v0.90.1 --- Manifest.toml | 253 +++++++++++++++++++++++++++++++++++++++----------- Project.toml | 7 +- 2 files changed, 202 insertions(+), 58 deletions(-) diff --git a/Manifest.toml b/Manifest.toml index 27e9b019d..832c8babf 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -2,7 +2,7 @@ julia_version = "1.9.3" manifest_format = "2.0" -project_hash = "abd05af8b9fe6476515dbe2a1c676a74ac1e6059" +project_hash = "7e59988043c698ee7c997aa4e3274214bd7adfb1" [[deps.AbstractFFTs]] deps = ["LinearAlgebra"] @@ -17,9 +17,9 @@ weakdeps = ["ChainRulesCore", "Test"] [[deps.Adapt]] deps = ["LinearAlgebra", "Requires"] -git-tree-sha1 = "76289dc51920fdc6e0013c872ba9551d54961c24" +git-tree-sha1 = "02f731463748db57cc2ebfbd9fbc9ce8280d3433" uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" -version = "3.6.2" +version = "3.7.1" weakdeps = ["StaticArrays"] [deps.Adapt.extensions] @@ -31,9 +31,9 @@ version = "1.1.1" [[deps.ArrayInterface]] deps = ["Adapt", "LinearAlgebra", "Requires", "SparseArrays", "SuiteSparse"] -git-tree-sha1 = "f83ec24f76d4c8f525099b2ac475fc098138ec31" +git-tree-sha1 = "16267cf279190ca7c1b30d020758ced95db89cd0" uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" -version = "7.4.11" +version = "7.5.1" [deps.ArrayInterface.extensions] ArrayInterfaceBandedMatricesExt = "BandedMatrices" @@ -87,16 +87,20 @@ uuid = "179af706-886a-5703-950a-314cd64e0468" version = "0.1.2" [[deps.CUDA]] -deps = ["AbstractFFTs", "Adapt", "BFloat16s", "CEnum", "CUDA_Driver_jll", "CUDA_Runtime_Discovery", "CUDA_Runtime_jll", "ExprTools", "GPUArrays", "GPUCompiler", "KernelAbstractions", "LLVM", "LazyArtifacts", "Libdl", "LinearAlgebra", "Logging", "Preferences", "Printf", "Random", "Random123", "RandomNumbers", "Reexport", "Requires", "SparseArrays", "SpecialFunctions", "UnsafeAtomicsLLVM"] -git-tree-sha1 = "968c1365e2992824c3e7a794e30907483f8469a9" +deps = ["AbstractFFTs", "Adapt", "BFloat16s", "CEnum", "CUDA_Driver_jll", "CUDA_Runtime_Discovery", "CUDA_Runtime_jll", "Crayons", "DataFrames", "ExprTools", "GPUArrays", "GPUCompiler", "KernelAbstractions", "LLVM", "LazyArtifacts", "Libdl", "LinearAlgebra", "Logging", "NVTX", "Preferences", "PrettyTables", "Printf", "Random", "Random123", "RandomNumbers", "Reexport", "Requires", "SparseArrays", "Statistics", "UnsafeAtomicsLLVM"] +git-tree-sha1 = "f062a48c26ae027f70c44f48f244862aec47bf99" uuid = "052768ef-5323-5732-b1bb-66c8b64840ba" -version = "4.4.1" +version = "5.0.0" +weakdeps = ["SpecialFunctions"] + + [deps.CUDA.extensions] + SpecialFunctionsExt = "SpecialFunctions" [[deps.CUDA_Driver_jll]] deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl", "Pkg"] -git-tree-sha1 = "498f45593f6ddc0adff64a9310bb6710e851781b" +git-tree-sha1 = "2f64185414751a5f878c4ab616c0edd94ade3419" uuid = "4ee394cb-3365-5eb0-8335-949819d2adfc" -version = "0.5.0+1" +version = "0.6.0+4" [[deps.CUDA_Runtime_Discovery]] deps = ["Libdl"] @@ -106,15 +110,31 @@ version = "0.2.2" [[deps.CUDA_Runtime_jll]] deps = ["Artifacts", "CUDA_Driver_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "TOML"] -git-tree-sha1 = "5248d9c45712e51e27ba9b30eebec65658c6ce29" +git-tree-sha1 = "a38bc81bd6fdc7334de537aec3ae60e7b098daa2" uuid = "76a88914-d11a-5bdc-97e0-2f5a05c973a2" -version = "0.6.0+0" +version = "0.9.2+4" [[deps.ChainRulesCore]] -deps = ["Compat", "LinearAlgebra", "SparseArrays"] -git-tree-sha1 = "e30f2f4e20f7f186dc36529910beaedc60cfa644" +deps = ["Compat", "LinearAlgebra"] +git-tree-sha1 = "e0af648f0692ec1691b5d094b8724ba1346281cf" uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" -version = "1.16.0" +version = "1.18.0" +weakdeps = ["SparseArrays"] + + [deps.ChainRulesCore.extensions] + ChainRulesCoreSparseArraysExt = "SparseArrays" + +[[deps.ColorTypes]] +deps = ["FixedPointNumbers", "Random"] +git-tree-sha1 = "eb7f0f8307f71fac7c606984ea5fb2817275d6e4" +uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f" +version = "0.11.4" + +[[deps.Colors]] +deps = ["ColorTypes", "FixedPointNumbers", "Reexport"] +git-tree-sha1 = "fc08e5930ee9a4e03f84bfb5211cb54e7769758a" +uuid = "5ae59095-9a9b-59fe-a467-6f913c188581" +version = "0.12.10" [[deps.CommonDataModel]] deps = ["CFTime", "DataStructures", "Dates", "Preferences", "Printf"] @@ -163,15 +183,21 @@ version = "4.1.1" [[deps.CubedSphere]] deps = ["Elliptic", "FFTW", "Printf", "ProgressBars", "SpecialFunctions", "TaylorSeries", "Test"] -git-tree-sha1 = "131498c78453d02b4821d8b93f6e44595399f19f" +git-tree-sha1 = "253193dfb0384646936c5ff3230b27a20d91261e" uuid = "7445602f-e544-4518-8976-18f8e8ae6cdb" -version = "0.2.3" +version = "0.2.4" [[deps.DataAPI]] git-tree-sha1 = "8da84edb865b0b5b0100c0666a9bc9a0b71c553c" uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" version = "1.15.0" +[[deps.DataFrames]] +deps = ["Compat", "DataAPI", "DataStructures", "Future", "InlineStrings", "InvertedIndices", "IteratorInterfaceExtensions", "LinearAlgebra", "Markdown", "Missings", "PooledArrays", "PrecompileTools", "PrettyTables", "Printf", "REPL", "Random", "Reexport", "SentinelArrays", "SortingAlgorithms", "Statistics", "TableTraits", "Tables", "Unicode"] +git-tree-sha1 = "04c738083f29f86e62c8afc341f0967d8717bdb8" +uuid = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" +version = "1.6.1" + [[deps.DataStructures]] deps = ["Compat", "InteractiveUtils", "OrderedCollections"] git-tree-sha1 = "3dbd312d370723b6bb43ba9d02fc36abade4518d" @@ -187,6 +213,12 @@ version = "1.0.0" deps = ["Printf"] uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" +[[deps.DiskArrays]] +deps = ["OffsetArrays"] +git-tree-sha1 = "1bfa9de80f35ac63c6c381b2d43c590875896a1f" +uuid = "3c3547ce-8d99-4f5e-a174-61eb10b00ae3" +version = "0.3.22" + [[deps.Distances]] deps = ["LinearAlgebra", "Statistics", "StatsAPI"] git-tree-sha1 = "5225c965635d8c21168e32a12954675e7bea1151" @@ -244,15 +276,21 @@ version = "1.16.1" [[deps.FileWatching]] uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" +[[deps.FixedPointNumbers]] +deps = ["Statistics"] +git-tree-sha1 = "335bfdceacc84c5cdf16aadc768aa5ddfc5383cc" +uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" +version = "0.8.4" + [[deps.Future]] deps = ["Random"] uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" [[deps.GPUArrays]] deps = ["Adapt", "GPUArraysCore", "LLVM", "LinearAlgebra", "Printf", "Random", "Reexport", "Serialization", "Statistics"] -git-tree-sha1 = "2e57b4a4f9cc15e85a24d603256fe08e527f48d1" +git-tree-sha1 = "85d7fb51afb3def5dcb85ad31c3707795c8bccc1" uuid = "0c68f7d7-f131-5f86-a1c3-88cf8149b2d7" -version = "8.8.1" +version = "9.1.0" [[deps.GPUArraysCore]] deps = ["Adapt"] @@ -262,9 +300,9 @@ version = "0.1.5" [[deps.GPUCompiler]] deps = ["ExprTools", "InteractiveUtils", "LLVM", "Libdl", "Logging", "Scratch", "TimerOutputs", "UUIDs"] -git-tree-sha1 = "72b2e3c2ba583d1a7aa35129e56cf92e07c083e3" +git-tree-sha1 = "5e4487558477f191c043166f8301dd0b4be4e2b2" uuid = "61eb1bfa-7361-4325-ad38-22787b887f55" -version = "0.21.4" +version = "0.24.5" [[deps.Glob]] git-tree-sha1 = "97285bbd5230dd766e9ef6749b80fc617126d496" @@ -277,6 +315,12 @@ git-tree-sha1 = "38c8874692d48d5440d5752d6c74b0c6b0b60739" uuid = "0234f1f7-429e-5d53-9886-15a909be8d59" version = "1.14.2+1" +[[deps.Hwloc_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "8ecb0b34472a3c98f945e3c75fc7d5428d165511" +uuid = "e33a78d0-f292-5ffc-b300-72abe9b543c8" +version = "2.9.3+0" + [[deps.IfElse]] git-tree-sha1 = "debdd00ffef04665ccbb3e150747a77560e8fad1" uuid = "615f187c-cbe4-4ef1-ba3b-2fcf58d6d173" @@ -288,6 +332,12 @@ git-tree-sha1 = "6c676e79f98abb6d33fa28122cad099f1e464afe" uuid = "40713840-3770-5561-ab4c-a76e7d0d7895" version = "0.2.1" +[[deps.InlineStrings]] +deps = ["Parsers"] +git-tree-sha1 = "9cc2baf75c6d09f9da536ddf58eb2f29dedaf461" +uuid = "842dd82b-1e85-43dc-bf29-5d0ee9dffc48" +version = "1.4.0" + [[deps.IntelOpenMP_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "ad37c091f7d7daf900963171600d7c1c5c3ede32" @@ -298,6 +348,11 @@ version = "2023.2.0+0" deps = ["Markdown"] uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" +[[deps.InvertedIndices]] +git-tree-sha1 = "0dc7b50b8d436461be01300fd8cd45aa0274b038" +uuid = "41ab1584-1d38-5bbf-9106-f11c6c58b48f" +version = "1.3.0" + [[deps.IrrationalConstants]] git-tree-sha1 = "630b497eafcc20001bba38a4651b327dcfc491d2" uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" @@ -305,9 +360,9 @@ version = "0.2.2" [[deps.IterativeSolvers]] deps = ["LinearAlgebra", "Printf", "Random", "RecipesBase", "SparseArrays"] -git-tree-sha1 = "1169632f425f79429f245113b775a0e3d121457c" +git-tree-sha1 = "b435d190ef8369cf4d79cc9dd5fba88ba0165307" uuid = "42fd0dbc-a981-5370-80f2-aaf504508153" -version = "0.9.2" +version = "0.9.3" [[deps.IteratorInterfaceExtensions]] git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856" @@ -315,10 +370,10 @@ uuid = "82899510-4779-5014-852e-03e436cf321d" version = "1.0.0" [[deps.JLD2]] -deps = ["FileIO", "MacroTools", "Mmap", "OrderedCollections", "Pkg", "Printf", "Reexport", "Requires", "TranscodingStreams", "UUIDs"] -git-tree-sha1 = "c11d691a0dc8e90acfa4740d293ade57f68bfdbb" +deps = ["FileIO", "MacroTools", "Mmap", "OrderedCollections", "Pkg", "PrecompileTools", "Printf", "Reexport", "Requires", "TranscodingStreams", "UUIDs"] +git-tree-sha1 = "9bbb5130d3b4fa52846546bca4791ecbdfb52730" uuid = "033835bb-8acc-5ee8-8aae-3f567f8a3819" -version = "0.4.35" +version = "0.4.38" [[deps.JLLWrappers]] deps = ["Artifacts", "Preferences"] @@ -332,11 +387,17 @@ git-tree-sha1 = "95220473901735a0f4df9d1ca5b171b568b2daa3" uuid = "0f8b85d8-7281-11e9-16c2-39a750bddbf1" version = "1.13.2" +[[deps.JuliaNVTXCallbacks_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "af433a10f3942e882d3c671aacb203e006a5808f" +uuid = "9c1d0b0a-7046-5b2e-a33f-ea22f176ac7e" +version = "0.2.1+0" + [[deps.KernelAbstractions]] deps = ["Adapt", "Atomix", "InteractiveUtils", "LinearAlgebra", "MacroTools", "PrecompileTools", "Requires", "SparseArrays", "StaticArrays", "UUIDs", "UnsafeAtomics", "UnsafeAtomicsLLVM"] -git-tree-sha1 = "4c5875e4c228247e1c2b087669846941fb6e0118" +git-tree-sha1 = "95063c5bc98ba0c47e75e05ae71f1fed4deac6f6" uuid = "63c18a36-062a-441e-b654-da1e3ab1ce7c" -version = "0.9.8" +version = "0.9.12" [deps.KernelAbstractions.extensions] EnzymeExt = "EnzymeCore" @@ -345,16 +406,20 @@ version = "0.9.8" EnzymeCore = "f151be2c-9106-41f4-ab19-57ee4f262869" [[deps.LLVM]] -deps = ["CEnum", "LLVMExtra_jll", "Libdl", "Printf", "Unicode"] -git-tree-sha1 = "4ea2928a96acfcf8589e6cd1429eff2a3a82c366" +deps = ["CEnum", "LLVMExtra_jll", "Libdl", "Preferences", "Printf", "Requires", "Unicode"] +git-tree-sha1 = "c879e47398a7ab671c782e02b51a4456794a7fa3" uuid = "929cbde3-209d-540e-8aea-75f648917ca0" -version = "6.3.0" +version = "6.4.0" +weakdeps = ["BFloat16s"] + + [deps.LLVM.extensions] + BFloat16sExt = "BFloat16s" [[deps.LLVMExtra_jll]] deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl", "TOML"] -git-tree-sha1 = "e7c01b69bcbcb93fd4cbc3d0fea7d229541e18d2" +git-tree-sha1 = "a84f8f1e8caaaa4e3b4c101306b9e801d3883ace" uuid = "dad2f222-ce93-54a1-a47d-0025e8a3acab" -version = "0.0.26+0" +version = "0.0.27+0" [[deps.LLVMOpenMP_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] @@ -362,6 +427,11 @@ git-tree-sha1 = "f689897ccbe049adb19a065c495e75f372ecd42b" uuid = "1d63c593-3942-5779-bab2-d838dc0a180e" version = "15.0.4+0" +[[deps.LaTeXStrings]] +git-tree-sha1 = "50901ebc375ed41dbf8058da26f9de442febbbec" +uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" +version = "1.3.1" + [[deps.LazyArtifacts]] deps = ["Artifacts", "Pkg"] uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3" @@ -445,9 +515,9 @@ version = "4.1.2+0" [[deps.MPIPreferences]] deps = ["Libdl", "Preferences"] -git-tree-sha1 = "781916a2ebf2841467cda03b6f1af43e23839d85" +git-tree-sha1 = "8f6af051b9e8ec597fa09d8885ed79fd582f33c9" uuid = "3da0fdf6-3ccc-4f1b-acd9-58baa6c99267" -version = "0.1.9" +version = "0.1.10" [[deps.MPItrampoline_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML"] @@ -472,9 +542,15 @@ version = "2.28.2+0" [[deps.MicrosoftMPI_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "a7023883872e52bc29bcaac74f19adf39347d2d5" +git-tree-sha1 = "b01beb91d20b0d1312a9471a36017b5b339d26de" uuid = "9237b28f-5490-5468-be7b-bb81f5f5e6cf" -version = "10.1.4+0" +version = "10.1.4+1" + +[[deps.Missings]] +deps = ["DataAPI"] +git-tree-sha1 = "f66bdc5de519e8f8ae43bdc598782d35a25b1272" +uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28" +version = "1.1.0" [[deps.Mmap]] uuid = "a63ad114-7e13-5084-954f-fe012c677804" @@ -484,10 +560,22 @@ uuid = "14a3606d-f60d-562e-9121-12d972cd8159" version = "2022.10.11" [[deps.NCDatasets]] -deps = ["CFTime", "CommonDataModel", "DataStructures", "Dates", "NetCDF_jll", "NetworkOptions", "Printf"] -git-tree-sha1 = "4263c4220f22e20729329838bf7e94a49d1ac32f" +deps = ["CFTime", "CommonDataModel", "DataStructures", "Dates", "DiskArrays", "NetCDF_jll", "NetworkOptions", "Printf"] +git-tree-sha1 = "7fcb4378f9c648a186bcb996fa29acc929a179ed" uuid = "85f8d34a-cbdd-5861-8df4-14fed0d494ab" -version = "0.12.17" +version = "0.13.1" + +[[deps.NVTX]] +deps = ["Colors", "JuliaNVTXCallbacks_jll", "Libdl", "NVTX_jll"] +git-tree-sha1 = "8bc9ce4233be3c63f8dcd78ccaf1b63a9c0baa34" +uuid = "5da4648a-3479-48b8-97b9-01cb529c0a1f" +version = "0.3.3" + +[[deps.NVTX_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "ce3269ed42816bf18d500c9f63418d4b0d9f5a3b" +uuid = "e98f9f5b-d649-5603-91fd-7774390e6439" +version = "3.1.0+2" [[deps.NetCDF_jll]] deps = ["Artifacts", "Bzip2_jll", "HDF5_jll", "JLLWrappers", "LibCURL_jll", "Libdl", "XML2_jll", "Zlib_jll", "Zstd_jll"] @@ -501,9 +589,15 @@ version = "1.2.0" [[deps.Oceananigans]] deps = ["Adapt", "CUDA", "Crayons", "CubedSphere", "Dates", "Distances", "DocStringExtensions", "FFTW", "Glob", "IncompleteLU", "InteractiveUtils", "IterativeSolvers", "JLD2", "KernelAbstractions", "LinearAlgebra", "Logging", "MPI", "NCDatasets", "OffsetArrays", "OrderedCollections", "PencilArrays", "PencilFFTs", "Pkg", "Printf", "Random", "Rotations", "SeawaterPolynomials", "SparseArrays", "Statistics", "StructArrays"] -git-tree-sha1 = "e8caa94d03ec34434abc0fb036d43d34d1903411" +git-tree-sha1 = "7ef7083f3fb79f225c50716bee81265c626ff98d" uuid = "9e8cae18-63c1-5223-a75c-80ca9d6e9a09" -version = "0.89.2" +version = "0.90.1" + + [deps.Oceananigans.extensions] + OceananigansEnzymeCoreExt = "EnzymeCore" + + [deps.Oceananigans.weakdeps] + EnzymeCore = "f151be2c-9106-41f4-ab19-57ee4f262869" [[deps.OffsetArrays]] deps = ["Adapt"] @@ -522,16 +616,16 @@ uuid = "05823500-19ac-5b8b-9628-191a04bc5112" version = "0.8.1+0" [[deps.OpenMPI_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML"] -git-tree-sha1 = "e25c1778a98e34219a00455d6e4384e017ea9762" +deps = ["Artifacts", "CompilerSupportLibraries_jll", "Hwloc_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "PMIx_jll", "TOML", "Zlib_jll", "libevent_jll", "prrte_jll"] +git-tree-sha1 = "694458ae803b684f09c07f90459cb79655fb377d" uuid = "fe0851c0-eecd-5654-98d4-656369965a5c" -version = "4.1.6+0" +version = "5.0.0+0" [[deps.OpenSSL_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "ceeda72c9fd6bbebc4f4f598560789145a8b6c4c" +git-tree-sha1 = "cc6e1927ac521b659af340e0ca45828a3ffc748f" uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" -version = "3.0.11+0" +version = "3.0.12+0" [[deps.OpenSpecFun_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] @@ -544,6 +638,12 @@ git-tree-sha1 = "2e73fe17cac3c62ad1aebe70d44c963c3cfdc3e3" uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" version = "1.6.2" +[[deps.PMIx_jll]] +deps = ["Artifacts", "Hwloc_jll", "JLLWrappers", "Libdl", "Zlib_jll", "libevent_jll"] +git-tree-sha1 = "8b3b19351fa24791f94d7ae85faf845ca1362541" +uuid = "32165bc3-0280-59bc-8c0b-c33b6203efab" +version = "4.2.7+0" + [[deps.PackageExtensionCompat]] git-tree-sha1 = "fb28e33b8a95c4cee25ce296c817d89cc2e53518" uuid = "65ce6f38-6b18-4e1d-a461-8949797d7930" @@ -587,6 +687,12 @@ git-tree-sha1 = "f9501cc0430a26bc3d156ae1b5b0c1b47af4d6da" uuid = "eebad327-c553-4316-9ea0-9fa01ccd7688" version = "0.3.3" +[[deps.PooledArrays]] +deps = ["DataAPI", "Future"] +git-tree-sha1 = "36d8b4b899628fb92c2749eb488d884a926614d3" +uuid = "2dfb63ee-cc39-5dd5-95bd-886bf059d720" +version = "1.4.3" + [[deps.PrecompileTools]] deps = ["Preferences"] git-tree-sha1 = "03b4c25b43cb84cee5c90aa9b5ea0a78fd848d2f" @@ -599,6 +705,12 @@ git-tree-sha1 = "00805cd429dcb4870060ff49ef443486c262e38e" uuid = "21216c6a-2e73-6563-6e65-726566657250" version = "1.4.1" +[[deps.PrettyTables]] +deps = ["Crayons", "LaTeXStrings", "Markdown", "Printf", "Reexport", "StringManipulation", "Tables"] +git-tree-sha1 = "6842ce83a836fbbc0cfeca0b5a4de1a4dcbdb8d1" +uuid = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d" +version = "2.2.8" + [[deps.Printf]] deps = ["Unicode"] uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" @@ -688,15 +800,21 @@ version = "0.7.0" [[deps.Scratch]] deps = ["Dates"] -git-tree-sha1 = "30449ee12237627992a99d5e30ae63e4d78cd24a" +git-tree-sha1 = "3bac05bc7e74a75fd9cba4295cde4045d9fe2386" uuid = "6c6a2e73-6563-6170-7368-637461726353" -version = "1.2.0" +version = "1.2.1" [[deps.SeawaterPolynomials]] git-tree-sha1 = "958ba75b90c7c8a117d041d33184134201cf8c0f" uuid = "d496a93d-167e-4197-9f49-d3af4ff8fe40" version = "0.3.2" +[[deps.SentinelArrays]] +deps = ["Dates", "Random"] +git-tree-sha1 = "0e7508ff27ba32f26cd459474ca2ede1bc10991f" +uuid = "91c51154-3ec4-41a3-a24f-3f23e20d615c" +version = "1.4.1" + [[deps.Serialization]] uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" @@ -709,6 +827,12 @@ version = "1.1.1" [[deps.Sockets]] uuid = "6462fe0b-24de-5631-8697-dd941f90decc" +[[deps.SortingAlgorithms]] +deps = ["DataStructures"] +git-tree-sha1 = "5165dfb9fd131cf0c6957a3a7605dede376e7b63" +uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" +version = "1.2.0" + [[deps.SparseArrays]] deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" @@ -787,6 +911,12 @@ weakdeps = ["CUDA"] [deps.StridedViews.extensions] StridedViewsCUDAExt = "CUDA" +[[deps.StringManipulation]] +deps = ["PrecompileTools"] +git-tree-sha1 = "a04cabe79c5f01f4d723cc6704070ada0b9d46d5" +uuid = "892a3eda-7b42-436c-8928-eab12a02cf0e" +version = "0.3.4" + [[deps.StructArrays]] deps = ["Adapt", "ConstructionBase", "DataAPI", "GPUArraysCore", "StaticArraysCore", "Tables"] git-tree-sha1 = "0a3db38e4cce3c54fe7a71f831cd7b6194a54213" @@ -821,9 +951,9 @@ version = "1.0.1" [[deps.Tables]] deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "LinearAlgebra", "OrderedCollections", "TableTraits"] -git-tree-sha1 = "a1f34829d5ac0ef499f6d84428bd6b4c71f02ead" +git-tree-sha1 = "cb76cf677714c095e535e3501ac7954732aeea2d" uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" -version = "1.11.0" +version = "1.11.1" [[deps.Tar]] deps = ["ArgTools", "SHA"] @@ -853,10 +983,13 @@ uuid = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" version = "0.5.23" [[deps.TranscodingStreams]] -deps = ["Random", "Test"] -git-tree-sha1 = "9a6ae7ed916312b41236fcef7e0af564ef934769" +git-tree-sha1 = "1fbeaaca45801b4ba17c251dd8603ef24801dd84" uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" -version = "0.9.13" +version = "0.10.2" +weakdeps = ["Random", "Test"] + + [deps.TranscodingStreams.extensions] + TestExt = ["Test", "Random"] [[deps.TupleTools]] git-tree-sha1 = "155515ed4c4236db30049ac1495e2969cc06be9d" @@ -914,6 +1047,12 @@ deps = ["Artifacts", "Libdl"] uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" version = "5.8.0+0" +[[deps.libevent_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "OpenSSL_jll"] +git-tree-sha1 = "f04ec6d9a186115fb38f858f05c0c4e1b7fc9dcb" +uuid = "1080aeaf-3a6a-583e-a51c-c537b09f60ec" +version = "2.1.13+1" + [[deps.nghttp2_jll]] deps = ["Artifacts", "Libdl"] uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" @@ -923,3 +1062,9 @@ version = "1.48.0+0" deps = ["Artifacts", "Libdl"] uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" version = "17.4.0+0" + +[[deps.prrte_jll]] +deps = ["Artifacts", "Hwloc_jll", "JLLWrappers", "Libdl", "PMIx_jll", "libevent_jll"] +git-tree-sha1 = "5adb2d7a18a30280feb66cad6f1a1dfdca2dc7b0" +uuid = "eb928a42-fffd-568d-ab9c-3f5d54fc65b9" +version = "3.0.2+0" diff --git a/Project.toml b/Project.toml index b70ab4ffc..d6fd60aa3 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "OceanBioME" uuid = "a49af516-9db8-4be4-be45-1dad61c5a376" authors = ["Jago Strong-Wright and contributors"] -version = "0.8.0" +version = "0.9.0" [deps] Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" @@ -13,10 +13,10 @@ StructArrays = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" [compat] Adapt = "3" -Documenter = "0.27" +Documenter = "1" JLD2 = "0.4" KernelAbstractions = "0.9" -Oceananigans = "0.84.1, 0.85 - 0.89" +Oceananigans = "0.90" Roots = "2" StructArrays = "0.4, 0.5, 0.6" julia = "1.9" @@ -29,7 +29,6 @@ Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" Interpolations = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59" JLD2 = "033835bb-8acc-5ee8-8aae-3f567f8a3819" NetCDF = "30363a11-5582-574a-97bb-aa9a979735b9" -Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7" Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" From 2800ac4bacd41eb9300737df0a4f2d93c64f0045 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Mon, 6 Nov 2023 13:03:48 -0700 Subject: [PATCH 24/26] rephrase citation to specific version --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 42d8bedab..7a8903aa6 100644 --- a/README.md +++ b/README.md @@ -160,4 +160,4 @@ If you use OceanBioME as part of your research, teaching, or other activities, w } ``` -To cite a specific version of the package please also cite its [Zenodo archive](https://doi.org/10.5281/zenodo.10038575). +If on top of citing the JOSS paper above, you need to cite a specific version of the package then please cite its corresponding version from the [Zenodo archive](https://zenodo.org/doi/10.5281/zenodo.8403489). From 8f074e8b259504727a74d50673d719f409e76e52 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Mon, 6 Nov 2023 13:09:03 -0700 Subject: [PATCH 25/26] bump up Oceananigans compat to v0.90 --- docs/Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Project.toml b/docs/Project.toml index c7439da61..7fc56f152 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -18,4 +18,4 @@ CairoMakie = "0.10" Documenter = "1" DocumenterCitations = "1" Literate = "≥2.9.0" -Oceananigans = "^0.89.2" +Oceananigans = "0.90" From d13cb0f4541dbb6f20e298f906c492a0f857edc9 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Mon, 6 Nov 2023 13:20:35 -0700 Subject: [PATCH 26/26] fix example --- docs/src/model_implementation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/model_implementation.md b/docs/src/model_implementation.md index 328ffdb45..03d9281a9 100644 --- a/docs/src/model_implementation.md +++ b/docs/src/model_implementation.md @@ -251,7 +251,7 @@ sediment = InstantRemineralisation(; grid) sinking_velocity = ZFaceField(grid) -w_sink(x, y, z) = 2 / day * tanh(z / 5) +w_sink(z) = 2 / day * tanh(z / 5) set!(sinking_velocity, w_sink)