Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  Running the model — urbanwb 0.1.0 documentation 

# mean daily rainfall as baseline q, batch run [4,5]

#     module name     function     ts.csv     config1.ini     config2.ini     output.csv     random number     baseline q default

python -m urbanwb.main_with_measure batch_run_sdf ep_ts.csv  ep_neighbourhood.ini  ep_measure.ini  ep2_results.csv --q_list=[4,5]


 

# 4 as baseline q, batch run [10,20]

#     module name     function     ts.csv     config1.ini     config2.ini     output.csv     random number     baseline q predefined

python -m urbanwb.main_with_measure batch_run_sdf ep_ts.csv ep_neighbourhood.ini ep_measure.ini ep2_results1.csv --q_list=[10,20] --baseline_q=4


# 3 as baseline q, batch run [min,max,steps] --- [4,8,3]

#     module name     function     ts.csv     config1.ini     config2.ini     output.csv     [min,max,steps]     baseline q:predefined     AP: True to enable  [min,max,steps]. if False, then q_list random numbers

python -m urbanwb.main_with_measure batch_run_sdf ep_ts.csv ep_neighbourhood.ini ep_measure.ini ep2_results2.csv --q_list=[4,8,3] --baseline_q=3 --arithmetic_progression=True

The SDF function can be used to get an indication of the return period of the runoff depth that a catchment can withstand, based on the storage and discharge capacity. It can provide insights in whether it is more cost-efficient to invest in storage capacity or if it is more efficient to increase the drainage capacity. The values needed for the SDF function are obtained using the 'batch_run_sdf' function. Below it is described how these values are obtained and what has to be done in order to create a SDF curve.

Input

The required parameters are as following:

Parameter

Description

ts.csv

The filename of the input data of precipitation and evaporation

config1.ini

The filename of the static form of general parameters

config2.ini

The filename of the static form of measure parameters

output.csv

The filename of the output file of solutions

q_list

A list of values to update the discharge capacity of the open water leaving the model

baseline_q

A baseline q to compare with. If baseline_q is not defined, the default baseline q is assumed to be the mean daily rainfall.

arithmetic_progression

False = the values in q_list will be used for the derivation of the SDF curves.

 

True = q_list indicates a range of values with equal steps: [start, stop, number of steps].

E.g. q_list = [5, 7, 4]

Model will run using a q_ow_out_cap of 5, 5.5, 6, 6.5, 7. Note that it uses the first number as an initial. The steps are adding to this. Therefore, there will be 5 values for q on top of the baseline_q at an amount of 4 steps.

 Process

  1. The model runs using the user-defined neighbourhood/catchment and measure parameters.
  2. When the runoff in the model is exceeding the discharge capacity of the open water leaving the model, then the open water level increases. This open water level deviation is calculated using the target open water level and represents the storage depth for the SDF function.
  3. For each time step, there will be a storage depth. All depths are grouped in events, where an event is divided by a 6-hour interval of no storage depth.
  4. From each event, the maximum storage depth is obtained. The maxima are sorted, and a rank is assigned to each maximum.
  5. In order to investigate what happens to the storage depths at different open water discharge capacities, several discharges are assigned by the user in ‘q_list’. The model runs for each of the specified discharges and follows steps 2-4.

Output

A dataframe with a series of storage depths (in m) for the baseline_q and the values in q_list is created. Figure 18 shows an example of the output, obtained using the following parameters:

q_list                              = [4, 6, 4]
baseline_q                     = 3
arithmetic_progression = True

Image Added

Figure   18      An example of part of the output of the SDF function. The headers ‘rank’ and ‘q_ow_out_cap’ are not in the output. This has been manually edited for the explanation.

These storage depths are the excess of water on top of the open water level. It is an accumulation of all the runoff in the model, which could not be discharged out of the model. Therefore, this can be interpreted as the required storage in the model in order to cope with runoffs at a specific return period.

SDF Curve

The SDF curve can be made using the values from the output. Plot the discharge capacity of the open water (q_ow_out_cap) on the x-axis and the storage depths on the y-axis. For each of the storage depths, the return period can be calculated as following:

                T = ttotal / (rank + 1)

where ttotal is the amount of years of input data. This assigns a return period to each of the storage depths for all values of ‘q_ow_out_cap’. When the return period is plotted on a logarithmic x-axis against the storage depth on the y axis, the line is close to linear. Based on this, the return period formula for that specific ‘q_ow_out_cap’ can be derived. Figure 19 shows the result for the example at a q_ow_out_cap of 3 mm/d and the formula for the fitted trendline. This formula is accurate for the lower return periods, however, at higher return periods there is more uncertainty as there is only one storage depth for those return periods. To increase the accuracy for those return periods, a longer timeseries should be used as input.

Image Added

Figure   19      The return period for each storage depth, plotted on a logarithmic x-axis. The red line is a fitted trendline.

This equation can be obtained for each of the q_ow_out_cap values. Using these equations, the storage depths can be calculated for the q_ow_out_cap values at every return period. Plotting the values results in the SDF curve, shown in Figure 20.

Image Added

5.3.3    batch_run_meas

This function performs batch run on measure. First do batch run with different (pairs of) values, then do baseline run (no measure). In the end, save the runoff time series into a csv file.

...