Evaluate government policies for farmers’ adoption in improving irrigation systems

Evaluate government policies for farmers’ adoption in improving irrigation systems preview image

This model is seeking new collaborators — would you please help?

1 collaborator

Tags

adoption 

Tagged by Amir Hajimirzajan 2 months ago

agent-based model 

Tagged by Amir Hajimirzajan 2 months ago

agriculture 

Tagged by Amir Hajimirzajan 2 months ago

farmer beahviour 

Tagged by Amir Hajimirzajan 2 months ago

farmer social psychology 

Tagged by Amir Hajimirzajan 2 months ago

governance 

Tagged by Amir Hajimirzajan 2 months ago

groundwater management 

Tagged by Amir Hajimirzajan 2 months ago

irrigation 

Tagged by Amir Hajimirzajan 2 months ago

social networks 

Tagged by Amir Hajimirzajan 2 months ago

Visible to everyone | Changeable by the author
Model was written in NetLogo 6.2.2 • Viewed 90 times • Downloaded 1 time • Run 0 times
Download the 'Evaluate government policies for farmers’ adoption in improving irrigation systems' modelDownload this modelEmbed this model

Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)


Comments and Questions

Evaluate government policies for farmers’ adoption and synergy in improving irrigation systems

The ABM model is designed to model the adaptability of farmers in DTIM. This model includes two groups of farmers and local government admins agents. Farmers with different levels, with low WP of DTIM, are looking for economic benefits and reduced irrigation and production costs. Meanwhile, the government is looking for strategic goals to maintain water resources’ sustainability. The local government admins employ incentives (subsidies in this study) to encourage farmers to DTIM. In addition, it is used as a tool for supervision and training farmers’ performance. Farmers are currently harvesting water resources with irrigation systems and different levels of technology, and they intend to provide short-term benefits. Farmers adjust the existing approach based on their knowledge of the importance of DTIM and propensity to increase WP and cost-benefit evaluation. DTIM has an initial implementation fee. Every farmer can increase WP by using government subsidies. If none of the farmers create optimal use of water resources, access to water resources will be threatened in the long term. This is considered a hypothetical cost for farmers who do not participate in DTIM. With DTIM, considering that local government admins’ facilities cover an essential part of implementation costs, farmers may think of profiting from local government admins’ facilities by selling that equipment, especially if the farmers in the following conditions may consider selling their developed irrigation equipment. In this case, the technology of their irrigation system will return to the state before development. - When the threshold of farmers’ propensity to DTIM is low (for example, in the conditions of scarcity of access to sufficient training about the new irrigation system or its role in reducing the cost and sustainability of water resources) - When the share of government subsidy is high, and as a result, the profit from the sale of equipment is attractive, especially in conditions of inflation. - Finally, farmers’ honesty threshold should be reduced based on the positive experience of profit-seeking and deception among neighbors. Increasing the share of government subsidies can encourage farmers to earn profits. Therefore, the government can help increase farmers’ profits by considering the assessment teams at different levels with DTIM training . local government admins evaluations monitor the behavior of farmers. If farmers sell their improved irrigation system for profit, they may be deprived of some local government admins’ services and the possibility of receiving subsidies again. Assessments The local government admins can increase farmers’ honesty. Next, the ABM model evaluates local government admins policies to achieve a suitable framework for water resources management in the Miandoab region.

Posted 2 months ago

Cite this

References Emami, S., Dehghanisanij, H., & Hajimirzajan, A. (2024). Agent-based simulation model to evaluate government policies for farmers’ adoption and synergy in improving irrigation systems: A case study of Lake Urmia basin. Agricultural Water Management, 294, 108730. https://doi.org/10.1016/j.agwat.2024.108730

Posted 2 months ago

Click to Run Model

