hestia-earth-models 0.74.10__py3-none-any.whl → 0.74.12__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 hestia-earth-models might be problematic. Click here for more details.

Files changed (410) hide show
  1. hestia_earth/models/agribalyse2016/fuelElectricity.py +1 -2
  2. hestia_earth/models/agribalyse2016/machineryInfrastructureDepreciatedAmountPerCycle.py +1 -7
  3. hestia_earth/models/akagiEtAl2011/utils.py +2 -6
  4. hestia_earth/models/aware/scarcityWeightedWaterUse.py +1 -4
  5. hestia_earth/models/aware2_0/scarcityWeightedWaterUse.py +1 -4
  6. hestia_earth/models/chaudharyBrooks2018/damageToTerrestrialEcosystemsLandOccupation.py +1 -4
  7. hestia_earth/models/chaudharyBrooks2018/damageToTerrestrialEcosystemsLandTransformation.py +1 -4
  8. hestia_earth/models/chaudharyBrooks2018/damageToTerrestrialEcosystemsTotalLandUseEffects.py +1 -4
  9. hestia_earth/models/cml2001Baseline/abioticResourceDepletionFossilFuels.py +1 -4
  10. hestia_earth/models/cml2001Baseline/abioticResourceDepletionMineralsAndMetals.py +1 -4
  11. hestia_earth/models/cml2001Baseline/eutrophicationPotentialExcludingFate.py +1 -4
  12. hestia_earth/models/cml2001Baseline/resourceUseEnergyDepletionDuringCycle.py +12 -10
  13. hestia_earth/models/cml2001Baseline/resourceUseMineralsAndMetalsDuringCycle.py +5 -5
  14. hestia_earth/models/cml2001Baseline/terrestrialAcidificationPotentialIncludingFateAverageEurope.py +1 -7
  15. hestia_earth/models/cml2001NonBaseline/eutrophicationPotentialIncludingFateAverageEurope.py +1 -7
  16. hestia_earth/models/cml2001NonBaseline/terrestrialAcidificationPotentialExcludingFate.py +1 -7
  17. hestia_earth/models/config/ImpactAssessment.json +12 -6
  18. hestia_earth/models/config/Site.json +16 -0
  19. hestia_earth/models/cycle/aboveGroundCropResidueTotal.py +1 -6
  20. hestia_earth/models/cycle/practice/landCover.py +9 -9
  21. hestia_earth/models/dammgen2009/noxToAirExcreta.py +1 -2
  22. hestia_earth/models/deRuijterEtAl2010/nh3ToAirCropResidueDecomposition.py +1 -2
  23. hestia_earth/models/ecoalimV9/cycle.py +1 -2
  24. hestia_earth/models/ecoalimV9/impact_assessment.py +10 -3
  25. hestia_earth/models/ecoinventV3/cycle.py +1 -2
  26. hestia_earth/models/ecoinventV3AndEmberClimate/cycle.py +1 -2
  27. hestia_earth/models/edip2003/ozoneDepletionPotential.py +1 -7
  28. hestia_earth/models/emepEea2019/utils.py +1 -2
  29. hestia_earth/models/emissionNotRelevant/__init__.py +2 -2
  30. hestia_earth/models/environmentalFootprintV3_1/environmentalFootprintSingleOverallScore.py +1 -4
  31. hestia_earth/models/environmentalFootprintV3_1/freshwaterEcotoxicityPotentialCtue.py +1 -7
  32. hestia_earth/models/environmentalFootprintV3_1/marineEutrophicationPotential.py +1 -7
  33. hestia_earth/models/environmentalFootprintV3_1/photochemicalOzoneCreationPotentialHumanHealthNmvocEq.py +1 -7
  34. hestia_earth/models/environmentalFootprintV3_1/scarcityWeightedWaterUse.py +1 -7
  35. hestia_earth/models/environmentalFootprintV3_1/soilQualityIndexLandOccupation.py +2 -7
  36. hestia_earth/models/environmentalFootprintV3_1/soilQualityIndexLandTransformation.py +2 -7
  37. hestia_earth/models/environmentalFootprintV3_1/soilQualityIndexTotalLandUseEffects.py +2 -7
  38. hestia_earth/models/epa2014/no3ToGroundwaterExcreta.py +1 -2
  39. hestia_earth/models/fantkeEtAl2016/damageToHumanHealthParticulateMatterFormation.py +2 -11
  40. hestia_earth/models/faostat2018/liveweightPerHead.py +11 -7
  41. hestia_earth/models/faostat2018/product/price.py +9 -5
  42. hestia_earth/models/faostat2018/seed.py +5 -12
  43. hestia_earth/models/faostat2018/utils.py +14 -6
  44. hestia_earth/models/frischknechtEtAl2000/ionisingRadiationKbqU235Eq.py +4 -8
  45. hestia_earth/models/geospatialDatabase/altitude.py +1 -2
  46. hestia_earth/models/geospatialDatabase/clayContent.py +1 -2
  47. hestia_earth/models/geospatialDatabase/croppingIntensity.py +1 -3
  48. hestia_earth/models/geospatialDatabase/drainageClass.py +1 -2
  49. hestia_earth/models/geospatialDatabase/ecoClimateZone.py +1 -2
  50. hestia_earth/models/geospatialDatabase/erodibility.py +1 -2
  51. hestia_earth/models/geospatialDatabase/heavyWinterPrecipitation.py +1 -2
  52. hestia_earth/models/geospatialDatabase/histosol.py +1 -2
  53. hestia_earth/models/geospatialDatabase/longFallowRatio.py +1 -3
  54. hestia_earth/models/geospatialDatabase/nutrientLossToAquaticEnvironment.py +1 -2
  55. hestia_earth/models/geospatialDatabase/organicCarbonPerKgSoil.py +1 -2
  56. hestia_earth/models/geospatialDatabase/potentialEvapotranspirationAnnual.py +1 -2
  57. hestia_earth/models/geospatialDatabase/potentialEvapotranspirationLongTermAnnualMean.py +1 -2
  58. hestia_earth/models/geospatialDatabase/potentialEvapotranspirationMonthly.py +1 -2
  59. hestia_earth/models/geospatialDatabase/precipitationAnnual.py +1 -2
  60. hestia_earth/models/geospatialDatabase/precipitationLongTermAnnualMean.py +1 -2
  61. hestia_earth/models/geospatialDatabase/precipitationMonthly.py +1 -2
  62. hestia_earth/models/geospatialDatabase/sandContent.py +1 -2
  63. hestia_earth/models/geospatialDatabase/siltContent.py +1 -2
  64. hestia_earth/models/geospatialDatabase/slope.py +1 -2
  65. hestia_earth/models/geospatialDatabase/slopeLength.py +1 -2
  66. hestia_earth/models/geospatialDatabase/soilPh.py +1 -2
  67. hestia_earth/models/geospatialDatabase/temperatureAnnual.py +1 -2
  68. hestia_earth/models/geospatialDatabase/temperatureLongTermAnnualMean.py +1 -2
  69. hestia_earth/models/geospatialDatabase/temperatureMonthly.py +1 -2
  70. hestia_earth/models/geospatialDatabase/totalNitrogenPerKgSoil.py +1 -2
  71. hestia_earth/models/geospatialDatabase/totalPhosphorusPerKgSoil.py +1 -2
  72. hestia_earth/models/geospatialDatabase/waterDepth.py +1 -2
  73. hestia_earth/models/hestia/aboveGroundCropResidue.py +1 -2
  74. hestia_earth/models/hestia/aboveGroundCropResidueTotal.py +1 -6
  75. hestia_earth/models/hestia/brackishWater.py +1 -2
  76. hestia_earth/models/hestia/cationExchangeCapacityPerKgSoil.py +1 -2
  77. hestia_earth/models/hestia/cropResidueManagement.py +1 -2
  78. hestia_earth/models/hestia/croppingIntensity.py +1 -7
  79. hestia_earth/models/hestia/default_emissions.py +3 -5
  80. hestia_earth/models/hestia/default_resourceUse.py +4 -11
  81. hestia_earth/models/hestia/excretaKgMass.py +9 -6
  82. hestia_earth/models/hestia/excretaKgN.py +8 -7
  83. hestia_earth/models/hestia/excretaKgVs.py +8 -7
  84. hestia_earth/models/hestia/feedConversionRatio/__init__.py +5 -7
  85. hestia_earth/models/hestia/flowingWater.py +1 -2
  86. hestia_earth/models/hestia/freshWater.py +1 -2
  87. hestia_earth/models/hestia/histosol.py +1 -2
  88. hestia_earth/models/hestia/inorganicFertiliser.py +2 -14
  89. hestia_earth/models/hestia/irrigatedTypeUnspecified.py +1 -7
  90. hestia_earth/models/hestia/landCover.py +192 -911
  91. hestia_earth/models/hestia/landCover_utils.py +769 -0
  92. hestia_earth/models/hestia/landOccupationDuringCycle.py +1 -2
  93. hestia_earth/models/hestia/liveAnimal.py +1 -3
  94. hestia_earth/models/hestia/longFallowRatio.py +1 -7
  95. hestia_earth/models/hestia/management.py +14 -8
  96. hestia_earth/models/hestia/materialAndSubstrate.py +1 -2
  97. hestia_earth/models/hestia/milkYield.py +2 -12
  98. hestia_earth/models/hestia/netPrimaryProduction.py +1 -2
  99. hestia_earth/models/hestia/organicCarbonPerHa.py +1 -2
  100. hestia_earth/models/hestia/pToSurfaceWaterAquacultureSystems.py +2 -4
  101. hestia_earth/models/hestia/pastureGrass.py +3 -4
  102. hestia_earth/models/hestia/pastureSystem.py +1 -7
  103. hestia_earth/models/hestia/potentialEvapotranspirationAnnual.py +1 -2
  104. hestia_earth/models/hestia/potentialEvapotranspirationMonthly.py +1 -2
  105. hestia_earth/models/hestia/precipitationAnnual.py +1 -2
  106. hestia_earth/models/hestia/precipitationMonthly.py +1 -2
  107. hestia_earth/models/hestia/rainfallAnnual.py +1 -2
  108. hestia_earth/models/hestia/rainfallMonthly.py +1 -2
  109. hestia_earth/models/hestia/residueBurnt.py +1 -7
  110. hestia_earth/models/hestia/residueIncorporated.py +1 -7
  111. hestia_earth/models/hestia/residueLeftOnField.py +1 -7
  112. hestia_earth/models/hestia/residueRemoved.py +3 -8
  113. hestia_earth/models/hestia/resourceUse_utils.py +4 -20
  114. hestia_earth/models/hestia/salineWater.py +1 -2
  115. hestia_earth/models/hestia/seed_emissions.py +5 -6
  116. hestia_earth/models/hestia/slope.py +44 -0
  117. hestia_earth/models/hestia/slopeLength.py +44 -0
  118. hestia_earth/models/hestia/soilMeasurement.py +1 -2
  119. hestia_earth/models/hestia/stockingDensityAnimalHousingAverage.py +1 -7
  120. hestia_earth/models/hestia/temperatureAnnual.py +1 -2
  121. hestia_earth/models/hestia/temperatureMonthly.py +1 -2
  122. hestia_earth/models/hestia/totalNitrogenPerKgSoil.py +1 -2
  123. hestia_earth/models/hestia/unknownPreSeasonWaterRegime.py +1 -7
  124. hestia_earth/models/hestia/utils.py +5 -5
  125. hestia_earth/models/hestia/waterDepth.py +1 -2
  126. hestia_earth/models/hestia/waterSalinity.py +1 -2
  127. hestia_earth/models/impact_assessment/emissions.py +8 -9
  128. hestia_earth/models/impact_assessment/post_checks/cycle.py +1 -1
  129. hestia_earth/models/impact_assessment/pre_checks/cycle.py +1 -1
  130. hestia_earth/models/ipcc2006/aboveGroundCropResidueRemoved.py +1 -3
  131. hestia_earth/models/ipcc2006/aboveGroundCropResidueTotal.py +1 -3
  132. hestia_earth/models/ipcc2006/belowGroundCropResidue.py +1 -3
  133. hestia_earth/models/ipcc2006/n2OToAirCropResidueDecompositionDirect.py +2 -6
  134. hestia_earth/models/ipcc2006/n2OToAirCropResidueDecompositionIndirect.py +1 -2
  135. hestia_earth/models/ipcc2006/n2OToAirExcretaDirect.py +1 -2
  136. hestia_earth/models/ipcc2006/n2OToAirExcretaIndirect.py +1 -2
  137. hestia_earth/models/ipcc2006/n2OToAirInorganicFertiliserDirect.py +1 -2
  138. hestia_earth/models/ipcc2006/n2OToAirInorganicFertiliserIndirect.py +1 -2
  139. hestia_earth/models/ipcc2006/n2OToAirOrganicFertiliserDirect.py +1 -2
  140. hestia_earth/models/ipcc2006/n2OToAirOrganicFertiliserIndirect.py +1 -2
  141. hestia_earth/models/ipcc2013ExcludingFeedbacks/gwp100.py +1 -7
  142. hestia_earth/models/ipcc2013IncludingFeedbacks/gwp100.py +1 -7
  143. hestia_earth/models/ipcc2019/aboveGroundBiomass.py +1 -1
  144. hestia_earth/models/ipcc2019/aboveGroundCropResidueTotal.py +1 -3
  145. hestia_earth/models/ipcc2019/animal/milkYieldPerAnimal.py +3 -7
  146. hestia_earth/models/ipcc2019/animal/pastureGrass.py +1 -2
  147. hestia_earth/models/ipcc2019/belowGroundBiomass.py +1 -1
  148. hestia_earth/models/ipcc2019/belowGroundCropResidue.py +1 -3
  149. hestia_earth/models/ipcc2019/biocharOrganicCarbonPerHa.py +1 -1
  150. hestia_earth/models/ipcc2019/ch4ToAirAquacultureSystems.py +2 -6
  151. hestia_earth/models/ipcc2019/ch4ToAirEntericFermentation.py +2 -12
  152. hestia_earth/models/ipcc2019/ch4ToAirExcreta.py +1 -2
  153. hestia_earth/models/ipcc2019/ch4ToAirFloodedRice.py +2 -10
  154. hestia_earth/models/ipcc2019/ch4ToAirOrganicSoilCultivation.py +1 -1
  155. hestia_earth/models/ipcc2019/co2ToAirAboveGroundBiomassStockChange.py +1 -1
  156. hestia_earth/models/ipcc2019/co2ToAirBelowGroundBiomassStockChange.py +1 -1
  157. hestia_earth/models/ipcc2019/co2ToAirBiocharStockChange.py +1 -1
  158. hestia_earth/models/ipcc2019/co2ToAirLimeHydrolysis.py +1 -2
  159. hestia_earth/models/ipcc2019/co2ToAirOrganicSoilCultivation.py +1 -1
  160. hestia_earth/models/ipcc2019/co2ToAirSoilOrganicCarbonStockChange.py +1 -1
  161. hestia_earth/models/ipcc2019/co2ToAirUreaHydrolysis.py +1 -2
  162. hestia_earth/models/ipcc2019/croppingDuration.py +1 -2
  163. hestia_earth/models/ipcc2019/n2OToAirCropResidueBurningDirect.py +1 -2
  164. hestia_earth/models/ipcc2019/n2OToAirCropResidueDecompositionDirect.py +2 -7
  165. hestia_earth/models/ipcc2019/n2OToAirExcretaDirect.py +1 -2
  166. hestia_earth/models/ipcc2019/n2OToAirInorganicFertiliserDirect.py +2 -7
  167. hestia_earth/models/ipcc2019/n2OToAirOrganicFertiliserDirect.py +2 -7
  168. hestia_earth/models/ipcc2019/n2OToAirOrganicSoilCultivationDirect.py +2 -7
  169. hestia_earth/models/ipcc2019/n2OToAir_indirect_emissions_utils.py +3 -9
  170. hestia_earth/models/ipcc2019/nh3ToAirInorganicFertiliser.py +2 -6
  171. hestia_earth/models/ipcc2019/nh3ToAirOrganicFertiliser.py +2 -6
  172. hestia_earth/models/ipcc2019/no3ToGroundwaterCropResidueDecomposition.py +2 -7
  173. hestia_earth/models/ipcc2019/no3ToGroundwaterExcreta.py +2 -8
  174. hestia_earth/models/ipcc2019/no3ToGroundwaterInorganicFertiliser.py +2 -7
  175. hestia_earth/models/ipcc2019/no3ToGroundwaterOrganicFertiliser.py +2 -7
  176. hestia_earth/models/ipcc2019/nonCo2EmissionsToAirNaturalVegetationBurning.py +1 -1
  177. hestia_earth/models/ipcc2019/noxToAirInorganicFertiliser.py +2 -6
  178. hestia_earth/models/ipcc2019/noxToAirOrganicFertiliser.py +2 -6
  179. hestia_earth/models/ipcc2019/organicCarbonPerHa_tier_1.py +1 -1
  180. hestia_earth/models/ipcc2019/organicCarbonPerHa_tier_2.py +1 -1
  181. hestia_earth/models/ipcc2019/pastureGrass.py +1 -2
  182. hestia_earth/models/ipcc2021/gwp100.py +2 -11
  183. hestia_earth/models/jarvisAndPain1994/n2ToAirExcreta.py +1 -2
  184. hestia_earth/models/koble2014/utils.py +1 -3
  185. hestia_earth/models/lcImpactAllEffects100Years/damageToFreshwaterEcosystemsClimateChange.py +1 -7
  186. hestia_earth/models/lcImpactAllEffects100Years/damageToFreshwaterEcosystemsFreshwaterEcotoxicity.py +1 -7
  187. hestia_earth/models/lcImpactAllEffects100Years/damageToFreshwaterEcosystemsFreshwaterEutrophication.py +1 -7
  188. hestia_earth/models/lcImpactAllEffects100Years/damageToFreshwaterEcosystemsPdfYear.py +1 -7
  189. hestia_earth/models/lcImpactAllEffects100Years/damageToFreshwaterEcosystemsWaterStress.py +1 -7
  190. hestia_earth/models/lcImpactAllEffects100Years/damageToHumanHealth.py +1 -7
  191. hestia_earth/models/lcImpactAllEffects100Years/damageToHumanHealthClimateChange.py +1 -7
  192. hestia_earth/models/lcImpactAllEffects100Years/damageToHumanHealthHumanToxicityCancerogenic.py +1 -7
  193. hestia_earth/models/lcImpactAllEffects100Years/damageToHumanHealthHumanToxicityNonCancerogenic.py +1 -7
  194. hestia_earth/models/lcImpactAllEffects100Years/damageToHumanHealthParticulateMatterFormation.py +1 -7
  195. hestia_earth/models/lcImpactAllEffects100Years/damageToHumanHealthPhotochemicalOzoneFormation.py +1 -7
  196. hestia_earth/models/lcImpactAllEffects100Years/damageToHumanHealthStratosphericOzoneDepletion.py +1 -7
  197. hestia_earth/models/lcImpactAllEffects100Years/damageToHumanHealthWaterStress.py +1 -7
  198. hestia_earth/models/lcImpactAllEffects100Years/damageToMarineEcosystemsMarineEcotoxicity.py +1 -7
  199. hestia_earth/models/lcImpactAllEffects100Years/damageToMarineEcosystemsMarineEutrophication.py +1 -7
  200. hestia_earth/models/lcImpactAllEffects100Years/damageToMarineEcosystemsPdfYear.py +1 -7
  201. hestia_earth/models/lcImpactAllEffects100Years/damageToTerrestrialEcosystemsClimateChange.py +1 -7
  202. hestia_earth/models/lcImpactAllEffects100Years/damageToTerrestrialEcosystemsPdfYear.py +1 -7
  203. hestia_earth/models/lcImpactAllEffects100Years/damageToTerrestrialEcosystemsPhotochemicalOzoneFormation.py +1 -7
  204. hestia_earth/models/lcImpactAllEffects100Years/damageToTerrestrialEcosystemsTerrestrialAcidification.py +1 -7
  205. hestia_earth/models/lcImpactAllEffects100Years/damageToTerrestrialEcosystemsTerrestrialEcotoxicity.py +1 -7
  206. hestia_earth/models/lcImpactAllEffectsInfinite/damageToFreshwaterEcosystemsClimateChange.py +1 -7
  207. hestia_earth/models/lcImpactAllEffectsInfinite/damageToFreshwaterEcosystemsFreshwaterEcotoxicity.py +1 -7
  208. hestia_earth/models/lcImpactAllEffectsInfinite/damageToFreshwaterEcosystemsFreshwaterEutrophication.py +1 -7
  209. hestia_earth/models/lcImpactAllEffectsInfinite/damageToFreshwaterEcosystemsPdfYear.py +1 -7
  210. hestia_earth/models/lcImpactAllEffectsInfinite/damageToFreshwaterEcosystemsWaterStress.py +1 -7
  211. hestia_earth/models/lcImpactAllEffectsInfinite/damageToHumanHealth.py +1 -7
  212. hestia_earth/models/lcImpactAllEffectsInfinite/damageToHumanHealthClimateChange.py +1 -7
  213. hestia_earth/models/lcImpactAllEffectsInfinite/damageToHumanHealthHumanToxicityCancerogenic.py +1 -7
  214. hestia_earth/models/lcImpactAllEffectsInfinite/damageToHumanHealthHumanToxicityNonCancerogenic.py +1 -7
  215. hestia_earth/models/lcImpactAllEffectsInfinite/damageToHumanHealthParticulateMatterFormation.py +1 -7
  216. hestia_earth/models/lcImpactAllEffectsInfinite/damageToHumanHealthPhotochemicalOzoneFormation.py +1 -7
  217. hestia_earth/models/lcImpactAllEffectsInfinite/damageToHumanHealthStratosphericOzoneDepletion.py +1 -7
  218. hestia_earth/models/lcImpactAllEffectsInfinite/damageToHumanHealthWaterStress.py +1 -7
  219. hestia_earth/models/lcImpactAllEffectsInfinite/damageToMarineEcosystemsMarineEcotoxicity.py +1 -7
  220. hestia_earth/models/lcImpactAllEffectsInfinite/damageToMarineEcosystemsMarineEutrophication.py +1 -7
  221. hestia_earth/models/lcImpactAllEffectsInfinite/damageToMarineEcosystemsPdfYear.py +1 -7
  222. hestia_earth/models/lcImpactAllEffectsInfinite/damageToTerrestrialEcosystemsClimateChange.py +1 -7
  223. hestia_earth/models/lcImpactAllEffectsInfinite/damageToTerrestrialEcosystemsPdfYear.py +1 -7
  224. hestia_earth/models/lcImpactAllEffectsInfinite/damageToTerrestrialEcosystemsPhotochemicalOzoneFormation.py +1 -7
  225. hestia_earth/models/lcImpactAllEffectsInfinite/damageToTerrestrialEcosystemsTerrestrialAcidification.py +1 -7
  226. hestia_earth/models/lcImpactAllEffectsInfinite/damageToTerrestrialEcosystemsTerrestrialEcotoxicity.py +1 -7
  227. hestia_earth/models/lcImpactCertainEffects100Years/damageToFreshwaterEcosystemsFreshwaterEcotoxicity.py +1 -7
  228. hestia_earth/models/lcImpactCertainEffects100Years/damageToFreshwaterEcosystemsFreshwaterEutrophication.py +1 -7
  229. hestia_earth/models/lcImpactCertainEffects100Years/damageToFreshwaterEcosystemsPdfYear.py +1 -7
  230. hestia_earth/models/lcImpactCertainEffects100Years/damageToFreshwaterEcosystemsWaterStress.py +1 -7
  231. hestia_earth/models/lcImpactCertainEffects100Years/damageToHumanHealth.py +1 -7
  232. hestia_earth/models/lcImpactCertainEffects100Years/damageToHumanHealthClimateChange.py +1 -7
  233. hestia_earth/models/lcImpactCertainEffects100Years/damageToHumanHealthHumanToxicityCancerogenic.py +1 -7
  234. hestia_earth/models/lcImpactCertainEffects100Years/damageToHumanHealthHumanToxicityNonCancerogenic.py +1 -7
  235. hestia_earth/models/lcImpactCertainEffects100Years/damageToHumanHealthParticulateMatterFormation.py +1 -7
  236. hestia_earth/models/lcImpactCertainEffects100Years/damageToHumanHealthPhotochemicalOzoneFormation.py +1 -7
  237. hestia_earth/models/lcImpactCertainEffects100Years/damageToHumanHealthStratosphericOzoneDepletion.py +1 -7
  238. hestia_earth/models/lcImpactCertainEffects100Years/damageToHumanHealthWaterStress.py +1 -7
  239. hestia_earth/models/lcImpactCertainEffects100Years/damageToMarineEcosystemsMarineEcotoxicity.py +1 -7
  240. hestia_earth/models/lcImpactCertainEffects100Years/damageToMarineEcosystemsMarineEutrophication.py +1 -7
  241. hestia_earth/models/lcImpactCertainEffects100Years/damageToMarineEcosystemsPdfYear.py +1 -7
  242. hestia_earth/models/lcImpactCertainEffects100Years/damageToTerrestrialEcosystemsClimateChange.py +1 -7
  243. hestia_earth/models/lcImpactCertainEffects100Years/damageToTerrestrialEcosystemsPdfYear.py +1 -7
  244. hestia_earth/models/lcImpactCertainEffects100Years/damageToTerrestrialEcosystemsPhotochemicalOzoneFormation.py +1 -7
  245. hestia_earth/models/lcImpactCertainEffects100Years/damageToTerrestrialEcosystemsTerrestrialAcidification.py +1 -7
  246. hestia_earth/models/lcImpactCertainEffects100Years/damageToTerrestrialEcosystemsTerrestrialEcotoxicity.py +1 -7
  247. hestia_earth/models/lcImpactCertainEffectsInfinite/damageToFreshwaterEcosystemsFreshwaterEcotoxicity.py +1 -7
  248. hestia_earth/models/lcImpactCertainEffectsInfinite/damageToFreshwaterEcosystemsFreshwaterEutrophication.py +1 -7
  249. hestia_earth/models/lcImpactCertainEffectsInfinite/damageToFreshwaterEcosystemsPdfYear.py +1 -7
  250. hestia_earth/models/lcImpactCertainEffectsInfinite/damageToFreshwaterEcosystemsWaterStress.py +1 -7
  251. hestia_earth/models/lcImpactCertainEffectsInfinite/damageToHumanHealth.py +1 -7
  252. hestia_earth/models/lcImpactCertainEffectsInfinite/damageToHumanHealthClimateChange.py +1 -7
  253. hestia_earth/models/lcImpactCertainEffectsInfinite/damageToHumanHealthHumanToxicityCancerogenic.py +1 -7
  254. hestia_earth/models/lcImpactCertainEffectsInfinite/damageToHumanHealthHumanToxicityNonCancerogenic.py +1 -7
  255. hestia_earth/models/lcImpactCertainEffectsInfinite/damageToHumanHealthParticulateMatterFormation.py +1 -7
  256. hestia_earth/models/lcImpactCertainEffectsInfinite/damageToHumanHealthPhotochemicalOzoneFormation.py +1 -7
  257. hestia_earth/models/lcImpactCertainEffectsInfinite/damageToHumanHealthStratosphericOzoneDepletion.py +1 -7
  258. hestia_earth/models/lcImpactCertainEffectsInfinite/damageToHumanHealthWaterStress.py +1 -7
  259. hestia_earth/models/lcImpactCertainEffectsInfinite/damageToMarineEcosystemsMarineEcotoxicity.py +1 -7
  260. hestia_earth/models/lcImpactCertainEffectsInfinite/damageToMarineEcosystemsMarineEutrophication.py +1 -7
  261. hestia_earth/models/lcImpactCertainEffectsInfinite/damageToMarineEcosystemsPdfYear.py +1 -7
  262. hestia_earth/models/lcImpactCertainEffectsInfinite/damageToTerrestrialEcosystemsClimateChange.py +1 -7
  263. hestia_earth/models/lcImpactCertainEffectsInfinite/damageToTerrestrialEcosystemsPdfYear.py +1 -7
  264. hestia_earth/models/lcImpactCertainEffectsInfinite/damageToTerrestrialEcosystemsPhotochemicalOzoneFormation.py +1 -7
  265. hestia_earth/models/lcImpactCertainEffectsInfinite/damageToTerrestrialEcosystemsTerrestrialAcidification.py +1 -7
  266. hestia_earth/models/lcImpactCertainEffectsInfinite/damageToTerrestrialEcosystemsTerrestrialEcotoxicity.py +1 -7
  267. hestia_earth/models/linkedImpactAssessment/emissions.py +4 -6
  268. hestia_earth/models/linkedImpactAssessment/utils.py +4 -6
  269. hestia_earth/models/mocking/search-results.json +1 -1
  270. hestia_earth/models/pooreNemecek2018/aboveGroundCropResidueTotal.py +1 -3
  271. hestia_earth/models/pooreNemecek2018/belowGroundCropResidue.py +1 -3
  272. hestia_earth/models/pooreNemecek2018/ch4ToAirAquacultureSystems.py +1 -2
  273. hestia_earth/models/pooreNemecek2018/excretaKgN.py +3 -4
  274. hestia_earth/models/pooreNemecek2018/excretaKgVs.py +4 -4
  275. hestia_earth/models/pooreNemecek2018/freshwaterWithdrawalsDuringCycle.py +3 -9
  276. hestia_earth/models/pooreNemecek2018/landOccupationDuringCycle.py +3 -7
  277. hestia_earth/models/pooreNemecek2018/longFallowDuration.py +1 -7
  278. hestia_earth/models/pooreNemecek2018/n2OToAirAquacultureSystemsDirect.py +1 -2
  279. hestia_earth/models/pooreNemecek2018/n2ToAirAquacultureSystems.py +1 -2
  280. hestia_earth/models/pooreNemecek2018/nh3ToAirAquacultureSystems.py +1 -2
  281. hestia_earth/models/pooreNemecek2018/no3ToGroundwaterCropResidueDecomposition.py +1 -2
  282. hestia_earth/models/pooreNemecek2018/no3ToGroundwaterExcreta.py +1 -2
  283. hestia_earth/models/pooreNemecek2018/no3ToGroundwaterInorganicFertiliser.py +1 -2
  284. hestia_earth/models/pooreNemecek2018/no3ToGroundwaterOrganicFertiliser.py +1 -2
  285. hestia_earth/models/pooreNemecek2018/no3ToGroundwaterSoilFlux_utils.py +1 -2
  286. hestia_earth/models/pooreNemecek2018/noxToAirAquacultureSystems.py +1 -2
  287. hestia_earth/models/pooreNemecek2018/nurseryDensity.py +1 -7
  288. hestia_earth/models/pooreNemecek2018/nurseryDuration.py +1 -7
  289. hestia_earth/models/pooreNemecek2018/plantationDensity.py +1 -7
  290. hestia_earth/models/pooreNemecek2018/plantationLifespan.py +1 -7
  291. hestia_earth/models/pooreNemecek2018/plantationProductiveLifespan.py +1 -7
  292. hestia_earth/models/pooreNemecek2018/rotationDuration.py +1 -7
  293. hestia_earth/models/pooreNemecek2018/saplingsDepreciatedAmountPerCycle.py +1 -7
  294. hestia_earth/models/poschEtAl2008/terrestrialAcidificationPotentialAccumulatedExceedance.py +1 -7
  295. hestia_earth/models/poschEtAl2008/terrestrialEutrophicationPotentialAccumulatedExceedance.py +1 -7
  296. hestia_earth/models/recipe2016Egalitarian/damageToFreshwaterEcosystemsSpeciesYear.py +1 -7
  297. hestia_earth/models/recipe2016Egalitarian/damageToHumanHealth.py +1 -7
  298. hestia_earth/models/recipe2016Egalitarian/damageToMarineEcosystemsSpeciesYear.py +1 -7
  299. hestia_earth/models/recipe2016Egalitarian/damageToResourceAvailability.py +1 -7
  300. hestia_earth/models/recipe2016Egalitarian/damageToTerrestrialEcosystemsSpeciesYear.py +1 -7
  301. hestia_earth/models/recipe2016Egalitarian/ecosystemDamageOzoneFormation.py +1 -7
  302. hestia_earth/models/recipe2016Egalitarian/fossilResourceScarcity.py +1 -7
  303. hestia_earth/models/recipe2016Egalitarian/freshwaterAquaticEcotoxicityPotential14Dcbeq.py +1 -7
  304. hestia_earth/models/recipe2016Egalitarian/freshwaterEutrophicationPotential.py +1 -7
  305. hestia_earth/models/recipe2016Egalitarian/humanCarcinogenicToxicity.py +1 -7
  306. hestia_earth/models/recipe2016Egalitarian/humanDamageOzoneFormation.py +2 -10
  307. hestia_earth/models/recipe2016Egalitarian/humanNonCarcinogenicToxicity.py +1 -7
  308. hestia_earth/models/recipe2016Egalitarian/marineAquaticEcotoxicityPotential14Dcbeq.py +1 -7
  309. hestia_earth/models/recipe2016Egalitarian/marineEutrophicationPotential.py +1 -7
  310. hestia_earth/models/recipe2016Egalitarian/ozoneDepletionPotential.py +1 -7
  311. hestia_earth/models/recipe2016Egalitarian/terrestrialAcidificationPotential.py +1 -7
  312. hestia_earth/models/recipe2016Egalitarian/terrestrialEcotoxicityPotential14Dcbeq.py +1 -7
  313. hestia_earth/models/recipe2016Hierarchist/damageToFreshwaterEcosystemsSpeciesYear.py +1 -7
  314. hestia_earth/models/recipe2016Hierarchist/damageToHumanHealth.py +1 -7
  315. hestia_earth/models/recipe2016Hierarchist/damageToMarineEcosystemsSpeciesYear.py +1 -7
  316. hestia_earth/models/recipe2016Hierarchist/damageToResourceAvailability.py +1 -7
  317. hestia_earth/models/recipe2016Hierarchist/damageToTerrestrialEcosystemsSpeciesYear.py +1 -7
  318. hestia_earth/models/recipe2016Hierarchist/ecosystemDamageOzoneFormation.py +2 -10
  319. hestia_earth/models/recipe2016Hierarchist/fossilResourceScarcity.py +1 -7
  320. hestia_earth/models/recipe2016Hierarchist/freshwaterAquaticEcotoxicityPotential14Dcbeq.py +1 -7
  321. hestia_earth/models/recipe2016Hierarchist/freshwaterEutrophicationPotential.py +1 -7
  322. hestia_earth/models/recipe2016Hierarchist/humanCarcinogenicToxicity.py +1 -7
  323. hestia_earth/models/recipe2016Hierarchist/humanDamageOzoneFormation.py +2 -10
  324. hestia_earth/models/recipe2016Hierarchist/humanNonCarcinogenicToxicity.py +1 -7
  325. hestia_earth/models/recipe2016Hierarchist/marineAquaticEcotoxicityPotential14Dcbeq.py +1 -7
  326. hestia_earth/models/recipe2016Hierarchist/marineEutrophicationPotential.py +1 -7
  327. hestia_earth/models/recipe2016Hierarchist/ozoneDepletionPotential.py +1 -7
  328. hestia_earth/models/recipe2016Hierarchist/terrestrialAcidificationPotential.py +1 -7
  329. hestia_earth/models/recipe2016Hierarchist/terrestrialEcotoxicityPotential14Dcbeq.py +1 -7
  330. hestia_earth/models/recipe2016Individualist/damageToFreshwaterEcosystemsSpeciesYear.py +1 -7
  331. hestia_earth/models/recipe2016Individualist/damageToHumanHealth.py +1 -7
  332. hestia_earth/models/recipe2016Individualist/damageToMarineEcosystemsSpeciesYear.py +1 -7
  333. hestia_earth/models/recipe2016Individualist/damageToResourceAvailability.py +1 -7
  334. hestia_earth/models/recipe2016Individualist/damageToTerrestrialEcosystemsSpeciesYear.py +1 -7
  335. hestia_earth/models/recipe2016Individualist/ecosystemDamageOzoneFormation.py +2 -10
  336. hestia_earth/models/recipe2016Individualist/fossilResourceScarcity.py +1 -7
  337. hestia_earth/models/recipe2016Individualist/freshwaterAquaticEcotoxicityPotential14Dcbeq.py +1 -7
  338. hestia_earth/models/recipe2016Individualist/freshwaterEutrophicationPotential.py +1 -7
  339. hestia_earth/models/recipe2016Individualist/humanCarcinogenicToxicity.py +1 -7
  340. hestia_earth/models/recipe2016Individualist/humanDamageOzoneFormation.py +2 -10
  341. hestia_earth/models/recipe2016Individualist/humanNonCarcinogenicToxicity.py +1 -7
  342. hestia_earth/models/recipe2016Individualist/marineAquaticEcotoxicityPotential14Dcbeq.py +1 -7
  343. hestia_earth/models/recipe2016Individualist/marineEutrophicationPotential.py +1 -7
  344. hestia_earth/models/recipe2016Individualist/ozoneDepletionPotential.py +1 -7
  345. hestia_earth/models/recipe2016Individualist/terrestrialAcidificationPotential.py +1 -7
  346. hestia_earth/models/recipe2016Individualist/terrestrialEcotoxicityPotential14Dcbeq.py +1 -7
  347. hestia_earth/models/resourceUseNotRelevant/__init__.py +2 -8
  348. hestia_earth/models/schererPfister2015/nErosionSoilFlux.py +1 -2
  349. hestia_earth/models/schererPfister2015/pErosionSoilFlux.py +1 -2
  350. hestia_earth/models/schererPfister2015/pToDrainageWaterSoilFlux.py +1 -2
  351. hestia_earth/models/schererPfister2015/pToGroundwaterSoilFlux.py +1 -2
  352. hestia_earth/models/schererPfister2015/pToSurfaceWaterSoilFlux.py +1 -2
  353. hestia_earth/models/schmidt2007/ch4ToAirWasteTreatment.py +1 -2
  354. hestia_earth/models/schmidt2007/h2SToAirWasteTreatment.py +1 -2
  355. hestia_earth/models/schmidt2007/n2OToAirWasteTreatmentDirect.py +1 -2
  356. hestia_earth/models/schmidt2007/nh3ToAirWasteTreatment.py +1 -2
  357. hestia_earth/models/site/grouped_measurement.py +2 -3
  358. hestia_earth/models/stehfestBouwman2006/n2OToAirCropResidueDecompositionDirect.py +1 -2
  359. hestia_earth/models/stehfestBouwman2006/n2OToAirExcretaDirect.py +1 -2
  360. hestia_earth/models/stehfestBouwman2006/n2OToAirInorganicFertiliserDirect.py +1 -2
  361. hestia_earth/models/stehfestBouwman2006/n2OToAirOrganicFertiliserDirect.py +1 -2
  362. hestia_earth/models/stehfestBouwman2006/n2OToAirSoilFlux_utils.py +1 -2
  363. hestia_earth/models/stehfestBouwman2006/noxToAirCropResidueDecomposition.py +1 -2
  364. hestia_earth/models/stehfestBouwman2006/noxToAirExcreta.py +1 -2
  365. hestia_earth/models/stehfestBouwman2006/noxToAirInorganicFertiliser.py +1 -2
  366. hestia_earth/models/stehfestBouwman2006/noxToAirOrganicFertiliser.py +1 -2
  367. hestia_earth/models/stehfestBouwman2006/noxToAirSoilFlux_utils.py +1 -2
  368. hestia_earth/models/stehfestBouwman2006GisImplementation/noxToAirCropResidueDecomposition.py +1 -2
  369. hestia_earth/models/stehfestBouwman2006GisImplementation/noxToAirExcreta.py +1 -2
  370. hestia_earth/models/stehfestBouwman2006GisImplementation/noxToAirInorganicFertiliser.py +1 -2
  371. hestia_earth/models/stehfestBouwman2006GisImplementation/noxToAirOrganicFertiliser.py +1 -2
  372. hestia_earth/models/stehfestBouwman2006GisImplementation/noxToAirSoilFlux_utils.py +1 -2
  373. hestia_earth/models/transformation/input/excreta.py +7 -5
  374. hestia_earth/models/transformation/product/excreta.py +4 -4
  375. hestia_earth/models/usetoxV2/freshwaterEcotoxicityPotentialCtue.py +1 -7
  376. hestia_earth/models/utils/__init__.py +26 -7
  377. hestia_earth/models/utils/background_emissions.py +3 -3
  378. hestia_earth/models/utils/blank_node.py +31 -12
  379. hestia_earth/models/utils/emission.py +24 -10
  380. hestia_earth/models/utils/indicator.py +28 -13
  381. hestia_earth/models/utils/input.py +22 -5
  382. hestia_earth/models/utils/management.py +18 -4
  383. hestia_earth/models/utils/measurement.py +14 -6
  384. hestia_earth/models/utils/practice.py +24 -4
  385. hestia_earth/models/utils/product.py +32 -14
  386. hestia_earth/models/version.py +1 -1
  387. hestia_earth/models/webbEtAl2012AndSintermannEtAl2012/nh3ToAirOrganicFertiliser.py +1 -2
  388. hestia_earth/orchestrator/models/__init__.py +22 -11
  389. {hestia_earth_models-0.74.10.dist-info → hestia_earth_models-0.74.12.dist-info}/METADATA +2 -2
  390. {hestia_earth_models-0.74.10.dist-info → hestia_earth_models-0.74.12.dist-info}/RECORD +410 -404
  391. tests/models/cml2001Baseline/test_abioticResourceDepletionFossilFuels.py +4 -9
  392. tests/models/cml2001Baseline/test_abioticResourceDepletionMineralsAndMetals.py +4 -9
  393. tests/models/environmentalFootprintV3_1/test_environmentalFootprintSingleOverallScore.py +4 -9
  394. tests/models/environmentalFootprintV3_1/test_marineEutrophicationPotential.py +1 -7
  395. tests/models/environmentalFootprintV3_1/test_scarcityWeightedWaterUse.py +2 -8
  396. tests/models/environmentalFootprintV3_1/test_soilQualityIndexLandTransformation.py +3 -13
  397. tests/models/hestia/test_default_emissions.py +2 -2
  398. tests/models/hestia/test_default_resourceUse.py +3 -3
  399. tests/models/hestia/test_landCover.py +42 -295
  400. tests/models/hestia/test_landCover_utils.py +233 -0
  401. tests/models/hestia/test_slope.py +23 -0
  402. tests/models/hestia/test_slopeLength.py +23 -0
  403. tests/models/ipcc2019/test_no3ToGroundwaterExcreta.py +1 -0
  404. tests/models/poschEtAl2008/test_terrestrialAcidificationPotentialAccumulatedExceedance.py +4 -9
  405. tests/models/poschEtAl2008/test_terrestrialEutrophicationPotentialAccumulatedExceedance.py +4 -9
  406. tests/models/utils/test_indicator.py +6 -4
  407. tests/models/utils/test_measurement.py +7 -5
  408. {hestia_earth_models-0.74.10.dist-info → hestia_earth_models-0.74.12.dist-info}/LICENSE +0 -0
  409. {hestia_earth_models-0.74.10.dist-info → hestia_earth_models-0.74.12.dist-info}/WHEEL +0 -0
  410. {hestia_earth_models-0.74.10.dist-info → hestia_earth_models-0.74.12.dist-info}/top_level.txt +0 -0
