hestia-earth-models 0.70.0__py3-none-any.whl → 0.70.2__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.
Files changed (192) hide show
  1. hestia_earth/models/aware/scarcityWeightedWaterUse.py +8 -16
  2. hestia_earth/models/cml2001Baseline/resourceUseMineralsAndMetalsDuringCycle.py +2 -1
  3. hestia_earth/models/config/Cycle.json +98 -50
  4. hestia_earth/models/config/ImpactAssessment.json +12 -4
  5. hestia_earth/models/config/Site.json +40 -21
  6. hestia_earth/models/cycle/transformation.py +1 -1
  7. hestia_earth/models/cycle/utils.py +0 -6
  8. hestia_earth/models/data/ecoinventV3/__init__.py +15 -13
  9. hestia_earth/models/ecoalimV9/__init__.py +13 -0
  10. hestia_earth/models/ecoalimV9/cycle.py +128 -0
  11. hestia_earth/models/ecoalimV9/impact_assessment.py +125 -0
  12. hestia_earth/models/ecoalimV9/utils.py +31 -0
  13. hestia_earth/models/ecoinventV3/__init__.py +6 -14
  14. hestia_earth/models/ecoinventV3/utils.py +1 -29
  15. hestia_earth/models/ecoinventV3AndEmberClimate/__init__.py +8 -2
  16. hestia_earth/models/emissionNotRelevant/__init__.py +33 -8
  17. hestia_earth/models/{cycle → hestia}/aboveGroundCropResidue.py +4 -3
  18. hestia_earth/models/{cycle → hestia}/aboveGroundCropResidueTotal.py +1 -1
  19. hestia_earth/models/{site → hestia}/brackishWater.py +1 -1
  20. hestia_earth/models/{site → hestia}/cationExchangeCapacityPerKgSoil.py +1 -1
  21. hestia_earth/models/{cycle → hestia}/coldCarcassWeightPerHead.py +1 -1
  22. hestia_earth/models/{cycle → hestia}/coldDressedCarcassWeightPerHead.py +1 -1
  23. hestia_earth/models/{cycle → hestia}/concentrateFeed.py +1 -1
  24. hestia_earth/models/{cycle → hestia}/cropResidueManagement.py +1 -1
  25. hestia_earth/models/{cycle → hestia}/croppingIntensity.py +1 -1
  26. hestia_earth/models/{cycle → hestia}/energyContentLowerHeatingValue.py +1 -1
  27. hestia_earth/models/{cycle → hestia}/excretaKgMass.py +8 -3
  28. hestia_earth/models/{cycle → hestia}/excretaKgN.py +1 -1
  29. hestia_earth/models/{cycle → hestia}/excretaKgVs.py +1 -1
  30. hestia_earth/models/{cycle → hestia}/feedConversionRatio/__init__.py +1 -1
  31. hestia_earth/models/{site → hestia}/flowingWater.py +1 -1
  32. hestia_earth/models/{site → hestia}/freshWater.py +1 -1
  33. hestia_earth/models/{cycle → hestia}/inorganicFertiliser.py +1 -1
  34. hestia_earth/models/{cycle → hestia}/irrigatedTypeUnspecified.py +14 -19
  35. hestia_earth/models/hestia/landCover.py +30 -22
  36. hestia_earth/models/{cycle → hestia}/liveAnimal.py +1 -1
  37. hestia_earth/models/{cycle → hestia}/longFallowRatio.py +1 -1
  38. hestia_earth/models/{site → hestia}/management.py +4 -6
  39. hestia_earth/models/{cycle → hestia}/materialAndSubstrate.py +1 -1
  40. hestia_earth/models/{cycle → hestia}/milkYield.py +1 -1
  41. hestia_earth/models/{site → hestia}/netPrimaryProduction.py +1 -1
  42. hestia_earth/models/{site → hestia}/organicCarbonPerHa.py +1 -1
  43. hestia_earth/models/hestia/pToSurfaceWaterAquacultureSystems.py +148 -0
  44. hestia_earth/models/{cycle → hestia}/pastureGrass.py +1 -1
  45. hestia_earth/models/{cycle → hestia}/pastureSystem.py +1 -1
  46. hestia_earth/models/{site → hestia}/potentialEvapotranspirationAnnual.py +3 -3
  47. hestia_earth/models/{site → hestia}/potentialEvapotranspirationMonthly.py +3 -3
  48. hestia_earth/models/{site → hestia}/precipitationAnnual.py +3 -3
  49. hestia_earth/models/{site → hestia}/precipitationMonthly.py +3 -3
  50. hestia_earth/models/{site → hestia}/rainfallAnnual.py +3 -3
  51. hestia_earth/models/{site → hestia}/rainfallMonthly.py +3 -3
  52. hestia_earth/models/{cycle → hestia}/readyToCookWeightPerHead.py +1 -1
  53. hestia_earth/models/{cycle → hestia}/residueBurnt.py +1 -1
  54. hestia_earth/models/{cycle → hestia}/residueIncorporated.py +1 -1
  55. hestia_earth/models/{cycle → hestia}/residueLeftOnField.py +1 -1
  56. hestia_earth/models/hestia/residueRemoved.py +65 -13
  57. hestia_earth/models/{site → hestia}/salineWater.py +1 -1
  58. hestia_earth/models/{site → hestia}/soilMeasurement.py +1 -1
  59. hestia_earth/models/{cycle → hestia}/stockingDensityAnimalHousingAverage.py +1 -1
  60. hestia_earth/models/{site → hestia}/temperatureAnnual.py +3 -3
  61. hestia_earth/models/{site → hestia}/temperatureMonthly.py +3 -3
  62. hestia_earth/models/{site → hestia}/totalNitrogenPerKgSoil.py +1 -1
  63. hestia_earth/models/{cycle → hestia}/unknownPreSeasonWaterRegime.py +1 -1
  64. hestia_earth/models/hestia/utils.py +93 -0
  65. hestia_earth/models/{site → hestia}/waterDepth.py +1 -1
  66. hestia_earth/models/hestia/waterSalinity.py +78 -0
  67. hestia_earth/models/ipcc2019/aboveGroundBiomass.py +1 -1
  68. hestia_earth/models/ipcc2019/belowGroundBiomass.py +1 -1
  69. hestia_earth/models/ipcc2019/biomass_utils.py +2 -4
  70. hestia_earth/models/ipcc2019/ch4ToAirFloodedRice.py +166 -79
  71. hestia_earth/models/ipcc2019/ch4ToAirOrganicSoilCultivation.py +270 -0
  72. hestia_earth/models/ipcc2019/co2ToAirAboveGroundBiomassStockChange.py +0 -3
  73. hestia_earth/models/ipcc2019/co2ToAirBelowGroundBiomassStockChange.py +0 -3
  74. hestia_earth/models/ipcc2019/co2ToAirCarbonStockChange_utils.py +88 -63
  75. hestia_earth/models/ipcc2019/co2ToAirLimeHydrolysis.py +7 -5
  76. hestia_earth/models/ipcc2019/co2ToAirOrganicSoilCultivation.py +215 -0
  77. hestia_earth/models/ipcc2019/co2ToAirSoilOrganicCarbonStockChange.py +0 -3
  78. hestia_earth/models/ipcc2019/co2ToAirUreaHydrolysis.py +16 -9
  79. hestia_earth/models/ipcc2019/n2OToAirOrganicSoilCultivationDirect.py +161 -0
  80. hestia_earth/models/ipcc2019/nonCo2EmissionsToAirNaturalVegetationBurning.py +35 -47
  81. hestia_earth/models/ipcc2019/organicCarbonPerHa_tier_1.py +86 -1
  82. hestia_earth/models/ipcc2019/organicCarbonPerHa_tier_2.py +127 -1
  83. hestia_earth/models/ipcc2019/organicCarbonPerHa_utils.py +7 -5
  84. hestia_earth/models/ipcc2019/organicSoilCultivation_utils.py +159 -0
  85. hestia_earth/models/mocking/search-results.json +1113 -1113
  86. hestia_earth/models/pooreNemecek2018/utils.py +8 -2
  87. hestia_earth/models/schmidt2007/ch4ToAirWasteTreatment.py +1 -4
  88. hestia_earth/models/schmidt2007/h2SToAirWasteTreatment.py +1 -4
  89. hestia_earth/models/schmidt2007/n2OToAirWasteTreatmentDirect.py +1 -4
  90. hestia_earth/models/schmidt2007/nh3ToAirWasteTreatment.py +1 -4
  91. hestia_earth/models/site/grouped_measurement.py +132 -0
  92. hestia_earth/models/utils/__init__.py +4 -3
  93. hestia_earth/models/utils/background_emissions.py +52 -0
  94. hestia_earth/models/utils/blank_node.py +47 -14
  95. hestia_earth/models/utils/constant.py +26 -20
  96. hestia_earth/models/utils/impact_assessment.py +26 -17
  97. hestia_earth/models/utils/lookup.py +48 -39
  98. hestia_earth/models/utils/measurement.py +3 -3
  99. hestia_earth/models/utils/product.py +39 -1
  100. hestia_earth/models/utils/property.py +14 -6
  101. hestia_earth/models/version.py +1 -1
  102. {hestia_earth_models-0.70.0.dist-info → hestia_earth_models-0.70.2.dist-info}/METADATA +2 -2
  103. {hestia_earth_models-0.70.0.dist-info → hestia_earth_models-0.70.2.dist-info}/RECORD +187 -171
  104. tests/models/aware/test_scarcityWeightedWaterUse.py +1 -12
  105. tests/models/ecoalimV9/__init__.py +0 -0
  106. tests/models/ecoalimV9/test_cycle.py +21 -0
  107. tests/models/ecoalimV9/test_impact_assessment.py +24 -0
  108. tests/models/environmentalFootprintV3_1/test_scarcityWeightedWaterUse.py +4 -2
  109. tests/models/{cycle → hestia}/test_aboveGroundCropResidue.py +1 -1
  110. tests/models/{cycle → hestia}/test_aboveGroundCropResidueTotal.py +1 -1
  111. tests/models/{site → hestia}/test_brackishWater.py +1 -1
  112. tests/models/{site → hestia}/test_cationExchangeCapacityPerKgSoil.py +1 -1
  113. tests/models/{cycle → hestia}/test_coldCarcassWeightPerHead.py +1 -1
  114. tests/models/{cycle → hestia}/test_coldDressedCarcassWeightPerHead.py +1 -1
  115. tests/models/{cycle → hestia}/test_concentrateFeed.py +1 -1
  116. tests/models/{cycle → hestia}/test_cropResidueManagement.py +1 -1
  117. tests/models/{cycle → hestia}/test_croppingIntensity.py +1 -1
  118. tests/models/{cycle → hestia}/test_energyContentLowerHeatingValue.py +5 -3
  119. tests/models/{cycle → hestia}/test_excretaKgMass.py +1 -1
  120. tests/models/{cycle → hestia}/test_excretaKgN.py +1 -1
  121. tests/models/{cycle → hestia}/test_excretaKgVs.py +1 -1
  122. tests/models/{cycle → hestia}/test_feedConversionRatio.py +3 -4
  123. tests/models/{site → hestia}/test_flowingWater.py +1 -1
  124. tests/models/{site → hestia}/test_freshWater.py +1 -1
  125. tests/models/{cycle → hestia}/test_inorganicFertiliser.py +1 -1
  126. tests/models/{cycle → hestia}/test_irrigatedTypeUnspecified.py +2 -5
  127. tests/models/hestia/test_landCover.py +4 -34
  128. tests/models/{cycle → hestia}/test_liveAnimal.py +1 -1
  129. tests/models/{cycle → hestia}/test_longFallowRatio.py +1 -1
  130. tests/models/{site → hestia}/test_management.py +1 -1
  131. tests/models/{cycle → hestia}/test_materialsAndSubstrate.py +1 -1
  132. tests/models/{cycle → hestia}/test_milkYield.py +1 -1
  133. tests/models/{site → hestia}/test_netPrimaryProduction.py +1 -1
  134. tests/models/{site → hestia}/test_organicCarbonPerHa.py +1 -1
  135. tests/models/{site → hestia}/test_organicCarbonPerKgSoil.py +1 -1
  136. tests/models/{site → hestia}/test_organicCarbonPerM3Soil.py +1 -1
  137. tests/models/{site → hestia}/test_organicMatterPerKgSoil.py +1 -1
  138. tests/models/{site → hestia}/test_organicMatterPerM3Soil.py +1 -1
  139. tests/models/hestia/test_pToSurfaceWaterAquacultureSystems.py +56 -0
  140. tests/models/{cycle → hestia}/test_pastureGrass.py +1 -1
  141. tests/models/{cycle → hestia}/test_pastureSystem.py +1 -1
  142. tests/models/{site → hestia}/test_potentialEvapotranspirationAnnual.py +1 -1
  143. tests/models/{site → hestia}/test_potentialEvapotranspirationMonthly.py +1 -1
  144. tests/models/{site → hestia}/test_precipitationAnnual.py +1 -1
  145. tests/models/{site → hestia}/test_precipitationMonthly.py +1 -1
  146. tests/models/{site → hestia}/test_rainfallAnnual.py +1 -1
  147. tests/models/{site → hestia}/test_rainfallMonthly.py +1 -1
  148. tests/models/{cycle → hestia}/test_readyToCookWeightPerHead.py +1 -1
  149. tests/models/{cycle → hestia}/test_residueBurnt.py +1 -1
  150. tests/models/{cycle → hestia}/test_residueIncorporated.py +1 -1
  151. tests/models/{cycle → hestia}/test_residueLeftOnField.py +1 -1
  152. tests/models/hestia/test_residueRemoved.py +15 -3
  153. tests/models/{site → hestia}/test_salineWater.py +1 -1
  154. tests/models/{site → hestia}/test_soilMeasurement.py +13 -21
  155. tests/models/{cycle → hestia}/test_stockingDensityAnimalHousingAverage.py +1 -1
  156. tests/models/{site → hestia}/test_temperatureAnnual.py +1 -1
  157. tests/models/{site → hestia}/test_temperatureMonthly.py +1 -1
  158. tests/models/{site → hestia}/test_totalNitrogenPerKgSoil.py +1 -1
  159. tests/models/{cycle → hestia}/test_unknownPreSeasonWaterRegime.py +1 -1
  160. tests/models/{site → hestia}/test_waterDepth.py +1 -1
  161. tests/models/hestia/test_waterSalinity.py +26 -0
  162. tests/models/ipcc2019/test_ch4ToAirEntericFermentation.py +2 -5
  163. tests/models/ipcc2019/test_ch4ToAirFloodedRice.py +10 -42
  164. tests/models/ipcc2019/test_ch4ToAirOrganicSoilCultivation.py +61 -0
  165. tests/models/ipcc2019/test_co2ToAirAboveGroundBiomassStockChange.py +11 -9
  166. tests/models/ipcc2019/test_co2ToAirBelowGroundBiomassStockChange.py +10 -8
  167. tests/models/ipcc2019/test_co2ToAirLimeHydrolysis.py +1 -1
  168. tests/models/ipcc2019/test_co2ToAirOrganicSoilCultivation.py +62 -0
  169. tests/models/ipcc2019/test_co2ToAirSoilOrganicCarbonStockChange.py +11 -8
  170. tests/models/ipcc2019/test_n2OToAirOrganicSoilCultivationDirect.py +61 -0
  171. tests/models/ipcc2019/test_nonCo2EmissionsToAirNaturalVegetationBurning.py +3 -2
  172. tests/models/site/test_grouped_measurement.py +20 -0
  173. tests/models/test_ecoinventV3AndEmberClimate.py +2 -2
  174. tests/models/test_emissionNotRelevant.py +0 -8
  175. tests/models/utils/test_measurement.py +1 -1
  176. hestia_earth/models/cycle/residueRemoved.py +0 -54
  177. hestia_earth/models/hestia/nh3ToSurfaceWaterAquacultureSystems.py +0 -64
  178. hestia_earth/models/site/utils.py +0 -93
  179. tests/models/cycle/test_residueRemoved.py +0 -37
  180. tests/models/hestia/test_nh3ToSurfaceWaterAquacultureSystems.py +0 -51
  181. /hestia_earth/models/{cycle → hestia}/feedConversionRatio/feedConversionRatioCarbon.py +0 -0
  182. /hestia_earth/models/{cycle → hestia}/feedConversionRatio/feedConversionRatioDryMatter.py +0 -0
  183. /hestia_earth/models/{cycle → hestia}/feedConversionRatio/feedConversionRatioEnergy.py +0 -0
  184. /hestia_earth/models/{cycle → hestia}/feedConversionRatio/feedConversionRatioFedWeight.py +0 -0
  185. /hestia_earth/models/{cycle → hestia}/feedConversionRatio/feedConversionRatioNitrogen.py +0 -0
  186. /hestia_earth/models/{site → hestia}/organicCarbonPerKgSoil.py +0 -0
  187. /hestia_earth/models/{site → hestia}/organicCarbonPerM3Soil.py +0 -0
  188. /hestia_earth/models/{site → hestia}/organicMatterPerKgSoil.py +0 -0
  189. /hestia_earth/models/{site → hestia}/organicMatterPerM3Soil.py +0 -0
  190. {hestia_earth_models-0.70.0.dist-info → hestia_earth_models-0.70.2.dist-info}/LICENSE +0 -0
  191. {hestia_earth_models-0.70.0.dist-info → hestia_earth_models-0.70.2.dist-info}/WHEEL +0 -0
  192. {hestia_earth_models-0.70.0.dist-info → hestia_earth_models-0.70.2.dist-info}/top_level.txt +0 -0
