Package: dendRoAnalyst 2.0.0

Sugam Aryal

dendRoAnalyst: A Tool for Processing and Analyzing Dendrometer Data

Tools for importing, cleaning, analyzing, and visualizing high-resolution dendrometer data and for linking them with climate data. Dendrometer and climate records can be imported with automatic date-time parsing (read.dendrometer(), read.climate()) and checked for a regular temporal resolution (reso_dm()). Preprocessing functions detect and correct artificial jumps with a threshold-based or an automatic changepoint method (jump.locator()), detect and fill gaps with spline, seasonal, or network interpolation (dm.na.interpolation(), network.interpolation()), and truncate or resample the series (dendro.truncate(), dendro.resample()). Daily statistics (daily.data()), the stem-cycle approach (phase.sc()), and the zero-growth approach (phase.zg()) separate radial growth from reversible stem shrinkage and swelling. The function phase.zg() also returns metrics of tree water deficit (TWD) phases, including the event-based ABr index, and the daily drought indices of Peters et al. (2025) <doi:10.1111/nph.70266>. Climate data can be summarized at daily and sub-daily scales and attached to daily, phase-level, and point-level outputs (dm_add_climate()). Event-based climate analyses, superposed epoch analyses, and adverse-period analyses (dm_event_climate(), dm_epoch_test(), clim.twd()) relate tree responses to climate conditions. Seasonal growth can be fitted with Gompertz, logistic, Richards, generalized additive model, LOESS, and spline functions, detrended, and compared among methods (dm.growth.fit(), dm.detrend.fit(), dm.growth.evaluate()). Running correlations with climate (mov.cor.dm()) and wavelet power and coherence analyses based on 'WaveletComp' (dm_wavelet(), dm_wavelet_coherence()) are also provided. Most outputs have dedicated plot methods, and an optional 'shiny' application (dendroanalyst()) allows the complete workflow to be run without programming. The zero-growth approach follows Zweifel et al. (2016) <doi:10.1111/nph.13995>, and the first version of the package is described in Aryal et al. (2020) <doi:10.1016/j.dendro.2020.125772>.

Authors:Sugam Aryal [aut, cre, dtc], Martin Häusser [aut], Jussi Grießinger [aut], Ze-Xin Fan [aut], Achim Bräuning [aut, dgs]

dendRoAnalyst_2.0.0.tar.gz
dendRoAnalyst_2.0.0.zip(r-4.7-any)dendRoAnalyst_2.0.0.zip(r-4.6-any)
dendRoAnalyst_2.0.0.tar.gz(r-4.7-any)dendRoAnalyst_2.0.0.tar.gz(r-4.6-any)
dendRoAnalyst_2.0.0.tgz(r-4.6-emscripten)
manual.pdf |manual.html✨
DESCRIPTION
card.svg |card.png
dendRoAnalyst/json (API)

# Install 'dendRoAnalyst' in R:
install.packages('dendRoAnalyst', repos = c('https://cran.r-universe.dev', 'https://cloud.r-project.org'))
Datasets:
  • gf_nepa17 - Dendrometer data of Kathmandu for 2017 with gap filled
  • ktm_clim_hourly - Hourly climate data for Kathmandu derived from ERA5-Land
  • ktm_rain17 - Daily rainfall data of Kathmandu for 2017.
  • nepa - Dendrometer data from Kathmandu
  • nepa17 - Dendrometer data of Kathmandu for 2017
  • nepa2 - Dendrometer data from Kathmandu version 2

On CRAN:

Conda:

This package does not link to any Github/Gitlab/R-forge repository. No issue tracker or development information is available.

3.49 score 2 stars 39 scripts 515 downloads 49 exports 122 dependencies

Last updated from:7dab4ab0f4. Checks:6 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-develOK192
source / vignettesOK285
linux-releaseOK216
windows-develOK156
windows-releaseOK153
wasm-releaseOK160

Exports:clim.twdclim.twd.statsclim.twd.testdaily.datadendro.resampledendro.truncatedendroanalystdm_add_climatedm_daily_climdm_epoch_extractdm_epoch_testdm_event_climatedm_event_climate_summarydm_event_climate_testdm_event_timesdm_join_daily_climdm_join_phase_climdm_join_subdaily_climdm_plot_climatedm_plot_climate_comparedm_standardizedm_subdaily_climdm_waveletdm_wavelet_coherencedm_wavelet_reconstructdm.detrend.fitdm.fit.gompertzdm.growth.evaluatedm.growth.fitdm.growth.fit.doubledm.na.interpolationi.jump.locatorjump.locatormean_detrended.dmmov.cor.dmnetwork.interpolationphase.scphase.zgplot_dm_assessmentplot_dm_gapsplot_dm_interpolationplot_event_climate_boxplot_event_climate_relationplot_mov.corread.climateread.dendrometerreso_dmsmooth_dmtwd.maxima