globals
[
  ;SWS                 ; Benefits of sustainable water supply in the long term
  FAE                 ; field application efficiency of water
  SWR                 ; sustainable water rate of supply
  honesty.p           ; positive factor of honesty d+
  honesty.n           ; negative factor of honesty d-
  honesty.m           ; minimal honesty minimal_Honesty
  mean.honesty        ; average honesty of owners
  prop.p              ; positive factor of Propensity d+
  prop.n              ; negative factor of Propensity d-
  mean.prop           ; average Propensity of owners
  subsidycount        ; Count of owners that gave subsidy
  cheatcount          ; Count of owners that cheated
  educatedcount       ; Count of owners that educated
  subsidy_l           ; kind of subsidy
  mmfae
  mmSWR
  mmtickfae
  mmtickSWR
  fee_reporter
  spend_reporter
  fee2_reporter
  spend2_reporter
  cheatchance_reporter
  subsidy_reporter
]

breed [commons common] ; the commone resource, only ONE in the world
breed [owners owner]   ; the owner of the common resource

owners-own
[
  dist                 ; Distance to common and owners
  prop                 ; Propensity (likelihood) of cooperating
  entrepre             ; Entrepreurship of owner
  spend                ; Income
  fee                  ; Cost
  spend2               ; Income of 6 status
  fee2                 ; Cost of 6 status
  subsidy              ; Actual subsidy by government
  irr_status           ; Irr_status Strip 1, groove 2, Rainy 3, Surface drip (along with irrigation time management) 4, Surface droplet 5, Subsurface drop 6
  degree               ; Degree of owner i.e., number of neighbours
  scale                ; The ratio of arable land
  Ed                  ; The effect of education on owners'productivity and income
  cheatchance          ; The cheat chance
  honesty              ; The honesty of owners
  imp_cost_l_1         ; impelimantion_cost
  int_cost_l_1         ; intial_cost
  cheted               ; cheted status 0, 1
  inspected            ; inspected status 0, 1
  educated             ; educated status 0, 1
  expos                ; pesetive experiance 1, negative experiance 0
  otherjob             ; has other job 1; has not other job 0
  Price                ; Price of crops
  prop.m               ; Minimal propency
  subsidy_l_1          ; Basic subsidy by government
  d_yeild              ; Improve in crop yeild
  CostReduction        ; Cost reduction per crop per ha
  coff
  coff2
]

