From b9c0e3f7deb0c37e68e1113939517e77b2a51b4c Mon Sep 17 00:00:00 2001 From: A Barber Date: Mon, 18 Mar 2024 09:52:28 +0000 Subject: [PATCH] Updated README.md and pyproject.toml in line with recent changes made for version 1.0.3. --- README.md | 28 +++++++++++++++++++--------- pyproject.toml | 3 ++- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index cf089f2..0ad5104 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,15 @@ Alternatively, a pip venv may be used: python -m venv /path/to/cfizer_env source /path/to/cfizer_env/bin/activate ``` +**If not using on JASMIN**, load the following packages in your cfizer conda environment (this has been tested on both ARC4 and ARCHER2): + +- netcdf4=1.5.7 +- xarray = 2022.3.0 +- pyyaml = 6.0 +- cfunits = 3.3.4 +- numpy = 1.26.3 +- dask = 2023.11.0 +- openpyxl = 3.0.10 **Important**: *Before installing CFizer*, update the configuration file, `cfizer/config.yml` and, if necessary, the vocabulary (`cfizer/vocabulary.yml`) - see [Setup](#setup) below. Installation creates a copy of these in the virtual environment, so any subsequent changes either need to be made to the version in that environment, or require re-installation. @@ -47,15 +56,15 @@ To run the CFizer on a directory of MONC outputs: where `` is the path to the directory containing the NC files to be processed. ## Options -Option | Argument | Function | Example -:---|:---|:---|:--- -`--target_dir`, `-t`|Target directory|Specify directory for processed NetCDF files. Default is to create a sibling directory to the source directory, appending `+processed` to the same name.|`-t /work/project/diagnostic_outputs/230228` -`--reference_time`, `-r` | Datetime in ISO format|Date or date-time of origin for time units, in ISO format (`yyyy-mm-dd[{T/ }hh:mm[:ss][{+/-}hh:mm]]`). If not specified, CFizer tries to find it in any input file it finds, and requests user input if it fails. If no input file is present and no reference time is specified or is found in existing time units, the software will exit with an error message.|`-r 2020-01-25 00:00+00:00` -`--calendar`, `-c`|Calendar|Calendar to use for time units. See [CF Conventions 4.4.1](https://cfconventions.org/Data/cf-conventions/cf-conventions-1.7/build/ch04s04.html) for valid options. Default: `proleptic_gregorian`|`--calendar proleptic_gregorian` -`--cpus`, `-p`|Integer|Total number of cores to use for parallel processing (including controller process). Default: 1 (serial)|`-p 16` -`--keep-interim`,`-i`||Set if multiple dimension sets are being merged, but you want to keep the single-dimension-set files as well. By default, these redundant files are deleted.| -`--verbose`, `-v`||Set to report all progress and function timings to stdout.| -`--quiet`, `-q`||Set to suppress any warnings normally printed to stdout upon completion.| +Option | Required (Y/N)? | Argument | Function | Example +:---|:---|:---|:---|:--- +`--target_dir`, `-t`|N|Target directory|Specify directory for processed NetCDF files. Default is to create a sibling directory to the source directory, appending `+processed` to the same name.|`-t /work/project/diagnostic_outputs/230228` +`--reference_time`, `-r` |Y| Datetime in ISO format|Date or date-time of origin for time units, in ISO format (`yyyy-mm-dd[{T/ }hh:mm[:ss][{+/-}hh:mm]]`). If not specified, CFizer tries to find it in any input file it finds, and requests user input if it fails. If no input file is present and no reference time is specified or is found in existing time units, the software will exit with an error message.|`-r 2020-01-25 00:00+00:00` +`--calendar`, `-c`|N|Calendar|Calendar to use for time units. See [CF Conventions 4.4.1](https://cfconventions.org/Data/cf-conventions/cf-conventions-1.7/build/ch04s04.html) for valid options. Default: `proleptic_gregorian`|`--calendar proleptic_gregorian` +`--cpus`, `-p`|N|Integer|Total number of cores to use for parallel processing (including controller process). Default: 1 (serial)|`-p 16` +`--keep-interim`,`-i`|N| |Set if multiple dimension sets are being merged, but you want to keep the single-dimension-set files as well. By default, these redundant files are deleted.| +`--verbose`, `-v`|N| |Set to report all progress and function timings to stdout.| +`--quiet`, `-q`|N| |Set to suppress any warnings normally printed to stdout upon completion.| ## Example Slurm Submission Script (JASMIN) ```bash @@ -110,3 +119,4 @@ The new vocabulary YAML file will be created in the CFizer source code directory 1.0.2 Code reformatting using *Black*, for consistency, and added maintainer to pyproject.toml. +1.0.3 Includes the following fixes: 1) Adds checking for empty DsGroup filepath collections; 2) Adds check for availability of reference variables for converting perturbation values; 3) Corrects Boolean values in vocabulary in Excel spreadsheet to vocabulary tool; 4) Makes some minor corrections and adds some debugging clarifications. README.md updated to include instructions for installation on HPC systems other than JASMIN. Added maintainer to pyproject.toml. diff --git a/pyproject.toml b/pyproject.toml index df2d3da..20dfc63 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -19,7 +19,8 @@ authors = [ { name="Cameron Wilson", email="C.J.Wilson1@leeds.ac.uk" } ] maintainers = [ - { name="Steven Boeing", email="S.Boeing@leeds.ac.uk" } + { name="Steven Boeing", email="S.Boeing@leeds.ac.uk" }, + { name="Anne Barber", email="a.barber1@leeds.ac.uk"} ] description = "A tool to convert NetCDF output files from MONC into CF-compliant versions." readme = "README.md"