@@ -74,7 +74,7 @@ def _get_factor_from_region(impact_assessment: dict, site: dict):
74
74
  return safe_parse_float(value, None)
75
75
 
76
76
 
77
- def _run(impact_assessment: dict):
77
+ def run(impact_assessment: dict):
78
78
  cycle = impact_assessment.get('cycle', {})
79
79
  product = get_product(impact_assessment)
80
80
  fresh_water = emission_value(impact_assessment, 'freshwaterWithdrawalsDuringCycle')
@@ -87,26 +87,18 @@ def _run(impact_assessment: dict):
87
87
  impact_assessment, product, sum_input_impacts(cycle.get('inputs', []), TERM_ID), model=MODEL, term_id=TERM_ID
88
88
  )
89
89
 
90
- logRequirements(impact_assessment, model=MODEL, term=TERM_ID,
91
- fresh_water=fresh_water,
92
- aware_id=aware_id,
93
- factor=factor,
94
- inputs_value=inputs_value)
95
-
96
90
  value = sum_values([
97
91
  multiply_values([fresh_water, factor]),
98
92
  inputs_value
99
93
  ])
100
- return _indicator(value) if value is not None else None
101
94
 
95
+ logRequirements(impact_assessment, model=MODEL, term=TERM_ID,
96
+ fresh_water=fresh_water,
97
+ aware_id=aware_id,
98
+ factor=factor,
99
+ inputs_value=inputs_value)
102
100
 
