Skip to main content

Python library for processing VIIRS data

Project description

viirs-tools

viirs-tools is a Python library that provides basic algorithms for retrieving meteorological data from VIIRS (Visible Infrared Imaging Radiometer Suite) satellite shots. This project started as a diploma (or thesis) project, and the primary goals of the viirs-tools library are threefold:

  1. Faster Data Processing: The library aims to make the process of working with VIIRS data much quicker than the standard NASA approach. The goal is to provide near-real-time (NRT) data processing capabilities, allowing researchers and scientists to access and analyze the data in a more timely manner. However, it's important to note that this speed improvement may come at the cost of reduced accuracy, as the library's algorithms may not be as thoroughly tested and validated as the NASA's standard processing pipeline.

  2. Easier VIIRS Data Utilization: In addition to the speed improvements, the library is designed to make it easier for researchers and scientists to work with VIIRS data.

  3. Flexible Data Handling: One of the key aims of the viirs-tools library is to provide users with handy access to the underlying algorithms, allowing them to work with the data in a variety of formats, including xr.Dataset, xr.DataArray, and np.ndarray. This flexibility ensures that the library can be seamlessly integrated into a wide range of data processing workflows.

Installation

To install viirs-tools, you can use pip:

 pip install viirs-tools 

If you want to use the Assimilator extra module, which allows you to download data from NASA servers:

pip install viirs-tools[assimilator]

Note that this module functions rely on the cmrfetch package, you need to install and configure it first.

Usage

The viirs-tools library provides the following core modules and their main functions:

  1. CloudMask:

    • rsnpp_day_img: Day reflectance/thermal I-bands cloud test. [^1]
    • fire_day_img, fire_night_img: Day and night I-bands cloud tests used in the [^2].
  2. NightMask:

    • naive: Day/night mask, based on the difference between presence of reflectance and thermal data, for both I- and M-bands
  3. Water:

    • water_bodies_day: Day reflectance tests for water bodies from [^2]
  4. LST:

    • mono_window_i05, mono_window_m16, mono_window_m15: LST retrieval for I05 band, based on the LANDSAT-8 alg [^3]
  5. Fires:

    • active_fires: Active fire detection from [^2]
  6. Utils:

    • Just some helpful functions
  7. Assimilator submodule:

    1. Assimilator:
      • assimilate: Retrieving data from NASA archives using cmrfetch, with support for handy data collection process management
    2. Reading
    3. ReadingHelpers
      • Contains some helper functions for reading files that aren't supported by SatPy module (some examples of using them in the previous module)

Demo

You can find demo Qt6 app in the viirs-demo folder. Note that it requires additional packages to be installed installed - rasterio, matplotlib, PyQt6 and TensorFlow. Run viirs-demo.py to start it. Data for this demo can be found in the demo-data folder.

Additional tools

In the scripts folder you can find useful tools for local satellite data analysis, such assimilate.py script. It was used for gathering data in the demo-data folder.

References

[^1]: M.Piper, T.Bahr (2015). A RAPID CLOUD MASK ALGORITHM FOR SUOMI NPP VIIRS IMAGERY EDRS.

[^2]: W.Schroeder, P.Oliva, L.Giglio, I.A.Csiszar (2014). The New VIIRS 375 m active fire detection data product: Algorithm description and initial assessment.

[^3]: U.Avdan, G.Jovanovska (2016). Algorithm for Automated Mapping of Land Surface Temperature Using LANDSAT 8 Satellite Data

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

viirs-tools-1.0.1.tar.gz (21.7 kB view details)

Uploaded Source

Built Distribution

viirs_tools-1.0.1-py3-none-any.whl (22.2 kB view details)

Uploaded Python 3

File details

Details for the file viirs-tools-1.0.1.tar.gz.

File metadata

  • Download URL: viirs-tools-1.0.1.tar.gz
  • Upload date:
  • Size: 21.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.1.dev0+g94f810c.d20240510 CPython/3.12.3

File hashes

Hashes for viirs-tools-1.0.1.tar.gz
Algorithm Hash digest
SHA256 0be7bc8622544d87bba684c626c62865b0137cfa54c58cd58f0dd89a52278e64
MD5 50cd0778d66ab5633682d15a8d606820
BLAKE2b-256 afc3d2417b2d96b8dc8687aecc1b10fbe23e104c5d2772ef5cbe15f03bea465a

See more details on using hashes here.

File details

Details for the file viirs_tools-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: viirs_tools-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 22.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.1.dev0+g94f810c.d20240510 CPython/3.12.3

File hashes

Hashes for viirs_tools-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 30177c0361b0319625771970235b7871f28afee960a9bf10d81db6dcfc1387e3
MD5 2a1c03ba7ef62c9b3156a4c153340911
BLAKE2b-256 b0ea67c6f2d0aaaf558b22c21284dfdb387ae41e1f2e3ec2a74b9671448476e6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page