Skip to content

Commit b793e7d

Browse files
committed
Merge branch 'main' into 'gmp'
Main merge to gmp See merge request dam-elbextreme/oxypom!4
2 parents cf7cd01 + 3f51fe6 commit b793e7d

File tree

10 files changed

+706
-112
lines changed

10 files changed

+706
-112
lines changed

LICENSE.md

Lines changed: 216 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,216 @@
1+
<!--
2+
SPDX-FileCopyRightText: {datetime.date.today().year} Helmholtz-Zentrum hereon GmbH
3+
SPDX-LicenseRef: CC0-1.0
4+
SPDX-FileContributor: Carsten Lemmen <carsten.lemmen@hereon.de>
5+
6+
This file was autogenerated by `{sys.argv[0]}`, please do not edit by hand.
7+
To produce this content, run `reuse spdx | python {sys.argv[0]}`
8+
-->
9+
10+
# Licenses used
11+
12+
While the OxyPOM software itself is distributed under the Apache-2.0 permissive
13+
license, several other licenses are used by this project, all of them open source,
14+
and most of them under open source licenses approved by the Open Software
15+
Initiative.
16+
17+
You can find the full license text for each license used
18+
in the [LICENSES](./LICENSES/) folder.
19+
20+
<img src=https://149753425.v2.pressablecdn.com/wp-content/uploads/2009/06/OSIApproved_100X125.png width=10px height=12.5px> [Apache-2.0](./LICENSES/Apache-2.0.txt); <img src=https://149753425.v2.pressablecdn.com/wp-content/uploads/2009/06/OSIApproved_100X125.png width=10px height=12.5px> [CC-BY-3.0](./LICENSES/CC-BY-3.0.txt); <img src=https://149753425.v2.pressablecdn.com/wp-content/uploads/2009/06/OSIApproved_100X125.png width=10px height=12.5px> [CC-BY-4.0](./LICENSES/CC-BY-4.0.txt); <img src=https://149753425.v2.pressablecdn.com/wp-content/uploads/2009/06/OSIApproved_100X125.png width=10px height=12.5px> [CC-BY-SA-4.0](./LICENSES/CC-BY-SA-4.0.txt); <img src=https://149753425.v2.pressablecdn.com/wp-content/uploads/2009/06/OSIApproved_100X125.png width=10px height=12.5px> [CC0-1.0](./LICENSES/CC0-1.0.txt).
21+
22+
## Copyright holders
23+
24+
The following organizations and individuals own copyrights to (parts of) this project.
25+
26+
* Helmholtz-Zentrum hereon GmbH
27+
* Organization for Ethical Source
28+
* Project Harmony
29+
* The Journal of Open Source Software
30+
31+
## License and copyright manifest
32+
33+
Each file carries a license attribution, please consult the following list to identify
34+
the license applicable to an individual file:
35+
36+
* ./.docker/Dockerfile-fabm:
37+
License: CC0-1.0
38+
Copyright: 2024-2025 Helmholtz-Zentrum hereon GmbH
39+
* ./.docker/Makefile:
40+
License: CC0-1.0
41+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
42+
* ./.editorconfig:
43+
License: CC0-1.0
44+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
45+
* ./.github/dependabot.yaml:
46+
License: CC0-1.0
47+
Copyright: 2022-2025 Helmholtz-Zentrum hereon GmbH
48+
* ./.github/workflows/cmake-multi-platform.yaml:
49+
License: CC0-1.0
50+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
51+
* ./.github/workflows/fabm.yaml:
52+
License: CC0-1.0
53+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
54+
* ./.github/workflows/gotm.yaml:
55+
License: CC0-1.0
56+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
57+
* ./.gitignore:
58+
License: CC0-1.0
59+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
60+
* ./.gitlab-ci.yml:
61+
License: CC0-1.0
62+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
63+
* ./.gitlab/fabm.yaml:
64+
License: CC0-1.0
65+
Copyright: 2023-2025 Helmholtz-Zentrum hereon GmbH
66+
* ./.gitlab/joss.yaml:
67+
License: CC0-1.0
68+
Copyright: 2022-2025 Helmholtz-Zentrum hereon GmbH
69+
* ./.gitlab/license.yaml:
70+
License: CC0-1.0
71+
Copyright: 2022-2025 Helmholtz-Zentrum hereon GmbH
72+
* ./.gitlab/r.yaml:
73+
License: CC0-1.0
74+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
75+
* ./.gitlab/zenodo.yaml:
76+
License: CC0-1.0
77+
Copyright: 2023-2025 Helmholtz-Zentrum hereon GmbH
78+
* ./.mailmap:
79+
License: CC0-1.0
80+
Copyright: 2023-2025 Helmholtz-Zentrum hereon GmbH
81+
* ./.pre-commit-config.yaml:
82+
License: CC0-1.0
83+
Copyright: 2022-2025 Helmholtz-Zentrum hereon GmbH
84+
* ./.zenodo.json:
85+
License: CC0-1.0
86+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
87+
* ./CITATION.cff:
88+
License: CC0-1.0
89+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
90+
* ./ChangeLog.md:
91+
License: CC0-1.0
92+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
93+
* ./Makefile:
94+
License: CC0-1.0
95+
Copyright: 2023-2025 Helmholtz-Zentrum hereon GmbH
96+
* ./ReadMe.md:
97+
License: CC0-1.0
98+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
99+
* ./codemeta.json:
100+
License: CC0-1.0
101+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
102+
* ./doc/contributing/ReadMe.md:
103+
License: CC0-1.0
104+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
105+
* ./doc/contributing/code_of_conduct.md:
106+
License: CC-BY-4.0
107+
Copyright: 2014-2023 Organization for Ethical Source
108+
* ./doc/contributing/coding_standard.md:
109+
License: CC0-1.0
110+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
111+
* ./doc/contributing/contributing-license.md:
112+
License: CC-BY-3.0
113+
Copyright: 2011 Project Harmony
114+
* ./doc/joss/.gitignore:
115+
License: CC0-1.0
116+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
117+
* ./doc/joss/Makefile:
118+
License: CC0-1.0
119+
Copyright: 2023-2025 Helmholtz-Zentrum hereon GmbH
120+
* ./doc/joss/ReadMe.md:
121+
License: CC0-1.0
122+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
123+
* ./doc/joss/figure1.pdf:
124+
License: CC-BY-4.0
125+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
126+
* ./doc/joss/joss-template.tex:
127+
License: CC-BY-SA-4.0
128+
Copyright: 2018-2023 The Journal of Open Source Software
129+
* ./doc/joss/joss_banner_title.png:
130+
License: CC-BY-4.0
131+
Copyright: 2018-2025 The Journal of Open Source Software
132+
* ./doc/joss/paper.bib:
133+
License: CC0-1.0
134+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
135+
* ./doc/joss/paper.md:
136+
License: CC-BY-4.0
137+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
138+
* ./python/reuse2txt.py:
139+
License: Apache-2.0
140+
Copyright: 2023-2025 Helmholtz-Zentrum hereon GmbH
141+
* ./src/CMakeLists.txt:
142+
License: CC0-1.0
143+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
144+
* ./src/diamo/README.md:
145+
License: CC0-1.0
146+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
147+
* ./src/diamo/diamo.F90:
148+
License: Apache-2.0
149+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
150+
* ./src/light/light.F90:
151+
License: CC0-1.0
152+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
153+
* ./src/oxypom/README.md:
154+
License: CC0-1.0
155+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
156+
* ./src/oxypom/oxypom.F90:
157+
License: Apache-2.0
158+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
159+
* ./src/oxypom_model_library.F90:
160+
License: CC0-1.0
161+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
162+
* ./testcases/ReadMe.md:
163+
License: CC0-1.0
164+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
165+
* ./testcases/estuary/ReadMe.md:
166+
License: CC0-1.0
167+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
168+
* ./testcases/estuary/fabm.yaml:
169+
License: CC0-1.0
170+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
171+
* ./testcases/estuary/get_data.sh:
172+
License: CC0-1.0
173+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
174+
* ./testcases/estuary/gotm.yaml:
175+
License: CC0-1.0
176+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
177+
* ./testcases/estuary/output.yaml:
178+
License: CC0-1.0
179+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
180+
* ./testcases/estuary/plot_output.R:
181+
License: CC0-1.0
182+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
183+
* ./testcases/estuary/setup_data.R:
184+
License: CC0-1.0
185+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
186+
* ./testcases/fabm-installation.sh:
187+
License: CC0-1.0
188+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
189+
* ./testcases/gotm-installation.sh:
190+
License: CC0-1.0
191+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
192+
* ./testcases/light/README.md:
193+
License: CC0-1.0
194+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
195+
* ./testcases/light/fabm.new.yaml:
196+
License: CC0-1.0
197+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
198+
* ./testcases/light/fabm.ref.yaml:
199+
License: CC0-1.0
200+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
201+
* ./testcases/light/gotm.yaml:
202+
License: CC0-1.0
203+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
204+
* ./testcases/light/model_comparison.R:
205+
License: CC0-1.0
206+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
207+
* ./testcases/light/output.yaml:
208+
License: CC0-1.0
209+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
210+
* ./testcases/run-estuary-testcase.sh:
211+
License: CC0-1.0
212+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
213+
* ./testcases/run-light-testcase.sh:
214+
License: CC0-1.0
215+
Copyright: 2025 Helmholtz-Zentrum hereon GmbH
216+