to setup
  clear-all
  set-default-shape commons "target"
  set-default-shape owners "person farmer"
  set honesty.p 0.05
  set honesty.n 0.09
  set honesty.m 0.003
  set prop.p 0.02
  set prop.n 0.025
  set FAE 0
  set SWR 0
  set mean.honesty 0
  set mean.prop 0
  set subsidycount 0
  set cheatcount 0
  set educatedcount 0
  set mmfae 0
  set mmSWR 0
  set mmtickfae 0
  set mmtickSWR 0
  create-commons 39   ;
  [
    set size 0.7
    set color green
    ask	common	0	[	setxy	20.268	15.466	]
    ask	common	1	[	setxy	5.57	11.818	]
    ask	common	2	[	setxy	9.719	9.265	]
    ask	common	3	[	setxy	13.384	8.451	]
    ask	common	4	[	setxy	9.703	6.901	]
    ask	common	5	[	setxy	8.387	12.224	]
    ask	common	6	[	setxy	12.751	5.327	]
    ask	common	7	[	setxy	6.171	12.035	]
    ask	common	8	[	setxy	7.311	11.918	]
    ask	common	9	[	setxy	6.532	11.678	]
    ask	common	10	[	setxy	0.511	16.172	]
    ask	common	11	[	setxy	0.276	16.08	]
    ask	common	12	[	setxy	0	16.329	]
    ask	common	13	[	setxy	8.49	9.509	]
    ask	common	14	[	setxy	8.786	8.746	]
    ask	common	15	[	setxy	9.462	9.392	]
    ask	common	16	[	setxy	13.364	7.926	]
    ask	common	17	[	setxy	12.507	9.548	]
    ask	common	18	[	setxy	14.257	8.751	]
    ask	common	19	[	setxy	9.346	6.741	]
    ask	common	20	[	setxy	8.627	7.932	]
    ask	common	21	[	setxy	9.438	7.541	]
    ask	common	22	[	setxy	8.455	12.323	]
    ask	common	23	[	setxy	8.756	11.555	]
    ask	common	24	[	setxy	7.846	12.086	]
    ask	common	25	[	setxy	14.903	6.977	]
    ask	common	26	[	setxy	13.743	6.988	]
    ask	common	27	[	setxy	12.681	5.273	]
    ask	common	28	[	setxy	19.047	13.839	]
    ask	common	29	[	setxy	19.043	7.401	]
    ask	common	30	[	setxy	17.185	0.022	]
    ask	common	31	[	setxy	17.339	0.096	]
    ask	common	32	[	setxy	17.191	0.457	]
    ask	common	33	[	setxy	14.822	3.093	]
    ask	common	34	[	setxy	14.733	2.61	]
    ask	common	35	[	setxy	15.513	2.932	]
    ask	common	36	[	setxy	9.104	15.337	]
    ask	common	37	[	setxy	8.947	13.535	]
    ask	common	38	[	setxy	8.687	14.831	]
  ]

  create-random-ties

  ask owners [  ;let dist1 distance min-one-of commons [distance myself]
                ;let dist2 distance min-one-of owners  [distance myself]
                set dist count link-neighbors in-radius 5
                ;set dist (dist1 + dist2)
                set degree count link-neighbors ]

  if Seed-owner = "Close Owners"         [    ask min-n-of (seed-ratio * 40) owners [dist]                 [ set color blue  set inspected 1   set educated 1  ]  ]
  if Seed-owner = "Hight Entrepre&scale" [    ask max-n-of (seed-ratio * 40) owners [scale * entrepre]     [ set color blue  set inspected 1   set educated 1  ]  ]
  if Seed-owner = "Hight Degree"         [    ask max-n-of (seed-ratio * 40) owners [degree]               [ set color blue  set inspected 1   set educated 1  ]  ]
  if Seed-owner = "Hight Entrepre"       [    ask max-n-of (seed-ratio * 40) owners [entrepre]             [ set color blue  set inspected 1   set educated 1  ]  ]
  if Seed-owner = "No otherjob"          [    ask min-n-of (seed-ratio * 40) owners [otherjob]             [ set color blue  set inspected 1   set educated 1  ]  ]
  ask owners with [irr_status = 6] [ set color red ]
  reset-ticks
end 

