Mercurial > repos > siwaa > insilicow
comparison test-data/input/ONE-COW/farmer-plan_ONE-COW.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 |