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.post4.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.post4-py3-none-any.whl (67.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cryoswath-0.2.1.post4.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.post4.tar.gz
Algorithm Hash digest
SHA256 58a4bc1e6af6ca5b408475dfa20f5690162610e232954661914d87375f9379c1
MD5 ce72254de9726a86ecd6b6da22f75000
BLAKE2b-256 6def10a76978f741c3c825cc30737aef203a756ce07e05c0a1befc86b45cba52

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cryoswath-0.2.1.post4-py3-none-any.whl
Algorithm Hash digest
SHA256 db61507e1afc5ab872e9f075e24655a44e6df50597c6c14d4e698266535afd35
MD5 1b9987b67c11fa176814c6b20e594b03
BLAKE2b-256 858dab35ccccd251f85016a962eb66787a18a736292ef028e7b671c0597d42ad

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