to create-random-ties
  ; Create owners first
  create-owners 40
  [
    set size 0.9
    ;setxy random-xcor random-ycor
ask	owner	39	[	setxy	20.33	15.454	set	entrepre	0.6	set	otherjob	1	set	scale	0.540540541	set	subsidy_l_1	0.15	set	irr_status	1	set	int_cost_l_1	120000	set	imp_cost_l_1	23000000	set	d_yeild	0.075	set	CostReduction	0.143	]
ask	owner	40	[	setxy	5.628	11.737	set	entrepre	0.7	set	otherjob	1	set	scale	0.09009009	set	subsidy_l_1	0.15	set	irr_status	1	set	int_cost_l_1	120000	set	imp_cost_l_1	23000000	set	d_yeild	0.075	set	CostReduction	0.143	]
ask	owner	41	[	setxy	9.759	9.194	set	entrepre	0.8	set	otherjob	1	set	scale	0.36036036	set	subsidy_l_1	0.15	set	irr_status	1	set	int_cost_l_1	120000	set	imp_cost_l_1	23000000	set	d_yeild	0.075	set	CostReduction	0.143	]
ask	owner	42	[	setxy	13.45	8.353	set	entrepre	0.8	set	otherjob	1	set	scale	0.45045045	set	subsidy_l_1	0.15	set	irr_status	1	set	int_cost_l_1	120000	set	imp_cost_l_1	23000000	set	d_yeild	0.075	set	CostReduction	0.143	]
ask	owner	43	[	setxy	9.737	6.841	set	entrepre	0.7	set	otherjob	1	set	scale	0.27027027	set	subsidy_l_1	0.15	set	irr_status	1	set	int_cost_l_1	120000	set	imp_cost_l_1	23000000	set	d_yeild	0.075	set	CostReduction	0.143	]
ask	owner	44	[	setxy	8.419	12.258	set	entrepre	0.7	set	otherjob	1	set	scale	0.18018018	set	subsidy_l_1	0.15	set	irr_status	1	set	int_cost_l_1	120000	set	imp_cost_l_1	23000000	set	d_yeild	0.075	set	CostReduction	0.143	]
ask	owner	45	[	setxy	12.698	5.303	set	entrepre	0.4	set	otherjob	0	set	scale	0.27027027	set	subsidy_l_1	0.15	set	irr_status	1	set	int_cost_l_1	120000	set	imp_cost_l_1	23000000	set	d_yeild	0.075	set	CostReduction	0.143	]
ask	owner	46	[	setxy	6.043	12.019	set	entrepre	0.5	set	otherjob	0	set	scale	0.18018018	set	subsidy_l_1	0.15	set	irr_status	1	set	int_cost_l_1	300000	set	imp_cost_l_1	28750000	set	d_yeild	0.1	set	CostReduction	0.143	]
ask	owner	47	[	setxy	7.339	11.828	set	entrepre	0.3	set	otherjob	1	set	scale	0.36036036	set	subsidy_l_1	0.15	set	irr_status	1	set	int_cost_l_1	300000	set	imp_cost_l_1	28750000	set	d_yeild	0.1	set	CostReduction	0.143	]
ask	owner	48	[	setxy	6.5	11.617	set	entrepre	0.8	set	otherjob	0	set	scale	0.225225225	set	subsidy_l_1	0.15	set	irr_status	2	set	int_cost_l_1	400000	set	imp_cost_l_1	23000000	set	d_yeild	0.1	set	CostReduction	0.143	]
ask	owner	49	[	setxy	0.404	16.142	set	entrepre	0.5	set	otherjob	1	set	scale	0.36036036	set	subsidy_l_1	0.15	set	irr_status	1	set	int_cost_l_1	300000	set	imp_cost_l_1	28750000	set	d_yeild	0.1	set	CostReduction	0.143	]
ask	owner	50	[	setxy	0.222	16.071	set	entrepre	0.7	set	otherjob	1	set	scale	0.288288288	set	subsidy_l_1	0.15	set	irr_status	1	set	int_cost_l_1	120000	set	imp_cost_l_1	23000000	set	d_yeild	0.1	set	CostReduction	0.143	]
ask	owner	51	[	setxy	0.031	16.403	set	entrepre	0.6	set	otherjob	1	set	scale	0.27027027	set	subsidy_l_1	0.15	set	irr_status	1	set	int_cost_l_1	120000	set	imp_cost_l_1	23000000	set	d_yeild	0.1	set	CostReduction	0.143	]
ask	owner	52	[	setxy	8.426	9.462	set	entrepre	0.5	set	otherjob	1	set	scale	0.144144144	set	subsidy_l_1	0.15	set	irr_status	1	set	int_cost_l_1	300000	set	imp_cost_l_1	28750000	set	d_yeild	0.1	set	CostReduction	0.143	]
ask	owner	53	[	setxy	8.706	8.731	set	entrepre	0.8	set	otherjob	1	set	scale	1	set	subsidy_l_1	0.5	set	irr_status	5	set	int_cost_l_1	1300000	set	imp_cost_l_1	34500000	set	d_yeild	0.25	set	CostReduction	0.4	]
ask	owner	54	[	setxy	9.511	9.286	set	entrepre	0.4	set	otherjob	1	set	scale	0.27027027	set	subsidy_l_1	0.5	set	irr_status	2	set	int_cost_l_1	600000	set	imp_cost_l_1	34500000	set	d_yeild	0.15	set	CostReduction	0.4	]
ask	owner	55	[	setxy	13.212	7.926	set	entrepre	0.4	set	otherjob	1	set	scale	0.486486486	set	subsidy_l_1	0.15	set	irr_status	1	set	int_cost_l_1	300000	set	imp_cost_l_1	28750000	set	d_yeild	0.1	set	CostReduction	0.143	]
ask	owner	56	[	setxy	12.547	9.482	set	entrepre	0.4	set	otherjob	1	set	scale	0.540540541	set	subsidy_l_1	0.15	set	irr_status	1	set	int_cost_l_1	120000	set	imp_cost_l_1	23000000	set	d_yeild	0.1	set	CostReduction	0.143	]
ask	owner	57	[	setxy	14.14	8.566	set	entrepre	0.5	set	otherjob	1	set	scale	0.900900901	set	subsidy_l_1	0.5	set	irr_status	1	set	int_cost_l_1	600000	set	imp_cost_l_1	34500000	set	d_yeild	0.25	set	CostReduction	0.4	]
ask	owner	58	[	setxy	9.352	6.652	set	entrepre	1	set	otherjob	0	set	scale	0.27027027	set	subsidy_l_1	0.15	set	irr_status	1	set	int_cost_l_1	300000	set	imp_cost_l_1	28750000	set	d_yeild	0.1	set	CostReduction	0.143	]
ask	owner	59	[	setxy	8.674	7.972	set	entrepre	0.8	set	otherjob	0	set	scale	0.306306306	set	subsidy_l_1	0.15	set	irr_status	1	set	int_cost_l_1	120000	set	imp_cost_l_1	23000000	set	d_yeild	0.075	set	CostReduction	0.143	]
ask	owner	60	[	setxy	9.424	7.5	set	entrepre	0.9	set	otherjob	0	set	scale	0.09009009	set	subsidy_l_1	0.15	set	irr_status	2	set	int_cost_l_1	400000	set	imp_cost_l_1	23000000	set	d_yeild	0.1	set	CostReduction	0.143	]
ask	owner	61	[	setxy	8.437	12.239	set	entrepre	0.8	set	otherjob	1	set	scale	0.099099099	set	subsidy_l_1	0.15	set	irr_status	1	set	int_cost_l_1	300000	set	imp_cost_l_1	28750000	set	d_yeild	0.1	set	CostReduction	0.143	]
ask	owner	62	[	setxy	8.745	11.601	set	entrepre	0.7	set	otherjob	1	set	scale	0.252252252	set	subsidy_l_1	0.5	set	irr_status	1	set	int_cost_l_1	600000	set	imp_cost_l_1	34500000	set	d_yeild	0.25	set	CostReduction	0.4	]
ask	owner	63	[	setxy	7.779	12.13	set	entrepre	0.5	set	otherjob	0	set	scale	0.351351351	set	subsidy_l_1	0.15	set	irr_status	1	set	int_cost_l_1	400000	set	imp_cost_l_1	23000000	set	d_yeild	0.075	set	CostReduction	0.143	]
ask	owner	64	[	setxy	14.979	6.967	set	entrepre	0.5	set	otherjob	1	set	scale	0.27027027	set	subsidy_l_1	0.15	set	irr_status	1	set	int_cost_l_1	300000	set	imp_cost_l_1	28750000	set	d_yeild	0.1	set	CostReduction	0.143	]
ask	owner	65	[	setxy	13.771	7.065	set	entrepre	0.8	set	otherjob	0	set	scale	0.27027027	set	subsidy_l_1	0.5	set	irr_status	1	set	int_cost_l_1	600000	set	imp_cost_l_1	34500000	set	d_yeild	0.25	set	CostReduction	0.4	]
ask	owner	66	[	setxy	12.625	5.2	set	entrepre	0.4	set	otherjob	1	set	scale	0.252252252	set	subsidy_l_1	0.5	set	irr_status	2	set	int_cost_l_1	600000	set	imp_cost_l_1	34500000	set	d_yeild	0.25	set	CostReduction	0.4	]
ask	owner	67	[	setxy	19.199	14.021	set	entrepre	0.7	set	otherjob	1	set	scale	0.630630631	set	subsidy_l_1	0.15	set	irr_status	1	set	int_cost_l_1	300000	set	imp_cost_l_1	28750000	set	d_yeild	0.1	set	CostReduction	0.143	]
ask	owner	68	[	setxy	19.866	13.561	set	entrepre	0.7	set	otherjob	1	set	scale	0.36036036	set	subsidy_l_1	0.5	set	irr_status	1	set	int_cost_l_1	600000	set	imp_cost_l_1	34500000	set	d_yeild	0.25	set	CostReduction	0.4	]
ask	owner	69	[	setxy	19.042	7.399	set	entrepre	0.6	set	otherjob	1	set	scale	0.495495495	set	subsidy_l_1	0.15	set	irr_status	2	set	int_cost_l_1	400000	set	imp_cost_l_1	23000000	set	d_yeild	0.1	set	CostReduction	0.143	]
ask	owner	70	[	setxy	17.145	0	set	entrepre	0.5	set	otherjob	1	set	scale	0.423423423	set	subsidy_l_1	0.5	set	irr_status	1	set	int_cost_l_1	10000000	set	imp_cost_l_1	28750000	set	d_yeild	0.3	set	CostReduction	0.5	]
ask	owner	71	[	setxy	17.298	0.065	set	entrepre	0.7	set	otherjob	1	set	scale	0.27027027	set	subsidy_l_1	0.15	set	irr_status	1	set	int_cost_l_1	300000	set	imp_cost_l_1	28750000	set	d_yeild	0.1	set	CostReduction	0.143	]
ask	owner	72	[	setxy	17.152	0.419	set	entrepre	0.5	set	otherjob	1	set	scale	0.27027027	set	subsidy_l_1	0.5	set	irr_status	2	set	int_cost_l_1	600000	set	imp_cost_l_1	34500000	set	d_yeild	0.25	set	CostReduction	0.4	]
ask	owner	73	[	setxy	14.967	2.991	set	entrepre	0.7	set	otherjob	1	set	scale	0.27027027	set	subsidy_l_1	0.5	set	irr_status	1	set	int_cost_l_1	600000	set	imp_cost_l_1	34500000	set	d_yeild	0.25	set	CostReduction	0.4	]
ask	owner	74	[	setxy	14.814	2.546	set	entrepre	0.7	set	otherjob	1	set	scale	0.900900901	set	subsidy_l_1	0.5	set	irr_status	3	set	int_cost_l_1	2500000	set	imp_cost_l_1	34500000	set	d_yeild	0.25	set	CostReduction	0.4	]
ask	owner	75	[	setxy	15.483	2.86	set	entrepre	1	set	otherjob	0	set	scale	0.36036036	set	subsidy_l_1	0.5	set	irr_status	5	set	int_cost_l_1	600000	set	imp_cost_l_1	34500000	set	d_yeild	0.25	set	CostReduction	0.4	]
ask	owner	76	[	setxy	9.178	15.359	set	entrepre	0.5	set	otherjob	0	set	scale	0.27027027	set	subsidy_l_1	0.15	set	irr_status	1	set	int_cost_l_1	300000	set	imp_cost_l_1	28750000	set	d_yeild	0.1	set	CostReduction	0.143	]
ask	owner	77	[	setxy	8.881	13.667	set	entrepre	0.5	set	otherjob	1	set	scale	0.135135135	set	subsidy_l_1	0.15	set	irr_status	1	set	int_cost_l_1	120000	set	imp_cost_l_1	23000000	set	d_yeild	0.075	set	CostReduction	0.143	]
ask	owner	78	[	setxy	8.678	14.766	set	entrepre	0.9	set	otherjob	0	set	scale	0.27027027	set	subsidy_l_1	0.15	set	irr_status	1	set	int_cost_l_1	300000	set	imp_cost_l_1	28750000	set	d_yeild	0.1	set	CostReduction	0.143	]

    set spend 0
    set fee   0
    set spend2 0
    set fee2   0
    set subsidy 1
    set cheatchance 0
    set honesty 0
    set cheted 0
    set inspected 0
    set educated 0
    set expos 0
    set prop.m (((alfa * scale) + (beta * entrepre)) / (alfa + beta))
    set prop prop.m
    set Price 1000000
    set coff 1
    set coff2 1
    set Ed 0
    set color yellow
 ]

  ask owners
    [ let thiswho who
    ask other owners with [who > thiswho]
    [ if (random-float 1 < network-density)  [ create-link-with myself    [set color 52]  ] ]  ]
end 

to go
  set SWR (count owners with [irr_status = 6] * 6 ) / ((count owners with [irr_status = 1] * 1 ) + (count owners with [irr_status = 2] * 2 ) + (count owners with [irr_status = 3] * 3 ) + (count owners with [irr_status = 4] * 4 ) + (count owners with [irr_status = 5] * 5 ) + (count owners with [irr_status = 6] * 6 ))
  set fae (((count owners with [irr_status = 1] * (r * 0.3 + (1 - r) * random-float 1)) + (count owners with [irr_status = 2] * (r * 0.5 + (1 - r) * random-float 1) ) + (count owners with [irr_status = 3] * (r * 0.65 + (1 - r) * random-float 1) ) + (count owners with [irr_status = 4] * (r * 0.75 + (1 - r) * random-float 1) ) + (count owners with [irr_status = 5] * (r * 0.8 + (1 - r) * random-float 1) ) + (count owners with [irr_status = 6] * (r * 0.9 + (1 - r) * random-float 1) ))/ (count owners))


   if ( fae > mmfae ) [set mmfae fae set mmtickfae ticks]
   if ( SWR > mmSWR ) [set mmSWR SWR set mmtickSWR ticks]

  ask owners [
  let mix-Govbehavior ifelse-value Gov-Subsidy-Policy = "Mix of all" [random 3] [-1]
  ifelse Gov-Subsidy-Policy = "Normal" or mix-Govbehavior = 0 [ set subsidy_l  subsidy_l_1]
      [  ifelse Gov-Subsidy-Policy = "Enlarge" or mix-Govbehavior = 1 [ set subsidy_l  subsidy_l_1 * 1.3 ]
         [ ifelse Gov-Subsidy-Policy = "Diminish" or mix-Govbehavior = 2 [ set subsidy_l  subsidy_l_1 * 0.7 ]
          [set subsidy_l  subsidy_l_1 * (random 13 - 7) / 10]]]]


  ask owners [ifelse cheted = 0    [set subsidy (1 - subsidy_l)] [set subsidy 1]                                ]
  ask owners [ifelse educated = 0  [set Ed 0]                    [set Ed (r * 0.15 + (1 - r) * random-float 1)] ]


ask owners with [irr_status != 6]
  [ set spend  (1 + Ed) * r * ((scale * ( CostReduction * imp_cost_l_1 + d_yeild * Price )) + (1 - r) *  random-float 1 * (Price + imp_cost_l_1 )) ; income
    set fee   coff * (( r * scale * int_cost_l_1 * subsidy - ((1 - SWR) * SWS)) + (1 - r) * random-float 1 * (int_cost_l_1 - SWS)) ; cost
    ifelse (spend > fee )
    [  set expos 1 ifelse (1.2 * prop.m > prop ) [set coff coff * 1.3][set coff coff * 1.1] if (random-float 1 < 0.05 * prop ) [set subsidycount (subsidycount + 1 ) set irr_status 6   set color red   ]   ]
    [  set expos 0 ifelse (1.2 * prop.m < prop ) [set coff coff * 0.7][set coff coff * 0.9]  ]
  ]
ask owners with [irr_status = 6]
  [ set spend2 coff2 * (r * scale * int_cost_l_1 * (1 - subsidy) + (1 - r) * random-float 1 * (int_cost_l_1)) ; income
    set fee2 (1 + Ed) * (r * (scale * ( CostReduction * imp_cost_l_1 ) + (d_yeild * Price ) + ((1 - SWR) *  SWS)) + (1 - r) * random-float 1 * (Price + imp_cost_l_1 + SWS)) ; cost
    set cheatchance ((1 - honesty) * (subsidy_l_1 ))
    ifelse (spend2 > fee2 )
    [  set expos 0  ifelse (1.2 * prop.m > prop ) [set coff2 coff2 * 0.9][set coff2 coff2 * 0.7] if (random-float 1 < 0.05 * cheatchance ) [  set irr_status 1 set cheted 1 set educated 0 set color green   ]   ]
    [  set expos 1  ifelse (1.2 * prop.m < prop ) [set coff2 coff2 * 1.3][set coff2 coff2 * 1.1]  ]
  ]
   do-monitor-owners
   ask owners
  [
    update-prop
    update-honesty
    set expos 0.5
    set inspected 0.5
  ]
   ask owners with [irr_status = 6]
  [
    set color red
  ]
  set mean.honesty mean [ honesty ] of owners
  set mean.prop mean [ prop ] of owners
  let cheatcount1 (count owners with [cheted = 1])
  set cheatcount (cheatcount + cheatcount1)

  let educatedcount1 (count owners with [educated = 1])
  set educatedcount (educatedcount + educatedcount1)


 if (count owners with [irr_status != 6] > 0) [set fee_reporter mean [fee] of owners with [irr_status != 6]]
 if (count owners with [irr_status != 6] > 0) [set spend_reporter mean [spend] of owners with [irr_status != 6]]
 if (count owners with [irr_status = 6] > 0) [set fee2_reporter mean [fee2] of owners with [irr_status = 6]]
 if (count owners with [irr_status = 6] > 0) [set spend2_reporter mean [spend2] of owners with [irr_status = 6]]
 if (count owners with [irr_status = 6] > 0) [set cheatchance_reporter mean [cheatchance] of owners with [irr_status = 6]]
 if (count owners with [irr_status != 6] > 0) [set subsidy_reporter mean [1 - subsidy] of owners with [irr_status != 6]]

  if  (ticks >= 100)
  [stop]
  tick
end 

to update-prop           ; to change prop of farmers
 if (expos = 1) [ set prop (1 - prop.n) * prop + prop.n ]
 if (expos = 0) [ set prop (1 - prop.p) * prop + prop.p * prop.m ]
end 

to update-honesty        ; to change honesty of farmers
 if (inspected = 1) [ set honesty (1 - honesty.n) * honesty + honesty.n ]
 if (inspected = 0) [ set honesty (1 - honesty.p) * honesty + honesty.p * honesty.m ]
end 

to do-monitor-owners    ; inspect farmers, sellers and vegetables
  ask n-of inspect-owners owners
  [
    set color pink set inspected 1   set educated 1
    if (cheted = 1)
    [ set educated 0
      ask link-neighbors  [ set inspected 1  ] ask link-neighbors in-radius 2  [ set educated 0 ]
    ]
  ]
end 

There is only one version of this model, created 2 months ago by Amir Hajimirzajan.

Attached files

File Type Description Last updated
Evaluate government policies for farmers’ adoption in improving irrigation systems.png preview Preview for 'Evaluate government policies for farmers’ adoption in improving irrigation systems' 2 months ago, by Amir Hajimirzajan Download

This model does not have any ancestors.

This model does not have any descendants.