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.
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.
- 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
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:
- making cryoswath available
- setting up a project directory
- 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).
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
advantage: easy installation
mkdir $proj_dir
cd $proj_dir
python3.11 -m venv .venv
source .venv/bin/activate
pip install cryoswath
cryoswath-init
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
advantage: will almost always work
note: the first time running the docker image require to download ~ 1 Gb
docker run -it -p 8888:8888 -v $proj_dir$:/home/jovyan cryoswath/jupyterlab:v0.2.1
- You will receive an address including a token with which you can connect to the jupyterlab using your browser
- In jupyterlab, open a regular shell and execute
cryoswath-init
- Open the scripts folder in the explorer and select one of the notebooks or create your own (inside the scripts folder)
For each project, run cryoswath-init
from the project directory.
- requirements.txt
- reference elevation model
- glacier outlines
cryoswath will point you to the required resources.
-
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.
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.
- ESA provides the L1b data under these Terms and Conditions
- RGI data is distributed under CC-BY-4.0 license
- if you (likely) used DEMs of the PGC, see their Acknowledgement Policy
- the many python packages and libraries this package depends on; some of which are indispensable.
MIT. See LICENSE.txt.