Change Log

v23.2.dev0 (unreleased)

v23.1 (2023-11-20)

  • Change to Python 3.12 for package development.

  • Drop support for Python 3.10. Minimum supported Python version is now 3.11.

v22.2 (2022-12-14)

  • Add envs/environment-hpc.yaml to build conda environments on HPC clusters from which the package can be installed using the --user scheme for installation.

  • Modernize packaging:

    • Replace setup.py and setup.cfg with pyproject.toml

    • Change from setuptools to hatch for build backend

  • Add pre-commit to manage code style and repo QA.

  • Change to use reusable GitHub Actions workflows from https://github.com/UBC-MOAD/gha-workflows.

  • Change str.format() calls to f-string literals.

  • Drop no longer needed unicode literal string markers.

  • Change to Python 3.11 for package development.

  • Drop support for Python 3.5, 3.6, 3.7, 3.8, and 3.9. Minimum supported Python version is now 3.10. Python 3.5 version deployed on orcinus is tagged orcinus-python-3.5.

v22.1 (2022-05-02)

  • Move entry points from setup.py to setup.cfg. Supported by setuptools>=51.0.0 since 6-Dec-2020.

  • Update example HPC module versions re: Compute Canada change to StdEnv/2020.

v21.1 (2021-10-21)

v19.1 (2019-08-26)

  • Add run description YAML file docs about land processor elimination option.

  • Add Bitbucket continuous integration pipeline to run unit tests and generate unit tests coverage report.

  • Drop support for Python 2.7; minimum version is now 3.5.

  • Change to use black for code style management.

  • Change to CalVer versioning convention. Version identifier format is now yy.n[.devn], where yy is the (post-2000) year of release, and n is the number of the release within the year, starting at 1. After a release has been made the value of n is incremented by 1, and .dev0 is appended to the version identifier to indicate changes that will be included in the next release. v19.1.dev0 is an exception to that scheme. That version identifies the period of development between the v1.3 and v19.1 releases.

1.3 (2019-01-20)

  • Change to use python/3.7.0` module for `slurm workload manager`_ systems due to deprecation of ``python27-scipy-stack module on cedar.computecanada.ca and graham.computecanada.ca.

  • Add support for --waitjob command-line option on systems that use slurm resource manager.

  • Expose functions in nemo_cmd.prepare for use by packages like SalishSeaCmd that extend NEMO-Cmd:

    • nemo_cmd.prepare.add_agrif_files()

    • nemo_cmd.prepare.check_nemo_exec()

    • nemo_cmd.prepare.check_xios_exec()

    • nemo_cmd.prepare.copy_run_set_files()

    • nemo_cmd.prepare.get_hg_revision()

    • nemo_cmd.prepare.get_n_processors()

    • nemo_cmd.prepare.load_run_desc()

    • nemo_cmd.prepare.make_executable_links()

    • nemo_cmd.prepare.make_forcing_links()

    • nemo_cmd.prepare.make_grid_links()

    • nemo_cmd.prepare.make_namelists()

    • nemo_cmd.prepare.make_restart_links()

    • nemo_cmd.prepare.make_run_dir()

    • nemo_cmd.prepare.remove_run_dir()

    • nemo_cmd.prepare.set_mpi_decomposition()

    • nemo_cmd.prepare.write_repo_rev_file()

  • Fix bugs in the NEMO.sh script generation re: extra {} in some shell variable expressions.

  • Drop support for NEMO-3.4.

  • Fix a bug that caused prepare plug-in to fail for AGRIF runs that are not initialized from restart files.

  • Add --no-deflate command-line option to exclude nemo-deflate from the NEMO.sh job script if you are using on-the-fly deflation in XIOS-2; i.e. you are using 1 XIOS-2 process and have the compression_level="4" attribute set in all of the file_group definitions in your file_def.xml file.

  • Change temporary run directory names from UUID to run id concatenated to microsecond resolution timestamp.

  • Exclude cliff-2.9.0 as a dependency due to OpenStack bug #1719465.

1.2 (2017-10-03)

  • Add support for running on HPC systems that use the slurm workload manager; e.g. cedar.computecanada.ca and graham.computecanada.ca.

1.1 (2017-09-30)

  • Change from ncks to nccopy as tool underlying the deflate plug-in to reduce memory footprint.

  • Add support for the use of AGRIF (Adaptive Grid Refinement in Fortran) in NEMO-3.6 runs.

  • Expand shell and user variables in namelist file paths.

  • Use resolved repo path in VCS revisions recording message about uncommitted changes.

  • Change to copy ref namelists to temporary run dir instead of symlinking them; facilitates easier run result archeology and reproducibility.

  • Fix bug in atmospheric forcing file links checking function call.

1.0 (2017-04-27)

0.9 (2016-12-30)

  • Use tox for unified Python 2.7 and 3.5 testing.

  • Refactor the gather plug-in in a minimal form sufficient for use by the GoMSS_Nowcast package.

  • Refactor the prepare plug-in as the first nemo subcommand.

  • Add token-based Fortran namelist parser from gist.github.com/krischer/4943658. That module also exists in the tools/SalishSeaTools package. It was brought into this package to avoid making this package depend on SalishSeaTools.

  • Adopt yapf for code style management. Project-specific style rules are set in .style.yapf.

  • Initialize project from the SalishSeaCmd/ directory of the tools repo with:

    hg convert --filemap tools/NEMO-Cmd_filemap.txt tools NEMO-Cmd
    

    A copy of NEMO-Cmd_filemap.txt is included in this repo.