Background

The estimateSTR() function from the soilDB package applies a soil temperature regime (STR) classification using rules from Soil Taxonomy (12th edition). Accurate classificaiton of STR depends on the following properties:

The function will generate resonable, but possibly wrong, results if missing O horizon, saturation, and permafrost values. This is only an issue for the gelic / cryic / frigid STR, e.g. in very cold climates.

STR include:

Setup

You will need the latest version of soilDB:

# install.packages('devtools', dep=TRUE)
devtools::install_github("ncss-tech/soilDB", dependencies=FALSE, upgrade_dependencies=FALSE)

Basic Usage

Note that this function is vectorized and works as expected, as long as each argument is the same length.

library(soilDB)
estimateSTR(mast = 12, mean.summer = 15, mean.winter = 8)
## [1] mesic
## 10 Levels: gelic cryic frigid isofrigid mesic isomesic thermic isothermic ... isohyperthermic
estimateSTR(mast = 4, mean.summer = 8, mean.winter = 1, O.hz = TRUE, saturated = FALSE, permafrost = FALSE)
## [1] frigid
## 10 Levels: gelic cryic frigid isofrigid mesic isomesic thermic isothermic ... isohyperthermic

Graphical Summaries

These are quite dense. Some notes:

par(mar=c(4,1,0,1))
STRplot(mast = 0:25, msst = 10, mwst = 1)

STRplot(mast = 0:25, msst = 9, mwst = 1)

STRplot(mast = 0:25, msst = 7, mwst = 1)

STRplot(mast = 0:25, msst = 6, mwst = 1)

STRplot(mast = 0:25, msst = 5, mwst = 1)

par(mar=c(4,1,0,1))
STRplot(mast = 5, msst = 1:18, mwst = 0)

STRplot(mast = 5, msst = 1:18, mwst = 1)

STRplot(mast = 5, msst = 1:18, mwst = 2)