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

Uploaded Python 3

File details

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

File metadata

  • Download URL: cryoswath-0.2.1.post0.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.post0.tar.gz
Algorithm Hash digest
SHA256 1617aa7cc70ec8704279019ed3299e749894ac920352e4477090f97bb5a47887
MD5 3d0ab9d4a291a0bfeae029f2ad54da0b
BLAKE2b-256 f7461c76ebcde1c2a4df53d1d8166d3146f22312086a25cf0bea88f6b44e9200

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cryoswath-0.2.1.post0-py3-none-any.whl
Algorithm Hash digest
SHA256 370e8b987d92a52b9ae4f0b84131bffb649a8407c2796f01f2e5801812c2002d
MD5 c94f995f57e55ec4340b344eaff870e2
BLAKE2b-256 8c8574cd5e16d10409dd2f3b3590029f047983d74a5ad7dcfab557b283369adb

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