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. 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).

All of the following instructions consist of three main steps:

  1. making cryoswath available
  2. setting up a project directory
  3. initializing cryoswath

The instructions will use the variable $proj_dir for the project directory. Please set it to a path that suits you like proj_dir=altimetry-project.

In all cases, consider to download the data dependencies ArcticDEM and the RGI glacier and complex shape files into the $proj_dir/data/auxiliary/DEM and $proj_dir/data/auxiliary/RGI directories (more in the docs).

with git 🐙

advantage: easy pulling bugfixes

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

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

with conda 🐍

advantage: 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.

conda create -n $env_name conda-forge::cryoswath
conda activate $env_name
mkdir $proj_dir
cd $proj_dir
cryoswath-init

with Docker 🐳

advantage: will almost always work

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

  1. docker run -it -p 8888:8888 -v $proj_dir$:/home/jovyan cryoswath/jupyterlab:v0.2.1
  2. You will receive an address including a token with which you can connect to the jupyterlab using your browser
  3. In jupyterlab, open a regular shell and execute cryoswath-init
  4. Open the scripts folder in the explorer and select one of the notebooks or create your own (inside the scripts folder)

multiple projects

For each project, run cryoswath-init from the project directory.

📖 documentation

j-haacker.github.io/cryoswath

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.2},
  month        = feb,
  year         = 2025,
  publisher    = {Zenodo},
  version      = {v0.2.2},
  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.2.dev0.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.2.dev0-py3-none-any.whl (76.6 kB view details)

Uploaded Python 3

File details

Details for the file cryoswath-0.2.2.dev0.tar.gz.

File metadata

  • Download URL: cryoswath-0.2.2.dev0.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.2.dev0.tar.gz
Algorithm Hash digest
SHA256 8c489d0f605b343814e403619ad78aaaaa39ed7f3094dacf32f8e7a5262ff252
MD5 5da56954c8d0fd6a5f7b7ff1768123f7
BLAKE2b-256 f65db8cd043e416bb1aaec956a36840d9157d4867e17937115c46352e135bf68

See more details on using hashes here.

File details

Details for the file cryoswath-0.2.2.dev0-py3-none-any.whl.

File metadata

File hashes

Hashes for cryoswath-0.2.2.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 2820a877309ec1efe9393845547f87c5d1ed967e9974ddfbf0d9c36f0f323733
MD5 401ec8f18df38d0b4d5a6836e7d2db5a
BLAKE2b-256 7b125045f1e1241e214efd7f72884b58cbac4fe30e54ee7b5041abfa7c7993ff

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