Construct hillslope-slope position units.
The main procedure:
- 1. Assign unique ID to each type of slope position unit with hillslopes, and
assign the up-down relationships according to the slope position sequence.
- 2. Statistics the landuse types and areas within each slope position units.
- 3. Merge hillslope with incomplete slope position sequences to other hillslopes
of the same subbasin.
- 4. Merge subbasin with incomplete slope position sequences to its downstream,
for the outlet subbasin merge to its upstream.
@author : Liangjun Zhu, Huiran Gao
@changelog:
- 17-08-14 lj - initial implementation.
- 18-02-08 lj - compatible with Python3.
- 18-11-05 lj - update according to :func:`ImportReaches2Mongo:read_reach_downstream_info`.
Add type hints based on typing.
def seims.preprocess.sd_slopeposition_units.DelinateSlopePositionByThreshold |
( |
|
modelcfg, |
|
|
|
thresholds, |
|
|
|
fuzzyslppos_fnames, |
|
|
|
outfname, |
|
|
|
subbsn_id = 0 # type: int |
|
) |
| |
Args:
model_cfg: Configuration of SEIMS-based model
thresholds: {HillslopeID: {rdgID, bksID, vlyID, T_bks2rdg, T_bks2vly}, ...}
fuzzyslppos_fnames: [(1, 'summit', 'rdgInf'), ...]
outfname: output GridFS name
subbsn_id: By default use the whole watershed data
Returns:
hillslp_data(dict): {}