Skip to content

Add size structure example#153

Draft
FannyMonteiro wants to merge 7 commits intomainfrom
size_struct_example
Draft

Add size structure example#153
FannyMonteiro wants to merge 7 commits intomainfrom
size_struct_example

Conversation

@FannyMonteiro
Copy link

@FannyMonteiro FannyMonteiro commented Feb 7, 2025

closes #148

TODO:

  • define default model
  • change n_zoo and n_phyto
  • test how many n_* is feasible (run time)
  • change PAR functions (seasonal vs fixed)
  • change min and max diameters
  • change splitting function
  • create plots
  • calculate CWM size (access attributes)
  • add description
  • add introduction (Darwin model concept, size structure model, allometric relationship for growth, grazing ...) with graphic generated with the code
  • create a function to set initial condition for a large number of P or Z
  • Plot total phytoplankton and total zooplankton timeseries
  • Only show the 5 size groups example

@FannyMonteiro
Copy link
Author

FannyMonteiro commented Mar 25, 2025

@nanophyto, I simplified the example to include only a 4 phyto, 4 zoo example. I also added description about the allometric relationships and the trait-based approach.

Things to do still:

  • add graphs of the allometric relationships
  • change the min and max diameters. Currently, it is set to 2 and 10 for phytoplankton and 20-100 for zooplankton, which limits diversity. I think we should increase the range to 0.2 to 2,000 for phyto and 2 to 20,000 for zoo, which mimic the range observed for phytoplankton size (smallest prochlorococcus versus largest diatoms).
  • Plot the total phyto and total zoo timeseries

@FannyMonteiro
Copy link
Author

@nanophyto, looking into https://vscode.dev/github/agate-model/Agate.jl/blob/size_struct_example/src/Constructors/NPZD_size_structured.jl, phytoplankton max growth rate is defined only as a reduction of growth with size. However, the allometry suggests that growth rate peaks at mid size, with picoplankton exhibiting an increase in growth rate with size. This is how the Darwin model does it.

I share some notes with you here on the different values for allometry of phytoplankton rates:
https://docs.google.com/document/d/1mvDo3pv5CrxpWbx-d2Z2LX-XmZNrhSJbojqtIKIErRo/edit?usp=sharing

@nanophyto
Copy link
Member

nanophyto commented Mar 25, 2025

  • change the min and max diameters. Currently, it is set to 2 and 10 for phytoplankton and 20-100 for zooplankton, which limits diversity. I think we should increase the range to 0.2 to 2,000 for phyto and 2 to 20,000 for zoo, which mimic the range observed for phytoplankton size (smallest prochlorococcus versus largest diatoms).

@nanophyto, looking into https://vscode.dev/github/agate-model/Agate.jl/blob/size_struct_example/src/Constructors/NPZD_size_structured.jl, phytoplankton max growth rate is defined only as a reduction of growth with size. However, the allometry suggests that growth rate peaks at mid size, with picoplankton exhibiting an increase in growth rate with size. This is how the Darwin model does it.

I share some notes with you here on the different values for allometry of phytoplankton rates: https://docs.google.com/document/d/1mvDo3pv5CrxpWbx-d2Z2LX-XmZNrhSJbojqtIKIErRo/edit?usp=sharing

Nice catch, this switch between negative and positive scaling occurs at ~6um, so as it is currently implemented (i.e. an exponential form of aV^b) neither are correct for the default size range of 2-10um.

Moving forward we should implement a unimodal slope for the current NiPiZD and V1 Agate.jl-DARWIN model, and we can stick with the aV^b once more groups are added to V2 Agate.jl-DARWIN (e.g. have a +b for pico and -b for everything else).

In the meantime, we could change the default size range to be >6-150 um and stick with the default b value. Diatoms >200um are very uncommon in the modern ocean and are not represented in the DARWIN model.

@nanophyto nanophyto self-requested a review March 27, 2025 13:51
Copy link
Member

@nanophyto nanophyto left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great already I added a suggestion to change the sizes

@FannyMonteiro FannyMonteiro requested a review from nanophyto March 28, 2025 08:03
@FannyMonteiro
Copy link
Author

@nanophyto, I finished the size structure example. Can you review it (as requested)?

@nanophyto
Copy link
Member

@nanophyto, I finished the size structure example. Can you review it (as requested)?

This looks great already - thanks. I will add some specific comments shortly.

I had a good chat with Chris this morning, and he mentioned that the extinction of the larger plankton could be due to three reasons:

  • mortality terms are too high and exceed growth rates for larger types
  • net nutrient concentrations are too low. This could be resolved by setting higher initial concentrations of nitrogen or detritus
  • remineralization rates are too low, leading to large fluctuations drivings initial extinction of the larger plankton

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

N_plankton example

2 participants