103
- def _should_run(impact_assessment: dict):
104
- site = get_site(impact_assessment)
105
- # does not run without a site as data is geospatial
106
- should_run = all([site])
101
+ should_run = all([value is not None])
107
102
  logShouldRun(impact_assessment, MODEL, TERM_ID, should_run)
108
- return should_run
109
-
110
103
 
111
- def run(impact_assessment: dict):
112
- return _run(impact_assessment) if _should_run(impact_assessment) else None
104
+ return [_indicator(value)] if should_run else []
@@ -6,7 +6,8 @@ from hestia_earth.utils.model import filter_list_term_type
6
6
  from hestia_earth.utils.tools import list_sum
7
7
 
8
8
  from hestia_earth.models.log import logRequirements, logShouldRun
9
- from hestia_earth.models.utils import _filter_list_term_unit, Units
9
+ from hestia_earth.models.utils import _filter_list_term_unit
10
+ from hestia_earth.models.utils.constant import Units
10
11
  from hestia_earth.models.utils.blank_node import _sum_nodes_value
11
12
  from hestia_earth.models.utils.indicator import _new_indicator
12
13
  from . import MODEL
@@ -28,7 +28,7 @@
28
28
  },
29
29
  {
30
30
  "key": "practices",
31
- "model": "cycle",
31
+ "model": "hestia",
32
32
  "value": "croppingIntensity",
33
33
  "runStrategy": "add_blank_node_if_missing",
34
34
  "mergeStrategy": "list",
@@ -93,7 +93,7 @@
93
93
  },
