Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Python package for automatic generation of regional configurations for the Modular Ocean Model version 6 (MOM6)
Users just need to provide some information about where, when, and how big their domain is and also where raw input forcing files are. The package sorts out all the boring details and creates a set of MOM6-friendly input files along with setup directories ready to go!
The idea behind this package is that it should let the user sidestep some of the tricky issues with getting the model to run in the first place. This removes some of the steep learning curve for people new to working with MOM6. Note that the resultant model configuration might still need some tweaking (e.g., fiddling with timestep to avoid CFL-related numerical stability issues or fiddling with bathymetry to deal with very narrow fjords or channels that may exist).
If you have any suggestions please feel free to open an issue or start a discussion. We welcome any new contributors and we are very keen to help you out along the way!
Check out the documentation and browse through the demos.
We encourage creating a new or using an existing conda environment.
The easiest way to install regional-mom6
is via conda
.
conda install conda-forge::regional-mom6
That's it -- now enjoy!
To install via pip
is a bit more cumbersome.
A prerequisite is the binary esmpy
dependency, which provides re-gridding capabilities.
The easiest way to install esmpy
is via conda:
conda install -c conda-forge esmpy
Alternatively, to install esmpy
in a Conda-free way, follow the instructions for installing ESMPy from
source.
With esmpy
available, we can then install regional-mom6
via pip. (If we don't have have pip, then
conda install pip
should do the job.)
With esmpy
installed we can now install regional-mom6
via pip
:
pip install regional-mom6
The above installs the version of regional-mom6
(plus any required dependencies) that corresponds to the latest tagged release of the package.
To install regional-mom6
directly from the GitHub repository using pip
, first install esmpy
as described above. Then:
pip install git+https://github.com/COSIMA/regional-mom6.git
to get the version that corresponds to the latest commit in GitHub. Alternatively, install the version that corresponds to a particular git commit using, for example,
pip install git+https://github.com/COSIMA/regional-mom6.git@061b0ef80c7cbc04de0566df329c4ea472002f7e
The package and demos assume a coupled MOM6-SIS2 configuration, but also work for MOM6 ocean-only configuration after appropriate changes in the input.nml
and MOM_input
files.
Additionally, regional configurations require that the MOM6 executable must be compiled with symmetric memory.
The current release of this package assumes the latest source code of all components needed to run MOM6 as of
January 2024. A forked version of the setup-mom6-nci
repository
contains scripts for compiling MOM6 and, furthermore, its src
directory lists the particular commits that were used to compile MOM6 and its submodules for this package.
Note that the commits used for MOM6 submodules (e.g., Flexible Modelling System (FMS), coupler, SIS2) are not
necessarily those used by the GFDL's MOM6_examples
repository.
The example notebooks walk you through how to use the package using two different sets of input datasets. Please ensure that you can get at least one of these working on your setup with your MOM6 executable before trying to modify the example to suit your domain with your bathymetry, forcing, and boundary conditions.
You can download the notebooks from Github or by clicking on the download button, e.g., at the top-right of the regional Tasmania forced by ERA5 example.
If you use regional-mom6 in research, teaching, or other activities, we would be grateful if you could mention regional-mom6 and cite our paper in JOSS:
Barnes et al., (2024). regional-mom6: A Python package for automatic generation of regional configurations for the Modular Ocean Model 6. Journal of Open Source Software, 9(100), 6857, doi:10.21105/joss.06857.
The bibtex entry for the paper is:
@article{regional-mom6-JOSS,
doi = {10.21105/joss.06857},
url = {https://doi.org/10.21105/joss.06857},
year = {2024},
publisher = {The Open Journal},
volume = {9},
number = {100},
pages = {6857},
author = {Ashley J. Barnes and Navid C. Constantinou and Angus H. Gibson and Andrew E. Kiss and Chris Chapman and John Reily and Dhruv Bhagtani and Luwei Yang},
title = {{regional-mom6: A Python package for automatic generation of regional configurations for the Modular Ocean Model 6}},
journal = {Journal of Open Source Software}
}
FAQs
Automatic generation of regional configurations for Modular Ocean Model v6
We found that regional-mom6 demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.