Different best management practices (or beneficial management practices, BMPs for short) scenarios (i.e., spatial configurations of multiple BMPs) at the watershed scale may have significantly different environmental effectiveness, economic cost-benefit, and practicality. It is valuable for decision-making of integrated watershed management to assess the environmental effectiveness and economic cost-benefit of watershed BMP scenarios and then propose optimal ones. During the BMP scenarios analysis, each individual BMP scenario is created by automatically selecting and allocating BMPs on spatial units (known as BMP configuration units). Then the effects of the scenario on watershed behavior are simulated by watershed models. The simulation result is the basis of the automatic spatial optimization of BMP scenarios.
As a demo, one of the experiments conducted in Zhu et al. (2019b) is used in this section. The hydrologically connected fields were selected as the BMPs configuration units (see Section 2:3.2 for the preparation). Four spatially explicit BMPs were considered, and the BMP configuration strategy based on expert knowledge of upstream–downstream relationships (Wu et al., 2018) was adopted. The NSGA-II algorithm was integrated to achieve the spatial optimization of BMP scenarios. More information please refers to Zhu et al. (2019b).
For simple usage, open a CMD window, enter the following commands to execute the predefined BMP scenarios analysis of the Youwuzhen watershed model.
The runtime logs of scenario analysis including commands of each model run, the average objective values (i.e., environmental effectiveness and net-cost) of each generation, and the time-consuming were showed in Figure 1.
Like the auto-calibration based on NSGA-II algorithm, the automatically generated BMP scenarios were imported into the BMP_SCENARIOS
collection of the scenario database for each generation during the BMP scenarios optimization (Figure 2).
The results of the BMP scenarios analysis can be found in SEIMS\data\youwuzhen\demo_youwuzhen30m_longterm_model\SA_NSGA2_CONNFIELD_UPDOWN_Gen_2_Pop_4
including:
Pareto_Economy-Environment
folder: Near optimal Pareto plots, e.g., Figure 3 showed the near optimal Pareto solutions of the first and second generations with the objectives of maximizing the environmental effectiveness and minimizing the economic net-cost.Scenarios
folder: The BMP scenario information in plain text file and the corresponding spatial distribution raster file. For example, one BMP scenario information of the second generation is as follows:
The gene number is 72 which equals to the number of BMP configuration units, i.e., the spatial unit number of FIELDS_15
. The gene values indicate the BMP types that configured on BMP configuration units. The value of 0 means no BMP configured. Each BMP type has one scenario item. The spatial distribution of this BMP scenario was shown in Figure 4.
runtime.log
file: Recoding the near optimal Pareto solutions of each generation.hypervolume.txt
file: The hypervolume index of each generation.The configuration file of BMP scenarios analysis, such as that of the Youwuzhen watershed model shown in the following code block, includes five sections, i.e., SEIMS_Model
, Scenario_Common
, BMPs
, NSGA2
, and OPTIONAL_MATPLOT_SETTING
. Among them, OPTIONAL_MATPLOT_SETTING
is optional. The names of sections and options should not be changed.
MPI_BIN
, and processNum
are supported if the MPI&OpenMP version is wanted.Eval_Time_start
: Starting date time of model evaluation with the format of YYYY-MM-DD HH:MM:SS
.Eval_Time_end
: Ending date time of model evaluation with the format of YYYY-MM-DD HH:MM:SS
.worst_economy
: Economic net-cost under the circumstance of worst scenario.worst_environment
: Environmental effectiveness under the circumstance of worst scenario. The worst_economy and worst_environment
are set for the calculation of hypervolume index.runtime_years
: For the BMP scenarios analysis based on the evaluation of long-term environmental effectiveness of BMPs, SEIMS assumed that BMPs can reach relative stability after several years of maintenance from their first establishment. Therefore, the runtime_years
is specified for the evaluation of BMP scenario cost model.Export_scenario_txt
: (Optional) Output each BMP scenario as plain text file (True
) or not (False
). The default is False
.Export_scenario_tif
: (Optional) Output the spatial distribution of each BMP scenario as GeoTiff raster file (True
) or not (False
). The default is False
.BMPs
: Application specific BMPs settings.BMPs_info
: Information of selected BMP types for BMP scenarios analysis. The JSON format is used. The key is BMPID
(see Section 2:2.7.1) and the value is another JSON string of the corresponding field-values (available fields can be found in Table 2:2 8). Note that, the data type of the key MUST be string, although BMPID
is integer. The DISTRIBUTION
and LOCATION
fields can be omitted which will be defined in BMPs_cfg_units
. ``` BMPs_info = {"17":{ "COLLECTION": "AREAL_STRUCT_MANAGEMENT", "SUBSCENARIO": [1, 2, 3, 4] } } `` 2.
BMPs_retain: Retained BMP types for generated BMP scenarios during the optimization. The format is the same with
BMPs_info.
`` BMPs_retain = {"12":{ "COLLECTION": "PLANT_MANAGEMENT", "DISTRIBUTION": "RASTER|LANDUSE", "LOCATION": "33", "SUBSCENARIO": 0 } } `` 3.
Eval_info: Information of model evaluation, including the
OUTPUTIDand the corresponding output filename (
ENVEVAL) and the base value of environmental variable (
BASE_ENV), e.g., the annual total amount of soil erosion. If the
BASE_ENVis set to -9999, the base scenario will be firstly evaluated before the BMP scenarios analysis.
`` Eval_info = { "OUTPUTID": "SED_OL", "ENVEVAL": "SED_OL_SUM.tif", "BASE_ENV": -9999 } `` 4.
BMPs_cfg_units: Information of BMP configuration units which also follows the JSON format. The
UNITJSONis a file that describes the basic information of each spatial unit and spatial relationships between spatial units, e.g., the upstream and downstream relationships. In the current version, the hydrologic response units (
HRU), spatially explicit HRUs (
EXPLICITHRU), hydrologically connected fields (
CONNFIELD), and slope position units (
SLPPOS) are supported. More details please refer to Zhu *et al.* (2019b).
`` BMPs_cfg_units = {"CONNFIELD": { "DISTRIBUTION": "RASTER|FIELDS_15", "UNITJSON": "connected_field_units_updown_15.json" } } ```BMPs_cfg_method
: BMP configuration strategy used according to the characteristics of BMP configuration units, such as randomly strategy (RAND
), strategy with knowledge on the suitable landuse types/slope positions of individual BMPs (SUIT
), strategy based on expert knowledge of upstream–downstream relationships (UPDOWN
, Wu et al. [2018]), and strategy with domain knowledge on the spatial relationships between BMPs and slope positions along the hillslope (HILLSLP
, Qin et al. [2018]). More details please refer to Zhu et al. (2019b).NSGA2
: Parameter settings of NSGA-II algorithm.GenerationsNum
: Maximum number of generations. PopulationSize: Initial population size, i.e., the number of individuals.CrossoverRate
: Crossover probability, ranges from 0 to 1. A larger crossover rate indicates a higher possibility to take place the crossover operation between two parent individuals.MutateRate
: Mutate probability.MaxMutatePerc
: Maximum percent of genes to be mutated.SelectRate
: Selection rate of the evaluated and sorted individuals for each generation which is known as near-optimal Pareto solutions.OPTIONAL_MATPLOT_SETTINGS
: Plot settings for matplotlib, see Section 2:5.2.The Python scripts of scenarios analysis are in SEIMS/seims/scenario_analysis/spatialunits
. The main_nsga2.py
is the entrance for the scenarios analysis based on NSGA-II algorithm, which can be executed though the unified format of running SEIMS Python scripts, e.g.,
Also see introduction of the Python package seims.scenario_analysis package and seims.scenario_analysis.spatialunits package