Skip to main content

Vegetation Conversion Python Utilities

Project description

vegetation-conversion

Vegetation Conversion Python Utilities.

This package provides utilities for converting vegetation indices used in PT-JPL workflows.

Gregory H. Halverson (they/them)
gregory.h.halverson@jpl.nasa.gov
NASA Jet Propulsion Laboratory 329G

Installation

pip install vegetation-conversion

Usage

Import this package as vegetation_conversion:

import vegetation_conversion

1. SAVI_from_NDVI(NDVI)

  • Description: Converts NDVI to a SAVI proxy using an empirical linear transformation.
  • Scientific basis:
    • SAVI was originally developed to reduce soil background influence in sparse vegetation by introducing a soil adjustment factor, $L$, in: $$ SAVI = \frac{(NIR - Red)(1 + L)}{NIR + Red + L} $$
    • In workflows where only NDVI is available, PT-JPL implementations commonly use a linear NDVI-to-SAVI approximation to maintain compatibility with downstream canopy/energy-partitioning steps.
    • This package preserves the PT-JPL parity mapping: $$ SAVI = 0.45 \cdot NDVI + 0.132 $$
    • This mapping is not a universal physical replacement for the original SAVI expression; it is an empirically tuned conversion used for model continuity.
  • Parameters:
    • NDVI: Normalized Difference Vegetation Index as numpy.ndarray or rasters.Raster.
  • Returns:
    • SAVI proxy with same container type (numpy.ndarray or rasters.Raster).
  • Citation: Huete (1988).

2. fAPAR_from_SAVI(SAVI)

  • Description: Estimates the fraction of absorbed photosynthetically active radiation (fAPAR) from SAVI.
  • Scientific basis:
    • fAPAR represents the fraction of incoming PAR absorbed by green vegetation canopy and is a key state variable controlling photosynthesis, transpiration, and coupled land-atmosphere fluxes.
    • Empirical remote-sensing studies have shown approximately linear relationships between vegetation indices and canopy radiation absorption metrics over practical operating ranges.
    • This package uses the PT-JPL parity relation: $$ fAPAR = 1.3632 \cdot SAVI - 0.048 $$
    • Output is physically bounded by clipping to $[0, 1]$, where 0 denotes no absorbed PAR and 1 denotes full absorption.
  • Parameters:
    • SAVI: Soil-Adjusted Vegetation Index as numpy.ndarray or rasters.Raster.
  • Returns:
    • fAPAR in $[0, 1]$ with same container type (numpy.ndarray or rasters.Raster).
  • Citation: Fisher et al. (2008).

3. fIPAR_from_NDVI(NDVI)

  • Description: Estimates the fraction of intercepted photosynthetically active radiation (fIPAR) from NDVI.
  • Scientific basis:
    • fIPAR characterizes canopy interception of incoming PAR and is frequently used in ecosystem productivity and evapotranspiration partitioning frameworks.
    • The PT-JPL-compatible mapping first constrains NDVI to plausible bounds and then applies a linear offset: $$ fIPAR = clip(clip(NDVI, 0, 1) - 0.05, 0, 1) $$
    • The inner clipping limits NDVI to standard normalized range; subtracting 0.05 applies an empirical threshold for low-vegetation/background conditions; the outer clipping enforces physical limits for a fraction.
  • Parameters:
    • NDVI: Normalized Difference Vegetation Index as numpy.ndarray or rasters.Raster.
  • Returns:
    • fIPAR in $[0, 1]$ with same container type (numpy.ndarray or rasters.Raster).
  • Citation: Gower et al. (1999).

References

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

vegetation_conversion-1.0.1.tar.gz (14.9 kB view details)

Uploaded Source

Built Distribution

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

vegetation_conversion-1.0.1-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

Details for the file vegetation_conversion-1.0.1.tar.gz.

File metadata

  • Download URL: vegetation_conversion-1.0.1.tar.gz
  • Upload date:
  • Size: 14.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for vegetation_conversion-1.0.1.tar.gz
Algorithm Hash digest
SHA256 7dd90c5bbff63c8217bf6e1c3bdc5c4d82fde2a0e1a1e73bb01995a67b908140
MD5 ab905f1d49ef3ac04ed1ad8b173bba04
BLAKE2b-256 8266acab3074265dcc1f7092834520e55e5d6b613d1992e2a86f174f706b4058

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegetation_conversion-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 213f96669856f6373934b62aa3b1dd17a06b3fc5e743c93d538fdffb94d1dbb3
MD5 ecd614a8223972dc3a5c9f30101e5558
BLAKE2b-256 4b0ac969d8bc3b41332e7d04f9e425744b136e595492fcb072b5c4738a9e43e5

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