* GMS file for Lower Corolado River Management for 5 year normal (average flow values for 25 year period)

* This file is a revised version of the GMS file developed by the LCRA project group

* in the fall 1995, CE385 D.

 

* define sets

 

SETS

  L 5 lakes on LCR /L1*L5/

T time period 12 months in 1 year /T1*T60/

I four tributary inflows /I1*I4/;

 

* data input

 SCALARS

 

TD water supply target for downstream {1000AF} /1033.1/

TA water supply target for Austin {1000AF} /296.00/

TI water supply target for irrigation {1000 AF} /500.00/;

 PARAMETERS

  K(L) storage capacity (active storage) of lake L in 1000 AF

/ L1 918.00

L2 17.54

L3 138.50

L4 8.76

L5 1170.00/

 

K0(L) minimum storage capacity of lake L in 1000 AF

/ L1 0.00

L2 17.54

L3 138.50

L4 8.76

L5 0.00/

 ST0(L) initial storage of lake L in 1000 AF

/ L1 918.00

L2 17.54

L3 138.50

L4 8.76

L5 1170.00/

 

FA(T) percent of Austin's monthly demand used in period T

/ T1 .062,

T2 .062,

T3 .065,

T4 .077,

T5 .080,

T6 .095,

T7 .116,

T8 .122,

T9 .098,

T10 .083,

T11 .072,

T12 .068,

T13 .062,

T14 .062,

T15 .065,

T16 .077,

T17 .080,

T18 .095,

T19 .116,

T20 .122,

T21 .098,

T22 .083,

T23 .072,

T24 .068,

T25 .062,

T26 .062,

T27 .065,

T28 .077,

T29 .080,

T30 .095,

T31 .116,

T32 .122,

T33 .098,

T34 .083,

T35 .072,

T36 .068,

T37 .062,

T38 .062,

T39 .065,

T40 .077,

T41 .080,

T42 .095,

T43 .116,

T44 .122,

T45 .098,

T46 .083,

T47 .072,

T48 .068,

T49 .062,

T50 .062,

T51 .065,

T52 .077,

T53 .080,

T54 .095,

T55 .116,

T56 .122,

T57 .098,

T58 .083,

T59 .072,

T60 .068/

FI(T) percent of irrigation's monthly demand used in period T

/ T1 .000,

T2 .000,

T3 .031,

T4 .089,

T5 .184,

T6 .231,

T7 .149,

T8 .165,

T9 .136,

T10 .015,

T11 .000,

T12 .000,

T13 .000,

T14 .000,

T15 .031,

T16 .089,

T17 .184,

T18 .231,

T19 .149,

T20 .165,

T21 .136,

T22 .015,

T23 .000,

T24 .000,

T25 .000,

T26 .000,

T27 .031,

T28 .089,

T29 .184,

T30 .231,

T31 .149,

T32 .165,

T33 .136,

T34 .015,

T35 .000,

T36 .000,

T37 .000,

T38 .000,

T39 .031,

T40 .089,

T41 .184,

T42 .231,

T43 .149,

T44 .165,

T45 .136,

T46 .015,

T47 .000,

T48 .000,

T49 .000,

T50 .000,

T51 .031,

T52 .089,

T53 .184,

T54 .231,

T55 .149,

T56 .165,

T57 .136,

T58 .015,

T59 .000,

T60 .000/

 

FD(T) percent of downstream's monthly demand used in period T

/ T1 .043,

T2 .044,

T3 .125,

T4 .146,

T5 .157,

T6 .154,

T7 .104,

T8 .057,

T9 .038,

T10 .046,

T11 .043,

T12 .044,

T13 .043,

T14 .044,

T15 .125,

T16 .146,

T17 .157,

T18 .154,

T19 .104,

T20 .057,

T21 .038,

T22 .046,

T23 .043,

T24 .044,

T25 .043,

T26 .044,

T27 .125,

T28 .146,

T29 .157,

T30 .154,

T31 .104,

T32 .057,

T33 .038,

T34 .046,

T35 .043,

T36 .044,

T37 .043,

T38 .044,

T39 .125,

T40 .146,

T41 .157,

T42 .154,

T43 .104,

T44 .057,

T45 .038,

T46 .046,

T47 .043,

T48 .044,

T49 .043,

T50 .044,

T51 .125,

T52 .146,

T53 .157,

T54 .154,

T55 .104,

T56 .057,

T57 .038,

T58 .046,

T59 .043,

T60 .044/ ;

 

 TABLE Q(T,I) monthly inflow into river nodes in period T in 1000 AF

 

I1 I2 I3 I4

T1 12553 13038 9884 3006

42149 26686 31403 8870

57391 37716 37907 11272

159486 70020 58150 34482

345273 65569 53727 8962

197135 25561 16727 102043

51562 15995 8116 21012

10990 15094 2118 5029

35985 17161 3646 1501

83719 47664 14956 2171

19769 13216 3422 19074

15819 10846 3344 23357

12366 9021 2791 6316

9019 7240 2424 13514

6315 6516 2289 15890

180905 40523 9172 71421

250215 25060 4883 17217

92304 11935 2953 9935

6693 3773 2900 11322

39942 32549 16991 1127

60246 33440 5639 2877

120981 36619 40412 6338