Makefile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ default:
1313
@echo Valid Makefile targets are: '"version"'
1414
@echo To build this package, follow the instructions in the Readme.md file.
1515

16+
LICENSE.md: python/reuse2txt.py
17+
reuse spdx | python python/reuse2txt.py > ./LICENSE.md
18+
19+
license: LICENSE.md
20+
1621
# This target updates all files that control the versioning
1722
# of the software package
1823
version:

ReadMe.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,10 @@ Together with `OxyPOM` and `DiaMO`, this repository includes the model `oxypom/l
3939

4040
- This model requires:
4141

42-
- `FABM` (v1 or above) available in [fabm github](https://github.com/fabm-model/fabm/).
43-
It can be cloned using `git clone https://github.com/fabm-model/fabm.git fabm`.
42+
- `FABM` (v1 or above) available in [fabm github](https://github.com/fabm-model/fabm/).
43+
It can be cloned using `git clone https://github.com/fabm-model/fabm.git fabm`.
4444

45-
- The physical driver:
45+
- The physical driver:
4646
- `GOTM` (v6.0 latest stable release) available in [gotm github](https://github.com/orgs/gotm-model/repositories).
4747
It can be cloned using via `git clone --recursive https://github.com/gotm-model/code.git -b v6.0 gotm6`.
4848

doc/joss/figure1.pdf

-1.01 KB
Binary file not shown.

doc/joss/paper.bib

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,4 +102,46 @@ @article{Maerz2009
102102
url = {http://dx.doi.org/10.1016/j.ecss.2009.05.015},
103103
volume = {84},
104104
year = {2009}
105+
}
106+
107+
@article{Raymond2001,
108+
author = {Raymond, Peter A. and Cole, Jonathan J.},
109+
journal = {Estuaries},
110+
number = {2},
111+
pages = {312--317},
112+
title = {{Gas exchange in rivers and estuaries: Choosing a gas
113+
transfer velocity}},
114+
volume = {24},
115+
year = {2001},
116+
doi = {10.2307/1352954},
117+
issn = {01608347},
118+
}
119+
120+
121+
@article{Scharfe2009,
122+
author = {Scharfe, Mirco and Callies, Ulrich and
123+
Bl{\"{o}}cker, Gerd and Petersen, Wilhelm and
124+
Schroeder, Friedhelm},
125+
journal = {Ecol. Modell.},
126+
number = {18},
127+
pages = {2173--2186},
128+
title = {{A simple Lagrangian model to simulate temporal
129+
variability of algae in the Elbe River}},
130+
volume = {220},
131+
year = {2009},
132+
doi = {10.1016/j.ecolmodel.2009.04.048},
133+
issn = {03043800},
134+
}
135+
136+
@article{Wirtz2019,
137+
author = {Wirtz, Kai W.},
138+
journal = {PLoS One},
139+
number = {2},
140+
title = {{Physics or biology? Persistent chlorophyll
141+
accumulation in a shallow coastal sea explained by
142+
pathogens and carnivorous grazing}},
143+
volume = {14},
144+
year = {2019},
145+
doi = {10.1371/journal.pone.0212143},
146+
issn = {19326203},
105147
}

doc/joss/paper.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,15 @@ tags:
1313
authors:
1414
- name: Ovidio García-Oliva
1515
orcid: 0000-0001-6060-2001
16+
affiliation: 1
1617
- name: Carsten Lemmen
1718
orcid: 0000-0003-3483-6036
19+
affiliation: 1
1820
affiliations:
1921
- name: Helmholtz-Zentrum Hereon, Institute of Coastal Systems - Modeling and Analysis, Germany, ovidio.garcia@hereon.de
20-
date: 21 March 2025
22+
index: 1
23+
ror: 03qjp1d79
24+
date: 22 August 2025
2125
year: 2025
2226
bibliography: paper.bib
2327
SPDX-FileCopyrightText: 2025 Helmholtz-Zentrum hereon GmbH
@@ -38,7 +42,9 @@ OxyPOM and DiaMO remove much of this complexity and focus on the key processes
3842

3943
A predecessor 1D long-channel version of OxyPOM was initially implemented by @Holzwarth2018 specifically for the closed-source UnTRIM-DELWAQ hydrodynamic and water quality system.
4044
This implementation lacked portability, and was neither findable, nor accessible, interoperable or reusable (FAIR). The reimplementation with the FABM API ensures FAIR principles, foremost the interoperability with (1) many hydrodynamic models, (2) other aquatic process models, and (3) reusability in different topological domains.
41-
For vertically resolved applications, we added formulations for re-aeration, primary production, and light attenuation.
45+
When porting OxyPOM to FABM, we introduced new features:
46+
For vertically resolved applications, we added vertically-explicit formulations for re-aeration in rivers and estuaries [@Raymond2001], primary production, and light attenuation. We included additional mortality terms related to micro-algae viral infections [@Wirtz2019], and a step-wise temperature-sensitive micro-algae loss rate [@Scharfe2009].
47+
4248
Where a complete representation of bio-geochemical dynamics is not needed, DiaMO is an even more simplified model for quick assessments of DO dynamics.
4349

4450
## OxyPOM: Oxygen and Particulate Organic Matter

0 commit comments

Comments
 (0)