Evaluation frost-free days and related metrics from daily climate records.

FFD(
  d,
  returnDailyPr = TRUE,
  minDays = 165,
  frostTemp = 32,
  endSpringDOY = 182,
  startFallDOY = 213
)

Arguments

d

data.frame with columns 'datetime' 'year', and 'value'; 'value' being daily minimum temperature, see details

returnDailyPr

optionally return list with daily summaries

minDays

min number of days of non-NA data in spring | fall, required for a reasonable estimate of FFD

frostTemp

critical temperature that defines "frost" (same units as d$value)

endSpringDOY

day of year that marks end of "spring" (typically Jan 1 -- June 30)

startFallDOY

day of year that marks start of "fall" (typically Aug 1 -- Dec 31)

Value

a data.frame when a returnDailyPr=FALSE, otherwise a list with the following elements:

  • summary: FFD summary statistics as a data.frame

  • fm: frost matrix

  • Pr.frost: Pr(frost|day): daily probability of frost

Details

The default frostTemp=32 is suitable for use with minimum daily temperatures in degrees Fahrenheit. Use frostTemp = 0 for temperatures in degrees Celsius.

FFD tutorial

Author

D.E. Beaudette

Examples


# 11 years of data from highland meadows
data('HHM', package = 'sharpshootR')
x.ffd <- FFD(HHM, returnDailyPr = FALSE, frostTemp = 32)

str(x.ffd)
#> 'data.frame':	1 obs. of  10 variables:
#>  $ ffd.50   : num 80
#>  $ ffd.80   : num 70
#>  $ ffd.90   : num 60
#>  $ spring.50: num 165
#>  $ spring.80: num 168
#>  $ spring.90: num 169
#>  $ fall.50  : num 245
#>  $ fall.80  : num 238
#>  $ fall.90  : num 228
#>  $ n.yrs    : num 6