IceNet README#

icenet#

GitHub issues GitHub closed issues GitHub GitHub forks GitHub forks

This is the core python library for the IceNet sea-ice forecasting system.

This README will be worked on more, but there’s plenty of information around in the icenet-ai organisations repositories, which demonstrate usage of this library.

Table of contents#

Installation#

We’re still working on clear dependency management using pip, Tensorflow is best through pip but obviously you need NVIDIA dependencies for GPU based training. If you’re having trouble with system dependencies some advice about environment setup is given by the examples under the pipeline repository.

Please note that icenet has an optional dependency on eccodes which requires a system library and a python wrapper. The system library can be installed via conda.

By default, Tensorflow will be built for CPU only when icenet is installed via pip. So, optionally, Tensorflow can be installed with CUDA support (recommended).

conda install -c conda-forge eccodes

pip install icenet

# To install newer versions of tensorflow (tensorflow>=2.14) with CUDA deps directly via pip:
pip install "tensorflow[and-cuda]<2.16"

Please consult the tensorflow docs for up-to-date info.

Development installation#

Please refer to the contribution guidelines for more information.

Implementation#

When installed, the library will provide a series of CLI commands. Please use the --help switch for more initial information, or the documentation.

Documentation#

The docs/ directory has a Makefile that builds sphinx docs easily enough, once the requirements in that directory are installed.

Usage Pipeline / Examples#

Please refer to the icenet-pipeline repository or the icenet-notebook repository for examples of how to use this library.

Contributing to IceNet#

Please refer to the contribution guidelines for more information.

Deployment to PyPi#

To deploy a new release to PyPI, set up your credentials in ~/.pypirc with your personal access token.

  • Increment the version in icenet/__init__.py and commit change to the branch.

  • git tag vX.Y.Z

  • git push upstream --tags

To test deployment by deploying to test PyPI, run:

  • make dist to build sdist and wheel files.

  • twine check dist/* to check that the files are valid and can be uploaded to PyPI.

  • twine upload --repository testpypi dist/* to deploy to test PyPI.

If all looks good, run:

  • make release to deploy to PyPI.

Credits#

License#

This is licensed using the MIT License