comparison test-data/input/SENSITIVITY/farmer-plan_SENSITIVITY.txt @ 3:3fe3e1e6a40b draft default tip

"planemo upload for repository https://forgemia.inra.fr/insilicow/insilicow-tool commit b530a8209615f225696abe3e0ba49093ff3dc4ad"
author siwaa
date Mon, 25 Aug 2025 16:37:43 +0000
parents
children
comparison
equal deleted inserted replaced
2:2722892ff716 3:3fe3e1e6a40b
1 #################################################################################################################
2 # #
3 # InSiliCow #
4 # Virtual farm specification #
5 # #
6 #################################################################################################################
7
8 #################################################################################################################
9 #====== GENERAL SETTINGS #
10 #################################################################################################################
11
12 #______ Include files
13 @include farmer-log.txt # providing log action and trigger
14 @include farmer-base.txt # providing basic components
15
16 #______ Models: specify models for individual cows
17 param_general{
18 garuns_type = garuns_olivier
19 rpm_type = rpm_lite
20 abortion_type = abortion_olivier
21 }
22
23 #______ Simulation: provide time range, output database and code name
24 init{
25 begin_date = $start_date$ 00:00:00
26 end_date = $stop_date$ 23:59:59
27 output_db = db_events.sqlite
28 output_config = config.txt
29 name = $sim_id$
30 }
31
32 #______ Log Farm information
33 link{
34 trigger = init
35 action = log_db farm_tag $farm_tag$
36 action = log_db start_date $start_date$
37 action = log_db stop_date $stop_date$
38 action = log_db now_date $now_date$
39 action = log_db latitude $latitude$
40 action = log_db longitude $longitude$
41 }
42
43 #______ End of simulation
44 trigger{
45 type = chron
46 name = tr_end_simu
47 scheme = $stop_date$ 23:59:58
48 }
49
50 #______ Past and future
51 condition{
52 type = chron_range
53 name = past
54 from = $start_date$ 00:00:00
55 to = $now_date$ 00:00:01
56 }
57
58 condition{
59 type = chron_range
60 name = future
61 from = $now_date$ 00:00:00
62 to = $stop_date$ 23:59:59
63 }
64
65 #______ Day one
66 trigger{
67 type = chron
68 name = day_one_herd
69 scheme = $start_date$ 23:59:59
70 }
71 trigger{
72 type = custom
73 name = day_one
74 }
75 link{
76 trigger = day_one_herd
77 action = broadcast_now day_one
78 }
79
80 #______ Calving tag
81 link{
82 trigger = calving
83 condition = calf_sex male
84 condition = future
85 action = log_db birth_of_male no_tag
86 }
87 link{
88 trigger = calving
89 condition = calf_sex female
90 condition = future
91 action = log_db birth_of_female no_tag
92 }
93
94 #______ Manage initial dam
95 state{
96 state = INITIAL-DAM
97 }
98
99 link{
100 trigger = day_one
101 action = state_add INITIAL-DAM
102 }
103 link{
104 trigger = parturition
105 condition = is_in INITIAL-DAM
106 condition = not is_in IN_WILD
107 action = trigger_later tr_delete_cow 1
108 }
109 trigger{
110 type = custom
111 name = tr_delete_cow
112 }
113 link{
114 trigger = tr_delete_cow
115 action = delete_cow remove_initial_dam
116 }
117
118 #______ Stoechio
119 stoechio{
120
121 }
122
123 #################################################################################################################
124 #====== FARMING #
125 #################################################################################################################
126
127 #______ Keep cows and calves in farm: no natural mating
128
129 link{
130 trigger = enter IN_WILD
131 action = state_move IN_WILD IN_FARM
132 }
133
134 link{
135 trigger = enter WILD_COW
136 action = state_move WILD_COW DRY_COW
137 }
138
139 #______ Remove calf from dam: no natural weaning
140
141 link{
142 trigger = enter SUCKLING_CALF
143 action = state_move SUCKLING_CALF NURSED_CALF
144 }
145
146 #______ Milk cows: no natural drying-off at calf weaning
147
148 link{
149 trigger = enter NURSING_COW
150 action = state_move NURSING_COW LACTATING_COW
151 }
152
153 #______ Optimal feeding
154
155 link{
156 trigger = enter IN_FARM
157 action = trigger_later tr_optimal_feeding 0
158 }
159 trigger{
160 type = custom
161 name = tr_optimal_feeding
162 }
163 link{
164 trigger = tr_optimal_feeding
165 action = change_food optimal
166 }
167
168
169 #################################################################################################################
170 #====== FARM COMPONENTS: genotype #
171 #################################################################################################################
172
173 #______ Genetic_sD: provide Mendelian sampling std dev for transmission of Genetic Scaling Parameters (GSP)
174 # GSP_newborn ~ Normal [ (GSP_mother + GSP_father)/2 , GSP_sd ] | within (min, max)
175
176 genetic_sd{
177 garuns_olivier.WM{
178 sd = 0
179 min = 200
180 max = 800
181 }
182
183 garuns_olivier.khi_M {
184 sd = 0
185 min = 0.1
186 max = 0.6
187 }
188
189 garuns_olivier.b0{
190 sd = 0
191 min = 0.80
192 max = 2.40
193 }
194
195 garuns_olivier.nu_X{
196 sd = 0
197 min = 0.2
198 max = 1.8
199 }
200
201 garuns_olivier.nu_Y{
202 sd = 0
203 min = 0.2
204 max = 1.8
205 }
206
207 garuns_olivier.nu_F{
208 sd = 0
209 min = 0.50
210 max = 1.50
211 }
212
213 garuns_olivier.nu_P{
214 sd = 0
215 min = 0.50
216 max = 1.50
217 }
218
219 garuns_olivier.eD_star{
220 sd = 0
221 min = 9.0
222 max = 15.0
223 }
224
225 garuns_olivier.NDF_star{
226 sd = 0
227 min = 0.10
228 max = 0.90
229 }
230
231 garuns_olivier.psi{
232 sd = 0
233 min = 0.10
234 max = 0.90
235 }
236
237 rpm_lite.nu_I{
238 sd = 0
239 min = 0.00
240 max = 0.20
241 }
242
243 rpm_lite.nu_B{
244 sd = 0
245 min = 1.20
246 max = 2.20
247 }
248
249 rpm_lite.nu_Z{
250 sd = 0
251 min = 0.90
252 max = 1.10
253 }
254 }
255
256 #################################################################################################################
257 #====== FARM COMPONENTS: herd (genotype-based initialization of individual cows) #
258 #################################################################################################################
259
260
261 init_cow{
262 name=genotype_cow_random
263 abortion_olivier.delta = constant 3.0
264 abortion_olivier.enabled = never
265 abortion_olivier.dip = vector constant 17 ; constant 64
266 abortion_olivier.abo = vector constant 0.02 ; constant 0.005 ; constant 0.0004
267 garuns_olivier.WM = $WM$
268 garuns_olivier.khi_M = $khi_M$
269 garuns_olivier.b0 = $b0$
270 garuns_olivier.nu_X = $nu_X$
271 garuns_olivier.nu_Y = $nu_Y$
272 garuns_olivier.nu_F = $nu_F$
273 garuns_olivier.nu_P = $nu_P$
274 garuns_olivier.eD_star = $eD_star$
275 garuns_olivier.NDF_star = $NDF_star$
276 garuns_olivier.psi = $psi$
277 rpm_lite.nu_B = $nu_B$
278 rpm_lite.nu_Z = $nu_Z$
279 rpm_lite.nu_I = $nu_I$
280 }
281
282 #______ INITIALIZATION of herd
283
284 link{
285 trigger = init
286 action = buy_calf genotype_cow_random $nb_cow$
287 }
288
289
290 #################################################################################################################
291 #====== FARM COMPONENTS: semen (genotype-based initialization of semen from individual bulls) #
292 #################################################################################################################
293
294 breed{
295 breed = random
296 }
297
298 init_bull{
299 name=semen_bull_random
300 bull.breed_name = random
301 bull.semens_quality = constant 1 #100% fertilization
302 bull.female_ratio = constant 0 #100% male calf
303 garuns_olivier.WM = $WM$
304 garuns_olivier.khi_M = $khi_M$
305 garuns_olivier.b0 = $b0$
306 garuns_olivier.nu_X = $nu_X$
307 garuns_olivier.nu_Y = $nu_Y$
308 garuns_olivier.nu_F = $nu_F$
309 garuns_olivier.nu_P = $nu_P$
310 garuns_olivier.eD_star = $eD_star$
311 garuns_olivier.NDF_star = $NDF_star$
312 garuns_olivier.psi = $psi$
313 rpm_lite.nu_B = $nu_B$
314 rpm_lite.nu_Z = $nu_Z$
315 rpm_lite.nu_I = $nu_I$
316 }
317
318
319 #################################################################################################################
320 #====== FARM COMPONENTS: heat detection #
321 #################################################################################################################
322
323 estrous_detection_method{
324 name=perfect
325 #time_slice = 06:00:00 18:00:00
326 time_slice = 00:00:00 23:59:59
327 expression_threshold=0.75
328 expression_stiffness=7
329 detection_threshold=0.05
330 sensitivity = 1
331 wrong_oestrus_per_day = 0
332 }
333
334 #################################################################################################################
335 #====== FARM COMPONENTS: feedstuffs #
336 #################################################################################################################
337
338
339 #################################################################################################################
340 #====== FARM COMPONENTS: diets #
341 #################################################################################################################
342
343
344 #################################################################################################################
345 #====== FARM COMPONENTS: time schemes #
346 #################################################################################################################
347
348
349 #################################################################################################################
350 #====== FARM COMPONENTS: groups #
351 #################################################################################################################
352
353
354 #################################################################################################################
355 #====== FARM COMPONENTS: operations #
356 #################################################################################################################
357
358 link{
359 trigger = enter IN_FARM
360 action = state_add IMMORTAL
361 }
362
363 link{
364 trigger = enter INITIAL-DAM
365 action = state_delete INITIAL-DAM
366 }
367
368 link{
369 trigger = ovulation
370 condition = is_in mature
371 condition = future
372 action = estrous_start perfect
373 }
374
375 link{
376 trigger = estrous
377 condition = is_in mature
378 condition = not is_pregnant
379 condition = future
380 condition = not days_after_calving < 50
381 action = inseminate semen_bull_random
382 }
383
384 link{
385 trigger = conception
386 condition = future
387 action = estrous_stop
388 }
389
390 link{
391 trigger = abortion
392 condition = future
393 action = estrous_start perfect
394 }
395
396 link{
397 trigger = parturition
398 #action = trigger_later stop_milking 305
399 action = trigger_later tr_drying_off 305
400 }
401
402 trigger{
403 type = custom
404 name = tr_drying_off
405 }
406
407 link{
408 trigger = tr_drying_off
409 action = stop_milking
410 action = log_db stop_milking: 305 days after calving
411 }
412
413
414 #################################################################################################################
415 #====== FARM COMPONENTS: transfers #
416 #################################################################################################################
417
418
419 #################################################################################################################
420 #====== FARM COMPONENTS: perturbations #
421 #################################################################################################################
422
423
424 #################################################################################################################
425 #====== FARM COMPONENTS: parcels #
426 #################################################################################################################
427
428