Package: pep725 1.1.1

pep725: Pan-European Phenological Data Analysis

Provides a framework for quality-aware analysis of ground-based phenological data from the PEP725 Pan-European Phenology Database (Templ et al. (2018) <doi:10.1007/s00484-018-1512-8>; Templ et al. (2026) <doi:10.1111/nph.70869>) and similar observation networks. Implements station-level data quality grading, outlier detection, phenological normals (climate baselines), anomaly detection, elevation and latitude gradient estimation with robust regression, spatial synchrony quantification, partial least squares (PLS) regression for identifying temperature-sensitive periods, and sequential Mann-Kendall trend analysis. Supports data import from PEP725 files, conversion of user-supplied data, and downloadable synthetic datasets for teaching without barriers of registration. All analysis outputs provide 'print', 'summary', and 'plot' methods. Interactive spatial visualization is available via 'leaflet'.

Authors:Matthias Templ [aut, cre], Barbara Templ [aut]

pep725_1.1.1.tar.gz
pep725_1.1.1.zip(r-4.7)pep725_1.1.1.zip(r-4.6)pep725_1.1.1.zip(r-4.5)
pep725_1.1.1.tgz(r-4.6-any)pep725_1.1.1.tgz(r-4.5-any)
pep725_1.1.1.tar.gz(r-4.7-any)pep725_1.1.1.tar.gz(r-4.6-any)
pep725_1.1.1.tgz(r-4.6-emscripten)
manual.pdf |manual.html
DESCRIPTION |NEWS
card.svg |card.png
pep725/json (API)

