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.0.tar.gz (14.1 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.0-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for vegetation_conversion-1.0.0.tar.gz
Algorithm Hash digest
SHA256 8b2f84b09c5573a741f59108fb74cf15f05c0c2d1238de7ad043fd8fa2da6150
MD5 6ae91c160a4d4bff8b8e0212c0781218
BLAKE2b-256 25a0491d077f2bca49d7f3113ddc12e7089ae72967d5215112c10a9aab82c22e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegetation_conversion-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8b39e17a2c41b1acf587ccb7bd999cdee29753bddc2e1d3a343d833d72375543
MD5 6654558aed8287fc174704d24ade8352
BLAKE2b-256 d8c2d5f948cef13b985be3b2ec16e160bd2a9d6360f17e48c03967fdc8d16dac

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