Skip to content

Commit f51241f

Browse files
author
Hatim Chahout
committed
Initial paper commit, and github action to compile paper to pdf. #60
1 parent 8fe7b73 commit f51241f

File tree

5 files changed

+136
-0
lines changed

5 files changed

+136
-0
lines changed

.github/workflows/draft-pdf.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Draft PDF
2+
on:
3+
push:
4+
paths:
5+
- paper/**
6+
- .github/workflows/draft-pdf.yml
7+
8+
jobs:
9+
paper:
10+
runs-on: ubuntu-latest
11+
name: Paper Draft
12+
steps:
13+
- name: Checkout
14+
uses: actions/checkout@v4
15+
- name: Build draft PDF
16+
uses: openjournals/openjournals-draft-action@master
17+
with:
18+
journal: joss
19+
# This should be the path to the paper within your repo.
20+
paper-path: paper/paper.md
21+
- name: Upload
22+
uses: actions/upload-artifact@v4
23+
with:
24+
name: paper
25+
# This is the output path where Pandoc will write the compiled
26+
# PDF. Note, this should be the same directory as the input
27+
# paper.md
28+
path: paper/paper.pdf

paper/medovf.png

518 KB
Loading

paper/paper.bib

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
@manual{nemo,
2+
title = {Nucleus for European Modelling of the Ocean (NEMO)},
3+
author = {{NEMO Consortium}},
4+
year = {2023},
5+
url = {https://www.nemo-ocean.eu/},
6+
}
7+
8+
@misc{cdftoolsJMMP,
9+
title = {CDFTOOLS: JMMP-Group Development Branch},
10+
author = {{JMMP-Group}},
11+
year = {2024},
12+
howpublished = {\url{https://github.com/JMMP-Group/CDFTOOLS}},
13+
}
14+
15+
@article{hoyer2017xarray,
16+
title = {xarray: {N-D} labeled arrays and datasets in {Python}},
17+
author = {Hoyer, S. and J. Hamman},
18+
journal = {Journal of Open Research Software},
19+
volume = {5},
20+
number = {1},
21+
year = {2017},
22+
publisher = {Ubiquity Press},
23+
doi = {10.5334/jors.148},
24+
url = {http://doi.org/10.5334/jors.148}
25+
}
26+
27+
@inproceedings{SLURM,
28+
author = {Jette, Morris and Yoo, Andy and Grondona, Mark},
29+
year = {2003},
30+
month = {07},
31+
pages = {},
32+
title = {SLURM: Simple linux utility for resource management},
33+
isbn = {978-3-540-20405-3},
34+
journal = {LECTURE NOTES IN COMPUTER SCIENCE},
35+
doi = {10.1007/10968987_3}
36+
}

paper/paper.md

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
---
2+
title: 'MARINE_VAL: A command line software tool to assess ocean general circulation model outputs'
3+
tags:
4+
- Bash
5+
- Python
6+
- oceanography
7+
authors:
8+
- name: Hatim Chahout
9+
orcid: 0009-0001-1395-8942
10+
affiliation: 1
11+
- name: Diego Bruciaferri
12+
orcid: 0000-0001-5114-693X
13+
affiliation: 1
14+
- name: Dave Storkey
15+
orcid: 0000-0001-8000-5335
16+
affiliation: 1
17+
affiliations:
18+
- name: Met Office Hadley Centre
19+
index: 1
20+
date: \today
21+
bibliography: paper.bib
22+
---
23+
24+
# Statement of Need
25+
Numerical ocean general circulation models (OGCMs) are routinely run at increasingly high spatial and temporal resolutions, resulting in simulations that are both computationally demanding and generate vast amounts of data. As a consequence, extracting meaningful oceanographic metrics from these outputs has become more complex and time-consuming, presenting significant challenges for researchers and impeding the pace of model development. MARINE_VAL was developed to address these issues by providing a streamlined and standardised approach for model evaluation.
26+
27+
# Summary
28+
MARINE_VAL is an open-source command-line software package developed for researchers to streamline the evaluation of OGCM outputs. By standardising the calculation and visualisation of scalar evaluation metrics, it enables direct comparison with observational datasets, while also fostering reproducibility and comparability across studies. Although MARINE_VAL is primarily tailored for NEMO [@nemo] outputs across a range of resolutions, its flexible design allows for straightforward adaptation to other structured grid models. The package integrates CDFTOOLS [@cdftoolsJMMP] and xarray [@hoyer2017xarray] to deliver efficient and scalable data processing, ultimately facilitating quicker model development and analysis.
29+
30+
# Features
31+
## Diagnostic Computation
32+
MARINE_VAL computes a comprehensive set of diagnostics, organised into three principal metric groups: Southern Ocean assessment (VALSO), North Atlantic assessment (VALNA), and straits transports/exchanges (VALTRANS). Users have the flexibility to select any combination of metrics to suit their specific research needs by editing the user configuration file `param.bash`. The package is designed to harness SLURM [@SLURM] and HPC parallel processing for efficient job execution and data retrieval from archive systems, while also offering the flexibility to bypass data retrieval through the user configuration file to use locally stored model data. If a user wants to use an alternative data archive system to MASS, then `get_data.bash` will need to be adapted accordingly.
33+
34+
**VALSO** (Southern Ocean assessment):
35+
Provides metrics for evaluating the strength and variability of major Southern Ocean currents and water masses, such as the Antarctic Circumpolar Current, regional gyres, shelf water properties, and deep water formation.
36+
37+
**VALNA** (North Atlantic assessment):
38+
Focuses on diagnostics relevant to North Atlantic circulation, such as subpolar gyre strength, heat and salt content, overturning circulation, mixed layer depth, and key regional anomalies and profiles.
39+
40+
**VALTRANS** (Straits transports and exchanges):
41+
Assesses the transport and exchange of water masses through major straits and passages, including deep overflows, marginal sea exchanges, and inter-basin throughflows.
42+
43+
ACTION: Add to, or remove the table?
44+
45+
| Diagnostic | Description |
46+
|-:|:---|
47+
| Census of Antarctic Bottom Water | $\displaystyle{\sigma_4 > 45.88}$, where $\displaystyle{\sigma_4 = \rho(S, \Theta, 4000 \text{ dbar}) - 1000 \text{ kg/m}^3}$ |
48+
49+
## Visualisation
50+
MARINE_VAL features automated plotting scripts that produce standardised figures for each diagnostic package. In addition, specific processes can generate geospatial plots that visualise aggregated vertical data, such as sums, means, or anomalies, across the analysis regions. Users have control over the appearance of these figures, with options to customise labels, colors, and line styles through the style configuration file `style.db`.
51+
52+
### A geospatial example: The Mediterannean Overflow
53+
One practical application of MARINE_VAL is its ability to seamlessly produce scatter plots of temperature, salinity, and model bathymetry in the analysis regions, as seen in Figure \autoref{fig:MEDOVF}. These outputs can help researchers assess the realism of their simulations and identify areas for model improvement.
54+
55+
![\label{fig:MEDOVF}](medovf.png)
56+
57+
### A temporal example: VALSO
58+
Another practical application of MARINE_VAL is regionally grouped model evaluation. For instance, researchers can use MARINE_VAL to calculate key Southern Ocean diagnostics relating to its circulation, temperature, salinity and density in key regions, and visualise them together on one set of plots, all using one command.
59+
60+
To perform such an analysis, users will have already configured and calculated the required diagnostics. The plotting script collates the scalar metrics over the calculated time period for each diagnostic, and produces a set of time-series plots, as seen in Figure \autoref{fig:VALSO_TS}. The results can be directly compared to published observational values, seen in the accompanying distribution to the right of each plot.
61+
62+
![\label{fig:VALSO_TS}](valso.png)
63+
64+
# Relation to ongoing research projects
65+
ACTION: Update for a set of past or ongoing research projects using the software?
66+
67+
MARINE_VAL is part of ongoing efforts to improve the accessibility and evaluation of large ocean model datasets. The package builds on community-developed tools and supports collaborative research in ocean model development a evaluation.
68+
69+
# Acknowledgments
70+
This is the Met Office development of the original VALSO code by Pierre Mathiot. The package acknowledges contributions from the ocean modeling community and support from collaborating institutions. Further acknowledgements and references are provided in the README.
71+
72+
# References

paper/valso.png

2.03 MB
Loading

0 commit comments

Comments
 (0)