The estimateSTR() function from the soilDB package applies a soil temperature regime (STR) classification using rules from Soil Taxonomy (12th edition). Accurate classification of STR depends on the following properties:
The function will generate reasonable, 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:
permafrost argument)permafrost, O.hz, and saturated arguments)O.hz, and saturated arguments)You will need the latest version of soilDB:
# install.packages('devtools', dep=TRUE)
devtools::install_github("ncss-tech/soilDB", dependencies=FALSE, upgrade_dependencies=FALSE)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 ... isohyperthermicestimateSTR(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 ... isohyperthermicThese 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)STRplot(mast = 5, msst = 1:18, mwst = 3)STRplot(mast = 5, msst = 1:18, mwst = 5)par(mar=c(4,1,0,1))
STRplot(mast = 10, msst = 1:18, mwst = 5)This document is based on aqp version 1.41 and soilDB version 2.6.13.