94
94
  {
95
95
  "key": "inputs",
96
- "model": "cycle",
96
+ "model": "hestia",
97
97
  "value": "materialAndSubstrate",
98
98
  "runStrategy": "always",
99
99
  "mergeStrategy": "list",
@@ -103,7 +103,7 @@
103
103
  [
104
104
  {
105
105
  "key": "practices",
106
- "model": "cycle",
106
+ "model": "hestia",
107
107
  "value": "residueBurnt",
108
108
  "runStrategy": "add_blank_node_if_missing",
109
109
  "mergeStrategy": "list",
@@ -111,7 +111,7 @@
111
111
  },
112
112
  {
113
113
  "key": "practices",
114
- "model": "cycle",
114
+ "model": "hestia",
115
115
  "value": "residueIncorporated",
116
116
  "runStrategy": "add_blank_node_if_missing",
117
117
  "mergeStrategy": "list",
@@ -119,7 +119,7 @@
119
119
  },
120
120
  {
121
121
  "key": "practices",
122
- "model": "cycle",
122
+ "model": "hestia",
123
123
  "value": "residueLeftOnField",
124
124
  "runStrategy": "add_blank_node_if_missing",
125
125
  "mergeStrategy": "list",
@@ -127,7 +127,7 @@
127
127
  },
128
128
  {
129
129
  "key": "practices",
130
- "model": "cycle",
130
+ "model": "hestia",
131
131
  "value": "residueRemoved",
132
132
  "runStrategy": "add_blank_node_if_missing",
133
133
  "mergeStrategy": "list",
@@ -169,14 +169,6 @@
169
169
  {
170
170
  "key": "practices",
171
171
  "model": "hestia",
172
- "value": "residueRemoved",
173
- "runStrategy": "add_blank_node_if_missing",
174
- "mergeStrategy": "list",
175
- "stage": 1
176
- },
177
- {
178
- "key": "practices",
179
- "model": "cycle",
180
172
  "value": "cropResidueManagement",
181
173
  "runStrategy": "always",
182
174
  "mergeStrategy": "list",
@@ -192,7 +184,7 @@
192
184
  },
193
185
  {
194
186
  "key": "products",
195
- "model": "cycle",
187
+ "model": "hestia",
196
188
  "value": "aboveGroundCropResidueTotal",
197
189
  "runStrategy": "add_blank_node_if_missing",
198
190
  "mergeStrategy": "list",
@@ -224,7 +216,7 @@
224
216
  },
225
217
  {
226
218
  "key": "products",
227
- "model": "cycle",
219
+ "model": "hestia",
228
220
  "value": "aboveGroundCropResidue",
229
221
  "runStrategy": "always",
230
222
  "mergeStrategy": "list",
@@ -241,7 +233,7 @@
241
233
  [
242
234
  {
243
235
  "key": "practices",
244
- "model": "cycle",
236
+ "model": "hestia",
245
237
  "value": "residueBurnt",
246
238
  "runStrategy": "add_blank_node_if_missing",
247
239
  "mergeStrategy": "list",
@@ -249,7 +241,7 @@
249
241
  },
250
242
  {
251
243
  "key": "practices",
252
- "model": "cycle",
244
+ "model": "hestia",
253
245
  "value": "residueIncorporated",
254
246
  "runStrategy": "add_blank_node_if_missing",
255
247
  "mergeStrategy": "list",
@@ -257,7 +249,7 @@
257
249
  },
258
250
  {
259
251
  "key": "practices",
260
- "model": "cycle",
252
+ "model": "hestia",
261
253
  "value": "residueLeftOnField",
262
254
  "runStrategy": "add_blank_node_if_missing",
263
255
  "mergeStrategy": "list",
@@ -265,7 +257,7 @@
265
257
  },
266
258
  {
267
259
  "key": "practices",
268
- "model": "cycle",
260
+ "model": "hestia",
269
261
  "value": "residueRemoved",
270
262
  "runStrategy": "add_blank_node_if_missing",
271
263
  "mergeStrategy": "list",
@@ -323,7 +315,7 @@
323
315
  [
324
316
  {
325
317
  "key": "practices",
326
- "model": "cycle",
318
+ "model": "hestia",
327
319
  "value": "longFallowRatio",
328
320
  "runStrategy": "add_blank_node_if_missing",
329
321
  "mergeStrategy": "list",
@@ -331,7 +323,7 @@
331
323
  },
332
324
  {
333
325
  "key": "practices",
334
- "model": "cycle",
326
+ "model": "hestia",
335
327
  "value": "irrigatedTypeUnspecified",
336
328
  "runStrategy": "add_blank_node_if_missing",
337
329
  "runArgs": {
@@ -342,7 +334,7 @@
342
334
  },
343
335
  {
344
336
  "key": "practices",
345
- "model": "cycle",
337
+ "model": "hestia",
346
338
  "value": "unknownPreSeasonWaterRegime",
347
339
  "runStrategy": "add_blank_node_if_missing",
348
340
  "runArgs": {
@@ -353,7 +345,7 @@
353
345
  },
354
346
  {
355
347
  "key": "practices",
356
- "model": "cycle",
348
+ "model": "hestia",
357
349
  "value": "stockingDensityAnimalHousingAverage",
358
350
  "runStrategy": "always",
359
351
  "mergeStrategy": "list",
@@ -441,7 +433,7 @@
441
433
  },
442
434
  {
443
435
  "key": "inputs",
444
- "model": "cycle",
436
+ "model": "hestia",
445
437
  "value": "inorganicFertiliser",
446
438
  "runStrategy": "always",
447
439
  "mergeStrategy": "list",
@@ -594,7 +586,7 @@
594
586
  [
595
587
  {
596
588
  "key": "products",
597
- "model": "cycle",
589
+ "model": "hestia",
598
590
  "value": "coldCarcassWeightPerHead",
599
591
  "runStrategy": "always",
600
592
  "mergeStrategy": "list",
@@ -602,7 +594,7 @@
602
594
  },
603
595
  {
604
596
  "key": "products",
605
- "model": "cycle",
597
+ "model": "hestia",
606
598
  "value": "coldDressedCarcassWeightPerHead",
607
599
  "runStrategy": "always",
608
600
  "mergeStrategy": "list",
@@ -610,7 +602,7 @@
610
602
  },
611
603
  {
612
604
  "key": "products",
613
- "model": "cycle",
605
+ "model": "hestia",
614
606
  "value": "readyToCookWeightPerHead",
615
607
  "runStrategy": "always",
616
608
  "mergeStrategy": "list",
@@ -670,7 +662,7 @@
670
662
  },
671
663
  {
672
664
  "key": "animals",
673
- "model": "cycle",
665
+ "model": "hestia",
674
666
  "value": "milkYield",
675
667
  "runStrategy": "always",
676
668
  "mergeStrategy": "list",
@@ -679,7 +671,7 @@
679
671
  ],
680
672
  {
681
673
  "key": "inputs",
682
- "model": "cycle",
674
+ "model": "hestia",
683
675
  "value": "energyContentLowerHeatingValue",
684
676
  "runStrategy": "always",
685
677
  "mergeStrategy": "list",
@@ -735,7 +727,7 @@
735
727
  },
736
728
  {
737
729
  "key": "practices",
738
- "model": "cycle",
730
+ "model": "hestia",
739
731
  "value": "pastureSystem",
740
732
  "runStrategy": "always",
741
733
  "mergeStrategy": "list",
@@ -743,7 +735,7 @@
743
735
  },
744
736
  {
745
737
  "key": "practices",
746
- "model": "cycle",
738
+ "model": "hestia",
747
739
  "value": "pastureGrass",
748
740
  "runStrategy": "add_blank_node_if_missing",
749
741
  "mergeStrategy": "list",
@@ -776,7 +768,7 @@
776
768
  },
777
769
  {
778
770
  "key": "products",
779
- "model": "cycle",
771
+ "model": "hestia",
780
772
  "value": "liveAnimal",
781
773
  "runStrategy": "always",
782
774
  "mergeStrategy": "list",
@@ -784,7 +776,7 @@
784
776
  },
785
777
  {
786
778
  "key": "practices",
787
- "model": "cycle",
779
+ "model": "hestia",
788
780
  "value": "feedConversionRatio",
789
781
  "runStrategy": "always",
790
782
  "mergeStrategy": "list",
@@ -844,7 +836,7 @@
844
836
  },
845
837
  {
846
838
  "key": "products",
847
- "model": "cycle",
839
+ "model": "hestia",
848
840
  "value": "concentrateFeed",
849
841
  "runStrategy": "always",
850
842
  "mergeStrategy": "list",
@@ -853,7 +845,7 @@
853
845
  ],
854
846
  {
855
847
  "key": "products",
856
- "model": "cycle",
848
+ "model": "hestia",
857
849
  "value": "excretaKgMass",
858
850
  "runStrategy": "always",
859
851
  "mergeStrategy": "list",
@@ -862,7 +854,7 @@
862
854
  [
863
855
  {
864
856
  "key": "products",
865
- "model": "cycle",
857
+ "model": "hestia",
866
858
  "value": "excretaKgN",
867
859
  "runStrategy": "always",
868
860
  "mergeStrategy": "list",
@@ -870,7 +862,7 @@
870
862
  },
871
863
  {
872
864
  "key": "products",
873
- "model": "cycle",
865
+ "model": "hestia",
874
866
  "value": "excretaKgVs",
875
867
  "runStrategy": "always",
876
868
  "mergeStrategy": "list",
@@ -932,6 +924,28 @@
932
924
  "mergeStrategy": "list",
933
925
  "stage": 2
934
926
  },
927
+ {
928
+ "key": "emissions",
929
+ "model": "linkedImpactAssessment",
930
+ "value": "emissions",
931
+ "runStrategy": "always",
932
+ "mergeStrategy": "list",
933
+ "mergeArgs": {
934
+ "replaceThreshold": ["value", 0.01]
935
+ },
936
+ "stage": 2
937
+ },
938
+ {
939
+ "key": "emissions",
940
+ "model": "ecoalimV9",
941
+ "value": "cycle",
942
+ "runStrategy": "always",
943
+ "mergeStrategy": "list",
944
+ "mergeArgs": {
945
+ "replaceThreshold": ["value", 0.01]
946
+ },
947
+ "stage": 2
948
+ },
935
949
  {
936
950
  "key": "emissions",
937
951
  "model": "ecoinventV3AndEmberClimate",
@@ -1745,6 +1759,51 @@
1745
1759
  },
1746
1760
  "stage": 2
1747
1761
  },
1762
+ {
1763
+ "key": "emissions",
1764
+ "model": "ipcc2019",
1765
+ "value": "ch4ToAirOrganicSoilCultivation",
1766
+ "runStrategy": "add_blank_node_if_missing",
1767
+ "runArgs": {
1768
+ "runNonMeasured": true,
1769
+ "runNonAddedTerm": true
1770
+ },
1771
+ "mergeStrategy": "list",
1772
+ "mergeArgs": {
1773
+ "replaceThreshold": ["value", 0.01]
1774
+ },
1775
+ "stage": 2
1776
+ },
1777
+ {
1778
+ "key": "emissions",
1779
+ "model": "ipcc2019",
1780
+ "value": "co2ToAirOrganicSoilCultivation",
1781
+ "runStrategy": "add_blank_node_if_missing",
1782
+ "runArgs": {
1783
+ "runNonMeasured": true,
1784
+ "runNonAddedTerm": true
1785
+ },
1786
+ "mergeStrategy": "list",
1787
+ "mergeArgs": {
1788
+ "replaceThreshold": ["value", 0.01]
1789
+ },
1790
+ "stage": 2
1791
+ },
1792
+ {
1793
+ "key": "emissions",
1794
+ "model": "ipcc2019",
1795
+ "value": "n2OToAirOrganicSoilCultivationDirect",
1796
+ "runStrategy": "add_blank_node_if_missing",
1797
+ "runArgs": {
1798
+ "runNonMeasured": true,
1799
+ "runNonAddedTerm": true
1800
+ },
1801
+ "mergeStrategy": "list",
1802
+ "mergeArgs": {
1803
+ "replaceThreshold": ["value", 0.01]
1804
+ },
1805
+ "stage": 2
1806
+ },
1748
1807
  {
1749
1808
  "key": "emissions",
1750
1809
  "model": "ipcc2019",
@@ -2078,17 +2137,6 @@
2078
2137
  "stage": 2
2079
2138
  }
2080
2139
  ],
2081
- {
2082
- "key": "emissions",
2083
- "model": "linkedImpactAssessment",
2084
- "value": "emissions",
2085
- "runStrategy": "always",
2086
- "mergeStrategy": "list",
2087
- "mergeArgs": {
2088
- "replaceThreshold": ["value", 0.01]
2089
- },
2090
- "stage": 2
2091
- },
2092
2140
  {
2093
2141
  "key": "emissions",
2094
2142
  "model": "emissionNotRelevant",
@@ -2179,7 +2227,7 @@
2179
2227
  {
2180
2228
  "key": "emissions",
2181
2229
  "model": "hestia",
2182
- "value": "nh3ToSurfaceWaterAquacultureSystems",
2230
+ "value": "pToSurfaceWaterAquacultureSystems",
2183
2231
  "runStrategy": "add_blank_node_if_missing",
2184
2232
  "runArgs": {
2185
2233
  "runNonMeasured": true,
@@ -45,6 +45,17 @@
45
45
  },
46
46
  "stage": 1
47
47
  },
48
+ {
49
+ "key": "emissionsResourceUse",
50
+ "model": "ecoalimV9",
51
+ "value": "impact_assessment",
52
+ "runStrategy": "always",
53
+ "mergeStrategy": "list",
54
+ "mergeArgs": {
55
+ "replaceThreshold": ["value", 0.01]
56
+ },
57
+ "stage": 1
58
+ },
48
59
  {
49
60
  "key": "emissionsResourceUse",
50
61
  "model": "pooreNemecek2018",
@@ -872,10 +883,7 @@
872
883
  "runStrategy": "always",
873
884
  "mergeStrategy": "list",
874
885
  "mergeArgs": {
875
- "replaceThreshold": [
876
- "value",
877
- 0.01
878
- ]
886
+ "replaceThreshold": ["value", 0.01]
879
887
  },
880
888
  "stage": 1
881
889
  },
@@ -3,7 +3,7 @@
3
3
  [
4
4
  {
5
5
  "key": "measurements",
6
- "model": "site",
6
+ "model": "hestia",
7
7
  "value": "organicCarbonPerKgSoil",
8
8
  "runStrategy": "add_blank_node_if_missing",
9
9
  "mergeStrategy": "list",
@@ -11,7 +11,7 @@
11
11
  },
12
12
  {
13
13
  "key": "measurements",
14
- "model": "site",
14
+ "model": "hestia",
15
15
  "value": "organicCarbonPerM3Soil",
16
16
  "runStrategy": "add_blank_node_if_missing",
17
17
  "mergeStrategy": "list",
@@ -19,7 +19,7 @@
19
19
  },
20
20
  {
21
21
  "key": "measurements",
22
- "model": "site",
22
+ "model": "hestia",
23
23
  "value": "organicMatterPerKgSoil",
24
24
  "runStrategy": "add_blank_node_if_missing",
25
25
  "mergeStrategy": "list",
@@ -27,7 +27,7 @@
27
27
  },
28
28
  {
29
29
  "key": "measurements",
30
- "model": "site",
30
+ "model": "hestia",
31
31
  "value": "organicMatterPerM3Soil",
32
32
  "runStrategy": "add_blank_node_if_missing",
33
33
  "mergeStrategy": "list",
@@ -35,7 +35,7 @@
35
35
  },
36
36
  {
37
37
  "key": "measurements",
38
- "model": "site",
38
+ "model": "hestia",
39
39
  "value": "potentialEvapotranspirationMonthly",
40
40
  "runStrategy": "add_blank_node_if_missing",
41
41
  "mergeStrategy": "list",
@@ -43,7 +43,7 @@
43
43
  },
44
44
  {
45
45
  "key": "measurements",
46
- "model": "site",
46
+ "model": "hestia",
47
47
  "value": "precipitationMonthly",
48
48
  "runStrategy": "add_blank_node_if_missing",
49
49
  "mergeStrategy": "list",
@@ -51,7 +51,7 @@
51
51
  },
52
52
  {
53
53
  "key": "measurements",
54
- "model": "site",
54
+ "model": "hestia",
55
55
  "value": "rainfallMonthly",
56
56
  "runStrategy": "add_blank_node_if_missing",
57
57
  "mergeStrategy": "list",
@@ -59,7 +59,7 @@
59
59
  },
60
60
  {
61
61
  "key": "measurements",
62
- "model": "site",
62
+ "model": "hestia",
63
63
  "value": "temperatureMonthly",
64
64
  "runStrategy": "add_blank_node_if_missing",
65
65
  "mergeStrategy": "list",
@@ -67,7 +67,7 @@
67
67
  },
68
68
  {
69
69
  "key": "measurements",
70
- "model": "site",
70
+ "model": "hestia",
71
71
  "value": "brackishWater",
72
72
  "runStrategy": "add_blank_node_if_missing",
73
73
  "mergeStrategy": "list",
@@ -75,7 +75,7 @@
75
75
  },
76
76
  {
77
77
  "key": "measurements",
78
- "model": "site",
78
+ "model": "hestia",
79
79
  "value": "freshWater",
80
80
  "runStrategy": "add_blank_node_if_missing",
81
81
  "mergeStrategy": "list",
@@ -83,7 +83,7 @@
83
83
  },
84
84
  {
85
85
  "key": "measurements",
86
- "model": "site",
86
+ "model": "hestia",
87
87
  "value": "salineWater",
88
88
  "runStrategy": "add_blank_node_if_missing",
89
89
  "mergeStrategy": "list",
@@ -93,7 +93,7 @@
93
93
  [
94
94
  {
95
95
  "key": "measurements",
96
- "model": "site",
96
+ "model": "hestia",
97
97
  "value": "potentialEvapotranspirationAnnual",
98
98
  "runStrategy": "add_blank_node_if_missing",
99
99
  "mergeStrategy": "list",
@@ -101,7 +101,7 @@
101
101
  },
102
102
  {
103
103
  "key": "measurements",
104
- "model": "site",
104
+ "model": "hestia",
105
105
  "value": "precipitationAnnual",
106
106
  "runStrategy": "add_blank_node_if_missing",
107
107
  "mergeStrategy": "list",
@@ -109,7 +109,7 @@
109
109
  },
110
110
  {
111
111
  "key": "measurements",
112
- "model": "site",
112
+ "model": "hestia",
113
113
  "value": "rainfallAnnual",
114
114
  "runStrategy": "add_blank_node_if_missing",
115
115
  "mergeStrategy": "list",
@@ -117,7 +117,7 @@
117
117
  },
118
118
  {
119
119
  "key": "measurements",
120
- "model": "site",
120
+ "model": "hestia",
121
121
  "value": "temperatureAnnual",
122
122
  "runStrategy": "add_blank_node_if_missing",
123
123
  "mergeStrategy": "list",
@@ -361,7 +361,7 @@
361
361
  },
362
362
  {
363
363
  "key": "measurements",
364
- "model": "site",
364
+ "model": "hestia",
365
365
  "value": "totalNitrogenPerKgSoil",
366
366
  "runStrategy": "add_blank_node_if_missing",
367
367
  "mergeStrategy": "list",
@@ -369,7 +369,7 @@
369
369
  },
370
370
  {
371
371
  "key": "measurements",
372
- "model": "site",
372
+ "model": "hestia",
373
373
  "value": "netPrimaryProduction",
374
374
  "runStrategy": "add_blank_node_if_missing",
375
375
  "mergeStrategy": "list",
@@ -377,7 +377,7 @@
377
377
  },
378
378
  {
379
379
  "key": "measurements",
380
- "model": "site",
380
+ "model": "hestia",
381
381
  "value": "waterDepth",
382
382
  "runStrategy": "add_blank_node_if_missing",
383
383
  "mergeStrategy": "list",
@@ -385,7 +385,7 @@
385
385
  },
386
386
  {
387
387
  "key": "measurements",
388
- "model": "site",
388
+ "model": "hestia",
389
389
  "value": "cationExchangeCapacityPerKgSoil",
390
390
  "runStrategy": "add_blank_node_if_missing",
391
391
  "mergeStrategy": "list",
@@ -403,6 +403,14 @@
403
403
  {
404
404
  "key": "measurements",
405
405
  "model": "site",
406
+ "value": "grouped_measurement",
407
+ "runStrategy": "always",
408
+ "mergeStrategy": "list",
409
+ "stage": 1
410
+ },
411
+ {
412
+ "key": "measurements",
413
+ "model": "hestia",
406
414
  "value": "soilMeasurement",
407
415
  "runStrategy": "always",
408
416
  "mergeStrategy": "list",
@@ -410,7 +418,7 @@
410
418
  },
411
419
  {
412
420
  "key": "management",
413
- "model": "site",
421
+ "model": "hestia",
414
422
  "value": "management",
415
423
  "runStrategy": "always",
416
424
  "mergeStrategy": "list",
@@ -422,7 +430,18 @@
422
430
  [
423
431
  {
424
432
  "key": "measurements",
425
- "model": "site",
433
+ "model": "hestia",
434
+ "value": "waterSalinity",
435
+ "runStrategy": "always",
436
+ "mergeStrategy": "list",
437
+ "mergeArgs": {
438
+ "replaceThreshold": ["value", 0.01]
439
+ },
440
+ "stage": 2
441
+ },
442
+ {
443
+ "key": "measurements",
444
+ "model": "hestia",
426
445
  "value": "organicCarbonPerHa",
427
446
  "runStrategy": "always",
428
447
  "mergeStrategy": "list",
@@ -25,7 +25,7 @@ def _run_emission(cycle: dict, transformation: dict):
25
25
  def exec(emission: dict):
26
26
  term_id = emission.get('term', {}).get('@id')
27
27
  logShouldRun(cycle, MODEL_LOG, term_id, True, key=MODEL_KEY)
28
- return {**emission, MODEL_KEY: transformation.get('term', {})}
28
+ return emission | {MODEL_KEY: transformation.get('term', {})}
29
29
  return exec
30
30
 
31
31