pyholos 0.0.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pyholos might be problematic. Click here for more details.
- pyholos/__init__.py +0 -0
- pyholos/common.py +141 -0
- pyholos/common2.py +157 -0
- pyholos/components/__init__.py +0 -0
- pyholos/components/animals/__init__.py +0 -0
- pyholos/components/animals/beef.py +766 -0
- pyholos/components/animals/common.py +2301 -0
- pyholos/components/animals/dairy.py +341 -0
- pyholos/components/animals/sheep.py +412 -0
- pyholos/components/common.py +170 -0
- pyholos/components/land_management/__init__.py +0 -0
- pyholos/components/land_management/carbon/__init__.py +0 -0
- pyholos/components/land_management/carbon/climate.py +863 -0
- pyholos/components/land_management/carbon/management.py +21 -0
- pyholos/components/land_management/carbon/relative_biomass_information.py +410 -0
- pyholos/components/land_management/carbon/tillage.py +88 -0
- pyholos/components/land_management/common.py +220 -0
- pyholos/components/land_management/crop.py +1233 -0
- pyholos/components/land_management/field_system.py +458 -0
- pyholos/components/land_management/utils.py +66 -0
- pyholos/config.py +49 -0
- pyholos/core_constants.py +20 -0
- pyholos/defaults.py +116 -0
- pyholos/farm/__init__.py +0 -0
- pyholos/farm/enums.py +54 -0
- pyholos/farm/farm.py +101 -0
- pyholos/farm/farm_inputs.py +633 -0
- pyholos/farm/farm_settings.py +542 -0
- pyholos/launching.py +86 -0
- pyholos/postprocessing/__init__.py +0 -0
- pyholos/postprocessing/plots.py +164 -0
- pyholos/postprocessing/postprocessing.py +38 -0
- pyholos/resources/holos/Table_16_Livestock_Coefficients_BeefAndDairy_Cattle_Provider.csv +21 -0
- pyholos/resources/holos/Table_21_Average_Milk_Production_For_Dairy_Cows_By_Province.csv +23 -0
- pyholos/resources/holos/Table_22_Livestock_Coefficients_For_Sheep.csv +28 -0
- pyholos/resources/holos/Table_29_Percentage_Total_Manure_Produced_In_Systems.csv +56 -0
- pyholos/resources/holos/Table_30_Default_Bedding_Material_Composition_Provider.csv +28 -0
- pyholos/resources/holos/Table_50_Fuel_Energy_Requirement_Estimates_By_Region.csv +81 -0
- pyholos/resources/holos/Table_51_Herbicide_Energy_Requirement_Estimates_By_Region.csv +81 -0
- pyholos/resources/holos/Table_61_Fractions_of_dairy_cattle_N_volatilized.csv +25 -0
- pyholos/resources/holos/Table_62_Fractions_of_swine_N_volatilized.csv +25 -0
- pyholos/resources/holos/Table_6_Manure_Types_And_Default_Composition.csv +126 -0
- pyholos/resources/holos/Table_7_Relative_Biomass_Information.csv +112 -0
- pyholos/resources/holos/Table_9_Default_Values_For_Nitrogen_Lignin_In_Crops.csv +72 -0
- pyholos/resources/holos/Table_Tillage_Factor.csv +13 -0
- pyholos/resources/holos/feeds.csv +223 -0
- pyholos/resources/holos/main_tables.py +493 -0
- pyholos/resources/holos/small_area_yields.csv +167159 -0
- pyholos/resources/soil_landscapes_of_canada_v3r2.zip +0 -0
- pyholos/soil.py +439 -0
- pyholos/utils.py +83 -0
- pyholos-0.0.1.dist-info/METADATA +16 -0
- pyholos-0.0.1.dist-info/RECORD +55 -0
- pyholos-0.0.1.dist-info/WHEEL +4 -0
- pyholos-0.0.1.dist-info/licenses/LICENSE +677 -0
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
from datetime import date
|
|
2
|
+
|
|
3
|
+
from pyholos.common import Component, EnumGeneric, HolosVar
|
|
4
|
+
from pyholos.components.animals.common import (
|
|
5
|
+
AnimalCoefficientData, AnimalType, Bedding, BeddingMaterialType, Diet,
|
|
6
|
+
DietAdditiveType, HousingType, LivestockEmissionConversionFactorsData,
|
|
7
|
+
ManureStateType, Milk, ProductionStage,
|
|
8
|
+
get_beef_and_dairy_cattle_coefficient_data,
|
|
9
|
+
get_beef_and_dairy_cattle_feeding_activity_coefficient,
|
|
10
|
+
get_default_methane_producing_capacity_of_manure)
|
|
11
|
+
from pyholos.config import DATE_FMT
|
|
12
|
+
from pyholos.utils import convert_camel_case_to_space_delimited, get_local_args
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class _GroupNameType:
|
|
16
|
+
def __init__(
|
|
17
|
+
self,
|
|
18
|
+
animal_type: AnimalType,
|
|
19
|
+
):
|
|
20
|
+
self.type = animal_type
|
|
21
|
+
self.name = convert_camel_case_to_space_delimited(s=animal_type.value.replace('Cow', '')).capitalize()
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class GroupNameType(EnumGeneric):
|
|
25
|
+
dairy_heifers = _GroupNameType(animal_type=AnimalType.dairy_heifers)
|
|
26
|
+
dairy_lactating_cow = _GroupNameType(animal_type=AnimalType.dairy_lactating_cow)
|
|
27
|
+
dairy_calves = _GroupNameType(animal_type=AnimalType.dairy_calves)
|
|
28
|
+
dairy_dry_cow = _GroupNameType(animal_type=AnimalType.dairy_dry_cow)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class DairyBase(Component):
|
|
32
|
+
def __init__(self):
|
|
33
|
+
super().__init__()
|
|
34
|
+
self.name = HolosVar(name="Name", value="Dairy cattle")
|
|
35
|
+
self.component_type = HolosVar(name="Component Type", value="H.Core.Models.Animals.Dairy.DairyComponent")
|
|
36
|
+
self.group_name = HolosVar(name="Group Name", value=None)
|
|
37
|
+
self.group_type = HolosVar(name="Group Type", value=None)
|
|
38
|
+
self.management_period_name = HolosVar(name="Management Period Name", value=None)
|
|
39
|
+
self.management_period_start_date = HolosVar(name="Management Period Start Date", value=None)
|
|
40
|
+
self.management_period_days = HolosVar(name="Management Period Days", value=None)
|
|
41
|
+
self.number_of_animals = HolosVar(name="Number Of Animals", value=None)
|
|
42
|
+
self.production_stage = HolosVar(name="Production Stage", value=None)
|
|
43
|
+
self.number_of_young_animals = HolosVar(name="Number Of Young Animals", value=None)
|
|
44
|
+
self.group_pairing_number = HolosVar(name="Group Pairing Number", value=None)
|
|
45
|
+
self.start_weight = HolosVar(name="Start Weight", value=None)
|
|
46
|
+
self.end_weight = HolosVar(name="End Weight", value=None)
|
|
47
|
+
self.average_daily_gain = HolosVar(name="Average Daily Gain", value=None)
|
|
48
|
+
self.milk_production = HolosVar(name="Milk Production", value=None)
|
|
49
|
+
self.milk_fat_content = HolosVar(name="Milk Fat Content", value=None)
|
|
50
|
+
self.milk_protein_content_as_percentage = HolosVar(name="Milk Protein Content As Percentage", value=None)
|
|
51
|
+
self.diet_additive_type = HolosVar(name="Diet Additive Type", value=None)
|
|
52
|
+
self.methane_conversion_factor_of_diet = HolosVar(name="Methane Conversion Factor Of Diet", value=None)
|
|
53
|
+
|
|
54
|
+
self.methane_conversion_factor_adjusted = HolosVar(name="Methane Conversion Factor Adjusted", value=0)
|
|
55
|
+
"""deprecated"""
|
|
56
|
+
|
|
57
|
+
self.feed_intake = HolosVar(name="Feed Intake", value=0)
|
|
58
|
+
"""deprecated"""
|
|
59
|
+
|
|
60
|
+
self.crude_protein = HolosVar(name="Crude Protein", value=None)
|
|
61
|
+
self.ash_content_of_diet = HolosVar(name="Ash Content Of Diet", value=None)
|
|
62
|
+
self.forage = HolosVar(name="Forage", value=None)
|
|
63
|
+
self.tdn = HolosVar(name="TDN", value=None)
|
|
64
|
+
self.starch = HolosVar(name="Starch", value=None)
|
|
65
|
+
self.fat = HolosVar(name="Fat", value=None)
|
|
66
|
+
self.me = HolosVar(name="ME", value=None)
|
|
67
|
+
self.ndf = HolosVar(name="NDF", value=None)
|
|
68
|
+
|
|
69
|
+
self.volatile_solid_adjusted = HolosVar(name="Volatile Solid Adjusted", value=1)
|
|
70
|
+
"""deprecated"""
|
|
71
|
+
|
|
72
|
+
self.nitrogen_excretion_adjusted = HolosVar(name="Nitrogen Excretion Adjusted", value=1)
|
|
73
|
+
"""deprecated"""
|
|
74
|
+
|
|
75
|
+
self.dietary_net_energy_concentration = HolosVar(name="Dietary Net Energy Concentration", value=None)
|
|
76
|
+
self.gain_coefficient = HolosVar(name="Gain Coefficient", value=None)
|
|
77
|
+
|
|
78
|
+
self.gain_coefficient_a = HolosVar(name="Gain Coefficient A", value=0)
|
|
79
|
+
"""deprecated"""
|
|
80
|
+
|
|
81
|
+
self.gain_coefficient_b = HolosVar(name="Gain Coefficient B", value=0)
|
|
82
|
+
"""deprecated"""
|
|
83
|
+
|
|
84
|
+
self.housing_type = HolosVar(name="Housing Type", value=None)
|
|
85
|
+
self.activity_coefficient_of_feeding_situation = HolosVar(name="Activity Coefficient Of Feeding Situation",
|
|
86
|
+
value=None)
|
|
87
|
+
self.maintenance_coefficient = HolosVar(name="Maintenance Coefficient", value=None)
|
|
88
|
+
self.user_defined_bedding_rate = HolosVar(name="User Defined Bedding Rate", value=None)
|
|
89
|
+
self.total_carbon_kilograms_dry_matter_for_bedding = HolosVar(
|
|
90
|
+
name="Total Carbon Kilograms Dry Matter For Bedding", value=None)
|
|
91
|
+
self.total_nitrogen_kilograms_dry_matter_for_bedding = HolosVar(
|
|
92
|
+
name="Total Nitrogen Kilograms Dry Matter For Bedding", value=None)
|
|
93
|
+
self.moisture_content_of_bedding_material = HolosVar(name="Moisture Content Of Bedding Material", value=None)
|
|
94
|
+
self.methane_conversion_factor_of_manure = HolosVar(name="Methane Conversion Factor Of Manure", value=None)
|
|
95
|
+
self.n2o_direct_emission_factor = HolosVar(name="N2O Direct Emission Factor", value=None)
|
|
96
|
+
self.emission_factor_volatilization = HolosVar(name="Emission Factor Volatilization", value=None)
|
|
97
|
+
self.volatilization_fraction = HolosVar(name="Volatilization Fraction", value=None)
|
|
98
|
+
self.emission_factor_leaching = HolosVar(name="Emission Factor Leaching", value=None)
|
|
99
|
+
self.fraction_leaching = HolosVar(name="Fraction Leaching", value=None)
|
|
100
|
+
|
|
101
|
+
self.ash_content = HolosVar(name="Ash Content", value=8.0)
|
|
102
|
+
"""deprecated"""
|
|
103
|
+
|
|
104
|
+
self.methane_producing_capacity_of_manure = HolosVar(name="Methane Producing Capacity Of Manure", value=None)
|
|
105
|
+
|
|
106
|
+
self._animal_coefficient_data: AnimalCoefficientData | None = None
|
|
107
|
+
|
|
108
|
+
def get_animal_coefficient_data(self):
|
|
109
|
+
self._animal_coefficient_data = get_beef_and_dairy_cattle_coefficient_data(animal_type=self.group_type.value)
|
|
110
|
+
|
|
111
|
+
def set_feeding_activity_coefficient(self):
|
|
112
|
+
self.activity_coefficient_of_feeding_situation.value = get_beef_and_dairy_cattle_feeding_activity_coefficient(
|
|
113
|
+
housing_type=self.housing_type.value)
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
class Dairy(DairyBase):
|
|
117
|
+
def __init__(
|
|
118
|
+
self,
|
|
119
|
+
group_name: str,
|
|
120
|
+
animal_type: AnimalType,
|
|
121
|
+
management_period_name: str,
|
|
122
|
+
group_pairing_number: int,
|
|
123
|
+
management_period_start_date: date,
|
|
124
|
+
management_period_days: int,
|
|
125
|
+
number_of_animals: int,
|
|
126
|
+
production_stage: ProductionStage,
|
|
127
|
+
number_of_young_animals: int,
|
|
128
|
+
milk_data: Milk,
|
|
129
|
+
diet: Diet,
|
|
130
|
+
housing_type: HousingType,
|
|
131
|
+
manure_handling_system: ManureStateType,
|
|
132
|
+
manure_emission_factors: LivestockEmissionConversionFactorsData,
|
|
133
|
+
start_weight: float = None,
|
|
134
|
+
end_weight: float = None,
|
|
135
|
+
diet_additive_type: DietAdditiveType = DietAdditiveType.NONE,
|
|
136
|
+
bedding_material_type: BeddingMaterialType = BeddingMaterialType.NONE,
|
|
137
|
+
):
|
|
138
|
+
"""
|
|
139
|
+
|
|
140
|
+
Args:
|
|
141
|
+
group_name: GroupNames member
|
|
142
|
+
animal_type: AnimalType class instance
|
|
143
|
+
management_period_name: given name for the management period
|
|
144
|
+
group_pairing_number: number of paired animals
|
|
145
|
+
management_period_start_date: starting date for the management period
|
|
146
|
+
management_period_days: number of days of the management period
|
|
147
|
+
number_of_animals: number of animals
|
|
148
|
+
production_stage: ProductionStage class instance
|
|
149
|
+
number_of_young_animals: number of young animals
|
|
150
|
+
milk_data: class object that contains all required milk production data
|
|
151
|
+
diet: class object that contains all required diet data
|
|
152
|
+
housing_type: HousingType class instance
|
|
153
|
+
manure_handling_system: ManureStateType class instance
|
|
154
|
+
manure_emission_factors: LivestockEmissionConversionFactorsData class instance
|
|
155
|
+
start_weight: (kg) animal weight at the beginning of the management period
|
|
156
|
+
end_weight: (kg) animal weight at the end of the management period
|
|
157
|
+
diet_additive_type: type of the diet additive
|
|
158
|
+
bedding_material_type: bedding material type
|
|
159
|
+
"""
|
|
160
|
+
super().__init__()
|
|
161
|
+
self.group_name.value = group_name
|
|
162
|
+
self.group_type.value = animal_type.value
|
|
163
|
+
self.management_period_name.value = management_period_name
|
|
164
|
+
self.management_period_start_date.value = management_period_start_date.strftime(DATE_FMT)
|
|
165
|
+
self.management_period_days.value = management_period_days
|
|
166
|
+
self.number_of_animals.value = number_of_animals
|
|
167
|
+
self.production_stage.value = production_stage.value
|
|
168
|
+
self.number_of_young_animals.value = number_of_young_animals
|
|
169
|
+
self.group_pairing_number.value = group_pairing_number
|
|
170
|
+
|
|
171
|
+
self.get_animal_coefficient_data()
|
|
172
|
+
self.start_weight.value = self._animal_coefficient_data.default_initial_weight if start_weight is None else start_weight
|
|
173
|
+
self.end_weight.value = self._animal_coefficient_data.default_final_weight if end_weight is None else end_weight
|
|
174
|
+
self.maintenance_coefficient.value = self._animal_coefficient_data.baseline_maintenance_coefficient
|
|
175
|
+
self.gain_coefficient.value = self._animal_coefficient_data.gain_coefficient
|
|
176
|
+
|
|
177
|
+
self.average_daily_gain.value = (self.end_weight.value - self.start_weight.value) / management_period_days
|
|
178
|
+
|
|
179
|
+
self.milk_production.value = milk_data.production
|
|
180
|
+
self.milk_fat_content.value = milk_data.fat_content
|
|
181
|
+
self.milk_protein_content_as_percentage.value = milk_data.protein_content_as_percentage
|
|
182
|
+
|
|
183
|
+
self.diet_additive_type.value = diet_additive_type.value
|
|
184
|
+
|
|
185
|
+
self.crude_protein.value = diet.crude_protein_percentage
|
|
186
|
+
self.forage.value = diet.forage_percentage
|
|
187
|
+
self.tdn.value = diet.total_digestible_nutrient_percentage
|
|
188
|
+
self.ash_content_of_diet.value = diet.ash_percentage
|
|
189
|
+
self.starch.value = diet.starch_percentage
|
|
190
|
+
self.fat.value = diet.fat_percentage
|
|
191
|
+
self.me.value = diet.metabolizable_energy
|
|
192
|
+
self.ndf.value = diet.neutral_detergent_fiber_percentage
|
|
193
|
+
|
|
194
|
+
self.dietary_net_energy_concentration.value = diet.calc_dietary_net_energy_concentration_for_beef()
|
|
195
|
+
self.methane_conversion_factor_of_diet.value = diet.calc_methane_conversion_factor(animal_type=animal_type)
|
|
196
|
+
|
|
197
|
+
self.housing_type.value = housing_type.value
|
|
198
|
+
|
|
199
|
+
bedding = Bedding(
|
|
200
|
+
housing_type=housing_type,
|
|
201
|
+
bedding_material_type=bedding_material_type,
|
|
202
|
+
animal_type=animal_type)
|
|
203
|
+
|
|
204
|
+
self.user_defined_bedding_rate.value = bedding.user_defined_bedding_rate.value
|
|
205
|
+
self.total_carbon_kilograms_dry_matter_for_bedding.value = bedding.total_carbon_kilograms_dry_matter_for_bedding.value
|
|
206
|
+
self.total_nitrogen_kilograms_dry_matter_for_bedding.value = bedding.total_nitrogen_kilograms_dry_matter_for_bedding.value
|
|
207
|
+
self.moisture_content_of_bedding_material.value = bedding.moisture_content_of_bedding_material.value
|
|
208
|
+
|
|
209
|
+
self.set_feeding_activity_coefficient()
|
|
210
|
+
|
|
211
|
+
self.methane_producing_capacity_of_manure.value = get_default_methane_producing_capacity_of_manure(
|
|
212
|
+
is_pasture=housing_type.is_pasture(),
|
|
213
|
+
animal_type=animal_type)
|
|
214
|
+
|
|
215
|
+
self.methane_conversion_factor_of_manure.value = manure_emission_factors.MethaneConversionFactor
|
|
216
|
+
self.n2o_direct_emission_factor.value = manure_emission_factors.N2ODirectEmissionFactor
|
|
217
|
+
self.volatilization_fraction.value = manure_emission_factors.VolatilizationFraction
|
|
218
|
+
self.emission_factor_volatilization.value = manure_emission_factors.EmissionFactorVolatilization
|
|
219
|
+
self.fraction_leaching.value = manure_emission_factors.LeachingFraction
|
|
220
|
+
self.emission_factor_leaching.value = manure_emission_factors.EmissionFactorLeach
|
|
221
|
+
|
|
222
|
+
self.volatile_solid_adjusted.value = 1
|
|
223
|
+
self.nitrogen_excretion_adjusted.value = 1
|
|
224
|
+
self.gain_coefficient_a.value = 0
|
|
225
|
+
self.gain_coefficient_b.value = 0
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
class DairyHeifers(Dairy):
|
|
229
|
+
animal_group = GroupNameType.dairy_heifers.value
|
|
230
|
+
|
|
231
|
+
def __init__(
|
|
232
|
+
self,
|
|
233
|
+
management_period_name: str,
|
|
234
|
+
group_pairing_number: int,
|
|
235
|
+
management_period_start_date: date,
|
|
236
|
+
management_period_days: int,
|
|
237
|
+
number_of_animals: int,
|
|
238
|
+
production_stage: ProductionStage,
|
|
239
|
+
number_of_young_animals: int,
|
|
240
|
+
milk_data: Milk,
|
|
241
|
+
diet: Diet,
|
|
242
|
+
housing_type: HousingType,
|
|
243
|
+
manure_handling_system: ManureStateType,
|
|
244
|
+
manure_emission_factors: LivestockEmissionConversionFactorsData,
|
|
245
|
+
start_weight: float = None,
|
|
246
|
+
end_weight: float = None,
|
|
247
|
+
diet_additive_type: DietAdditiveType = DietAdditiveType.NONE,
|
|
248
|
+
bedding_material_type: BeddingMaterialType = BeddingMaterialType.NONE,
|
|
249
|
+
):
|
|
250
|
+
super().__init__(
|
|
251
|
+
group_name=self.animal_group.name,
|
|
252
|
+
animal_type=self.animal_group.type,
|
|
253
|
+
**get_local_args(locals())
|
|
254
|
+
)
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
class DairyLactatingCow(Dairy):
|
|
258
|
+
animal_group = GroupNameType.dairy_lactating_cow.value
|
|
259
|
+
|
|
260
|
+
def __init__(
|
|
261
|
+
self,
|
|
262
|
+
management_period_name: str,
|
|
263
|
+
group_pairing_number: int,
|
|
264
|
+
management_period_start_date: date,
|
|
265
|
+
management_period_days: int,
|
|
266
|
+
number_of_animals: int,
|
|
267
|
+
production_stage: ProductionStage,
|
|
268
|
+
number_of_young_animals: int,
|
|
269
|
+
milk_data: Milk,
|
|
270
|
+
diet: Diet,
|
|
271
|
+
housing_type: HousingType,
|
|
272
|
+
manure_handling_system: ManureStateType,
|
|
273
|
+
manure_emission_factors: LivestockEmissionConversionFactorsData,
|
|
274
|
+
start_weight: float = None,
|
|
275
|
+
end_weight: float = None,
|
|
276
|
+
diet_additive_type: DietAdditiveType = DietAdditiveType.NONE,
|
|
277
|
+
bedding_material_type: BeddingMaterialType = BeddingMaterialType.NONE,
|
|
278
|
+
):
|
|
279
|
+
super().__init__(
|
|
280
|
+
group_name=self.animal_group.name,
|
|
281
|
+
animal_type=self.animal_group.type,
|
|
282
|
+
**get_local_args(locals())
|
|
283
|
+
)
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
class DairyCalves(Dairy):
|
|
287
|
+
animal_group = GroupNameType.dairy_calves.value
|
|
288
|
+
|
|
289
|
+
def __init__(
|
|
290
|
+
self,
|
|
291
|
+
management_period_name: str,
|
|
292
|
+
group_pairing_number: int,
|
|
293
|
+
management_period_start_date: date,
|
|
294
|
+
management_period_days: int,
|
|
295
|
+
number_of_animals: int,
|
|
296
|
+
production_stage: ProductionStage,
|
|
297
|
+
number_of_young_animals: int,
|
|
298
|
+
milk_data: Milk,
|
|
299
|
+
diet: Diet,
|
|
300
|
+
housing_type: HousingType,
|
|
301
|
+
manure_handling_system: ManureStateType,
|
|
302
|
+
manure_emission_factors: LivestockEmissionConversionFactorsData,
|
|
303
|
+
start_weight: float = None,
|
|
304
|
+
end_weight: float = None,
|
|
305
|
+
diet_additive_type: DietAdditiveType = DietAdditiveType.NONE,
|
|
306
|
+
bedding_material_type: BeddingMaterialType = BeddingMaterialType.NONE,
|
|
307
|
+
):
|
|
308
|
+
super().__init__(
|
|
309
|
+
group_name=self.animal_group.name,
|
|
310
|
+
animal_type=self.animal_group.type,
|
|
311
|
+
**get_local_args(locals())
|
|
312
|
+
)
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
class DairyDryCow(Dairy):
|
|
316
|
+
animal_group = GroupNameType.dairy_dry_cow.value
|
|
317
|
+
|
|
318
|
+
def __init__(
|
|
319
|
+
self,
|
|
320
|
+
management_period_name: str,
|
|
321
|
+
group_pairing_number: int,
|
|
322
|
+
management_period_start_date: date,
|
|
323
|
+
management_period_days: int,
|
|
324
|
+
number_of_animals: int,
|
|
325
|
+
production_stage: ProductionStage,
|
|
326
|
+
number_of_young_animals: int,
|
|
327
|
+
milk_data: Milk,
|
|
328
|
+
diet: Diet,
|
|
329
|
+
housing_type: HousingType,
|
|
330
|
+
manure_handling_system: ManureStateType,
|
|
331
|
+
manure_emission_factors: LivestockEmissionConversionFactorsData,
|
|
332
|
+
start_weight: float = None,
|
|
333
|
+
end_weight: float = None,
|
|
334
|
+
diet_additive_type: DietAdditiveType = DietAdditiveType.NONE,
|
|
335
|
+
bedding_material_type: BeddingMaterialType = BeddingMaterialType.NONE,
|
|
336
|
+
):
|
|
337
|
+
super().__init__(
|
|
338
|
+
group_name=self.animal_group.name,
|
|
339
|
+
animal_type=self.animal_group.type,
|
|
340
|
+
**get_local_args(locals())
|
|
341
|
+
)
|