Dependencies:askpassbackportsbase64encbitbit64blobbootbroombslibcachemcallrcellrangerchangepointclicliprcolorspaceconflictedcpp11crayoncurldata.tableDBIdbplyrdigestdplyrdtplyrevaluatefarverfastmapfontawesomeforcatsforecastfracdifffsgarglegenericsggplot2gluegoogledrivegooglesheets4gtablehavenhighrhmshtmltoolshttridsisobandjquerylibjsonliteknitrlabelinglatticelifecyclelmtestlubridatemagrittrMASSMatrixmemoisemgcvmimeminpack.lmmodelrmomentsnlmennetopensslotelpillarpkgconfigprettyunitsprocessxprogresspspsplinepurrrR6raggrappdirsRColorBrewerRcppRcppArmadilloreadrreadxlrematchrematch2reprexrlangrmarkdownrstudioapirvestS7sassscalesselectrsignalstringistringrsyssystemfontstextshapingtibbletidyrtidyselecttidyversetimechangetimeDatetinytextzdburcautf8uuidvctrsviridisLitevroomWaveletCompwithrxfunxml2yamlzoo

dendRoAnalyst: end-to-end workflow and function tour
Overview | Example datasets | 1. Reading dendrometer and climate data | read.dendrometer() | read.climate() | 2. Looking for jumps or gaps in dendrometer data | reso_dm() | jump.locator() and i.jump.locator() | dm.na.interpolation() and its plot methods | 3. Resample and truncate the dataset | dendro.resample() | dendro.truncate() | 4. Smoothing | smooth_dm() | 5. Daily approach and daily climate functions | daily.data() and plot.daily_output() | dm_daily_clim() and dm_join_daily_clim() | dm_add_climate() for daily outputs | 6. Stem-cycle approach and associated functions | phase.sc() and plot.SC_output() | dm_subdaily_clim(), dm_join_subdaily_clim(), dm_join_phase_clim(), and dm_add_climate() | 7. Zero-growth approach and associated functions | phase.zg(), twd.maxima(), and plot.ZG_output() | Climate joins and climate-phase plots | 8. Superposed epoch and associated functions | dm_event_times(), dm_epoch_extract(), dm_epoch_test(), and method dispatch | 9. Event-based climate functions | 10. Growth fit and evaluation | dm.fit.gompertz() | dm.growth.fit(), plot.dm_growth_fit(), and print/summary methods | dm.growth.fit.double() and dm.growth.evaluate() | 11. Detrending and associated functions | dm_standardize() and plot.dm_standardized() | 12. Moving correlations and associated functions | 13. Harsh climate using clim.twd() and associated functions | 14. Network interpolation | network.interpolation() and plot.network_interpolation() | 15. Wavelet analysis and associated functions | dm_wavelet(), summary.dm_wavelet(), and plot.dm_wavelet() | dm_wavelet_reconstruct() and its methods | dm_wavelet_coherence() and plot.dm_wavelet_coherence() | Closing note | For suggestions, comments and questions please contact : [email protected]

Last update: 2026-10-02
Started: 2020-07-03

News in latest version of 'dendRoAnalyst' package
What's new in dendRoAnalyst 0.1.6 | 1. Core phase engines are now more modular | 2. Dedicated plotting methods for phase outputs | 3. Expanded data import, checking, and quality control | 4. New and upgraded gap-handling tools | 5. Data conditioning tools are broader and clearer | 6. Daily summaries are now easier to compute and inspect | 7. Climate joining helpers support both daily and subdaily workflows | 8. Event-based phase and climate tools were added | 9. Growth modelling is more flexible and easier to evaluate | 10. Detrending is now better linked to growth fitting | 11. Superposed epoch analysis now has a fuller toolkit | 12. Wavelet tools were added for time-frequency analysis | 13. Moving climate–growth correlations were upgraded | 14. Harsh-climate analysis is more complete | 15. Package design now emphasizes compute-first, plot-second workflows | Heads-up on namespaces | In short

Last update: 2026-05-20
Started: 2024-03-20

Readme and manuals

Help Manual

