CloudDrift is a Python package that accelerates the use of Lagrangian data for atmospheric, oceanic, and climate sciences. It is funded by NSF EarthCube through the EarthCube Capabilities Grant No. 2126413.
Read the documentation or explore the Jupyter Notebook Examples.
Start by reading the documentation.
Example Jupyter notebooks that showcase the library, as well as scripts to process various Lagrangian datasets, can be found in clouddrift-examples, gdp-get-started, mosaic-get-started, or a demo for the EarthCube community workshop 2023.
We welcome contributions from the community. If you would like to propose an idea for a new feature or contribute your own implementation, please follow these steps:
- Open a new issue to discuss your proposal.
- Once we agree on a general way forward, fork the repository and create a new branch for your contribution.
- Write your code and tests. Please follow the same style as the rest of the codebase and ensure that all new functionality is covered by your tests.
- Open a pull request and request a review.
The scope of CloudDrift includes:
- Working with contiguous ragged-array data; for example, see the
clouddrift.ragged
module. - Common scientific analysis of Lagrangian data, oceanographic or otherwise;
for example, see the
clouddrift.kinematics
,clouddrift.signal
, andclouddrift.wavelet
modules. - Processing existing Lagrangian datasets into a common data structure and format;
for example, see the
clouddrift.adapters.mosaic
module. - Making cloud-optimized ragged-array datasets easily accessible; for example,
see the
clouddrift.datasets
module.
If you have an idea that does not fit into the scope of CloudDrift but you think it should, please open an issue to discuss it.
You can install the latest release of CloudDrift using pip or conda.
In your virtual environment, type:
pip install clouddrift
To install optional dependencies needed by the clouddrift.plotting
module,
type:
pip install matplotlib cartopy
First add conda-forge
to your channels in your Conda configuration (~/.condarc
):
conda config --add channels conda-forge
conda config --set channel_priority strict
then install CloudDrift:
conda install clouddrift
To install optional dependencies needed by the clouddrift.plotting
module,
type:
conda install matplotlib-base cartopy
If you need the latest development version, you can install it directly from this GitHub repository.
In your virtual environment, type:
pip install git+https://github.com/cloud-drift/clouddrift
conda env create -f environment.yml
with the environment file located in the main repository.
To run the tests, you need to first download the CloudDrift source code from GitHub:
git clone https://github.com/cloud-drift/clouddrift
cd clouddrift/
and create the virtual environment.
With pip:
python3 -m venv .venv
source .venv/bin/activate
pip install .
pip install matplotlib cartopy
With Conda:
conda env create -f environment.yml
conda activate clouddrift
conda install matplotlib-base cartopy
Then, run the tests like this:
python -m unittest tests/*.py
One or more dependencies of CloudDrift may not have pre-built wheels for platforms like IBM Power9 or Raspberry Pi. If you are using pip to install CloudDrift and are getting errors during the installation step, try installing CloudDrift using Conda. If you still have issues installing CloudDrift, you may need to install system dependencies first. Please let us know by opening an issue and we will do our best to help you.
Please create a new issue here and provide as much detail as possible about your problem or question.