estimatePSCS: Estimate boundaries of the particle size control section (U.S...

View source: R/estimatePSCS.R

estimatePSCSR Documentation

Estimate boundaries of the particle size control section (U.S Soil Taxonomy; 12th edition)


Estimates the upper and lower boundary of the particle size control section by applying a programmatic version of the particle size control section key from the Keys to Soil Taxonomy (12th edition).


  hzdesgn = "hzname",
  clay.attr = "clay",
  texcl.attr = "texcl",
  tax_order_field = "tax_order",
  bottom.pattern = "Cr|R|Cd",
  simplify = TRUE,



A SoilProfileCollection


Name of the horizon attribute containing the horizon designation. Default 'hzname'


Name of the horizon attribute containing clay contents. Default 'clay'


Name of the horizon attribute containing textural class (used for finding sandy textures). Default 'texcl'


Name of the site attribute containing taxonomic order; for handling PSCS rules for Andisols in lieu of lab data. May be NA or column missing altogether, in which case Andisol PSC possibility is ignored.


Regular expression pattern to match a root-restrictive contact. Default matches Cr, R or Cd. This argument is passed to both estimateSoilDepth and getArgillicBounds.


Return a length 2 vector with upper and lower boundary when p has length 1? Default TRUE.


additional arguments are passed to getArgillicBounds()


Requires information to identify argillic horizons (clay contents, horizon designations) with getArgillicBounds() as well as the presence of plow layers and surface organic soil material. Any getArgillicBounds() arguments may be passed to estimatePSCS.

Requires information on taxonomic order (to handle andisols).

WARNING: Soils in arenic or grossarenic subgroups, with fragipans, or with strongly contrasting PSCs may not be classified correctly. The author would welcome a dataset to develop this functionality for.


A numeric vector (when simplify=TRUE) containing the top and bottom depth of the particle size control section. First value is top, second value is bottom. If p contains more than one profile, the result is a data.frame with profile ID plus PSCS top and bottom depths.


Andrew Gene Brown


Soil Survey Staff. 2014. Keys to Soil Taxonomy, 12th ed. USDA-Natural Resources Conservation Service, Washington, DC.

See Also

getArgillicBounds, getSurfaceHorizonDepth


data(sp1, package = 'aqp')
depths(sp1) <- id ~ top + bottom
site(sp1) <- ~ group

p <- sp1
attr <- 'prop' # clay contents
foo <- estimatePSCS(p, hzdesgn='name', clay.attr = attr, texcl.attr="texture")

aqp documentation built on Sept. 8, 2023, 5:45 p.m.