Parameter sensitivity analysis is useful for identifying the most important or influential parameters for a specified simulation target (e.g., streamflow at the watershed outlet) (Zhan et al., 2013). A typical sensitivity analysis procedure includes sampling from the value ranges of determined model inputs, evaluating the model with the generated samples and saving the interested outputs, and calculating sensitivity indices by various methods such as the Morris screening method (Morris, 1991) and FAST (Fourier Amplitude Sensitivity Test, Cukier et al., 1978). The sensitivity analysis tool in SEIMS is organized as separated functions according to these steps, which means it is easy to incorporate any sampling method and sensitivity analysis method. The most time-consuming step is repetitive model evaluations, which is parallelized at model level by parallel job management based on SCOOP (Hold-Geoffroy et al., 2014).
For simple usage, open a CMD window, enter the following commands to execute the predefined parameter sensitivity analysis of the Youwuzhen watershed model.
The runtime logs of the parameter sensitivity analysis including the commands of each model run and the results of sensitivity analysis were showed in Figure 2:6 1.
Firstly, the sampled calibration values of selected parameters were organized as float arrays and imported as CALI_VALUES
field into the PARAMETERS
collection of the main spatial database. The SEIMS-based watershed model under a combination of calibrated parameters can be evaluated with the calibrationID
argument set to the corresponding array index (start from 0) (Figure 2:6 1a). The calibration values can be queried by the following command in the console window of Robo 3T (Figure 2:6 2).
Then, all combinations of calibrated parameters were evaluated in parallel according to the workers’ number of SCOOP, e.g., two workers were allocated in this simple usage (-m scoop –n 2). After the evaluation of each calibrated model, the interested model performance indicators will be calculated and saved. In current version of SEIMS, NSE (Nash-Sutcliffe efficiency), RSR (root mean square error-standard deviation ratio), and PBIAS (percent bias) (Moriasi et al., 2007) were used as model performance indicators. Finally, the sensitivity analysis method (Morris screening method in this demo) will be executed according to the above introduced model outputs. For example, Figure 2:6 3 showed the parameter sensitivity analysis result with respect to the NSE of the simulated streamflow (m3s-1) at the watershed outlet. Each point in the screening plot represents one parameter of the Youwuzhen watershed model. The larger the modified means μ* (Campolongo et al., 2007), the more sensitive the watershed response is to variation in the parameter (Yang, 2011; Zhan et al., 2013). More results can be found in the output directory, e.g., SEIMS\data\youwuzhen\demo_youwuzhen30m_longterm_model\PSA_Morris_N4L2
.
Also see introduction of the Python package seims.parameters_sensitivity package
The configuration file of parameter sensitivity analysis, such as that of the Youwuzhen watershed model shown in Figure 2:6 4, includes four sections, i.e., SEIMS_Model, PARAMETERS, OPTIONAL_PARAMETERS, and OPTIONAL_MATPLOT_SETTING. Among them, OPTIONAL_PARAMETERS and OPTIONAL_MATPLOT_SETTING are optional. The names of sections and options should not be changed.
The Python scripts of parameter sensitivity analysis are in SEIMS/seims/parameters_sensitivity
. The main.py
is the entrance which can be executed though the unified format of running SEIMS Python scripts, e.g.,
Also see introduction of the Python package seims.parameters_sensitivity package