Title: | Daily Based Morgan-Morgan-Finney (DMMF) Soil Erosion Model |
---|---|
Description: | Implements the daily based Morgan-Morgan-Finney (DMMF) soil erosion model (Choi et al., 2017 <doi:10.3390/w9040278>) for estimating surface runoff and sediment budgets from a field or a catchment on a daily basis. |
Authors: | Kwanghun Choi [aut, cre], Sebastian Arnhold [dtc, ctb], Bjoern Reineking [ths, ctb] |
Maintainer: | Kwanghun Choi <[email protected]> |
License: | GPL (>= 2) |
Version: | 0.5.2.0 |
Built: | 2024-11-10 06:39:45 UTC |
Source: | CRAN |
Implements the daily based Morgan–Morgan–Finney (DMMF) soil erosion model for estimating surface runoff and sediments budgets from a field or a catchment on a daily basis.
This package is the implementation of the daily based Morgan–Morgan–Finney (DMMF) soil erosion model to estimate surface runoff and sediment budget of a field and a catchment on a daily basis.
The DMMF model is one of the variant of the widely used Morgan–Morgan–Finney soil erosion model and largely based on the modified MMF model with several modifications (see details in Choi et al. (2017)).
This R implementation of the DMMF model is suitable for estimating surface runoff and sediment budgets of fields or catchments represented by raster.
The package provides the DMMF
function that estimates surface runoff and soil erosion using DMMF model, DMMF_Simple
function which is the simpler version of the DMMF
and SinkFill
function that generates sink free map for the DMMF model based on the sink fill algorithm from Wang and Liu (2006) and the SAGA-GIS module of “Module Fill Sinks (Wang & Liu)” by Volker Wichmann (2007).
Kwanghun Choi, Sebastian Arnhold, Bjoern Reineking
Maintainer: Kwanghun Choi ([email protected])
Choi, K., Arnhold, S., Huwe, B., Reineking, B. (2017). Daily based Morgan–Morgan–Finney (DMMF) model: A spatially distributed conceptual soil erosion model to simulate complex soil surface configurations. Water, 9(4), 278.
Shin, S. S., Park, S. D., and Choi, B. K. (2016). Universal power law for relationship between rainfall kinetic energy and rainfall intensity. Advances in Meteorology, Article ID 2494681, 11 pages.
Arnhold, S., Ruidisch, M., Bartsch, S., Shope, C., Huwe, B. (2013). Simulation of runoff patterns and soil erosion on mountainous farmland with and without plastic-covered ridge-furrow cultivation in South Korea. Transactions of the ASABE, 56(2):667–679.
Morgan, R. P. C. and Duzant, J. H. (2008). Modified MMF (Morgan–Morgan–Finney) model for evaluating effects of crops and vegetation cover on soil erosion. Earth Surface Processes and Landforms, 32(1):90–106.
Seibert, J., McGlynn, B. L. (2007). A new triangular multiple flow direction algorithm for computing upslope areas from gridded digital elevation models. Water Resources Research, 43(4):W04501. W04501.
Volker Wichmann (2007). Module Fill Sinks (Wang & Liu). SAGA-GIS Module Library Documentation (v2.1.3) [ cited 2015. 08. 15 ], Available from: https://saga-gis.sourceforge.io/saga_tool_doc/2.1.3/ta_preprocessor_4.html
Wang, L. and Liu, H. (2006). An efficient method for identifying and filling surface depressions in digital elevation models for hydrologic analysis and modelling. International Journal of Geographical Information Science, 20(2):193–213.
Morgan, R. P. C. (2001) A simple approach to soil loss prediction: a revised Morgan–Morgan–Finney model. Catena, 44(4):305–322.
Morgan, R. P. C., Morgan, D. D. V., and Finney, H. J. (1984) A predictive model for the assessment of soil erosion risk. Journal of Agricultural Engineering Research, 30(0):245–253.
DMMF
to run the DMMF model,
DMMF_Simple
to run the DMMF model for simple one element during a day,
SinkFill
to generate sink free map for the DMMF model
Estimating surface runoff and sediment budget using the Daily based Morgan–Morgan–Finney soil erosion model using the algorithm from Choi et al. (2017)
DMMF(DEM, R, RI, ET, P_c, P_z, P_s, theta_init, theta_sat, theta_fc, SD, K, P_I, n_s, CC, GC, IMP, PH, D, NV, d_a = 0.005, DK_c = 0.1, DK_z = 0.5, DK_s = 0.3, DR_c = 1.0, DR_z = 1.6, DR_s = 1.5, Breaking, Init_point, Sinks, R_Type = 0, slpMode = 2, ALL = TRUE)
DMMF(DEM, R, RI, ET, P_c, P_z, P_s, theta_init, theta_sat, theta_fc, SD, K, P_I, n_s, CC, GC, IMP, PH, D, NV, d_a = 0.005, DK_c = 0.1, DK_z = 0.5, DK_s = 0.3, DR_c = 1.0, DR_z = 1.6, DR_s = 1.5, Breaking, Init_point, Sinks, R_Type = 0, slpMode = 2, ALL = TRUE)
DEM |
RasterLayer object of digital elevation model (DEM) |
R |
Numeric vector or RasterBrick object of daily rainfall per unit area (unit: mm) |
RI |
Numeric vector or RasterBrick object of mean hourly rainfall intensity during a day (unit: mm/h) |
ET |
Numeric vector or RasterBrick object of evapotranspiration per unit area (unit: mm) |
P_c |
Numeric vector or RasterLayer object of proportion of clay particles in surface soil (0-1) |
P_z |
Numeric vector or RasterLayer object of proportion of silt particles in surface soil (0-1) |
P_s |
Numeric vector or RasterLayer object of proportion of sand particles in surface soil (0-1) |
theta_init |
Numeric vector or RasterBrick object of initial soil water content of entire soil profile per unit area (unit: vol/vol) |
theta_sat |
Numeric vector or RasterLayer object of saturated soil water content of entire soil profile per unit area (unit: vol/vol) |
theta_fc |
Numeric vector or RasterLayer object of soil water content at field capacity of entire soil profile per unit area (unit: vol/vol) |
SD |
Numeric vector or RasterLayer object of soil depth of entire soil profile (unit: m) |
K |
Numeric vector or RasterLayer object of saturated lateral hydraulic conductivity of entire soil profile (unit: m/d) |
P_I |
Numeric vector or Raster* object of proportion of permanent interception area of rainfall (0-1) |
n_s |
Numeric vector or Raster* object of Manning's roughness coefficient of the soil surface (unit: |
CC |
Numeric vector or Raster* object of proportion of area with canopy cover (0-1) |
GC |
Numeric vector or Raster* object of proportion of area with pervious vegetated ground cover (0-1) |
IMP |
Numeric vector or Raster* object of proportion of area with impervious ground cover (0-1) |
PH |
Numeric vector or Raster* object of average height of vegetation or crop cover where leaf drainage start to fall (unit: m) |
D |
Numeric vector or Raster* object of average diameter of individual plant elements at the surface (unit: m) |
NV |
Numeric vector or Raster* object of number of individual plant elements per unit area (unit: |
d_a |
Numeric vector or Raster* object of typical flow depth of surface runoff (unit: m) |
DK_c |
Numeric vector or RasterLayer object of detachability of clay particles by rainfall (unit: g/J) |
DK_z |
Numeric vector or RasterLayer object of detachability of silt particles by rainfall (unit: g/J) |
DK_s |
Numeric vector or RasterLayer object of detachability of sand particles by rainfall (unit: g/J) |
DR_c |
Numeric vector or RasterLayer object of detachability of clay particles by surface runoff (unit: g/mm) |
DR_z |
Numeric vector or RasterLayer object of detachability of silt particles by surface runoff (unit: g/mm) |
DR_s |
Numeric vector or RasterLayer object of detachability of sand particles by surface runoff (unit: g/mm) |
Breaking |
Numeric vector of starting points of each simulation period (0: during the period points, 1: breaking points), If |
Init_point |
Numeric vector of starting points of each rainfall event (0: during the period points, 1: breaking points), If |
Sinks |
RasterLayer object of sinks (e.g., streams, reservoirs, and lakes) of sediments and surface runoff (optional). |
R_Type |
Integer object of each rainfall type for estimating kinetic energy of direct throughfall (DT) (0-8) (see details) |
slpMode |
Integer object of slope calculation algorithm (2: second order, 3: third order) |
ALL |
Logical object of selection for the entire output results |
R_Type
can be chosen among options appropriate for each regions according to Morgan (2001) and Morgan (2005). Default option adopts recent universal relationships between kinetic energy density and mean hourly rainfall intensity (RI
) from Shin et al. (2016). Default option is recommended when users have measured RI
. Detailed descriptions are described below.
Option | Region | Kinetic energy density of throughfall [ ] |
0 | Universal (Default) | |
1 | North America | |
2 | North-west Europe | |
3 | Mediterranean | |
4 | West Mediterranean | |
5 | Tropics | |
6 | East Asia | |
7 | Temperate Southern hemisphere | |
8 | Universal |
|
Multi-flow direction algorithm (MD) from Seibert and McGlynn (2007) is built in the
DMMF
model.
The output of the function DMMF
is a list of RasterLayer or RasterBrick objects containing the following elements:
A
: Surface area size of each element considering slope (unit: )
Rf
: The amount of effective rainfall reaching each element (unit: )
SW_c
: Surface water infiltration capacity of each element (unit:
theta_r
: Remaining soil water content of each element (unit: vol/vol)
TC
: Transport capacity of the runoff of each element (unit: )
Q_in
: Volume of surface runoff flowing into each element (unit: L)
Q_out
: Volume of surface runoff flowing from each element (unit: L)
IF_in
: Volume of subsurface water flowing into each element (unit: L)
IF_out
: Volume of subsurface water flowing from each element (unit: L)
SS_c
: Area density of clay delivered to surface runoff in unit area of each element (unit: )
SS_z
: Area density of silt delivered to surface runoff in unit area of each element (unit: )
SS_s
: Area density of sand delivered to surface runoff of each element (unit: )
G_c
: Area density of available clay for transport by surface runoff of each element (unit: )
G_z
: Area density of available silt for transport by surface runoff of each element (unit: )
G_s
: Area density of available sand for transport by surface runoff of each element (unit: )
SL_c_in
: Mass of clay inputs into each element (unit: kg)
SL_z_in
: Mass of silt inputs into each element (unit: kg)
SL_s_in
: Mass of sand inputs into each element (unit: kg)
SL_in
: Mass of sum of total sediments inputs into each element (unit: kg)
SL_c_out
: Mass of clay outputs from each element (unit: kg)
SL_z_out
: Mass of silt outputs from each element (unit: kg)
SL_s_out
: Mass of sand outputs from each element (unit: kg)
SL_out
: Mass of sum of total sediments outputs from each element (unit: kg)
Kwanghun Choi and Bjoern Reineking
Choi, K., Arnhold, S., Huwe, B., Reineking, B. (2017). Daily based Morgan–Morgan–Finney (DMMF) model: A spatially distributed conceptual soil erosion model to simulate complex soil surface configurations. Water, 9(4), 278.
Shin, S. S., Park, S. D., and Choi, B. K. (2016). Universal power law for relationship between rainfall kinetic energy and rainfall intensity. Advances in Meteorology, Article ID 2494681, 11 pages.
Seibert, J., McGlynn, B. L. (2007). A new triangular multiple flow direction algorithm for computing upslope areas from gridded digital elevation models. Water Resources Research, 43(4):W04501.
Morgan, R. P. C. (2005). Soil erosion and conservation. Blackwell Publishing, Malden, MA, 3rd ed. ISBN 1-4051-1781-8
Morgan, R. P. C. (2001) A simple approach to soil loss prediction: a revised Morgan–Morgan–Finney model. Catena, 44(4):305–322.
DMMF_Simple
for one element during a day.
Potato.Convex
for the description of the data.
## Not run: ## Load example data for test running DMMF model data(Potato.Convex) attach(Potato.Convex) ## Run DMMF function using Potato.Convex data Result <- DMMF(DEM = s.map$DEM, R = d.var$R, RI = d.var$RI, ET = d.var$ET, P_c = s.var$P_c, P_z = s.var$P_z, P_s = s.var$P_s, theta_init = d.map$theta_init, theta_sat = s.var$theta_sat, theta_fc = s.var$theta_fc, SD = s.var$SD, K = s.var$K, P_I = s.var$P_I, n_s = s.map$n_s, CC = d.var$CC, GC = s.var$GC, IMP = s.map$IMP, PH = d.var$PH, D = s.var$D, NV = s.var$NV, d_a = s.var$d_a, DK_c = s.var$DK_c, DK_z = s.var$DK_z, DK_s = s.var$DK_s, DR_c = s.var$DR_c, DR_z = s.var$DR_z, DR_s = s.var$DR_s, Breaking = d.var$Breaking, Init_point = d.var$Init_point, R_Type = 0, slpMode = 2, ALL = TRUE) ## Check results ## 1-a. Total volume of runoff generated from each element plot(Result$Q_out) ## 1-b. Total volume of runoff per unit surface area generated from each element plot(Result$Q_out/Result$A) ## 2-a. Total mass of eroded soil from each element plot(Result$SL_out) ## 2-a. Total mass of eroded soil per unit surface area from each element plot(Result$SL_out/Result$A) ## End(Not run)
## Not run: ## Load example data for test running DMMF model data(Potato.Convex) attach(Potato.Convex) ## Run DMMF function using Potato.Convex data Result <- DMMF(DEM = s.map$DEM, R = d.var$R, RI = d.var$RI, ET = d.var$ET, P_c = s.var$P_c, P_z = s.var$P_z, P_s = s.var$P_s, theta_init = d.map$theta_init, theta_sat = s.var$theta_sat, theta_fc = s.var$theta_fc, SD = s.var$SD, K = s.var$K, P_I = s.var$P_I, n_s = s.map$n_s, CC = d.var$CC, GC = s.var$GC, IMP = s.map$IMP, PH = d.var$PH, D = s.var$D, NV = s.var$NV, d_a = s.var$d_a, DK_c = s.var$DK_c, DK_z = s.var$DK_z, DK_s = s.var$DK_s, DR_c = s.var$DR_c, DR_z = s.var$DR_z, DR_s = s.var$DR_s, Breaking = d.var$Breaking, Init_point = d.var$Init_point, R_Type = 0, slpMode = 2, ALL = TRUE) ## Check results ## 1-a. Total volume of runoff generated from each element plot(Result$Q_out) ## 1-b. Total volume of runoff per unit surface area generated from each element plot(Result$Q_out/Result$A) ## 2-a. Total mass of eroded soil from each element plot(Result$SL_out) ## 2-a. Total mass of eroded soil per unit surface area from each element plot(Result$SL_out/Result$A) ## End(Not run)
This is the simplified version of DMMF
for simple one element (cell) during a day
DMMF_Simple( W, L = W/cos(S), S, R, RI, ET, P_c, P_z, P_s, theta_init, theta_sat, theta_fc, SD, K, P_I, n_s, CC, GC, IMP, PH, D, NV, d_a = 0.005, DK_c = 0.1, DK_z = 0.5, DK_s = 0.3, DR_c = 1.0, DR_z = 1.6, DR_s = 1.5, Q_in = 0, IF_in = 0, SL_c_in = 0, SL_z_in = 0, SL_s_in = 0, R_type = 0)
DMMF_Simple( W, L = W/cos(S), S, R, RI, ET, P_c, P_z, P_s, theta_init, theta_sat, theta_fc, SD, K, P_I, n_s, CC, GC, IMP, PH, D, NV, d_a = 0.005, DK_c = 0.1, DK_z = 0.5, DK_s = 0.3, DR_c = 1.0, DR_z = 1.6, DR_s = 1.5, Q_in = 0, IF_in = 0, SL_c_in = 0, SL_z_in = 0, SL_s_in = 0, R_type = 0)
W |
Width of an element (cell) (unit: m) |
L |
Length of an element (cell) (unit: m). If |
S |
Slope angle of an element (cell) (unit: rad) |
R |
Daily rainfall per unit area (unit: mm) |
RI |
Mean hourly rainfall intensity during a day (unit: mm/h) |
ET |
Evapotranspiration per unit area (unit: mm) |
P_c |
Proportion of clay particles in surface soil (0-1) |
P_z |
Proportion of silt particles in surface soil (0-1) |
P_s |
Proportion of sand particles in surface soil (0-1) |
theta_init |
Initial soil water content of entire soil profile per unit area (unit: vol/vol) |
theta_sat |
Saturated soil water content of entire soil profile per unit area (unit: vol/vol) |
theta_fc |
Soil water content at field capacity of entire soil profile per unit area (unit: vol/vol) |
SD |
Soil depth of entire soil profile (unit: m) |
K |
Saturated lateral hydraulic conductivity of entire soil profile (unit: m/d) |
P_I |
Proportion of permanent interception area of rainfall (0-1) |
n_s |
Manning's roughness coefficient of the soil surface (unit: |
CC |
Proportion of area with canopy cover (0-1) |
GC |
Proportion of area with pervious vegetated ground cover (0-1) |
IMP |
Proportion of area with impervious ground cover (0-1) |
PH |
Average height of vegetation or crop cover where leaf drainage start to fall (unit: m) |
D |
Average diameter of individual plant elements at the surface (unit: m) |
NV |
A number of individual plant elements per unit area (unit: |
d_a |
Typical flow depth of surface runoff (unit: m) |
DK_c |
Detachability of clay particles by rainfall (unit: g/J) |
DK_z |
Detachability of silt particles by rainfall (unit: g/J) |
DK_s |
Detachability of sand particles by rainfall (unit: g/J) |
DR_c |
Detachability of clay particles by surface runoff (unit: g/mm) |
DR_z |
Detachability of silt particles by surface runoff (unit: g/mm) |
DR_s |
Detachability of sand particles by surface runoff (unit: g/mm) |
Q_in |
The volume of surface runoff from outside of an element (cell) (unit: L) |
IF_in |
The volume of subsurface interflow from outside of an element (cell) (unit: L) |
SL_c_in |
The mass of clay particles from outside of an element (cell) (unit: kg) |
SL_z_in |
The mass of silt particles from outside of an element (cell) (unit: kg) |
SL_s_in |
The mass of sand particles from outside of an element (cell) (unit: kg) |
R_type |
Integer object of each rainfall type for estimating kinetic energy of direct throughfall (DT) (0-8) (see details) |
Detailed information about options of R_type
can be found in details of DMMF
.
This function is suitable for projecting the DMMF model for a field represented in one element during a day.
The output of the function DMMF_Simple
is a data frame that contains following numeric elements:
Q_out
: Volume of surface runoff flowing from the element (unit: L)
IF_out
: Volume of subsurface water flowing from the element (unit: L)
theta_r
: Remaining soil water content of the element (unit: vol/vol)
SL_c_out
: Mass of clay outputs from the element (unit: kg)
SL_z_out
: Mass of silt outputs from the element (unit: kg)
SL_s_out
: Mass of sand outputs from the element (unit: kg)
A
: Surface area of the element (unit: )
Kwanghun Choi and Bjoern Reineking
Choi, K., Arnhold, S., Huwe, B., Reineking, B. (2017). Daily based Morgan–Morgan–Finney (DMMF) model: A spatially distributed conceptual soil erosion model to simulate complex soil surface configurations. Water, 9(4), 278.
Shin, S. S., Park, S. D., and Choi, B. K. (2016). Universal power law for relationship between rainfall kinetic energy and rainfall intensity. Advances in Meteorology, Article ID 2494681, 11 pages.
Arnhold, S., Ruidisch, M., Bartsch, S., Shope, C., Huwe, B. (2013). Simulation of runoff patterns and soil erosion on mountainous farmland with and without plastic-covered ridge-furrow cultivation in South Korea. Transactions of the ASABE, 56(2):667–679.
Morgan, R. P. C. (2005). Soil erosion and conservation. Blackwell Publishing, Malden, MA, 3rd ed. ISBN 1-4051-1781-8
Morgan, R. P. C. (2001) A simple approach to soil loss prediction: a revised Morgan–Morgan–Finney model. Catena, 44(4):305–322.
DMMF
for fields and catchments with more than one element.
## Not run: ## Load example data for test running DMMF_Simple function data(Potato.Convex) attach(Potato.Convex) ## Make toy dataset using summary statistics of field datasets of "Potato.Convex" data. ## The width and slope of the field are set according to the slope length of the convex field ## from Arnhold et al. (2013) W = 25 L = 25 ## The slope of the field is set as the average slope angle of the field from Arnhold et al. (2013) S <- pi/180 * 9 ## The proportion of impervious areas are estimated as the mean value of the IMP map. IMP <- cellStats(s.map$IMP, stat='mean', na.rm=TRUE) ## "n_s" estimated using the guide value of RFR using paraplough (10cm/m) ## and conversion equation from RFR to Manning's n from Morgan and Duzant (2008). n_s <- 0.171 ## Using the ridge height of the field from Arnhold et al. (2013) ## as the hydrological radius (flow depth) of the field. d_a <- 0.15 ## We use dynamic variables of the 12th day that has enough rainfall to produce soil erosion. d.var_12<- d.var[12,] ## Run DMMF_Simple function Output <- DMMF_Simple( W = W, L = L, S = S, R = d.var_12$R, RI = d.var_12$RI, ET = d.var_12$ET, P_c = s.var$P_c, P_z = s.var$P_z, P_s = s.var$P_s, theta_init = s.var$theta_fc, theta_sat = s.var$theta_sat, theta_fc = s.var$theta_fc, SD = s.var$SD, K = s.var$K, P_I = s.var$P_I, n_s = n_s, CC = d.var_12$CC, GC = s.var$GC, IMP = IMP, PH = d.var_12$PH, D = s.var$D, NV = s.var$NV, d_a = d_a, DK_c = s.var$DK_c, DK_z = s.var$DK_z, DK_s = s.var$DK_s, DR_c = s.var$DR_c, DR_z = s.var$DR_z, DR_s = s.var$DR_s, Q_in = 0, IF_in = 0, SL_c_in = 0, SL_z_in = 0, SL_s_in = 0, R_type = 0) ## Print outputs. Output ## Calculate per unit surface area ## Runoff per surface area of the field Output$Q_out / Output$A ## Interflow per surface area of the field Output$IF_out / Output$A ## Soil loss per surface area of the field (Output$SL_c_out + Output$SL_z_out + Output$SL_s_out) / Output$A ## End(Not run)
## Not run: ## Load example data for test running DMMF_Simple function data(Potato.Convex) attach(Potato.Convex) ## Make toy dataset using summary statistics of field datasets of "Potato.Convex" data. ## The width and slope of the field are set according to the slope length of the convex field ## from Arnhold et al. (2013) W = 25 L = 25 ## The slope of the field is set as the average slope angle of the field from Arnhold et al. (2013) S <- pi/180 * 9 ## The proportion of impervious areas are estimated as the mean value of the IMP map. IMP <- cellStats(s.map$IMP, stat='mean', na.rm=TRUE) ## "n_s" estimated using the guide value of RFR using paraplough (10cm/m) ## and conversion equation from RFR to Manning's n from Morgan and Duzant (2008). n_s <- 0.171 ## Using the ridge height of the field from Arnhold et al. (2013) ## as the hydrological radius (flow depth) of the field. d_a <- 0.15 ## We use dynamic variables of the 12th day that has enough rainfall to produce soil erosion. d.var_12<- d.var[12,] ## Run DMMF_Simple function Output <- DMMF_Simple( W = W, L = L, S = S, R = d.var_12$R, RI = d.var_12$RI, ET = d.var_12$ET, P_c = s.var$P_c, P_z = s.var$P_z, P_s = s.var$P_s, theta_init = s.var$theta_fc, theta_sat = s.var$theta_sat, theta_fc = s.var$theta_fc, SD = s.var$SD, K = s.var$K, P_I = s.var$P_I, n_s = n_s, CC = d.var_12$CC, GC = s.var$GC, IMP = IMP, PH = d.var_12$PH, D = s.var$D, NV = s.var$NV, d_a = d_a, DK_c = s.var$DK_c, DK_z = s.var$DK_z, DK_s = s.var$DK_s, DR_c = s.var$DR_c, DR_z = s.var$DR_z, DR_s = s.var$DR_s, Q_in = 0, IF_in = 0, SL_c_in = 0, SL_z_in = 0, SL_s_in = 0, R_type = 0) ## Print outputs. Output ## Calculate per unit surface area ## Runoff per surface area of the field Output$Q_out / Output$A ## Interflow per surface area of the field Output$IF_out / Output$A ## Soil loss per surface area of the field (Output$SL_c_out + Output$SL_z_out + Output$SL_s_out) / Output$A ## End(Not run)
Estimating surface runoff and sediment budget using the Daily based Morgan–Morgan–Finney soil erosion model using the algorithm from Choi et al. (2017)
DMMFc(DEM, R, RI, ET, P_c, P_z, P_s, theta_init, theta_sat, theta_fc, SD, K, P_I, n_s, CC, GC, IMP, PH, D, NV, d_a, DK_c, DK_z, DK_s, DR_c, DR_z, DR_s, SoilMap, LULCMap, Breaking, Init_point, Sinks, R_Type = 0, slpMode = 2, ALL = TRUE)
DMMFc(DEM, R, RI, ET, P_c, P_z, P_s, theta_init, theta_sat, theta_fc, SD, K, P_I, n_s, CC, GC, IMP, PH, D, NV, d_a, DK_c, DK_z, DK_s, DR_c, DR_z, DR_s, SoilMap, LULCMap, Breaking, Init_point, Sinks, R_Type = 0, slpMode = 2, ALL = TRUE)
DEM |
RasterLayer object of digital elevation model (DEM) |
R |
Numeric vector or RasterBrick object of daily rainfall per unit area (unit: mm) |
RI |
Numeric vector or RasterBrick object of mean hourly rainfall intensity during a day (unit: mm/h) |
ET |
Numeric vector or RasterBrick object of evapotranspiration per unit area (unit: mm) |
P_c |
Numeric vector or RasterLayer object of proportion of clay particles in surface soil (0-1) |
P_z |
Numeric vector or RasterLayer object of proportion of silt particles in surface soil (0-1) |
P_s |
Numeric vector or RasterLayer object of proportion of sand particles in surface soil (0-1) |
theta_init |
Numeric vector or RasterBrick object of initial soil water content of entire soil profile per unit area (unit: vol/vol) |
theta_sat |
Numeric vector or RasterLayer object of saturated soil water content of entire soil profile per unit area (unit: vol/vol) |
theta_fc |
Numeric vector or RasterLayer object of soil water content at field capacity of entire soil profile per unit area (unit: vol/vol) |
SD |
Numeric vector or RasterLayer object of soil depth of entire soil profile (unit: m) |
K |
Numeric vector or RasterLayer object of saturated lateral hydraulic conductivity of entire soil profile (unit: m/d) |
P_I |
Numeric vector or Raster* object of proportion of permanent interception area of rainfall (0-1) |
n_s |
Numeric vector or Raster* object of Manning's roughness coefficient of the soil surface (unit: |
CC |
Numeric vector or Raster* object of proportion of area with canopy cover (0-1) |
GC |
Numeric vector or Raster* object of proportion of area with pervious vegetated ground cover (0-1) |
IMP |
Numeric vector or Raster* object of proportion of area with impervious ground cover (0-1) |
PH |
Numeric vector or Raster* object of average height of vegetation or crop cover where leaf drainage start to fall (unit: m) |
D |
Numeric vector or Raster* object of average diameter of individual plant elements at the surface (unit: m) |
NV |
Numeric vector or Raster* object of number of individual plant elements per unit area (unit: |
d_a |
Numeric vector or Raster* object of typical flow depth of surface runoff (unit: m) |
DK_c |
Numeric vector or RasterLayer object of detachability of clay particles by rainfall (unit: g/J) |
DK_z |
Numeric vector or RasterLayer object of detachability of silt particles by rainfall (unit: g/J) |
DK_s |
Numeric vector or RasterLayer object of detachability of sand particles by rainfall (unit: g/J) |
DR_c |
Numeric vector or RasterLayer object of detachability of clay particles by surface runoff (unit: g/mm) |
DR_z |
Numeric vector or RasterLayer object of detachability of silt particles by surface runoff (unit: g/mm) |
DR_s |
Numeric vector or RasterLayer object of detachability of sand particles by surface runoff (unit: g/mm) |
SoilMap |
Categorical raster map for soil characteristics |
LULCMap |
Categorical raster map for Land use and vegetation types |
Breaking |
Numeric vector of starting points of each simulation period (0: during the period points, 1: breaking points), If |
Init_point |
Numeric vector of starting points of each rainfall event (0: during the period points, 1: breaking points), If |
Sinks |
RasterLayer object of sinks (e.g., streams, reservoirs, and lakes) of sediments and surface runoff (optional). |
R_Type |
Integer object of each rainfall type for estimating kinetic energy of direct throughfall (DT) (0-8) (see details) |
slpMode |
Integer object of slope calculation algorithm (2: second order, 3: third order) |
ALL |
Logical object of selection for the entire output results |
R_Type
can be chosen among options appropriate for each regions according to Morgan (2001) and Morgan (2005). Default option adopts recent universal relationships between kinetic energy density and mean hourly rainfall intensity (RI
) from Shin et al. (2016). Default option is recommended when users have measured RI
. Detailed descriptions are described below.
Option | Region | Kinetic energy density of throughfall [ ] |
0 | Universal (Default) | |
1 | North America | |
2 | North-west Europe | |
3 | Mediterranean | |
4 | West Mediterranean | |
5 | Tropics | |
6 | East Asia | |
7 | Temperate Southern hemisphere | |
8 | Universal |
|
Multi-flow direction algorithm (MD) from Seibert and McGlynn (2007) is built in the
DMMF
model.
The output of the function DMMF
is a list of RasterLayer or RasterBrick objects containing the following elements:
A
: Surface area size of each element considering slope (unit: )
Rf
: The amount of effective rainfall reaching each element (unit: )
SW_c
: Surface water infiltration capacity of each element (unit:
theta_r
: Remaining soil water content of each element (unit: vol/vol)
TC
: Transport capacity of the runoff of each element (unit: )
Q_in
: Volume of surface runoff flowing into each element (unit: L)
Q_out
: Volume of surface runoff flowing from each element (unit: L)
IF_in
: Volume of subsurface water flowing into each element (unit: L)
IF_out
: Volume of subsurface water flowing from each element (unit: L)
SS_c
: Area density of clay delivered to surface runoff in unit area of each element (unit: )
SS_z
: Area density of silt delivered to surface runoff in unit area of each element (unit: )
SS_s
: Area density of sand delivered to surface runoff of each element (unit: )
G_c
: Area density of available clay for transport by surface runoff of each element (unit: )
G_z
: Area density of available silt for transport by surface runoff of each element (unit: )
G_s
: Area density of available sand for transport by surface runoff of each element (unit: )
SL_c_in
: Mass of clay inputs into each element (unit: kg)
SL_z_in
: Mass of silt inputs into each element (unit: kg)
SL_s_in
: Mass of sand inputs into each element (unit: kg)
SL_in
: Mass of sum of total sediments inputs into each element (unit: kg)
SL_c_out
: Mass of clay outputs from each element (unit: kg)
SL_z_out
: Mass of silt outputs from each element (unit: kg)
SL_s_out
: Mass of sand outputs from each element (unit: kg)
SL_out
: Mass of sum of total sediments outputs from each element (unit: kg)
Kwanghun Choi and Bjoern Reineking
Choi, K., Arnhold, S., Huwe, B., Reineking, B. (2017). Daily based Morgan–Morgan–Finney (DMMF) model: A spatially distributed conceptual soil erosion model to simulate complex soil surface configurations. Water, 9(4), 278.
Shin, S. S., Park, S. D., and Choi, B. K. (2016). Universal power law for relationship between rainfall kinetic energy and rainfall intensity. Advances in Meteorology, Article ID 2494681, 11 pages.
Seibert, J., McGlynn, B. L. (2007). A new triangular multiple flow direction algorithm for computing upslope areas from gridded digital elevation models. Water Resources Research, 43(4):W04501.
Morgan, R. P. C. (2005). Soil erosion and conservation. Blackwell Publishing, Malden, MA, 3rd ed. ISBN 1-4051-1781-8
Morgan, R. P. C. (2001) A simple approach to soil loss prediction: a revised Morgan–Morgan–Finney model. Catena, 44(4):305–322.
DMMF
for general use of the algorithm.
## Not run: ## Datasets for DMMFc will be uploaded. ## End(Not run)
## Not run: ## Datasets for DMMFc will be uploaded. ## End(Not run)
Simple boundary, sink and stand checker for DEMs (Digital Elevation Models).
MapChecker( DEM )
MapChecker( DEM )
DEM |
RasterLayer object of digital elevation model (DEM) which needs sinkfill for DMMF model |
Simple boundary, sink and stand checker for DEMs (Digital Elevation Models). The code defines a cell as a
boundary
: when there are at least one NA values and at least one cell with valid value in adjacent cells.
sink
: when all adjacent cells of it are higher than the target cell.
stand
: when all adjacent cells of it are higher than or equal to the target cell.
The output of the function MapChecker
is a RasterLayer object of the boundary
, sink
, and stand
.
Kwanghun Choi
Potato.Convex
for the description of the data.
## Not run: ## Load example data for test running B_Checker function data(Potato.Convex) attach(Potato.Convex) ## Run B_Checker function with original DEM which has internal sinks. DEM <- s.map$DEM_original MapCheck <- MapChecker( DEM ) ## Check maps par(mfrow=c(2,2)) plot(DEM) plot(MapCheck$boundary) plot(MapCheck$sink) plot(MapCheck$stand) ## End(Not run)
## Not run: ## Load example data for test running B_Checker function data(Potato.Convex) attach(Potato.Convex) ## Run B_Checker function with original DEM which has internal sinks. DEM <- s.map$DEM_original MapCheck <- MapChecker( DEM ) ## Check maps par(mfrow=c(2,2)) plot(DEM) plot(MapCheck$boundary) plot(MapCheck$sink) plot(MapCheck$stand) ## End(Not run)
Example input data for running the DMMF
function. This data is based on the field data from the concave potato field described in Arnhold et al. (2013) with optimized parameters described in Choi et al. (2017).
data(Potato.Concave)
data(Potato.Concave)
Potato.Concave
contains input data for the DMMF
including map type and numeric type variables. Static variables are fixed and do not change with time (or period). Dynamic variables change with time (or period).s.map
: Static input maps for the DMMF
model.
DEM_original
: RasterLayer object of original digital elevation model (DEM) of the concave potato field before filling sinks.
DEM
: RasterLayer object of DEM after applying sinkfill algorithm.
IMP
: RasterLayer object of the proportion of area covered with impervious surface cover.
n_s
: RasterLayer object of the Manning's roughness coefficient of the soil surface.
d.map
: Dynamic input maps for the DMMF
model.
theta_init
: RasterStack object of the initial soil water content of entire soil profile for each rainfall period.
s.var
: Static input numeric variables for the DMMF
model.
P_c
: Numeric object of proportion of clay particles in surface area.
P_z
: Numeric object of proportion of silt particles in surface area.
P_s
: Numeric object of proportion of sand particles in surface area.
theta_sat
: Numeric object of saturated soil water content of entire soil profile.
theta_fc
: Numeric object of soil water content at field capacity of entire soil profile.
SD
: Numeric object of soil depth.
K
: Numeric object of saturated lateral hydraulic conductivity which is obtained from model calibration described in Choi et al. (2017).
P_I
: Numeric object of proportion of permanent interception area of rainfall.
GC
: Numeric object of proportion of area with pervious vegetated ground cover.
D
: Numeric object of average diameter of individual plant elements at the surface.
NV
: Numeric object of number of individual plant elements per unit area.
d_a
: Numeric object of typical flow depth of surface runoff.
DK_c
: Numeric of detachability of clay particles by rainfall.
DK_z
: Numeric of detachability of silt particles by rainfall.
DK_s
: Numeric of detachability of sand particles by rainfall.
DR_c
: Numeric of detachability of clay particles by surface runoff.
DR_z
: Numeric of detachability of silt particles by surface runoff.
DR_s
: Numeric of detachability of sand particles by surface runoff.
d.var
: Dynamic input numeric variables for the DMMF
model.
R
: Numeric vector object of daily rainfall per unit area.
RI
: Numeric vector object of mean hourly rainfall intensity during a day.
ET
: Numeric vector object of evapotranspiration per unit area.
CC
: Numeric vector object of proportion of area with canopy cover.
PH
: Numeric vector or object of average height of vegetation or crop cover where leaf drainage start to fall
Breaking
: Numeric vector of starting points of each simulation period.
Init_point
: Numeric vector of starting points of each rainfall event.
Kwanghun Choi and Sebastian Arnhold
Choi, K., Arnhold, S., Huwe, B., Reineking, B. (2017). Daily based Morgan–Morgan–Finney (DMMF) model: A spatially distributed conceptual soil erosion model to simulate complex soil surface configurations. Water, 9(4), 278.
Arnhold, S., Ruidisch, M., Bartsch, S., Shope, C., Huwe, B. (2013). Simulation of runoff patterns and soil erosion on mountainous farmland with and without plastic-covered ridge-furrow cultivation in South Korea. Transactions of the ASABE, 56(2):667–679.
DMMF
for details of variables.
Example input data for running the DMMF
function. This data is based on the field data from the convex potato field described in Arnhold et al. (2013) with optimized parameters described in Choi et al. (2017).
data(Potato.Convex)
data(Potato.Convex)
Potato.Convex
contains input data for the DMMF
including map type and numeric type variables. Static variables are fixed and do not change with time (or period). Dynamic variables change with time (or period).s.map
: Static input maps for the DMMF
model.
DEM_original
: RasterLayer object of original digital elevation model (DEM) of the convex potato field before filling sinks.
DEM
: RasterLayer object of DEM after applying sinkfill algorithm.
IMP
: RasterLayer object of the proportion of area covered with impervious surface cover.
n_s
: RasterLayer object of the Manning's roughness coefficient of the soil surface.
d.map
: Dynamic input maps for the DMMF
model.
theta_init
: RasterStack object of the initial soil water content of entire soil profile for each rainfall period.
s.var
: Static input numeric variables for the DMMF
model.
P_c
: Numeric object of proportion of clay particles in surface area.
P_z
: Numeric object of proportion of silt particles in surface area.
P_s
: Numeric object of proportion of sand particles in surface area.
theta_sat
: Numeric object of saturated soil water content of entire soil profile.
theta_fc
: Numeric object of soil water content at field capacity of entire soil profile.
SD
: Numeric object of soil depth.
K
: Numeric object of saturated lateral hydraulic conductivity which is obtained from model calibration described in Choi et al. (2017).
P_I
: Numeric object of proportion of permanent interception area of rainfall.
GC
: Numeric object of proportion of area with pervious vegetated ground cover.
D
: Numeric object of average diameter of individual plant elements at the surface.
NV
: Numeric object of number of individual plant elements per unit area.
d_a
: Numeric object of typical flow depth of surface runoff.
DK_c
: Numeric of detachability of clay particles by rainfall.
DK_z
: Numeric of detachability of silt particles by rainfall.
DK_s
: Numeric of detachability of sand particles by rainfall.
DR_c
: Numeric of detachability of clay particles by surface runoff.
DR_z
: Numeric of detachability of silt particles by surface runoff.
DR_s
: Numeric of detachability of sand particles by surface runoff.
d.var
: Dynamic input numeric variables for the DMMF
model.
R
: Numeric vector object of daily rainfall per unit area.
RI
: Numeric vector object of mean hourly rainfall intensity during a day.
ET
: Numeric vector object of evapotranspiration per unit area.
CC
: Numeric vector object of proportion of area with canopy cover.
PH
: Numeric vector or object of average height of vegetation or crop cover where leaf drainage start to fall
Breaking
: Numeric vector of starting points of each simulation period.
Init_point
: Numeric vector of starting points of each rainfall event.
Kwanghun Choi and Sebastian Arnhold
Choi, K., Arnhold, S., Huwe, B., Reineking, B. (2017). Daily based Morgan–Morgan–Finney (DMMF) model: A spatially distributed conceptual soil erosion model to simulate complex soil surface configurations. Water, 9(4), 278.
Arnhold, S., Ruidisch, M., Bartsch, S., Shope, C., Huwe, B. (2013). Simulation of runoff patterns and soil erosion on mountainous farmland with and without plastic-covered ridge-furrow cultivation in South Korea. Transactions of the ASABE, 56(2):667–679.
DMMF
for details of variables.
Implementation of sinkfill algorithm based on Wang and Liu (2006).
SinkFill( DEM, Boundary, min_angle = 0.00001)
SinkFill( DEM, Boundary, min_angle = 0.00001)
DEM |
RasterLayer object of digital elevation model (DEM) which needs sinkfill for DMMF model |
Boundary |
RasterLayer object for setting the locations of local sinks in the DEM, if |
min_angle |
Numeric object of angle to make slope between cells (unit: rad) |
The function is the implementation of sink-fill algorithm from Wang and Liu (2006), which is already implemented as a SAGA-GIS module (see Wichmann (2007)).
The function SinkFill
is modified from the original algorithm with including the option to set the initial boundary manually (e.g., global sink of the field).
If Boundary
is missing, function automatically identifies internal and external boundary of the input DEM which is in contact with cells having NaN value.
The output of the function SinkFill
is a list of RasterLayer objects of the sinkfilled DEM ($nosink
) and partitions ($partition
) of the area for the DMMF
model.
Kwanghun Choi
Volker Wichmann (2007). Module Fill Sinks (Wang & Liu). SAGA-GIS Module Library Documentation (v2.1.3) [ cited 2015. 08. 15 ], Available from: https://saga-gis.sourceforge.io/saga_tool_doc/2.1.3/ta_preprocessor_4.html
Wang, L. and Liu, H. (2006). An efficient method for identifying and filling surface depressions in digital elevation models for hydrologic analysis and modelling. International Journal of Geographical Information Science, 20(2):193–213.
Potato.Convex
for the description of the data.
## Not run: ## Load example data for test running SinkFill function data(Potato.Convex) attach(Potato.Convex) ## Run SinkFill function with original DEM which has internal sinks. DEM_with_sink <- s.map$DEM_original DEM_sinkfilled <- SinkFill( DEM_with_sink ) DEM_nosink <- DEM_sinkfilled$nosink partitions <- DEM_sinkfilled$partition ## Check maps par(mfrow=c(2,2)) plot(DEM_with_sink) plot(DEM_nosink) plot(DEM_with_sink - DEM_nosink) plot(partitions) ## End(Not run)
## Not run: ## Load example data for test running SinkFill function data(Potato.Convex) attach(Potato.Convex) ## Run SinkFill function with original DEM which has internal sinks. DEM_with_sink <- s.map$DEM_original DEM_sinkfilled <- SinkFill( DEM_with_sink ) DEM_nosink <- DEM_sinkfilled$nosink partitions <- DEM_sinkfilled$partition ## Check maps par(mfrow=c(2,2)) plot(DEM_with_sink) plot(DEM_nosink) plot(DEM_with_sink - DEM_nosink) plot(partitions) ## End(Not run)