cryoswath


Namecryoswath JSON
Version 0.2.3.post1 PyPI version JSON
download
home_pageNone
SummarySwath processing toolbox for CryoSat-2
upload_time2025-07-11 11:30:57
maintainerNone
docs_urlNone
authorNone
requires_python>=3.11
licenseNone
keywords glacier altimetry swath cryosat
VCS
bugtrack_url
requirements dask defusedxml geopandas h5py matplotlib numpy packaging pandas pyarrow pyogrio pyproj pytables python-dateutil rasterio rioxarray scikit-learn scipy shapely statsmodels tqdm xarray
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # cryoswath

![GitHub top language](https://img.shields.io/github/languages/top/j-haacker/cryoswath)
![Conda Version](https://img.shields.io/conda/vn/conda-forge/cryoswath)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14825358.svg)](https://doi.org/10.5281/zenodo.14825358)
![GitHub License](https://img.shields.io/github/license/j-haacker/cryoswath)

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, including installing from
"source", pypi, conda-forge, or docker. Please find more details in the
[docs
(prerequisites)](https://cryoswath.readthedocs.io/en/latest/prerequisites.html).
I show two approaches, installing from conda-forge and a mixture of methods.

### simply with mamba/conda 🐍

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

`mamba create -n $env_name conda-forge::cryoswath`

Continue below at "init project".

### clone 🐙, mamba 🐍, pip 📦

advantage: allows modifications and easy updates

Like the above, first, choose an environment name and either define
`$env_name`, e.g., `env_name=cryoswath`, or adapt the create and
activate commands accordingly. You will also need the path to your
environment. That will be something ending in `.../envs/env_name`. If
you are not sure, find it viewing `mamba env list`. Further, I assume
you'll clone into a directory named `cryoswath`.

```sh
git clone https://github.com/j-haacker/cryoswath.git cryoswath
mamba env create -n $env_name -f cryoswath/environment.yml
mamba activate $env_name
mamba install pip
pip install --editable cryoswath
```

### init project

cryoswath will deal with data that is not meant to reside in the
installation directory. The command `cryoswath-init` will setup a
directory structure and download some auxiliary files. Please choose a
project name of you liking and replace `proj_dir` in the following.

```sh
mkdir proj_dir
cd proj_dir
cryoswath-init
```

This, among others, creates a file `scripts/config.ini` that contains
the base path of your project. This allow cryoswath to find the data -
if you wish to run scripts from different directories, copy this file
there.

## 📖 documentation

[cryoswath.readthedocs.io](https://cryoswath.readthedocs.io/)

## dependencies

- [requirements.txt](https://github.com/j-haacker/cryoswath/blob/main/requirements.txt)
- reference elevation model
- glacier outlines

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](https://github.com/j-haacker/cryoswath/issues).

## citation and attribution

You can cite this package using bibtex:

```bibtex
@software{cryoswath,
  author       = {Haacker, Jan},
  title        = {cryoswath: v0.2.3},
  month        = feb,
  year         = 2025,
  publisher    = {Zenodo},
  version      = {v0.2.3},
  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](https://github.com/j-haacker/cryoswath/blob/main/data/L1b/Terms-and-Conditions-for-the-use-of-ESA-Data.pdf)
- RGI data is distributed under [CC-BY-4.0 license](https://creativecommons.org/licenses/by/4.0/)
- if you (likely) used DEMs of the PGC, see their [Acknowledgement Policy](https://www.pgc.umn.edu/guides/user-services/acknowledgement-policy/)
- the many python packages and libraries this package depends on; some of which are indispensable.

## 📜 license

MIT. See [LICENSE.txt](https://github.com/j-haacker/cryoswath/blob/main/LICENSE.txt).

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "cryoswath",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": null,
    "keywords": "glacier, altimetry, swath, cryosat",
    "author": null,
    "author_email": "Jan Haacker <j.m.haacker@tudelft.nl>",
    "download_url": "https://files.pythonhosted.org/packages/40/66/ce5021f01004b8318e842cedeb73d271d754ae152e1257171f0d448406a2/cryoswath-0.2.3.post1.tar.gz",
    "platform": null,
    "description": "# cryoswath\n\n![GitHub top language](https://img.shields.io/github/languages/top/j-haacker/cryoswath)\n![Conda Version](https://img.shields.io/conda/vn/conda-forge/cryoswath)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14825358.svg)](https://doi.org/10.5281/zenodo.14825358)\n![GitHub License](https://img.shields.io/github/license/j-haacker/cryoswath)\n\ncryoswath is a python package containing processing pipelines, a tool\nlibrary, and some pre-assembled data to retrieve and study CryoSat-2\ndata.\n\nAdaptability lies at its core. The user can access many options simply\nby passing arguments to functions; everything else can be customized\nchanging the concerned function or adding a new one.\n\n## \ud83c\udf31 state\n\ncryoswath is being developed. Branch `main` is the release branch,\n`scripts` contains tutorials, and `data` contains auxiliary data and the\nrequired directory structure. You can have everything setup\nautomatically (see \"getting started\"). Other branches are for\ndevelopment.\n\n## \u2728 features\n\n- find all CryoSat-2 tracks passing over your region of interest\n- download L1b data from ESA\n- retrieve swath elevation estimates\n- aggregate point data to gridded data\n- fill data gaps using tested methods\n- calculate change rates\n\n## \ud83d\ude80 getting started\n\nThere is a number of ways you can start off, including installing from\n\"source\", pypi, conda-forge, or docker. Please find more details in the\n[docs\n(prerequisites)](https://cryoswath.readthedocs.io/en/latest/prerequisites.html).\nI show two approaches, installing from conda-forge and a mixture of methods.\n\n### simply with mamba/conda \ud83d\udc0d\n\nadvantage: simple and most stable dependency resolution\n\nFirst, choose an environment name and either define `$env_name`, e.g.,\n`env_name=cryoswath`, or adapt the create and activate commands\naccordingly.\n\n`mamba create -n $env_name conda-forge::cryoswath`\n\nContinue below at \"init project\".\n\n### clone \ud83d\udc19, mamba \ud83d\udc0d, pip \ud83d\udce6\n\nadvantage: allows modifications and easy updates\n\nLike the above, first, choose an environment name and either define\n`$env_name`, e.g., `env_name=cryoswath`, or adapt the create and\nactivate commands accordingly. You will also need the path to your\nenvironment. That will be something ending in `.../envs/env_name`. If\nyou are not sure, find it viewing `mamba env list`. Further, I assume\nyou'll clone into a directory named `cryoswath`.\n\n```sh\ngit clone https://github.com/j-haacker/cryoswath.git cryoswath\nmamba env create -n $env_name -f cryoswath/environment.yml\nmamba activate $env_name\nmamba install pip\npip install --editable cryoswath\n```\n\n### init project\n\ncryoswath will deal with data that is not meant to reside in the\ninstallation directory. The command `cryoswath-init` will setup a\ndirectory structure and download some auxiliary files. Please choose a\nproject name of you liking and replace `proj_dir` in the following.\n\n```sh\nmkdir proj_dir\ncd proj_dir\ncryoswath-init\n```\n\nThis, among others, creates a file `scripts/config.ini` that contains\nthe base path of your project. This allow cryoswath to find the data -\nif you wish to run scripts from different directories, copy this file\nthere.\n\n## \ud83d\udcd6 documentation\n\n[cryoswath.readthedocs.io](https://cryoswath.readthedocs.io/)\n\n## dependencies\n\n- [requirements.txt](https://github.com/j-haacker/cryoswath/blob/main/requirements.txt)\n- reference elevation model\n- glacier outlines\n\ncryoswath will point you to the required resources.\n\n## \ud83d\udc1b known issues\n\n- ESA's data server is not available from all internet service providers\n- projected RGI basins sometimes \"invalid\"\n    -> add `.make_valid()` if it is missing somewhere\n- it has mostly been tested for the Arctic\n\n  Further: see [open issues](https://github.com/j-haacker/cryoswath/issues).\n\n## citation and attribution\n\nYou can cite this package using bibtex:\n\n```bibtex\n@software{cryoswath,\n  author       = {Haacker, Jan},\n  title        = {cryoswath: v0.2.3},\n  month        = feb,\n  year         = 2025,\n  publisher    = {Zenodo},\n  version      = {v0.2.3},\n  doi          = {10.5281/zenodo.14837018}\n}\n```\n\nPlease mind that you likely used other resources on the way.\n\n- ESA provides the L1b data under [these Terms and Conditions](https://github.com/j-haacker/cryoswath/blob/main/data/L1b/Terms-and-Conditions-for-the-use-of-ESA-Data.pdf)\n- RGI data is distributed under [CC-BY-4.0 license](https://creativecommons.org/licenses/by/4.0/)\n- if you (likely) used DEMs of the PGC, see their [Acknowledgement Policy](https://www.pgc.umn.edu/guides/user-services/acknowledgement-policy/)\n- the many python packages and libraries this package depends on; some of which are indispensable.\n\n## \ud83d\udcdc license\n\nMIT. See [LICENSE.txt](https://github.com/j-haacker/cryoswath/blob/main/LICENSE.txt).\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Swath processing toolbox for CryoSat-2",
    "version": "0.2.3.post1",
    "project_urls": {
        "Documentation": "https://cryoswath.readthedocs.io/",
        "Issues": "https://github.com/j-haacker/cryoswath/issues",
        "Repository": "https://github.com/j-haacker/cryoswath.git"
    },
    "split_keywords": [
        "glacier",
        " altimetry",
        " swath",
        " cryosat"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e73cad4270e6f168cf54379fee22e8331221f9162c47522178861c1817cec53a",
                "md5": "023b6f628f28c74ed11da1130a07a87c",
                "sha256": "3ca9ab406e05ab2fd0e65488e2bb391f2eaa35da9d30997022743044b1ad7722"
            },
            "downloads": -1,
            "filename": "cryoswath-0.2.3.post1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "023b6f628f28c74ed11da1130a07a87c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 79955,
            "upload_time": "2025-07-11T11:30:49",
            "upload_time_iso_8601": "2025-07-11T11:30:49.370103Z",
            "url": "https://files.pythonhosted.org/packages/e7/3c/ad4270e6f168cf54379fee22e8331221f9162c47522178861c1817cec53a/cryoswath-0.2.3.post1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4066ce5021f01004b8318e842cedeb73d271d754ae152e1257171f0d448406a2",
                "md5": "7f84c8e1dbb5cc3f851b1a9379de4197",
                "sha256": "fb3abbb31c27eb1ee507e765f1c15196faf6375795f551a70b1986e20a2d80d2"
            },
            "downloads": -1,
            "filename": "cryoswath-0.2.3.post1.tar.gz",
            "has_sig": false,
            "md5_digest": "7f84c8e1dbb5cc3f851b1a9379de4197",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 8082784,
            "upload_time": "2025-07-11T11:30:57",
            "upload_time_iso_8601": "2025-07-11T11:30:57.517739Z",
            "url": "https://files.pythonhosted.org/packages/40/66/ce5021f01004b8318e842cedeb73d271d754ae152e1257171f0d448406a2/cryoswath-0.2.3.post1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-11 11:30:57",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "j-haacker",
    "github_project": "cryoswath",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "dask",
            "specs": []
        },
        {
            "name": "defusedxml",
            "specs": []
        },
        {
            "name": "geopandas",
            "specs": [
                [
                    ">=",
                    "1.0.1"
                ]
            ]
        },
        {
            "name": "h5py",
            "specs": []
        },
        {
            "name": "matplotlib",
            "specs": []
        },
        {
            "name": "numpy",
            "specs": []
        },
        {
            "name": "packaging",
            "specs": []
        },
        {
            "name": "pandas",
            "specs": []
        },
        {
            "name": "pyarrow",
            "specs": []
        },
        {
            "name": "pyogrio",
            "specs": []
        },
        {
            "name": "pyproj",
            "specs": []
        },
        {
            "name": "pytables",
            "specs": []
        },
        {
            "name": "python-dateutil",
            "specs": []
        },
        {
            "name": "rasterio",
            "specs": []
        },
        {
            "name": "rioxarray",
            "specs": []
        },
        {
            "name": "scikit-learn",
            "specs": []
        },
        {
            "name": "scipy",
            "specs": []
        },
        {
            "name": "shapely",
            "specs": []
        },
        {
            "name": "statsmodels",
            "specs": []
        },
        {
            "name": "tqdm",
            "specs": []
        },
        {
            "name": "xarray",
            "specs": []
        }
    ],
    "lcname": "cryoswath"
}
        
Elapsed time: 1.65560s