phase.sc: Application of the stem-cycle approach to classify...

View source: R/phase.sc.R

phase.scR Documentation

Application of the stem-cycle approach to classify dendrometer phases

Description

Implements the stem-cycle approach (Downes et al., 1999; Deslauriers et al., 2011) to divide a dendrometer time series into three biologically meaningful phases:

  1. Shrinkage (phase = 1): the dendrometer reading decreases compared to the previous reading.

  2. Expansion (phase = 2): the dendrometer reading increases compared to the previous reading, but remains below the previous maximum.

  3. Increment (phase = 3): the dendrometer reading exceeds the previous maximum (irreversible stem growth).

For each contiguous phase, the function calculates duration, magnitude, rate, and assigns day-of-year information. Optionally, the dendrometer series may be smoothed before phase calculation to reduce noise and spurious phase changes.

Usage

phase.sc(df, TreeNum, smoothing = NULL)

Arguments

df

A data frame with the first column containing date-time in the format "yyyy-mm-dd HH:MM:SS" (or convertible to POSIXct), followed by one or more dendrometer measurement columns (mm).

TreeNum

Integer. The index of the dendrometer column to analyze. For example, TreeNum = 1 selects the first dendrometer series after the time column.

smoothing

Numeric or NULL. Length of the smoothing window in hours (1–24). If NULL (default), no smoothing is applied. If provided, the dendrometer series is smoothed using smooth_dm(method = "median_mean") prior to phase classification.

Details

Classification uses the cumulative maximum of the dendrometer series:

  • If the cumulative maximum increases, the phase is labeled Increment (3).

  • If the cumulative maximum is constant and the first difference is positive, the phase is Expansion (2).

  • If the cumulative maximum is constant and the first difference is negative, the phase is Shrinkage (1).

The function returns both phase-level summaries (SC_cycle) and point-level labels (SC_phase). Optional smoothing uses smooth_dm with method = "median_mean" and a window length between 1–24 hours.

Value

A list of class "SC_output" containing:

SC_cycle

A tibble with one row per contiguous phase, including:

  • Phases – Phase type (1 = Shrinkage, 2 = Expansion, 3 = Increment)

  • Start, EndPOSIXct start and end time of the phase

  • Duration_h, Duration_m – Phase duration (hours, minutes)

  • Magnitude – Change in dendrometer value during the phase (measurement unit)

  • rate – Rate of change expressed in (Magnitude*1000/Duration_h) (eg. \mum/hour)

  • DOY – Day-of-year at phase start

SC_phase

A tibble of point-level values including:

  • TIME – timestamp

  • dm – dendrometer measurement

  • Phases – phase assignment for each timestamp

References

Deslauriers A, Rossi S, Turcotte A, Morin H, Krause C (2011) A three-step procedure in SAS to analyze the time series from automatic dendrometers. Dendrochronologia 29:151–161. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1016/j.dendro.2011.01.008")}

Downes G, Beadle C, Worledge D (1999) Daily stem growth patterns in irrigated Eucalyptus globulus and E. nitens in relation to climate. Trees 14:102–111. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1007/PL00009752")}

See Also

phase.zg for the zero-growth approach; smooth_dm for smoothing dendrometer series.

Examples


library(dendRoAnalyst)
data(gf_nepa17)

# Apply stem-cycle approach without smoothing
sc1 <- phase.sc(df = gf_nepa17, TreeNum = 1)
head(sc1$SC_cycle, 5)
head(sc1$SC_phase, 5)

# Apply with 12-hour smoothing to reduce noise
sc2 <- phase.sc(df = gf_nepa17, TreeNum = 1, smoothing = 12)
head(sc2$SC_cycle, 5)



dendRoAnalyst documentation built on May 20, 2026, 5:07 p.m.