Skip to main content

Swath processing toolbox for CryoSat-2

Project description

cryoswath

GitHub top language Conda 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 is the release branch, 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, including installing from "source", pypi, conda-forge, or docker. Please find more details in the docs (prerequisites). I show two approaches, installing from conda-forge and a mixture of methods.

simply with mamba/conda 🐍

advantage: simple and most stable dependency resolution

First, choose an environment name and either define $env_name, e.g., env_name=cryoswath, or adapt the create and activate commands accordingly.

mamba create -n $env_name conda-forge::cryoswath

Continue below at "init project".

clone 🐙, mamba 🐍, pip 📦

advantage: allows modifications and easy updates

Like the above, first, choose an environment name and either define $env_name, e.g., env_name=cryoswath, or adapt the create and activate commands accordingly. You will also need the path to your environment. That will be something ending in .../envs/env_name. If you are not sure, find it viewing mamba env list. Further, I assume you'll clone into a directory named cryoswath.

git clone https://github.com/j-haacker/cryoswath.git cryoswath
mamba env create -n $env_name -f cryoswath/environment.yml
mamba activate $env_name
mamba install pip
pip install --editable cryoswath

init project

cryoswath will deal with data that is not meant to reside in the installation directory. The command cryoswath-init will setup a directory structure and download some auxiliary files. Please choose a project name of you liking and replace proj_dir in the following.

mkdir proj_dir
cd proj_dir
cryoswath-init

This, among others, creates a file scripts/config.ini that contains the base path of your project. This allow cryoswath to find the data - if you wish to run scripts from different directories, copy this file there.

📖 documentation

cryoswath.readthedocs.io

dependencies

cryoswath will point you to the required resources.

🐛 known issues

  • ESA's data server is not available from all internet service providers

  • 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.3},
  month        = feb,
  year         = 2025,
  publisher    = {Zenodo},
  version      = {v0.2.3},
  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.3.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.3-py3-none-any.whl (79.8 kB view details)

Uploaded Python 3

File details

Details for the file cryoswath-0.2.3.tar.gz.

File metadata

  • Download URL: cryoswath-0.2.3.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.3.tar.gz
Algorithm Hash digest
SHA256 13547aa5b6fc7506ab47a12cc9b05264e19993255003abe6320e25c5b6176213
MD5 a58cfa143e92bba030ceaea26efaae95
BLAKE2b-256 05dc137fba02e443309bb6a88a6ef59d18cbcad542aed011c3c404f03bf2c5cc

See more details on using hashes here.

File details

Details for the file cryoswath-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: cryoswath-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 79.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.3

File hashes

Hashes for cryoswath-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 428a864d521b1c1e876d46970da4742019a98d914eed9ae0458b231cd4564e1c
MD5 37fb98bc1d07d7591fe847b9bac76355
BLAKE2b-256 8b35bb959356bcaf01e1892662c4781490c1cbfcfd6522bea7098c39081d7f62

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