comparison test-data/input/example_00/farmer-pl.txt @ 0:50112d3941d8 draft

"planemo upload for repository https://forgemia.inra.fr/insilicow/insilicow-tool commit a01dd8fc54d5015e703722d7acb8db4b54b4a468"
author siwaa
date Mon, 07 Apr 2025 15:18:25 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:50112d3941d8
1 #################################################################################################################
2 # #
3 # InSiliCow: Farm Management #
4 # #
5 #################################################################################################################
6
7 #################################################################################################################
8 #====== Preprocessor: specification of included files #
9 #################################################################################################################
10
11 @include farmer-log.txt
12 # provides the action log_olivier
13 # call the action log_olivier every hour
14
15
16
17
18 #################################################################################################################
19 #====== Initialization of simulation #
20 #################################################################################################################
21
22 #______ Simulation time range
23
24 init{
25 begin_date = 1970-01-01 00:00:00 # 1970-01-01 00:00:00
26 end_date = $end_year$-12-31 23:59:59 # 1975-02-20 23:59:59
27 output_db = events.sqlite
28 name = $sim_id$
29 }
30
31 #______ Models
32
33 param_general{
34 garuns_type = garuns_olivier
35 rpm_type = rpm_lite
36 abortion_type = abortion_olivier
37 }
38
39
40 #______ Stoechio
41 stoechio{
42
43 }
44
45
46
47
48 #################################################################################################################
49 #====== Genetic Scaling Parameters (GSP): defines individual cow performance #
50 # #
51 #======> in GARUNS model #
52 #GSP (unit) : Name Default | Proxy for #
53 #WM (Kg) : Mature non labile body mass 450 ± 25 | Format #
54 #khi_M (%) : Target labile:non-labile mass ratio 0.33 ± 0.03 | Body fatness #
55 #b0 (1/d) : Reserves storage rate 1.6 ± 0.16 | Reserve lability #
56 #nu_X (-) : Labile body mass mobilization index 1.0 ± 0.1 | Maternal investment #
57 #nu_Y (-) : Milk yield index 1.0 ± 0.1 | Milk potential #
58 #nu_F (-) : Milk fat secretion index 1.00 ± 0.02 | Milk fat content #
59 #nu_P (-) : Milk protein secretion index 1.00 ± 0.02 | Milk protein content #
60 #eD_star (MJ ME/Kg DM) : Optimal diet energy content 12.3 ± 0.5 | Energy intake capacity #
61 #NDF_star (Kg NDF/Kg DM): Optimal fiber energy content 0.5 ± 0.02 | Fiber intake capacity #
62 # #
63 #======> in RPM model #
64 #nu_I (-) : Conception probability threshold 0.026 ± 0.007 | Fertility #
65 #nu_B (-) : Puberty index 1.70 ± 0.07 | Age at 1st ovulation #
66 #nu_Z (-) : Follicular dynamics rate 1.00 ± 0.02 | Estrous duration #
67 #################################################################################################################
68
69 #################################################################################################################
70 #====== Transmission of Genetic Scaling Parameters (GSP) #
71 # > genetic_sd defines the Mendelian sampling standard deviation for the calculation of the GSP of #
72 # a newborn calf : GSP_newborn ~ Normal [ (GSP_mother + GSP_father)/2 , GSP_sd ] #
73 #################################################################################################################
74
75 genetic_sd{
76
77 garuns_olivier.WM{
78 sd = 50
79 min = 200
80 max = 800
81 }
82
83 garuns_olivier.khi_M {
84 sd = 0.06
85 min = 0.1
86 max = 0.6
87 }
88
89 garuns_olivier.b0{
90 sd = 0
91 min = 0.80
92 max = 2.40
93 }
94
95 garuns_olivier.nu_X{
96 sd = 0
97 min = 0.2
98 max = 1.8
99 }
100
101 garuns_olivier.nu_Y{
102 sd = 0.1
103 min = 0.2
104 max = 1.8
105 }
106
107 garuns_olivier.nu_F{
108 sd = 0
109 min = 0.50
110 max = 1.50
111 }
112
113 garuns_olivier.nu_P{
114 sd = 0
115 min = 0.50
116 max = 1.50
117 }
118
119 garuns_olivier.eD_star{
120 sd = 0
121 min = 9.0
122 max = 15.0
123 }
124
125 garuns_olivier.NDF_star{
126 sd = 0
127 min = 0.10
128 max = 0.90
129 }
130
131 rpm_lite.nu_I{
132 sd = 0.007
133 min = 0.00
134 max = 0.20
135 }
136
137 rpm_lite.nu_B{
138 sd = 0.07
139 min = 1.20
140 max = 2.20
141 }
142
143 rpm_lite.nu_Z{
144 sd = 0.02
145 min = 0.90
146 max = 1.10
147 }
148 }
149
150 #################################################################################################################
151 #====== Initialization of cows #
152 #################################################################################################################
153
154 ####### DEFAULT COW #############################################################################################
155 init_cow{
156 name=cow_default
157
158 ### ABORTION rules acording to days in pregnancy (dip)
159 abortion_olivier.delta = constant 3.0 # days (compute every delta)
160 abortion_olivier.enabled = sometime
161 # never : no abortion,
162 # always : always abort,
163 # sometime : abort according to abortion_olivier.abo
164 # and abortion_olivier.dip
165
166 ### Days in pregnancy (dip) cutoffs (to cut gestation in early embryo, late embryo and fetal stages)
167 # Default intervals: Early embryo [0;17] Late embryo [17;64] Fetal [64;+inf]
168 abortion_olivier.dip = vector constant 17 ; constant 64
169
170 ### Daily probability of abortion for each intervals
171 # Default probabiliies : E: 0.0230 L: 0.0096 F: 0.0004
172 abortion_olivier.abo = vector constant 0.02 ; constant 0.005 ; constant 0.0004
173
174 ### GARUNS & RPM_lite Genetic Scaling Parameters
175 # Default constant values
176 garuns_olivier.WM = constant 450 #450
177 garuns_olivier.khi_M = constant 0.30 # 0.33
178 garuns_olivier.b0 = constant 1.6 # 1.6
179 garuns_olivier.nu_X = constant 1 # 1.0
180 garuns_olivier.nu_Y = constant 1.1 # 1.0
181 garuns_olivier.nu_F = constant 1 # 1.0
182 garuns_olivier.nu_P = constant 1 # 1.0
183 garuns_olivier.eD_star = constant 10.7 # 10.7
184 garuns_olivier.NDF_star = constant 0.5 # 0.5
185 rpm_lite.nu_B = constant 1.7 # 1.7
186 rpm_lite.nu_Z = constant 1 # 1.0
187 rpm_lite.nu_I = constant 0.025 # 0.026
188 }
189
190 ####### RANDOM COW ##############################################################################################
191 init_cow{
192 name=cow_random
193
194 ### ABORTION rules acording to days in pregnancy (dip)
195 abortion_olivier.delta = constant 3.0 # days (compute every delta)
196 abortion_olivier.enabled = sometime
197 # never : no abortion,
198 # always : always abort,
199 # sometime : abort according to abortion_olivier.abo
200 # and abortion_olivier.dip
201
202 ### Days in pregnancy (dip) cutoffs (to cut gestation in early embryo, late embryo and fetal stages)
203 # Default intervals: Early embryo [0;17] Late embryo [17;64] Fetal [64;+inf]
204 abortion_olivier.dip = vector constant 17 ; constant 64
205
206 ### Daily probability of abortion for each intervals
207 # Default probabiliies : E: 0.0230 L: 0.0096 F: 0.0004
208 abortion_olivier.abo = vector constant 0.02 ; constant 0.005 ; constant 0.0004
209
210 ### GARUNS & RPM_lite Genetic Scaling Parameters
211 # Random values
212 garuns_olivier.WM = norm99 450 50 #450 ± 25
213 garuns_olivier.khi_M = norm99 0.30 0.06 # 0.33 ± 0.03
214 garuns_olivier.b0 = norm99 1.6 0 # 1.6 ± 0.16
215 garuns_olivier.nu_X = norm99 1 0 # 1.0 ± 0.10
216 garuns_olivier.nu_Y = norm99 1.1 0.1 # 1.0 ± 0.10
217 garuns_olivier.nu_F = norm99 1 0 # 1.0 ± 0.02
218 garuns_olivier.nu_P = norm99 1 0 # 1.0 ± 0.02
219 garuns_olivier.eD_star = norm99 10.7 0 # 10.7 ± 0.5
220 garuns_olivier.NDF_star = norm99 0.5 0 # 0.5 ± 0.02
221 rpm_lite.nu_B = norm99 1.7 0.07 # 1.7 ± 0.07
222 rpm_lite.nu_Z = norm99 1 0.02 # 1.0 ± 0.02
223 rpm_lite.nu_I = norm99 0.025 0.007 # 0.026 ± 0.007
224 }
225
226 #################################################################################################################
227 #====== Breeding #
228 #################################################################################################################
229
230 #______ Bull semen: quality = 0.95 ± 0.05 ; sexratio = 0 % female
231
232 breed{
233 breed = bull_default
234 }
235
236 init_bull{
237 name=semen_default
238 bull.breed_name = bull_default
239 bull.semens_quality = norm99 0.95 0.05 # a number between 0.0 (=never works) and 1.0 (=perfect)
240 bull.female_ratio = constant 0 # offspring sex ratio. 1.0 = 100%female, 0.0=0%female
241 }
242
243 #_______Breeding season: every year from *-03-21 00:00:00 to *-06-21 23:59:59
244
245 condition{
246 type = chron_range
247 name = breeding_season
248 from = *-03-21 00:00:00 #*-03-21 00:00:00
249 to = *-06-21 23:59:59 #*-06-21 23:59:59
250 }
251
252 trigger{
253 type = chron
254 name = breeding_start
255 scheme = *-03-21 00:00:00
256 }
257
258 # link{
259 # trigger = breeding_start
260 # action = log_db Start_breeding_season
261 #}
262
263 trigger{
264 type = chron
265 name = breeding_end
266 scheme = *-06-21 23:59:59
267 }
268
269 #link{
270 # trigger = breeding_end
271 # action = log_db Stop_breeding_season
272 #}
273
274 #______ Estrous detection method ________________________________________________________________________________
275
276 estrous_detection_method{
277 name=estrous_detection_default
278
279 #When do we observe oestruses
280 time_slice = 06:00:00 18:00:00 #00:00:01 23:59:59
281
282 #estrogene is transformed to an expression using a Hill function
283 expression_threshold=0.75 #default 0.75
284 expression_stiffness=7 #default 7
285
286
287 #the oestrus worth an insemination if the memory function is above this threshold
288 #THIS threshold is scaled for an observation all the day long
289 #if you observe half a day multiply this threshold by 0.5
290 #1.0 is a reasonable base value for all day observations
291 detection_threshold=0.05 # 0.1
292
293 #then, the oestrus is truely detected with a chance of
294 sensitivity = 0.75 #0.7
295
296 #then an average of wrong_oestrus_per_day are generated
297 wrong_oestrus_per_day = 0 #0.00
298 }
299
300
301 #______ Insemination _________________________________________________________________________________
302
303 # Insemination is performed once a day when estrous is detected
304
305 state{
306 state = ALREADY_INSEMINATED
307 }
308
309 trigger{
310 type=custom
311 name=tr_delete_ALREADY_INSEMINATED
312 }
313
314 link{
315 trigger = tr_delete_ALREADY_INSEMINATED
316 action = state_delete ALREADY_INSEMINATED
317 }
318
319 link{
320 trigger = estrous
321 condition = is_in BREEDING
322 condition = not is_pregnant
323 condition = not is_in ALREADY_INSEMINATED
324 action = state_add ALREADY_INSEMINATED
325 action = trigger_later tr_delete_ALREADY_INSEMINATED 1
326 action = log_db 01_INSEMINATION
327 action = inseminate semen_default
328 }
329
330 #################################################################################################################
331 #====== Initialization of herd #
332 #################################################################################################################
333
334 trigger{
335 type = custom
336 name = init_day_01
337 }
338 trigger{
339 type = custom
340 name = init_day_02
341 }
342 trigger{
343 type = custom
344 name = init_day_03
345 }
346 trigger{
347 type = custom
348 name = init_day_04
349 }
350 trigger{
351 type = custom
352 name = init_day_05
353 }
354 trigger{
355 type = custom
356 name = init_day_06
357 }
358 trigger{
359 type = custom
360 name = init_day_07
361 }
362 trigger{
363 type = custom
364 name = init_day_08
365 }
366 trigger{
367 type = custom
368 name = init_day_09
369 }
370 trigger{
371 type = custom
372 name = init_day_10
373 }
374 trigger{
375 type = custom
376 name = init_day_11
377 }
378 trigger{
379 type = custom
380 name = init_day_12
381 }
382 trigger{
383 type = custom
384 name = init_day_13
385 }
386 trigger{
387 type = custom
388 name = init_day_14
389 }
390 trigger{
391 type = custom
392 name = init_day_15
393 }
394 trigger{
395 type = custom
396 name = init_day_16
397 }
398 trigger{
399 type = custom
400 name = init_day_17
401 }
402 trigger{
403 type = custom
404 name = init_day_18
405 }
406 trigger{
407 type = custom
408 name = init_day_19
409 }
410 trigger{
411 type = custom
412 name = init_day_20
413 }
414 trigger{
415 type = custom
416 name = init_day_21
417 }
418 trigger{
419 type = custom
420 name = init_day_22
421 }
422 trigger{
423 type = custom
424 name = init_day_23
425 }
426 trigger{
427 type = custom
428 name = init_day_24
429 }
430 trigger{
431 type = custom
432 name = init_day_25
433 }
434 trigger{
435 type = custom
436 name = init_day_26
437 }
438 trigger{
439 type = custom
440 name = init_day_27
441 }
442 trigger{
443 type = custom
444 name = init_day_28
445 }
446 trigger{
447 type = custom
448 name = init_day_29
449 }
450 trigger{
451 type = custom
452 name = init_day_30
453 }
454 trigger{
455 type = custom
456 name = init_day_31
457 }
458 trigger{
459 type = custom
460 name = init_day_32
461 }
462 trigger{
463 type = custom
464 name = init_day_33
465 }
466 trigger{
467 type = custom
468 name = init_day_34
469 }
470 trigger{
471 type = custom
472 name = init_day_35
473 }
474 trigger{
475 type = custom
476 name = init_day_36
477 }
478 trigger{
479 type = custom
480 name = init_day_37
481 }
482 trigger{
483 type = custom
484 name = init_day_38
485 }
486 trigger{
487 type = custom
488 name = init_day_39
489 }
490 trigger{
491 type = custom
492 name = init_day_40
493 }
494 trigger{
495 type = custom
496 name = init_day_41
497 }
498 trigger{
499 type = custom
500 name = init_day_42
501 }
502 trigger{
503 type = custom
504 name = init_day_43
505 }
506 trigger{
507 type = custom
508 name = init_day_44
509 }
510 trigger{
511 type = custom
512 name = init_day_45
513 }
514 trigger{
515 type = custom
516 name = init_day_46
517 }
518 trigger{
519 type = custom
520 name = init_day_47
521 }
522 trigger{
523 type = custom
524 name = init_day_48
525 }
526 trigger{
527 type = custom
528 name = init_day_49
529 }
530 trigger{
531 type = custom
532 name = init_day_50
533 }
534 trigger{
535 type = custom
536 name = init_day_51
537 }
538 trigger{
539 type = custom
540 name = init_day_52
541 }
542 trigger{
543 type = custom
544 name = init_day_53
545 }
546 trigger{
547 type = custom
548 name = init_day_54
549 }
550 trigger{
551 type = custom
552 name = init_day_55
553 }
554 trigger{
555 type = custom
556 name = init_day_56
557 }
558 trigger{
559 type = custom
560 name = init_day_57
561 }
562 trigger{
563 type = custom
564 name = init_day_58
565 }
566 trigger{
567 type = custom
568 name = init_day_59
569 }
570
571 link{
572 trigger = init
573 action = buy_calf cow_random 1
574 action = log_db BUY_CALF_N=1
575 action = trigger_later init_day_01 1
576 }
577 link{
578 trigger = init_day_01
579 action = buy_calf cow_random 0
580 action = log_db BUY_CALF_N=0
581 action = trigger_later init_day_02 1
582 }
583 link{
584 trigger = init_day_02
585 action = buy_calf cow_random 0
586 action = log_db BUY_CALF_N=0
587 action = trigger_later init_day_03 1
588 }
589 link{
590 trigger = init_day_03
591 action = buy_calf cow_random 8
592 action = log_db BUY_CALF_N=8
593 action = trigger_later init_day_04 1
594 }
595 link{
596 trigger = init_day_04
597 action = buy_calf cow_random 8
598 action = log_db BUY_CALF_N=8
599 action = trigger_later init_day_05 1
600 }
601 link{
602 trigger = init_day_05
603 action = buy_calf cow_random 4
604 action = log_db BUY_CALF_N=4
605 action = trigger_later init_day_06 1
606 }
607 link{
608 trigger = init_day_06
609 action = buy_calf cow_random 0
610 action = log_db BUY_CALF_N=0
611 action = trigger_later init_day_07 1
612 }
613 link{
614 trigger = init_day_07
615 action = buy_calf cow_random 0
616 action = log_db BUY_CALF_N=0
617 action = trigger_later init_day_08 1
618 }
619 link{
620 trigger = init_day_08
621 action = buy_calf cow_random 0
622 action = log_db BUY_CALF_N=0
623 action = trigger_later init_day_09 1
624 }
625 link{
626 trigger = init_day_09
627 action = buy_calf cow_random 4
628 action = log_db BUY_CALF_N=4
629 action = trigger_later init_day_10 1
630 }
631 link{
632 trigger = init_day_10
633 action = buy_calf cow_random 4
634 action = log_db BUY_CALF_N=4
635 action = trigger_later init_day_11 1
636 }
637 link{
638 trigger = init_day_11
639 action = buy_calf cow_random 0
640 action = log_db BUY_CALF_N=0
641 action = trigger_later init_day_12 1
642 }
643 link{
644 trigger = init_day_12
645 action = buy_calf cow_random 0
646 action = log_db BUY_CALF_N=0
647 action = trigger_later init_day_13 1
648 }
649 link{
650 trigger = init_day_13
651 action = buy_calf cow_random 4
652 action = log_db BUY_CALF_N=4
653 action = trigger_later init_day_14 1
654 }
655 link{
656 trigger = init_day_14
657 action = buy_calf cow_random 0
658 action = log_db BUY_CALF_N=0
659 action = trigger_later init_day_15 1
660 }
661 link{
662 trigger = init_day_15
663 action = buy_calf cow_random 0
664 action = log_db BUY_CALF_N=0
665 action = trigger_later init_day_16 1
666 }
667 link{
668 trigger = init_day_16
669 action = buy_calf cow_random 4
670 action = log_db BUY_CALF_N=4
671 action = trigger_later init_day_17 1
672 }
673 link{
674 trigger = init_day_17
675 action = buy_calf cow_random 0
676 action = log_db BUY_CALF_N=0
677 action = trigger_later init_day_18 1
678 }
679 link{
680 trigger = init_day_18
681 action = buy_calf cow_random 0
682 action = log_db BUY_CALF_N=0
683 action = trigger_later init_day_19 1
684 }
685 link{
686 trigger = init_day_19
687 action = buy_calf cow_random 0
688 action = log_db BUY_CALF_N=0
689 action = trigger_later init_day_20 1
690 }
691 link{
692 trigger = init_day_20
693 action = buy_calf cow_random 0
694 action = log_db BUY_CALF_N=0
695 action = trigger_later init_day_21 1
696 }
697 link{
698 trigger = init_day_21
699 action = buy_calf cow_random 0
700 action = log_db BUY_CALF_N=0
701 action = trigger_later init_day_22 1
702 }
703 link{
704 trigger = init_day_22
705 action = buy_calf cow_random 0
706 action = log_db BUY_CALF_N=0
707 action = trigger_later init_day_23 1
708 }
709 link{
710 trigger = init_day_23
711 action = buy_calf cow_random 0
712 action = log_db BUY_CALF_N=0
713 action = trigger_later init_day_24 1
714 }
715 link{
716 trigger = init_day_24
717 action = buy_calf cow_random 0
718 action = log_db BUY_CALF_N=0
719 action = trigger_later init_day_25 1
720 }
721 link{
722 trigger = init_day_25
723 action = buy_calf cow_random 4
724 action = log_db BUY_CALF_N=4
725 action = trigger_later init_day_26 1
726 }
727 link{
728 trigger = init_day_26
729 action = buy_calf cow_random 0
730 action = log_db BUY_CALF_N=0
731 action = trigger_later init_day_27 1
732 }
733 link{
734 trigger = init_day_27
735 action = buy_calf cow_random 12
736 action = log_db BUY_CALF_N=12
737 action = trigger_later init_day_28 1
738 }
739 link{
740 trigger = init_day_28
741 action = buy_calf cow_random 0
742 action = log_db BUY_CALF_N=0
743 action = trigger_later init_day_29 1
744 }
745 link{
746 trigger = init_day_29
747 action = buy_calf cow_random 0
748 action = log_db BUY_CALF_N=0
749 action = trigger_later init_day_30 1
750 }
751 link{
752 trigger = init_day_30
753 action = buy_calf cow_random 0
754 action = log_db BUY_CALF_N=0
755 action = trigger_later init_day_31 1
756 }
757 link{
758 trigger = init_day_31
759 action = buy_calf cow_random 0
760 action = log_db BUY_CALF_N=0
761 action = trigger_later init_day_32 1
762 }
763 link{
764 trigger = init_day_32
765 action = buy_calf cow_random 0
766 action = log_db BUY_CALF_N=0
767 action = trigger_later init_day_33 1
768 }
769 link{
770 trigger = init_day_33
771 action = buy_calf cow_random 0
772 action = log_db BUY_CALF_N=0
773 action = trigger_later init_day_34 1
774 }
775 link{
776 trigger = init_day_34
777 action = buy_calf cow_random 4
778 action = log_db BUY_CALF_N=4
779 action = trigger_later init_day_35 1
780 }
781 link{
782 trigger = init_day_35
783 action = buy_calf cow_random 4
784 action = log_db BUY_CALF_N=4
785 action = trigger_later init_day_36 1
786 }
787 link{
788 trigger = init_day_36
789 action = buy_calf cow_random 0
790 action = log_db BUY_CALF_N=0
791 action = trigger_later init_day_37 1
792 }
793 link{
794 trigger = init_day_37
795 action = buy_calf cow_random 0
796 action = log_db BUY_CALF_N=0
797 action = trigger_later init_day_38 1
798 }
799 link{
800 trigger = init_day_38
801 action = buy_calf cow_random 0
802 action = log_db BUY_CALF_N=0
803 action = trigger_later init_day_39 1
804 }
805 link{
806 trigger = init_day_39
807 action = buy_calf cow_random 4
808 action = log_db BUY_CALF_N=4
809 action = trigger_later init_day_40 1
810 }
811 link{
812 trigger = init_day_40
813 action = buy_calf cow_random 0
814 action = log_db BUY_CALF_N=0
815 action = trigger_later init_day_41 1
816 }
817 link{
818 trigger = init_day_41
819 action = buy_calf cow_random 0
820 action = log_db BUY_CALF_N=0
821 action = trigger_later init_day_42 1
822 }
823 link{
824 trigger = init_day_42
825 action = buy_calf cow_random 0
826 action = log_db BUY_CALF_N=0
827 action = trigger_later init_day_43 1
828 }
829 link{
830 trigger = init_day_43
831 action = buy_calf cow_random 4
832 action = log_db BUY_CALF_N=4
833 action = trigger_later init_day_44 1
834 }
835 link{
836 trigger = init_day_44
837 action = buy_calf cow_random 4
838 action = log_db BUY_CALF_N=4
839 action = trigger_later init_day_45 1
840 }
841 link{
842 trigger = init_day_45
843 action = buy_calf cow_random 4
844 action = log_db BUY_CALF_N=4
845 action = trigger_later init_day_46 1
846 }
847 link{
848 trigger = init_day_46
849 action = buy_calf cow_random 0
850 action = log_db BUY_CALF_N=0
851 action = trigger_later init_day_47 1
852 }
853 link{
854 trigger = init_day_47
855 action = buy_calf cow_random 0
856 action = log_db BUY_CALF_N=0
857 action = trigger_later init_day_48 1
858 }
859 link{
860 trigger = init_day_48
861 action = buy_calf cow_random 4
862 action = log_db BUY_CALF_N=4
863 action = trigger_later init_day_49 1
864 }
865 link{
866 trigger = init_day_49
867 action = buy_calf cow_random 4
868 action = log_db BUY_CALF_N=4
869 action = trigger_later init_day_50 1
870 }
871 link{
872 trigger = init_day_50
873 action = buy_calf cow_random 4
874 action = log_db BUY_CALF_N=4
875 action = trigger_later init_day_51 1
876 }
877 link{
878 trigger = init_day_51
879 action = buy_calf cow_random 8
880 action = log_db BUY_CALF_N=8
881 action = trigger_later init_day_52 1
882 }
883 link{
884 trigger = init_day_52
885 action = buy_calf cow_random 4
886 action = log_db BUY_CALF_N=4
887 action = trigger_later init_day_53 1
888 }
889 link{
890 trigger = init_day_53
891 action = buy_calf cow_random 0
892 action = log_db BUY_CALF_N=0
893 action = trigger_later init_day_54 1
894 }
895 link{
896 trigger = init_day_54
897 action = buy_calf cow_random 0
898 action = log_db BUY_CALF_N=0
899 action = trigger_later init_day_55 1
900 }
901 link{
902 trigger = init_day_55
903 action = buy_calf cow_random 0
904 action = log_db BUY_CALF_N=0
905 action = trigger_later init_day_56 1
906 }
907 link{
908 trigger = init_day_56
909 action = buy_calf cow_random 0
910 action = log_db BUY_CALF_N=0
911 action = trigger_later init_day_57 1
912 }
913 link{
914 trigger = init_day_57
915 action = buy_calf cow_random 0
916 action = log_db BUY_CALF_N=0
917 action = trigger_later init_day_58 1
918 }
919 link{
920 trigger = init_day_58
921 action = buy_calf cow_random 0
922 action = log_db BUY_CALF_N=0
923 action = trigger_later init_day_59 1
924 }
925 link{
926 trigger = init_day_59
927 action = buy_calf cow_random 25
928 action = log_db BUY_CALF_N=25
929 }
930
931 #################################################################################################################
932 #====== Management of herd #
933 #################################################################################################################
934
935 #_______Predefined states : herd, heifers & mature ______________________________________________________________
936 #
937 # herd : Every animal that enters the herd is added to this state. Male calves are never added.
938 # heifers : Newborn female calves enter the herd as heifers, and are moved to not_heifers at 1st calving.
939 # mature : Cows enter mature state when non-labile body mass W > 0.5 WM (GSP for mature format).
940
941
942 #################################################################################################################
943 #====== Remove cows @ end of simulation #
944 #################################################################################################################
945
946 trigger{
947 type = chron
948 name = tr_end_simu
949 scheme = 1985-12-31 23:59:58
950 }
951
952 link{
953 trigger = tr_end_simu
954 action = log_db action_remove_herd
955 action = remove_herd
956 }
957
958 action{
959 type = broadcast_now
960 name = remove_herd
961 trigger = tr_remove_herd
962 }
963
964 trigger{
965 type = custom
966 name = tr_remove_herd
967 }
968
969 link{
970 trigger = tr_remove_herd
971 action = log_db delete_cow
972 action = delete_cow
973 }
974
975 #################################################################################################################
976 #====== Rearing #
977 #################################################################################################################
978
979 #_______CALF: heifers of age < 100 days
980
981 state{
982 state = CALF
983 }
984
985 link{
986 trigger = enter heifers
987 condition = age < 100
988 # action = log_db heifers_to_CALF
989 action = state_move heifers CALF
990 }
991
992 link{
993 trigger = calving
994 condition = state_size CALF > 333
995 action = log_db REMOVE_CALF_to_limit_size
996 action = delete_calf
997 }
998
999 #_______HEIFER: heifers of age >= 100 days
1000
1001 state{
1002 state = HEIFER
1003 }
1004
1005 link{
1006 trigger = enter heifers
1007 condition = age >= 100
1008 # action = log_db heifers_to_HEIFER
1009 action = state_move heifers HEIFER
1010 }
1011
1012 link{
1013 trigger = every_day
1014 condition = age >= 100
1015 condition = is_in CALF
1016 # action = log_db CALF_to_HEIFER_@WEANING
1017 action = state_move CALF HEIFER
1018 }
1019
1020
1021 #################################################################################################################
1022 #====== Reproduction #
1023 #################################################################################################################
1024
1025 #_______CYCLING: non-pregnant heifers at 1st ovulation or postabortive/postpartum recycling cows _____________
1026
1027 state{
1028 state = CYCLING
1029 }
1030
1031 link{
1032 trigger = ovulation
1033 condition = is_in HEIFER
1034 # action = log_db HEIFER_to_CYCLING_@PUBERTY
1035 action = log_db 00_PUBERTY
1036 action = state_move HEIFER CYCLING
1037 }
1038
1039 link{
1040 trigger = ovulation
1041 action = log_db 00_OVULATION
1042 }
1043
1044 #_______BREEDING: cycling heifers and cows during breeding season ______________________________________________
1045
1046 state{
1047 state = BREEDING
1048 }
1049
1050 #During breeding season, not TO_CULL and CYCLING cows are moved to BREEDING
1051 link{
1052 trigger = every_day
1053 condition = breeding_season
1054 condition = not is_in TO_CULL
1055 condition = is_in CYCLING
1056 condition = is_in mature
1057 # action = log_db CYCLING_to_BREEDING
1058 action = state_move CYCLING BREEDING
1059 }
1060
1061 link{
1062 trigger = enter BREEDING
1063 # action = log_db Start_estrous_detection
1064 action = estrous_start estrous_detection_default
1065 }
1066
1067 link{
1068 trigger = every_day
1069 condition = not breeding_season
1070 condition = is_in BREEDING
1071 # action = log_db BREEDING_to_CYCLING
1072 action = state_move BREEDING CYCLING
1073 }
1074
1075 link{
1076 trigger = quit BREEDING
1077 # action = log_db Stop_estrous_detection
1078 action = estrous_stop
1079 }
1080
1081
1082 #_______PREGNANT: at conception _________________________________________________________________________________
1083
1084 state{
1085 state = PREGNANT
1086 }
1087
1088 link{
1089 trigger = conception
1090 action = log_db 02_CONCEPTION
1091 action = state_move BREEDING PREGNANT
1092 }
1093
1094 #_______POST-ABORTIVE: triggered at abortion ____________________________________________________________________
1095
1096 state{
1097 state = POST-ABORTIVE
1098 }
1099
1100 link{
1101 trigger = abortion
1102 condition = days_after_conception <= 17
1103 action = log_db 03_EARLY_EMBRYO_DEATH
1104 action = state_move PREGNANT CYCLING
1105 }
1106
1107 link{
1108 trigger = abortion
1109 condition = days_after_conception > 17
1110 condition = days_after_conception <= 64
1111 action = log_db 04_LATE_EMBRYO_DEATH
1112 action = state_move PREGNANT CYCLING
1113 }
1114
1115 trigger{
1116 type = custom
1117 name = post_abortive_recycling
1118 }
1119
1120 #Abortions after ] 64 - 210 days] days in pregnancy are managed with a voluntary period of 40 days
1121 link{
1122 trigger = abortion
1123 condition = days_after_conception > 64
1124 condition = days_after_conception <= 210
1125 action = log_db 05_FETAL_DEATH
1126 action = state_move PREGNANT POST-ABORTIVE
1127 action = trigger_later post_abortive_recycling 40
1128 }
1129
1130 link{
1131 trigger = post_abortive_recycling
1132 # action = log_db POST-ABORTIVE_to_CYCLING
1133 action = state_move POST-ABORTIVE CYCLING
1134 }
1135
1136 #Abortions after 210 days in pregnancy are managed by culling
1137 link{
1138 trigger = abortion
1139 condition = days_after_conception > 210
1140 action = log_db 05_FETAL_DEATH
1141 action = log_db TO_CULL_from_PREGNANT_after_late_fetal_death
1142 action = state_move PREGNANT TO_CULL
1143 }
1144
1145
1146 #_______POSTPARTAL: triggered at parturition ____________________________________________________________________
1147
1148 state{
1149 state = POSTPARTAL
1150 }
1151
1152 trigger{
1153 type = custom
1154 name = postpartal_recycling
1155 }
1156
1157 link{
1158 trigger = parturition
1159 action = log_db 06_PARTURITION
1160 # action = log_db PREGNANT_to_POSTPARTAL
1161 action = state_move PREGNANT POSTPARTAL
1162 action = trigger_later postpartal_recycling 40
1163 action = log_db start_milking
1164 action = start_milking
1165 }
1166
1167 link{
1168 trigger = postpartal_recycling
1169 # action = log_db POSTPARTAL_to_CYCLING
1170 action = state_move POSTPARTAL CYCLING
1171 }
1172
1173 #################################################################################################################
1174 #====== Drying-off #
1175 #################################################################################################################
1176
1177 #_______EXTENDED_LACTATION: CYCLING and is_milking after 305 days after calving
1178
1179 state{
1180 state = EXTENDED_LACTATION
1181 }
1182
1183 link{
1184 trigger = every_day
1185 condition = is_milking
1186 condition = not is_in PREGNANT
1187 condition = not is_in EXTENDED_LACTATION
1188 condition = days_after_calving >= 305
1189 # action = log_db Extended lactation
1190 action = state_add EXTENDED_LACTATION
1191 }
1192
1193 #stop 300 days_after_calving if milk_yield <= 5 kg/d and not in EXTENDED_LACTATION
1194 link{
1195 trigger = every_day
1196 condition = is_milking
1197 condition = not is_in EXTENDED_LACTATION
1198 condition = days_after_calving >= 300
1199 condition = milk_yield <= 5
1200 action = log_db stop_milking
1201 action = stop_milking
1202 }
1203
1204 #stop 300 days_after_calving if milk_yield <= 5 kg/d and in EXTENDED_LACTATION
1205 link{
1206 trigger = every_day
1207 condition = is_milking
1208 condition = is_in EXTENDED_LACTATION
1209 condition = days_after_calving >= 300
1210 condition = milk_yield <= 5
1211 action = log_db stop_milking_extended
1212 action = stop_milking
1213 }
1214
1215 #stop 300 days_after_calving and 219 days_in_pregnancy
1216 link{
1217 trigger = every_day
1218 condition = is_milking
1219 condition = is_pregnant
1220 condition = days_after_calving >= 300
1221 condition = days_in_pregnancy >= 219
1222 action = log_db stop_milking_pregnant
1223 action = stop_milking
1224 }
1225
1226 link{
1227 trigger = stop_milking
1228 trigger = enter PREGNANT
1229 condition = is_in EXTENDED_LACTATION
1230 action = state_delete EXTENDED_LACTATION
1231 }
1232
1233 #################################################################################################################
1234 #====== Culling #
1235 #################################################################################################################
1236
1237 #_______TO_CULL: ____________________________________________________________________
1238
1239 state{
1240 state = TO_CULL
1241 }
1242
1243 #______culling not pregnant nulliparous at age > 800 days
1244 link{
1245 trigger = every_day
1246 condition = is_in CYCLING
1247 condition = not is_in PREGNANT
1248 condition = parity = 0
1249 condition = age > 800
1250 action = log_db TO_CULL_from_CYCLING_because_too_old_heifer
1251 action = state_move CYCLING TO_CULL
1252 }
1253
1254
1255 #______culling not pregnant 320 days_after_calving
1256 link{
1257 trigger = every_day
1258 condition = days_after_calving > 320
1259 condition = is_in CYCLING
1260 action = log_db TO_CULL_from_CYCLING_because_too_late_after_calving
1261 action = state_move CYCLING TO_CULL
1262 }
1263
1264 #______culling not pregnant after 7 insemination
1265 link{
1266 trigger = every_day
1267 condition = is_in BREEDING
1268 condition = not is_in ALREADY_INSEMINATED
1269 condition = parity > 0
1270 condition = num_insemination_lactation >= 7
1271 action = log_db TO_CULL_from_BREEDING_max_nb_ins
1272 action = state_move BREEDING TO_CULL
1273 }
1274
1275 link{
1276 trigger = enter PREGNANT
1277 condition = is_in TO_CULL
1278 action = state_move TO_CULL PREGNANT
1279 }
1280
1281
1282 #______culling oldest cow
1283
1284 link{
1285 trigger = culling_day
1286 condition = state_size TO_CULL = 999999
1287 condition = state_size PREGNANT > 666
1288 #individual conditions, like not is_milking cannot be mixed wirh herd level triggers
1289 action = log_db Seek_for_oldest_to_cull
1290 action = cull_oldest
1291 }
1292
1293 trigger{
1294 type = custom
1295 name = tr_cull_oldest
1296 }
1297
1298 action{
1299 type = broadcast_now
1300 name = cull_oldest
1301 condition = not is_pregnant
1302 condition = not is_milking
1303 condition = not is_in HEIFER
1304 condition = not is_in CALF
1305 sortby = age
1306 reverse = yes
1307 limit = 1
1308 trigger = tr_cull_oldest
1309 }
1310
1311 link{
1312 trigger = tr_cull_oldest
1313 action = log_db remove_oldest
1314 action = delete_cow
1315 }
1316
1317
1318 #______remove cows TO_CULL once a month on day 15th
1319
1320 trigger{
1321 type = custom
1322 name = tr_remove_cows_to_cull
1323 }
1324
1325 link{
1326 trigger = tr_remove_cows_to_cull
1327 condition = is_in TO_CULL
1328 condition = not is_milking
1329 condition = not is_pregnant
1330 action = log_db Remove
1331 action = delete_cow
1332 }
1333
1334 trigger{
1335 type = chron
1336 name = culling_day
1337 scheme = *-*-15 14:00:00
1338 }
1339
1340 action{
1341 type = broadcast_now
1342 name = broadcast_TO_CULL
1343 condition = is_in TO_CULL
1344 trigger = tr_remove_cows_to_cull
1345 }
1346
1347 link{
1348 trigger = culling_day
1349 action = broadcast_TO_CULL
1350 }
1351
1352
1353 #################################################################################################################
1354 #====== Feeding #
1355 #################################################################################################################
1356 #______optimal feeding for 999
1357
1358 state{
1359 state = CONTROL
1360 }
1361
1362 link{
1363 trigger = enter herd
1364 condition = state_size herd <= 999 #nb_control 0 - 999
1365 action = change_food optimal
1366 action = state_add CONTROL #Cows are fed on optimal diet as a control
1367 }
1368
1369 #______Default feeding rules
1370
1371 #################### > at birth: on calf diet
1372 link{
1373 trigger = enter CALF
1374 condition = not is_in CONTROL
1375 action = change_food calf_diet
1376 }
1377
1378 #################### > at weaning: on heifer diet
1379 link{
1380 trigger = enter HEIFER
1381 condition = not is_in CONTROL
1382 action = change_food heifer_diet
1383 }
1384
1385 #################### > at parturition: on lactation diet
1386 link{
1387 trigger = parturition
1388 condition = not is_in CONTROL
1389 action = change_food lactation_diet
1390 }
1391
1392
1393 #################### > at drying-off: on drycow_diet
1394 link{
1395 trigger = stop_milking
1396 condition = not is_in CONTROL
1397 action = change_food drycow_diet
1398 }
1399
1400 #################### > OUTDOOR: on pasture diet
1401 trigger{
1402 type = chron
1403 name = outdoor
1404 scheme = *-04-01 00:00:00
1405 }
1406
1407 link{
1408 trigger = outdoor
1409 action = broadcast_outdoor
1410 }
1411
1412 action{
1413 type = broadcast_now
1414 name = broadcast_outdoor
1415 trigger = outdoor_feeding
1416 }
1417
1418 trigger{
1419 type = custom
1420 name = outdoor_feeding
1421 }
1422
1423 link{
1424 trigger = outdoor_feeding
1425 condition = not is_in CALF
1426 condition = not is_in CONTROL
1427 action = change_food pasture_diet
1428 }
1429
1430
1431 #################### > INDOOR: back to diet according to state
1432 trigger{
1433 type = chron
1434 name = indoor
1435 scheme = *-10-01 00:00:00
1436 }
1437
1438 link{
1439 trigger = indoor
1440 action = broadcast_indoor
1441 }
1442
1443 action{
1444 type = broadcast_now
1445 name = broadcast_indoor
1446 trigger = indoor_feeding
1447 }
1448
1449 trigger{
1450 type = custom
1451 name = indoor_feeding
1452 }
1453
1454 link{
1455 trigger = indoor_feeding
1456 condition = is_in HEIFER
1457 condition = not is_in CONTROL
1458 action = change_food heifer_diet
1459 }
1460
1461 link{
1462 trigger = indoor_feeding
1463 condition = is_in CYCLING
1464 condition = not is_in CONTROL
1465 action = change_food heifer_diet
1466 }
1467
1468 link{
1469 trigger = indoor_feeding
1470 condition = is_in BREEDING
1471 condition = not is_milking
1472 condition = not is_in CONTROL
1473 action = change_food heifer_diet
1474 }
1475
1476 link{
1477 trigger = indoor_feeding
1478 condition = not is_in BREEDING
1479 condition = not is_milking
1480 condition = not is_in CONTROL
1481 action = change_food drycow_diet
1482 }
1483
1484 link{
1485 trigger = indoor_feeding
1486 condition = is_milking
1487 condition = not is_in CONTROL
1488 action = change_food lactation_diet
1489 }
1490
1491
1492
1493
1494 #################################################################################################################
1495 #====== Generic stuff #
1496 #################################################################################################################
1497
1498 trigger{
1499 type = chron
1500 name = every_day_herd
1501 scheme = *-*-* 12:00:00
1502 }
1503
1504 trigger{
1505 type = custom
1506 name = every_day
1507 }
1508
1509 link{
1510 trigger = every_day_herd
1511 action = broadcast_now every_day
1512 }
1513
1514 trigger{
1515 type = custom
1516 name = first_day_sub
1517 }
1518
1519 trigger{
1520 type = custom
1521 name = first_day
1522 }
1523
1524 link{
1525 trigger = init
1526 action = trigger_later first_day_sub 0.001
1527 }
1528 link{
1529 trigger = first_day_sub
1530 action = broadcast_now first_day
1531 }
1532
1533 #################################################################################################################
1534 #====== Log #
1535 #################################################################################################################
1536
1537 log{
1538
1539 #farmer level
1540 insemination = yes
1541 change_food = yes
1542
1543 #herd level
1544 conception = yes
1545 parturition = yes
1546 death = yes
1547 estrous_observed = yes
1548 estrous_missed = yes
1549 estrous_environment= yes
1550 insemination_result= yes
1551 mature = yes
1552 ovulation = yes
1553 new_cow = yes
1554 delete_cow = yes
1555 abortion = yes
1556
1557 #cow level
1558 animal_performance = no
1559 }
1560
1561 #################################################################################################################
1562 #====== Log states #
1563 #################################################################################################################
1564
1565 action{
1566 type = genericlog_herd
1567
1568 name = log_states
1569 log_type = file
1570 file_path = states.txt
1571 sep_col = \t
1572 file_line_flush=no
1573
1574 #sqlite_path = states.sqlite
1575 #sqlite_table = states
1576
1577
1578 #--- from cow and simulator ---
1579 column{
1580 value = time
1581 name = time
1582 sqlite_type = numeric
1583 }
1584
1585 column{
1586 value = state.CONTROL
1587 name = CONTROL
1588 sqlite_type = numeric
1589 }
1590
1591 column{
1592 value = state.CALF
1593 name = CALF
1594 sqlite_type = numeric
1595 }
1596
1597 column{
1598 value = state.HEIFER
1599 name = HEIFER
1600 sqlite_type = numeric
1601 }
1602
1603 column{
1604 value = state.CYCLING
1605 name = CYCLING
1606 sqlite_type = numeric
1607 }
1608
1609 column{
1610 value = state.BREEDING
1611 name = BREEDING
1612 sqlite_type = numeric
1613 }
1614
1615 column{
1616 value = state.PREGNANT
1617 name = PREGNANT
1618 sqlite_type = numeric
1619 }
1620
1621 column{
1622 value = state.POST-ABORTIVE
1623 name = POST-ABORTIVE
1624 sqlite_type = numeric
1625 }
1626
1627 column{
1628 value = state.POSTPARTAL
1629 name = POSTPARTAL
1630 sqlite_type = numeric
1631 }
1632
1633 column{
1634 value = state.EXTENDED_LACTATION
1635 name = EXTENDED_LACTATION
1636 sqlite_type = numeric
1637 }
1638
1639 column{
1640 value = state.TO_CULL
1641 name = TO_CULL
1642 sqlite_type = numeric
1643 }
1644
1645
1646 # column{
1647 # value = state.not.mature
1648 # name = not_mature
1649 # sqlite_type = numeric
1650 # }
1651
1652 }
1653
1654 link{
1655 trigger = every_day_herd
1656 action = log_states
1657 }
1658
1659
1660
1661 ###s######## Default diets
1662
1663 feed{
1664 name = calf_diet
1665 type = mix
1666
1667 feed = CPL.MLK
1668 proportion = 1.00
1669 }
1670
1671 feed{
1672 name = heifer_diet
1673 type = mix
1674
1675 feed = FO.STR
1676 proportion = 0.02
1677 feed = FO.HAP
1678 proportion = 0.60
1679 feed = FO.GSI
1680 proportion = 0.32
1681 feed = CO.CER
1682 proportion = 0.05
1683 feed = CPL.CMV
1684 proportion = 0.01
1685 }
1686
1687 feed{
1688 name = lactation_diet
1689 type = mix
1690
1691 feed = FO.STR
1692 proportion = 0.01
1693 feed = FO.HAP
1694 proportion = 0.03
1695 feed = FO.GSI
1696 proportion = 0.04
1697 feed = FO.CSI
1698 proportion = 0.70
1699 feed = CO.CER
1700 proportion = 0.05
1701 feed = CO.OSC
1702 proportion = 0.13
1703 feed = CO.ROO
1704 proportion = 0.03
1705 feed = CPL.CMV
1706 proportion = 0.01
1707 }
1708
1709 feed{
1710 name = drycow_diet
1711 type = mix
1712
1713 feed = FO.STR
1714 proportion = 0.02
1715 feed = FO.HAP
1716 proportion = 0.68
1717 feed = FO.CSI
1718 proportion = 0.08
1719 feed = CO.CER
1720 proportion = 0.05
1721 feed = CO.OSC
1722 proportion = 0.13
1723 feed = CO.ROO
1724 proportion = 0.03
1725 feed = CPL.CMV
1726 proportion = 0.01
1727 }
1728
1729 feed{
1730 name = pasture_diet
1731 type = mix
1732
1733 feed = FO.FGX
1734 proportion = 0.778
1735 feed = CO.CER
1736 proportion = 0.050
1737 feed = CO.OSC
1738 proportion = 0.130
1739 feed = CO.TUB
1740 proportion = 0.002
1741 feed = CO.ROO
1742 proportion = 0.030
1743 feed = CPL.CMV
1744 proportion = 0.010
1745 }
1746
1747
1748
1749
1750
1751 ########################################################
1752 # #
1753 #List of available feed (derived from INRA tables) #
1754 # #
1755 ########################################################
1756
1757 ########### FORAGES ####################################
1758 # FO.STR Straw
1759 # FO.STN Straw treated with ammonia
1760 # FO.MSH Maize stover & husks
1761 # FO.HAL Legume hay
1762 # FO.HAG Gramineae hay
1763 # FO.HAP Permanent grassland hay
1764 # FO.DHA Dehydrated alfalfa
1765 # FO.DHF Dehydrated forage
1766 # FO.FGC Fresh cereal grass
1767 # FO.FGO Fresh oleaginous grass
1768 # FO.FGG Fresh gramineae grass
1769 # FO.FGX Fresh mixed grass (meadow)
1770 # FO.FGL Fresh legume grass
1771 # FO.GSI50 Grass silage > 50% DM
1772 # FO.GSI Grass silage
1773 # FO.CSI Corn silage
1774 # FO.FPF Faba & pea forage
1775 # FO.VEG Vegetable fodder
1776
1777 ########### CONCENTRATES ###############################
1778 # CO.CER Cereal seed & by-products
1779 # CO.OSC5 Oilseed cake <5% oil
1780 # CO.OSC Oilseed cake
1781 # CO.TUB Starchy tubers
1782 # CO.ROO Vegetable roots
1783 # CO.FPB Faba & pea bean
1784 # CO.LUP Lupin
1785 # CO.SDO Oilseed
1786
1787 ########### COMPLEMENTS ################################
1788 # CPL.CMV Compl. Minerals & Vitamins
1789 # CPL.AMA Amino acids
1790 # CPL.URE Urea
1791 # CPL.MOL Molasses
1792 # CPL.PLP Beet pulp
1793 # CPL.MLK Milk
1794 # CPL.OIL Oil
1795
1796
1797 feed{ # Straw
1798 # Type of feed: FORAGE
1799 # Maximum incorporation in diet: 80 %FM
1800 # Representative INRA feed: FP0090 Oat straw
1801 name = FO.STR
1802 type = ingredient
1803 feed_eD = 5.9512 # MJ_ME/kg_DM
1804 feed_DMC = 0.8825 # kg_DM/kg_FM
1805 feed_OM = 0.9100 # kg/kg_DM
1806 feed_OMd = 0.4500 # %
1807 feed_CP = 0.0360 # kg/kg_DM
1808 feed_CPd = 0.0296 # %
1809 feed_NDF = 0.7910 # kg/kg_DM
1810 feed_ST = 0.0000 # kg/kg_DM
1811 feed_STd = 0.0000 # %
1812 feed_EE = 0.0150 # kg/kg_DM
1813 }
1814 feed{ # Straw treated with ammonia
1815 # Type of feed: FORAGE
1816 # Maximum incorporation in diet: 80 %FM
1817 # Representative INRA feed: FP0080 Barley straw, NH3-treated 5%DM
1818 name = FO.STN
1819 type = ingredient
1820 feed_eD = 7.6484 # MJ_ME/kg_DM
1821 feed_DMC = 0.8867 # kg_DM/kg_FM
1822 feed_OM = 0.8970 # kg/kg_DM
1823 feed_OMd = 0.5567 # %
1824 feed_CP = 0.1000 # kg/kg_DM
1825 feed_CPd = 0.3933 # %
1826 feed_NDF = 0.7603 # kg/kg_DM
1827 feed_ST = 0.0000 # kg/kg_DM
1828 feed_STd = 0.0000 # %
1829 feed_EE = 0.0150 # kg/kg_DM
1830 }
1831 feed{ # Maize stover & husks
1832 # Type of feed: FORAGE
1833 # Maximum incorporation in diet: 80 %FM
1834 # Representative INRA feed: FP0180 Maize stover, ensiled
1835 name = FO.MSH
1836 type = ingredient
1837 feed_eD = 8.5847 # MJ_ME/kg_DM
1838 feed_DMC = 0.5022 # kg_DM/kg_FM
1839 feed_OM = 0.9332 # kg/kg_DM
1840 feed_OMd = 0.6220 # %
1841 feed_CP = 0.0888 # kg/kg_DM
1842 feed_CPd = 0.3432 # %
1843 feed_NDF = 0.6580 # kg/kg_DM
1844 feed_ST = 0.0000 # kg/kg_DM
1845 feed_STd = 0.0000 # %
1846 feed_EE = 0.0150 # kg/kg_DM
1847 }
1848 feed{ # Legume hay
1849 # Type of feed: FORAGE
1850 # Maximum incorporation in diet: 100 %FM
1851 # Representative INRA feed: FF3370 Lucerne hay
1852 name = FO.HAL
1853 type = ingredient
1854 feed_eD = 8.4626 # MJ_ME/kg_DM
1855 feed_DMC = 0.8500 # kg_DM/kg_FM
1856 feed_OM = 0.8956 # kg/kg_DM
1857 feed_OMd = 0.5987 # %
1858 feed_CP = 0.1791 # kg/kg_DM
1859 feed_CPd = 0.6818 # %
1860 feed_NDF = 0.5326 # kg/kg_DM
1861 feed_ST = 0.0000 # kg/kg_DM
1862 feed_STd = 0.0000 # %
1863 feed_EE = 0.0259 # kg/kg_DM
1864 }
1865 feed{ # Gramineae hay
1866 # Type of feed: FORAGE
1867 # Maximum incorporation in diet: 100 %FM
1868 # Representative INRA feed: FF1190 Italian ryegrass hay
1869 name = FO.HAG
1870 type = ingredient
1871 feed_eD = 8.8553 # MJ_ME/kg_DM
1872 feed_DMC = 0.8500 # kg_DM/kg_FM
1873 feed_OM = 0.9011 # kg/kg_DM
1874 feed_OMd = 0.6294 # %
1875 feed_CP = 0.1169 # kg/kg_DM
1876 feed_CPd = 0.5447 # %
1877 feed_NDF = 0.6421 # kg/kg_DM
1878 feed_ST = 0.0000 # kg/kg_DM
1879 feed_STd = 0.0000 # %
1880 feed_EE = 0.0300 # kg/kg_DM
1881 }
1882 feed{ # Permanent grassland hay
1883 # Type of feed: FORAGE
1884 # Maximum incorporation in diet: 100 %FM
1885 # Representative INRA feed: FF0750 Mountain permanent grassland hay
1886 name = FO.HAP
1887 type = ingredient
1888 feed_eD = 9.0294 # MJ_ME/kg_DM
1889 feed_DMC = 0.8500 # kg_DM/kg_FM
1890 feed_OM = 0.9133 # kg/kg_DM
1891 feed_OMd = 0.6196 # %
1892 feed_CP = 0.1270 # kg/kg_DM
1893 feed_CPd = 0.5679 # %
1894 feed_NDF = 0.6090 # kg/kg_DM
1895 feed_ST = 0.0000 # kg/kg_DM
1896 feed_STd = 0.0000 # %
1897 feed_EE = 0.0223 # kg/kg_DM
1898 }
1899 feed{ # Dehydrated alfalfa
1900 # Type of feed: FORAGE
1901 # Maximum incorporation in diet: 60 %FM
1902 # Representative INRA feed: CD0040 Dehydrated alfalfa
1903 name = FO.DHA
1904 type = ingredient
1905 feed_eD = 9.2187 # MJ_ME/kg_DM
1906 feed_DMC = 0.9070 # kg_DM/kg_FM
1907 feed_OM = 0.8752 # kg/kg_DM
1908 feed_OMd = 0.6317 # %
1909 feed_CP = 0.2002 # kg/kg_DM
1910 feed_CPd = 0.7017 # %
1911 feed_NDF = 0.4375 # kg/kg_DM
1912 feed_ST = 0.0297 # kg/kg_DM
1913 feed_STd = 0.8200 # %
1914 feed_EE = 0.0292 # kg/kg_DM
1915 }
1916 feed{ # Dehydrated forage
1917 # Type of feed: FORAGE
1918 # Maximum incorporation in diet: 60 %FM
1919 # Representative INRA feed: CD0120 Dehydrated Italian ryegrass
1920 name = FO.DHF
1921 type = ingredient
1922 feed_eD = 9.9954 # MJ_ME/kg_DM
1923 feed_DMC = 0.9080 # kg_DM/kg_FM
1924 feed_OM = 0.8898 # kg/kg_DM
1925 feed_OMd = 0.7010 # %
1926 feed_CP = 0.1436 # kg/kg_DM
1927 feed_CPd = 0.6182 # %
1928 feed_NDF = 0.5450 # kg/kg_DM
1929 feed_ST = 0.0024 # kg/kg_DM
1930 feed_STd = 0.1640 # %
1931 feed_EE = 0.0268 # kg/kg_DM
1932 }
1933 feed{ # Fresh cereal grass
1934 # Type of feed: FORAGE
1935 # Maximum incorporation in diet: 100 %FM
1936 # Representative INRA feed: FV2020 Fresh whole crop sorghum
1937 name = FO.FGC
1938 type = ingredient
1939 feed_eD = 9.4748 # MJ_ME/kg_DM
1940 feed_DMC = 0.2504 # kg_DM/kg_FM
1941 feed_OM = 0.9148 # kg/kg_DM
1942 feed_OMd = 0.6585 # %
1943 feed_CP = 0.1044 # kg/kg_DM
1944 feed_CPd = 0.6330 # %
1945 feed_NDF = 0.5710 # kg/kg_DM
1946 feed_ST = 0.0983 # kg/kg_DM
1947 feed_STd = 0.8652 # %
1948 feed_EE = 0.0304 # kg/kg_DM
1949 }
1950 feed{ # Fresh oleaginous grass
1951 # Type of feed: FORAGE
1952 # Maximum incorporation in diet: 100 %FM
1953 # Representative INRA feed: FV2830 Fresh silphium
1954 name = FO.FGO
1955 type = ingredient
1956 feed_eD = 9.8974 # MJ_ME/kg_DM
1957 feed_DMC = 0.1170 # kg_DM/kg_FM
1958 feed_OM = 0.8494 # kg/kg_DM
1959 feed_OMd = 0.7323 # %
1960 feed_CP = 0.1535 # kg/kg_DM
1961 feed_CPd = 0.7491 # %
1962 feed_NDF = 0.4212 # kg/kg_DM
1963 feed_ST = 0.0000 # kg/kg_DM
1964 feed_STd = 0.0000 # %
1965 feed_EE = 0.0248 # kg/kg_DM
1966 }
1967 feed{ # Fresh gramineae grass
1968 # Type of feed: FORAGE
1969 # Maximum incorporation in diet: 100 %FM
1970 # Representative INRA feed: FV0490 Fresh italian ryegrass
1971 name = FO.FGG
1972 type = ingredient
1973 feed_eD = 10.2129 # MJ_ME/kg_DM
1974 feed_DMC = 0.1885 # kg_DM/kg_FM
1975 feed_OM = 0.8893 # kg/kg_DM
1976 feed_OMd = 0.7150 # %
1977 feed_CP = 0.1452 # kg/kg_DM
1978 feed_CPd = 0.6756 # %
1979 feed_NDF = 0.5690 # kg/kg_DM
1980 feed_ST = 0.0000 # kg/kg_DM
1981 feed_STd = 0.0000 # %
1982 feed_EE = 0.0367 # kg/kg_DM
1983 }
1984 feed{ # Fresh mixed grass (meadow)
1985 # Type of feed: FORAGE
1986 # Maximum incorporation in diet: 100 %FM
1987 # Representative INRA feed: FV0120 Fresh lowland grassland
1988 name = FO.FGX
1989 type = ingredient
1990 feed_eD = 10.2424 # MJ_ME/kg_DM
1991 feed_DMC = 0.1946 # kg_DM/kg_FM
1992 feed_OM = 0.9057 # kg/kg_DM
1993 feed_OMd = 0.6896 # %
1994 feed_CP = 0.1444 # kg/kg_DM
1995 feed_CPd = 0.6595 # %
1996 feed_NDF = 0.5498 # kg/kg_DM
1997 feed_ST = 0.0000 # kg/kg_DM
1998 feed_STd = 0.0000 # %
1999 feed_EE = 0.0265 # kg/kg_DM
2000 }
2001 feed{ # Fresh legume grass
2002 # Type of feed: FORAGE
2003 # Maximum incorporation in diet: 100 %FM
2004 # Representative INRA feed: FV2370 Fresh red clover
2005 name = FO.FGL
2006 type = ingredient
2007 feed_eD = 10.3243 # MJ_ME/kg_DM
2008 feed_DMC = 0.1749 # kg_DM/kg_FM
2009 feed_OM = 0.8844 # kg/kg_DM
2010 feed_OMd = 0.7014 # %
2011 feed_CP = 0.2046 # kg/kg_DM
2012 feed_CPd = 0.7671 # %
2013 feed_NDF = 0.4603 # kg/kg_DM
2014 feed_ST = 0.0000 # kg/kg_DM
2015 feed_STd = 0.0000 # %
2016 feed_EE = 0.0287 # kg/kg_DM
2017 }
2018 feed{ # Grass silage > 50% DM
2019 # Type of feed: FORAGE
2020 # Maximum incorporation in diet: 100 %FM
2021 # Representative INRA feed: FE2790 Wilted perennial ryegrass silage
2022 name = FO.GSI50
2023 type = ingredient
2024 feed_eD = 9.3078 # MJ_ME/kg_DM
2025 feed_DMC = 0.5502 # kg_DM/kg_FM
2026 feed_OM = 0.9056 # kg/kg_DM
2027 feed_OMd = 0.6545 # %
2028 feed_CP = 0.1351 # kg/kg_DM
2029 feed_CPd = 0.6395 # %
2030 feed_NDF = 0.5744 # kg/kg_DM
2031 feed_ST = 0.0000 # kg/kg_DM
2032 feed_STd = 0.0000 # %
2033 feed_EE = 0.0337 # kg/kg_DM
2034 }
2035 feed{ # Grass silage
2036 # Type of feed: FORAGE
2037 # Maximum incorporation in diet: 100 %FM
2038 # Representative INRA feed: FE2220 Perennial ryegrass silage
2039 name = FO.GSI
2040 type = ingredient
2041 feed_eD = 10.3090 # MJ_ME/kg_DM
2042 feed_DMC = 0.2234 # kg_DM/kg_FM
2043 feed_OM = 0.8950 # kg/kg_DM
2044 feed_OMd = 0.6952 # %
2045 feed_CP = 0.1406 # kg/kg_DM
2046 feed_CPd = 0.6469 # %
2047 feed_NDF = 0.5425 # kg/kg_DM
2048 feed_ST = 0.0000 # kg/kg_DM
2049 feed_STd = 0.0000 # %
2050 feed_EE = 0.0374 # kg/kg_DM
2051 }
2052 feed{ # Corn silage
2053 # Type of feed: FORAGE
2054 # Maximum incorporation in diet: 100 %FM
2055 # Representative INRA feed: FE4710 Fine chop 30% DM corn silage
2056 name = FO.CSI
2057 type = ingredient
2058 feed_eD = 10.6995 # MJ_ME/kg_DM
2059 feed_DMC = 0.3109 # kg_DM/kg_FM
2060 feed_OM = 0.9484 # kg/kg_DM
2061 feed_OMd = 0.7061 # %
2062 feed_CP = 0.0848 # kg/kg_DM
2063 feed_CPd = 0.5300 # %
2064 feed_NDF = 0.4415 # kg/kg_DM
2065 feed_ST = 0.2754 # kg/kg_DM
2066 feed_STd = 0.7660 # %
2067 feed_EE = 0.0310 # kg/kg_DM
2068 }
2069 feed{ # Faba & pea forage
2070 # Type of feed: FORAGE
2071 # Maximum incorporation in diet: 100 %FM
2072 # Representative INRA feed: FV2700 Fresh faba bean forage
2073 name = FO.FPF
2074 type = ingredient
2075 feed_eD = 10.8203 # MJ_ME/kg_DM
2076 feed_DMC = 0.2546 # kg_DM/kg_FM
2077 feed_OM = 0.9115 # kg/kg_DM
2078 feed_OMd = 0.7188 # %
2079 feed_CP = 0.1578 # kg/kg_DM
2080 feed_CPd = 0.7156 # %
2081 feed_NDF = 0.4160 # kg/kg_DM
2082 feed_ST = 0.0913 # kg/kg_DM
2083 feed_STd = 0.7650 # %
2084 feed_EE = 0.0288 # kg/kg_DM
2085 }
2086 feed{ # Vegetable fodder
2087 # Type of feed: FORAGE
2088 # Maximum incorporation in diet: 100 %FM
2089 # Representative INRA feed: FV2840 Fresh kale
2090 name = FO.VEG
2091 type = ingredient
2092 feed_eD = 12.0901 # MJ_ME/kg_DM
2093 feed_DMC = 0.1348 # kg_DM/kg_FM
2094 feed_OM = 0.8674 # kg/kg_DM
2095 feed_OMd = 0.8260 # %
2096 feed_CP = 0.1684 # kg/kg_DM
2097 feed_CPd = 0.7794 # %
2098 feed_NDF = 0.3382 # kg/kg_DM
2099 feed_ST = 0.0000 # kg/kg_DM
2100 feed_STd = 0.0000 # %
2101 feed_EE = 0.0080 # kg/kg_DM
2102 }
2103 feed{ # Cereal seed & by-products
2104 # Type of feed: CONCENTRATE
2105 # Maximum incorporation in diet: 60 %FM
2106 # Representative INRA feed: CS0160 Wheat middlings, starch 30-40%
2107 name = CO.CER
2108 type = ingredient
2109 feed_eD = 12.3262 # MJ_ME/kg_DM
2110 feed_DMC = 0.8835 # kg_DM/kg_FM
2111 feed_OM = 0.9541 # kg/kg_DM
2112 feed_OMd = 0.7712 # %
2113 feed_CP = 0.1642 # kg/kg_DM
2114 feed_CPd = 0.6629 # %
2115 feed_NDF = 0.2909 # kg/kg_DM
2116 feed_ST = 0.4008 # kg/kg_DM
2117 feed_STd = 0.8041 # %
2118 feed_EE = 0.0584 # kg/kg_DM
2119 }
2120 feed{ # Oilseed cake <5% oil
2121 # Type of feed: CONCENTRATE
2122 # Maximum incorporation in diet: 60 %FM
2123 # Representative INRA feed: CX0050 Cottonseed meal, cr. fibre 15-20%
2124 name = CO.OSC5
2125 type = ingredient
2126 feed_eD = 12.0555 # MJ_ME/kg_DM
2127 feed_DMC = 0.8907 # kg_DM/kg_FM
2128 feed_OM = 0.9309 # kg/kg_DM
2129 feed_OMd = 0.7747 # %
2130 feed_CP = 0.4309 # kg/kg_DM
2131 feed_CPd = 0.7740 # %
2132 feed_NDF = 0.2931 # kg/kg_DM
2133 feed_ST = 0.0527 # kg/kg_DM
2134 feed_STd = 0.8200 # %
2135 feed_EE = 0.0236 # kg/kg_DM
2136 }
2137 feed{ # Oilseed cake
2138 # Type of feed: CONCENTRATE
2139 # Maximum incorporation in diet: 60 %FM
2140 # Representative INRA feed: CX0310 Sunflower meal, oil 5-20%
2141 name = CO.OSC
2142 type = ingredient
2143 feed_eD = 12.6524 # MJ_ME/kg_DM
2144 feed_DMC = 0.9207 # kg_DM/kg_FM
2145 feed_OM = 0.9368 # kg/kg_DM
2146 feed_OMd = 0.7350 # %
2147 feed_CP = 0.3499 # kg/kg_DM
2148 feed_CPd = 0.7570 # %
2149 feed_NDF = 0.3477 # kg/kg_DM
2150 feed_ST = 0.0444 # kg/kg_DM
2151 feed_STd = 0.8200 # %
2152 feed_EE = 0.1015 # kg/kg_DM
2153 }
2154 feed{ # Starchy tubers
2155 # Type of feed: CONCENTRATE
2156 # Maximum incorporation in diet: 60 %FM
2157 # Representative INRA feed: CP0030 Cassava
2158 name = CO.TUB
2159 type = ingredient
2160 feed_eD = 11.6622 # MJ_ME/kg_DM
2161 feed_DMC = 0.6480 # kg_DM/kg_FM
2162 feed_OM = 0.9510 # kg/kg_DM
2163 feed_OMd = 0.8367 # %
2164 feed_CP = 0.0750 # kg/kg_DM
2165 feed_CPd = 0.4888 # %
2166 feed_NDF = 0.1192 # kg/kg_DM
2167 feed_ST = 0.6447 # kg/kg_DM
2168 feed_STd = 0.7900 # %
2169 feed_EE = 0.0062 # kg/kg_DM
2170 }
2171 feed{ # Vegetable roots
2172 # Type of feed: CONCENTRATE
2173 # Maximum incorporation in diet: 60 %FM
2174 # Representative INRA feed: FR0040 Carrot
2175 name = CO.ROO
2176 type = ingredient
2177 feed_eD = 12.8261 # MJ_ME/kg_DM
2178 feed_DMC = 0.1568 # kg_DM/kg_FM
2179 feed_OM = 0.9311 # kg/kg_DM
2180 feed_OMd = 0.8900 # %
2181 feed_CP = 0.0896 # kg/kg_DM
2182 feed_CPd = 0.5710 # %
2183 feed_NDF = 0.1295 # kg/kg_DM
2184 feed_ST = 0.0050 # kg/kg_DM
2185 feed_STd = 0.2000 # %
2186 feed_EE = 0.0110 # kg/kg_DM
2187 }
2188 feed{ # Faba & pea bean
2189 # Type of feed: CONCENTRATE
2190 # Maximum incorporation in diet: 60 %FM
2191 # Representative INRA feed: CN0060 Faba bean seeds
2192 name = CO.FPB
2193 type = ingredient
2194 feed_eD = 13.6219 # MJ_ME/kg_DM
2195 feed_DMC = 0.8721 # kg_DM/kg_FM
2196 feed_OM = 0.9610 # kg/kg_DM
2197 feed_OMd = 0.9057 # %
2198 feed_CP = 0.2689 # kg/kg_DM
2199 feed_CPd = 0.7843 # %
2200 feed_NDF = 0.1550 # kg/kg_DM
2201 feed_ST = 0.4601 # kg/kg_DM
2202 feed_STd = 0.7586 # %
2203 feed_EE = 0.0146 # kg/kg_DM
2204 }
2205 feed{ # Lupin
2206 # Type of feed: CONCENTRATE
2207 # Maximum incorporation in diet: 60 %FM
2208 # Representative INRA feed: CN0130 White lupin seeds
2209 name = CO.LUP
2210 type = ingredient
2211 feed_eD = 15.2995 # MJ_ME/kg_DM
2212 feed_DMC = 0.8880 # kg_DM/kg_FM
2213 feed_OM = 0.9617 # kg/kg_DM
2214 feed_OMd = 0.8800 # %
2215 feed_CP = 0.3657 # kg/kg_DM
2216 feed_CPd = 0.8000 # %
2217 feed_NDF = 0.2257 # kg/kg_DM
2218 feed_ST = 0.0700 # kg/kg_DM
2219 feed_STd = 0.8200 # %
2220 feed_EE = 0.0850 # kg/kg_DM
2221 }
2222 feed{ # Oilseed
2223 # Type of feed: CONCENTRATE
2224 # Maximum incorporation in diet: 60 %FM
2225 # Representative INRA feed: CN0110 Linseeds
2226 name = CO.SDO
2227 type = ingredient
2228 feed_eD = 17.6063 # MJ_ME/kg_DM
2229 feed_DMC = 0.9143 # kg_DM/kg_FM
2230 feed_OM = 0.9539 # kg/kg_DM
2231 feed_OMd = 0.7650 # %
2232 feed_CP = 0.2647 # kg/kg_DM
2233 feed_CPd = 0.7380 # %
2234 feed_NDF = 0.2515 # kg/kg_DM
2235 feed_ST = 0.0461 # kg/kg_DM
2236 feed_STd = 0.8200 # %
2237 feed_EE = 0.3208 # kg/kg_DM
2238 }
2239 feed{ # Compl. Minerals & Vitamins
2240 # Type of feed: COMPLEMENT
2241 # Maximum incorporation in diet: 5 %FM
2242 # Representative INRA feed: MC0010 Crushed chalk
2243 name = CPL.CMV
2244 type = ingredient
2245 feed_eD = 0.0000 # MJ_ME/kg_DM
2246 feed_DMC = 0.9500 # kg_DM/kg_FM
2247 feed_OM = 0.0000 # kg/kg_DM
2248 feed_OMd = 0.0000 # %
2249 feed_CP = 0.0000 # kg/kg_DM
2250 feed_CPd = 0.0000 # %
2251 feed_NDF = 0.0000 # kg/kg_DM
2252 feed_ST = 0.0000 # kg/kg_DM
2253 feed_STd = 0.0000 # %
2254 feed_EE = 0.0000 # kg/kg_DM
2255 }
2256 feed{ # Amino acids
2257 # Type of feed: COMPLEMENT
2258 # Maximum incorporation in diet: 5 %FM
2259 # Representative INRA feed: CAA020 L-threonin
2260 name = CPL.AMA
2261 type = ingredient
2262 feed_eD = 0.0000 # MJ_ME/kg_DM
2263 feed_DMC = 1.0000 # kg_DM/kg_FM
2264 feed_OM = 0.9960 # kg/kg_DM
2265 feed_OMd = 1.0000 # %
2266 feed_CP = 0.7450 # kg/kg_DM
2267 feed_CPd = 1.0000 # %
2268 feed_NDF = 0.0000 # kg/kg_DM
2269 feed_ST = 0.0000 # kg/kg_DM
2270 feed_STd = 0.0000 # %
2271 feed_EE = 0.0000 # kg/kg_DM
2272 }
2273 feed{ # Urea
2274 # Type of feed: COMPLEMENT
2275 # Maximum incorporation in diet: 5 %FM
2276 # Representative INRA feed: CV0020 Urea
2277 name = CPL.URE
2278 type = ingredient
2279 feed_eD = 3.3890 # MJ_ME/kg_DM
2280 feed_DMC = 0.9940 # kg_DM/kg_FM
2281 feed_OM = 1.0000 # kg/kg_DM
2282 feed_OMd = 0.9900 # %
2283 feed_CP = 2.8700 # kg/kg_DM
2284 feed_CPd = 1.0000 # %
2285 feed_NDF = 0.0000 # kg/kg_DM
2286 feed_ST = 0.0000 # kg/kg_DM
2287 feed_STd = 0.0000 # %
2288 feed_EE = 0.0000 # kg/kg_DM
2289 }
2290 feed{ # Molasses
2291 # Type of feed: COMPLEMENT
2292 # Maximum incorporation in diet: 10 %FM
2293 # Representative INRA feed: CP0170 Beet molasses
2294 name = CPL.MOL
2295 type = ingredient
2296 feed_eD = 9.7906 # MJ_ME/kg_DM
2297 feed_DMC = 0.7390 # kg_DM/kg_FM
2298 feed_OM = 0.8660 # kg/kg_DM
2299 feed_OMd = 0.8250 # %
2300 feed_CP = 0.1000 # kg/kg_DM
2301 feed_CPd = 0.5800 # %
2302 feed_NDF = 0.0015 # kg/kg_DM
2303 feed_ST = 0.0000 # kg/kg_DM
2304 feed_STd = 0.0000 # %
2305 feed_EE = 0.0070 # kg/kg_DM
2306 }
2307 feed{ # Beet pulp
2308 # Type of feed: COMPLEMENT
2309 # Maximum incorporation in diet: 10 %FM
2310 # Representative INRA feed: CP0020 Pressed beet pulp
2311 name = CPL.PLP
2312 type = ingredient
2313 feed_eD = 11.5046 # MJ_ME/kg_DM
2314 feed_DMC = 0.4503 # kg_DM/kg_FM
2315 feed_OM = 0.9243 # kg/kg_DM
2316 feed_OMd = 0.8367 # %
2317 feed_CP = 0.0913 # kg/kg_DM
2318 feed_CPd = 0.6470 # %
2319 feed_NDF = 0.4827 # kg/kg_DM
2320 feed_ST = 0.0047 # kg/kg_DM
2321 feed_STd = 0.5467 # %
2322 feed_EE = 0.0097 # kg/kg_DM
2323 }
2324 feed{ # Milk
2325 # Type of feed: COMPLEMENT
2326 # Maximum incorporation in diet: 100 %FM
2327 # Representative INRA feed: CL0020 Whole milk powder
2328 name = CPL.MLK
2329 type = ingredient
2330 feed_eD = 18.8280 # MJ_ME/kg_DM
2331 feed_DMC = 0.9600 # kg_DM/kg_FM
2332 feed_OM = 0.9350 # kg/kg_DM
2333 feed_OMd = 0.9400 # %
2334 feed_CP = 0.2540 # kg/kg_DM
2335 feed_CPd = 0.7800 # %
2336 feed_NDF = 0.0000 # kg/kg_DM
2337 feed_ST = 0.0000 # kg/kg_DM
2338 feed_STd = 0.0000 # %
2339 feed_EE = 0.2510 # kg/kg_DM
2340 }
2341 feed{ # Oil
2342 # Type of feed: COMPLEMENT
2343 # Maximum incorporation in diet: 5 %FM
2344 # Representative INRA feed: CG0050 Soybean oil
2345 name = CPL.OIL
2346 type = ingredient
2347 feed_eD = 36.6937 # MJ_ME/kg_DM
2348 feed_DMC = 0.9980 # kg_DM/kg_FM
2349 feed_OM = 0.9995 # kg/kg_DM
2350 feed_OMd = 0.8900 # %
2351 feed_CP = 0.0000 # kg/kg_DM
2352 feed_CPd = 0.0000 # %
2353 feed_NDF = 0.0000 # kg/kg_DM
2354 feed_ST = 0.0000 # kg/kg_DM
2355 feed_STd = 0.0000 # %
2356 feed_EE = 0.9992 # kg/kg_DM
2357 }
2358
2359
2360