Help pageTopics
Calculate relative dendrometer change during adverse climate periods and the following normal phaseclim.twd
Calculate tree-, species-, or site-level statistics from clim.twd outputclim.twd.stats
Statistical testing for clim.twd outputclim.twd.test
Daily statistics of dendrometer datadaily.data
Resampling temporal resolution of dendrometer and climate datadendro.resample
Truncation of dendrometer datadendro.truncate
Launch the dendRoAnalyst Shiny workbenchdendroanalyst
Add climate information to dendrometer outputsdm_add_climate
Daily climate summaries for dendrometer analysesdm_daily_clim
Build an epoch table around event timesdm_epoch_extract
Test superposed epoch composites against a null distributiondm_epoch_test
Extract climate at and before phase eventsdm_event_climate
Summarize event-based climate resultsdm_event_climate_summary
Test differences in event-based climate between groupsdm_event_climate_test
Extract event times from phase.zg() or phase.sc() outputdm_event_times
Join daily climate summaries to daily dendrometer statisticsdm_join_daily_clim
Join climate summaries to dendrometer phase windowsdm_join_phase_clim
Join subdaily climate features to point-level dendrometer outputdm_join_subdaily_clim
Plot climate attached to dendrometer outputsdm_plot_climate
Compare multiple climate variables attached to dendrometer outputsdm_plot_climate_compare
Standardize dendrometer series within seasonal yearsdm_standardize
Subdaily climate features for dendrometer analysesdm_subdaily_clim
Wavelet analysis of dendrometer seriesdm_wavelet
Wavelet coherence between dendrometer and climate seriesdm_wavelet_coherence
Reconstruct or remove selected cycle components from a dm_wavelet objectdm_wavelet_reconstruct
Detrend and standardize dendrometer series from growth-fit residualsdm.detrend.fit
Fitting gompertz function on annual dendrometer datadm.fit.gompertz
Compare dendrometer growth-fitting methods using fit statisticsdm.growth.evaluate
Fit dendrometer growth curves by vegetation seasondm.growth.fit
Fit bimodal dendrometer growth curves by vegetation seasondm.growth.fit.double
Detection and interpolation of missing values in dendrometer datadm.na.interpolation
Dendrometer data of Kathmandu for 2017 with gap filledgf_nepa17
Removing artefacts due to manual adjustments of dendrometers interactivelyi.jump.locator
Removing artefacts due to manual adjustments of dendrometers automatically for more than one dendrometerjump.locator
Hourly climate data for Kathmandu derived from ERA5-Landktm_clim_hourly
Daily rainfall data of Kathmandu for 2017.ktm_rain17
Calculate the mean detrended dendrometer seriesmean_detrended.dm
Running correlation between dendrometer data and climatemov.cor.dm
Dendrometer data from Kathmandunepa
Dendrometer data of Kathmandu for 2017nepa17
Dendrometer data from Kathmandu version 2nepa2
Interpolate missing dendrometer values using a site networknetwork.interpolation
Application of the stem-cycle approach to calculate cyclic phases and tree-level phase statistics.phase.sc
Apply the Zero-Growth (ZG) approach to segment dendrometer data into TWD/GRO phasesphase.zg
Plot interpolation assessment metricsplot_dm_assessment
Plot detected gaps in dendrometer dataplot_dm_gaps
Plot original and interpolated dendrometer seriesplot_dm_interpolation
Plot event-based climate distributionsplot_event_climate_box
Plot event-based climate-response relationshipsplot_event_climate_relation
Backward-compatible wrapper for plotting moving correlationplot_mov.cor
Plot method for clim.twd.stats outputplot.clim_twd_stats
Plot method for clim.twd.test outputplot.clim_twd_test
Plot method for daily dendrometer statisticsplot.daily_output
Plot climate-augmented daily dendrometer outputplot.daily_output_clim
Plot detrended dendrometer seriesplot.dm_detrended
Plot a dm_epoch objectplot.dm_epoch
Plot growth-fitting evaluation statisticsplot.dm_growth_evaluation
Plot dendrometer growth-fit resultsplot.dm_growth_fit
Plot method for dendrometer NA interpolation resultsplot.dm_na_interpolation
Plot method for standardized dendrometer outputplot.dm_standardized
Plot method for wavelet analysis outputplot.dm_wavelet
Plot method for dm_wavelet_coherence objectsplot.dm_wavelet_coherence
Plot method for dm_wavelet_reconstruct objectsplot.dm_wavelet_reconstruct
Plot mean detrended dendrometer seriesplot.mean_dm_detrended
Plot method for moving dendrometer-climate correlationplot.mov_cor_dm
Plot method for network interpolation outputplot.network_interpolation
Plotting output of stem cycle approachplot.SC_output
Plot climate-augmented stem-cycle outputplot.SC_output_clim
Plot method for summaries of moving dendrometer-climate correlationplot.summary_mov_cor_dm
Plotting output of zero-growth approachplot.ZG_output
Plot climate-augmented zero-growth outputplot.ZG_output_clim
Print a dm_growth_fit objectprint.dm_growth_fit
Print method for running dendrometer-climate correlation objectsprint.mov_cor_dm
Print method for summaries of running dendrometer-climate correlation objectsprint.summary_mov_cor_dm
Print summary of clim.twd.stats outputprint.summary.clim_twd_stats
Print summary of clim.twd.test outputprint.summary.clim_twd_test
Print summary of a dm_epoch objectprint.summary.dm_epoch
Print a summary.dm_growth_fit objectprint.summary.dm_growth_fit
Print method for summary.dm_wavelet_reconstructprint.summary.dm_wavelet_reconstruct
Read and standardize climate data for dendrometer analysesread.climate
Reading dendrometer dataread.dendrometer
Detect Temporal Resolution and Irregularities in Time Seriesreso_dm
Smoothing of Dendrometer Time Seriessmooth_dm
Summarize clim.twd.stats outputsummary.clim_twd_stats
Summarize clim.twd.test outputsummary.clim_twd_test
Summarize a dm_epoch objectsummary.dm_epoch
Summarize a dm_growth_fit objectsummary.dm_growth_fit
Summarize a dm_wavelet objectsummary.dm_wavelet
Summarize a dm_wavelet_reconstruct objectsummary.dm_wavelet_reconstruct
Summary method for running dendrometer-climate correlation objectssummary.mov_cor_dm
Locating the maxima of TWD periodstwd.maxima