Skip to content

cedadev/cf-checker

Folders and files

NameName
Last commit message
Last commit date
Oct 17, 2022
Oct 17, 2022
Oct 21, 2018
May 17, 2021
Nov 23, 2010
Oct 21, 2018
Aug 2, 2021
Jun 8, 2017
Oct 21, 2018
Aug 21, 2019

Repository files navigation

CF Checker

The CF Checker is a utility that checks the contents of a NetCDF file complies with the Climate and Forecasts (CF) Metadata Convention.

Dependencies

Installation

To install from PyPI:

pip install cfchecker

To install from Conda-forge:

conda create -n cfchecker -c conda-forge cfchecker # create new env OR
conda install cfchecker -c conda-forge             # install on existing env

Alternatively, to install from source:

  1. Download the cfchecker package from cfchecker releases

  2. Unpack the library:

     tar -zxf cfchecker-${version}.tar.gz
    
     cd cfchecker-${version}
    
  3. Install the package:

    • To install to a central location:

         python setup.py install
      
    • To install to a non standard location:

         python setup.py install --prefix=<directory>
      

      If directory you are installing into is not on PYTHONPATH you will need to add it.

Running the CF Checker

cfchecks [-a <area-types.xml>] [-r <regions.xml>] [-s <std_names.xml>] [-v <CFVersion>] [-x] [-t <cache_time_days>] file1 [file2...]

For further details and for other available command line options please see the help by running cfchecks -h

Environment Variables

The following parameters can be set on the command-line or through environment variables:

  1. CF_STANDARD_NAMES or (CL option -s) : The path or URL to the CF standard names table
  2. CF_AREA_TYPES or (CL option -a) : The path or URL to the CF area types table
  3. CF_REGION_NAMES or (CL option -r): The path or URL to the CF region names table

Running the Test script

In the release tarball there is a test_files directory containing a test.sh script which runs a series of test files through the CF Checker and confirms the checker is working as expected. It is a very elementary system, which will be rewritten soon. Before running it you will need to edit the location of the cfchecks script in the tests.sh file:

cfchecker="<location of cfchecks>"

Then just run the tests.sh script:

./tests.sh