You are on page 1of 9

A Simulink-Based Scheme for Simulation of Irrigation Canal Control Systems

Juan A. Mantecn Manuel Gmez Jos Rodellar School of Civil Engineering Technical University of Catalonia 08034 Barcelona, Spain Computer simulation is the main tool in the design and analysis of control systems for irrigation canal automation, which involves several disciplines and backgrounds. While hydraulic engineers are more familiar with equation-oriented, highly nonlinear, distributed parameter models, control engineers are usually comfortable with linear models and block-oriented descriptions of systems. This article presents a Simulink-based scheme for the simulation of irrigation control systems, which combines library blocks with user-custom blocks, tting different user preferences and reducing implementation complexity. Keywords: Hydraulic systems, irrigation canals, automatic control, method of characteristics

1. Introduction Saint-Venant equations are perhaps the most accurate mathematical model to describe the dynamic behavior of free-surface ow hydraulic systems such as those encountered in rivers, irrigation canals, and sewer networks, among others. As no analytical solution exists for these equations in most cases, numerical solution has become the only way to use this model in practice, and several efcient numerical algorithms to solve the equations are well known in the hydraulic engineering context. An introduction to SaintVenant equations and related numerical methods can be found in Chaudhry [1], Lai [2], and Gmez [3]. In recent years, automatic control systems have been considered a powerful tool to optimize the management of open-channel ow hydraulic systems, particularly for irrigation canals. The main objective is the automatic manipulation of control gates to ensure desired levels, discharges, or water volumes at specied canal locations. Relevant references on canal control methods and algorithms can be found in Malaterre, Rogers, and Schuurmans [4]. Among them, predictive control has shown to be a suitable method to derive stable and well-performing digital control algorithms for irrigation canals [5-8]. A complete description of adaptive predictive control methods can be found in Martn Snchez and Rodellar [9]. Canals are complex systems with nonlinear dynamic behavior, space distribution over long distances, lumped | | | |

SIMULATION, Vol. 78, Issue 8, August 2002 485-493 2002 The Society for Modeling and Simulation International

