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) .
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) , and the first version
of the package is described in Aryal et al. (2020)
.