From c36003334a4b90db6d238525ddebf25ea7d884fc Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Thu, 22 Jun 2023 14:50:43 +1000 Subject: [PATCH 01/10] mom6_regional -> regional_mom6 --- .github/workflows/testing.yml | 4 ++-- .gitignore | 4 ++-- LICENSE | 2 +- README.md | 6 +++--- demos/model-forced.ipynb | 10 +++++----- demos/reanalysis-forced.ipynb | 8 ++++---- docs/api.rst | 2 +- docs/conf.py | 2 +- docs/contributing.md | 2 +- pyproject.toml | 6 +++--- {mom6_regional => regional_mom6}/__init__.py | 2 +- .../default_rundir/MOM_input | 0 .../default_rundir/MOM_override | 0 .../default_rundir/SIS_input | 0 .../default_rundir/config.yaml | 0 .../default_rundir/data_table | 0 .../default_rundir/diag_table | 0 .../default_rundir/env.yaml | 0 .../default_rundir/era5_surface/MOM_input | 0 .../default_rundir/era5_surface/MOM_override | 0 .../default_rundir/era5_surface/README.md | 0 .../default_rundir/era5_surface/SIS_input | 0 .../default_rundir/era5_surface/config.yaml | 0 .../default_rundir/era5_surface/data_table | 0 .../default_rundir/era5_surface/diag_table | 0 .../default_rundir/era5_surface/env.yaml | 0 .../default_rundir/era5_surface/field_table | 0 .../default_rundir/era5_surface/input.nml | 0 .../default_rundir/era5_surface/job.yaml | 0 .../default_rundir/field_table | 0 .../default_rundir/input.nml | 0 .../default_rundir/job.yaml | 0 .../default_rundir/jra_surface/MOM_input | 0 .../default_rundir/jra_surface/MOM_override | 0 .../default_rundir/jra_surface/README.md | 0 .../default_rundir/jra_surface/SIS_input | 0 .../default_rundir/jra_surface/config.yaml | 0 .../default_rundir/jra_surface/data_table | 0 .../default_rundir/jra_surface/diag_table | 0 .../default_rundir/jra_surface/env.yaml | 0 .../default_rundir/jra_surface/field_table | 0 .../default_rundir/jra_surface/input.nml | 0 .../default_rundir/jra_surface/job.yaml | 0 .../mom6_regional.py => regional_mom6/regional_mom6.py | 0 44 files changed, 24 insertions(+), 24 deletions(-) rename {mom6_regional => regional_mom6}/__init__.py (71%) rename {mom6_regional => regional_mom6}/default_rundir/MOM_input (100%) rename {mom6_regional => regional_mom6}/default_rundir/MOM_override (100%) rename {mom6_regional => regional_mom6}/default_rundir/SIS_input (100%) rename {mom6_regional => regional_mom6}/default_rundir/config.yaml (100%) rename {mom6_regional => regional_mom6}/default_rundir/data_table (100%) rename {mom6_regional => regional_mom6}/default_rundir/diag_table (100%) rename {mom6_regional => regional_mom6}/default_rundir/env.yaml (100%) rename {mom6_regional => regional_mom6}/default_rundir/era5_surface/MOM_input (100%) rename {mom6_regional => regional_mom6}/default_rundir/era5_surface/MOM_override (100%) rename {mom6_regional => regional_mom6}/default_rundir/era5_surface/README.md (100%) rename {mom6_regional => regional_mom6}/default_rundir/era5_surface/SIS_input (100%) rename {mom6_regional => regional_mom6}/default_rundir/era5_surface/config.yaml (100%) rename {mom6_regional => regional_mom6}/default_rundir/era5_surface/data_table (100%) rename {mom6_regional => regional_mom6}/default_rundir/era5_surface/diag_table (100%) rename {mom6_regional => regional_mom6}/default_rundir/era5_surface/env.yaml (100%) rename {mom6_regional => regional_mom6}/default_rundir/era5_surface/field_table (100%) rename {mom6_regional => regional_mom6}/default_rundir/era5_surface/input.nml (100%) rename {mom6_regional => regional_mom6}/default_rundir/era5_surface/job.yaml (100%) rename {mom6_regional => regional_mom6}/default_rundir/field_table (100%) rename {mom6_regional => regional_mom6}/default_rundir/input.nml (100%) rename {mom6_regional => regional_mom6}/default_rundir/job.yaml (100%) rename {mom6_regional => regional_mom6}/default_rundir/jra_surface/MOM_input (100%) rename {mom6_regional => regional_mom6}/default_rundir/jra_surface/MOM_override (100%) rename {mom6_regional => regional_mom6}/default_rundir/jra_surface/README.md (100%) rename {mom6_regional => regional_mom6}/default_rundir/jra_surface/SIS_input (100%) rename {mom6_regional => regional_mom6}/default_rundir/jra_surface/config.yaml (100%) rename {mom6_regional => regional_mom6}/default_rundir/jra_surface/data_table (100%) rename {mom6_regional => regional_mom6}/default_rundir/jra_surface/diag_table (100%) rename {mom6_regional => regional_mom6}/default_rundir/jra_surface/env.yaml (100%) rename {mom6_regional => regional_mom6}/default_rundir/jra_surface/field_table (100%) rename {mom6_regional => regional_mom6}/default_rundir/jra_surface/input.nml (100%) rename {mom6_regional => regional_mom6}/default_rundir/jra_surface/job.yaml (100%) rename mom6_regional/mom6_regional.py => regional_mom6/regional_mom6.py (100%) diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index 9021fc93..2fc5dfa5 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -12,7 +12,7 @@ jobs: - uses: actions/checkout@v3 - uses: psf/black@stable with: - src: "./mom6_regional ./tests" + src: "./regional_mom6 ./tests" testing: needs: formatting @@ -42,7 +42,7 @@ jobs: - name: Test with pytest run: | if [[ "${{ matrix.python-version }}" == "3.10" ]]; then - python -m pytest --cov=mom6_regional --cov-report=xml tests/ + python -m pytest --cov=regional_mom6 --cov-report=xml tests/ else python -m pytest tests/ fi diff --git a/.gitignore b/.gitignore index d88ffa85..bd56f086 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,7 @@ __pycache__ .ipynb_checkpoints build _build -mom6_regional/_version.py -mom6_regional.egg-info +regional_mom6/_version.py +regional_mom6.egg-info .pytest_cache env diff --git a/LICENSE b/LICENSE index f1f3cc39..0c24c783 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2022 Angus Gibson +Copyright (c) 2023 COSIMA Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 20f8708d..9751d70b 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ # A regional domain generator for Modular Ocean Model 6 -[![codecov](https://codecov.io/gh/COSIMA/mom6-regional/branch/master/graph/badge.svg?token=7OEZ1UZRY4)](https://codecov.io/gh/COSIMA/mom6-regional) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) [![Documentation Status](https://readthedocs.org/projects/mom6-regional/badge/?version=latest)](https://mom6-regional.readthedocs.io/en/latest/?badge=latest) +[![codecov](https://codecov.io/gh/COSIMA/regional-mom6/branch/master/graph/badge.svg?token=7OEZ1UZRY4)](https://codecov.io/gh/COSIMA/regional-mom6) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) [![Documentation Status](https://readthedocs.org/projects/regional-mom6/badge/?version=latest)](https://regional-mom6.readthedocs.io/en/latest/?badge=latest) -`mom6_regional` contains functions and classes that do most of the legwork in setting up a regional domain in MOM6. -Just provide it with some information about where, when and how big, and point it in the direction of your raw input files, and it'll sort out the boring details to create MOM6-friendly input files. Check out the [demo notebook](https://nbviewer.org/github/COSIMA/mom6-regional-scripts/blob/master/demo.ipynb)! +`regional_mom6` contains functions and classes that do most of the legwork in setting up a regional domain in MOM6. +Just provide it with some information about where, when and how big, and point it in the direction of your raw input files, and it'll sort out the boring details to create MOM6-friendly input files. Check out the [demo notebook](https://nbviewer.org/github/COSIMA/regional-mom6-scripts/blob/master/demo.ipynb)! ### Python package This repository is being converted into a python package that will be distributed via `pip` and `conda`. At the moment, there are still som legacy stuff -- hold on to your chairs as we clean up the repo and the pipelines for generating regional MOM6 configurations. diff --git a/demos/model-forced.ipynb b/demos/model-forced.ipynb index 1edac114..5beedde2 100644 --- a/demos/model-forced.ipynb +++ b/demos/model-forced.ipynb @@ -453,10 +453,10 @@ "import subprocess\n", "from scipy.ndimage import binary_fill_holes\n", "from importlib import reload\n", - "# os.chdir(\"/path/to/where/you/cloned/the/mom6-regional/repository\")\n", - "os.chdir(\"/home/149/ab8992/cosima_regional/mom6-regional-scripts/mom6_regional/\")\n", + "# os.chdir(\"/path/to/where/you/cloned/the/regional-mom6/repository\")\n", + "os.chdir(\"/home/149/ab8992/cosima_regional/regional-mom6/regional_mom6/\")\n", "\n", - "import mom6_regional as ml\n", + "import regional_mom6 as ml\n", "from dask.distributed import Client\n", "client = Client()\n", "client" @@ -537,10 +537,10 @@ "yextent = [-48,-38.95] ## latitude\n", "xextent = [143,150] ## longitude\n", "\n", - "daterange = [\"1990-01-01 00:00:00\", \"1990-01-05 00:00:00\"] ## 2003 is a good compimise for GLORYs and JRA forcing as they overlap. JRA ends in 2012, GLORYS starts in 1993\n", + "daterange = [\"1990-01-01 00:00:00\", \"1990-01-05 00:00:00\"] ## 2003 is a good compromise for GLORYs and JRA forcing as they overlap. JRA ends in 2012, GLORYS starts in 1993\n", "\n", "## Place where all your input files go\n", - "inputdir = f\"{scratch}/mom6_regional_configs/{expt_name}/\"\n", + "inputdir = f\"{scratch}/regional_mom6_configs/{expt_name}/\"\n", "\n", "## Directory where you'll run the experiment from\n", "rundir = f\"{home}/mom6_rundirs/{expt_name}/\"\n", diff --git a/demos/reanalysis-forced.ipynb b/demos/reanalysis-forced.ipynb index 885bc3fd..e272d195 100644 --- a/demos/reanalysis-forced.ipynb +++ b/demos/reanalysis-forced.ipynb @@ -331,10 +331,10 @@ "import subprocess\n", "from scipy.ndimage import binary_fill_holes\n", "from importlib import reload\n", - "# os.chdir(\"/path/to/where/you/cloned/the/mom6-regional/repository\")\n", - "os.chdir(\"/home/149/ab8992/cosima_regional/mom6-regional-scripts/mom6_regional/\")\n", + "# os.chdir(\"/path/to/where/you/cloned/the/regional-mom6/repository\")\n", + "os.chdir(\"/home/149/ab8992/cosima_regional/regional-mom6/regional_mom6/\")\n", "\n", - "import mom6_regional as ml\n", + "import regional_mom6 as ml\n", "from dask.distributed import Client\n", "client = Client()\n", "client" @@ -417,7 +417,7 @@ "daterange = [\"2003-01-01 00:00:00\", \"2003-01-05 00:00:00\"] ## 2003 is a good compimise for GLORYs and JRA forcing as they overlap. JRA ends in 2012, GLORYS starts in 1993\n", "\n", "## Place where all your input files go\n", - "inputdir = f\"{scratch}/mom6_regional_configs/{expt_name}/\"\n", + "inputdir = f\"{scratch}/regional_mom6_configs/{expt_name}/\"\n", "\n", "## Directory where you'll run the experiment from\n", "rundir = f\"{home}/mom6_rundirs/{expt_name}/\"\n", diff --git a/docs/api.rst b/docs/api.rst index 49fb9c88..c80129db 100644 --- a/docs/api.rst +++ b/docs/api.rst @@ -2,6 +2,6 @@ API reference =============== -.. automodule:: mom6_regional.mom6_regional +.. automodule:: regional_mom6.regional_mom6 :members: :undoc-members: diff --git a/docs/conf.py b/docs/conf.py index ef9fba53..00cc6e3a 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -23,6 +23,6 @@ html_theme = "sphinx_book_theme" html_static_path = ["_static"] html_theme_options = { - "repository_url": "https://github.com/COSIMA/mom6-regional", + "repository_url": "https://github.com/COSIMA/regional-mom6", "use_repository_button": True, } diff --git a/docs/contributing.md b/docs/contributing.md index 254b9914..4f1b9952 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -1,7 +1,7 @@ Instructions for Contributors ============================= -Before you submit a [pull request](https://github.com/COSIMA/mom6-regional/pulls) it's always a +Before you submit a [pull request](https://github.com/COSIMA/regional-mom6/pulls) it's always a good idea to run the tests locally and catch any potential bugs/errors that might have been introduced. Also, sometimes it's also a good idea to build the documentation locally to see how new docstrings or any new bits of documentation that you may have added look like. diff --git a/pyproject.toml b/pyproject.toml index ac821749..21cd0e32 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [project] -name = "mom6_regional" +name = "regional_mom6" description = "Automatic generation of regional configurations for Modular Ocean Model 6" keywords = ["mom6", "regional", "ocean modeling"] authors = [ @@ -21,7 +21,7 @@ requires = ["setuptools", "setuptools_scm[toml]"] build-backend = "setuptools.build_meta" [tool.setuptools] -packages = ["mom6_regional"] +packages = ["regional_mom6"] [tool.setuptools_scm] -write_to = "mom6_regional/_version.py" +write_to = "regional_mom6/_version.py" diff --git a/mom6_regional/__init__.py b/regional_mom6/__init__.py similarity index 71% rename from mom6_regional/__init__.py rename to regional_mom6/__init__.py index 73acc367..c0c62d8b 100644 --- a/mom6_regional/__init__.py +++ b/regional_mom6/__init__.py @@ -3,4 +3,4 @@ except ImportError: __version__ = "unknown" -from .mom6_regional import * # noqa +from .regional_mom6 import * # noqa diff --git a/mom6_regional/default_rundir/MOM_input b/regional_mom6/default_rundir/MOM_input similarity index 100% rename from mom6_regional/default_rundir/MOM_input rename to regional_mom6/default_rundir/MOM_input diff --git a/mom6_regional/default_rundir/MOM_override b/regional_mom6/default_rundir/MOM_override similarity index 100% rename from mom6_regional/default_rundir/MOM_override rename to regional_mom6/default_rundir/MOM_override diff --git a/mom6_regional/default_rundir/SIS_input b/regional_mom6/default_rundir/SIS_input similarity index 100% rename from mom6_regional/default_rundir/SIS_input rename to regional_mom6/default_rundir/SIS_input diff --git a/mom6_regional/default_rundir/config.yaml b/regional_mom6/default_rundir/config.yaml similarity index 100% rename from mom6_regional/default_rundir/config.yaml rename to regional_mom6/default_rundir/config.yaml diff --git a/mom6_regional/default_rundir/data_table b/regional_mom6/default_rundir/data_table similarity index 100% rename from mom6_regional/default_rundir/data_table rename to regional_mom6/default_rundir/data_table diff --git a/mom6_regional/default_rundir/diag_table b/regional_mom6/default_rundir/diag_table similarity index 100% rename from mom6_regional/default_rundir/diag_table rename to regional_mom6/default_rundir/diag_table diff --git a/mom6_regional/default_rundir/env.yaml b/regional_mom6/default_rundir/env.yaml similarity index 100% rename from mom6_regional/default_rundir/env.yaml rename to regional_mom6/default_rundir/env.yaml diff --git a/mom6_regional/default_rundir/era5_surface/MOM_input b/regional_mom6/default_rundir/era5_surface/MOM_input similarity index 100% rename from mom6_regional/default_rundir/era5_surface/MOM_input rename to regional_mom6/default_rundir/era5_surface/MOM_input diff --git a/mom6_regional/default_rundir/era5_surface/MOM_override b/regional_mom6/default_rundir/era5_surface/MOM_override similarity index 100% rename from mom6_regional/default_rundir/era5_surface/MOM_override rename to regional_mom6/default_rundir/era5_surface/MOM_override diff --git a/mom6_regional/default_rundir/era5_surface/README.md b/regional_mom6/default_rundir/era5_surface/README.md similarity index 100% rename from mom6_regional/default_rundir/era5_surface/README.md rename to regional_mom6/default_rundir/era5_surface/README.md diff --git a/mom6_regional/default_rundir/era5_surface/SIS_input b/regional_mom6/default_rundir/era5_surface/SIS_input similarity index 100% rename from mom6_regional/default_rundir/era5_surface/SIS_input rename to regional_mom6/default_rundir/era5_surface/SIS_input diff --git a/mom6_regional/default_rundir/era5_surface/config.yaml b/regional_mom6/default_rundir/era5_surface/config.yaml similarity index 100% rename from mom6_regional/default_rundir/era5_surface/config.yaml rename to regional_mom6/default_rundir/era5_surface/config.yaml diff --git a/mom6_regional/default_rundir/era5_surface/data_table b/regional_mom6/default_rundir/era5_surface/data_table similarity index 100% rename from mom6_regional/default_rundir/era5_surface/data_table rename to regional_mom6/default_rundir/era5_surface/data_table diff --git a/mom6_regional/default_rundir/era5_surface/diag_table b/regional_mom6/default_rundir/era5_surface/diag_table similarity index 100% rename from mom6_regional/default_rundir/era5_surface/diag_table rename to regional_mom6/default_rundir/era5_surface/diag_table diff --git a/mom6_regional/default_rundir/era5_surface/env.yaml b/regional_mom6/default_rundir/era5_surface/env.yaml similarity index 100% rename from mom6_regional/default_rundir/era5_surface/env.yaml rename to regional_mom6/default_rundir/era5_surface/env.yaml diff --git a/mom6_regional/default_rundir/era5_surface/field_table b/regional_mom6/default_rundir/era5_surface/field_table similarity index 100% rename from mom6_regional/default_rundir/era5_surface/field_table rename to regional_mom6/default_rundir/era5_surface/field_table diff --git a/mom6_regional/default_rundir/era5_surface/input.nml b/regional_mom6/default_rundir/era5_surface/input.nml similarity index 100% rename from mom6_regional/default_rundir/era5_surface/input.nml rename to regional_mom6/default_rundir/era5_surface/input.nml diff --git a/mom6_regional/default_rundir/era5_surface/job.yaml b/regional_mom6/default_rundir/era5_surface/job.yaml similarity index 100% rename from mom6_regional/default_rundir/era5_surface/job.yaml rename to regional_mom6/default_rundir/era5_surface/job.yaml diff --git a/mom6_regional/default_rundir/field_table b/regional_mom6/default_rundir/field_table similarity index 100% rename from mom6_regional/default_rundir/field_table rename to regional_mom6/default_rundir/field_table diff --git a/mom6_regional/default_rundir/input.nml b/regional_mom6/default_rundir/input.nml similarity index 100% rename from mom6_regional/default_rundir/input.nml rename to regional_mom6/default_rundir/input.nml diff --git a/mom6_regional/default_rundir/job.yaml b/regional_mom6/default_rundir/job.yaml similarity index 100% rename from mom6_regional/default_rundir/job.yaml rename to regional_mom6/default_rundir/job.yaml diff --git a/mom6_regional/default_rundir/jra_surface/MOM_input b/regional_mom6/default_rundir/jra_surface/MOM_input similarity index 100% rename from mom6_regional/default_rundir/jra_surface/MOM_input rename to regional_mom6/default_rundir/jra_surface/MOM_input diff --git a/mom6_regional/default_rundir/jra_surface/MOM_override b/regional_mom6/default_rundir/jra_surface/MOM_override similarity index 100% rename from mom6_regional/default_rundir/jra_surface/MOM_override rename to regional_mom6/default_rundir/jra_surface/MOM_override diff --git a/mom6_regional/default_rundir/jra_surface/README.md b/regional_mom6/default_rundir/jra_surface/README.md similarity index 100% rename from mom6_regional/default_rundir/jra_surface/README.md rename to regional_mom6/default_rundir/jra_surface/README.md diff --git a/mom6_regional/default_rundir/jra_surface/SIS_input b/regional_mom6/default_rundir/jra_surface/SIS_input similarity index 100% rename from mom6_regional/default_rundir/jra_surface/SIS_input rename to regional_mom6/default_rundir/jra_surface/SIS_input diff --git a/mom6_regional/default_rundir/jra_surface/config.yaml b/regional_mom6/default_rundir/jra_surface/config.yaml similarity index 100% rename from mom6_regional/default_rundir/jra_surface/config.yaml rename to regional_mom6/default_rundir/jra_surface/config.yaml diff --git a/mom6_regional/default_rundir/jra_surface/data_table b/regional_mom6/default_rundir/jra_surface/data_table similarity index 100% rename from mom6_regional/default_rundir/jra_surface/data_table rename to regional_mom6/default_rundir/jra_surface/data_table diff --git a/mom6_regional/default_rundir/jra_surface/diag_table b/regional_mom6/default_rundir/jra_surface/diag_table similarity index 100% rename from mom6_regional/default_rundir/jra_surface/diag_table rename to regional_mom6/default_rundir/jra_surface/diag_table diff --git a/mom6_regional/default_rundir/jra_surface/env.yaml b/regional_mom6/default_rundir/jra_surface/env.yaml similarity index 100% rename from mom6_regional/default_rundir/jra_surface/env.yaml rename to regional_mom6/default_rundir/jra_surface/env.yaml diff --git a/mom6_regional/default_rundir/jra_surface/field_table b/regional_mom6/default_rundir/jra_surface/field_table similarity index 100% rename from mom6_regional/default_rundir/jra_surface/field_table rename to regional_mom6/default_rundir/jra_surface/field_table diff --git a/mom6_regional/default_rundir/jra_surface/input.nml b/regional_mom6/default_rundir/jra_surface/input.nml similarity index 100% rename from mom6_regional/default_rundir/jra_surface/input.nml rename to regional_mom6/default_rundir/jra_surface/input.nml diff --git a/mom6_regional/default_rundir/jra_surface/job.yaml b/regional_mom6/default_rundir/jra_surface/job.yaml similarity index 100% rename from mom6_regional/default_rundir/jra_surface/job.yaml rename to regional_mom6/default_rundir/jra_surface/job.yaml diff --git a/mom6_regional/mom6_regional.py b/regional_mom6/regional_mom6.py similarity index 100% rename from mom6_regional/mom6_regional.py rename to regional_mom6/regional_mom6.py From e8fedec9de04bdf138b25848f73a9eec865d1cee Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Thu, 22 Jun 2023 14:54:34 +1000 Subject: [PATCH 02/10] update readme --- README.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 9751d70b..65f668a4 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,7 @@ -# A regional domain generator for Modular Ocean Model 6 +### `regional_mom6` +A python package for automatic generation of regional configurations for Modular Ocean Model 6 -[![codecov](https://codecov.io/gh/COSIMA/regional-mom6/branch/master/graph/badge.svg?token=7OEZ1UZRY4)](https://codecov.io/gh/COSIMA/regional-mom6) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) [![Documentation Status](https://readthedocs.org/projects/regional-mom6/badge/?version=latest)](https://regional-mom6.readthedocs.io/en/latest/?badge=latest) +[![codecov](https://codecov.io/gh/COSIMA/regional-mom6/branch/master/graph/badge.svg?token=7OEZ1UZRY4)](https://codecov.io/gh/COSIMA/regional-mom6) [![Documentation Status](https://readthedocs.org/projects/regional-mom6/badge/?version=latest)](https://regional-mom6.readthedocs.io/en/latest/?badge=latest) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) `regional_mom6` contains functions and classes that do most of the legwork in setting up a regional domain in MOM6. -Just provide it with some information about where, when and how big, and point it in the direction of your raw input files, and it'll sort out the boring details to create MOM6-friendly input files. Check out the [demo notebook](https://nbviewer.org/github/COSIMA/regional-mom6-scripts/blob/master/demo.ipynb)! - -### Python package -This repository is being converted into a python package that will be distributed via `pip` and `conda`. At the moment, there are still som legacy stuff -- hold on to your chairs as we clean up the repo and the pipelines for generating regional MOM6 configurations. +Just provide it with some information about where, when and how big, and point it in the direction of your raw input files, and it'll sort out the boring details to create MOM6-friendly input files. Check out the [demo notebook](https://nbviewer.org/github/COSIMA/regional-mom6/blob/main/demo.ipynb)! From d43bb256d9388fb586712c7e8b18a4465f8325c5 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Thu, 22 Jun 2023 14:59:15 +1000 Subject: [PATCH 03/10] update readme --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 65f668a4..c770c98a 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ -### `regional_mom6` -A python package for automatic generation of regional configurations for Modular Ocean Model 6 +# regional_mom6: Python package for automatic generation of regional configurations for the Modular Ocean Model 6 [![codecov](https://codecov.io/gh/COSIMA/regional-mom6/branch/master/graph/badge.svg?token=7OEZ1UZRY4)](https://codecov.io/gh/COSIMA/regional-mom6) [![Documentation Status](https://readthedocs.org/projects/regional-mom6/badge/?version=latest)](https://regional-mom6.readthedocs.io/en/latest/?badge=latest) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) -`regional_mom6` contains functions and classes that do most of the legwork in setting up a regional domain in MOM6. -Just provide it with some information about where, when and how big, and point it in the direction of your raw input files, and it'll sort out the boring details to create MOM6-friendly input files. Check out the [demo notebook](https://nbviewer.org/github/COSIMA/regional-mom6/blob/main/demo.ipynb)! +Just provide some information about where, when and how big, and also where raw input forcing files live. The package will sort out all the boring details to create MOM6-friendly input files. + +Check out the [demo notebook](https://nbviewer.org/github/COSIMA/regional-mom6/blob/m/demo.ipynb) and also the [documentation](https://readthedocs.org/projects/regional-mom6/badge/?version=latest)! From 89798f82303999da3573728ef5677866d28745e2 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Thu, 22 Jun 2023 14:59:36 +1000 Subject: [PATCH 04/10] Update demos/model-forced.ipynb Co-authored-by: Angus Gibson --- demos/model-forced.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/demos/model-forced.ipynb b/demos/model-forced.ipynb index 5beedde2..b10c192a 100644 --- a/demos/model-forced.ipynb +++ b/demos/model-forced.ipynb @@ -456,7 +456,7 @@ "# os.chdir(\"/path/to/where/you/cloned/the/regional-mom6/repository\")\n", "os.chdir(\"/home/149/ab8992/cosima_regional/regional-mom6/regional_mom6/\")\n", "\n", - "import regional_mom6 as ml\n", + "import regional_mom6 as rm\n", "from dask.distributed import Client\n", "client = Client()\n", "client" From a8c5ced1ea34d7cc715105fe46fe2763a7bcbf3d Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Thu, 22 Jun 2023 14:59:42 +1000 Subject: [PATCH 05/10] Update demos/reanalysis-forced.ipynb Co-authored-by: Angus Gibson --- demos/reanalysis-forced.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/demos/reanalysis-forced.ipynb b/demos/reanalysis-forced.ipynb index e272d195..7e155a9c 100644 --- a/demos/reanalysis-forced.ipynb +++ b/demos/reanalysis-forced.ipynb @@ -334,7 +334,7 @@ "# os.chdir(\"/path/to/where/you/cloned/the/regional-mom6/repository\")\n", "os.chdir(\"/home/149/ab8992/cosima_regional/regional-mom6/regional_mom6/\")\n", "\n", - "import regional_mom6 as ml\n", + "import regional_mom6 as rm\n", "from dask.distributed import Client\n", "client = Client()\n", "client" From 4a3f00f6e1ab6b80b85e4cc499e36f785a961056 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Thu, 22 Jun 2023 15:00:49 +1000 Subject: [PATCH 06/10] ml. -> rm. --- demos/model-forced.ipynb | 10 +++++----- demos/reanalysis-forced.ipynb | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/demos/model-forced.ipynb b/demos/model-forced.ipynb index 5beedde2..99399d9f 100644 --- a/demos/model-forced.ipynb +++ b/demos/model-forced.ipynb @@ -866,7 +866,7 @@ "ic = om2_input.isel(time = 0)\n", "\n", "## Nicer Slicer handles seams in longitude and different grids. Ensures that the output matches our 'xextent'\n", - "ic = ml.nicer_slicer(ic,[xextent[0],xextent[1]],[\"xu_ocean\",\"xt_ocean\"])\n", + "ic = rm.nicer_slicer(ic,[xextent[0],xextent[1]],[\"xu_ocean\",\"xt_ocean\"])\n", "ic.to_netcdf(tmpdir + \"/ic_unprocessed\")\n", "\n", "## Cut out East and West segments. Does lat slice first then uses nicer slicer for lon slice\n", @@ -874,11 +874,11 @@ " yu_ocean = slice(yextent[0] - 0.2,yextent[1] + 0.2),\n", " yt_ocean = slice(yextent[0] - 0.2,yextent[1] + 0.2)\n", ")\n", - "ml.nicer_slicer(eastwest,[xextent[1],xextent[1]],[\"xu_ocean\",\"xt_ocean\"]).to_netcdf(tmpdir + \"/east_unprocessed\")\n", - "ml.nicer_slicer(eastwest,[xextent[0],xextent[0]],[\"xu_ocean\",\"xt_ocean\"]).to_netcdf(tmpdir + \"/west_unprocessed\")\n", + "rm.nicer_slicer(eastwest,[xextent[1],xextent[1]],[\"xu_ocean\",\"xt_ocean\"]).to_netcdf(tmpdir + \"/east_unprocessed\")\n", + "rm.nicer_slicer(eastwest,[xextent[0],xextent[0]],[\"xu_ocean\",\"xt_ocean\"]).to_netcdf(tmpdir + \"/west_unprocessed\")\n", "\n", "## Cut out North and South segments\n", - "northsouth = ml.nicer_slicer(om2_input,[xextent[0],xextent[1]],[\"xu_ocean\",\"xt_ocean\"])\n", + "northsouth = rm.nicer_slicer(om2_input,[xextent[0],xextent[1]],[\"xu_ocean\",\"xt_ocean\"])\n", "northsouth.sel(\n", " yu_ocean = slice(yextent[1] - 0.2,yextent[1] + 0.2),\n", " yt_ocean = slice(yextent[1] - 0.2,yextent[1] + 0.2)\n", @@ -935,7 +935,7 @@ ], "source": [ "reload(ml)\n", - "expt = ml.experiment(\n", + "expt = rm.experiment(\n", " xextent,\n", " yextent,\n", " daterange,\n", diff --git a/demos/reanalysis-forced.ipynb b/demos/reanalysis-forced.ipynb index e272d195..059a07c1 100644 --- a/demos/reanalysis-forced.ipynb +++ b/demos/reanalysis-forced.ipynb @@ -486,7 +486,7 @@ "usr = \"YOUR COPERNICUS USERNAME\" \n", "file = open(f\"{tmpdir}/get_oceanfiles.sh\",\"w\")\n", "file.write(\n", - " ml.motu_requests(xextent, yextent, daterange, tmpdir, usr, pwd,[\"north\",\"south\",\"east\",\"west\"])\n", + " rm.motu_requests(xextent, yextent, daterange, tmpdir, usr, pwd,[\"north\",\"south\",\"east\",\"west\"])\n", ")\n", "file.close()\n", "\n", @@ -529,7 +529,7 @@ "outputs": [], "source": [ "reload(ml)\n", - "expt = ml.experiment(\n", + "expt = rm.experiment(\n", " xextent,\n", " yextent,\n", " daterange,\n", @@ -837,7 +837,7 @@ "for fname , vname in zip([\"2t\",\"10u\",\"10v\",\"sp\",\"2d\"] , [\"t2m\",\"u10\",\"v10\",\"sp\",\"d2m\"]):\n", "\n", " ## Cut out this variable to our domain size\n", - " rawdata[fname] = ml.nicer_slicer(\n", + " rawdata[fname] = rm.nicer_slicer(\n", " xr.open_mfdataset(f\"{erapath}/{fname}/{daterange[0].split('-')[0]}/{fname}*\",decode_times = False,chunks = {\"longitude\":100,\"latitude\":100}),\n", " xextent,\n", " \"longitude\"\n", From c0128913483bb3f3cca9bdc2d51b4766bce85bc8 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Thu, 22 Jun 2023 15:05:02 +1000 Subject: [PATCH 07/10] Update README.md Co-authored-by: Angus Gibson --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c770c98a..8a48b4eb 100644 --- a/README.md +++ b/README.md @@ -4,4 +4,4 @@ Just provide some information about where, when and how big, and also where raw input forcing files live. The package will sort out all the boring details to create MOM6-friendly input files. -Check out the [demo notebook](https://nbviewer.org/github/COSIMA/regional-mom6/blob/m/demo.ipynb) and also the [documentation](https://readthedocs.org/projects/regional-mom6/badge/?version=latest)! +Check out the [demo notebook](https://nbviewer.org/github/COSIMA/regional-mom6/blob/main/demo.ipynb) and also the [documentation](https://readthedocs.org/projects/regional-mom6/badge/?version=latest)! From 0fafc6c6026e73869c9a160824c75946fa574226 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Thu, 22 Jun 2023 15:09:36 +1000 Subject: [PATCH 08/10] rename --- docs/conf.py | 2 +- docs/index.rst | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 00cc6e3a..79b4ea9b 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -1,7 +1,7 @@ # -- Project information ----------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information -project = "MOM6 Regional" +project = "Regional MOM6" copyright = "2023, Ashley Barnes & COSIMA Contributors" author = "Ashley Barnes & COSIMA Contributors" diff --git a/docs/index.rst b/docs/index.rst index 9f8422d8..8e08039b 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,5 +1,8 @@ -Welcome to MOM6 Regional's documentation! -========================================= +Regional MOM6 Documentation +=========================== + +``regional_mom6`` is a Python package for automatic generation of regional +configurations for the Modular Ocean Model 6 .. toctree:: :maxdepth: 2 From 58e2068826818f3e68caff1dfef8a9fd413611fd Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Thu, 22 Jun 2023 15:16:23 +1000 Subject: [PATCH 09/10] fix tests --- tests/test_trivial.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/test_trivial.py b/tests/test_trivial.py index c3c51755..244f260b 100644 --- a/tests/test_trivial.py +++ b/tests/test_trivial.py @@ -1,6 +1,5 @@ import numpy as np -from mom6_regional import angle_between - +from regional_mom6 import angle_between # placeholder trivial test test def test_angle_between(): From 2960fe794f412c68e32fe6f54ce322594264ccae Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Thu, 22 Jun 2023 15:27:08 +1000 Subject: [PATCH 10/10] Update test_trivial.py --- tests/test_trivial.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/test_trivial.py b/tests/test_trivial.py index 244f260b..d9035751 100644 --- a/tests/test_trivial.py +++ b/tests/test_trivial.py @@ -1,6 +1,7 @@ import numpy as np from regional_mom6 import angle_between + # placeholder trivial test test def test_angle_between(): assert np.isclose(angle_between([1, 0, 0], [0, 1, 0], [0, 0, 1]), np.pi / 2)