control elements, and signicant time delays between actions and responses, among other characteristics. Implementation of canal control systems is thus a challenging problem, and there are just a few systems in operation in real-world canals [10, 11]. In a natural way, computer simulation has become the main tool to perform design, analysis, and assessment of control systems for canal automation. While equationoriented simulation schemes are very convenient to describe the hydraulic behavior of canals (and so they are more familiar to hydraulic engineers), block diagrams are better suited to describe subsystem interactions involved in control loops, and consequently, they can be a preferred tool for control engineers. Simulink [12] is a Matlab extension that is perhaps one of the most popular customizable block-oriented simulation tools among system and control engineering communities. The objective of this article is to show how the exibility of Simulink can be exploited to build up computer simulators for irrigation canals, with reduced implementation complexity through the combination of standard library blocks and user-custom blocks in the same scheme. This can have the added value of resulting in simulation schemes suitable and friendly for both hydraulic and control engineers. Combinations of hydraulic models and control tools within Matlab schemes have been also reported in Werner et al. [13]. Some commercial hydraulic simulation packages have been recently extended with dynamic data exchange links to Matlab (see http://www.montpellier.cemagref.fr and http://www.sobek.nl). The simulation scheme presented here includes a mathematical model of a real canal based on full

Mantecn, Gmez, and Rodellar

Saint-Venant equations and a predictive controller based on a simplied hydrologic modelnamely, the Muskingum model, which leads to a difference equation formulation of the control law. The continuous-time nature of the canal, along with the numerical solution of the Saint-Venant equations, the digital implementation of the control law, and the possibility of multirate control, makes the management of the evolution time a nontrivial task. A block-oriented simulation environment, such as Simulink, can be a very advisable tool to manage interactions between continuous-time and discrete-time subsystems. This article is structured as follows: section 2 introduces the physical system and the control problem. In section 3, a numerical model for the real canal is presented. Section 4 presents the controller design. Section 5 describes the Simulink scheme and goes through the implementation issues. In section 6, an illustrative example is presented that shows the results of a control operation simulation. 2. Physical System Description The overall system is a canal with a series of N pools, gates, and offtakes, as illustrated in Figure 1. The upstream and downstream bounds of the canals are such that there is a constant-level reservoir upstream of gate 1 and a weir at the downstream end of pool N . At the end of each pool, immediately before the downstream gate, we consider a relatively short storage section where lateral offtakes with discharges wi are located. Offtakes allow the extraction of water from the main canal to lateral secondary canals. A variety of hydraulic structures exist in real canals to set up offtakes, such as spillways, lateral gates, orices, and so on. The control objective is to keep desired downstream water levels at pools by properly manipulating gate openings. Different approaches can be followed. In this study, we adopt a decentralized control strategy in which the water level at the downstream end of each pool is controlled by the corresponding upstream gate opening. The task of determining the upstream gate opening of each pool is performed by two controllers: a downstream predictive controller, which computes the desired undergate discharge qi to control the downstream-level yi , and a local controller, which sets the gate opening ui to achieve the desired undergate discharge. In some way, we may view the controlled canal as an overall complex system decomposed into N coupled subsystems (controlled pools) subject to disturbances. The coupling is through the fact that each gate i inuences both its downstream pool i and its upstream pool i 1, and the disturbances are mainly associated with the lateral offtakes wi . 3. Canal Simulation Model To test control system performances, we require a simulation model of the real canal to numerically obtain canal
486 SIMULATION Volume 78, Number 8

variables such as water levels or offtakes as accurately as possible. To model the whole canal, we consider that it is divided into N pools as described above. We break the pool into two sections: a conveyance reach having unsteady, gradually varied ow and a storage reach, which is located near the downstream gate and is described by mass balance and energy conservation equations. The lateral offtake and the controlled water level are located at this section, as seen in Figure 2. Note that point E stands for the last point of the conveyance reach of pool i , whereas point B stands for the rst point of the conveyance reach of pool i + 1. Pairs (vE , yE ) and (vB , yB ) stand for water velocity and water depth at those points, respectively. 3.1 Conveyance Reach The water conveyance along canals can be described as a one-dimensional, unsteady, gradually varied ow, which is mathematically expressed by the Saint-Venant equations. For a canal with constant cross section and without distributed lateral ows, these equations have the form y y A v +v + = 0, t x b x v v y +v +g g(I0 If ) = 0 , t x x

(1)

where y(x, t) is the water level, v(x, t) is the mean water velocity, A is the canal cross section, b is the canal top width, I0 is the bottom slope, If is the friction slope, g is gravity, and (x, t) are space and time coordinates, respectively. To solve these equations, we used the method of characteristics with an explicit approach, considering straight characteristic lines [2-3]. This method transforms the original partial differential equation system into an equivalent system of ordinary differential equations, valid along some curves in the (x t) plane, known as characteristic curves. Using this approach, we can express equation (1) in the form g dy dv + g(IO If ) = 0, dt c dt dx = v + c, valid along C+ : dt dv g dy g(IO If ) = 0, dt c dt dx = v c, valid along C : dt

(2)

where c = g A is the so-called wave celerity. b To solve the system at a point P , we adopt the Hartree scheme, as illustrated in Figure 3. This scheme uses two characteristic lines intersecting at point P and passing through points R and S , whose exact positions are a priori unknown. Approximating them by straight lines with

SIMULATION OF IRRIGATION CANAL CONTROL SYSTEMS

Figure 1. Physical system scheme

Figure 2. Pool scheme

a slope equal to tangent values at points R and S , and assuming rst-order approximation, the equations of motion (2) can be expressed as follows: g vP vR + (yP yR ) g t (I0 IfR ) = 0, cR (3) g vP vS (yP yS ) g t (I0 IfS ) = 0 . cS We suppose that the canal conditions are previously (or initially) known at points M , C , and N , and a linear variation of water level, celerity, and velocity between these points is assumed. By determining the values (yR , vR , cR ) and (yS , vS , cS ) by linear interpolation of the corresponding values at points M , C , and N , we can reduce the previous Saint-Venant equations (3) to a two-equation linear system that can be easily solved for the unknowns yP and vP . A review of computational methods for unsteady openchannel ow, including the method of characteristics, can be found in Lai [2]. An application of this method, includ-

ing its ACSL implementation, can be found in this journal [14]. 3.2 Storage Reach As shown in Figure 2, we can view the storage reach as the junction or boundary of two pools. Moreover, the storage section is a part of the canal where conservation laws hold and where the offtakes are located and the controlled water levels are considered. Taking all this into account, we can model the storage reach by the following system of coupled nonlinear equations: vE = vR vB = vS + g (yE yR ) + g t (I0 IfR ), cR g (yB yS ) + g t (I0 IfS ), cS
487

(4)

Volume 78, Number 8 SIMULATION

Mantecn, Gmez, and Rodellar

point of pool N , that is, at the rst and last points of the whole canal. Let us denote these points as U and D , respectively. We solve for the boundary conditions in a similar way as described for storage reaches. The upstream boundary point U must hold C characteristic values and an inow trough gate 1 from a reservoir of constant level yr , which means that the upstream boundary point must satisfy the following two equations: vU vS g (yU yS ) g t (I0 IfS ) = 0, cS AU vU = Cd ac u1 2g(yr yU ) .

Figure 3. Discretization grid

Similarly, the downstream boundary point D must hold C + characteristic values and end-point spillway discharge so that the following system of nonlinear equations results: vD vR + yi = 0, t g (yD yR ) g t (I0 IfR ) = 0, cR AD vD = Cv le (yD he )3/2 .

yi = yE +

2 vE , 2g

A E vE A B vB w i s g

AB vB = Cd ac u 2g(yi yB ), wi = Cv lv (yi hv )3/2 . The rst equation accounts for the inuence of the upstream pool of the canal through the equation of motion associated with the C + characteristic line. The second one accounts for the inuence of the downstream pool of the canal through the equation of motion associated with the C + characteristic line. The third equation expresses the energy conservation between the pool level, assuming zero velocity, and the last point of the upstream pool. The fourth equation expresses the mass conservation, with yi being the difference between the water level at time t and the water level at time t t and sg , the pool area. The last two equations deal with the discharges through the downstream gate and the lateral offtake, respectively. For the downstream gate, Cd is the discharge coefcient, ac is the width, and u is the opening. For the lateral offtake, assumed in this case as a weir discharge wi , Cv is the spillway discharge coefcient, hv is the spillway height, and lv is the spillway width. By iteratively solving the system (4), we obtain the water levels and velocities for the last point of the upstream pool and the rst point of the downstream pool, respectively, as well as the controlled water level and the lateral and downstream undergate discharges. 3.3 Boundary Conditions Boundary conditions for system (1) are needed at the rst discretization point of pool 1 and at the last discretization
488 SIMULATION Volume 78, Number 8

4. Controller Design The objective for the control system i is to manipulate the opening ui to ensure the level yi to be maintained at the desired setpoint yisp (see Figure 4 for illustration). The design and the implementation of each control system i are undertaken by means of two controllers, which will be referred to as downstream controller i and local controller i , respectively. The downstream controller i is formulated through a discrete-time predictive control algorithm that, at each sampling instant k = 1, 2, . . . , gives the desired discharge qi through gate i for the next sampling instant k + 1, such that the downstream level yi , as predicted by a system model over a moving horizon scenario, satises a performance criterion [5, 9]. This controller uses the level yi (k), the lateral offtake wi (k), and the downstream undergate discharge qi +1 (k) as measured inputs at each sampling instant k . The local controller i is designed to move the gate i between instants k and k + 1 on a continuous basis, with the purpose of meeting the desired ow at k + 1, as given by the downstream controller i . In following subsections, we briey present the predictive model, the downstream control algorithm, and the local control logic. 4.1 Predictive Model for a Pool For the purpose of control, a simplied hydrological linear model of the pool is considered. We still break a pool into a conveyance reach and a storage reach following Figure 2, but we leave now the accuracy of Saint-Venant equations for the sake of gaining simplicity.

SIMULATION OF IRRIGATION CANAL CONTROL SYSTEMS

Figure 4. Control scheme for a pool

In this sense, the conveyance reach is now described by a difference equation that relates the upstream and downstream discharges qi and si respectively in the form
N M

prediction interval [k, k + ] in the form y i (k + l |k) = + +


m n j =1

aij y i (k + l j |k)
p1 j =0

si (k) =
j =1

ij (k)si (k j ) +
j =0

ij (k)qi (k j ) , (5)

j =0 p2 j =0

bij q i (k + l j |k) + dij w i (k + l j |k)

cij q i +1 (k + l j |k)

(l = 1, 2, . . . , ) , (8)

where k denotes the sampling instant k = 1, 2, . . . . Parameters ij (k) and ij (k) can be obtained based on system identication approaches or based on physical modelling concepts. Setting N = M = 1, a particularly simple form of model (5), known in the literature as the Muskingum model [3], is obtained: si (k) = io si (k 1) + io qi (k) + i 1 qi (k 1) . (6)

The storage reach can be modelled (in continuous time) by a differential equation expressing conservation of mass: Ai dyi = si (t) qi +1 (t) wi (t) , dt (7)

where y i (k + l |k) denotes the sequence of increments of the level yi , predicted at instant k for future instants k + l in response to the sequences of incremental inputs q i , q i +1 , and w i over [k, k + ]. Here the increment is in the sense that (k) = (k) (k 1) for a generic variable . This prediction model is redened at each sampling time using the actual values of the measured variables or estimated values for them. Parameters n, m, p1 , p2 dene the nal order of the discrete-time model. Their values and the values of parameters aij , bij , cij , dij come from the discretization process. Details are omitted here for the sake of brevity. 4.2 Predictive Control Law To obtain the incremental control sequence q i (k + l |k), we impose the minimization of a performance criterion. Different criteria can be used. A particular simple case, with satisfactory results in previous applications [5, 6, 9], can be dened by the following two conditions:
Volume 78, Number 8 SIMULATION 489

where Ai represents the cross-section area of the storage reach. By discretizing equation (7) and combining it with model (5), a difference equation is obtained that gives the downstream level at each sampling instant k . By using this equation at each time k , this level can be predicted over a

Mantecn, Gmez, and Rodellar

y i (k + |k)

= yir (k + |k), l = 2, 3, . . . , .

Finally, the control discharge for instant k + 1 is (9) q i (k + 1|k) = q i (k + 1|k) qi (k) . (10)

q i (k + l |k) = 0,

This performance criterion has an intuitive basis: to nd the control sequence that, being constant between instants k + 1 and k + , renders the output yi predicted for the last prediction time k + to be equal to a reference value yir . This reference value can be chosen as belonging to a desired trajectory converging to the setpoint yisp . Imposing a constant control sequence is a practical manner of reducing the number of unknowns to only one, that is, q i (k + 1|k). By using the predictive model (8) recursively over the interval [k, k + ], using the measured variables at time k as initial conditions, summing up the resulting equations, and using the second condition of (9), the predicted water level for k + can be written in the form
n

y i (k + |k) = yi (k) +
j =1

) ( ij yi (k + 1 j )

+
j =1

) ( ij qi (k + 1 j ) +

p1

) ( ij qi +1 (k + 1 j )

j =1

p2

+
j =1

() ) (k + 1|k) ij wi (k + 1 j ) + ( i io q

j =1

(+1j ) +1j ) w io q i +1 (k + j |k) + ( i (k + j |k) . io

This denes the downstream predictive control algo) rithm. The parameters ( ij , . . . are computed by means of a recursive algorithm from parameters aij , . . . in (6). Details of the derivation of this algorithm are in [9, 15]. Notice that, to compute the desired discharge q i (k + 1|k) at each sampling instant k , we need to know the past and present values of the downstream level yi , the discharges through gates i and i + 1, and the discharges through the offtake i . We also require the future values of the discharges at gate i + 1 and offtake i , that is, q i +1 (k + j |k) and w i (k +j |k), respectively, over the prediction horizon j = 1, . . . , . Present values are obtained through real time measurements. Levels are easy to measure. Flows can be directly obtained by ow meters. However, it may be easier to set up checking structures and then to measure levels in such a way that the ow values can be obtained through standard hydraulic relations characterizing the checking structures. Future discharges need to be estimated. An estimation approach is described in Gmez et al. [15] in which it is assumed that each controlled pool i is in a steady state where the downstream level has reached its prescribed setpoint yisp at the nal prediction instant k + . Starting from pool N and going backwards to pool 1, we may end up with the estimation of the discharges w i (k + j |k) and q i +1 (k + j |k) for j = 1, . . . , for each predictive controller i = 1, . . . , N , so that the desired control discharge q i (k + 1|k) can be computed at each sampling instant k by using (10). 4.3 Local Controller The role of the local controller i is to drive the gate i between every two consecutive sampling time instants k and k + 1, with the objective of achieving the desired discharge q i (k + 1|k) given by the downstream controller i . The control scheme described here uses a classical PID controller that operates in continuous time using the above desired discharge as its setpoint and the measured undergate discharge qi (t) as the feedback signal. 5. Simulink Simulation Scheme Figure 5 depicts the Simulink-based simulator main scheme. We have adopted a compromise between the advantage of using standard Simulink library blocks and the convenience of expressing modelling equations in a procedural programming language such as Matlab interpreted language. A design objective has been to use just the indispensable number of library blocks to let Simulink executive burden with simulation time management and also to get related

Now, just imposing the rst condition of (9), the following is derived: q i (k + 1|k) = where
n

i (k + 1|k) y (k + |k) yi (k) c , ()


r i io

c i (k + 1|k) =
j =1

) ( ij yi (k + 1 j )

+
j =1

() ij qi (k + 1 j )

p1

+
j =1

() ij qi +1 (k + 1 j ) +

p2

) ( ij wi (k + 1 j )

j =1

j =1

(+1j ) +1j ) w io q i +1 (k + j |k) + ( i (k + j |k) . io

490 SIMULATION

Volume 78, Number 8

SIMULATION OF IRRIGATION CANAL CONTROL SYSTEMS

Figure 5. Simulink main scheme

functions grouped together in the same block to reduce the scheme complexity. We consider a block as a segment of related code that must be executed with a single shot in a denite time basis during the simulation run and that does not have any subsegment requiring a different time basis execution. In this sense, for instance, the simulator code that mimics the real canal consists of several Matlab functions logically interconnected. Nevertheless, under the time management point of view, all these functions have to be executed as a whole with a variable time step that is adaptively given by the method of characteristics. Therefore, this code should be considered as a separate block. Under the same criterion, the simulator code implementing the control law needs to be executed in a xed time step basisnamely, the shortest sampling period for all the controllersand this fact determines the encapsulation of this code into an independent block. Finally, standard library blocks used in the simulator are continuous in nature; consequently, they are executed in a time step basis dictated by the integration routine chosen by the user in the Simulink main panel. Taking all these considerations into account, the more signicant blocks in the simulator are the real canal block (hydraulic model), the sensor and measuring devices block

(selector), the vectorized predictive controller block, and the vectorized local PID controller block. The remaining blocks have a minor importance and are self-explanatory within Simulink context. Implementation details for each block follow in the next subsections. 5.1 Hydraulic Model The hydraulic model block is a masked S-function that, as box arguments, receives the physical parameters of canal pools and gates and the number of discretization points for each pool. The block can manage an arbitrary number of gates with only the limitations imposed by hardware resources. Input to this block is the control signal vector, which is composed of all the gate openings. The boundary conditions are xed in the S-function code, which include a constant height of the reservoir and a constant height for the weir at the end of the canal. Output of this block is the state vector containing the water level and velocity at each canal discretization point, as well as the offtake discharges and the controlled water levels for each pool. Internally, the S-function code calls the user and standard Matlab functions implementing the method of characteristics.

Volume 78, Number 8 SIMULATION

491

Mantecn, Gmez, and Rodellar

For time management purposes, this is a discrete block with a variable time step size that is computed by the numerical method itself in the ag 4 section of the S-function. 5.2 Selector The selector block aims to simulate the presence of real sensors in the canal. Under a programming point of view, the selector is a block in which an indispensable number of signals coming from the hydraulic model are selected to feed the control block. The selector is a continuous block, assuming that the sensors are analog devices. Thus, it operates in a continuous-time basis dictated by the Simulink runtime executive. 5.3 Predictive Controller The predictive controller block is also a masked S-function discrete block that has time hits that are managed automatically by Simulink during runtime execution. The block can manage an arbitrary number of gates with the only limitations imposed by hardware resources. Box arguments are the physical parameters of the gates, the Muskingum parameters of the pools, and the sampling period, the prediction horizon, and the downstream-level setpoint for each controller. The inputs to this block are specic selected signals of the state vectornamely, water levels before downstream gates, ows under downstream gates, and offtakes. The output of this block is a vector of signals containing upstream undergate discharges for each pool, which are computed following the predictive control law as described in Section 4.2. The internal code of the predictive control block can perform multirate control by managing different sampling periods for each pool. The internal code decides when each individual controller has to act and computes the control law for its corresponding gate. 5.4 Local PID Controller The PID controller is a standard block of the Simulink library tailored to the number N of gates of the canal being simulated. It is called by the runtime executive on a continuous basis. The input to this block is a vector including upstream undergate discharges computed by the predictive controller block at each consecutive sampling instant k . Output of this block is the continuous gate openings between instants k and k + 1. Note that in the case of multirate control, each individual signal entering the PID block has its own sampling period. PID parameters have been tuned heuristically based on experimental results.

6. Illustrative Example The case study we have selected is a canal composed of eight pools, each having different lengths and physical properties as detailed in Table 1, which also gives the sampling periods as well as the initial steady-state water levels and gate openings for a 1-day simulation run. Downstream of each pool, there is an offtake that has a discharge that can be produced with a xed lateral weir or a lateral gate. The purpose of the system formulated in section 4 is to maintain desired water levels (setpoints) in each pool. To assess the ability of the control system, we demanded setpoint variations in pools 5 and 7 at instants specied in Table 1. Figure 6 shows the evolutions of the water levels and the gate openings along the simulation time. We may notice how the downstream levels of pools 5 and 7 evolve to reach their new setpoints. We may also observe how a setpoint change in a pool produces disturbances at the reaches located upstream of the pool. The control system also operates to drive the perturbed levels to their setpoints. 7. Concluding Remarks Block-oriented environments such as Simulink are well suited to build up simulation schemes for complex hydraulic control systems such as multireach controlled irrigation canals. Some of the most relevant advantages of such schemes are as follows:
Describing a complex system through a decomposition into blocks gives a graphical, intuitive overview of the system dynamics.

Figure 6. Time evolution of water levels and gate openings

492 SIMULATION

Volume 78, Number 8

SIMULATION OF IRRIGATION CANAL CONTROL SYSTEMS

Table 1. Canal parameters for the illustrative example


Pool Length (km) Width (m) Manning C. Sampling period (s) Initial level (m) Initial opening (m) Setpoint increment (m) Setpoint time (s) 1 7 7 0.02 800 2.1 1.01 2 3 7 0.02 550 2.1 1.34 3 3 7 0.02 800 2.1 1.16 4 4 6 0.02 800 1.9 1.06 5 4 6 0.02 600 1.9 1.22 0.1 11,800 6 3 5 0.02 350 1.7 0.82 7 2 5 0.02 350 1.7 0.69 +0.1 27,200 8 2 5 0.02 350 1.7 0.52

Equation-oriented software can be easily embedded into blocks by using a masked S-function mechanism. This is very useful in incorporating specic numerical routines developed for a wide variety of systems. The built-in facility for managing simulation time is very useful in coping with the interaction of blocks with different dynamics and time characteristics and can be expanded with little effort. The physical canal is continuous time by nature. However, the hydraulic model in the scheme described in this article is a discrete time block because it implements a numerical method to solve partial differential equations. The control system has both digital and continuous components. The numerical method used to simulate the canal dynamics discretizes the time using a time step that is internally adjusted by the method itself. The digital predictive control block may require different sampling periods for each pool controller within a multirate control scheme. The simulation program takes care of time management in a way that is simple for the user. Interactive control of the simulation scheme provides a user-friendly way for turning on/off simulation runs, entering data, modifying parameters, and so on. A simulation scheme such as the one described in this article can serve as an illustration of a more general tool for developing and testing control systems for complex hydraulic systems.

[6] Rodellar, J., M. Gmez, and L. Bonet. 1993. Control method for on-demand operation of open channel ow. ASCE Journal of Irrigation and Drainage Engineering 119:225-41. [7] Malaterre, P. O., and J. Rodellar. 1997. Multivariable predictive control of irrigation canals: Design and evaluation on a 2-pool model. Proceedings of RIC97, Marrakech, Morocco, pp. 230-38. [8] Sawadogo, S., R. M. Faye, P. O. Malaterre, and F. Mora-Camino. 1998. Decentralized predictive controller for delivery canals. Proceedings of Systems Man and Cybernetics 98, San Diego, CA, pp. 3880-84. [9] Martn Snchez, J. M., and J. Rodellar. 1996. Adaptive predictive control. Englewood Cliffs, NJ: Prentice Hall. [10] Proceedings of RIC97, Marrakech, Morocco, April 1997. [11] Clemmens, A. J., and S. S. Anderson, eds. 1999. Proceedings of USCID Workshop on Modernization of Irrigation Water Delivery Systems, October, Phoenix, AZ. [12] The MathWorks. 1995. Simulink user guide. Natick, MA: The MathWorks. [13] Werner, M. G. F., J. Schuurmans, H. J. Campfens, and R. Brouwer. 1996. A hydrodynamic model in the design of operational controllers for water systems. In Dutch experience in irrigation water management modelling, edited by B. J. Van de Broek, 57-67. Wageningen, the Netherlands. [14] Hetet, J. F., and R. Mezencev. 1997. An implementation of the method of characteristics using ACSL software. SIMULATION 69 (6): 349-55. [15] Gmez, M., J. Rodellar, F. Vea, J. Mantecn, and J. Cardona. 1998. Decentralized predictive control of multi-reach canals. Proceedings of Systems Man and Cybernetics 98, San Diego, CA, pp. 3885-90.

8. Acknowledgments This work is supported by CICYT (Water Resources Program) under project HID99-0955. 9. References
[1] Chaudhry, M. H. 1993. Open channel ow. Englewood Cliffs, NJ: Prentice Hall. [2] Lai, Ch. 1986. Numerical modeling of unsteady open-channel ow. Advances in Hydrological Sciences 14:161-333. [3] Gmez, M. 1988. A contribution to the study of free-surface ow movement in sewer networks. PhD diss., Technical University of Catalonia, Barcelona, Spain (in Spanish). [4] Malaterre, P. O., D. C. Rogers, and J. Schuurmans. 1998. Classication of canal control algorithms. ASCE Journal of Irrigation and Drainage Engineering 124:3-10. [5] Rodellar, J., M. Gmez, and J. P. Martn Vide. 1989. Stable predictive control of open channel ow. ASCE Journal of Irrigation and Drainage Engineering 115:701-13.

Juan A. Mantecn is a research associate in the Department of Applied Mathematics III, School of Civil Engineering, Technical University of Catalonia, Barcelona, Spain. Manuel Gmez is a professor in the Department of Hydraulic, Marine, and Environmental Engineering, School of Civil Engineering, Technical University of Catalonia, Barcelona, Spain. Jos Rodellar is a professor in the Department of Applied Mathematics III, School of Civil Engineering, Technical University of Catalonia, Barcelona, Spain.

Volume 78, Number 8 SIMULATION

493