Skip to content

Commit

Permalink
Merge pull request #57 from cemac/updating_metadata_v1-3-0
Browse files Browse the repository at this point in the history
Updated README.md and pyproject.toml in line with recent changes made…
  • Loading branch information
AnneBarber1 authored Mar 21, 2024
2 parents a588a4c + b9c0e3f commit 7af24cd
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 10 deletions.
28 changes: 19 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand All @@ -47,15 +56,15 @@ To run the CFizer on a directory of MONC outputs:
where `<source_directory>` 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
Expand Down Expand Up @@ -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.
3 changes: 2 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@ authors = [
{ name="Cameron Wilson", email="[email protected]" }
]
maintainers = [
{ name="Steven Boeing", email="[email protected]" }
{ name="Steven Boeing", email="[email protected]" },
{ name="Anne Barber", email="[email protected]"}
]
description = "A tool to convert NetCDF output files from MONC into CF-compliant versions."
readme = "README.md"
Expand Down

0 comments on commit 7af24cd

Please sign in to comment.