It would be useful if texcl_to_ssc() could optionally return a data.frame with class limits for sand, silt, clay given a texture class. This would help provide context for the estimated central / "RV" value, and the effect of optional specification of a custom clay content.
I have not investigated the easiest way to bolt this into the current texcl_to_ssc() code, but I note that logic from the NASIS validation used for ssc_to_texcl() has the required information, but not yet in a "reusable" format:
|
df <- within(df, { |
|
texcl = NA |
|
texcl[silt >= 79.99 & clay < 11.99] = "si" |
|
texcl[silt >= 49.99 & clay < 26.99 & (silt < 79.99 | clay >= 11.99)] = "sil" |
|
texcl[clay >= 26.99 & clay < 39.99 & sand <= 20.01] = "sicl" |
|
texcl[clay >= 39.99 & silt >= 39.99] = "sic" |
|
texcl[clay >= 39.99 & sand <= 45.01 & silt < 39.99] = "c" |
|
texcl[clay >= 26.99 & clay < 39.99 & sand > 20.01 & sand <= 45.01] = "cl" |
|
texcl[clay >= 6.99 & clay < 26.99 & silt >= 27.99 & silt < 49.99 & sand <= 52.01] = "l" |
|
texcl[clay >= 19.99 & clay < 34.99 & silt < 27.99 & sand > 45.01] = "scl" |
|
texcl[clay >= 34.99 & sand > 45.01] = "sc" |
|
texcl[(silt + 1.5 * clay) < 15] = "s" |
|
texcl[(silt + 1.5 * clay) >= 15 & (silt + 2 * clay) < 29.99] = "ls" |
|
texcl[!is.na(sand) & !is.na(clay) & is.na(texcl)] = "sl" |
|
}) |
It would be useful if
texcl_to_ssc()could optionally return a data.frame with class limits for sand, silt, clay given a texture class. This would help provide context for the estimated central / "RV" value, and the effect of optional specification of a custom clay content.I have not investigated the easiest way to bolt this into the current
texcl_to_ssc()code, but I note that logic from the NASIS validation used forssc_to_texcl()has the required information, but not yet in a "reusable" format:aqp/R/texture.R
Lines 298 to 312 in 37d6e81