Skip to main content

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 approachs. The goal is to provide near-real-time in-memory 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 (or other) 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.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:

  • Runner class: recommended entry point for getting desired algs

  • algs module:

    1. cloud submodule:
      • vibcm_day: Day reflectance/thermal I-bands cloud test. 1
      • vifcm_day, vifcm_night: Day and night I-bands cloud tests used in the 2.
    2. index submodule:
      • ndvi: normalized difference vegetation index
      • ndsi: normalized snow vegetation index
    3. night submodule:
      • naive: Day/night mask, based on the difference between presence of reflectance and thermal data, for both I- and M-bands
    4. water submodule:
      • water_bodies_day: Day reflectance tests for water bodies from 2
    5. lst submodule:
      • mono_window_i05, mono_window_m16, mono_window_m15: LST retrieval for I05 band, based on the LANDSAT-8 alg 3
    6. utils submodule:
      • merge_day_night: Merging of 2 datasets by day/night mask
  • Assimilator module:

    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)
from viirs_tools import Runner, AlgsIndex

...

runner = Runner()
runner.show_algs_all()  # show all available algs from each alg type

ndvi_func = runner.get_alg_index(AlgsIndex.NDVI)
ndvi = ndvi_func(ri2, ri1)

cloud_func = runner.get_alg_cloud()
cloud_mask = cloud_func(ri1, ri2, ri3, bi4, bi5)

...

Additional tools

In the scripts folder some useful tools for local satellite data analysis could be found, such as assimilate.py script.

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. ↩ ↩2

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

Metadata

Release files for viirs-tools 2.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for viirs-tools 2.0.2
File Size Uploaded
viirs_tools-2.0.2.tar.gz 18.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for viirs-tools 2.0.2
File Interpreter ABI Platform
viirs_tools-2.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 37.0 kB

Release files / viirs_tools-2.0.2.tar.gz

Download URL viirs_tools-2.0.2.tar.gz
Size 18.8 kB
Tags Source
SHA-256 checksum
How to use checksums
6d0fd6c6d6b9e88cc0f0118f06f4b1a48f0f81a06cefb685b53fe9d0e9356cfd
BLAKE2b-256 checksum
How to use checksums
e7d52840e87364d0c66d0bef86b6ba09e72365195fdfda3db347a6503b3f54cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Dec 16, 2025.

Transparency log

Release files / viirs_tools-2.0.2-py3-none-any.whl

Download URL viirs_tools-2.0.2-py3-none-any.whl
Size 18.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1d9e480118afa05470d62a1545dd8c282b2a3bf3a81339550d1b0fc914a15301
BLAKE2b-256 checksum
How to use checksums
d8939fa7e136bcebe0cac90a0c791ccc9d7781fd8145ae206d0b92b552a4f583
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Dec 16, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

2.0.2 This release

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page