Skip to main content

Swath processing toolbox for CryoSat-2

Project description

cryoswath

GitHub top language PyPI - Version DOI GitHub License

cryoswath is a python package containing processing pipelines, a tool library, and some pre-assembled data to retrieve and study CryoSat-2 data.

Adaptability lies at its core. The user can access many options simply by passing arguments to functions; everything else can be customized changing the concerned function or adding a new one.

🌱 state

cryoswath is being developed. Branch main contains the "pip"-installable package, scripts contains tutorials, and data contains auxiliary data and the required directory structure. You can have everything setup automatically (see "getting started"). Other branches are for development.

✨ features

  • find all CryoSat-2 tracks passing over your region of interest
  • download L1b data from ESA
  • retrieve swath elevation estimates
  • aggregate point data to gridded data
  • fill data gaps using tested methods
  • calculate change rates

🚀 getting started

There is a number of ways you can start off. I will give detailed instructions for UNIX systems. Make sure to use python 3.11 or higher. Further, I recommend to use a virtual environment and will involve python-venv in the instructions (however, conda works similar).

with git 🐙

advantage: easy pulling bugfixes

Set up a project directory, pull this repo, create virtual environment, initialize, and download ArcticDEM and the RGI glacier and complex shape files into the data/auxiliary/DEM and -RGI directories.

proj_dir=altimetry-project
git clone https://github.com/j-haacker/cryoswath.git $proj_dir
cd $proj_dir
python3.11 -m venv .venv
source .venv/bin/activate
pip install -e .
cryoswath-init

with pip 📦

advantage: easy installation

Set up a project directory, create virtual environment, install cryoswath, initialize, and download ArcticDEM and the RGI glacier and complex shape files into the data/auxiliary/DEM and -RGI directories.

proj_dir=altimetry-project
mkdir $proj_dir
cd $proj_dir
python3.11 -m venv .venv
source .venv/bin/activate
pip install cryoswath
cryoswath-init

with Docker 🐳

advantage: will almost always work

note: the first time running the docker image require to download ~ 1 Gb

  1. If you don't yet have a designated project directory, make one. I will assume its relative path is pro/ject
  2. Then execute docker run -it -p 8888:8888 -v pro/ject:/home/jovyan cryoswath/jupyterlab:v0.2.1
  3. You will receive an address including a token with which you can connect to the jupyterlab using your browser
  4. Open a regular shell and execute cryoswath-init
  5. Open the scripts folder in the explorer and select one of the notebooks or create your own (inside the scripts folder)

conda

New setup instructions coming soon.

multiple projects

Similar to the above, set up a virtual environment but rather locate it in a neutral directory. For each project, run cryoswath-init.

📖 documentation

j-haacker.github.io/cryoswath

dependencies

cryoswath will point you to the required resources.

🐛 known issues

  • projected RGI basins sometimes "invalid" -> add .make_valid() if it is missing somewhere

  • it has mostly been tested for the Arctic

    Further: see open issues.

citation and attribution

You can cite this package using bibtex:

@software{cryoswath,
  author       = {Haacker, Jan},
  title        = {cryoswath: v0.2.1},
  month        = feb,
  year         = 2025,
  publisher    = {Zenodo},
  version      = {v0.2.1},
  doi          = {10.5281/zenodo.14837018}
}

Please mind that you likely used other resources on the way.

📜 license

MIT. See LICENSE.txt.

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

cryoswath-0.2.1.post2.tar.gz (8.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cryoswath-0.2.1.post2-py3-none-any.whl (67.3 kB view details)

Uploaded Python 3

File details

Details for the file cryoswath-0.2.1.post2.tar.gz.

File metadata

  • Download URL: cryoswath-0.2.1.post2.tar.gz
  • Upload date:
  • Size: 8.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.3

File hashes

Hashes for cryoswath-0.2.1.post2.tar.gz
Algorithm Hash digest
SHA256 d3690bc21b4092991965ddce6feb279d2e4c27b8907bb46912118b40cceb6f4d
MD5 35919e9def06ac7e070d7486fc75073a
BLAKE2b-256 3c3052f71fcb2fd779a599190f0cfbb7e7922ced0ac5066f4d9925c37e608152

See more details on using hashes here.

File details

Details for the file cryoswath-0.2.1.post2-py3-none-any.whl.

File metadata

File hashes

Hashes for cryoswath-0.2.1.post2-py3-none-any.whl
Algorithm Hash digest
SHA256 d334460ef6ecb17da60692d55c697973b0dc8136a5458e7f5d768b476834b836
MD5 6f663c5b065215ea4fc4c664e1dccb8d
BLAKE2b-256 d129c1976e8c893aaa21b714588fed5b3f0207045da0e002f31b0e7827e787d2

See more details on using hashes here.

Supported by

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