hydromt_wflow.workflows.soilgrids#
- hydromt_wflow.workflows.soilgrids(ds: ~xarray.core.dataset.Dataset, ds_like: ~xarray.core.dataset.Dataset, ptfKsatVer: str = 'brakensiek', soil_fn: str = 'soilgrids', soil_mapping: ~pandas.core.frame.DataFrame | None = None, wflow_layers: ~typing.List[int] = [100, 300, 800], logger=<Logger hydromt_wflow.workflows.soilgrids (WARNING)>)[source]#
Return soil parameter maps at model resolution.
Based on soil properties from SoilGrids datasets. Both soilgrids 2017 and 2020 are supported. Soilgrids 2017 provides soil properties at 7 specific depths, while soilgrids_2020 provides soil properties averaged over 6 depth intervals. Ref: Hengl, T., Mendes de Jesus, J., Heuvelink, G. B. M., Ruiperez Gonzalez, M., Kilibarda, M., Blagotic, A., et al.: SoilGrids250m: Global gridded soil information based on machine learning, PLoS ONE, 12, https://doi.org/10.1371/journal.pone.0169748, 2017. Ref: de Sousa, L.M., Poggio, L., Batjes, N.H., Heuvelink, G., Kempen, B., Riberio, E. and Rossiter, D., 2020. SoilGrids 2.0: producing quality-assessed soil information for the globe. SOIL Discussions, pp.1-37. https://doi.org/10.5194/soil-2020-65.
A
soil_mapping
table can optionally be provided to derive parameters based on soil texture classes. A default table soil_mapping_default is available to derive the infiltration capacity of the soil.The following soil parameter maps are calculated:
thetaS : average saturated soil water content [m3/m3]
thetaR : average residual water content [m3/m3]
KsatVer : vertical saturated hydraulic conductivity at soil surface [mm/day]
SoilThickness : soil thickness [mm]
SoilMinThickness : minimum soil thickness [mm] (equal to SoilThickness)
M : model parameter [mm] that controls exponential decline of KsatVer with soil depth (fitted with curve_fit (scipy.optimize)), bounds of M are checked
M_ : model parameter [mm] that controls exponential decline of KsatVer with soil depth (fitted with numpy linalg regression), bounds of M_ are checked
M_original : M without checking bounds
M_original_ : M_ without checking bounds
f : scaling parameter controlling the decline of KsatVer [mm-1] (fitted with curve_fit (scipy.optimize)), bounds are checked
f_ : scaling parameter controlling the decline of KsatVer [mm-1] (fitted with numpy linalg regression), bounds are checked
c_ map: Brooks Corey coefficients [-] based on pore size distribution index for the wflow_sbm soil layers.
KsatVer_[z]cm : KsatVer [mm/day] at soil depths [z] of SoilGrids data [0.0, 5.0, 15.0, 30.0, 60.0, 100.0, 200.0]
wflow_soil : USDA Soil texture based on percentage clay, silt, sand mapping: [1:Clay, 2:Silty Clay, 3:Silty Clay-Loam, 4:Sandy Clay, 5:Sandy Clay-Loam, 6:Clay-Loam, 7:Silt, 8:Silt-Loam, 9:Loam, 10:Sand, 11: Loamy Sand, 12:Sandy Loam]
InfiltCapPath : Infiltration capacity of the soil based on soil texture classes (optional).
- Parameters:
ds (xarray.Dataset) – Dataset containing soil properties.
ds_like (xarray.DataArray) – Dataset at model resolution.
ptfKsatVer (str) – PTF to use for calculation KsatVer.
soil_fn (str) – soilgrids version {‘soilgrids’, ‘soilgrids_2020’}
soil_mapping (pd.DataFrame, optional) – DataFrame containing soil mapping data based on soil texture. The index column of the table should contain the soil ‘texture’ classes and the other columns should be the name of the corresponding wflow parameter(s). By default None.
wflow_layers (list) – List of soil layer depths [cm] for which c is calculated.
- Returns:
ds_out – Dataset containing gridded soil parameters.
- Return type: