The model structure

Spatial entities

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.

Passive objects

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 step.
  • 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 time step.
  • 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.

Social agents
  • Farmer: in Limbukha model there are 12 farmers who communicate among agents and interact. Each agent is defined by attributes as given in Table A2.1.
  • 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

Attributes Explanation
myWaterShareCategory This attribute varies among communicating agents
myField Each agent has been assigned a field (from1 to 12)
myLabor Represents number of units of labor an agent has. A thruelpa has 60, cheep 80, chatro 180, and lhangchu 160
myWater This is the unit of water share each agent has, depending on their category and rainfall pattern for each cycle
laborToBeExchanged Excess labor that is available for exchange
waterToBeExchanged Unused irrigation water that is available for exchange
laborExchanged Number of work days received or given to AgentComm
waterExchanged Number of water shares received by or given to AgentComm
myPotatoProduction This represents the potato production class
myRiceProduction This represents the rice production class
myMarket This represents the market class (high and low)
myIncome This is the income gained in a year
myVillage This represents the village
myCropSuccession This represents the CropSuccession
kinship This indicates who is related to whom, as kinship plays significant role in sharing of irrigation water
peopleToAskWater A list of all farmers to ask for water
twoCycleWaterExchanged Sum of water exchanged in two cycles of a time step
firstCycleWaterExchanged Units of water exchanged in the first cycles of a time step
acquaintancesLabor 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.
Agricultural 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 fallow.

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.

Communication methods

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.
  1. 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 labor.
  2. 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 asynchronously.
  3. 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.
  4. 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).

Cycle 1

All farmers decide on the crop succession based on the rainfall and market status.

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 farmer).

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.

Cycle 2

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 income.

Implementation with Cormas

Programming was done in CORMAS[1] (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.