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.
🚨 **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, MODIS Mosaics), create maps and plots specific to Antarctica, Greenland and the Arctic 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.
- download commonly used datasets related to Antarctica, Greenland and the Arctic
- making publication-quality maps and cross-sections
- interactively explore data and define geographic regions
- plotting and working with data in projected coordinates (meters) in either EPSG 3031 or 3413, for the South and North hemispheres, respectively
- mostly focused on regularly gridded (interpolated) datasets, with some support for discrete (un-gridded) data
- current focus for datasets is related to ice, geophysics, and earth properties since this is where my personal research interests are, but please request or add your own types of data!
- basic geospatial manipulations (filtering, resampling, reprojecting, masking etc.)
- downloading niche datasets or those that only cover specific regions
- downloaded datasets outside of Antarctica, Greenland and the Arctic
- plotting and working with data in geographic (latitude and longitude) coordinates
- plots not related to geospatial data
- a point-and-click GUI for plotting or data exploration -> see Quantarctica or QGreenland
- complex geospatial processing -> see PyGMT, Verde, Geopandas or Rasterio
There are 3 main ways to install polartoolkit
. We show them here in order of
simplest to hardest.
The easiest way to install this package and its 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.
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]`
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 .
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.