24527 30274 4280 2087

14355 12298 3267 1478

13282 10219 2694 2849

10985 7295 2085 1216

8032 8957 4413 1423

15993 8204 3263 8255

9632 7504 2144 5342

38359 80855 8481 3551

1806 19543 7092 9969

1403 3525 334 4022

20624 10185 1414 6695

25731 9882 778 5476

9141 7272 671 7612

7588 10060 1129 5303

41712 21257 2489 8117

43905 20918 2989 14566

48407 19450 6399 30732

13308 10441 2555 10793

222099 53011 67102 14520

48946 20075 7759 12334

8933 3947 1579 5435

12240 6062 60482 10532

25720 13702 13734 13866

27048 9120 5435 2199

9912 7398 4356 7499

23401 11709 18712 12096

47165 28078 20781 21327

56756 28106 18629 14203

68832 21182 40156 18363

91629 29516 36268 31114

28597 8696 11669 14921

41048 5143 5524 17201

73808 2707 3122 8928

12230 2668 2815 8603

14766 2579 19543 16141

7779 8315 11681 4295

10570 4102 3900 5007

10137 5012 5167 10438;

 

* declare variables

 VARIABLES

 

R(T,L) release from lake L in period T {1000 AF}

ST(T,L) storage in lake L in period T {1000 AF}

RA(T) release to Austin in period T {1000 AF}

RI(T) release to irrigation in period T {1000 AF}

RD(T) release to downstream in period T {1000 AF}

objval obj value

RX(T) excess release (after satisfying Austin's demand) {1000 AF};

 

POSITIVE VARIABLES R,ST,RA,RI,RD,EL;

 * define variable bounds

* lake capacity limit

 ST.up(T,L) = K(L);

 * minimun lake levels

 ST.lo(T, L) = K0(L);

 

* water supply not over demand target

 RA.up(T)=TA*FA(T);

RI.up(T)=TI*FI(T);

RD.up(T)=TD*FD(T);

 

 * lower limits on demands

 *RA.lo(T)=TA*FA(T);

*RI.lo(T)=0;

*RD.lo(T)=TD*FD(T);

 

 

* declare equations

 EQUATIONS

OBJ objective function

INIT(L) Initial lake levels

BUCH(T) Lake Buchanan balance equation

INKS(T) Inks Lake balance equation

LBJ(T) Lake LBJ balance equation

MARBLE(T) Lake Marble Falls balance equation

TRAVIS(T) Lake Travis balance equation

CONST1(T) constraint on releases to Austin and Irrigation

CONST2(T) constraint on releases to Irrigation and Downstream;

 

 

* write equations

* objective function, minimizing water deficit for Austin use, Irrigation use,

* and Downstream use over all periods.

 

OBJ..objval =E= SUM(T, (TD*FD(T)-RD(T)) + (TA*FA(T) - RA(T) ) + (TI*FI(T) - RI(T) )) ;

 

* flow balances

 

INIT(L) .. ST("T1",L) =E= ST0(L);

 BUCH(T) .. ST(T+1,"L1") =E=

ST(T,"L1") + Q(T,"I1") - R(T,"L1");

 INKS(T) .. ST(T+1,"L2") =E=

ST(T,"L2") + R(T,"L1") - R(T,"L2");

 LBJ(T) .. ST(T+1,"L3") =E=

ST(T,"L3") + Q(T,"I2") + R(T,"L2") - R(T,"L3");

 MARBLE(T) .. ST(T+1,"L4") =E=

ST(T,"L4") + R(T,"L3") - R(T,"L4");

 TRAVIS(T) .. ST(T+1,"L5") =E=

ST(T,"L5") + Q(T,"I3") + R(T,"L4") - R(T,"L5");

 

CONST1(T) .. R(T,"L1") + R(T,"L5") =E= RA(T) + RX(T);

 

CONST2(T) .. RX(T) + Q(T,"I4") =E= RI(T) + RD(T);

 

MODEL POWER /ALL/;

 * set max iterations other than the default number

 OPTION ITERLIM = 2000000;

 SOLVE POWER USING LP MINIMIZING OBJVAL;

 

 * output

 file lcra /res.dat/

put lcra

 put ' result report from LCRA model', put //

 * write lake release in each period for each lake

put ' Lake release in each period for each lake ', put //

loop( T, put T.tl, put R.l(T, 'L1'), put R.l(T, 'L2'), put R.l(T, 'L3'), put R.l(T, 'L4'), put R.l(T, 'L5'), put /)

* write water supply to Austin in each period

put ' water supply to Austin ', put //

loop( T, put T.tl, put RA.l(T) put /)

 *write water supply to irrigation in each period

put ' water supply to irrigation ', put //

loop( T, put T.tl, put RI.l(T) put /)

*write water supply to downstream in each period

put ' water supply to downstream ', put //

loop( T, put T.tl, put RD.l(T) put /)

 * write lake storage in each period for each lake

put ' lake storage in each period for each lake' , put //

loop( T, put T.tl, put ST.l(T, 'L1'), put ST.l(T, 'L2'), put ST.l(T, 'L3'), put ST.l(T, 'L4'), put ST.l(T, 'L5'), put /)

put ' total water shortage', put objval.l;

 * the end