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

Uploaded Python 3

File details

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

File metadata

  • Download URL: cryoswath-0.2.1.post1.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.post1.tar.gz
Algorithm Hash digest
SHA256 99d82d718d8009a7f85823096b71a541f11be977d84f7e2a74a46fe6bca56b03
MD5 0e63aa9a0848692d5a913492d87154e5
BLAKE2b-256 70eb6fde10d107bbeee8214ab086e5eb946bd1d12005f38438ee367ec1054d9b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cryoswath-0.2.1.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 39cea05dc49225fcae7deca4121066b2c110ed5874fbdb21eaeedbfdc63456ca
MD5 a95e684eb6666a3d02b3c8730f93de63
BLAKE2b-256 fff7c1dd69227c3b97b63eb0892e9e3d2520204574092c52de36dbf530bae7ee

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