Skip to main content

IPART is a Python package for the detection and tracking of atmospheric rivers from gridded IVT data using image-processing techniques.

Project description

Image-Processing based Atmospheric River Tracking (IPART) algorithms


  • Python2.7 or Python3.7.
  • netCDF4 (tested 1.4.2, 1.5.3 in py2, tested 1.5.3 in py3)
  • numpy (developed in 1.16.5 in py2, tested 1.18.1, 1.19.0 in py3)
  • scipy (developed in 1.2.1 in py2, tested 1.4.1, 1.5.1 in py3)
  • matplotlib (2.2.3 for both py2 and py3, having issues with 3.1.3)
  • basemap (developed in 1.2.0, 1.3.0 in py2, tested 1.2.0 in py3)
  • pandas (developed in 0.23.4, 0.24.2 in py2, tested 1.0.3, 1.0.5 in py3)
  • networkx (developed in 1.11 and 2.2 in py2, tested 2.4 in py3)
  • scikit-image (developed in 0.14.2, 0.14.3 in py2, tested 0.16.2, 0.17.2 in py3)
  • OS: Linux or Mac, may work in Windows.


Recommend building the Python environment using Anaconda.

Create conda env using environment file

After Anaconda installation, git clone this repository:

git clone

Then build a new conda environment using the environment file provided. For example:

conda env create -f environment_py3.yml

This creates a new environment named ipartpy3. Activate the environment using

conda activate ipartpy3

After that, you can check the list of packages installed by

conda list

Similarly for Python 2.7, use

conda env create -f environment_py2.yml

Finally install IPART using:

pip install -e .


To validate installation, issue a new Python session and run

import ipart

If nothing prints out, installation is successful.

The tests folder also contains a number of unittests, to run them:

python -m unittest discover -s tests


Further documentation can be found at

Example use case

(a) The IVT field in kg/m/s at 1984-01-26 00:00 UTC over the North Hemisphere. (b) the IVT reconstruction field (IVT_rec) at the same time point. (c) the IVT anomaly field (IVT_ano) from the THR process at the same time point.
Locations of a track labelled "198424" found in year 1984. Black to yellow color scheme indicates the evolution.


  • docs: readthedocs documentation.
  • ipart: core module functions.
  • notebooks: a series of jupyter notebooks illustrating the major functionalities of the package.
  • scripts: example computation scripts. Can be used as templates to quickly develop your own working scripts.



Make algorithms zonally cyclic.


  • restructure into a module ipart, separate module from scripts.
  • add a findARsGen() generator function to yield results at each time point separately.


  • initial upload. Can perform AR detection and tracing through time.


If you encounter problems or would like to help improve the code, please don't hesitate to fire up an issue or pull request.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ipart-2.0.2.tar.gz (66.2 kB view hashes)

Uploaded source

Built Distribution

ipart-2.0.2-py3-none-any.whl (80.4 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page