Empirical Modelling approach to a Hydro Power Plant The University Warwick

Empirical Modelling approach to a Hydro Power Plant
Charith I Fernando (0957728)
The University Warwick
This paper will build a model to demonstrate the work-flow of a hydro power plant. It discusses how
Empirical Modelling concepts could help to create a mathematical model of this nature and what benefits the users could gain from it compared to other traditional software concepts. Here the paper builds
a hydro power plant model to estimate the monthly power generation and water outflow depending on
the parameters which are used to build and demonstrate it. The parameters would be the ones which
an engineer would look at when building a hydro power plant such as the reservoir capacity, location
of the dam, monthly rain fall and water input to the reservoir. Tkeden will be used as the tool for
development and EDEN, DoNaLD and SCOUT will be used as definitive notations. The paper will
evaluate the usage of the notations and their usability in the current domain.
The main goal of this paper is to give an understanding to the readers that Empirical Modelling (EM)
principles could be used along with modelling tools
to build a mathematical model of an empirical study.
It will discuss building of a Hydro Power Plants
(HPP) to show the application of EM principles.
Hydro power is ”the production of power through
use of the gravitational force of falling or flowing water”, Wikipedia. During this paper the author will be
only taking into consideration the gravitational force
of falling water.
Why did the author chose to apply the EM principles into HPP? This is especially because of the limited knowledge of the author in this area at the time
of starting the paper. Which helps to show how iterative requirements are adapted into the system. EM is
a way of modelling real life experience in computerized models which gives the user a better understanding of the subject and provides the ability to manipulate it along with the growth of experience. This
is one of the advantages of building models on EM
tools. After the current model is explained, the section on further enhancements will show how this is
In this paper the next section on EM concepts and
application will discuss EM concepts in detail and
how it relates to building a model of a Hydro Power
Plant. This will be followed by an overview of various EM tools and notations available. Section 4 will
show how the model has being developed followed
by an evaluation on the tools used to build the model.
Section 5 will describe further enhancements to this
model followed by the conclusion and the acknowledgement.
EM Concepts and Application
In this section the author will discuss the definitions
of EM concepts, how they are used by previous work
and how they are applied to the current context of
building the model for the HPP.
In ”Uncovering Empirical Modelling” by King
(2006), he discusses the ”State-as-experienced” as the
most fundamental concept of EM. He describes that
the personal experience helps to build something in
mind when a scenario is given. This is explained by
taking the example of two glass tumblers, where he
shows what kind of different interpretations there can
be. In the Hydro Power Plant modelling project, the
author sees the HPP with limited knowledge and it
will be different to an experienced engineer’s view or
the state. The state understood by a person of a given
scenario is defined as a construal in EM principles,
King (2006). A construal is further described as a
model of an understanding of a situation.
The construal which the author has on modelling
the HPP is shown in figure 1. Here the author see
a reservoir which is built by building a dam across
a river and a power station below it with the turbines and the generators. In this paper, the storage
of the generated electricity or how it travels will not
be taken into consideration. The scope of the paper
will only consider the factors shown in figure 1 .
Figure 1: Construal of the HPP at design stage
A construal is developed by taking three more EM
concepts into consideration, which are observables,
dependencies and agency. As shown in King (2006),
observables and the dependencies are closely related
to each other. He explains that an observable is
”something which has a value or status to which an
identity can be ascribed”, King (2006) and that a dependency is the relationship between these observables. An agency is something that may affect these
observables to change.
The following is a list of observables initially identified in the system along with their relationships
which depicts the dependencies. The formulas show
how each value is derived.
• PowerGenerated = Head × FlowRate × Gravity
• ReservoirCapacity = Width × Height × Depth
(M3 )
• MonthlyRainFall (Litres)
• MonthlyStreamInput (Litres)
• MonthlyReservoirContent = MonthlyRainFall +
MonthlyStreamInout (Litres)
• SpillWay
MonthlyStreamInput) - (ReservoirCapacity
* 1000) Litres
The agents will be the factors affecting the change
of these observables. ”An agent is an entity in the
domain being modelled that is perceived as capable
of initiating state-change”, EM-Group. In the current
domain the monthly rain fall and the monthly inputs
from the streams are categorized as agents, because
these affects the water overflowing from the reservoir
and the power generated at the plant.
EM Tools and Notations
As described in King (2006), in EM development,
tkeden has been the principal tool used. EDEN
(Evaluator of DEfinitive Notation) supports many
other definitive notations for various purposes such as
DoNaLD (Definitive Notation for Line Drawing) for
line drawing, SCOUT for (SCreen LayOUT), ARCA
for diagrams, vertices and indices, SASAMI for 3D
modelling and EDDI for relational database tables
and views. These definitive notations are available
in the latest version of tkeden. Apart from the above
mentioned notations, there is another notation called
DOSTE which is being developed at the University of
Warwick. This notation is mainly based on an object
based framework.
In the current paper the author will be mainly using
EDEN, DoNaLD and SCOUT for modelling the HPP.
LSD Notation
LSD Notation is built for Domain analysis and descriptions. When understanding an existing EM
model, it won’t be clear of the interpretations the
modeller had in mind when building it EM-LectureNotes. Hence a notation such as this will help readers
understand a model already created. The notes on
LSD explains that ”An LSD account is orientated towards understanding the interaction between agents
in a system” EM-Lecture-Notes. It further describes
the four kinds of observables it has which are state,
oracle, handle and derivate. In applying this notation
to the HPP model which the author has in mind will
be as follows. Here the author has taken the Input
from Water streams and the Rain as agents. In this
paper, the user who may change parameters manually
in the system will not be considered as an agent.
AGENT MonthlyRainFall() // Monthly Rain fall
integer current month = 1 // Jan
integer Jan rain = 100 // Rain fall of January
integer Feb rain = 200 // Rain fall of February
AGENT MonthlyStreamInput() // Monthly Water
input from streams
integer current month = 1 // Jan
integer Jan input = 100 // January Stream input
• Pipe Head : The distance from the water falling
point to the turbines
• Gravity : Floating Point Constant
• Tank Content : Integer
• Current Month : Integer
Figure 2: Hydro Power Plant Model
integer Feb input = 200 // February Stream input
Hydro Power Plant Model
The model which is built in the current paper will
mainly focus on how much power will be generated
from the available water at a given period of time.
The period is taken in months and the water availability is calculated by adding up the monthly rain fall
and the monthly input from the streams to the current
The following are the list of observables in the system:
• Tank Width : Integer
• Tank Height : Integer
• Tank Depth : Integer
• Monthly RainFall : List with 12 elements
• Monthly StreamInput : List with 12 elements
• Monthly FlowRate : List with 12 elements, flow
rate shows the water intake to the generators decided by the engineers at each month.
As shown in Figure 2, there is a monthly meter
which will show the animation of which month the
model is evaluating at a certain given time. It shows
streams connected (combined as one input), rain fall,
water overflow output and the power generation output flow. The water tank simulates how much water
is available in the tank initially and how it changes
when the water is been used for power generation
and is added by monthly inputs. ’Monthly FlowRate’
observable is used here to check how much water
is flowing out each month decided by the engineers.
Rain and input streams are only simulated if the user
has specified that it is going to rain in a given month
or if monthly stream input is specified respectively.
If at any given month the capacity of the tank is exceeded by the content of the water, it makes the water
overflow. Hence the engineers gets an idea here when
the gates should be opened to let go the excess water
at a given time according to the inputs given by the
The figure 2 has three main buttons to control the
simulation, Start, Pause and Stop. Start button will
start the simulation, Pause will pause it at a given time
and Stop button will stop the simulation and let the
user start the 12 month cycle again with the current
state of the model.
At the end of the simulation of the model the system gives out how much power is generated with the
available water in the tank and gives out a monthly
overflow table which highlights when the gates of
the dam should be opened to make the extra water
flow out. Apart from giving these information at the
end, while the simulation is in progress it gives each
month’s power generation as an when it is calculated.
During the development of this model, SCOUT
was used to make the windows to display the model.
DONALD was used to draw the components of the
model. As an example, the water tank, rain drops and
dam are some of the components drawn using shapes
available. While SCOUT and DONALD was used
to draw the model on the screen EDEN notation was
used to maintain the observables and the dependencies in the system.
Changing Observable (Agency)
The current model created does not support an interactive way of changing the observable values. But
EM tools are powerful to take inputs from the users
while the simulation is in progress. The monthly
rain input and the stream in flow are represented as
two lists in the model. Hence the users can use the
code segments below to change the observables of the
Please note that ’%eden’ notation should be used
for these. The numbers given here for the array can be
changed and applied to the model at any time which
would change the behaviour of it.
rain fall = [120, 240, 1024, 240, 202, 420, 120,
4456730, 6785120, 530, 530, 250];
stream input = [120, 420, 440, 1110, 2220, 304, 0, 0,
530, 120, 330, 5550];
Apart from the rain and the stream inputs, the users
can change the dimensions of the tank. This is not
reflected by a change in the size of the tank in the
model. But the size change will be shown by adjusting the water level of the tank because now it will be
able to hold more or less water according to the given
How is EM tools and notations useful here?
The author only aimed to show the monthly outflow
of water and the power generated by the model for
the given properties. The model that has been created satisfies this aim, hence this model can be defined as completed. The power of EM tools comes
into play when this model needs to be extended with
more complex dependencies and results. The section
on ”Further Enhancements”, a later section will describe what other criteria could have been included in
this model and how easy it is to do so with the tools
currently used. Another advantage of using such tools
is the ability of it to interpret statements immediately.
Whenever the user feels like changing a statement,
dependency or a function implementation, the programmer just have to write the code and apply it.
As a simple example, if the user wants to start the
process from month 4, the current month observable
needs to be changed to 4. As soon as you apply the
change it will be reflected in the model. And when
you start the model at that point, it start processing
values from the month April.
The model in Figure 2 could have been easily built
by using a programming language such as Java, but
changing the model according to how the user gathers
knowledge about the domain is a tedious task. This
is due to the fact that a program in Java needs to be
compiled and run before results are seen and there
is no way to save the status of a program at a given
time and change values of variables at runtime. But
in EM tools, it allows the program to stop the process
at any given time and change the values of observables so that it will behave in a different way from that
point onwards. Using EM tools is similar to using a
Debug option on a programming language like Java.
But there are some limitations in a debug mode where
the user cannot declare new observables at runtime.
It will not be fair for EM tools to be compared with
high end modelling tools. It should be observed that
the power of EM tools are on the flexibility it gives in
changing the model while the developer or user gains
knowledge which should be taken into consideration
comparing with other modelling tools.
Evaluation of EM Tools and
In this project, the model development was done using SCOUT, DONALD and EDEN notations. From
the available notations in EM, SCOUT is used to create screen layouts. This notation provides features
such as creating sensitive screens which can capture mouse and keyboard interactions. In this project
SCOUT notation has been used to build the layout
in different components (Windows) and display them
on a screen. The buttons in the model are separate
windows which have different background colours.
The Monthly meter and the main model with the animations are also two different windows. Buttons are
represented as separate components or windows to
capture the mouse interactions with them separately.
Monthly meter and the main model have been divided
into two components for the clarity of the program.
Models should be divided into several windows for
clarity of the model according to whether they have
any dependency over another window or not.
DONALD, on the other hand provide the necessary
notation to draw 2-d lines along with some geometric functions. In the current project, this notation has
been used to draw all the shapes on the screen. It
also defines some observables which will be used by
EDEN to manipulate the locations of the components
and to animate the model when it is started.
EDEN does most of the work on the animation.
The monthly meter animates the time cycle where as
the main model animates the rain fall, stream input-
output and power generation. All of these animations
are done by movement of the shapes. For the animation, eden clock is been used to identify the moving time. Monthly meter’s starting point and ending point denotes the start and the end of the animation and each line denotes the boundaries of the
months. Eden procedures has been used to monitor
observables. When the time is ticked by the eden
clock it moves the line of the monthly meter animating that the time is moving. Everything else in
the main model and all calculations depends on the
movements of this line. The animation is done by
changing the observables which defines the ’X’ or ’Y’
coordinates of the shapes. Eden definitions of dependencies are done to calculate power generation. As
an example, the eden definition calculates the power
generated per month as soon as the current month has
been changed.
Further Enhancements to the
There is a wide range of enhancements which could
be applied to this project. The model was built just
by the construal which the author had about a hydro power plant. Going beyond this, there is a vast
area in this domain which can be explored so that this
model can be enhanced. This section will be dedicated to discuss few example of such enhancements
and to show how it is possible to do so since the modelling is done on EM notations.
When the rain fall is given in to the system it does
not take into consideration the rain which would fall
on the ground around the tank. The current model assumes that every drop of water is fallen in to the tank,
which is not practical. A possible enhancement is to
find out about the soil condition of the nearby grounds
to see how much water it absorbs and how much will
be drained into streams around. At the same time the
stream input that is currently specified by the user can
be also calculated according to the rain fall. In the
project, only the current geographical location’s rain
fall is taken into consideration. But if the user can enhance this by building a formula which will calculate
the stream input from each region according to their
rain fall in those areas we could get an accurate reading on the stream input to the reservoir which will
also depend on the rain fall values inserted.
Another enhancement that this model could accommodate is to take the surface level evaporation
of water. For this the velocity of air above the water,
the humidity ratio of the air and the heat can be taken
into consideration.
This project only aims to deliver the power generation outputs and the monthly overflow of water. Since
we have a tank with proper dimensions we could also
calculate the water pressure in the tank which can be
useful to identify the strength of the dam wall. Current knowledge of the author is insufficient to make a
formula of this nature, but if an engineer supports this
model, it can be improved to include that formula to
calculate the expected strength of the dam wall. Another hard coded input which the users has to give in
this model is the water flow rate travelling to the turbines. This can be represented by a formula which
will find the flow rate according to the properties of
the channel that is used transfer water to the turbines
The main objective of this paper was to build a model
of a Hydro Power Plant using EM tools and notations.
This was mainly to show that using EM concepts to
build a mathematical model of this nature is beneficial
given the fact that how the requirements may change
in the future and how convenient it would be to reflect
these requirement changes. Especially to show how a
model could be built by a person with limited knowledge in the domain and not worrying about the actual
scenario in the domain. The power of EM lies in the
aspect of its flexibility of changing the model immediately as an when knowledge is acquired compared
to normal programming languages where it will be
another cycle of analysis and design. This paper has
discussed the EM concepts and demonstrated how
they are applied to a working model which has been
built by using EM tools and notations. It also discusses the advantages of using EM concepts to build
models of this nature compared to the use of a highlevel language such as Java. Finally the paper gives
some enhancements that can be built on top of the
current model with some additional professional information.
Herewith, I would like to appreciate the support rendered by Dr M. Beynon and Dr. S. Russ in giving me
an insight into the Empirical Modelling concepts and
the feedback given along with the development of the
paper and the model. Also appreciate the guidance
given by Nicolas Pope for installing the development
EM-Group. A glossary for empirical modelling.
Accessed 21st December 2009.
Accessed 21st
December 2009.
K G King. Uncovering empirical modelling. Master’s
thesis, The University of Warwick, 2006.
Accessed 20th December 2009.