Theory of environmental modelling, introduction
Self study (literature)
Marking: written exam ('toets/test 1')
Building dynamic models with PCRaster
Self study (literature), computer practicals
Marking: computer practicals (report), written exam ('toets/test 1')
Programming and model construction with Python
Self study (literature), computer practicals
Marking: computer practicals (report), written exam ('toets/test 2')
Theory of environmental modelling: model structure identification, calibration, sensitivity analysis and model evaluation, Monte Carlo simulation
Marking: written exam ('toets/test 2')
Each couple of students will do a case study, using the tools and theory teached in the first part of the course. A report (per couple) is written on the case study. The following section gives case studies to choose from. Note that there is a limited number of couples that can do the same case study. If you subscribe late, it might be that the topic of your choice is not available anymore.
Choose a case study as soon as possible, the earlier you start with it, the more time you will have! Email Derek the code (e.g. CARU) of the topic you choose, including the two names of the studens who will do the case study. It is not possible to work in groups of 3 students or alone!!
After choosing the case study, write down the concepts of your model (approximately 1 page: model structure, size of map, cell size, aim of the study, content of the study, possible problems) and email it to Derek (or put it in his paper mailbox). Make an appointment to discuss it with him (15 minutes). These 15 minute appointments will be in the week of 3 Oct (detailed schedule on the message board). If you do not make an appointment on one of these days, further help for the case study is NOT provided.
After this short talk on your case study, you will not get much supervision. Please do not pass by at Derek's room without making an appointment with him. See also the section called “Contacting your tutors”
This list is subject to change! Final list will be distributed during the course.
Code: CARU
Topic: Calibration of a PCRaster model
Keywords: calibration, PCRaster, PEST, Python
Aim: to calibrate parameters of a rainfall-runoff model with the automatic parameter estimation software PEST.PEST Description: Downloads:
Description: PEST is software that allows you to calibrate a dynamic model using automatic calibration schemes. The advantage over manual adjustment of parameters is that it results in a better estimation of parameters. PEST is generic software, and it can be linked to any PCRaster model, sometimes with some additional programming. The aim is to calibrate one or two parameters of an existing PCRaster model. You can choose the model yourself (or Derek can provide one). The topic involves some Python programming, and some literature study regarding PEST (available manual).
Literature: PEST manual, available in Derek's room
______________________________________
Code: FOFI
Topic: Forest fire model
Keywords: PCRaster, cellular automata
Aim: to create a forest fire model and perform a sensititivy analysis on its parameters
Description: Forest fires can be simulated with cellular automata. Create a dynamic cellular automata model in PCRaster simulating (a) spreading forest fire(s) as a result of lightning(s). Make the speed of forest fire spreading dependend on vegetation type, geomorphology and/or wind. Perform a sensitivity analysis to evaluate the effect parameter values on the pattern and velocity of forest fire spread.
Literature:
Regarding the model: Gaylord, R. J. and K. Nishidate (1996). Modeling nature : cellular automata simulations with Mathematica. Santa Clara, CA, Telos., p. 159.
Other articles can be found in the Environmental Modelling reader or in the library.
Regarding the data set:
Surf to http://www.virtualland.geo.uu.nl (use loging: fg, password: virtualland) and read exercises -> Ecology -> grazing study. You don't need to understand the grazing study and the (grazing) models described. Read it just to get some knowledge of the area and the dataset used.
Additional information regarding the data set (if required) is at http://www.sluitertijd.org, a report written about the area. Go to 'study' -> Fieldwork Crete (pdf file).
Downloads: fire.zip file with data set
______________________________________
Code: VFRI
Topic: Extraction of hydrodynamic vegetation friction values from in situ meauserements
Keywords: Python, Numarray module of Python, hydrodynamics
Aim: to extract a robust hydrodynamic friction value from measurements
Description: Vegetation friction is a very important imput parameter for hydrodynamic flow models on which the safety standards of river embankments are based. During high water in Januari 2004 a new and innovative measurement scheme has succesfully been tested: 3D float tracking. This has resulted in measurements with unprecedented detail. Still it is a challenge to extract a robust friction value from this data. The aim is to program a spatial operator that can compute friction values on various spatial extents based on detailed measurements of flow velocity, water depth and water surface height. See also the downloadable literature below.
Literature: FieldCampaingRhine.pdf, and literature provided by Derek
Downloads: data provided by Derek
___________________________________
Code: MORA
Topic: The effect of moving rainstorms on catchment hydrographs
Keywords: PCRaster, rainfall-runoff modelling
Aim: to study the effect of a heterogeneous and temporally variable distribution of rain on
catchment discharge
Description: Event-based rainfall-runoff models simulate the discharge in a catchment during one single rainstorm. An example is the 'manning' exercise in the Dynamic Modelling computer practicals. In most cases, these models assume a homogeneous distribution of rain over the catchment. The first aim of this topic is to extend the PCRaster model used in the 'manning' exercise with a module that is capable to simulate a rainstorm with a certain radius moving over the catchment, where different velocities of movement and directions of movement can be simulated. The second aim is to use this model to study the effect of rainstorm velocity and direction of movement (e.g. upstream or downstream) on characteristics of the hydrograph (e.g. peakflow, shape of hydrograph) at the outflow point. It is important to find a proper way to study and report these effects in tables/figures: it is recommended to run the model several times (in batch, e.g. use a Python script) using different values of rainstorm velocity and direction.
Literature: Ogden, F. L., J. R. Richardson and P. Y. Julien (1995), 'Similarity in catchment response. 2. Moving rainstorms.' Water Resources Research 31(6): 1543-1547 (available in the library). This paper gives several references to other literature that could be used.
Downloads: use the data set provided in the 'manning' exercise that you used during the PCRaster practicals
___________________________________
Code: ECO_COMP
Topic: Dispersal of two plants with competition
Keywords: PCRaster, ecology
Aim: to construct a spatial model simulating growth and dispersal of two plants
Description: Growth and competition between two species (e.g. trees) can be simulated with growth and competition equations. A PCRaster model with explanation is available simulating these kind of processes. The model simulates the competition between a fast growing plant which is replaced by a slower growing plant. The aim of this topic is to convert this model to a spatial version, including the same competition equation, and in addition two functions simulating dispersal: assume that one species disperses by seed dispersal (like in the 'plants' model in the exercises), while the other plant disperses by clonal growth (simulated with a cellular automata approach).
Literature: As an introduction, do the exercises at http://www.virtualland.geo.uu.nl, first install the software (read the instruction at the opening page!), go to exercises, and read and run the section 'Growth'. The aim is to extend the models described here with dispersion.
Downloads: you can use the 'plants' data set (dynamic modelling exercises). As a starting point, use the point model (1 x 1 cell) woods1d-ort.mod (also used in the exercises on virtualland) in this zip file: competion.zip
___________________________________
Code: RHINE
Topic: Modelling the discharge of the river Rhine
Keywords: PCRaster, hydrology, some Python
Aim: to construct and calibrate a model simulating the discharge of the Rhine
Description: the discharge of the river rhine catchment at the Dutch village of Lobith can be modelled with timeseries data of rainfall and potential evaporation for a large number of measurement stations in the catchment of the Rhine. The aim of this topic is to construct a spatial dynamic model simulating the discharge of the Rhine on a daily or weekly time step. Construct the model yourself using your knowledge of hydrology and if needed search some literature. Calibrate model parameters (manually) by comparing the modelled discharge with measured discharge at 5 measurement stations.
Literature: Not provided.
Downloads: Use the data provided in the zip file emRhineDataSet.zip. Unzip the file and read the file readme.txt for a description of the files. Be sure to have quite some disk space available (preferably some gigabytes).
_______________________________________
Code: DEBSENS
Topic: Propagation and depostion of mud and debris flows: scenario and sensitivity study
Keywords: PCRaster, mass movements
Aim: to perform a sensitivity analysis on a debris flow model and to evaluate scenarios of input
Description: A PCRaster model for simulating the kynematics of mud and debris flows was developed by Santiago Begueria-Portugues and Theo van Asch. The model simulates the initiation and transport of a single debris flow over a digital elevation model. It is physically based. In this topic you need to study a paper describing the concepts of the model. Using a provided data set, study the relation between model inputs, such as the location of initiation of the debris flow, the size of the debris flow and model outputs, in particular the area covered by the deposit of the debris flow. Take into account the effect of parameter uncertainty.
Literature: email Derek for a research paper on the model
Downloads: use the model and data set included in debrisFlows.zip
Extra download: for this model you need the most recent version of pcrcalc which is not in the standard distribution. To get this pcrcalc version, download newcalc.zip and unzip its contents to the subdirectory (folder) containing the debris flow model. Run the model in this folder only and it works.
_______________________________________
Code: DEBGEOL
Topic: Propagation and depostion of mud and debris flows: the evolution of a debris flow fan
Keywords: PCRaster, Python, mass movements
Aim: to model the evolution of a debris flow fan through time
Description: A PCRaster model for simulating the kynematics of mud and debris flows was developed by Santiago Begueria-Portugues and Theo van Asch. The model simulates the initiation and transport of a single debris flow over a digital elevation model. It is physically based. In this topic you need to study a paper describing the concepts of the model. Using a provided data set, you need to construct a model that simulates a sequence of debris flows (e.g. 10-100 debris flows) generating a debris flow fan. This is done by running the existing debris flow model multiple times (by calling the existing model several times from a Python script), each time calculating the thickness of debris flow deposit, adding it to the dem, and running the next debris flow. The result is a model simulating a set of debris flows whereby the digitial elevation model changes over geological time scales.
Literature: email Derek for a research paper on the model
Downloads: use the model and data set included in debrisFlows.zip
Extra download: for this model you need the most recent version of pcrcalc which is not in the standard distribution. To get this pcrcalc version, download newcalc.zip and unzip its contents to the subdirectory (folder) containing the debris flow model. Run the model in this folder only and it works.
_______________________________________
Code: CHBE
Topic: Alluvial architecture modelling
Keywords: PCRaster, sedimentology
Aim: to construct a model simulating the temporal evolution of a floodplain
Description: Alluvial architecture models simulate the deposits from river sedimentation and erosion in three dimensions. One approach is to use a spatial dynamic model. This topic aims at constructing such a model, following the concepts of the models developed by Bridge and co-workers. Such a model is described in one of the articles in the reader. Since these kind of models are quite difficult to program, you will develop a simplified version, ignoring compaction and simplifying the avulsion process. Include the following processes: channel belt deposition, overbank deposition, (nodal) avulsion, fixed avulsion interval (so, each time step in the PCRaster script represents a fixed time interval, and each timestep, an avulsion occurs), growth in channel belt width (if possible). Follow the equations given in Mackey et al (see below).
Literature: Mackey, S. D. and J. S. Bridge (1995), 'Three-dimensional model of alluvial stratigraphy: theory and application.' Journal of Sedimentary Research B65(1): 7-31. Bridge, J. S. (1999). Alluvial architecture of the Mississippi valley: predictions using a 3D simulation model. Floodplains: Interdisciplinary Approaches. S. B. Marriott and J. Alexander. London, Geological Society. 163: 269-278.
Downloads: use a virtual data set (create a map yourself, not too big!)
___________________
Code: COCA
Topic: coastal modelling
Keywords: model construction, python
Aim: to construct a profile model of coastal evolution
Description: The aim is to construct a model simulating the change in height and depth of waves approaching the coast as a function of bathymetry and wave dynamics. The model structure will be based upon existing models simulating this process, although a more simplified version will be used.
Literature: Articles provided by Derek
Downloads: -
______________________________________
Code: GENA
Topic: Genetic algorithm
Keywords: Python, inverse modelling (calibration)
Aim: to develop a program of a genetic algorithms and to apply it to a simple case study
Description: Een van de belangrijkste doelen bij environmental modelling studies is om de uitkomsten van een computer model overeen te laten komen met in het veld gemeten gegevens. Dit doel wordt in de meeste gevallen bereikt door het aanpassen van de invoer van het model, met name de model parameters, totdat de uitvoer van het model goed overeenkomt met gemeten waarden in het veld. Deze procedure waarbij model parameters worden aangepast heet calibratie van een model. Een voorbeeld hiervan is de calibratie van een regen-afvoer model, waarbij een infiltratie parameter (b.v. verzadigde doorlatendheid) wordt aangepast totdat de afvoer in een beek gesimuleerd door het model overeenkomt met de gemeten afvoer. Er zijn vele andere voorbeelden denkbaar. In alle gevallen gaat het om het zoeken naar een meest optimale invoer voor een model. Om de calibratie optimaal uit te voeren zijn calibratie algorithmes en software ontwikkeld, die een model automatisch calibreren. Een interessant en veelbelovend algorithme wat tot nu toe nog relatief weinig wordt toegepast in de fysische geografie zijn 'genetic algortihms'. Zoals de naam al aangeeft, gebuiken genetic algorithms principes uit de evolutie biologie (genen, recombinatie, crossover) om een model te calibreren. Hierbij wordt een model gezien als een organisme, dat zich ontwikkeld tot een optimale 'fitness' is bereikt. Het blijkt dat in bepaalde gevallen, genetic algorithms zeer efficient zijn voor het calibreren van een model. Een korte inleiding met demos die het principe van genetic algorithms illustreren kan gevonden worden op http://www.obitko.com/tutorials/genetic-algorithms/. Dit onderwerp heeft als thema de toepassing van genetic algorithms in calibratie van landschappelijke modellen. Ten eerste wordt een simple genetic algorithme geprogrammeerd in Python. Vervolgens wordt het toegepast op een simpel model.
Literature: Haupt, R. L. and S. E. Haupt (1998). Practical genetic algorithms. New York, Wiley. Second chapter, the book is avaible in Derek's room or in the library. Additional books (if needed) are available in the library. Lots of info is also on the internet!
Downloads: none
___________________________________
Code:GWFL
Topic: Groundwater flow modelling
Keywords: PCRaster, MODFLOW
Aim: to learn how to create a groundwater flow model
Description: Groundwater flow modelling is currently not possible in PCRaster. It is mostly done in specially developed software with pre-programmed routines that solve the groundwater flow equations. In this topic, you will use the software package MODFLOW. MODFLOW comes with an easy to use graphical interface that can be used to construct models. The topic includes 1) literature study to learn something about groundwater flow modelling (some chapters from a book provided by Derek), 2) doing the exercises Groundwater flow modelling with GIS (step by step exercises that learn you how to use MODFLOW, using a data set from the 'Utrechtse Heuvelrug'), 3) writing a report on how MODFLOW works and a small additional study that you will do with the model (e.g. a sensitivity analysis). This topic is interesting when you want to know more about hydrology and groundwater flow modelling.
Literature: from Anderson, M. P. and W. W. Woessner (1993). Applied groundwater modeling simulation of flow and advective transport. San Diego, Calif., Academic Press, read the chapters 2, 3.1, 3.2, 3.3 (emphasis on finite difference grids), 3.4, box 3.1, 4.1, 4.2, 4.3, box 4.1 (MODFLOW part), 5.1, 5.2, 5.3, 11.1, 11.4
Practicals groundwater flow modelling (available in Derek's room).
Downloads: gwfl.zip
______________________________________
Code: PYGIS
Topic: Create a raster GIS
Keywords: Python, software development
Aim: to create generic spatial functions on raster maps
Description: The aim is to make your own raster based modelling language using the Python programming language. Develop several functions in Python which operate on raster maps, returning one or more raster maps. By combing these, write a simple static or dynamic model.
Literature:
Downloads:
__________________________________
Code: RARUFR
Topic: Calibrate the event-based rainfall-runoff model of the Hauteville VWK1 catchment
Keywords: PCRaster, Python, rainfall-runoff modelling
Aim: to calibrate a rainfall-runoff model to measured discharge data
Description: Event-based rainfall-runoff models simulate the discharge in a catchment during one single rainstorm. An example is the 'manning' exercise in the Dynamic Modelling computer practicals. In this topic, you will use an existing rainfall-runoff model running in PCRaster. It was also used during VWK1 (but here you will use it without interface). The model will be run for the Hauteville catchment. Calibration can be done using measurements of rainfall and discharge in 2003. The following steps need to be done: rainfall and discharge data are available in spreadsheets. These need to be converted to timeseries in the format of PCRaster, where each timestep is 10 seconds. Write a Python program that does the job. After this, run the model with the measured (or parts of the measured) rainfall timeseries and compare the simulated discharge with the measured. Try to calibrate the model (by manual adjustment). Note that most measured discharge is baseflow, so you will need to subtract baseflow to compare it with the output of the model (simulating surface runoff only).
Literature: VWK1 reader with description of the model
Downloads: The file france_model.zip contains the model that you can use. It includes tables that you need to modify with the appropriate values. The maps are from a different catchment. Replace the maps with the maps in the file france_maps.zip. The measured rainfall and discharge is in the file france_measurements.zip. Be sure to read the explanation in the attached pdf!
__________________________________
Code: MCSI
Topic: Error propagation modelling through Monte Carlo simulation
Keywords: PCRaster, Python, error propagation
Aim: to write a Python program capable to run an existing PCRaster model in Monte Carlo simulation mode
Description: Error propagation modelling involves the estimation of the error in the output of a model as a result of errors in input values of parameters. Monte Carlo simulation is a method for error propagation modelling that runs a model several times, each time using a slightly different input value of a parameter. These different input values represent the uncertainty range in the input parameter. Each time the model is run, a different output is generated. By collecting all these outputs, the variation in the outputs can be calculated which is an indication of the uncertainty in the model as a result of the uncertainty in an input. Since PCRaster does not provide a standard way to run a model several times (in Monte Carlo mode), the aim is to write a (small) Python program that runs a PCRaster model several times, each time using a different input. This program is applied to a simple model (choose one yourself, e.g. from the PCRaster practicals), to evaluate the error in the output as a result of the error in the input.
Literature: one paper describing the concept of Monte Carlo simulation (note that one of the topics of the last two lectures is Monte Carlo simulation, so you will already know about it)
Downloads: none
__________________________________
Code: DAISY
Topic: Modelling Daisyworld
Keywords: PCRaster, cellular automata
Aim: to develop a spatial Daisyworld model and to evaluate different input scenario's
Description: Daisyworld was introduced by James Lovelock and Andrew Watson to illustrate the plausibility of the Gaia hypothesis in a paper published in 1983. It is a a computer simulation representing a hypothetical world with an slowly increasing incoming solar radiation. In the original version of the model, the planet contains two different species of daisy as its only life form: black daisies and white daisies. White daisies have white flowers which reflect light, and the other species has black flowers that absorb light. Both species have the same growth curve but the black daisies result in a warmer atmosphere than white daisies or bare earth. As a result, a planet with preponderance of white daisies is cooler than one with more black ones. Daisyworld simulation is an analogy which shows that life which is adapted to certain kind of environmental conditions by its mere existence slightly (or more) regulates its own environment toward living conditions which are suitable for life. For addional info, see for instance wikipedia (search on Daisyworld). The aim of this topic is to develop a spatial Daisyworld model containing 2 or more species. Using this model, different scenario's of model parameters and incoming solar radiation can be evaluated.
Literature: a lot of literature on Daisyworld can be found by a search in for instance http://www.scopus.com. Of particular interest for this topic are: Ackland et al (2003), Catastrophic desert formation in Daisyworld, Journal Theoretical Biology, 223: 39-44, and the report on 'Modeling the Gaia Hypothesis' available at http://www.cs.utoronto.ca/~phillipa/
Downloads: none, use one of the data sets used in the dynamic modelling exercises as starting point.
__________________________________
Code: OWN
Topic: alternative topic provided by you
Keywords: -
Aim: -
Description: if you have another idea for the case study, please suggest it to me, and I will see whether it is feasible.
Literature: -
Downloads: -
A a report is written on the case study by each couple of students (one report per 2 students). The maximum length is 7 pages (including figures). Put additional figures in an appendix (if needed). The report should be structured like a scientific article. Be sure to give an introduction, problem definition, aims, etc. See also the section called “Case study: written report”
The report may be written in Dutch or preferably in English.
Below you find a list of errors that I often find in reports:
Use Italics ('cursief') for all symbols in equations or in the text
Preferably use a single letter (+ subscript if needed) for a variable in equations (e.g. do not use a symbol like COV)
Do not write like in a diary ('First we did this,.... Then we started to realize.. and we did this and that...'). Your report is not a poezieboek.
Put larger blocks of computer code (say, more than 2 lines) in a table instead of inserting it in the main text. Whole programs should be given in an appendix.
Use a main (cover) title that makes sense.
Provide quantitative data in figures (bar graphs, line graphs, scatter plots, use e.g. Excel, Splus) instead of those boring unreadable tables.
If you write the report with Microsoft Word, use Microsoft Equation editor (available in Word) for equations.
Number equations - always (provide the number after the equation, e.g, (3)).
Check out an article from a scientific journal (e.g. from your reader) and use that as an example for formatting, layout, use of figure captions, literature references, etc.
Do not use language as if you are talking (spreektaal)
Describe content in a logical order, instead of describing content in the order you dealt with it while modelling. So, do not use sentences like 'eerst deden we dit, toen zijn we dat gaan doen, etc..).
Use a spellchecker (ALWAYS)
A caption of a figure or table should at least explain all symbols used in the figure or table. The same holds for an appendix. In principle, the table/figure should be understandable without reading the main text (although there are exceptions to this rule)
Provide a legend to a figure (always)
If a figure contains a map, provide a scale (scale bar)
Do not hand in black and white prints of color figures (NEVER)
Use the same format for each reference in your literature list and refer to the references in the text.
Number the sections in your report, provide these numbers also in the contents Preferably use some kind of hierarchical numbering, for instance 1 1.1 1.1.1 1.1.2 2 2.1 2.2 etc
Number figures and tables. In the main text, refer to figures or tables by using these numbers.
All literature refered to in the main text should appear in the literature/references section at the end of the report. Check this in detail before handing in!
Do not mix past and present tense.
Do not use 'I' or 'we' (1e persoon).
If you use a figure from a book or another report, always provide the reference.
Do not use English terminology in a report written in Dutch when correct Dutch terms are available (e.g. 'catchment' = 'stroomgebied')
Provide units (all variables in equations)!
Kort (vrijwel) nooit af! e.g. 'd.m.v.'.
Do not use 'etc.'
Provide page numbers.
Use every page from top to bottom (apart from last pages of very long sections), do not include too much whitespace!
Do not just copy-paste figures (maps) from screen. Adjust colors, add a legend, remove MS Windows bars, buttons, check size of text or modify text, etc. Use a graphics package (e.g. Freehand, Paintshop or whatever).
Try to come up with interesting results (do not just list all results from your model, but try to emphasize the most interesting results). But note that this should always fit with the goals of your research (if needed adjust these goals).
Use courier font for computer code, PCRaster scripts, or filenames. Also in the main text (not just in tables).
Use a good dictionary. If you do not have one, buy one. I could recommend Longman Dictionary of Contemporary English (http://www.longman.com/ldoce). Or use the online version at http://www.ldoceonline.com
Read through the text and correct all small (or large..) errors (typos for instance) before handing in!
Do not use a title that ends with a ':'. For instance, do not use the title 'Discussie:'
Do not come up with things in the Conclusions section that have not been described earlier in the paper.