Rapid light curves recorded via the pulse‐amplitude modulation (PAM) technique are widely used to characterize photosynthesis, enabling the determination of key photosynthetic parameters. However, deriving these kinetic parameters from raw data requires fitting to regression models, a process traditionally involving laborious and error‐prone manual steps. Our R package pam streamlines this process by automating regression analysis, enabling fast and reproducible processing of large datasets. It provides the models of Vollenweider (1965), Platt et al. (1980), Eilers and Peeters (1988) and Walsby (1997).
- J. Böhm and P. Schrag, ‘pam: An R Package for Fast and Efficient Processing of Pulse‐Amplitude Modulation Data’, Ecology and Evolution, vol. 16, no. 4, p. e73400, Apr. 2026, doi: 10.1002/ece3.73400.
-
J. Böhm, J. Trossen, I. Blindow, and H. Schubert, ‘Impact of temperature and light on the physiology and morphology of Chara hispida L. (Charophyceae)’, Aquatic Botany, vol. 206, p. 104022, Sep. 2026, doi: 10.1016/j.aquabot.2026.104022.
-
J. Böhm, I. Blindow, N. Gyllenstrand, W. Diewald, and H. Schubert, ‘Sphaerochara canadensis (Charophyceae): A circumpolar species with a high temperature optimum’, Journal of Phycology, vol. 61, no. 6, pp. 1863–1873, Dec. 2025, doi: 10.1111/jpy.70111.
-
A continuously updated overview of studies using this package can be accessed via ResearchGate (publication, package)
# The easiest way to install 'pam' is from CRAN:
install.packages("pam")
# Alternatively, you can install it from GitHub:
install.packages("remotes")
remotes::install_github("biotoolbox/pam", subdir = "src")
# To install the development version from GitHub:
install.packages("remotes")
remotes::install_github("biotoolbox/pam", subdir = "src", ref = "dev")Examples of usage can be found in the examples directory:
- Single CSV → Reads a single CSV, generates regression data using Eilers and Peeters model, modifies the model result, generates control plot and exports the plot as jpg and the result as csv files.
- Multiple CSV's → Reads multiple CSV files, generates regression data using Eilers and Peeters model, modifies the model result, generates control plot and exports the plots as pdf and the result as csv files.
- Combo control plot → Generates one control plot containing all models from a single csv file and exports the plot as jpg.
- Compare models → Compares all models against each other based on one data set and prints the score.
For detailed information about these functions, visit the respective documentation:
- Read CSV Data → Reads the raw data CSV files and returns the intermediate table.
- Generate Regressions → Generates ETR regression data from the chosen model.
- Modify Model Results → Modifies parameter naming to a standard approach and adds parameters from other models.
- Plot Control → Generates control plots for visual fit validation.
- Write Model Results → Exports the regression results as CSV files.
- Compare Regression Models → Scores models against each other for one data set.
- The current version and patch notes can be found under releases.
- Bug reports can be posted under issues.
- Deeper insights can be found under developer documentation.
- A good source for general help can be the rstats Reddit community.