@@ -24,9 +24,7 @@ RETURNS = {
24
24
  TERM_ID = 'aboveGroundCropResidueTotal'
25
25
 
26
26
 
27
- def _product(value: float):
28
- product = _new_product(TERM_ID, value, MODEL)
29
- return product
27
+ def _product(value: float = None): return _new_product(term=TERM_ID, model=MODEL, value=value)
30
28
 
31
29
 
32
30
  def _get_lookup_value(product: dict):
@@ -24,9 +24,7 @@ RETURNS = {
24
24
  TERM_ID = 'belowGroundCropResidue'
25
25
 
26
26
 
27
- def _product(value: float):
28
- product = _new_product(TERM_ID, value, MODEL)
29
- return product
27
+ def _product(value: float = None): return _new_product(term=TERM_ID, model=MODEL, value=value)
30
28
 
31
29
 
32
30
  def _get_lookup_value(product: dict):
@@ -90,8 +90,7 @@ MOC_FROM_SYS = {
90
90
 
91
91
 
92
92
  def _emission(value: float):
93
- emission = _new_emission(TERM_ID, MODEL)
94
- emission['value'] = [value]
93
+ emission = _new_emission(term=TERM_ID, model=MODEL, value=value)
95
94
  emission['methodTier'] = TIER
96
95
  return emission
97
96
 
@@ -1,9 +1,8 @@
1
1
  from hestia_earth.schema import TermTermType
2
2
  from hestia_earth.utils.model import find_primary_product
3
- from hestia_earth.utils.tools import list_sum
3
+ from hestia_earth.utils.tools import list_sum, omit
4
4
 
5
5
  from hestia_earth.models.log import logRequirements, logShouldRun
6
- from hestia_earth.models.utils import _omit
7
6
  from hestia_earth.models.utils.property import _get_nitrogen_content
8
7
  from hestia_earth.models.utils.input import get_feed_inputs
9
8
  from hestia_earth.models.utils.product import _new_product, get_animal_produced_nitrogen
@@ -71,8 +70,8 @@ MODEL_KEY = 'excretaKgN'
71
70
 
72
71
 
73
72
  def _product(excreta_product: str, value: float = None):
74
- product = _new_product(excreta_product.get('term', {}).get('@id'), value, MODEL)
75
- return _omit(excreta_product, ['value']) | product
73
+ product = _new_product(term=excreta_product.get('term', {}).get('@id'), model=MODEL, value=value)
74
+ return omit(excreta_product, ['value']) | product
76
75
 
77
76
 
78
77
  def _run_no_value(excreta_products: list):
@@ -1,9 +1,9 @@
1
1
  from hestia_earth.schema import SiteSiteType, TermTermType
2
2
  from hestia_earth.utils.model import find_primary_product, find_term_match, filter_list_term_type
3
- from hestia_earth.utils.tools import list_sum, safe_parse_float
3
+ from hestia_earth.utils.tools import list_sum, safe_parse_float, omit
4
4
 
5
5
  from hestia_earth.models.log import logRequirements, logShouldRun
6
- from hestia_earth.models.utils import get_kg_VS_term_id, _filter_list_term_unit, _omit
6
+ from hestia_earth.models.utils import get_kg_VS_term_id, _filter_list_term_unit
7
7
  from hestia_earth.models.utils.constant import Units
8
8
  from hestia_earth.models.utils.term import get_lookup_value
9
9
  from hestia_earth.models.utils.property import get_node_property
@@ -104,8 +104,8 @@ Conv_AQ_OC_OCSed_Fresh = 0.35
104
104
 
105
105
 
106
106
  def _product(excreta_product: str, value: float = None):
107
- product = _new_product(excreta_product.get('term', {}).get('@id'), value, MODEL)
108
- return _omit(excreta_product, ['value']) | product
107
+ product = _new_product(term=excreta_product.get('term', {}).get('@id'), model=MODEL, value=value)
108
+ return omit(excreta_product, ['value']) | product
109
109
 
110
110
 
111
111
  def _run_no_value(excreta_vs_products: list, excreta_n_products: list):
@@ -1,5 +1,5 @@
1
1
  from hestia_earth.schema import TermTermType
2
- from hestia_earth.utils.tools import list_sum, safe_parse_float
2
+ from hestia_earth.utils.tools import list_sum, safe_parse_float, non_empty_list
3
3
  from hestia_earth.utils.model import filter_list_term_type
4
4
 
5
5
  from hestia_earth.models.log import debugValues, logRequirements, logShouldRun, log_as_table
@@ -52,12 +52,6 @@ LOOKUPS = {
52
52
  TERM_ID = 'freshwaterWithdrawalsDuringCycle'
53
53
 
54
54
 
55
- def _indicator(term_id: str, value: float):
56
- indicator = _new_indicator(term_id, MODEL)
57
- indicator['value'] = value
58
- return indicator
59
-
60
-
61
55
  def _get_conveyancing_efficiency_from_waterRegime(impact_assessment: dict):
62
56
  practices = filter_list_term_type(impact_assessment.get('cycle', {}).get('practices', []), TermTermType.WATERREGIME)
63
57
  practices_with_factors = [
@@ -110,7 +104,7 @@ def _run(impact_assessment: dict, product: dict, irrigation: float):
110
104
  )
111
105
  debugValues(impact_assessment, model=MODEL, term=TERM_ID,
112
106
  value=value)
113
- return _indicator(TERM_ID, value)
107
+ return non_empty_list([_new_indicator(term=TERM_ID, model=MODEL, value=value)])
114
108
 
115
109
 
116
110
  def _get_irrigation(impact_assessment: dict):
@@ -139,4 +133,4 @@ def _should_run(impact_assessment: dict):
139
133
 
140
134
  def run(impact_assessment: dict):
141
135
  should_run, product, irrigation = _should_run(impact_assessment)
142
- return [_run(impact_assessment, product, irrigation)] if should_run else []
136
+ return _run(impact_assessment, product, irrigation) if should_run else []
@@ -45,12 +45,6 @@ RETURNS = {
45
45
  TERM_ID = 'landOccupationDuringCycle'
46
46
 
47
47
 
48
- def _indicator(term_id: str, value: float, land_cover_term_id: str):
49
- indicator = _new_indicator(term_id, MODEL, land_cover_term_id)
50
- indicator['value'] = value
51
- return indicator
52
-
53
-
54
48
  def _should_run(impact_assessment: dict):
55
49
  product = get_product(impact_assessment)
56
50
  product_evs = product.get('economicValueShare')
@@ -74,4 +68,6 @@ def _should_run(impact_assessment: dict):
74
68
 
75
69
  def run(impact_assessment: dict):
76
70
  should_run, land_occupation_kg, land_cover_term_id = _should_run(impact_assessment)
77
- return [_indicator(TERM_ID, land_occupation_kg, land_cover_term_id)] if should_run else []
71
+ return [
72
+ _new_indicator(term=TERM_ID, model=MODEL, value=land_occupation_kg, land_cover_id=land_cover_term_id)
73
+ ] if should_run else []
@@ -21,12 +21,6 @@ RETURNS = {
21
21
  TERM_ID = 'longFallowDuration'
22
22
 
23
23
 
24
- def _practice(value: float):
25
- practice = _new_practice(TERM_ID, MODEL)
26
- practice['value'] = [value]
27
- return practice
28
-
29
-
30
24
  def _get_value(product: dict):
31
25
  term_id = product.get('term', {}).get('@id', '')
32
26
  return safe_parse_float(get_crop_lookup_value(MODEL, TERM_ID, term_id, LOOKUPS['crop']), default=None)
@@ -34,7 +28,7 @@ def _get_value(product: dict):
34
28
 
35
29
  def _run(product: dict):
36
30
  value = _get_value(product)
37
- return [_practice(value)]
31
+ return [_new_practice(term=TERM_ID, model=MODEL, value=value)]
38
32
 
39
33
 
40
34
  def _should_run_product(product: dict): return _get_value(product) is not None
@@ -34,8 +34,7 @@ EF_Aqua = {'NH3N_N2ON': 0.018, 'OtherN_N2ON': 0.005}
34
34
 
35
35
 
36
36
  def _emission(value: float):
37
- emission = _new_emission(TERM_ID, MODEL)
38
- emission['value'] = [value]
37
+ emission = _new_emission(term=TERM_ID, model=MODEL, value=value)
39
38
  emission['methodTier'] = TIER
40
39
  return emission
41
40
 
@@ -33,8 +33,7 @@ EF_Aqua = {'NH3N_N2N': 0.054, 'OtherN_N2N': 0.015}
33
33
 
34
34
 
35
35
  def _emission(value: float):
36
- emission = _new_emission(TERM_ID, MODEL)
37
- emission['value'] = [value]
36
+ emission = _new_emission(term=TERM_ID, model=MODEL, value=value)
38
37
  emission['methodTier'] = TIER
39
38
  return emission
40
39
 
@@ -48,8 +48,7 @@ EF_Aqua = {'TAN_NH3N': 0.3, 'MAX_NH3N': 0.00005}
48
48
 
49
49
 
50
50
  def _emission(value: float):
51
- emission = _new_emission(TERM_ID, MODEL)
52
- emission['value'] = [value]
51
+ emission = _new_emission(term=TERM_ID, model=MODEL, value=value)
53
52
  emission['methodTier'] = TIER
54
53
  return emission
55
54
 
@@ -40,8 +40,7 @@ TIER = EmissionMethodTier.TIER_2.value
40
40
 
41
41
 
42
42
  def _emission(value: float):
43
- emission = _new_emission(TERM_ID, MODEL)
44
- emission['value'] = [value]
43
+ emission = _new_emission(term=TERM_ID, model=MODEL, value=value)
45
44
  emission['methodTier'] = TIER
46
45
  return emission
47
46
 
@@ -45,8 +45,7 @@ TIER = EmissionMethodTier.TIER_2.value
45
45
 
46
46
 
47
47
  def _emission(value: float):
48
- emission = _new_emission(TERM_ID, MODEL)
49
- emission['value'] = [value]
48
+ emission = _new_emission(term=TERM_ID, model=MODEL, value=value)
50
49
  emission['methodTier'] = TIER
51
50
  return emission
52
51
 
@@ -48,8 +48,7 @@ TIER = EmissionMethodTier.TIER_2.value
48
48
 
49
49
 
50
50
  def _emission(value: float):
51
- emission = _new_emission(TERM_ID, MODEL)
52
- emission['value'] = [value]
51
+ emission = _new_emission(term=TERM_ID, model=MODEL, value=value)
53
52
  emission['methodTier'] = TIER
54
53
  return emission
55
54
 
@@ -48,8 +48,7 @@ TIER = EmissionMethodTier.TIER_2.value
48
48
 
49
49
 
50
50
  def _emission(value: float):
51
- emission = _new_emission(TERM_ID, MODEL)
52
- emission['value'] = [value]
51
+ emission = _new_emission(term=TERM_ID, model=MODEL, value=value)
53
52
  emission['methodTier'] = TIER
54
53
  return emission
55
54
 
@@ -56,8 +56,7 @@ TIER = EmissionMethodTier.TIER_2.value
56
56
 
57
57
 
58
58
  def _emission(value: float):
59
- emission = _new_emission(TERM_ID, MODEL)
60
- emission['value'] = [value]
59
+ emission = _new_emission(term=TERM_ID, model=MODEL, value=value)
61
60
  emission['methodTier'] = TIER
62
61
  return emission
63
62
 
@@ -40,8 +40,7 @@ EF_Aqua = {'NH3N_NON': 0.0018, 'OtherN_NON': 0.0005}
40
40
 
41
41
 
42
42
  def _emission(value: float):
43
- emission = _new_emission(TERM_ID, MODEL)
44
- emission['value'] = [value]
43
+ emission = _new_emission(term=TERM_ID, model=MODEL, value=value)
45
44
  emission['methodTier'] = TIER
46
45
  return emission
47
46
 
@@ -26,12 +26,6 @@ def _get_value(product: dict):
26
26
  return safe_parse_float(get_crop_lookup_value(MODEL, TERM_ID, term_id, LOOKUPS['crop']), default=None)
27
27
 
28
28
 
29
- def _practice(value: float):
30
- practice = _new_practice(TERM_ID, MODEL)
31
- practice['value'] = [value]
32
- return practice
33
-
34
-
35
29
  def run(cycle: dict):
36
30
  value = run_products_average(cycle, TERM_ID, _get_value)
37
- return [_practice(value)] if value is not None else []
31
+ return [_new_practice(term=TERM_ID, model=MODEL, value=value)] if value is not None else []
@@ -21,12 +21,6 @@ RETURNS = {
21
21
  TERM_ID = 'nurseryDuration'
22
22
 
23
23
 
24
- def _practice(value: float):
25
- practice = _new_practice(TERM_ID, MODEL)
26
- practice['value'] = [value]
27
- return practice
28
-
29
-
30
24
  def _get_value(product: dict):
31
25
  term_id = product.get('term', {}).get('@id', '')
32
26
  return safe_parse_float(get_crop_lookup_value(MODEL, TERM_ID, term_id, LOOKUPS['crop']), default=None)
@@ -34,4 +28,4 @@ def _get_value(product: dict):
34
28
 
35
29
  def run(cycle: dict):
36
30
  value = run_products_average(cycle, TERM_ID, _get_value)
37
- return [_practice(value)] if value is not None else []
31
+ return [_new_practice(term=TERM_ID, model=MODEL, value=value)] if value is not None else []
@@ -21,12 +21,6 @@ RETURNS = {
21
21
  TERM_ID = 'plantationDensity'
22
22
 
23
23
 
24
- def _practice(value: float):
25
- practice = _new_practice(TERM_ID, MODEL)
26
- practice['value'] = [value]
27
- return practice
28
-
29
-
30
24
  def _get_value(product: dict):
31
25
  term_id = product.get('term', {}).get('@id', '')
32
26
  return safe_parse_float(get_crop_lookup_value(MODEL, TERM_ID, term_id, LOOKUPS['crop']), default=None)
@@ -34,4 +28,4 @@ def _get_value(product: dict):
34
28
 
35
29
  def run(cycle: dict):
36
30
  value = run_products_average(cycle, TERM_ID, _get_value)
37
- return [_practice(value)] if value is not None else []
31
+ return [_new_practice(term=TERM_ID, model=MODEL, value=value)] if value is not None else []
@@ -26,12 +26,6 @@ def _get_value(product: dict):
26
26
  return safe_parse_float(get_crop_lookup_value(MODEL, TERM_ID, term_id, LOOKUPS['crop']), default=None)
27
27
 
28
28
 
29
- def _practice(value: float):
30
- practice = _new_practice(TERM_ID, MODEL)
31
- practice['value'] = [value]
32
- return practice
33
-
34
-
35
29
  def run(cycle: dict):
36
30
  value = run_products_average(cycle, TERM_ID, _get_value)
37
- return [_practice(value)] if value is not None else []
31
+ return [_new_practice(term=TERM_ID, model=MODEL, value=value)] if value is not None else []
@@ -23,12 +23,6 @@ RETURNS = {
23
23
  TERM_ID = 'plantationProductiveLifespan'
24
24
 
25
25
 
26
- def _practice(value: float):
27
- practice = _new_practice(TERM_ID, MODEL)
28
- practice['value'] = [value]
29
- return practice
30
-
31
-
32
26
  def _get_value(cycle: dict):
33
27
  def get(product: dict):
34
28
  term_id = product.get('term', {}).get('@id', '')
@@ -51,4 +45,4 @@ def _get_value(cycle: dict):
51
45
 
52
46
  def run(cycle: dict):
53
47
  value = run_products_average(cycle, TERM_ID, _get_value(cycle))
54
- return [_practice(value)] if value is not None else []
48
+ return [_new_practice(term=TERM_ID, model=MODEL, value=value)] if value is not None else []
@@ -22,12 +22,6 @@ RETURNS = {
22
22
  TERM_ID = 'rotationDuration'
23
23
 
24
24
 
25
- def _practice(value: float):
26
- practice = _new_practice(TERM_ID, MODEL)
27
- practice['value'] = [value]
28
- return practice
29
-
30
-
31
25
  def _get_value(cycle: dict):
32
26
  def get(product: dict):
33
27
  plantationLifespan = get_plantationLifespan(product)
@@ -45,4 +39,4 @@ def _get_value(cycle: dict):
45
39
 
46
40
  def run(cycle: dict):
47
41
  value = run_products_average(cycle, TERM_ID, _get_value(cycle))
48
- return [_practice(value)] if value is not None else []
42
+ return [_new_practice(term=TERM_ID, model=MODEL, value=value)] if value is not None else []
@@ -27,12 +27,6 @@ RETURNS = {
27
27
  TERM_ID = 'saplingsDepreciatedAmountPerCycle'
28
28
 
29
29
 
30
- def _input(value: float):
31
- input = _new_input(TERM_ID, MODEL)
32
- input['value'] = [value]
33
- return input
34
-
35
-
36
30
  def _get_value(product: dict):
37
31
  term_id = product.get('term', {}).get('@id', '')
38
32
  return safe_parse_float(get_crop_lookup_value(MODEL, TERM_ID, term_id, LOOKUPS['crop']), default=None)
@@ -40,7 +34,7 @@ def _get_value(product: dict):
40
34
 
41
35
  def _run(product: dict, plantationLifespan: float, cycleDuration: float):
42
36
  value = _get_value(product)
43
- return [_input(value / plantationLifespan * cycleDuration)]
37
+ return [_new_input(term=TERM_ID, model=MODEL, value=value / plantationLifespan * cycleDuration)]
44
38
 
45
39
 
46
40
  def _should_run_product(product: dict): return _get_value(product) is not None
@@ -28,16 +28,10 @@ TERM_ID = 'terrestrialAcidificationPotentialAccumulatedExceedance'
28
28
  LOOKUP = f"{list(LOOKUPS.keys())[0]}.csv"
29
29
 
30
30
 
31
- def _indicator(value: float):
32
- indicator = _new_indicator(TERM_ID, MODEL)
33
- indicator['value'] = value
34
- return indicator
35
-
36
-
37
31
  def run(impact_assessment: dict):
38
32
  value = impact_country_value(MODEL, TERM_ID, impact_assessment, f"{list(LOOKUPS.keys())[0]}.csv",
39
33
  default_world_value=True)
40
34
  logRequirements(impact_assessment, model=MODEL, term=TERM_ID,
41
35
  value=value)
42
36
  logShouldRun(impact_assessment, MODEL, TERM_ID, value is not None)
43
- return None if value is None else _indicator(value)
37
+ return _new_indicator(term=TERM_ID, model=MODEL, value=value)
@@ -28,16 +28,10 @@ TERM_ID = 'terrestrialEutrophicationPotentialAccumulatedExceedance'
28
28
  LOOKUP = f"{list(LOOKUPS.keys())[0]}.csv"
29
29
 
30
30
 
31
- def _indicator(value: float):
32
- indicator = _new_indicator(TERM_ID, MODEL)
33
- indicator['value'] = value
34
- return indicator
35
-
36
-
37
31
  def run(impact_assessment: dict):
38
32
  value = impact_country_value(MODEL, TERM_ID, impact_assessment, f"{list(LOOKUPS.keys())[0]}.csv",
39
33
  default_world_value=True)
40
34
  logRequirements(impact_assessment, model=MODEL, term=TERM_ID,
41
35
  value=value)
42
36
  logShouldRun(impact_assessment, MODEL, TERM_ID, value is not None)
43
- return None if value is None else _indicator(value)
37
+ return _new_indicator(term=TERM_ID, model=MODEL, value=value)
@@ -23,15 +23,9 @@ LOOKUPS = {
23
23
  TERM_ID = 'damageToFreshwaterEcosystemsSpeciesYear'
24
24
 
25
25
 
26
- def _indicator(value: float):
27
- indicator = _new_indicator(TERM_ID, MODEL)
28
- indicator['value'] = value
29
- return indicator
30
-
31
-
32
26
  def run(impact_assessment: dict):
33
27
  value = impact_endpoint_value(MODEL, TERM_ID, impact_assessment, LOOKUPS['characterisedIndicator'])
34
28
  logRequirements(impact_assessment, model=MODEL, term=TERM_ID,
35
29
  value=value)
36
30
  logShouldRun(impact_assessment, MODEL, TERM_ID, value is not None)
37
- return _indicator(value) if value is not None else None
31
+ return _new_indicator(term=TERM_ID, model=MODEL, value=value)
@@ -23,15 +23,9 @@ LOOKUPS = {
23
23
  TERM_ID = 'damageToHumanHealth'
24
24
 
25
25
 
26
- def _indicator(value: float):
27
- indicator = _new_indicator(TERM_ID, MODEL)
28
- indicator['value'] = value
29
- return indicator
30
-
31
-
32
26
  def run(impact_assessment: dict):
33
27
  value = impact_endpoint_value(MODEL, TERM_ID, impact_assessment, LOOKUPS['characterisedIndicator'])
34
28
  logRequirements(impact_assessment, model=MODEL, term=TERM_ID,
35
29
  value=value)
36
30
  logShouldRun(impact_assessment, MODEL, TERM_ID, value is not None)
37
- return _indicator(value) if value is not None else None
31
+ return _new_indicator(term=TERM_ID, model=MODEL, value=value)
@@ -23,15 +23,9 @@ LOOKUPS = {
23
23
  TERM_ID = 'damageToMarineEcosystemsSpeciesYear'
24
24
 
25
25
 
26
- def _indicator(value: float):
27
- indicator = _new_indicator(TERM_ID, MODEL)
28
- indicator['value'] = value
29
- return indicator
30
-
31
-
32
26
  def run(impact_assessment: dict):
33
27
  value = impact_endpoint_value(MODEL, TERM_ID, impact_assessment, LOOKUPS['characterisedIndicator'])
34
28
  logRequirements(impact_assessment, model=MODEL, term=TERM_ID,
35
29
  value=value)
36
30
  logShouldRun(impact_assessment, MODEL, TERM_ID, value is not None)
37
- return _indicator(value) if value is not None else None
31
+ return _new_indicator(term=TERM_ID, model=MODEL, value=value)
@@ -22,12 +22,6 @@ LOOKUPS = {
22
22
  TERM_ID = 'damageToResourceAvailability'
23
23
 
24
24
 
25
- def _indicator(value: float):
26
- indicator = _new_indicator(TERM_ID, MODEL)
27
- indicator['value'] = value
28
- return indicator
29
-
30
-
31
25
  def run(impact_assessment: dict):
32
26
  value = impact_lookup_value(MODEL, TERM_ID, impact_assessment, LOOKUPS['fuel'])
33
- return None if value is None else _indicator(value)
27
+ return _new_indicator(term=TERM_ID, model=MODEL, value=value)
@@ -23,15 +23,9 @@ LOOKUPS = {
23
23
  TERM_ID = 'damageToTerrestrialEcosystemsSpeciesYear'
24
24
 
25
25
 
26
- def _indicator(value: float):
27
- indicator = _new_indicator(TERM_ID, MODEL)
28
- indicator['value'] = value
29
- return indicator
30
-
31
-
32
26
  def run(impact_assessment: dict):
33
27
  value = impact_endpoint_value(MODEL, TERM_ID, impact_assessment, LOOKUPS['characterisedIndicator'])
34
28
  logRequirements(impact_assessment, model=MODEL, term=TERM_ID,
35
29
  value=value)
36
30
  logShouldRun(impact_assessment, MODEL, TERM_ID, value is not None)
37
- return _indicator(value) if value is not None else None
31
+ return _new_indicator(term=TERM_ID, model=MODEL, value=value)
@@ -27,12 +27,6 @@ LOOKUPS = {
27
27
  TERM_ID = 'ecosystemDamageOzoneFormation'
28
28
 
29
29
 
30
- def _indicator(value: float):
31
- indicator = _new_indicator(TERM_ID, MODEL)
32
- indicator['value'] = value
33
- return indicator
34
-
35
-
36
30
  def run(impact_assessment: dict):
37
31
  emissions_value = impact_emission_lookup_value(MODEL, TERM_ID, impact_assessment, LOOKUPS['emission'])
38
32
  logRequirements(impact_assessment, model=MODEL, term=TERM_ID,
@@ -45,4 +39,4 @@ def run(impact_assessment: dict):
45
39
  should_run = all([value is not None])
46
40
  logShouldRun(impact_assessment, MODEL, TERM_ID, should_run)
47
41
 
48
- return _indicator(value) if should_run else None
42
+ return _new_indicator(term=TERM_ID, model=MODEL, value=value) if should_run else None
@@ -22,12 +22,6 @@ LOOKUPS = {
22
22
  TERM_ID = 'fossilResourceScarcity'
23
23
 
24
24
 
25
- def _indicator(value: float):
26
- indicator = _new_indicator(TERM_ID, MODEL)
27
- indicator['value'] = value
28
- return indicator
29
-
30
-
31
25
  def run(impact_assessment: dict):
32
26
  value = impact_lookup_value(MODEL, TERM_ID, impact_assessment, LOOKUPS['fuel'])
33
- return None if value is None else _indicator(value)
27
+ return _new_indicator(term=TERM_ID, model=MODEL, value=value)
@@ -22,12 +22,6 @@ LOOKUPS = {
22
22
  TERM_ID = 'freshwaterAquaticEcotoxicityPotential14Dcbeq'
23
23
 
24
24
 
25
- def _indicator(value: float):
26
- indicator = _new_indicator(TERM_ID, MODEL)
27
- indicator['value'] = value
28
- return indicator
29
-
30
-
31
25
  def run(impact_assessment: dict):
32
26
  value = impact_lookup_value(MODEL, TERM_ID, impact_assessment, LOOKUPS['pesticideAI'])
33
- return _indicator(value) if value is not None else None
27
+ return _new_indicator(term=TERM_ID, model=MODEL, value=value)
@@ -19,15 +19,9 @@ LOOKUPS = {
19
19
  TERM_ID = 'freshwaterEutrophicationPotential'
20
20
 
21
21
 
22
- def _indicator(value: float):
23
- indicator = _new_indicator(TERM_ID, MODEL)
24
- indicator['value'] = value
25
- return indicator
26
-
27
-
28
22
  def run(impact_assessment: dict):
29
23
  value = impact_emission_lookup_value(MODEL, TERM_ID, impact_assessment, LOOKUPS['emission'])
30
24
  logRequirements(impact_assessment, model=MODEL, term=TERM_ID,
31
25
  value=value)
32
26
  logShouldRun(impact_assessment, MODEL, TERM_ID, value is not None)
33
- return _indicator(value) if value is not None else None
27
+ return _new_indicator(term=TERM_ID, model=MODEL, value=value)
@@ -22,12 +22,6 @@ LOOKUPS = {
22
22
  TERM_ID = 'humanCarcinogenicToxicity'
23
23
 
24
24
 
25
- def _indicator(value: float):
26
- indicator = _new_indicator(TERM_ID, MODEL)
27
- indicator['value'] = value
28
- return indicator
29
-
30
-
31
25
  def run(impact_assessment: dict):
32
26
  value = impact_lookup_value(MODEL, TERM_ID, impact_assessment, LOOKUPS['pesticideAI'])
33
- return _indicator(value) if value is not None else None
27
+ return _new_indicator(term=TERM_ID, model=MODEL, value=value)
@@ -27,12 +27,6 @@ LOOKUPS = {
27
27
  TERM_ID = 'humanDamageOzoneFormation'
28
28
 
29
29
 
30
- def _indicator(value: float):
31
- indicator = _new_indicator(TERM_ID, MODEL)
32
- indicator['value'] = value
33
- return indicator
34
-
35
-
36
30
  def run(impact_assessment: dict):
37
31
  emissions_value = impact_emission_lookup_value(MODEL, TERM_ID, impact_assessment, LOOKUPS['emission'])
38
32
  logRequirements(impact_assessment, model=MODEL, term=TERM_ID,
@@ -42,7 +36,5 @@ def run(impact_assessment: dict):
42
36
 
43
37
  value = sum_values([emissions_value, pesticides_value])
44
38
 
45
- should_run = all([value is not None])
46
- logShouldRun(impact_assessment, MODEL, TERM_ID, should_run)
47
-
48
- return _indicator(value) if should_run else None
39
+ logShouldRun(impact_assessment, MODEL, TERM_ID, value is not None)
40
+ return _new_indicator(term=TERM_ID, model=MODEL, value=value)
@@ -22,12 +22,6 @@ LOOKUPS = {
22
22
  TERM_ID = 'humanNonCarcinogenicToxicity'
23
23
 
24
24
 
25
- def _indicator(value: float):
26
- indicator = _new_indicator(TERM_ID, MODEL)
27
- indicator['value'] = value
28
- return indicator
29
-
30
-
31
25
  def run(impact_assessment: dict):
32
26
  value = impact_lookup_value(MODEL, TERM_ID, impact_assessment, LOOKUPS['pesticideAI'])
33
- return _indicator(value) if value is not None else None
27
+ return _new_indicator(term=TERM_ID, model=MODEL, value=value)