UVic-updates-opem

Introduces optimality-based phytoplankton and zooplankton into the UVic-ESCM (version 2.9) with variable C:N:P(:Chl) stoichiometry for phytoplankton, diazotrophs and detritus.
https://git.geomar.de/markus-pahlow/UVic-updates-opem

Category: Biosphere
Sub Category: Marine Life and Fishery

Last synced: about 5 hours ago
JSON representation

Repository metadata

https://git.geomar.de/markus-pahlow/UVic-updates-opem/blob/master/

          # UVic-updates-opem: Optimality-based Plankton Ecosystem Model (OPEM) for the UVic-ESCM

Markus Pahlow (mpahlow@geomar.de)

UVic-updates-opem introduces optimality-based phytoplankton and zooplankton into the UVic-ESCM (version 2.9) with variable C:N:P(:Chl) stoichiometry for phytoplankton, diazotrophs, and detritus.  Code development started with and has incorporated updates provided by David Keller, Karin Kvale, and Levin Nickelsen.

## Setup

1. Clone the [UVic_ESCM-2.9](https://git.geomar.de/markus-pahlow/UVic_ESCM-2.9.git) to obtain the base code and data files
2. Enter the `UVic_ESCM-2.9` folder and issue the commands `git submodule init`, `git submodule sync`, and `git submodule update`

OPEM is activated via the compile-option `O_opem` and `Updates_Level = opem` in mk.in.  The first `Source_Directory` in mk.in must be set as `Source_Directory(1) = updates/opem/f90`.  A template [mk.in](mk.in) is provided in this project for compilation with ifort.  You must set the Version\_Directory to the root folder of your UVic\_ESCM-2.9 installation, i.e., where the mk executable and the run folder are.  Note that I also set Libraries, Compiler_F, etc. in mk.in.  Option `O_npzzd` switches on a second zooplankton compartment, but we have not used this yet.  Option `O_opem_chl` switches on dynamic chlorophyll tracers.  See also this [description of preprocessor options](options.md).  Here is a (still incomplete) commented [control.in](control.in).

## Comments

* Comment on O2 and N2 fixation: assimilatory nitrate reduction to ammonium releases 2 mol O2 / mol N,
HNO3 + 1.5 H2O -> NH3 + 0.5 H2O + 2 O2, whereas N2 fixation releases only 0.75 mol O2 / mol N,
0.5 N2 + 1.5 H2O -> NH3 + 0.75 O2.  Thus, growth on N2 fixation releases 1.25 mol O2 less than growth on nitrate.
* Fixed bug sometimes inflating negative concentrations: do not limit `tnpzd` to positive values in subroutine `tracer`, as this interferes with the flag mechanism in `npzd_src`.
* If `timavgint=30`, i.e., not a divisor of a year (365 days), the first month will be skipped if starting at the beginning of the year and the year is not a multiple of 30.  -> set `init_time_in = .true.` in namelist `ictime`.
* Positive particulate tracers can be enforced by activating `O_fct_3d` and `O_opem_pos` in mk.in.

## License

This work is published under the [GNU General Public License 3 (GPL-3.0)](http://opensource.org/licenses/GPL-3.0).  You may copy, distribute and modify the software as long as you track changes/dates of in source files and keep modifications under GPL. You can distribute your application using a GPL library commercially, but you must also provide the source code."

        

Committers metadata

Last synced: 1 day ago

Total Commits: 120
Total Committers: 2
Avg Commits per committer: 60.0
Development Distribution Score (DDS): 0.05

Commits in past year: 2
Committers in past year: 1
Avg Commits per committer in past year: 2.0
Development Distribution Score (DDS) in past year: 0.0

Name Email Commits
Markus Pahlow m****w@g****e 114
Chia-Te Chien c****n@g****e 6

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Score: 0.6931471805599453