indus.gms : Indus Agricultural Model
This is an example model of the indus basin model family. These models
have been used by the Government of Pakistan to analyze investment
design and water policy issues.
Reference:
- Duloy, J H, and O'Mara, G T, Issues of Efficiency and Interdependence in Water Resource Investments: Lessons from the Indus Basin of Pakistan. Tech. rep., The World Bank, 1984.
Large Model of Type: LP
$Title Indus Agricultural Model (INDUS,SEQ=90)
$Stitle Set Definition
$Ontext
This is an example model of the indus basin model family. These models
have been used by the Government of Pakistan to analyze investment
design and water policy issues.
Duloy, J H, and O'Mara, G T, Issues of Efficiency and Interdependence
in Water Resource Investments: Lessons from the Indus Basin of Pakistan.
Tech. rep., The World Bank, 1984.
$Offtext
Set c crop types /
basmati basmati rice, cotton ,
berseem fodder crop , gram ,
irri irri rice , sorghum ,
maiz , mustard ,
sc-mill sugar cane for mill, sc-gur sugar cane processed on the farm,
wheat /
cf(c) fodder crops /berseem, sorghum /
cfr(c) crops with yields given by optimal fertilizer response
/basmati, cotton, irri, sc-mill, sc-gur, wheat /
cw(c) /wheat,cotton/
cri(c) rice crops /basmati, irri/
cc(c) non-consumption crops /gram, irri, maiz, mustard, sc-gur, wheat /
g polygons /poly-17+19 , poly-18/
l types of livestock / bullock bullock pair, buffalo , cattle cattle cow /
q livestock commodities
/ buff-milk buffaloes milk, catl-milk cattle cows milk, meat /
sea seasons /kharif, rabi /
ps price schedules / 76-77, 80-81, 85-86 /
psr(ps) price schedules used for this run / 76-77 /
i canals /panjnad, abbasia/
sg(g) polygon with saline groundwater / poly-18 /
fsg(g) polygon with fresh groundwater / poly-17+19 /
* cropping technology can be constructed from three codes i.e technology code, sequence codes and
* water stress level. these codes are given in set t, s and w .
t technology / bullock , semi-mech/
s sequence /standard standard sequence, el-plant early planting,
la-plant late planting, qk-harv quick harvest/
w water stress level /standard no stress, heavy heavy stress ,
light light stress, january stress in january/
m months /jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec/
y year /1960,1961,1962,1963,1964,1965,1966,1967,1968,1969,1970,1971,1972,1973,1974,1975/
Set cnf(c) non fodder crops ; cnf(c)=yes; cnf(cf)=no;
Parameter fc maunds to pounds conversion factor; fc = 82.286 ;
$Stitle crop data
Table lando(c,t,m) land requirements for crops other than wheat and cotton by month
jan feb mar apr may jun jul aug sep oct nov dec
(basmati,irri).(bullock,semi-mech) 1 1 1 1 1 1
berseem.bullock 1 1 1 1 1 .5 1 1 1
berseem.semi-mech 1 1 1 1 1 .25 1 1 1
gram.bullock 1 1 1 .5 1 1 1
gram.semi-mech 1 1 1 .25 1 1 1
sorghum.(bullock,semi-mech) .5 .5 .5 1 1 1 .5 .5
maiz.bullock .5 1 1 1 1 1 .5
maiz.semi-mech 1 1 1 1 1 .5
mustard.(bullock,semi-mech) 1 1 1 1 1 1
(sc-mill,sc-gur).(bullock,semi-mech) 1 1 1 1 1 1 1 1 1 1 1 1
Table landcw(cw,t,s,w,m) land requirements for cotton and wheat by month
jan feb mar apr may jun jul aug sep oct nov dec
cotton.(bullock,semi-mech).standard.(
standard) 1 1 1 1 1 1 1 .5
cotton.bullock.el-plant.standard .5 1 1 1 1 1 1 1 .5
cotton.semi-mech.la-plant.standard 1 1 1 1 1 1 .5
wheat.bullock.standard.(standard,light,
heavy,january) 1 1 1 1 .5 1 1
wheat.bullock.la-plant.(standard,light,
heavy,january) 1 1 1 1 1 1
wheat.bullock.qk-harv.(standard,light,
heavy,january) 1 1 1 .5 .5 1 1
wheat.semi-mech.standard.(standard,light,
heavy,january) 1 1 1 1 1 1
wheat.semi-mech.la-plant.(standard,
light,heavy) 1 1 1 1 .5 1
wheat.semi-mech.la-plant.january 1 1 1 1 1
wheat.semi-mech.qk-harv.(standard,light,
heavy,january) 1 1 1 .5 1 1
Table bso(c,t,m) bullock req. other than cotton and wheat in bullock pair hrs per month
jan feb mar apr may jun jul aug sep oct nov dec
basmati.bullock 22.0 17.2 2.0 15.6
basmati.semi-mech 13.6
berseem.bullock 2.0 4.0 4.0 2.0 2.0 10.1 13.01 7.6 2.0
gram.bullock 7.0 10.8 5.6
irri.bullock 18.9 19.2 1.5 18.4
irri.semi-mech 16.4
sorghum.bullock 16.0 1.0 1.0 16.0 1.5 15.0 1.0 0.5
maiz.bullock 10.8 4.5 14.2 5.0
maiz.semi-mech 3.0
mustard.bullock 1.0 1.0 1.0 10.8 10.1 1.0
sc-mill.bullock 16.85 15.1 15.0 12.0 8.0 1.75 10.0 12.5
sc-mill.semi-mech 2.5 1.75 1.75
sc-gur.bullock 17.85 11.6 8.2 1.75 1.75 11.5 13.5
sc-gur.semi-mech 11.0 6.5 2.5 1.75 1.75 11.5 11.0
Table bscw(cw,t,s,w,m) bullock requirements for cotton and wheat in bullock pair hours per month
jan feb mar apr may jun jul aug sep oct nov dec
cotton.bullock.standard.standard 17.09 15.2 1.0 1.0 1.0 1.0
cotton.bullock.el-plant.standard 16.0 4.0 12.3 1.0 1.0 1.0 1.0
wheat.bullock.standard.standard 8.4 8.4 18.6 20.6
wheat.bullock.standard.light 7.1 7.1 18.6 20.6
wheat.bullock.standard.(heavy,january) 5.5 5.5 18.6 20.6
wheat.bullock.la-plant.standard 7.4 7.4 39.2
wheat.bullock.la-plant.light 6.3 6.3 39.2
wheat.bullock.la-plant.(heavy,january) 4.8 4.8 39.2
wheat.bullock.qk-harv.standard 16.8 18.6 20.6
wheat.bullock.qk-harv.light 14.3 18.6 20.6
wheat.bullock.qk-harv.(heavy,january) 10.9 18.6 20.6
wheat.semi-mech.standard.standard 5.9 5.9
wheat.semi-mech.standard.light 5.0 5.0
wheat.semi-mech.standard.(heavy,january) 3.8 3.8
wheat.semi-mech.la-plant.standard 5.2 5.2
wheat.semi-mech.la-plant.light 4.4 4.4
wheat.semi-mech.la-plant.(heavy,january) 3.4 3.4
wheat.semi-mech.qk-harv.standard 11.8
wheat.semi-mech.qk-harv.light 10.
wheat.semi-mech.qk-harv.(heavy,january) 7.7
Table lbco(c,t,m) labor requirements for crops other than wheat and cotton in man hours per month
jan feb mar apr may jun jul aug sep oct nov dec
basmati.bullock 29.1 88.8 65.9 5.6 5.6 47.9 17.6
basmati.semi-mech 8.4 71.6 65.9 5.6 5.6 47.4 16.1
berseem.bullock 32.3 41.5 41.8 29.4 18.2 10.1 15.5 23.5 29.1
berseem.semi-mech 31.1 39.8 40.3 28.7 17.6 7.5 13.2 21.6 28.4
gram.bullock 21.7 10.8 8.9 0.7 2.5
gram.semi-mech 20.0 1.6 4.4 0.7 2.5
irri.bullock 22.9 122.3 35.9 8.4 6.4 43.9 20.4
irri.semi-mech 5.3 105.5 29.9 8.4 6.4 43.4 17.9
sorghum.bullock 18.5 2.0 3.0 18.7 4.0 18.0 3.0 1.0
sorghum.semi-mech 6.0 1.3 4.5 6.5 4.2 5.5 2.0 1.5
maiz.bullock 10.8 4.5 16.7 44.2 2.5 26.8 27.0
maiz.semi-mech 2.4 8.4 44.2 2.5 26.0 26.8
mustard.bullock 21.7 20.5 6.0 10.8 13.6 13.9
mustard.semi-mech 21.7 20.2 6.0 1.6 5.1 13.9
sc-mill.bullock 90.0 85.0 95.0 72.1 30.0 5.05 3.0 3.0 3.0 1.5 85.0 95.0
sc-mill.semi-mech 86.5 81.5 90.0 64.0 34.5 5.05 3.0 3.0 3.0 1.5 80.5 90.5
sc-gur.bullock 159. 80.4 54.4 22.5 4.75 5.05 3.0 3.0 3.0 1.5 150.3 148.5
sc-gur.semi-mech 151. 80.6 48.9 22.5 4.75 5.05 3.0 3.0 3.0 1.5 148.3 142.3
Table lbcw(cw,t,s,w,m) labor requirements for wheat and cotton in man hours per month
jan feb mar apr may jun jul aug sep oct nov dec
cotton.bullock.standard.standard 35.6 18.4 2.5 7.6 13.2 41.3 57.4 22.1
cotton.bullock.el-plant.standard 26.8 6.7 20.5 2.5 7.6 13.2 41.3 57.4 22.1
cotton.semi-mech.standard.standard 5.0 9.4 2.5 7.6 12.7 40.8 56.9 21.6
cotton.semi-mech.la-plant.standard 14.4 2.5 7.6 12.7 40.8 56.9 21.6
wheat.bullock.standard.standard 4.3 3.9 3.9 64.4 23.8 18.6 23.9 3.9
wheat.bullock.standard.light 4.3 3.9 3.9 54.7 20.2 18.6 23.9 3.9
wheat.bullock.standard.(heavy,january) 4.3 3.9 3.9 41.9 15.5 18.6 23.9 3.9
wheat.bullock.la-plant.standard 4.3 3.9 3.9 51.4 18.9 45.2 3.9
wheat.bullock.la-plant.light 4.3 3.9 3.9 43.4 16.1 45.2 3.9
wheat.bullock.la-plant.(heavy,january) 4.3 3.9 3.9 33.2 12.3 45.2 3.9
wheat.bullock.qk-harv.standard 4.3 3.9 3.9 88.1 18.6 23.9 3.9
wheat.bullock.qk-harv.light 4.3 3.9 3.9 74.9 18.6 23.9 3.9
wheat.bullock.qk-harv.(heavy,january) 4.3 3.9 3.9 57.3 18.6 23.9 3.9
wheat.semi-mech.standard.standard 4.3 3.9 3.9 60.1 19.5 15.6 3.9
wheat.semi-mech.standard.light 4.3 3.9 3.9 51.1 16.6 15.6 3.9
wheat.semi-mech.standard.(heavy,january) 4.3 3.9 3.9 39.1 12.7 15.6 3.9
wheat.semi-mech.la-plant.standard 4.3 3.9 3.9 52.8 17.2 8.0 11.5
wheat.semi-mech.la-plant.light 4.3 3.9 3.9 44.9 14.6 8.0 11.5
wheat.semi-mech.la-plant.(heavy,january) 4.3 3.9 3.9 34.3 11.2 8.0 11.5
wheat.semi-mech.qk-harv.standard 4.3 3.9 3.9 79.6 15.6 3.9
wheat.semi-mech.qk-harv.light 4.3 3.9 3.9 67.7 15.6 3.9
wheat.semi-mech.qk-harv.(heavy,january) 4.3 3.9 3.9 44.0 15.6 3.9
Table tr(c,t,s,w,m) tractor requirements in tractor hours per acre per month
jan feb mar apr may jun jul aug sep oct nov dec
basmati.semi-mech.standard.standard 2.7 1.7 1.5 0.5
cotton.semi-mech.standard.standard 2.5 2.2 0.5 0.5 0.5 0.5
cotton.semi-mech.la-plant.standard 4.7 0.5 0.5 0.5 0.5
berseem.semi-mech.standard.standard 1.5 1.5 1.5 1.5 1.5 1.3 2.0 2.3 1.5
gram.semi-mech.standard.standard 3.7 1.3 0.8
irri.semi-mech.standard.standard 2.6 2.2 1.0 0.5
sorghum.semi-mech.standard.standard 2.5 0.5 1.8 1.0 2.2 1.5 1.0 0.5
maiz.semi-mech.standard.standard 1.8 1.6 2.5
mustard.semi-mech.standard.standard 1.0 1.0 1.0 1.3 1.3 1.0
sc-mill.semi-mech.standard.standard 6.4 6.6 5.2 4.5 4.0 5.8 5.8
sc-gur.semi-mech.standard.standard 2.4 0.6 0.7 0.3
wheat.semi-mech.standard.standard 0.7 0.8 7.6
wheat.semi-mech.standard.light 0.6 0.7 7.6
wheat.semi-mech.standard.(heavy,january) 0.5 0.5 7.6
wheat.semi-mech.la-plant.standard 0.6 0.7 4.0 3.6
wheat.semi-mech.la-plant.light 0.5 0.6 4.0 3.6
wheat.semi-mech.la-plant.(heavy,january) 0.4 0.4 4.0 3.6
wheat.semi-mech.qk-harv.standard 1.5 7.6
wheat.semi-mech.qk-harv.light 1.3 7.6
wheat.semi-mech.qk-harv.(heavy,january) 1.0 7.6
Table wcro(c,t,m) water requirements in acre feet per acre for crops othe than wheat and cotton
jan feb mar apr may jun jul aug sep oct nov dec
(basmati,irri).(bullock,semi-mech) .374 .842 .935 .935 .468
berseem.(bullock,semi-mech) .2 0.3 .45 .55 .25 .20 .25 .15 .15
gram.(bullock,semi-mech) .1 .05 .25 .15 .10 .10
sorghum.(bullock,semi-mech) .10 .15 .25 .30 .40 .30 .20
maiz.bullock .10 .10 .30 .30 .40 .20
maiz.semi-mech .15 .30 .30 .40 .25
mustard.(bullock,semi-mech) .2 .15 .30 .20 .20
(sc-mill,sc-gur).(bullock,semi-mech) .094 .14 .234 .374 .374 .327 .374 .468 .468 .281 .374 .187
Table wcrcw(cw,t,s,w,m) water requirements in acre feet per acre for wheat and cotton
jan feb mar apr may jun jul aug sep oct nov dec
cotton.(bullock,semi-mech).standard.(
standard) .187 .281 .327 .374 .468 .327 .094
cotton.bullock.el-plant.standard .187 .094 .374 .327 .374 .468 .327 .094
cotton.semi-mech.la-plant.standard .374 .327 .374 .468 .327 .094
wheat.bullock.(standard,qk-harv).standard .234 .374 .468 .187 .187 .187
wheat.bullock.(standard,qk-harv).light .234 .374 .187 .187 .187
wheat.bullock.(standard,qk-harv).heavy .281 .187 .187 .187
wheat.bullock.(standard,qk-harv).january .281 .187 .187 .187
wheat.bullock.la-plant.standard .234 .374 .468 .281 .187
wheat.bullock.la-plant.light .234 .374 .281 .187
wheat.bullock.la-plant.heavy .281 .281 .187
wheat.bullock.la-plant.january .281 .281 .187
wheat.semi-mech.(standard,
qk-harv).standard .234 .374 .468 .281 .187
wheat.semi-mech.(standard,qk-harv).light .234 .374 .281 .187
wheat.semi-mech.(standard,qk-harv).heavy .281 .281 .187
wheat.semi-mech.(standard,qk-harv).january .281 .281 .187
wheat.semi-mech.la-plant.standard .234 .374 .468 .234 .234
wheat.semi-mech.la-plant.light .234 .374 .234 .234
wheat.semi-mech.la-plant.heavy .281 .234 .234
wheat.semi-mech.la-plant.january .281 .234 .234
Table crio(c,t,s,w,*) crop inputs and outputs
* yield and straw-yld is in maunds/acre
* cash-input working capital required net of fertilizer.
* nit-input and pho-input are nutrients required in kg per acre.
* adjustments for fertilizer response made below
yield straw-yld cash-input nit-input pho-input
basmati.(bullock,semi-mech).standard.standard 9.00 21.00 28.83 18.80 6.90
cotton.(bullock,semi-mech).standard.standard 11.00 35.34 17.40 5.20
cotton.bullock.el-plant.standard 11.00 35.34 17.40 5.20
cotton.semi-mech.la-plant.standard 11.00 35.34 17.40 5.20
berseem.(bullock,semi-mech).standard.standard 471.00 23.20 11.50 2.07
gram.(bullock,semi-mech).standard.standard 5.50 8.30 25.36 1.60
irri.bullock.standard.standard 16.70 27.00 28.70 25.40 7.90
sorghum.(bullock,semi-mech).standard.standard 192.10 153.08 8.72 .95
maiz.(bullock,semi-mech).standard.standard 10.00 30.00 35.05 21.70 5.40
mustard.(bullock,semi-mech).standard.standard 6.00 3.00 16.80
sc-mill.(bullock,semi-mech).standard.standard 380.00 50.50 270.93 24.80 7.20
sc-gur.(bullock,semi-mech).standard.standard 30.40 50.50 270.93 24.80 7.20
wheat.(bullock,semi-mech).(standard,qk-harv).standard 20.20 27.30 54.25 19.20 7.40
wheat.(bullock,semi-mech).(standard,qk-harv).light 17.20 23.20 54.31 16.30 6.30
wheat.(bullock,semi-mech).(standard,qk-harv).(
heavy,january) 13.10 17.70 54.16 12.50 4.80
wheat.(bullock,semi-mech).la-plant.standard 17.80 24.00 54.18 16.90 6.50
wheat.(bullock,semi-mech).la-plant.light 15.10 20.40 54.08 14.40 5.50
wheat.(bullock,semi-mech).la-plant.(heavy,january) 11.50 15.60 54.18 11.00 4.20
Table weed(c,t,s,w,sea) weed yield from crops maunds per acre
kharif rabi
(basmati,irri,cotton).(bullock,semi-mech).standard.standard 60.0
cotton.bullock.el-plant.standard 60.0
cotton.semi-mech.la-plant.standard 60.0
(sc-mill,sc-gur).(bullock,semi-mech).standard.standard 60.0 30.0
wheat.(bullock,semi-mech).(standard,qk-harv).standard 30.0
wheat.(bullock,semi-mech).(standard,qk-harv).light 25.5
wheat.(bullock,semi-mech).(standard,qk-harv).(heavy,january) 19.5
wheat.(bullock,semi-mech).la-plant.standard 26.4
wheat.(bullock,semi-mech).la-plant.light 22.4
wheat.(bullock,semi-mech).la-plant.(heavy,january) 17.1
Table sconv(*,sea,c) tdn and dp conversion factor from crop straw
basmati cotton berseem gram irri sorghum maiz mustard sc-mill sc-gur wheat
tdn.kharif .6 .14 .5 .5
tdn.rabi .5 .14 .5 .5 .17 .17
dp.kharif .1 .017 .005 .005
dp.rabi .005 .025 .005 .1 .005 .005
Parameter land(c,t,s,w,m) land requirements by crop technology and month in acres
bpr(c,t,s,w,m) bullock power requirements by crop technology and month in bullock pair hours
labor(c,t,s,w,m) labor requirements by crop technology and month in man-hours
watreq(c,t,s,w,m) water requiremetns by crop technology and monthin acre feet
;
land(c,t,"standard","standard",m) = lando(c,t,m); land(cw,t,s,w,m) = landcw(cw,t,s,w,m) ;
bpr(c,t,"standard","standard",m) = bso(c,t,m) ; bpr(cw,t,s,w,m) = bscw(cw,t,s,w,m) ;
labor(c,t,"standard","standard",m) = lbco(c,t,m) ; labor(cw,t,s,w,m) = lbcw(cw,t,s,w,m) ;
watreq(c,t,"standard","standard",m)= wcro(c,t,m) ; watreq(cw,t,s,w,m) = wcrcw(cw,t,s,w,m) ;
Table dev60(c,y) revenue deviation (1960 rupees)
1960 1961 1962 1963 1964 1965 1966 1967
(basmati,irri) 23.8 20.84 -22.76 -12.2 -15.6 -34.17 -13.56 -11.42
cotton -15.97 -17.11 57.01 -6.33 -1.24 -41.37
(berseem,sorghum) 22.38 -12.03 -28.12 -34.9 -21.6 11.7 17.49 17.99
gram 11.03 2.04 2.25 8.35 -13.42 10.86 -19.79 -8.49
maiz 25.19 -17.17 -19.34 24.41 -16.36 -3.21 1.21 -16.17
mustard -9.82 -13.58 -5.53 1.51 -12.77 16.01 23.22 16.92
(sc-mill,sc-gur) 52.24 18.16 -104.2 -11.1 4.4 -195.3
wheat 12.87 7.58 -11.77 -9.44 .57 -1.58 -33.53 28.4
+ 1968 1969 1970 1971 1972 1973 1974 1975
(basmati,irri) 95.66 -16.06 -5.81 -6.94 2.74 1.83 -8.03 1.69
cotton -63.62 -42.76 -28.96 36.79 30.73 40.42 78.63 -99.33
(berseem,sorghum) 16.45 40.79 10.16 -2.43 20.17 -1.45 -23.06 -33.62
gram -15.5 8.02 17.6 -14.77 -2.88 9.5 -17.55 22.73
maiz 26.15 18.63 -.38 -28.43 12.44 -6.79 -51.35 51.18
mustard -21.64 14.64 34.12 22.87 -37.17 -17.17 -25.34 13.72
(sc-mill,sc-gur) -25.52 151.48 184.69 -9.53 -137.6 189.2 -21.49 -132.4
wheat 5.3 -1.74 18.49 -17.75 14.1 -9.48 -20.31 18.3
Scalar kl normalizing contant for risk ; kl= sqrt(3.1445926*card(y)/(card(y)-1)/2); display kl ;
Parameter r(g) risk aversion coefficient ; r(g)= 5.5 ;
$Stitle price data, fertilizer response and livestock data
Table pri(*,ps,c) crop price yield change working capital increase
* crop prices are rs/lb, working capital is in rupees
basmati cotton berseem gram irri sorghum maiz mustard sc-mill sc-gur wheat
price.76-77 1.086 1.544 .450 .485 .450 .720 .070 .650 .5
price.(80-81,85-86) 1.5 1.86 .563 .760 .563 .9 .1 1.0 .63
yldchng.(80-81,85-86) 1.5
wcapchng.(80-81,85-86) 10.34 210.35 13.6 12. 10.34 13.6 5.4 8.0 19.93 19.93 6.25
Set p1 / nitrogen, phosphorus, prdef, protein, drinvt, twinvt, trinvt,twopc,tropc,dropc/
Table pri1(p1,ps) fertilizer tubewell tractor and protein prices
* fertilizer prices are rupees per kg
* prdef price index deflator
76-77 80-81 85-86
nitrogen 2.96 4.12 6.47
phosphorus 1.80 2.86 4.26
prdef 3.1285 4.0671 4.0671
protein 2.25 3.0 na
drinvt 88904 124465 124465
twinvt 5300 7420 7420
trinvt 15890 22246 22246
twopc 75 154 216
tropc 20 33.75 41
dropc 15.872 32.59 32.59
Table liveprc(q,ps) prices of livestock commodities
76-77 80-81 85-86
buff-milk 1.250 1.562 1.562
catl-milk 0.950 1.188 1.188
meat 2.5 3.125 3.125
Table wageps(m,ps) wage rates rs per man hour
76-77 80-81 85-86
(jan,feb,mar,jun,jul,aug,sep,dec) 0.75 0.975 0.975
(apr,may,oct,nov) 1.5 1.95 1.95
* --- price setup for this run
Parameter pbc(c) buying price, crop comodities rupees per maund
psc(c) selling price for crop comodities rupees per maund
pbq(q) buying price, livestock comodities
psq(q) livestock commodity selling prices
* (rupees per litre for buff-milk and catl-milk, rupees per pound meat)
dev(c,y) revenue deviation
wcapchng(c) capital change by crop
yldchng(c) yield change by crop
misc(p1) miscellenious prices
wage(m) wage rates rs per man hour by month
pp purchase price of prorein concentrate re per lbs
;
Scalar cdrwell annualized cost of public drainage well rupees per well
trcap tractor capacity in tractor hours per month / 250 /
twcap private tubewell capacity acre feet per month /44.6 /
drcap drainage well capacity in acre feet per year /2138.4 /
;
Loop (psr,
psc(c) = pri("price",psr,c) ; pp = pri1("protein",psr) ;
psq(q) = liveprc(q,psr) ;
yldchng(c) = pri("yldchng",psr,c) ; wcapchng(c) = pri("wcapchng",psr,c) ;
misc(p1) = pri1(p1,psr) ;
dev(c,y) = dev60(c,y)*pri1("prdef",psr) ;
wage(m) = wageps(m,psr)
);
pbc(c) = psc(c)*1.5; pbq(q) = psq(q)* 2.0 ;
cdrwell = drcap*misc("dropc") + misc("drinvt") ;
*--- fertilizer response calculations
* underlying equation for fertilizer response calculations is y = y0 * (f/f0)**gamma where f0 anf y0
* are the fertilizer application and yield at the base price f and y are fertilizer application for a
* given price and corresponding yield.
Parameter gammafrt(c) fertilizer response elasticities
/basmati .153, cotton .0795, irri .246, sc-mill .179, sc-gur .179, wheat .101 /
Set fresp / with , without /
sfresp(fresp) / with / ;
* to incorporate fertilizer response in the model change member of set sfresp to "with" and to delete
* the fertilizer response change sfrest to "without" .
Parameter nit(c,t,s,w) nitrogen input kg per acre
yc(c,t,s,w) crop yield maunds per acre
straw(c,t,s,w) straw yield maunds per acre
frtfac(cfr,t,s,w,fresp) fertilizer response factor
rep3(t,s,w,c,*) report on yield fertilizer response factor working capital
cwcaptl(c,t,s,w) total working capital by scenario crop and tecnology in rs per acre
tech(c,t,s,w) land use indicator
;
frtfac(cfr,t,s,w,"with")$(crio(cfr,t,s,w,"nit-input") ne 0) = min(3, (gammafrt(cfr)*psc(cfr)*
crio(cfr,t,s,w,"yield")*fc /misc("nitrogen")/crio(cfr,t,s,w,"nit-input"))**(1/(1-gammafrt(cfr))));
frtfac(cfr,t,s,w,"without") = 1.0 ;
nit(c,t,s,w) = crio(c,t,s,w,"nit-input") ; yc(c,t,s,w) = crio(c,t,s,w,"yield");
straw(c,t,s,w) = crio(c,t,s,w,"straw-yld") ;
Loop(sfresp,
nit(cfr,t,s,w)$(frtfac(cfr,t,s,w,sfresp) ne 0) = crio(cfr,t,s,w,"nit-input")*frtfac(cfr,t,s,w,sfresp) ;
yc(cfr,t,s,w)$ (frtfac(cfr,t,s,w,sfresp) ne 0) = (crio(cfr,t,s,w,"yield")+yldchng(cfr))*
frtfac(cfr,t,s,w,sfresp)**gammafrt(cfr) ;
straw(cfr,t,s,w)$(frtfac(cfr,t,s,w,sfresp) ne 0) = crio(cfr,t,s,w,"straw-yld")*frtfac(cfr,t,s,w,sfresp)**
gammafrt(cfr) ;
rep3(t,s,w,cfr,"frtfac") = frtfac(cfr,t,s,w,sfresp) ) ;
cwcaptl(c,t,s,w)$(crio(c,t,s,w,"cash-input") ne 0)= crio(c,t,s,w,"cash-input")+misc("nitrogen")*
nit(c,t,s,w)+misc("phosphorus")*crio(c,t,s,w,"pho-input") + wcapchng(c) ;
rep3(t,s,w,c,"yield") = yc(c,t,s,w);
rep3(t,s,w,c,"nitrogen") = nit(c,t,s,w); rep3(t,s,w,c,"phosphorus") = crio(c,t,s,w,"pho-input");
rep3(t,s,w,c,"straw") = straw(c,t,s,w); rep3(t,s,w,c,"cwcaptl") = cwcaptl(c,t,s,w);
* --- nutrients availablity for livestock from fodder crops , crop straw and weeds
Parameter tdy(c,t,s,w,sea) crop tdn yield , dpy(c,t,s,w,sea) crop dp yield
wtd(c,t,s,w,sea) tdn yield from weeds , wdp(c,t,s,w,sea) dp yield from weeds
gfd(g,sea) green fodder available from grazing by season
gdp(g,sea) protein available from grazing by season
;
tdy(cnf,t,s,w,sea) = sconv("tdn",sea,cnf) *straw(cnf,t,s,w)*fc ;
dpy(cnf,t,s,w,sea) = sconv("dp",sea,cnf) *straw(cnf,t,s,w)*fc ;
tdy(cf,t,s,w,sea) = sconv("tdn",sea,cf) *yc(cf,t,s,w)*fc ;
dpy(cf,t,s,w,sea) = sconv("dp",sea,cf) *yc(cf,t,s,w)*fc ;
wtd(c,t,s,w,sea) = sconv("tdn","rabi","berseem")*weed(c,t,s,w,sea)*fc ;
wdp(c,t,s,w,sea) = sconv("dp","kharif","sorghum")*weed(c,t,s,w,sea)*fc ;
gfd(g,sea) = 0.0 ; gdp(g,sea) = 0.0 ; tech(c,t,s,w) = sum(m, land(c,t,s,w,m) );
Table livio(l,*) livestock comodity yields and output
* milk production is in liters/ year per animal.
* meat production is in lbs / year per animal, in case of bullock per bullock pair.
* tn seasonal tdn requirements (lbs per season)
* pr seasonal dp requirements (lbs per season)
buff-milk catl-milk meat tn pr
buffalo 750 35.2 2300 210
cattle 550 26.0 1500 135
bullock 55.4 2800 256
Scalar repco reproductive coefficient / 1.25 / ;
Parameter lbq(l,m) livestock labor requirement (man hours per month)
bp(m) bullock pair draft power capacity (pair-hours per month)
lwcaptl(l) livestock miscellaneous cash requirement (rupees)
yq(l,q) livestock comodity yields
gr required proportion of green fodder in total fodder
;
lbq("bullock",m) = 30.1 ; lbq("buffalo",m) = 33.6; lbq("cattle",m) = 25.1 ;
bp(m)=96; bp("may")=77; bp("jun")=77;
lwcaptl(l)=0.0 ;
yq(l,q)=livio(l,q); gr = 0.3 ;
*--- report on crop input output coefficients
Set r1 /land,labor,bullock,tractor,watreq / ;
Parameter rep1(t,s,w,c,r1,* ) report on crop input output
rep2(t,s,w,c,*) report on crop weed fodder yield
;
rep1(t,s,w,c,"land",m) = land(c,t,s,w,m) ; rep1(t,s,w,c,"land","total") = sum(m, land(c,t,s,w,m) ) ;
rep1(t,s,w,c,"bullock",m)= bpr(c,t,s,w,m) ; rep1(t,s,w,c,"bullock","total") = sum(m, bpr(c,t,s,w,m) ) ;
rep1(t,s,w,c,"tractor",m)= tr(c,t,s,w,m) ; rep1(t,s,w,c,"tractor","total") = sum(m, tr(c,t,s,w,m) ) ;
rep1(t,s,w,c,"labor",m) = labor(c,t,s,w,m) ; rep1(t,s,w,c,"labor","total") = sum(m, labor(c,t,s,w,m) ) ;
rep1(t,s,w,c,"watreq",m) = watreq(c,t,s,w,m); rep1(t,s,w,c,"watreq","total") = sum(m, watreq(c,t,s,w,m) );
rep2(t,s,w,c,sea) =weed(c,t,s,w,sea); rep2(t,s,w,c,"total") = sum(sea, weed(c,t,s,w,sea));
Display rep1 , rep2, rep3 ;
$Stitle population, labor and consumption parameters
* --- population and labor availability
Set labs labor sex / men , women /
int labor intensity / fulltime, parttime, occasional /
hht house hold type / fh farm household , lh livestock labor household /
dis districts /rahim-kh/
;
Parameter fpop(dis) farm population by districts ; fpop("rahim-kh") = 846897 ;
* source : agricultural census of population 1972 .
Scalar lstd standard labor limit ( hours per month ) / 200/ ;
Parameter plab(hht) proportional labor participation by household type /fh 1.0 , lh .49 /
flab(g,hht) available farm labor by household type thousand man-hrs per month
flabps(ps,g,hht) available farm labor by hh type thousand man-hrs per month by scenario
popadj(ps) farm population increase
pop(g) farm population in thousands
popps(g,ps) farm population in thousands by scenarios
;
* popadj is estimated using increase in total farm population reported in world bank report no. 2018-pak
* over level of 1972 agricultural census .
popadj("76-77") = 1.1048 ; popadj("80-81") = 1.1965 ; popadj("85-86") = na ;
Table alab(dis,hht,labs,int) available household labor by district
fulltime parttime occasional
rahim-kh.fh.men 217336 11446 8202
rahim-kh.fh.women 65647 84106 10039
rahim-kh.lh.men 20528 7207 782
rahim-kh.lh.women 5030 11299 783
Table labint(labs,int) mapping from labor class to standard intensity
fulltime parttime occasional
men .9 .5 .1
women .6 .3 .06
Table pmap(dis,g) mapping from distrits to polygon
poly-17+19 poly-18
rahim-kh .7 .3
;
flabps(ps,g,hht) = sum( (labs, int,dis), alab(dis,hht,labs,int) * labint(labs,int)* pmap(dis,g)*plab(hht)
*lstd*popadj(ps) )/1000;
popps(g,ps) = sum( dis, fpop(dis)*pmap(dis,g)*popadj(ps) )/1000;
Loop(psr, pop(g) = popps(g,psr); flab(g,hht) = flabps(psr,g,hht) );
Display pop, flab ;
*--- consumption parameters
Table conspc(cc,*) crop commodity consumption parameters
* gamc minimum per capita commodity consumption crops
* eec expenditure elasticity crop
* bwc budget weight crop
gamc eec bwc
gram 12.60 .5 .0246
irri 62.46 .3 .0264
maiz 20.00 .3 .0097
mustard 1.73 .55 .0301
sc-gur 19.50 1.65 .0270
wheat 270.57 .4 .1995
Table conspl(q,*) livestock products consumption parameters
* gamq minimum per capita commodity consumption livestock
* eeq expenditure elasticity livestock
* bwq budget weight livestock
gamq eeq bwq
buff-milk 16.83 2.1 .0761
catl-milk 10.76 2.1 .0507
meat 5.92 1.1 .0174
Scalar fs share of food in minimum per capita budget / .601/
mu marginal propensity to consume from income / .931/
sub minimum per capita consumption budget in rupees
Parameter mpcc(cc) marginal propensity to consume out of income, crop
mpcq(q) marginal propensity to consume out of income, livestock
alphc(g,c) autonomous consumption of crop comodity in thousand lbs
alphq(g,q) autonomous consumption of livestock comodities in thousand lbs or liters
betac(g,c) induced consumption, crop
betaq(g,q) induced consumption, livestock
;
mpcc(cc) = conspc(cc,"eec")*conspc(cc,"bwc") ;
mpcq(q) = conspl(q,"eeq")*conspl(q,"bwq") ;
sub = (sum(cc, psc(cc)*conspc(cc,"gamc")) + sum(q, psq(q)*conspl(q,"gamq")))/fs ;
betac(g,cc) = mu*mpcc(cc)/psc(cc) ;
betaq(g,q ) = mu*mpcq(q)/ psq(q) ;
alphc(g,cc) = ( conspc(cc,"gamc") - betac(g,cc)*sub )*pop(g);
alphq(g,q ) = ( conspl(q,"gamq") - betaq(g,q )*sub )*pop(g);
Display sub, mpcc, mpcq, betac, betaq, alphc,alphq ;
$Stitle water data
Table wal(*,i,g,m) water diversions in maf
jan feb mar apr may jun
post.panjnad.poly-17+19 .1187200 .1352400 .1411200 .2305800 .3306800 .4071200
post.panjnad.poly-18 .0508800 .0579600 .0604800 .0988200 .1417200 .1744800
post.abbasia.poly-17+19 .0145800 .0235800 .0288000 .0399600 .0489600 .0547200
expj.panjnad.poly-17+19 .0567875 .0652750 .0708750 .1423625 .2977625 .3733625
expj.panjnad.poly-18 .0597998 .1041390 .1342239 .1075394 .1276125 .2249383
expj.abbasia.poly-17+19 .0110250 .0140625 .0131625 .0239625 .0412875 .0516375
+ jul aug sep oct nov dec
post.panjnad.poly-17+19 .3844400 .3991400 .3924200 .3869600 .1877400 .1173200
post.panjnad.poly-18 .1647600 .1710600 .1681800 .1658400 .0804600 .0502800
post.abbasia.poly-17+19 .0477000 .0489600 .0477000 .0478800 .0343800 .0268200
expj.panjnad.poly-17+19 .4321625 .4032875 .3858040 .2609250 .1193500 .0601125
expj.panjnad.poly-18 .2229836 .2677125 .2851960 .1765128 .1056247 .0616534
expj.abbasia.poly-17+19 .0564750 .0522000 .0486000 .0326250 .0219375 .0129375
Parameter wdiv(i,g,m) water diversions used for this run ; wdiv(i,g,m) = wal("expj",i,g,m) ;
Table height(g,* ) land surface and water table height from sea level in feet
hs hwr
poly-17+19 290 280.58
poly-18 285 279
Table wpara1(*,*,m) evaporation rain and river seepage
* pevap unit pan evaporation ( in acre feet per acre )
* rain mean monthly rainfall on total land area ( in af/month )
* rivseep seepage to aquifer from river reaches ( af )
jan feb mar apr may jun jul aug sep oct nov dec
pevap.poly-17+19 .207 .317 .544 .780 .977 1.111 1.026 .913 .799 .556 .336 .439
pevap.poly-18 .200 .314 .529 .771 .968 1.112 1.026 .913 .800 .543 .329 .457
rain.poly-17+19 21.51 24.76 29.32 18.24 13.69 18.24 171.3 143.3 14.99 .978 10.43 11.73
rain.poly-18 9.96 11.31 13.12 8.15 6.34 8.15 75.12 63.80 6.79 .453 4.98 5.43
rivseep.(
poly-17+19) 1000 1000 1000 1000 2600 4000 5000 4100 2000
Table areac(g,*) area characteristics
* twg installed tubewell capacity polygon (acre feet)
* trg1 installed tractor capacity polygon (tractor hours)
* at total area polygon (acres)
* alg irrigated land in polgon ( acres)
* sra area within transportation radius of sugar mills
* scoeff storage coefficient
twg trg1 at alg sra scoeff
poly-17+19 227000 274000 1173000 862665.2 511000 .25
poly-18 117000 543000 369713.6 392000 .25
* --- following calculations are to compute water loss coefficints , we, ws and wl
Set u water transit mode from barrage to root zone
/ lc link canal , mb main and branch canals , dm distributories and minors
wc water courses, fd fields , pg private tubewell /
ud components of canal system
/ lc link canal, mc main canal
bc branch canal, di distributory, mi minors /
dsp(g,i) downstream polygon canal map / poly-18.panjnad /
usp(g) upstream polygon / poly-17+19 /
n / 1,2,3,4,5,6 /
Table wpara(g,*) canal data
* wamb wetted area main and branch canals units acres
* wadm wetted area distributory and minor canals units acres
* factor adjustment factor distributory and minor canals
* factor1 adjustment factor main and branch canals
* mb main and branch canal capacity (kaf/m for all months)
* dm capacity of distributories and minors (kaf/m for all months)
wamb wadm factor factor1 mb dm
poly-17+19 2624.0 2464 3.4366 2.4335 800 542
poly-18 46.0 452 3.9044 9.0671 201 201
Table wpara3(*,*,m) parameters for water course and field efficiencies
* hc height of canal surface above sea level ( in feet )
* cfw monthly adjustment factor for operational losses
* gamma seasonal evaporation loss factor
* zeta seasonal seepage loss factor
jan feb mar apr may jun jul aug sep oct nov dec
zeta.wtrcrs -.075 -.075 -.075 -.075 -.0025 .070 .070 .07 -.0025 -.075 -.075 -.075
zeta.fld -.048 -.048 -.048 -.048 -.0063 .035 .035 .035 -.0063 -.048 -.048 -.048
gamma.wtrcrs .025 .025 .025 .025 .0525 .08 .08 .08 .0525 .025 .025 .025
gamma.fld .0475 .0475 .0475 .0475 .0563 .065 .065 .065 .0563 .0475 .0475 .0475
hc.poly-17+19 290.1 290.2 290.2 290.6 291.5 292.0 292.3 292.2 292.0 291.5 290.6 290.1
hc.poly-18 285.1 285.1 285.2 285.6 286.4 286.9 287.2 287.0 286.9 286.4 285.5 285.1
cfw.(poly-17+19
, poly-18) 4 4 4 4 5 6 6 6 5 4 4 4
Table lw(*,g,ud) length(in k ft) and width of canals (in ft )
lc mc bc di mi
length.poly-17+19 300 775 2135 1450
length.poly-18 50 300 300
width.poly-17+19 150 80 25 7
width.poly-18 45 25 7
Parameter pemax(g) maximum of pan evaporation over the year in feet
alpha scale factor watercourse and field evaporation
rpe(g,m) ratio pan evap. to maximum pan evaporation in the year
wa(g) wetted area along canal units acres
phi1mb(g) seepage proportionality constant for main and branch canals
phi1dm(g) seepage proportionality canstant for distributories and minors
we(u,g,m) evaporation loss coefficient in transit mode
ws(u,g,m) water seepage coefficient within polygon
dephc(g,m) depth from water level in the canals to watertable
wl(u,g,m) water loss coefficient within polygon
wsu seepage coefficient upstream polygon
weu evaporation coefficient upstream polygon
wlu water loss coefficient upstream polygon
beta loss level constant
per permeability coefficient
nrc normalizing constant to convert cusecs to af per month
;
alpha = 0.10; beta= 0.25 ; per = 2*10**(-5) ; nrc = 59.504;
*--- evaporation loss coefficients
pemax(g) = smax(m,wpara1("pevap",g,m)); rpe(g,m) = wpara1("pevap",g,m)/pemax(g) ;
wa(g) = wpara(g,"wamb") + wpara(g,"wadm") ;
we("mb",g,m) = wpara(g,"wamb")*wpara1("pevap",g,m) *(wpara(g,"factor1")*10**(-6)) ;
we("dm",g,m) = wpara(g,"wadm")*wpara1("pevap",g,m) *(wpara(g,"factor")*10**(-6)) ;
we("wc",g,m) = alpha * rpe(g,m) + wpara3("gamma","wtrcrs",m) ;
we("fd",g,m) = alpha * rpe(g,m) + wpara3("gamma","fld",m) ;
we("pg",g,m) = 0.5*we("wc",g,m) ;
*--- seepage coefficients
Table function(*,n) function of canal width
1 2 3 4 5 6
input 0 10 30 100 300 500
output 0 .36 .67 .90 1.30 1.90
Parameter step grid point for function
ftn function value
ftna interpolated function output
ftni function input
ftno function output ;
ftni(n) = function("input",n); ftno(n) = function("output",n) ;
step(g,ud,n) = (ftni(n) le lw("width",g,ud)) and (ftni(n+1) gt lw("width",g,ud) ) ;
ftna(g,ud,n) = (ftno(n) + (lw("width",g,ud) -ftni(n)) * (ftno(n+1)-ftno(n))/(ftni(n+1)-ftni(n)))$step(g,ud,n);
ftn(g,ud) = sum(n, ftna(g,ud,n)) ;
dephc(g,m) = wpara3("hc",g,m)-height(g,"hwr") ;
phi1mb(g) = per*nrc*(lw("length",g,"mc")*ftn(g,"mc")+lw("length",g,"bc")*ftn(g,"bc"));
phi1dm(g) = per*nrc*(lw("length",g,"di")*ftn(g,"di")+lw("length",g,"mi")*ftn(g,"mi"));
ws("mb",g,m) = wpara3("cfw",g,m)*phi1mb(g)*dephc(g,m)/wpara(g,"mb") ;
ws("dm",g,m) = wpara3("cfw",g,m)*phi1dm(g)*dephc(g,m)/wpara(g,"dm") ;
ws("wc",g,m) = beta - alpha * rpe(g,m) +wpara3("zeta","wtrcrs",m) ; ws("pg",g,m)=0.5*ws("wc",g,m);
ws("fd",g,m) = beta - alpha * rpe(g,m) +wpara3("zeta","fld",m) ;
wl(u,g,m) = ws(u,g,m) + we(u,g,m) ;
wsu("mb",i,g,m)$dsp(g,i)=sum(usp, .824*ws("mb",usp,m)); weu("mb",i,g,m)$dsp(g,i) =sum(usp, .824*we("mb",usp,m));
wlu("mb",i,g,m) = wsu("mb",i,g,m) + weu("mb",i,g,m) ;
*--- delivery efficiencies and water availability at the root zone
Parameter wcdeleff(g,m) water course delivery eff. from water course head to root zone
twdeleff(g,m) delivery eff. from private tubwell to root zone
cnldeleff(g,m) delivery eff. from canal head to root zone
wr(g,m) canal water netted to the root zone in kaf
;
wcdeleff(g,m) = (1-wl("wc",g,m))*(1-wl("fd",g,m)); twdeleff(g,m) = (1-wl("pg",g,m))*(1-wl("fd",g,m));
cnldeleff(g,m) = (1.0-wl("mb",g,m))*(1-wl("dm",g,m))*wcdeleff(g,m);
wr(g,m) = sum(i,wdiv(i,g,m)*(1-wlu("mb",i,g,m)) )* cnldeleff(g,m)*1000 ;
* --- sub-irrigation and crop water requirements net of sub-irr. and rain fall
Set v / 1,2,3,4,5,6,7,8,9,10,11,12,13,14/
Table fg(*,v) fireman gardner curve
1 2 3 4 5 6 7 8 9 10 11 12 13 14
depth 0 1 2 2.5 2.7 3.0 3.4 4 5.167 6 8 10 20 100
pro-pan 1 1 1 1 .8 .6 .4 .317 .2 .133 .064 .02 0 0
Parameter fgi(v) input point for fg function , fgo(v) output point for fg function
dep2(g) mean depth to watertable from canal wetted area feet
dep(g) depth to watertable feet
fgc1(g,v) initial fg function value canal fg evap
fgc(g) interpolated fg function value fg evap
fga1(g,v) initial fg function value aquifer fg evap
fga(g) interpolated fg function value aquifer fg evap
wn(g,c,t,s,w,m) crop water req net of rainfall and subirrigation
efr(g,m) effective rainfall in feet
subirr(g,m) water supplied by capillary action from the aquifer
drc proportion of rainfall which is run-off
the1 proportion of nonconsumptive evapotranspiration
test interpolation tests
test2 interpolation tests
;
drc = .15 ; the1 = 0.6;
fgi(v) = fg("depth",v); fgo(v) = fg("pro-pan",v) ;
dep(g) = height(g,"hs") - height(g,"hwr"); dep2(g) = 0.5 * dep(g) ;
test(v,g) = (dep(g) ge fgi(v)) and (dep(g) lt fgi(v+1)) ;
test2(v,g) = (dep2(g) ge fgi(v)) and (dep2(g) lt fgi(v+1)) ;
fgc1(g,v) = (fgo(v) + (dep2(g)-fgi(v))*(fgo(v+1)-fgo(v))/(fgi(v+1)-fgi(v))) $ test2(v,g) ;
fga1(g,v) = (fgo(v) + (dep(g)-fgi(v))*(fgo(v+1)-fgo(v))/(fgi(v+1)-fgi(v))) $ test(v,g) ;
fgc(g) = sum(v, fgc1(g,v)) ; fga(g) = sum(v,fga1(g,v)) ;
efr(g,m) = (1.0 - drc - wl("fd",g,m) )*wpara1("rain",g,m)*1000/areac(g,"at") ;
subirr(g,m) = wpara1("pevap",g,m)*(1-the1)*fga(g) ;
wn(g,c,t,s,w,m) = watreq(c,t,s,w,m) - efr(g,m) - subirr(g,m); wn(g,c,t,s,w,m)$(wn(g,c,t,s,w,m) lt 0 ) = 0.0;
*--- calculations below are to compute annual underflow from neighbouring polygons qggw(g)
*
Set gn neighbouring polygons /poly-17+19, poly-18, pl15, pl16, pl22 /
gg(g,gn) /poly-17+19.(poly-18,pl15,pl22), poly-18.(poly-17+19,pl16) /
Table wpara2(*,* ) height of water table above sea level and transmissibility coeff.
* (in feet ) (.001 sq.ft per sec )
poly-17+19 poly-18 pl15 pl16 pl22
hwr 280.58 279 197.1 181.9 347
trn 458.8 448 493 370 412
Table dist(*,g,gn) node to-node length (lnn in feet) perpendicular bisector (lpb in feet )
pl15 pl16 pl22 poly-18 poly-17+19
lnn.poly-17+19 604058 309840 104148
lnn.poly-18 601455 104148
lpb.poly-17+19 67696 174448 343688
lpb.poly-18 70300 343688
Parameter qgf(gn,g) underflows from polygon gn to polygon g in kaf
qggw(g) total inflow from neighbouring polygons kaf
;
qgf(gn,g) = ((dist("lpb",g,gn)*((wpara2("trn",gn)+wpara2("trn",g))/2.0/1000)*(wpara2("hwr",gn)-wpara2("hwr",g))*
nrc )/dist("lnn",g,gn))$gg(g,gn)/1000 ;
qggw(g) = sum(gn$gg(g,gn), qgf(gn,g) ) ;
*--- annual recharge from canals, rain, govt. tubewells, evaporation from ground water pumpage by govt. tubwells
* and net rercharge
Parameter efs(g,m) effective seepage of rainfall from slack culturable land in feet
seepcgw(g) canal water seepage to the groundwater in kaf
seeprain(g) seepage of rain to groundwater in kaf
seepgtw(g) seepage from the publick tubelwells kaf
trseep(g) seepage in transit by polygon kaf
etgw(g) evapotraspiration from the groundwater along the canal and irrigated area
delgw(g) annual change in groudwater thousand acre feet
ntw(g) number of existing tubewells
ntr(g) number of existing tractors
gtw(g,m) government tubewell pumping (af per month)
gtw1(g,m) government tubewell pumping routed to root zone (af per month)
;
efs(g,m) = (1.0-drc)*0.2*wpara1("rain",g,m)/areac(g,"at") ;
etgw(g) = sum(m, wpara1("pevap",g,m) * (wa(g)*fgc(g) + areac(g,"alg")*fga(g) ) )/1000;
seeprain(g) = sum(m, (1.0-drc)*( (ws("fd",g,m)+0.2)*(areac(g,"at")-areac(g,"alg"))+ws("fd",g,m)*areac(g,"alg") )*
wpara1("rain",g,m)/areac(g,"at") );
trseep(usp) = sum( (m,i,g), wdiv(i,g,m)*1000*wsu("mb",i,g,m)$dsp(g,i) ) ;
seepcgw(g) = sum(m, sum(i, wdiv(i,g,m)*1000*(1-wlu("mb",i,g,m))*( ws("mb",g,m)+(1-wl("mb",g,m))*( ws("dm",g,m)+
(1-wl("dm",g,m))*(ws("wc",g,m)+ (1-wl("wc",g,m))*ws("fd",g,m)) ) ) )) + trseep(g) ;
ntw(g) = 0.0 ; ntr(g) = 0.0; gtw(g,m) = 0.0; delgw(g) = 0.0;
gtw1(g,m) = gtw(g,m)*wcdeleff(g,m) ;
seepgtw(g) = sum(m, gtw(g,m)*( ws("wc",g,m) +(1-wl("wc",g,m))*ws("fd",g,m) ) )/1000;
Display wsu,weu,wlu, trseep ;
*--- report in effficiencies, and seepage to groundwater
Parameter rep4(g,*,u,*) report on water losses
rep5(g,*,*) water requirements and avalability
rep6(g,*) groundwater inflows and outflows
;
rep4(g,"seepage",u,m) = ws(u,g,m); rep4(g,"evap",u,m)= we(u,g,m); rep4(g,"total",u,m) = wl(u,g,m) ;
rep5(g,"rain",m) = efr(g,m); rep5(g,"rain","total") = sum(m, efr(g,m) ) ;
rep5(g,"subirr",m) = subirr(g,m); rep5(g,"subirr","total") = sum(m, subirr(g,m) ) ;
rep5(g,"cnldeleff",m) = cnldeleff(g,m);
rep5(g,"canal",m) = sum(i, wdiv(i,g,m)*1000); rep5(g,"canal","total") = sum(m, rep5(g,"canal",m) );
rep5(g,"canal-rt",m) = wr(g,m); rep5(g,"canal-rt","total") = sum(m, wr(g,m) ) ;
rep6(g,"seepcgw") = seepcgw(g); rep6(g,"seeprain")= seeprain(g);
rep6(g,"rivseep") = sum(m, wpara1("rivseep",g,m) )/1000; rep6(g,"seepgtw") = seepgtw(g) ;
rep6(g,"underflow")= qggw(g); rep6(g,"gtw") = sum(m, gtw(g,m) )/1000; rep6(g,"etgw ") = etgw(g);
rep6(g,"net-seep") = seepcgw(g)+seeprain(g)+rep6(g,"rivseep")+rep6(g,"seepgtw") + qggw(g)-rep6(g,"gtw")-
etgw(g) ;
Display rep4 ;
Display " rain rain use by crops in feet "
" subirr water used by crop by cappilary action from the gw acre feet/acre "
" cnldeleff canal delivery efficiency from canal head to the root zone "
" excluding the losses in transit through other polygons "
" canal canal water availability at canal head kaf "
" canal-rt canal water availability at root zone kaf "
Display rep5 ;
Display " seepcgw seepage from canal water to the groundwater( gw ) in kaf "
" seeprain seepage from rain to gw kaf "
" rivseep seepage from rivers to gw in kaf"
" seepgtw seepage from public tubewells to gw in kaf "
" underflow flow from neighbouring polygons to gw kaf "
" etgw evaporation from groundwater kaf "
" gtw public tubewell pumpage kaf "
" net-seep net seeapge to gw from sources mentioned above kaf "
Display rep6;
$Stitle equations and variables
Variables yfa(g) farm income thousand rupees
yva(g) normal farm income thousand rupees
mad(g) mean absolute revenue deviation of cropping pattern thousand rupees
dr(g) public drainage from groundwater in kaf
inj(g) public injection to groundwater in kaf
tw(g,m) private tubewell water use in month m kaf
ts(g,m) private tractor services use m month thousand hrs
scc(g,c) sales of crop commodities c in thousand lbs
ccc(g,c) on farm consumption of crops commodities c in thousand lbs
pcc(g,c) farm purchases of crop commodities c in thousand lbs
slc(g,q) sales of livestock commodities q in thousand lbs or liters
clc(g,q) farm consumption of livestock commodities q in thousand lbs or liter
plc(g,q) farm purchases of livestock commodity q in thousand lbs or liters
acost(g) farm cost in thousand rupees
* operating cost + annualized cost of capital services
x(g,c,t,s,w) area of crop c in thousand acres using a technology
xca(g,c) area of crop c by polygon
animal(g,l) production of livestock type l thousands
* thouands of bullocks pairs, cattle or buffaloes
ppc purchases of protein concentrates thousand lbs
esl(g,m) employment of seasonal labor in month m in thousand man-hrs
itw(g) investment in increased private tubewell capacity kaf per month
itr(g) investment in increased tractor capacity
* thousand tractor-hours per month
efl(g,m) employment of family labor in month m in k man-hrs
pdev(g,y) positive revenue deviation in thousand rupees
ndev(g,y) negative revenue deviation in thousand rupees
utl utility of income million rupees
slkland(g,m) slack land in k acres
slkwater(g,m) slack water in kaf
Positive Variables pdev, ndev, mad, dr, inj, tw, ts, scc, ccc, pcc, slc, clc, plc, acost, x ,xca, animal,
ppc, esl, itw, itr, efl, slkwater, slkland ;
Equations objt objective function
inbl income accounting balance
nfin normal farm income constraint
ddev definition of revenue deviation year
cost annual farm cost
cmbc commodity balances for crops
cmbq commodity balances for livestock
cblc farm consumption of crop commodity
cblq farm consumption of livestock commodity
fdsp seasonal maintenance of fodder supplies
slsk protein requirements of livestock in season s
sgfd requirement for green fodder by livestock
bupw bullock draft power constraint
buca bullock reproduction constraint
trpw tractor draft power balance
trcp tractor capacity constraint
labr labor requirements constraint
landc land constraint
cacr crop acreage
watr water requirements for cropping activities
tbcp tubewell capacity constraint
gwbl annual groundwater balance
;
* objective function
objt.. utl =e= sum(g, yfa(g) - r(g)*kl*sum(y, pdev(g,y) + ndev(g,y)) / card(y) -
cdrwell*( dr(g) + inj(g) )$sg(g)/drcap ) /1000 ;
inbl(g).. yfa(g) =e= sum(c$cnf(c), psc(c)*scc(g,c))+sum(c$cc(c), psc(c)*ccc(g,c)- pbc(c)*pcc(g,c) )
+ sum(q, psq(q)*slc(g,q)- pbq(q)*plc(g,q)+psq(q)*clc(g,q) )-acost(g);
nfin(g).. yva(g) =e= yfa(g) - sum(c$cc(c), (pbc(c)-psc(c))*pcc(g,c))+ sum(q, (pbq(q)-psq(q))*plc(g,q));
ddev(g,y).. sum(c, dev(c,y)*xca(g,c) ) =e= pdev(g,y) - ndev(g,y) ;
cost(g).. acost(g) =e= sum((c,t,s,w), cwcaptl(c,t,s,w)*x(g,c,t,s,w)$tech(c,t,s,w))+
sum(m, misc("twopc")*tw(g,m) + misc("tropc")*ts(g,m)+ wage(m)*esl(g,m) ) +
sum(l, lwcaptl(l)*animal(g,l)) + sum(sea, pp*ppc(g,sea))+
misc("twinvt")*(itw(g) + ntw(g))$fsg(g) + misc("trinvt")*(itr(g) + ntr(g) ) ;
cmbc(g,c)$cnf(c).. sum((t,s,w), yc(c,t,s,w)*fc*x(g,c,t,s,w)$tech(c,t,s,w))-scc(g,c)-(ccc(g,c)-pcc(g,c))$cc(c) =e= 0;
cmbq(g,q).. sum(l, yq(l,q)*animal(g,l) )- slc(g,q) - clc(g,q) +plc(g,q) =e= 0.0 ;
cblc(g,c)$cc(c).. ccc(g,c) =g= alphc(g,c) + betac(g,c)*yva(g) ;
cblq(g,q).. clc(g,q) =g= alphq(g,q) + betaq(g,q)*yva(g) ;
fdsp(g,sea).. sum(l, livio(l,"tn")*animal(g,l) ) =l= gfd(g,sea)+
sum((c,t,s,w), (tdy(c,t,s,w,sea)+wtd(c,t,s,w,sea))*x(g,c,t,s,w)$tech(c,t,s,w) );
slsk(g,sea).. sum(l, livio(l,"pr")*animal(g,l) ) =l= ppc(g,sea) + gdp(g,sea) +
sum((c,t,s,w), (dpy(c,t,s,w,sea)+wdp(c,t,s,w,sea))*x(g,c,t,s,w)$tech(c,t,s,w) );
sgfd(g,sea).. gr*sum(l, livio(l,"tn")*animal(g,l) ) =l= gfd(g,sea) + sum( (cf,t,s,w), tdy(cf,t,s,w,sea)*
x(g,cf,t,s,w)$tech(cf,t,s,w)) + sum((c,t,s,w), wtd(c,t,s,w,sea)*x(g,c,t,s,w)$tech(c,t,s,w) );
bupw(g,m).. sum((c,t,s,w), bpr(c,t,s,w,m)*x(g,c,t,s,w)$tech(c,t,s,w)) =l= bp(m)*animal(g,"bullock") ;
buca(g).. animal(g,"bullock") =l= repco*animal(g,"cattle") ;
trpw(g,m).. sum((c,t,s,w), tr(c,t,s,w,m)*x(g,c,t,s,w)$tech(c,t,s,w)) - ts(g,m) =e= 0.0 ;
trcp(g,m).. ts(g,m) =l= areac(g,"trg1")/1000 + trcap*itr(g) ;
labr(g,m).. sum((c,t,s,w), labor(c,t,s,w,m)*x(g,c,t,s,w)$tech(c,t,s,w) )+sum(l, lbq(l,m)*animal(g,l)) =e=
efl(g,m) + esl(g,m) ;
landc(g,m).. sum((c,t,s,w), land(c,t,s,w,m)*x(g,c,t,s,w)$tech(c,t,s,w))+slkland(g,m)=e= areac(g,"alg")/1000 ;
cacr(g,c).. xca(g,c) =e= sum((t,s,w) , x(g,c,t,s,w)$tech(c,t,s,w) ) ;
watr(g,m).. sum((c,t,s,w), wn(g,c,t,s,w,m)*x(g,c,t,s,w)$tech(c,t,s,w))+slkwater(g,m) =e=
wr(g,m) + twdeleff(g,m)*tw(g,m)$fsg(g) + gtw1(g,m)/1000 ;
tbcp(g,m)$fsg(g).. tw(g,m) =l= areac(g, "twg")/1000 + twcap*itw(g) ;
* annual groundwater balance --- additional seepage of rain from slack land + seepage from tubewell water +
* seepage from canal water + underflow + seepage of rain from unirrigated area + seepage from rain in
* irrigated area + seepage from rice fields and river reaches = e = private and government tubewell pumpage
* + evapotranspiration along canals and aquifer + drainage/injection + change storage
*
gwbl(g).. sum(m, efs(g,m)*slkland(g,m) + ( ws("pg",g,m) + (1-wl("pg",g,m))*ws("fd",g,m) )*tw(g,m)$fsg(g) +
wpara1("rivseep",g,m)/1000 ) + sum(cri, xca(g,cri))*1.5 + seepcgw(g)+
seepgtw(g) + qggw(g) + seeprain(g) =e=
sum(m, tw(g,m)$fsg(g) + gtw(g,m)/1000) +etgw(g) + (dr(g) - inj(g))$sg(g) + delgw(g);
* solve the model using lp
xca.up(g,"sc-mill") = areac(g,"sra")/1000;
efl.up(g,m) = flab(g,"fh"); esl.up(g,m) = flab(g,"lh") ;
* itr.fx(g) = 0.0; itw.fx(g) = 0.0 ;
Model indus1 / objt,inbl,nfin,ddev,cost,cmbc,cmbq,cblc,
cblq,fdsp,slsk,sgfd,bupw,buca,trpw,labr,
landc,cacr,watr,tbcp,gwbl,trcp/;
* indus2 is model without groundwater balance constraint
Model indus2 / objt,inbl,nfin,ddev,cost,cmbc,cmbq,cblc,
cblq,fdsp,slsk,sgfd,bupw,buca,trpw,trcp,labr,
landc,cacr,watr,tbcp/ ;
Option iterlim = 2000 ;
Solve indus1 maximizing utl using lp ;
* end of source code