Skip to main content

DOI

MODIS MOD17 Terrestrial Productivity Algorithm

The MODIS MOD17 algorithm provided the first global, continuous, weekly estimates of ecosystem gross primary productivity (GPP) and annual estimates of net primary productivity (NPP). This source code can be used for comprehensive calibration, validation, sensitivity, and uncertainty analysis of the MOD17 algorithm. It was used by Endsley et al. (In Review) for the final recalibration of MODIS MOD17 and the development of a new, VIIRS-based VNP17 global productivity algorithm.

MOD17 consists of three potentially independent sub-models:

  • 8-day gross primary productivity (GPP)
  • 8-day net photosynthesis
  • Annual net primary productivity (NPP)

8-day composite products are given the designation MOD17A2H, for Terra MODIS, or MYD17A2H, for Aqua MODIS. Annual products, including annual GPP (the sum of one year's 8-day GPP composites), are carried by MOD17A3H (or MYD17A3H). The new VIIRS products would be designated VNP17A2H and VNP17A3H. GPP is calculated using a classic light-use efficiency (LUE) approach (Running et al. 2004, Yuan et al. 2014, Madani et al. 2017), where the carbon (C) uptake by plants is assumed to be proportional to canopy absorbed photosynthetically active radiation (APAR) under prevailing daytime environmental conditions for diel or longer time scales. Low temperatures or high vapor pressure deficit (VPD) reduce the efficiency of photosynthetic C uptake, thus, MOD17 GPP is described as a product of APAR, the light-use efficiency under optimal conditions ($\varepsilon_{\mathrm{max}}$), and environmental scalars.

Documentation

Read the documentation here.

Installation

Within the MOD17 repository's root directory:

pip install .

To install the dependencies required for model calibration:

pip install .[calibration]

Tests can be run with:

python tests/tests.py

Example Use

To make model predictions, e.g., for daily GPP:

from mod17 import MOD17, PFT_VALID
from mod17.utils import restore_bplut

N_SITES = 10 # Number of sites

# Read-in a BPLUT file, which contains model parameters
params_dict = restore_bplut(BPLUT_FILE)

# Create a vectorized BPLUT; there are 5 GPP parameters
params_vector = params_dict.copy()
for p_name in MOD17.required_parameters[0:5]:
    # "pft_map" refers to a 1D array of numeric PFT codes
    params_vector[p_name] = params_dict[p_name][pft_map].reshape((1, N_SITES))

# Create model, get predictions; "drivers" refers to a list of the expected
#   arguments to the daily_gpp() function, each is an array representing
#   a driver dataset (e.g., minimum temperature)
model = MOD17(params_vector)
gpp = model.daily_gpp(*drivers)

For a more complete example of GPP simulation, see:

docs/examples/MOD17_GPP_forward_run_Collection6-1.py

And download the following driver dataset: http://doi.org/10.5281/zenodo.7682806

To calibrate the GPP model from the command line

# Optimize the parameters for PFT 1 (Evergreen Needleleaf); calibration
#   data and other options are described by the configuration file, e.g.:
#       mod17/data/MOD17_calibration.config
python calibration.py tune-gpp --pft=1

# Export the thinned, mean a posteriori estimates from the command line;
#   in this example a burn-in of 1000 samples, taking every 10th sample
python calibration.py export-bplut output.csv --burn=1000 --thin=10

Citation

If using this software, please refer to the DOI:

10.5281/zenodo.8045097

And cite the following paper:

Endsley, K.A., M. Zhao, J.S. Kimball, S. Devadiga. 2023. Continuity of global MODIS terrestrial primary productivity estimates in the VIIRS era using model-data fusion. Journal of Geophysical Research: Biogeosciences, 128(9).

Acknowledgments

This software was developed under a grant from NASA (80NSSC22K0198).

References

Madani, N., J. S. Kimball, and S. W. Running. 2017. Improving global gross primary productivity estimates by computing optimum light use efficiencies using flux tower data. Journal of Geophysical Research: Biogeosciences 122 (11):2939–2951.

Running, S. W., R. R. Nemani, F. A. Heinsch, M. Zhao, M. Reeves, and H. Hashimoto. 2004. A continuous satellite-derived measure of global terrestrial primary production. BioScience 54 (6):547.

Yuan, W., W. Cai, J. Xia, J. Chen, S. Liu, W. Dong, et al. 2014. Global comparison of light use efficiency models for simulating terrestrial vegetation gross primary production based on the LaThuile database. Agricultural and Forest Meteorology 192–193:108–120.

Release files for mod17 1.0.0

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

Source distribution (sdist)

Source distribution for mod17 1.0.0
File Size Uploaded
mod17-1.0.0.tar.gz 54.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mod17 1.0.0
File Interpreter ABI Platform
mod17-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 102.6 kB

Release files / mod17-1.0.0.tar.gz

Download URL mod17-1.0.0.tar.gz
Size 54.8 kB
Tags Source
SHA-256 checksum
How to use checksums
345fe0edac777c1077f6d0dd75c14a67686d7bfee47943ed97c98e4505c84333
BLAKE2b-256 checksum
How to use checksums
e9bfd29a1165edeb88321bec53f56e8fbb7279634981f52f6d52b8f7b615f5ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.10.12

Release files / mod17-1.0.0-py3-none-any.whl

Download URL mod17-1.0.0-py3-none-any.whl
Size 47.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dc4fc317693fc663fa4666c673832825c213faf1f7c01510f13462387320241c
BLAKE2b-256 checksum
How to use checksums
b47f69c50d72c41e991ebc46a68e90eed5c956e62f8d21416ebdecf58a16eafa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.10.12

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

0.1.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