Skip to main content

Satip provides the functionality necessary for

Project description

Satip

All Contributors

PyPI version

codecov

Satip is a library for satellite image processing, and provides all of the functionality necessary for retrieving, and storing EUMETSAT data


Installation

To install the satip library please run:

pip install satip

Or if you're working in the development environment you can run the following from the directory root:

pip install -e .

Conda

Or, if you want to use conda from the a cloned Satip repository:

conda env create -f environment.yml
conda activate satip
pip install -e .

If you plan to work on the development of Satip then also consider installing these development tools:

conda install pytest flake8 jedi mypy black pre-commit
pre-commit install

Operation

Getting your own API key

In order to contribute to development or just test-run some scripts, you will need your own Eumetsat-API-key. Please follow these steps:

  1. Go to https://eoportal.eumetsat.int and register an account.
  2. You can log in and got to https://data.eumetsat.int/ to check available data services. From there go to your profile and choose the option "API key" or go to https://api.eumetsat.int/api-key/ directly.
  3. Please make sure that you added the key and secret to your user's environment variables.

Downloading EUMETSAT Data

The following command will download the last 2 hours of RSS imagery into NetCDF files at the specified location

python satip/app.py --api-key=<EUMETSAT API Key> --api-secret=<EUMETSAT API Secret> --save-dr="/path/to/saving/files/" --history="2 hours"

To download more historical data, the command below will download the native files, compress with bz2, and save into a subdirectory.

python satip/get_raw_eumetsat_data.py --user-key=<EUMETSAT API Key> --user-secret=<EUMETSAT API Secret>

Converting Native files to Zarr

scripts/convert_native_to_zarr.py converts EUMETSAT .nat files to Zarr datasets, using very mild lossy JPEG-XL compression. (JPEG-XL is the "new kid on the block" of image compression algorithms). JPEG-XL makes the files about a quarter the size of the equivalent bz2 compressed files, whilst the images are visually indistinguishable. JPEG-XL cannot represent NaNs so NaNs. JPEG-XL understands float32 values in the range [0, 1]. NaNs are encoded as the value 0.025. All "real" values are in the range [0.075, 1]. We leave a gap between "NaNs" and "real values" because there is very slight "ringing" around areas of constant value (see this comment for more details). Use satip.jpeg_xl_float_with_nans.JpegXlFloatWithNaNs to decode the satellite data. This class will reconstruct the NaNs and rescale the data to the range [0, 1].

Testing

To run tests, simply run pytest . from the root of the repository. To generate the test plots, run python scripts/generate_test_plots.py.

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Jacob Bieker

💻

Jack Kelly

💻

Ayrton Bourn

💻

Laurence Watson

💻

Notger Heinz

📖

Peter Dudfield

📖

This project follows the all-contributors specification. Contributions of any kind welcome!

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

satip-2.6.11.tar.gz (31.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

satip-2.6.11-py3-none-any.whl (32.7 kB view details)

Uploaded Python 3

File details

Details for the file satip-2.6.11.tar.gz.

File metadata

  • Download URL: satip-2.6.11.tar.gz
  • Upload date:
  • Size: 31.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for satip-2.6.11.tar.gz
Algorithm Hash digest
SHA256 1f72f77d2481083628a6ccc468cbb5f11979b2bb94e0c9ab8def6c4293ff287a
MD5 2007e0c80ec37838844d2aa71be72d7e
BLAKE2b-256 88e23cd78d5501fffe14b5722b105c04836b9677d4d1255c1b01668505767a8c

See more details on using hashes here.

File details

Details for the file satip-2.6.11-py3-none-any.whl.

File metadata

  • Download URL: satip-2.6.11-py3-none-any.whl
  • Upload date:
  • Size: 32.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for satip-2.6.11-py3-none-any.whl
Algorithm Hash digest
SHA256 3c6902f5637423db9a216995457d88d8b650a0cf3820a9c14c9b5918ff85dcb9
MD5 dd2f7941e74a9a5100efba36d0236224
BLAKE2b-256 df7d860afedc782b874f32c88f8cfdecec44c604c40d8183a2d483206f89827f

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