Skip to content

Repository files navigation

s3lst-ds: a package for downscaling Sentinel-3 LST data using a scale-invariance-based model

PyPI Version PyPI Python Version PyPI License PyPI Implementation PyPI Wheel PyPI Status GitHub last commit Built with Material for MkDocs pre-commit uv Ruff Hatch project

s3lst-ds provides pipelines for conveniently querying, downloading, filtering and downscaling Sentinel-3 LST data using either single or multi-timestamp scale-invariance-based models.

Requirements

To be able to install and use the s3lst-ds package in your project, you would need:

  • An Unix-like environment.
  • uv project manager.
  • A CDSE account.

Installation

1. Install package from PyPI

  • Install the latest stable release from PyPI in the activated virtual environment using uv:

    uv add s3lst-ds

2. Set CDSE credentials

  • Safely set your CDSE credentials as environment variables of the system:

    uv run s3lst-ds-set-cdse

3. Install esa-snappy (optional)

  • Install esa-snappy Python package using uv:

    uv add s3lst-ds[snap]
  • Install the backend SNAP Java package (if not already installed) and subsequently configure it using uv:

    uv run s3lst-ds-install-snap

Note

CDSE credentials

CDSE credentials are required to download Sentinel-3 data. Script s3lst-ds-set-cdse will prompt you to provide their CDSE mail and password. The script will subsequently write them to file ~/.config/cdse_credentials.sh with user-only read and write permissions and source it in ~/.bashrc file. You may check the created credentials file using the command:

nano ~/.config/cdse_credentials.sh

Note that if you would like to remove the credentials from the file at a later time, you may run:

uv run s3lst-ds-unset-cdse

Better downscaling results may be obtained with esa-snappy

The default installation considers rioxarray for georeferencing the downloaded Sentinel-3 products. However, esa-snappy has been found to produce better results, and, because of that, it is herein availed as an optional tool. With its installation, both tools can be used for georeferencing.

Uninstall SNAP

If the you would to like to uninstall SNAP at a later time, you may run:

uv run s3lst-ds-uninstall-snap

SNAP's memory limit

It is important to note that SNAP is configured with a limited amount of memory. To increase SNAP's maximum heap memory to for instance 64 GB, you would need to open file esa_snappy.ini nested in the installation directory of the virtual environment (herein assumed to be VENV) by doing

nano VENV/lib/python3.12/site-packages/esa_snappy/esa_snappy.ini

and writing in it:

[DEFAULT]
java_max_mem: 64G

Documentation

The full documentation is available at GitHub Pages.

Contributing

If you are a project developer, please read CONTRIBUTING.md to assimilate the development workflow, build Docker images from the project source code and locally run them.

Releasing

If you are a project maintainer, please read RELEASING.md to know how to build and publish the package to PyPI, create GitHub releases and publish the documentation to GitHub Pages after successful merge pull requests.

Citation

If you use s3lst-ds in research or software, please cite the companion paper. The respective citation information is provided in CITATION.cff and may be download in APA or BibTeX formats through button Cite this repository in the About section of the GitHub repo page.

License

s3lst-ds is licensed under the terms of the MIT license.

About

A package for downscaling Sentinel-3 LST data using a scale-invariance-based model.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages