APPENDIX 2. THE COMPUTERIZED MODEL
The model structure
Spatial entities are made of elementary spatial entities and composite
spatial entities. An elementary spatial entity represents the smallest
homogenous unit of the environment in the model (a cell in CORMAS environment).
- Plot. In Limbukha model, the plot represents the elementary spatial entity.
It is considered as the smallest homogenous unit that corresponds to the lowest
land unit (1 langdo = 0.1 ha) owned by any individual in Dompola and Limbukha.
The basic interactions take place at plot level. The plot is characterized by 4
attributes: plot number, myblock (collection of plot belonging to one farmer),
croppingpattern and crop. This entity undertakes only one operation (task) to
update the status of the plot.
- Blocks. Each agent has a number of plots which are collectively represented
as block. In Limbukha model there are 12 fields assigned to 12 farmers depending
on their category. As the plots are components of block, the block is
considered as composite spatial entity in Limbukha model.
In Limbukha model simple objects are rain, croppingPattern, crops, and
market. The Message is also a passive object.
- Rain: the task of this object is to generate rainfall pattern for two cycles
of the time step. There are two cycles in one time step, and each cycle can have
either low or normal rainfall. It was done to relate the influences of rainfall
on stream discharge and thereby irrigation water available.
- CroppingPattern: it is defined by either the potato-rice sequence OR the
fallow-rice one depending on the rainfall pattern, market, and village
conditions. It generates and initializes the crop succession for each time
- Crop: it is meant to define the crop type (potato or rice).
- Market: this object is meant to generate economic interactions. It is
defined by 4 attributes (marketState, cropPriceKg,
laborPriceHead, waterPriceUnit) and randomly generates market state as
either low or high. It influences the economic calculation in the model and also
the way players make their decisions regarding the crop succession for the next
- Message: Any agent who needs to send message has to create an instance of a
subclass of message and fulfill it. In Limbukha model there are 3 instances of
message subclass and each subclass has a specific sequence of messages.
- Farmer: in Limbukha model there are 12 farmers who communicate among
agents and interact. Each agent is defined by attributes as given in
- Village: The 12 communicating agents are assigned to either of the villages.
Farmer 1 to 6 represent Limbukha and 7 to 12 represent Dompola, which is similar
to the RPG. The village is defined by one attribute name: either Limbukha or
Dompola. The only task it has is to update water share among villager after
rainfall is initiated.
Table A2.1. Attributes of a social agent
(Farmer) in the Limbukha model
|| This attribute varies among communicating agents
Each agent has been assigned a field (from1 to 12)
Represents number of units of labor an agent has. A thruelpa has 60, cheep 80, chatro
180, and lhangchu 160
This is the unit of water share each agent has, depending on their category
and rainfall pattern for each cycle
Excess labor that is available for exchange
Unused irrigation water that is available for exchange
Number of work days received or given to AgentComm
Number of water shares received by or given to AgentComm
This represents the potato production class
This represents the rice production class
This represents the market class (high and low)
This is the income gained in a year
This represents the village
This represents the CropSuccession
This indicates who is related to whom, as kinship plays significant role in
sharing of irrigation water
A list of all farmers to ask for water
Sum of water exchanged in two cycles of a time step
Units of water exchanged in the first cycles of a time step
Labor from acquaintances
Model dynamics: the actions and interactions
The behavior of agents can be classified into two broad categories: the
agricultural methods and the communication methods.
In Limbukha model there are 8 tasks related to agricultural operations which
an agent performs. Some of the major tasks of this model are explained below:
decideCroppingPattern: this is the first task that agent has to do.
As depicted in Figure A2.1, agent makes decision on the crop succession
that will be used in that time step.
calculateWaterLaborDemand: depending on the fallow land, crop succession,
water and labor allowance, agent calculates the requirement of labor and
water. This task will help to find quantity of labor and water available
for exchange (Figure A2.2).
plantPotato: agents of only Limbukha plant potato in the first cycle of
time step (Figure A2.3).
plantRice: this task is used to plant rice in both villages in two
cycles per time step (Figure A2.4).
exchangeWater: in this task agent who need water send messages and interactions
take place among agents. If the agent does not get water the plot is left
harvestPotato: this task is undertaken at the end of the first cycle by
Limbukha farmers only to remove (harvest) potato from the plots, such that
it is free for planting rice in next the cycle. In the same task, yield
of potato and income of farmer is updated.
harvestRice: this task is executed at the end of the second cycle of each
time step when rice planted during both cycles are removed. During the same
task, rice yield is updated followed by update of income. With this task
the time step (or crop year) ends.
Fig. A2.1. Process
for deciding on a cropping pattern in the Limbukha model. The dark dot represents
the start of the process, the circled dot the end of the process.
Fig. A2.2. Process
for calculating demand for water and labor in the Limbukha model.
Fig. A2.3. The “PlantPotato” task in the Limbukha model.
| Fig. A2.4. The “PlantRice”
task in the Limbukha model.|
The dynamics of Limbukha model also depend on the way agents communicate
among themselves to accomplish different tasks as explained in the preceding
section. Firstly, the network of kinship within a village: where an agent
identifies itself as kin to another agent and gives water free of cost whenever
available. Secondly, agents communicate with acquaintances of their respective
village. In the last method, they were allowed to communicate with agents of the
other village. A protocol will be defined with three messages belonging to four
kinds of actions.
- Methods to define people to ask: the first step before any request for water
or labor is requested, other agents of the network are defined either as kinship
or acquaintance. From the acquaintance group, each agent defines the other
members as those with whom they can interact for exchange of water and
- Methods to ask: in Limbukha model three messages have been programmed to ask
water or labor. Messages like askLaborAcquaintances, askWaterAcquaintances, and
askLaborAgainstWaterAcquaintances are associated to send in request for labor to
acquaintances, water to acquaintances and asking labor against water
respectively. All these messages are sent to the mailbox of all acquaintances
- Methods to answer the request: in every time step, all agents check their
mailbox for any message requesting water or labor. If the receiver has excess of
labor or water, the agent sends a reply to the sender. In case there is no
unused irrigation water or labor the receiver will not reply to the message.
- Methods to supply: similar to replying to a message, the receiver sends in
the requested number of labor or unit of water to the sender of the message.
There are instances where receiver make return request for labor against water
or even cash. The sender will pay back according to the request. Both receiver
and the sender will update the account of labor, water and income.
Protocols of interactions
Agents may exchange either within a kinship network or among an acquaintance
network. In this study 6 different protocols of interactions have been
identified. The protocol that resembles reality to a certain extent is
presented in Figure A2.5 which shows how agents “A” interact
with agent “B” to get water.
Fig. A2.5. Protocol
for exchange of water and labor in the Limbukha model. |
Model dynamics: the scheduling
The sequence diagram shows how objects communicate with one another over
time. The key idea here is to show the interactions among objects taking
place in a specific sequence. For building the Limbukha model, the base
sequence was constructed using lessons learned from RPG (Figures A2.6 and
A2.7). Here, one time step is equivalent to 1 year, each time step is divided
into two cycles.
Fig. A2.6. Sequence
diagram of Limbukha model (Cycle1 corresponding to January to mid-June).
Fig. A2.7. Sequence diagram of the Limbukha
model (Cycle 2 corresponds to mid-June to December).
All farmers decide on the crop succession based on the rainfall and market
Market price is updated to inform on the last year’s market state.
Rainfall is initiated for the first cycle (January to mid June).
The information on rainfall pattern in given to the villages. At village
level water is updated and allocated to each farmer based on his or her
category and rainfall pattern. Each farmer calculates his water needs and
exchanges with other farmers.
Limbukha Farmers only plant potato in their plots (maximum of 3 plots per
Farmers of both villages plant rice.
Limbukha Farmers whoever planted potato (in step 5) are activated to harvest
(remove) potato and update their plots as fallow. In the same sequence they
sell their potato harvest and update their incomes.
Rainfall is initiated for the second cycle (mid June to December).
The information on rainfall pattern in given to villages. At village level
water is updated and allocated to each farmer based on his or her category
and rainfall pattern. Each farmer calculates his/her water needs and exchanges
with other farmers.
Farmers from both villages are activated to plant rice.
Farmers from both villages harvest (remove) rice and update their plots/block
as empty. In the same sequence they sell their harvest rice and update their
Implementation with Cormas
Programming was done in CORMAS
(Bousquet et al., 1998). The artificial environment was designed to represent
plots and blocks of plots assigned to 12 farmers. For the synthetic environment
an interface of 8 x 13 grid size was used (Figure A2.8). It was like placing
two game boards (one for Limbukha and other for Dompola) used in Dompola
RPG side by side. Field 1-6 represents Limbukha while 7-12 represents Dompola.
Two modes of communication (intra-village and inter-village, Scenarios N2
&N3 in Table 2) were tested. In each time step it was seen an interface
shows which agents are communicating. Figure A2.9 shows the exchange of
water between farmer 7 and 9; 7 and 10 and 4 and 2.
| Fig. A2.8. The artificial “Synthetic”
environment and main grid interface of the Limbukha model. Green shapes
represent rice crops and dark orange shapes represent potato crops.
| Fig. A2.9. The CORMAS Communication observer
showing the exchange of water between agents in Limbukha Model (circle represents
communicating agents). Blue triangles represent the Farmer agents, red triangles
represent the Village agents. |