6.2. Sensitivity Analysis

6.2.1. Melt rate parameter

Calibration involves the adjustment of one or more parameter values such that model outputs become similar (or almost similar) to obervations (measurements) of these outputs. Here we have only one measurement: the streamflow and how it changes over time. In the following we will calibrate the melt rate parameter using the streamflow measurements.

But first we need to do a sensitivity analysis. Before calibrating parameters, it is wise to perform a sensitivity analysis. In a sensitivity analysis we explore how model outputs change when a certain parameter is changed. This is informative for calibration as it tells us whether the parameter that we calibrate anyway has effect on the model output that we use for calibration (here: streamflow).

Sensitivity analysis can be done in an exact manner by calculating for instance a sensitivity index. Here we follow a more exploratory way.

Open runoff_sens_melt_rate.py. It is exactly the same script as runoff.py, but the reports to disk have been removed. We will use this script to create a model scenario with an increased meltrate and compare its output with the default model (runoff.py).

In runoff_sens_melt_rate.py change three things:

  1. Change the meltRateParameter, defined at the bottom part of the script to 0.004.

  2. When we run this script, we want to store outputs in another folder, melt_rate_high, it has already been created. And we want to compare the scenario with the original run. To do so, add the following lines at the bottom of the dynamic section:

# sensitivity analysis
# snow cover
# read the snow cover from the default run
snow_default = self.readmap('snow')
# calculate the difference with the default run
snowDiff = self.snow - snow_default
# report in the melt_rate_low folder
self.report(snowDiff, 'melt_rate_high/snowD')
  1. Item 2) above compared the snow cover of the scenario with the original run. Do the same for streamflow.

Now, first run the default model runoff.py. When finished, run runoff_sens_melt_rate.py.

When finished, you can plot results stored in the scenarion directory, combined with the difference between modelled and observed streamflow from the previous section (dMmO):

aguila --timesteps=[1,1461,1] melt_rate_high/disD melt_rate_high/snowD dMmO

Question: What is the effect of an increased melt rate parameter?

  1. The snow accumulation in autumn is higher causing higher streamflows throughout the year.

  2. The snow accumulation in autumn is less causing lower streamflows throughout the year.

  3. The snow disappears more slowly in spring causing more streamflow in summer.

  4. The snow disappears more quickly in spring causing more streamflow in spring.



Question: In the next section we will calibrate the melt rate parameter. Do you think it should be higher than the value currently used or lower?

  1. Higher, streamflow was too high in summer and this will reduce.

  2. Lower, streamflow was too low in summer and this will reduce.

  3. Higher, streamflow was throughout the year too high and this will reduce.

  4. Lower, streamflow was throughout the year too low and this will reduce.