The story behind the package, how to cite it, its funding, and what it's built on.
If you've used NCToolkit in a scientific publication, please cite:
Wilson, R.J., Artioli, Y., (2023). nctoolkit: A Python package for netCDF analysis and post-processing. Journal of Open Source Software, 8(88), 5494. https://doi.org/10.21105/joss.05494
Development of NCToolkit has been supported by the following:
NERC Climate Linked Atlantic Sector Science (CLASS), programme reference NE/R015953/1, which funded NCToolkit's core codebase.
AtlantiS (Atlantic Climate and Environment Strategic Science), a National Oceanography Centre programme strengthening UK capability to observe, model and predict change in Atlantic marine ecosystems.
Additional development has been supported by a combination of UK Research and Innovation (UKRI) and European Research Council (ERC) funded research projects.
NCToolkit is built on a small set of well-established packages, plus two command-line tools it wraps:
CDORequired
Climate Data Operators is the computational backend for almost every NCToolkit method.
NCOOptional
NetCDF Operators, an alternative backend used by a handful of methods via nco_command.
xarray / netCDF4 / pandas
Reading and writing netCDF data, and exporting datasets to arrays and dataframes.
hvplot / panel / ncplot
Power NCToolkit's interactive plot() method. ncplot is a companion package developed alongside NCToolkit.
matplotlib
Used for static, publication-quality figures via pub_plot().
dill / multiprocess
Serialization and parallel processing for multi-file datasets — see Parallel processing.
python-dateutil
Date parsing for time-axis handling.
Installing with conda also pulls in datashader, jupyter_bokeh and geoviews for a smoother out-of-the-box plotting experience. The pip install nctoolkit[complete] extra adds geoviews, rioxarray, cfchecker, geocube and geopandas, for geospatial formats and CF-compliance checks.
If you hit a bug or an issue with the package, raise it on GitHub, start a discussion, or contact the package's creator directly at rwi@pml.ac.uk.