r.uslek(1)
π r.uslek β the USLE Soil Erodibility Factor girlie π
okay so bestie, welcome to the GRASS GIS User's Manual page for r.uslek(1) β yes that's the manual name, we're fancy like that. This is the one that computes the USLE Soil Erodibility Factor (K). No cap.
πΈ KEYWORDS πΈ
raster, hydrology, soil, erosion
β¨ SYNOPSIS β¨
r.uslek
r.uslek --help
r.uslek psand=name pclay=name psilt=name pomat=name output=name
[--overwrite] [--help] [--verbose] [--quiet] [--ui]
π Flags:
--overwriteβ bestie this lets output files overwrite files that already exist. use with intention, ok?--helpβ prints the usage summary. the lil "what even is this" button π«Ά--verboseβ verbose module output. she's chatty.--quietβ quiet module output. she's mysterious.--uiβ force launching the GUI dialog. main character GUI energy π
π Parameters:
psand=name[required] β name of soil sand fraction raster map[0.0-1.0]pclay=name[required] β name of soil clay fraction raster map[0.0-1.0]psilt=name[required] β name of soil silt fraction raster map[0.0-1.0]pomat=name[required] β name of soil organic matter raster map[0.0-1.0]output=name[required] β name for output USLE K factor raster map[t.ha.hr/ha.MJ.mm]
literally all four input maps gotta live in [0.0-1.0] range, don't fight it.
π DESCRIPTION π
so r.uslek calculates the USLE K factor, aka the Soil Erodibility Factor. it takes input of soil texture classes (sand, clay, silt) and organic matter, all in range of [0.0-1.0].
the FAO World Soil CD documentation was used to produce the conversion system between soil textures and soil classes. the soil classes are in number of 12 and apparently come from a USDA publication of 1951 (p.209). iconic honestly.
once the soil classes have been identified (by vector cross-products tests), a general conversion table was applied for transforming soil classes into K factor. periodt.
π¦ NOTES π¦
r.watershed provides for USLE L, S, LS factors. iykyk.
β EXAMPLE β
Calculate the USLE K factor (synthetic values, North Carolina sample dataset):
# NC data: simulation
g.region rural_1m -p
r.mapcalc "sand = 0.11"
r.mapcalc "clay = 0.47"
r.mapcalc "silt = 0.42"
r.mapcalc "organ = 0.0136"
r.uslek psand=sand pclay=clay psilt=silt pomat=organ output=usle_k
r.univar usle_k
# Result: uslek = 0.25
Example with small variations (condition: d_sand + d_clay + d_silt => 1.0)
# NC data: simulation
r.mapcalc -s "sand_r = rand(0.09,0.13)"
r.mapcalc -s "clay_r = rand(0.45,0.49)"
r.mapcalc -s "silt_r = rand(0.40,0.44)"
r.mapcalc -s "organ = rand(0.01,0.70)"
r.mapcalc "temp_sum = sand_r + clay_r + silt_r"
r.mapcalc "sand = sand_r / temp_sum"
r.mapcalc "clay = clay_r / temp_sum"
r.mapcalc "silt = silt_r / temp_sum"
r.mapcalc "test = sand + clay + silt"
r.info -r test
g.remove -f rast name=sand_r,clay_r,silt_r,temp_sum,test
r.uslek psand=sand pclay=clay psilt=silt pomat=organ output=usle_k
r.univar usle_k
# Result: uslek = variable values
π SEE ALSO π
r.usler, r.watershed
πΈ AUTHOR πΈ
Yann Chemin, SIC-ISDC, Turkmenistan
π§ SOURCE CODE π§
Available at: r.uslek source code (history)
Accessed: Saturday Jan 17 05:41:04 2026
Main index | Raster index | Topics index | Keywords index | Graphical index | Full index
Β© 2003-2025 GRASS Development Team, GRASS GIS 8.4.2 Reference Manual
ok that's the whole thing bestie, you ate π
β¨ this was r.uslek(1) from GRASS 8.4.2 β go erode responsibly ππ
π¦ where this page comes from
- fedora 44: grass 8.4.2-4.fc44 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms