Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

The pyrealm logo: a green leaf over the shining sun.


PyPI - Version PyPI - Python Version Documentation Status codecov Test and build pre-commit.ci status SPEC 0 — Minimum Supported Dependencies

The pyrealm package provides a toolbox implementing some key models for estimating plant productivity, growth and demography in Python. The outputs of different models can be then easily fed into other models within pyrealm to allow productivity estimates to be fed forward into estimation of net primary productivity, growth and ultimately plant community demography.

The pyrealm package currently includes:

  • The P Model for estimating optimal rates of plant photosynthesis given the balance between carbon capture and water loss. This includes recent extensions to incorporate the effects of water stress, slow acclimation processes, models of C3/C4 competition and carbon isotope fractionation.
  • The SPLASH model for calculating soil moisture and actual evapotranspiration.
  • Initial components of a demography module for modelling plant functional types, cohorts, communities and canopies, including allocation calculations using the T Model.
  • A suite of core physics functions and other utilities used to support the modules above.

For more details, see the package website: https://pyrealm.readthedocs.io/.

Version overview

The pyrealm package uses semantic versioning and the list below summarise the major changes:

  • Version 3.0.0: extended and updated phenology and demography modules, small breaking changes to standardise function and class names and arguments.
  • Version 2.0.0: wide refactor of P Model code to a new API, extension of the package functionality to include the SPLASH v1 model and experimental modules developing functionality for plant demography and phenology.
  • Version 1.0.0: initial implementation of the P Model and associated functionality

We strongly recommend that you use the most recent major version. The documentation includes a migration guide to help update existing code.

Using pyrealm

The pyrealm package requires Python 3.12 or greater and we currently test all pyrealm code using Python 3.12, 3.13 and 3.14. We release new package versions through PyPi and you can install the most recent release using pip:

pip install pyrealm

You can now get started using pyrealm. For example, to calculate the estimated gross primary productivity of a C3 plant in a location, start a Python interpreter, using python, python3 or ipython depending on your installation, and run:

import numpy as np
from pyrealm.pmodel import PModelEnvironment, PModel

# Calculate the photosynthetic environment given the conditions
env = PModelEnvironment(
    tc=np.array([20]), vpd=np.array([1000]),
    co2=np.array([400]), patm=np.array([101325.0]),
    fapar=np.array([1]), ppfd=np.array([300]))

# Calculate the predictions of the P Model for a C3 plant
pmodel_c3 = PModel(env)

# Report the GPP in micrograms of carbon per m2 per second.
pmodel_c3.gpp

This should give the following output:

array([116.80365553])

The package website provides worked examples of using pyrealm, for example to:

These worked examples also show how pyrealm can be used within Python scripts or Jupyter notebooks and how to use pyrealm with large datasets loaded using numpy or xarray with pyrealm classes and functions.

Citing pyrealm

The pyrealm repository can be cited following the information in the citation file. If you are using pyrealm in research, it is better to cite the DOI of the specific release from Zenodo.

Developing pyrealm

If you are interested in contributing to the development of pyrealm, please read the guide for contributors. Please do also read the code of conduct for contributing to this project.

Support and funding

Development of the pyrealm package has been supported by the following grants and institutions:

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyrealm-3.0.0rc3.tar.gz (62.0 MB view details)

Uploaded Source

Built Distribution

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

pyrealm-3.0.0rc3-py3-none-any.whl (181.0 kB view details)

Uploaded Python 3

File details

Details for the file pyrealm-3.0.0rc3.tar.gz.

File metadata

  • Download URL: pyrealm-3.0.0rc3.tar.gz
  • Upload date:
  • Size: 62.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pyrealm-3.0.0rc3.tar.gz
Algorithm Hash digest
SHA256 d718e280d02ba1507deeb24311da251ef7a4317871e444b476a0e0191f0e779b
MD5 9f8e47e34e7645ebe4039b65e4dc20bb
BLAKE2b-256 83e4bc75b5f363c5f3a26d3d6c5ba78cc3394245b5f08ed06c5eb731ac156c87

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrealm-3.0.0rc3.tar.gz:

Publisher: pyrealm_publish.yaml on ImperialCollegeLondon/pyrealm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrealm-3.0.0rc3-py3-none-any.whl.

File metadata

  • Download URL: pyrealm-3.0.0rc3-py3-none-any.whl
  • Upload date:
  • Size: 181.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pyrealm-3.0.0rc3-py3-none-any.whl
Algorithm Hash digest
SHA256 7c6629fdb4f8558ed1874140b3527c604f84b2a8d902c475a3c512388af56c13
MD5 b1edcb3250b244dfb3f0ed7b6e001e04
BLAKE2b-256 e7040507da9b108cd055dbdc38b25070c0641589f9092cdbefa1828e31a72c93

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrealm-3.0.0rc3-py3-none-any.whl:

Publisher: pyrealm_publish.yaml on ImperialCollegeLondon/pyrealm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

3.0.0rc3 This release

2 files

2.0.0

2 files

1.0.1

2 files

1.0.0

2 files

0.10.1

2 files

0.10.0

2 files

0.9.0

2 files

0.8.1

2 files

0.8.0

2 files

0.7.0

2 files

0.6.0

2 files

0.5.6

2 files

0.5.5

2 files

0.5.4

2 files

0.5.3

2 files

0.5.2

2 files

0.5.1

2 files

0.5.0

2 files

0.4.0

2 files

0.3.1

2 files

0.3.0

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page