# Install 'pep725' in R:
install.packages('pep725', repos = c('https://matthias-da.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/matthias-da/pep725/issues

Datasets:
  • pep_seed - Minimal Seed Dataset for Synthetic Data Generation

On CRAN:

Conda:

5.64 score 2 stars 11 scripts 361 downloads 47 exports 58 dependencies

Last updated from:8cd0037b93. Checks:9 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-x86_64OK243
source / vignettesOK410
linux-release-x86_64OK253
macos-release-arm64OK185
macos-oldrel-arm64OK137
windows-develOK154
windows-releaseOK158
windows-oldrelOK156
wasm-releaseOK175

Exports:add_countryadd_daylengthas.pepbbch_descriptioncalc_daylengthcalc_max_daylengthcalc_thermal_sumcalc_thermal_unitsget_phenology_doysis.pepkendall_taumann_kendall_znew_peppep_cache_clearpep_cache_infopep_check_connectivitypep_check_phasespep_check_phases_multipep_completenesspep_coveragepep_downloadpep_flag_outlierspep_importpep_outliers_leafletpep_plot_outlierspep_qualitypep_second_eventspep_simulatepep725_demopheno_anomalypheno_combinepheno_gradientpheno_leafletpheno_mappheno_normalspheno_plotpheno_plot_hhpheno_plot_timeseriespheno_plspheno_regionalpheno_regional_hhpheno_synchronypheno_trend_turningplot_phenology_trendsselect_phasesubspecies_reportsummarize_subspecies_availability

Dependencies:askpassclassclassIntclicpp11curldata.tableDBIDEoptimRdplyre1071farvergenericsggplot2gluegtablehttrisobandjsonliteKernSmoothlabelinglatticelifecyclemagrittrMASSMatrixmgcvmimenlmeopensslpatchworkpillarpkgconfigproxypurrrR6RColorBrewerRcpprlangrnaturalearthrobustbases2S7scalessfstringistringrsysterratibbletidyrtidyselectunitsutf8vctrsviridisLitewithrwk

Getting Started with pep725
What is Phenology? | The PEP725 Database | Why Use the pep725 R Package? | Installation | Loading the Package | Getting Phenological Data | Why Synthetic Data? | Option 1: Download Synthetic Data (Recommended for Learning) | Option 2: Use the Small Seed Dataset | Option 3: Generate Your Own Synthetic Data | Option 4: Import Real PEP725 Data (For Research) | Option 5: Use Your Own Plant Phenological Data | Understanding the Data Structure | What You See in the Output | Key Columns Explained | Understanding Day of Year (DOY) | The pep Class | The Summary Method | Subsetting the Data | Understanding BBCH Codes | How BBCH Codes Work | Looking Up BBCH Codes | Commonly Used BBCH Codes in Phenological Research | Filtering by Phenological Phase | Exploring Data Coverage | Full Coverage Report | Focused Coverage Analysis | Coverage by Groups | Your First Analysis: Tracking Flowering Trends | Comparing with Another Species: Grapevine | Common Pitfalls and Tips | Data Quality Matters | Species Considerations | Next Steps | Phenological Analysis Vignette | Spatial Phenological Patterns Vignette | Data Quality Assessment Vignette | Getting Help | Session Info | References

Last update: 2026-07-20
Started: 2026-01-19

Phenological Analysis
Introduction | What You'll Learn | Prerequisites | Setup | Part 1: Phenological Normals | What are Phenological Normals? | Standard Reference Periods | Calculating Normals with pheno_normals() | Understanding the Output Statistics | Visualizing Normals | Filtering to Specific Phases | Comparing Two Time Periods | Comparing Species: Grapevine with Longer History | Part 2: Phenological Anomalies | What are Anomalies? | How Anomalies are Calculated | Calculating Anomalies with pheno_anomaly() | Understanding Anomaly Metrics | Identifying Extreme Years | Summary of Anomalies | Visualizing Anomalies | Robust vs. Classical Methods | Part 3: Data Quality Assessment | Why Quality Matters | Quality Dimensions | Running Quality Assessment | Understanding Quality Grades | Visualizing Quality Assessment | Filtering Data by Quality | Assessing Quality at Different Levels | Part 4: Complete Analytical Workflow | Part 5: Visualizing Trends | Time Series Plots | Detecting Trend Turning Points | Simple Trend Statistics | Linking Phenology to Climate | Best Practices Summary | Before Analysis | Calculating Normals | Calculating Anomalies | Analyzing Trends | Reporting | Next Steps | Session Info

Last update: 2026-07-20
Started: 2026-01-19

Data Quality Assessment
Introduction | The Data Quality Challenge | What You'll Learn | Prerequisites | Setup | Part 1: Outlier Detection | Why Detect Outliers? | Statistical Methods for Outlier Detection | Method 1: 30-Day Rule (Simple Threshold) | Understanding the Output | Method 2: MAD (Median Absolute Deviation) - Recommended | Method 3: IQR (Interquartile Range) - Also Robust | Method 4: Z-Score - Sensitive but Less Robust | Method 5: GAM Residual - Model-based, Covariate-aware | Method 6: Mahalanobis - Multivariate, Robust (MCD) | Choosing a Method | Summary Statistics | Comparing Outlier Rates Across Species | Visualizing Outliers | 1. Overview Plot | 2. Seasonal Distribution | 3. Detailed Context | 4. Geographic Distribution | 5. Model Diagnostic (for gam_residual / mahalanobis) | 6. Phase-profile Plot (primary Mahalanobis figure) | Part 2: Data Completeness | Why Check Completeness? | Visualizing Completeness Issues | Assessing Completeness | Understanding Completeness Metrics | Filtering by Completeness | Completeness Thresholds for Different Analyses | Visualizing Completeness | Part 3: Phase Presence Validation | Why Check Phase Presence? | Checking Phase Presence | Checking Multiple Species | Common Phases to Check | Part 4: Integrated Quality Workflow | Putting It All Together | Documentation Template | Best Practices Summary | For Outlier Detection | For Abnormal Event Detection | For Completeness Assessment | For Phase Presence Checking | Summary | Key Take-Home Messages | Next Steps | Session Info

Last update: 2026-04-23
Started: 2026-01-30

Spatial Phenological Patterns
Introduction | What You'll Learn | Prerequisites | Setup | Part 1: Phenological Gradients | What are Phenological Gradients? | Altitudinal Gradient | Latitudinal Gradient | Why Study Gradients? | Altitudinal Gradient Analysis | Understanding the Function Parameters | Interpreting the Results | Latitudinal Gradient Analysis | Comparing Regression Methods | Which Method Should You Use? | Comparing Species: Grapevine Gradient | Gradients by Region | Visualizing Gradients | Expected Values and Troubleshooting | Reference Values from Literature | When Your Results Differ from Expected | Part 2: Phenological Synchrony | What is Phenological Synchrony? | Visualizing Synchrony Concepts | Why Study Synchrony? | Calculating Synchrony | Understanding the Parameters | Understanding Synchrony Metrics | Temporal Trends in Synchrony | Interpreting Trend Results | Visualizing Synchrony Over Time | Synchrony Without Trend Analysis | Comparing Synchrony: Grapevine vs. Apple | Part 3: Combining Gradient and Synchrony Analysis | Interpreting Combined Results | Part 4: Mapping Phenological Patterns | Interactive Maps with pheno_leaflet() | Features of pheno_leaflet() | Best Practices for Interactive Mapping | Static Maps with pheno_map() | Basic Station Maps | Coloring by Data Attributes | Using Google Maps Background | Mapping Phenological Patterns | Mean Phenological Timing | Phenological Trends | Species-level Variation | Understanding color_by Options | Parameter Reference for pheno_map() | Combining Mapping with Analysis | Best Practices Summary | For Gradient Analysis | For Synchrony Analysis | For Mapping | Summary | Key Take-Home Messages | Next Steps | Session Info

Last update: 2026-02-17
Started: 2026-01-19

Readme and manuals

Help Manual

Help pageTopics
Subset PEP725 Data While Preserving Class[.pep
Add Country Information to a Dataset Based on Latitude/Longitudeadd_country
Add Daylength to Phenological Dataadd_daylength
Coerce to PEP725 Data Objectas.pep
Get BBCH Phase Descriptionbbch_description
Calculate Daylength (Photoperiod)calc_daylength
Maximum Daylength at a Latitudecalc_max_daylength
Calculate Thermal Sum at Phenological Eventscalc_thermal_sum
Calculate Thermal Units (Growing Degree Days)calc_thermal_units
Compute CTRL and SCEN Phenology Day-of-Year Valuesget_phenology_doys
Test if Object is a PEP725 Data Objectis.pep
Mann-Kendall Z-Statisticmann_kendall_z
Create a PEP725 Phenological Data Objectnew_pep
Clear Cached PEP Datapep_cache_clear
Get Cache Informationpep_cache_info
Check Station-Year Connectivitypep_check_connectivity
Check for Expected Phenological Phasespep_check_phases
Check Multiple Phases Across Speciespep_check_phases_multi
Assess Species and Phase Completeness of Phenological Datapep_completeness
Assess Data Coverage of PEP725 Phenological Datapep_coverage
Download Synthetic PEP725 Datapep_download
Flag Phenological Outlierspep_flag_outliers
Import and preprocess PEP725 phenological datapep_import
Interactive Leaflet Map of Outlier-Flagged Stationspep_outliers_leaflet
Visualize Phenological Outliers for Inspectionpep_plot_outliers
Assess Data Quality of Phenological Observationspep_quality
Detect Second Flowering and Other Repeated Phenological Eventspep_second_events
Minimal Seed Dataset for Synthetic Data Generationpep_seed
Simulate Synthetic PEP Datapep_simulate
PEP725 Phenological Data Classpep-class
Demonstrate the pep725 Package Functionspep725_demo
Calculate Phenological Anomaliespheno_anomaly
Create Combined Phenological Time Seriespheno_combine
Analyze Phenological Gradients with Elevation or Latitudepheno_gradient
Interactive Leaflet Map to Select PEP725 Stationspheno_leaflet
Plot Phenology Station Mapspheno_map
Calculate Phenological Normals (Climatology)pheno_normals
Plot Phenological Time Seriespheno_plot
Plot Phenological Time Series for Heading and Harvestpheno_plot_hh
Plot Phenological Time Seriespheno_plot_timeseries
Partial Least Squares Analysis for Phenology-Temperature Relationshipspheno_pls
Compile Regional Phenology Data and Climate Sensitivity Inputspheno_regional
Compile Regional Phenological Time Series for Heading and Harvestpheno_regional_hh
Analyze Phenological Synchrony Across Stationspheno_synchrony
Detect Trend Turning Points in Phenological Time Seriespheno_trend_turning
Plot Robust Phenological Trendsplot_phenology_trends
Plot Method for PEP725 Dataplot.pep
Plot Method for Completeness Assessmentplot.pep_completeness
Plot Method for PEP Coverageplot.pep_coverage
Plot Method for Outlier Detection Resultsplot.pep_outliers
Plot Method for Data Quality Assessmentplot.pep_quality
Plot Method for Phenological Anomaliesplot.pheno_anomaly
Plot Method for Combined Time Seriesplot.pheno_combined
Plot Method for Phenological Gradient Analysisplot.pheno_gradient
Plot Method for Phenological Normalsplot.pheno_normals
Plot Method for PLS Phenology Resultsplot.pheno_pls
Plot Method for Phenological Synchrony Analysisplot.pheno_synchrony
Plot Method for Trend Turning Analysisplot.pheno_turning
Plot Method for Second Events Detectionplot.second_events
Print Method for PEP725 Dataprint.pep
Print Method for Completeness Assessmentprint.pep_completeness
Print Method for PEP Coverageprint.pep_coverage
Print Method for Outlier Detection Resultsprint.pep_outliers
Print Method for Data Quality Assessmentprint.pep_quality
Print Method for Phase Check Resultsprint.phase_check
Print Method for Multi-Species Phase Checkprint.phase_check_multi
Print Method for Phenological Anomaliesprint.pheno_anomaly
Print Method for Combined Time Seriesprint.pheno_combined
Print Method for Phenological Gradient Analysisprint.pheno_gradient
Print Method for Phenological Normalsprint.pheno_normals
Print Method for PLS Phenology Resultsprint.pheno_pls
Print Method for Phenological Synchrony Analysisprint.pheno_synchrony
Print Method for Trend Turning Analysisprint.pheno_turning
Print Method for Second Events Detectionprint.second_events
Select and Label Phenophases from PEP Time Seriesselect_phase
Comprehensive Subspecies Availability Reportsubspecies_report
Summarize Subspecies Phenological Data Availabilitysummarize_subspecies_availability
Summary Method for PEP725 Datasummary.pep
Summary Method for Completeness Assessmentsummary.pep_completeness
Summary Method for Outlier Detection Resultssummary.pep_outliers
Summary Method for Data Quality Assessmentsummary.pep_quality
Summary Method for Phenological Anomaliessummary.pheno_anomaly
Summary Method for Phenological Normalssummary.pheno_normals
Summary Method for PLS Phenology Resultssummary.pheno_pls
Summary Method for Phenological Synchrony Analysissummary.pheno_synchrony
Summary Method for Second Events Detectionsummary.second_events