Coursework Brief - Surface water
Water Resource Planning and Management - MACE40402
Dr Tim Foster, University of Manchester
To support water resource management, a water company has hired you to develop a rainfall-runoff model to assess
available water resources in one of their catchments. The company is especially interested in the ability to predict
reliably the occurrence of future low flow periods in order to understand potential risks posed by climate and land
use change to water users and freshwater ecosystems in the catchment.
Based on this brief, your task is to implement, calibrate and validate the GR4J rainfall-runoff model using observed
climatological and streamflow data for the catchment. Before starting your analysis, you will need to access and
download: (i) observation data (climate, streamflow, and information about relevant catchment characteristics) for
your assigned catchment, (ii) copy of the Matlab toolbox and associated scripts needed to perform calibration and
validation of the GR4J rainfall-runoff model. More details on how to access these are provided on page 3 of this brief
under section ‘Observation data and code’.
Once you have downloaded observation data for your catchment and model code files, your task is then to use
the information covered in lectures and supplementary reading for Module 1 of this unit to complete the following
analyses and then write a short report about your results and findings. Details about the report format and guidelines
are provided on page 2 of this brief under the section heading ‘Report structure’.
1. Conduct a preliminary analysis of the streamflow observation data for your assigned catchment. Explore
how streamflow varies over the observed historical record (both between and within years), and assess how
streamflow variability relates to climatic, topographic, land cover, soil and/or hydrogeological characteristics
of the catchment provided within the supplementary dataset files.
2. Modify and complete the Matlab script ‘MACE40402 CW1 AutoCalibration.m’. Once all missing parts of this
script are completed, run the script to perform an automated calibration of the GR4J model for your catch-
ment using the inbuilt local gradient-based search algorithm function (fminsearchbnd). Record the optimised
parameter values you obtain, along with relevant performance statistics illustrating the quality of the model
fit to observed data. Repeat this analysis for different initial parameter guesses, and explore if and how these
choices affect the resulting optimised values of model parameters and resulting fit to observed streamflow.
3. Modify and complete the Matlab script ‘MACE40402 CW1 URS.m’. Once all missing parts of this script are
completed, run the script to perform a batch run of the GR4J model for different potential parameter sets
using a uniform random sampling approach. Explore how model performance differs from results obtained
previously using the local gradient-based optimisation algorithm in part 2, and evaluate how any differences in
model performance using the uniform random sampling approach are affected by the choice of sample size.
Assessment and submission
You should produce a short report (pdf format) summarising the findings of your analysis. The length of the report
must not exceed 2000 words, not counting any title, contents, or bibliography pages. A suggested structure for the
report is provided in the following section of this document, along with a breakdown of marks allocated to each
component of the analysis and report. You must include appropriate figures, tables, and supporting references when
discussing your analysis and the findings you obtain. Please provide a statement of your word count on the title page
- any reports exceeding the allowable word limit will be marked down.
The deadline for submitting this piece of coursework is 6pm on Friday 26 March 2021. You should submit your
report using the Turnitin link in the folder ‘.../Coursework/CW1 - Surface water/...’ on Blackboard. Please also
submit the completed versions of the two Matlab scripts used in parts 2 and 3 of your coursework using the respective
assignment submission links in the same folder. Coursework will be checked for plagiarism and collusion using the
Turnitin software, and any evidence of academic malpractice will be taken very seriously by the department and the
This assignment is worth 20% of the total mark for this unit. Late submissions will be deducted 10% per day, and
any submissions received more than 4 days late (i.e. after 6pm on Tuesday 30 March) will be graded zero.
It is suggested that you begin your report with a short introductory paragraph describing the objectives of the pro-
posed work. This should be in your own words - do not simply copy from the brief! The main body of your report
should then contain the following information relating to the three core tasks outlined above, with marks weighted
as outlined in brackets below:
Part 1 (20%): Describe the location, physical characteristics/attributes, and streamflow regime for your catchment.
You description should clearly evidence how streamflow varies over the observed historical record (both between and
within years), and explain this in terms of catchment characteristics and dominant runoff generation processes. You
should use relevant information provided in the supplementary files provided in the CAMELS-GB dataset to support
this discussion and evaluation of your catchment’s streamflow responses and regime.
Part 2 (40%): Report the optimised parameter values you obtain using gradient-based optimisation, along with
relevant performance statistics illustrating the quality of the model fit to observed data. Include a description and
justification of the objective function used to evaluate model performance, and provide suggestions for any discrep-
ancies between simulated and observed streamflow values. Discuss to what extent your results are affected by initial
parameter guesses, and explain why these choices do or do not affect the resulting optimised values of model param-
eter and fit to observed streamflow data.
Part 3 (40%): Report how optimised parameter values obtained using uniform random sampling differ from those
obtained using the gradient-based optimisation algorithm in part 2, and to what extent these changes are affected
by the choice of sample size. Based on these results discuss the relative strengths and weaknesses of uniform random
sampling as a calibration approach relative to local gradient-based optimisation. You may wish to comment on the
computational efficiency of this approach (and suggestions for how this could be enhanced) along with the usefulness
of this approach for understanding parameter sensitivity and uncertainty.
While no specific marks are allocated for the quality of the report presentation, please pay careful attention to the
way you structure, report and present your work. Unclear or incomplete wording, a lack of relevant supporting
figures and/or tables, and failure to include relevant supplementary references will lead to a loss of marks. A title
page and bibliography should also be included in your report.
Observation data and code
To help you to complete your coursework, you have been provided with a range of relevant observation data for
your assigned catchment along with Matlab scripts and functions to simplify programming required to calibrate and
validate the GR4J rainfall-runoff model. Details of how to access each of these are given in the sub-sections below,
followed by a short note on accessing Matlab software and licenses for this coursework.
Catchment observation data
On Blackboard, navigate to the folder ‘.../Coursework/CW1 - Surface water/Data/...’. First, determine the ID
number of your allocated catchment by downloading and opening the file ‘CatchmentAllocation.xlsx’. These ID
numbers represent the gauge ID’s for different streamflow monitoring stations in the UK, and you have each been
assigned data for a unique catchment gauge on which you will complete your coursework.
Next, from the same folder on Blackboard, download the zip file ‘CatchmentData.zip’ and unzip to a folder on your
computer (it doesn’t matter where). The folder contains a range of different data files, which are drawn from the
CAMELS-GB database (Coxon et al., 2020). This dataset provides hydro-meteorological timeseries and landscape
attributes for 671 catchments across Great Britain, collated from the National River Flow Archive and other sources
for the period 1st October 1970 to the 30th September 2015. Provided in the zip folder are the following files:
• In the subfolder ‘.../TimeSeriesData/...’ you will find a series of files with the naming format
‘CAMELS GB hydromet timeseries IDNUM.csv’, where IDNUM refers to the unique five-digit gauge ID for
each catchment (use this to determine which contains the data for your catchment). Within this file, you will
find daily time series of a range of different climatic and hydrological variables for the catchment. Those that
will be specifically needed for your coursework are:
2. Precipitation: Daily total precipitation [mm/day]
3. PET: Daily total potential evapotranspiration [mm/day]
4. Temperature: Average daily temperature [C]
5. Discharge spec: daily catchment specific discharge to use for model calibration [mm/day]
• In the subfolder ‘.../SupplementaryData/...’ you will find a series of files containing information about a range
of catchment attributes for all of the catchments included in the full CAMELS GB database. You will need to
use your catchment ID number to find the relevant rows of data for your catchment:
1. TopographicAttributes: Location and topography of each catchment
2. ClimaticAttributes: 11 climatic indices describing catchment averaged mean rainfall and PET, aridity,
seasonality and climatic extremes
3. HydrologicAttributes: 14 hydrologic signatures describing mean flow, runoff coefficient, base flow index
and flow extremes
4. LandCoverAttributes: 9 land cover attributes describing the percentage of deciduous woodland, evergreen
woodland, crops, shrubs, grassland, urban, inland water and bare soils/rocks in each catchment, alongside
the dominant land cover
5. SoilAttributes: 48 soil attributes describing the percentage sand, silt and clay content, depth available to
roots, organic carbon content, bulk density, total available water content, saturated hydraulic conductivity
6. HydrogeologyAttributes: 9 hydrogeological attributes describing the proportion of the catchment under-
lain by hydrogeological units of high, moderate or low productivity or where there are rocks with essentially
7. HydrometryAttributes: 19 hydrometric attributes for each catchment describing the gauging station type,
period of flow data available, gauging station discharge uncertainty and channel characteristics such as
8. HumanInfluenceAttributes: Catchments selected for your coursework come from the UK Benchmark Net-
work, meaning that influence of humans on the flow regimes of these catchments is modest. Information
in this file is provided for reference purposes.
Additional information about all of the variables reported in the hydro-meteorological time-series and data files can be
found in the supporting documentation file provided in the zip folder (‘CAMELS SupportingDocumentation.rtf’) or
in the associated journal paper (Coxon et al., 2020) a copy of which is also provided in the folder ‘.../Coursework/CW1
- Surface water/Data/...’ on Blackboard.
Rainfall-runoff model codes
On Blackboard, navigate to the folder ‘.../Coursework/CW1 - Surface water/Data/...’. Download the zip file ‘MAR-
RMoT.zip’ and unzip to a folder on your computer (it doesn’t matter where).
The folder contains a range of Matlab scripts and functions, which form the Modular Assessment of Rainfall–Runoff
Models Toolbox (MARRMoT) developed by researchers at the University of Bristol (Knoben et al., 2019). MAR-
RMoT is an open-source toolbox containing model code for 46 conceptual rainfall-runoff models, including the GR4J
model you will use in this coursework, along with supporting functions for solving model equations and calibrat-
ing model parameters against observation data. Further information about MARRMoT scripts and functions are
provided in the supporting documentation file provided in the zip folder (‘MARRMoT UserManual.pdf’) or in the
associated journal paper (Knoben et al., 2019) a copy of which is also provided in the folder ‘.../Coursework/CW1
- Surface water/Data/...’ on Blackboard.
To use MARRMoT in your coursework, I have provided you with two different Matlab scripts outlined below.
1. ‘MACE40402 CW1 AutoCalibration.m’: Script which can be used to perform an automated gradient-based
calibration of the parameters of the GR4J or other rainfall-runoff model using gradient-based optimisation tool
(fminsearchbnd) in Matlab
2. ‘MACE40402 CW1 URS.m’: Script which can be used to perform a batch run of different sampled parameter
sets for the GR4J or other rainfall-runoff model in Matlab
The vast majority of both of these scripts have already been completed for you, but some sections have been left
blank for you to complete during parts 2 and 3 of the coursework analysis. Detailed instructions are provided in
the comments about how to modify and complete the scripts for your coursework, with sections where you must
add your own code clearly labelled with the header ‘- - -ADD CODE TO....- - -’. You will also need to write your
own code to analyse and visualise model outputs created by these scripts – I strongly suggest you do this in Matlab
rather than switching back to Excel.
Matlab software and license
In order to complete this coursework, you will obviously need access to a copy of Matlab (preferably version 2020a
or 2020b, but anything from 2018 onwards will be fine). For this, you have three options:
1. The university has purchased a license (valid until October 2021) to allow you to download and install the
full suite of MATLAB products on your own computer in response to the disruption caused by COVID-19.
Further info on how to do this is provided here: https://research-it.manchester.ac.uk/news/2020/09/
2. Alternatively (e.g. if your computer is low spec), you are now also able to access an online version of the latest
release of MATLAB including toolboxes in a fairly good setup i.e. 16 cores, 124GB memory without the need
to install the software directly on your own machine or connect to a cluster. Further info on how to do this is
provided here: https://research-it.manchester.ac.uk/news/2021/02/02/announcing-matlab-online/
3. Should you prefer, facilities are in place to enable you to remotely login to cluster computers from home.
This coursework requires access to the Matlab optimisation toolbox, so you will need to connect to one of the
following clusters where this is installed and available: (i) Barnes Wallis 2nd Floor/Top Floor (E-BW), or (ii)
Barnes Wallis ground floor (E-BW2).
Coxon, G., Addor, N., Bloomfield, J.P., Freer, J., Fry, M., Hannaford, J., Howden, N.J., Lane, R., Lewis, M., Robin-
son, E.L. and Wagener, T., 2020. CAMELS-GB: hydrometeorological time series and landscape attributes for 671
catchments in Great Britain. Earth System Science Data, 12(4): 2459-2483.
Knoben, W.J., Freer, J.E., Fowler, K.J., Peel, M.C. and Woods, R.A., 2019. Modular Assessment of Rainfall–Runoff
Models Toolbox (MARRMoT) v1. 2: an open-source, extendable framework providing implementations of 46 concep-
tual hydrologic models as continuous state-space formulations. Geoscientific Model Development, 12(6): 2463-2480.