Skip to content

mdtanker/polartoolkit

Repository files navigation

PolarToolkit

Helpful tools for polar researchers

Documentation Link

PolarToolkit (formerly known as Antarctic-Plots) is a Python package with the goal of making Polar (i.e. Antarctic, Arctic, Greenland) research more efficient, reproducible, and accessible. The software does this by providing:

  • Convenient functions for downloading and pre-processing a wide range of commonly used polar datasets
  • Tools for common geospatial tasks (i.e. changing data resolution, subsetting data by geographic regions)
  • Code to easily create publication-quality maps, data profiles, and cross-sections

Additionally, PolarToolkit provides an easy means for exploring datasets with pre-defined or interactively-chosen geographic regions.

Binder link

Latest version on PyPI Latest version on conda-forge Test coverage status

Compatible Python versions. Zenodo DOI Documentation Status

Disclaimer

🚨 **Ready for daily use but still changing.** 🚨

This means that we are still adding a lot of new features and sometimes we make changes to the ones we already have while we try to improve the software based on users' experience, test new ideas, make better design decisions, etc. Some of these changes could be backwards incompatible. Keep that in mind before you update PolarToolkit to a new major version (i.e. from v1.0.0 to v2.0.0).

I welcome any feedback, ideas, or contributions! Please contact us on the GitHub discussions page or submit an issue on GitHub for problems or feature ideas.

The PolarToolkit python package provides some basic tools to help in conducting polar research. You can use it to download common datasets (i.e. BedMachine, Bedmap2, MODIA MoA), create maps and plots specific to Antarctica (soon Greenland and the Arctic as well), and visualize data with multiple methods.

Feel free to use, share, modify, and contribute to this project. I've mostly made this for personal usage so expect significant changes. Hopefully, I'll implement more tests and Gallery examples soon.

Project goals

Below is a list of some features I hope to eventually include. Feel free to make a feature request through GitHub Issues.

  • Create 3D interactive models to help visualize data.
  • Include more datasets to aid in downloading and storage.
  • Additional projections and possible support for the Arctic region as well.

Installation

There are 3 main ways to install polartoolkit. We show them here in order of simplest to hardest.

Conda / Mamba

The easiest way to install this package and it's dependencies is with conda or mamba into a new virtual environment:

mamba create --name polartoolkit --yes --force polartoolkit

And activate the environment:

conda activate polartoolkit

Note that conda and mamba are interchangeable.

Pip

Instead, you can use pip to install polartoolkit, but first you need to install a few dependencies with conda. This is because PyGMT GeoPandas, and Cartopy all rely on C packages, which can only be install with conda/mamba and not with pip.

To create a new virtual environment:

mamba create --name polartoolkit --yes --force pygmt geopandas cartopy

And activate the environment, followed by using pip to install polartoolkit:

mamba activate polartoolkit
pip install polartoolkit

To install the optional dependencies of polartoolkit, use this instead:

`pip install polartoolkit[all]`

Development version

You can use pip, with the above created environment, to install the latest source from GitHub:

pip install git+https://github.com/mdtanker/polartoolkit.git

Or you can clone the repository and install:

git clone https://github.com/mdtanker/polartoolkit.git
cd polartoolkit
pip install .

How to contribute

I really welcome all forms of contribution! If you have any questions, comments or suggestions, please open a discussion or issue (feature request) on the GitHub page!

Also, please feel free to share how you're using PolarToolkit, I'd love to know.

Please, read our Contributor Guide to learn how you can contribute to the project.