Skip to content

Implement npzd model

  • Outsource parameter definitions to yaml configuration file
  • How to avoid case definitions for continuously differentiable function? oxic vs. anoxic conditions → individual parameter switches and functions of environmental conditions (mixed) resuspension vs. deposition depending on critical shear stress limitation terms: min(lim_1, lim_2, lim_3)
  • How to incorporate more complex functions like N-Limitation into matrix formulation (torch.tensor((NPZD_Old_State[4] / (Nitrate_Half_Saturation + NPZD_Old_State[4]) * torch.exp(-1.0 * Ammonium_Inhibition * NPZD_Old_State[5]))))?
  • How to consider additional fluxes: air-sea oxygen flux, sediment release of nutrients, sinking, etc.
  • Remove diagnostic calculations by moving them into the rate equations or keep separate? -- category 1: functions of T, light, bottom stress (defined by critical shear - - -- stress and for resuspension the actual shear stress) category 2: simplifications of equations by calculating repeated parts diagnostically
  • Include sediment organic matter and inorganic phosphorus in state or separately?