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

Files changed (668) hide show
  1. hestia_earth/models/__init__.py +0 -3
  2. hestia_earth/models/aware/scarcityWeightedWaterUse.py +2 -4
  3. hestia_earth/models/aware2_0/scarcityWeightedWaterUse.py +2 -5
  4. hestia_earth/models/chaudharyBrooks2018/utils.py +2 -2
  5. hestia_earth/models/cml2001Baseline/abioticResourceDepletionFossilFuels.py +3 -2
  6. hestia_earth/models/cml2001Baseline/abioticResourceDepletionMineralsAndMetals.py +13 -6
  7. hestia_earth/models/ecoalimV9/utils.py +3 -3
  8. hestia_earth/models/ecoinventV3/utils.py +2 -2
  9. hestia_earth/models/ecoinventV3AndEmberClimate/utils.py +2 -2
  10. hestia_earth/models/emissionNotRelevant/__init__.py +2 -2
  11. hestia_earth/models/environmentalFootprintV3_1/environmentalFootprintSingleOverallScore.py +1 -2
  12. hestia_earth/models/environmentalFootprintV3_1/soilQualityIndexLandOccupation.py +8 -5
  13. hestia_earth/models/faostat2018/utils.py +3 -3
  14. hestia_earth/models/frischknechtEtAl2000/ionisingRadiationKbqU235Eq.py +5 -4
  15. hestia_earth/models/geospatialDatabase/ecoClimateZone.py +2 -2
  16. hestia_earth/models/hestia/landCover_utils.py +8 -12
  17. hestia_earth/models/hestia/management.py +3 -3
  18. hestia_earth/models/hestia/seed_emissions.py +2 -2
  19. hestia_earth/models/ipcc2019/ch4ToAirEntericFermentation.py +12 -9
  20. hestia_earth/models/ipcc2019/ch4ToAirExcreta.py +2 -2
  21. hestia_earth/models/ipcc2019/nonCo2EmissionsToAirNaturalVegetationBurning.py +2 -2
  22. hestia_earth/models/ipcc2019/pastureGrass_utils.py +6 -3
  23. hestia_earth/models/ipcc2019/utils.py +3 -2
  24. hestia_earth/models/linkedImpactAssessment/emissions.py +2 -2
  25. hestia_earth/models/mocking/search-results.json +1 -1
  26. hestia_earth/models/requirements.py +2 -2
  27. hestia_earth/models/utils/aggregated.py +2 -2
  28. hestia_earth/models/utils/background_emissions.py +6 -5
  29. hestia_earth/models/utils/ecoClimateZone.py +7 -8
  30. hestia_earth/models/utils/excretaManagement.py +3 -3
  31. hestia_earth/models/utils/feedipedia.py +7 -7
  32. hestia_earth/models/utils/input.py +2 -2
  33. hestia_earth/models/utils/liveAnimal.py +4 -4
  34. hestia_earth/models/utils/lookup.py +15 -20
  35. hestia_earth/models/utils/property.py +3 -3
  36. hestia_earth/models/utils/term.py +5 -5
  37. hestia_earth/models/version.py +1 -1
  38. hestia_earth/orchestrator/__init__.py +0 -3
  39. hestia_earth/orchestrator/models/transformations.py +2 -2
  40. {hestia_earth_models-0.74.17.dist-info → hestia_earth_models-0.75.1.dist-info}/METADATA +10 -14
  41. {hestia_earth_models-0.74.17.dist-info → hestia_earth_models-0.75.1.dist-info}/RECORD +44 -668
  42. {hestia_earth_models-0.74.17.dist-info → hestia_earth_models-0.75.1.dist-info}/WHEEL +1 -1
  43. {hestia_earth_models-0.74.17.dist-info → hestia_earth_models-0.75.1.dist-info}/top_level.txt +0 -1
  44. hestia_earth/__init__.py +0 -1
  45. tests/models/__init__.py +0 -0
  46. tests/models/agribalyse2016/__init__.py +0 -0
  47. tests/models/agribalyse2016/test_fuelElectricity.py +0 -42
  48. tests/models/agribalyse2016/test_machineryInfrastructureDepreciatedAmountPerCycle.py +0 -36
  49. tests/models/akagiEtAl2011/__init__.py +0 -0
  50. tests/models/akagiEtAl2011/test_ch4ToAirCropResidueBurning.py +0 -33
  51. tests/models/akagiEtAl2011/test_nh3ToAirCropResidueBurning.py +0 -33
  52. tests/models/akagiEtAl2011/test_noxToAirCropResidueBurning.py +0 -33
  53. tests/models/akagiEtAl2011/test_pm25ToAirCropResidueBurning.py +0 -33
  54. tests/models/akagiEtAl2011/test_so2ToAirCropResidueBurning.py +0 -33
  55. tests/models/akagiEtAl2011/test_utils.py +0 -19
  56. tests/models/aware/__init__.py +0 -0
  57. tests/models/aware/test_scarcityWeightedWaterUse.py +0 -57
  58. tests/models/aware2_0/__init__.py +0 -0
  59. tests/models/aware2_0/test_scarcityWeightedWaterUse.py +0 -58
  60. tests/models/chaudharyBrooks2018/__init__.py +0 -0
  61. tests/models/chaudharyBrooks2018/test_damageToTerrestrialEcosystemsLandOccupation.py +0 -58
  62. tests/models/chaudharyBrooks2018/test_damageToTerrestrialEcosystemsLandTransformation.py +0 -58
  63. tests/models/chaudharyBrooks2018/test_damageToTerrestrialEcosystemsTotalLandUseEffects.py +0 -20
  64. tests/models/cml2001Baseline/__init__.py +0 -0
  65. tests/models/cml2001Baseline/test_abioticResourceDepletionFossilFuels.py +0 -141
  66. tests/models/cml2001Baseline/test_abioticResourceDepletionMineralsAndMetals.py +0 -105
  67. tests/models/cml2001Baseline/test_eutrophicationPotentialExcludingFate.py +0 -23
  68. tests/models/cml2001Baseline/test_resourceUseEnergyDepletionDuringCycle.py +0 -136
  69. tests/models/cml2001Baseline/test_resourceUseEnergyDepletionInputsProduction.py +0 -23
  70. tests/models/cml2001Baseline/test_resourceUseMineralsAndMetalsDuringCycle.py +0 -58
  71. tests/models/cml2001Baseline/test_resourceUseMineralsAndMetalsInputsProduction.py +0 -23
  72. tests/models/cml2001Baseline/test_terrestrialAcidificationPotentialIncludingFateAverageEurope.py +0 -25
  73. tests/models/cml2001NonBaseline/__init__.py +0 -0
  74. tests/models/cml2001NonBaseline/test_eutrophicationPotentialIncludingFateAverageEurope.py +0 -23
  75. tests/models/cml2001NonBaseline/test_terrestrialAcidificationPotentialExcludingFate.py +0 -23
  76. tests/models/cycle/__init__.py +0 -0
  77. tests/models/cycle/animal/__init__.py +0 -0
  78. tests/models/cycle/animal/input/__init__.py +0 -0
  79. tests/models/cycle/animal/input/test_hestiaAggregatedData.py +0 -40
  80. tests/models/cycle/animal/input/test_properties.py +0 -55
  81. tests/models/cycle/animal/test_milkYield.py +0 -30
  82. tests/models/cycle/animal/test_properties.py +0 -20
  83. tests/models/cycle/completeness/__init__.py +0 -0
  84. tests/models/cycle/completeness/test_animalFeed.py +0 -14
  85. tests/models/cycle/completeness/test_cropResidue.py +0 -19
  86. tests/models/cycle/completeness/test_electricityFuel.py +0 -21
  87. tests/models/cycle/completeness/test_excretaManagement.py +0 -14
  88. tests/models/cycle/completeness/test_freshForage.py +0 -21
  89. tests/models/cycle/completeness/test_material.py +0 -18
  90. tests/models/cycle/completeness/test_seed.py +0 -36
  91. tests/models/cycle/completeness/test_soilAmendment.py +0 -23
  92. tests/models/cycle/input/__init__.py +0 -0
  93. tests/models/cycle/input/test_hestiaAggregatedData.py +0 -91
  94. tests/models/cycle/input/test_properties.py +0 -55
  95. tests/models/cycle/input/test_value.py +0 -41
  96. tests/models/cycle/post_checks/__init__.py +0 -0
  97. tests/models/cycle/post_checks/test_cache.py +0 -8
  98. tests/models/cycle/post_checks/test_otherSites.py +0 -15
  99. tests/models/cycle/post_checks/test_site.py +0 -26
  100. tests/models/cycle/practice/__init__.py +0 -0
  101. tests/models/cycle/practice/test_landCover.py +0 -27
  102. tests/models/cycle/practice/test_value.py +0 -52
  103. tests/models/cycle/pre_checks/__init__.py +0 -0
  104. tests/models/cycle/pre_checks/test_otherSites.py +0 -21
  105. tests/models/cycle/pre_checks/test_site.py +0 -33
  106. tests/models/cycle/product/__init__.py +0 -0
  107. tests/models/cycle/product/test_currency.py +0 -41
  108. tests/models/cycle/product/test_economicValueShare.py +0 -158
  109. tests/models/cycle/product/test_price.py +0 -29
  110. tests/models/cycle/product/test_primary.py +0 -75
  111. tests/models/cycle/product/test_properties.py +0 -32
  112. tests/models/cycle/product/test_revenue.py +0 -32
  113. tests/models/cycle/product/test_value.py +0 -41
  114. tests/models/cycle/test_aboveGroundCropResidueTotal.py +0 -20
  115. tests/models/cycle/test_completeness.py +0 -51
  116. tests/models/cycle/test_cycleDuration.py +0 -31
  117. tests/models/cycle/test_endDate.py +0 -38
  118. tests/models/cycle/test_otherSitesArea.py +0 -68
  119. tests/models/cycle/test_otherSitesUnusedDuration.py +0 -54
  120. tests/models/cycle/test_post_checks.py +0 -11
  121. tests/models/cycle/test_pre_checks.py +0 -11
  122. tests/models/cycle/test_siteArea.py +0 -51
  123. tests/models/cycle/test_siteDuration.py +0 -83
  124. tests/models/cycle/test_siteUnusedDuration.py +0 -55
  125. tests/models/cycle/test_startDate.py +0 -58
  126. tests/models/cycle/test_startDateDefinition.py +0 -31
  127. tests/models/cycle/test_transformations.py +0 -17
  128. tests/models/dammgen2009/__init__.py +0 -0
  129. tests/models/dammgen2009/test_noxToAirExcreta.py +0 -58
  130. tests/models/data/__init__.py +0 -0
  131. tests/models/data/test_hestiaAggregatedData.py +0 -32
  132. tests/models/deRuijterEtAl2010/__init__.py +0 -0
  133. tests/models/deRuijterEtAl2010/test_nh3ToAirCropResidueDecomposition.py +0 -57
  134. tests/models/ecoalimV9/__init__.py +0 -0
  135. tests/models/ecoalimV9/test_cycle.py +0 -22
  136. tests/models/ecoalimV9/test_impact_assessment.py +0 -24
  137. tests/models/ecoinventV3/__init__.py +0 -0
  138. tests/models/ecoinventV3/test_cycle.py +0 -69
  139. tests/models/ecoinventV3AndEmberClimate/__init__.py +0 -0
  140. tests/models/ecoinventV3AndEmberClimate/test_cycle.py +0 -28
  141. tests/models/edip2003/__init__.py +0 -0
  142. tests/models/edip2003/test_ozoneDepletionPotential.py +0 -21
  143. tests/models/emepEea2019/__init__.py +0 -0
  144. tests/models/emepEea2019/test_co2ToAirFuelCombustion.py +0 -34
  145. tests/models/emepEea2019/test_n2OToAirFuelCombustionDirect.py +0 -34
  146. tests/models/emepEea2019/test_nh3ToAirExcreta.py +0 -36
  147. tests/models/emepEea2019/test_nh3ToAirFuelCombustion.py +0 -34
  148. tests/models/emepEea2019/test_nh3ToAirInorganicFertiliser.py +0 -64
  149. tests/models/emepEea2019/test_noxToAirFuelCombustion.py +0 -34
  150. tests/models/emepEea2019/test_pm10ToAirAnimalHousing.py +0 -21
  151. tests/models/emepEea2019/test_pm25ToAirAnimalHousing.py +0 -21
  152. tests/models/emepEea2019/test_so2ToAirFuelCombustion.py +0 -34
  153. tests/models/emepEea2019/test_tspToAirAnimalHousing.py +0 -21
  154. tests/models/emepEea2019/test_utils.py +0 -204
  155. tests/models/environmentalFootprintV3_1/__init__.py +0 -0
  156. tests/models/environmentalFootprintV3_1/test_environmentalFootprintSingleOverallScore.py +0 -138
  157. tests/models/environmentalFootprintV3_1/test_freshwaterEcotoxicityPotentialCtue.py +0 -26
  158. tests/models/environmentalFootprintV3_1/test_marineEutrophicationPotential.py +0 -21
  159. tests/models/environmentalFootprintV3_1/test_photochemicalOzoneCreationPotentialHumanHealthNmvocEq.py +0 -30
  160. tests/models/environmentalFootprintV3_1/test_scarcityWeightedWaterUse.py +0 -27
  161. tests/models/environmentalFootprintV3_1/test_soilQualityIndexLandOccupation.py +0 -160
  162. tests/models/environmentalFootprintV3_1/test_soilQualityIndexLandTransformation.py +0 -184
  163. tests/models/environmentalFootprintV3_1/test_soilQualityIndexTotalLandUseEffects.py +0 -78
  164. tests/models/epa2014/__init__.py +0 -0
  165. tests/models/epa2014/test_no3ToGroundwaterExcreta.py +0 -38
  166. tests/models/fantkeEtAl2016/__init__.py +0 -0
  167. tests/models/fantkeEtAl2016/test_damageToHumanHealthParticulateMatterFormation.py +0 -20
  168. tests/models/faostat2018/__init__.py +0 -0
  169. tests/models/faostat2018/product/__init__.py +0 -0
  170. tests/models/faostat2018/product/test_price.py +0 -117
  171. tests/models/faostat2018/test_coldCarcassWeightPerHead.py +0 -58
  172. tests/models/faostat2018/test_coldDressedCarcassWeightPerHead.py +0 -54
  173. tests/models/faostat2018/test_faostat_utils.py +0 -64
  174. tests/models/faostat2018/test_liveweightPerHead.py +0 -134
  175. tests/models/faostat2018/test_readyToCookWeightPerHead.py +0 -54
  176. tests/models/faostat2018/test_seed.py +0 -50
  177. tests/models/faostat2018/test_utils.py +0 -28
  178. tests/models/frischknechtEtAl2000/__init__.py +0 -0
  179. tests/models/frischknechtEtAl2000/test_ionisingRadiationKbqU235Eq.py +0 -138
  180. tests/models/geospatialDatabase/__init__.py +0 -0
  181. tests/models/geospatialDatabase/test_awareWaterBasinId.py +0 -27
  182. tests/models/geospatialDatabase/test_clayContent.py +0 -49
  183. tests/models/geospatialDatabase/test_croppingIntensity.py +0 -33
  184. tests/models/geospatialDatabase/test_drainageClass.py +0 -29
  185. tests/models/geospatialDatabase/test_ecoClimateZone.py +0 -32
  186. tests/models/geospatialDatabase/test_ecoregion.py +0 -27
  187. tests/models/geospatialDatabase/test_erodibility.py +0 -29
  188. tests/models/geospatialDatabase/test_heavyWinterPrecipitation.py +0 -29
  189. tests/models/geospatialDatabase/test_histosol.py +0 -33
  190. tests/models/geospatialDatabase/test_longFallowRatio.py +0 -33
  191. tests/models/geospatialDatabase/test_nutrientLossToAquaticEnvironment.py +0 -29
  192. tests/models/geospatialDatabase/test_organicCarbonPerKgSoil.py +0 -43
  193. tests/models/geospatialDatabase/test_potentialEvapotranspirationAnnual.py +0 -19
  194. tests/models/geospatialDatabase/test_potentialEvapotranspirationLongTermAnnualMean.py +0 -30
  195. tests/models/geospatialDatabase/test_potentialEvapotranspirationMonthly.py +0 -20
  196. tests/models/geospatialDatabase/test_precipitationAnnual.py +0 -20
  197. tests/models/geospatialDatabase/test_precipitationLongTermAnnualMean.py +0 -29
  198. tests/models/geospatialDatabase/test_precipitationMonthly.py +0 -20
  199. tests/models/geospatialDatabase/test_region.py +0 -27
  200. tests/models/geospatialDatabase/test_sandContent.py +0 -49
  201. tests/models/geospatialDatabase/test_siltContent.py +0 -37
  202. tests/models/geospatialDatabase/test_slope.py +0 -29
  203. tests/models/geospatialDatabase/test_slopeLength.py +0 -29
  204. tests/models/geospatialDatabase/test_soilPh.py +0 -43
  205. tests/models/geospatialDatabase/test_temperatureAnnual.py +0 -20
  206. tests/models/geospatialDatabase/test_temperatureLongTermAnnualMean.py +0 -29
  207. tests/models/geospatialDatabase/test_temperatureMonthly.py +0 -20
  208. tests/models/geospatialDatabase/test_totalNitrogenPerKgSoil.py +0 -43
  209. tests/models/geospatialDatabase/test_totalPhosphorusPerKgSoil.py +0 -29
  210. tests/models/geospatialDatabase/test_utils.py +0 -39
  211. tests/models/geospatialDatabase/test_waterDepth.py +0 -28
  212. tests/models/globalCropWaterModel2008/__init__.py +0 -0
  213. tests/models/globalCropWaterModel2008/test_rootingDepth.py +0 -84
  214. tests/models/haversineFormula/__init__.py +0 -0
  215. tests/models/haversineFormula/transport/__init__.py +0 -0
  216. tests/models/haversineFormula/transport/test_distance.py +0 -28
  217. tests/models/hestia/__init__.py +0 -0
  218. tests/models/hestia/test_aboveGroundCropResidue.py +0 -40
  219. tests/models/hestia/test_aboveGroundCropResidueTotal.py +0 -41
  220. tests/models/hestia/test_brackishWater.py +0 -32
  221. tests/models/hestia/test_cationExchangeCapacityPerKgSoil.py +0 -34
  222. tests/models/hestia/test_coldCarcassWeightPerHead.py +0 -47
  223. tests/models/hestia/test_coldDressedCarcassWeightPerHead.py +0 -47
  224. tests/models/hestia/test_concentrateFeed.py +0 -52
  225. tests/models/hestia/test_cropResidueManagement.py +0 -53
  226. tests/models/hestia/test_croppingIntensity.py +0 -53
  227. tests/models/hestia/test_default_emissions.py +0 -32
  228. tests/models/hestia/test_default_resourceUse.py +0 -32
  229. tests/models/hestia/test_energyContentLowerHeatingValue.py +0 -40
  230. tests/models/hestia/test_excretaKgMass.py +0 -97
  231. tests/models/hestia/test_excretaKgN.py +0 -36
  232. tests/models/hestia/test_excretaKgVs.py +0 -36
  233. tests/models/hestia/test_feedConversionRatio.py +0 -64
  234. tests/models/hestia/test_flowingWater.py +0 -44
  235. tests/models/hestia/test_freshWater.py +0 -32
  236. tests/models/hestia/test_histosol.py +0 -24
  237. tests/models/hestia/test_inorganicFertiliser.py +0 -20
  238. tests/models/hestia/test_irrigatedTypeUnspecified.py +0 -59
  239. tests/models/hestia/test_landCover.py +0 -100
  240. tests/models/hestia/test_landCover_utils.py +0 -233
  241. tests/models/hestia/test_landOccupationDuringCycle.py +0 -75
  242. tests/models/hestia/test_landTransformation100YearAverageDuringCycle.py +0 -30
  243. tests/models/hestia/test_landTransformation20YearAverageDuringCycle.py +0 -29
  244. tests/models/hestia/test_liveAnimal.py +0 -64
  245. tests/models/hestia/test_longFallowRatio.py +0 -49
  246. tests/models/hestia/test_management.py +0 -80
  247. tests/models/hestia/test_materialsAndSubstrate.py +0 -49
  248. tests/models/hestia/test_milkYield.py +0 -58
  249. tests/models/hestia/test_netPrimaryProduction.py +0 -38
  250. tests/models/hestia/test_organicCarbonPerHa.py +0 -104
  251. tests/models/hestia/test_organicCarbonPerKgSoil.py +0 -34
  252. tests/models/hestia/test_organicCarbonPerM3Soil.py +0 -34
  253. tests/models/hestia/test_organicMatterPerKgSoil.py +0 -34
  254. tests/models/hestia/test_organicMatterPerM3Soil.py +0 -34
  255. tests/models/hestia/test_pToSurfaceWaterAquacultureSystems.py +0 -56
  256. tests/models/hestia/test_pastureGrass.py +0 -31
  257. tests/models/hestia/test_pastureSystem.py +0 -47
  258. tests/models/hestia/test_potentialEvapotranspirationAnnual.py +0 -32
  259. tests/models/hestia/test_potentialEvapotranspirationMonthly.py +0 -32
  260. tests/models/hestia/test_precipitationAnnual.py +0 -32
  261. tests/models/hestia/test_precipitationMonthly.py +0 -32
  262. tests/models/hestia/test_rainfallAnnual.py +0 -32
  263. tests/models/hestia/test_rainfallMonthly.py +0 -32
  264. tests/models/hestia/test_readyToCookWeightPerHead.py +0 -47
  265. tests/models/hestia/test_residueBurnt.py +0 -37
  266. tests/models/hestia/test_residueIncorporated.py +0 -48
  267. tests/models/hestia/test_residueLeftOnField.py +0 -37
  268. tests/models/hestia/test_residueRemoved.py +0 -32
  269. tests/models/hestia/test_salineWater.py +0 -32
  270. tests/models/hestia/test_seed_emissions.py +0 -27
  271. tests/models/hestia/test_slope.py +0 -23
  272. tests/models/hestia/test_slopeLength.py +0 -23
  273. tests/models/hestia/test_soilClassification.py +0 -72
  274. tests/models/hestia/test_soilMeasurement.py +0 -156
  275. tests/models/hestia/test_stockingDensityAnimalHousingAverage.py +0 -42
  276. tests/models/hestia/test_temperatureAnnual.py +0 -32
  277. tests/models/hestia/test_temperatureMonthly.py +0 -32
  278. tests/models/hestia/test_totalNitrogenPerKgSoil.py +0 -36
  279. tests/models/hestia/test_unknownPreSeasonWaterRegime.py +0 -36
  280. tests/models/hestia/test_waterDepth.py +0 -34
  281. tests/models/hestia/test_waterSalinity.py +0 -38
  282. tests/models/impact_assessment/__init__.py +0 -0
  283. tests/models/impact_assessment/post_checks/__init__.py +0 -0
  284. tests/models/impact_assessment/post_checks/test_cycle.py +0 -28
  285. tests/models/impact_assessment/post_checks/test_remove_cache_fields.py +0 -6
  286. tests/models/impact_assessment/post_checks/test_remove_no_value.py +0 -17
  287. tests/models/impact_assessment/post_checks/test_site.py +0 -28
  288. tests/models/impact_assessment/pre_checks/__init__.py +0 -0
  289. tests/models/impact_assessment/pre_checks/test_cycle.py +0 -39
  290. tests/models/impact_assessment/pre_checks/test_site.py +0 -37
  291. tests/models/impact_assessment/product/__init__.py +0 -0
  292. tests/models/impact_assessment/product/test_economicValueShare.py +0 -36
  293. tests/models/impact_assessment/product/test_value.py +0 -36
  294. tests/models/impact_assessment/test_allocationMethod.py +0 -48
  295. tests/models/impact_assessment/test_emissions.py +0 -31
  296. tests/models/impact_assessment/test_irrigated.py +0 -14
  297. tests/models/impact_assessment/test_oganic.py +0 -14
  298. tests/models/impact_assessment/test_post_checks.py +0 -11
  299. tests/models/impact_assessment/test_pre_checks.py +0 -11
  300. tests/models/ipcc2006/__init__.py +0 -0
  301. tests/models/ipcc2006/test_aboveGroundCropResidueRemoved.py +0 -36
  302. tests/models/ipcc2006/test_aboveGroundCropResidueTotal.py +0 -48
  303. tests/models/ipcc2006/test_belowGroundCropResidue.py +0 -45
  304. tests/models/ipcc2006/test_n2OToAirCropResidueDecompositionDirect.py +0 -53
  305. tests/models/ipcc2006/test_n2OToAirCropResidueDecompositionIndirect.py +0 -45
  306. tests/models/ipcc2006/test_n2OToAirExcretaDirect.py +0 -68
  307. tests/models/ipcc2006/test_n2OToAirExcretaIndirect.py +0 -45
  308. tests/models/ipcc2006/test_n2OToAirInorganicFertiliserDirect.py +0 -55
  309. tests/models/ipcc2006/test_n2OToAirInorganicFertiliserIndirect.py +0 -43
  310. tests/models/ipcc2006/test_n2OToAirOrganicFertiliserDirect.py +0 -55
  311. tests/models/ipcc2006/test_n2OToAirOrganicFertiliserIndirect.py +0 -55
  312. tests/models/ipcc2013ExcludingFeedbacks/__init__.py +0 -0
  313. tests/models/ipcc2013ExcludingFeedbacks/test_gwp100.py +0 -23
  314. tests/models/ipcc2013IncludingFeedbacks/__init__.py +0 -0
  315. tests/models/ipcc2013IncludingFeedbacks/test_gwp100.py +0 -23
  316. tests/models/ipcc2019/__init__.py +0 -0
  317. tests/models/ipcc2019/animal/__init__.py +0 -0
  318. tests/models/ipcc2019/animal/test_fatContent.py +0 -22
  319. tests/models/ipcc2019/animal/test_hoursWorkedPerDay.py +0 -22
  320. tests/models/ipcc2019/animal/test_liveweightGain.py +0 -22
  321. tests/models/ipcc2019/animal/test_liveweightPerHead.py +0 -22
  322. tests/models/ipcc2019/animal/test_milkYieldPerAnimal.py +0 -21
  323. tests/models/ipcc2019/animal/test_pastureGrass.py +0 -47
  324. tests/models/ipcc2019/animal/test_pregnancyRateTotal.py +0 -22
  325. tests/models/ipcc2019/animal/test_trueProteinContent.py +0 -22
  326. tests/models/ipcc2019/animal/test_weightAtMaturity.py +0 -21
  327. tests/models/ipcc2019/test_aboveGroundBiomass.py +0 -189
  328. tests/models/ipcc2019/test_aboveGroundCropResidueTotal.py +0 -51
  329. tests/models/ipcc2019/test_belowGroundBiomass.py +0 -189
  330. tests/models/ipcc2019/test_belowGroundCropResidue.py +0 -77
  331. tests/models/ipcc2019/test_biocharOrganicCarbonPerHa.py +0 -132
  332. tests/models/ipcc2019/test_biomass_utils.py +0 -115
  333. tests/models/ipcc2019/test_carbonContent.py +0 -119
  334. tests/models/ipcc2019/test_ch4ToAirAquacultureSystems.py +0 -60
  335. tests/models/ipcc2019/test_ch4ToAirEntericFermentation.py +0 -199
  336. tests/models/ipcc2019/test_ch4ToAirExcreta.py +0 -83
  337. tests/models/ipcc2019/test_ch4ToAirFloodedRice.py +0 -25
  338. tests/models/ipcc2019/test_ch4ToAirOrganicSoilCultivation.py +0 -62
  339. tests/models/ipcc2019/test_co2ToAirAboveGroundBiomassStockChange.py +0 -120
  340. tests/models/ipcc2019/test_co2ToAirBelowGroundBiomassStockChange.py +0 -118
  341. tests/models/ipcc2019/test_co2ToAirBiocharStockChange.py +0 -90
  342. tests/models/ipcc2019/test_co2ToAirCarbonStockChange_utils.py +0 -50
  343. tests/models/ipcc2019/test_co2ToAirLimeHydrolysis.py +0 -49
  344. tests/models/ipcc2019/test_co2ToAirOrganicSoilCultivation.py +0 -63
  345. tests/models/ipcc2019/test_co2ToAirSoilOrganicCarbonStockChange.py +0 -151
  346. tests/models/ipcc2019/test_co2ToAirUreaHydrolysis.py +0 -30
  347. tests/models/ipcc2019/test_croppingDuration.py +0 -55
  348. tests/models/ipcc2019/test_ligninContent.py +0 -119
  349. tests/models/ipcc2019/test_n2OToAirAquacultureSystemsIndirect.py +0 -45
  350. tests/models/ipcc2019/test_n2OToAirCropResidueBurningDirect.py +0 -46
  351. tests/models/ipcc2019/test_n2OToAirCropResidueBurningIndirect.py +0 -45
  352. tests/models/ipcc2019/test_n2OToAirCropResidueDecompositionDirect.py +0 -79
  353. tests/models/ipcc2019/test_n2OToAirCropResidueDecompositionIndirect.py +0 -45
  354. tests/models/ipcc2019/test_n2OToAirExcretaDirect.py +0 -50
  355. tests/models/ipcc2019/test_n2OToAirExcretaIndirect.py +0 -45
  356. tests/models/ipcc2019/test_n2OToAirFuelCombustionIndirect.py +0 -45
  357. tests/models/ipcc2019/test_n2OToAirInorganicFertiliserDirect.py +0 -79
  358. tests/models/ipcc2019/test_n2OToAirInorganicFertiliserIndirect.py +0 -45
  359. tests/models/ipcc2019/test_n2OToAirNaturalVegetationBurningIndirect.py +0 -45
  360. tests/models/ipcc2019/test_n2OToAirOrganicFertiliserDirect.py +0 -79
  361. tests/models/ipcc2019/test_n2OToAirOrganicFertiliserIndirect.py +0 -45
  362. tests/models/ipcc2019/test_n2OToAirOrganicSoilBurningIndirect.py +0 -45
  363. tests/models/ipcc2019/test_n2OToAirOrganicSoilCultivationDirect.py +0 -62
  364. tests/models/ipcc2019/test_n2OToAirOrganicSoilCultivationIndirect.py +0 -45
  365. tests/models/ipcc2019/test_n2OToAir_indirect_emissions_utils.py +0 -19
  366. tests/models/ipcc2019/test_nh3ToAirInorganicFertiliser.py +0 -47
  367. tests/models/ipcc2019/test_nh3ToAirOrganicFertiliser.py +0 -35
  368. tests/models/ipcc2019/test_nitrogenContent.py +0 -107
  369. tests/models/ipcc2019/test_no3ToGroundwaterCropResidueDecomposition.py +0 -51
  370. tests/models/ipcc2019/test_no3ToGroundwaterExcreta.py +0 -64
  371. tests/models/ipcc2019/test_no3ToGroundwaterInorganicFertiliser.py +0 -48
  372. tests/models/ipcc2019/test_no3ToGroundwaterOrganicFertiliser.py +0 -48
  373. tests/models/ipcc2019/test_nonCo2EmissionsToAirNaturalVegetationBurning.py +0 -97
  374. tests/models/ipcc2019/test_noxToAirInorganicFertiliser.py +0 -47
  375. tests/models/ipcc2019/test_noxToAirOrganicFertiliser.py +0 -35
  376. tests/models/ipcc2019/test_organicCarbonPerHa.py +0 -415
  377. tests/models/ipcc2019/test_organicCarbonPerHa_tier_1.py +0 -465
  378. tests/models/ipcc2019/test_organicCarbonPerHa_tier_2.py +0 -148
  379. tests/models/ipcc2019/test_organicCarbonPerHa_utils.py +0 -31
  380. tests/models/ipcc2019/test_pastureGrass.py +0 -68
  381. tests/models/ipcc2021/__init__.py +0 -0
  382. tests/models/ipcc2021/test_gwp100.py +0 -23
  383. tests/models/jarvisAndPain1994/__init__.py +0 -0
  384. tests/models/jarvisAndPain1994/test_n2ToAirExcreta.py +0 -37
  385. tests/models/koble2014/__init__.py +0 -0
  386. tests/models/koble2014/test_cropResidueManagement.py +0 -19
  387. tests/models/koble2014/test_residueBurnt.py +0 -20
  388. tests/models/koble2014/test_residueLeftOnField.py +0 -21
  389. tests/models/koble2014/test_residueRemoved.py +0 -20
  390. tests/models/koble2014/test_utils.py +0 -52
  391. tests/models/lcImpactAllEffects100Years/__init__.py +0 -0
  392. tests/models/lcImpactAllEffects100Years/test_damageToFreshwaterEcosystemsClimateChange.py +0 -23
  393. tests/models/lcImpactAllEffects100Years/test_damageToFreshwaterEcosystemsFreshwaterEcotoxicity.py +0 -25
  394. tests/models/lcImpactAllEffects100Years/test_damageToFreshwaterEcosystemsFreshwaterEutrophication.py +0 -25
  395. tests/models/lcImpactAllEffects100Years/test_damageToFreshwaterEcosystemsPdfYear.py +0 -20
  396. tests/models/lcImpactAllEffects100Years/test_damageToFreshwaterEcosystemsWaterStress.py +0 -21
  397. tests/models/lcImpactAllEffects100Years/test_damageToHumanHealth.py +0 -20
  398. tests/models/lcImpactAllEffects100Years/test_damageToHumanHealthClimateChange.py +0 -23
  399. tests/models/lcImpactAllEffects100Years/test_damageToHumanHealthHumanToxicityCancerogenic.py +0 -25
  400. tests/models/lcImpactAllEffects100Years/test_damageToHumanHealthHumanToxicityNonCancerogenic.py +0 -25
  401. tests/models/lcImpactAllEffects100Years/test_damageToHumanHealthParticulateMatterFormation.py +0 -25
  402. tests/models/lcImpactAllEffects100Years/test_damageToHumanHealthPhotochemicalOzoneFormation.py +0 -25
  403. tests/models/lcImpactAllEffects100Years/test_damageToHumanHealthStratosphericOzoneDepletion.py +0 -25
  404. tests/models/lcImpactAllEffects100Years/test_damageToHumanHealthWaterStress.py +0 -32
  405. tests/models/lcImpactAllEffects100Years/test_damageToMarineEcosystemsMarineEcotoxicity.py +0 -25
  406. tests/models/lcImpactAllEffects100Years/test_damageToMarineEcosystemsMarineEutrophication.py +0 -25
  407. tests/models/lcImpactAllEffects100Years/test_damageToMarineEcosystemsPdfYear.py +0 -20
  408. tests/models/lcImpactAllEffects100Years/test_damageToTerrestrialEcosystemsClimateChange.py +0 -25
  409. tests/models/lcImpactAllEffects100Years/test_damageToTerrestrialEcosystemsPdfYear.py +0 -20
  410. tests/models/lcImpactAllEffects100Years/test_damageToTerrestrialEcosystemsPhotochemicalOzoneFormation.py +0 -25
  411. tests/models/lcImpactAllEffects100Years/test_damageToTerrestrialEcosystemsTerrestrialAcidification.py +0 -25
  412. tests/models/lcImpactAllEffects100Years/test_damageToTerrestrialEcosystemsTerrestrialEcotoxicity.py +0 -25
  413. tests/models/lcImpactAllEffectsInfinite/__init__.py +0 -0
  414. tests/models/lcImpactAllEffectsInfinite/test_damageToFreshwaterEcosystemsClimateChange.py +0 -23
  415. tests/models/lcImpactAllEffectsInfinite/test_damageToFreshwaterEcosystemsFreshwaterEcotoxicity.py +0 -25
  416. tests/models/lcImpactAllEffectsInfinite/test_damageToFreshwaterEcosystemsFreshwaterEutrophication.py +0 -25
  417. tests/models/lcImpactAllEffectsInfinite/test_damageToFreshwaterEcosystemsPdfYear.py +0 -20
  418. tests/models/lcImpactAllEffectsInfinite/test_damageToFreshwaterEcosystemsWaterStress.py +0 -21
  419. tests/models/lcImpactAllEffectsInfinite/test_damageToHumanHealth.py +0 -20
  420. tests/models/lcImpactAllEffectsInfinite/test_damageToHumanHealthClimateChange.py +0 -23
  421. tests/models/lcImpactAllEffectsInfinite/test_damageToHumanHealthHumanToxicityCancerogenic.py +0 -25
  422. tests/models/lcImpactAllEffectsInfinite/test_damageToHumanHealthHumanToxicityNonCancerogenic.py +0 -25
  423. tests/models/lcImpactAllEffectsInfinite/test_damageToHumanHealthParticulateMatterFormation.py +0 -25
  424. tests/models/lcImpactAllEffectsInfinite/test_damageToHumanHealthPhotochemicalOzoneFormation.py +0 -25
  425. tests/models/lcImpactAllEffectsInfinite/test_damageToHumanHealthStratosphericOzoneDepletion.py +0 -25
  426. tests/models/lcImpactAllEffectsInfinite/test_damageToHumanHealthWaterStress.py +0 -32
  427. tests/models/lcImpactAllEffectsInfinite/test_damageToMarineEcosystemsMarineEcotoxicity.py +0 -25
  428. tests/models/lcImpactAllEffectsInfinite/test_damageToMarineEcosystemsMarineEutrophication.py +0 -25
  429. tests/models/lcImpactAllEffectsInfinite/test_damageToMarineEcosystemsPdfYear.py +0 -20
  430. tests/models/lcImpactAllEffectsInfinite/test_damageToTerrestrialEcosystemsClimateChange.py +0 -25
  431. tests/models/lcImpactAllEffectsInfinite/test_damageToTerrestrialEcosystemsPdfYear.py +0 -20
  432. tests/models/lcImpactAllEffectsInfinite/test_damageToTerrestrialEcosystemsPhotochemicalOzoneFormation.py +0 -25
  433. tests/models/lcImpactAllEffectsInfinite/test_damageToTerrestrialEcosystemsTerrestrialAcidification.py +0 -25
  434. tests/models/lcImpactAllEffectsInfinite/test_damageToTerrestrialEcosystemsTerrestrialEcotoxicity.py +0 -25
  435. tests/models/lcImpactCertainEffects100Years/__init__.py +0 -0
  436. tests/models/lcImpactCertainEffects100Years/test_damageToFreshwaterEcosystemsFreshwaterEcotoxicity.py +0 -25
  437. tests/models/lcImpactCertainEffects100Years/test_damageToFreshwaterEcosystemsFreshwaterEutrophication.py +0 -25
  438. tests/models/lcImpactCertainEffects100Years/test_damageToFreshwaterEcosystemsPdfYear.py +0 -20
  439. tests/models/lcImpactCertainEffects100Years/test_damageToFreshwaterEcosystemsWaterStress.py +0 -21
  440. tests/models/lcImpactCertainEffects100Years/test_damageToHumanHealth.py +0 -20
  441. tests/models/lcImpactCertainEffects100Years/test_damageToHumanHealthClimateChange.py +0 -23
  442. tests/models/lcImpactCertainEffects100Years/test_damageToHumanHealthHumanToxicityCancerogenic.py +0 -25
  443. tests/models/lcImpactCertainEffects100Years/test_damageToHumanHealthHumanToxicityNonCancerogenic.py +0 -25
  444. tests/models/lcImpactCertainEffects100Years/test_damageToHumanHealthParticulateMatterFormation.py +0 -25
  445. tests/models/lcImpactCertainEffects100Years/test_damageToHumanHealthPhotochemicalOzoneFormation.py +0 -25
  446. tests/models/lcImpactCertainEffects100Years/test_damageToHumanHealthStratosphericOzoneDepletion.py +0 -25
  447. tests/models/lcImpactCertainEffects100Years/test_damageToHumanHealthWaterStress.py +0 -32
  448. tests/models/lcImpactCertainEffects100Years/test_damageToMarineEcosystemsMarineEcotoxicity.py +0 -25
  449. tests/models/lcImpactCertainEffects100Years/test_damageToMarineEcosystemsMarineEutrophication.py +0 -25
  450. tests/models/lcImpactCertainEffects100Years/test_damageToMarineEcosystemsPdfYear.py +0 -20
  451. tests/models/lcImpactCertainEffects100Years/test_damageToTerrestrialEcosystemsClimateChange.py +0 -25
  452. tests/models/lcImpactCertainEffects100Years/test_damageToTerrestrialEcosystemsPdfYear.py +0 -20
  453. tests/models/lcImpactCertainEffects100Years/test_damageToTerrestrialEcosystemsPhotochemicalOzoneFormation.py +0 -25
  454. tests/models/lcImpactCertainEffects100Years/test_damageToTerrestrialEcosystemsTerrestrialAcidification.py +0 -25
  455. tests/models/lcImpactCertainEffects100Years/test_damageToTerrestrialEcosystemsTerrestrialEcotoxicity.py +0 -25
  456. tests/models/lcImpactCertainEffectsInfinite/__init__.py +0 -0
  457. tests/models/lcImpactCertainEffectsInfinite/test_damageToFreshwaterEcosystemsFreshwaterEcotoxicity.py +0 -25
  458. tests/models/lcImpactCertainEffectsInfinite/test_damageToFreshwaterEcosystemsFreshwaterEutrophication.py +0 -25
  459. tests/models/lcImpactCertainEffectsInfinite/test_damageToFreshwaterEcosystemsPdfYear.py +0 -20
  460. tests/models/lcImpactCertainEffectsInfinite/test_damageToFreshwaterEcosystemsWaterStress.py +0 -21
  461. tests/models/lcImpactCertainEffectsInfinite/test_damageToHumanHealth.py +0 -20
  462. tests/models/lcImpactCertainEffectsInfinite/test_damageToHumanHealthClimateChange.py +0 -23
  463. tests/models/lcImpactCertainEffectsInfinite/test_damageToHumanHealthHumanToxicityCancerogenic.py +0 -25
  464. tests/models/lcImpactCertainEffectsInfinite/test_damageToHumanHealthHumanToxicityNonCancerogenic.py +0 -25
  465. tests/models/lcImpactCertainEffectsInfinite/test_damageToHumanHealthParticulateMatterFormation.py +0 -25
  466. tests/models/lcImpactCertainEffectsInfinite/test_damageToHumanHealthPhotochemicalOzoneFormation.py +0 -25
  467. tests/models/lcImpactCertainEffectsInfinite/test_damageToHumanHealthStratosphericOzoneDepletion.py +0 -25
  468. tests/models/lcImpactCertainEffectsInfinite/test_damageToHumanHealthWaterStress.py +0 -32
  469. tests/models/lcImpactCertainEffectsInfinite/test_damageToMarineEcosystemsMarineEcotoxicity.py +0 -25
  470. tests/models/lcImpactCertainEffectsInfinite/test_damageToMarineEcosystemsMarineEutrophication.py +0 -25
  471. tests/models/lcImpactCertainEffectsInfinite/test_damageToMarineEcosystemsPdfYear.py +0 -20
  472. tests/models/lcImpactCertainEffectsInfinite/test_damageToTerrestrialEcosystemsClimateChange.py +0 -25
  473. tests/models/lcImpactCertainEffectsInfinite/test_damageToTerrestrialEcosystemsPdfYear.py +0 -20
  474. tests/models/lcImpactCertainEffectsInfinite/test_damageToTerrestrialEcosystemsPhotochemicalOzoneFormation.py +0 -25
  475. tests/models/lcImpactCertainEffectsInfinite/test_damageToTerrestrialEcosystemsTerrestrialAcidification.py +0 -25
  476. tests/models/lcImpactCertainEffectsInfinite/test_damageToTerrestrialEcosystemsTerrestrialEcotoxicity.py +0 -25
  477. tests/models/linkedImpactAssessment/__init__.py +0 -0
  478. tests/models/linkedImpactAssessment/test_emissions.py +0 -22
  479. tests/models/linkedImpactAssessment/test_freshwaterWithdrawalsInputsProduction.py +0 -23
  480. tests/models/linkedImpactAssessment/test_landOccupationInputsProduction.py +0 -23
  481. tests/models/linkedImpactAssessment/test_landTransformation100YearAverageInputsProduction.py +0 -25
  482. tests/models/linkedImpactAssessment/test_landTransformation20YearAverageInputsProduction.py +0 -25
  483. tests/models/pooreNemecek2018/__init__.py +0 -0
  484. tests/models/pooreNemecek2018/test_aboveGroundCropResidueTotal.py +0 -45
  485. tests/models/pooreNemecek2018/test_belowGroundCropResidue.py +0 -45
  486. tests/models/pooreNemecek2018/test_ch4ToAirAquacultureSystems.py +0 -79
  487. tests/models/pooreNemecek2018/test_excretaKgN.py +0 -124
  488. tests/models/pooreNemecek2018/test_excretaKgVs.py +0 -107
  489. tests/models/pooreNemecek2018/test_freshwaterWithdrawalsDuringCycle.py +0 -60
  490. tests/models/pooreNemecek2018/test_landOccupationDuringCycle.py +0 -51
  491. tests/models/pooreNemecek2018/test_longFallowDuration.py +0 -29
  492. tests/models/pooreNemecek2018/test_n2OToAirAquacultureSystemsDirect.py +0 -59
  493. tests/models/pooreNemecek2018/test_n2ToAirAquacultureSystems.py +0 -59
  494. tests/models/pooreNemecek2018/test_nh3ToAirAquacultureSystems.py +0 -80
  495. tests/models/pooreNemecek2018/test_no3ToGroundwaterCropResidueDecomposition.py +0 -23
  496. tests/models/pooreNemecek2018/test_no3ToGroundwaterExcreta.py +0 -23
  497. tests/models/pooreNemecek2018/test_no3ToGroundwaterInorganicFertiliser.py +0 -23
  498. tests/models/pooreNemecek2018/test_no3ToGroundwaterOrganicFertiliser.py +0 -23
  499. tests/models/pooreNemecek2018/test_noxToAirAquacultureSystems.py +0 -59
  500. tests/models/pooreNemecek2018/test_nurseryDensity.py +0 -29
  501. tests/models/pooreNemecek2018/test_nurseryDuration.py +0 -29
  502. tests/models/pooreNemecek2018/test_plantationDensity.py +0 -29
  503. tests/models/pooreNemecek2018/test_plantationLifespan.py +0 -29
  504. tests/models/pooreNemecek2018/test_plantationProductiveLifespan.py +0 -29
  505. tests/models/pooreNemecek2018/test_rotationDuration.py +0 -29
  506. tests/models/pooreNemecek2018/test_saplingsDepreciatedAmountPerCycle.py +0 -46
  507. tests/models/pooreNemecek2018/test_utils.py +0 -26
  508. tests/models/poschEtAl2008/__init__.py +0 -0
  509. tests/models/poschEtAl2008/test_terrestrialAcidificationPotentialAccumulatedExceedance.py +0 -39
  510. tests/models/poschEtAl2008/test_terrestrialEutrophicationPotentialAccumulatedExceedance.py +0 -39
  511. tests/models/recipe2016Egalitarian/__init__.py +0 -0
  512. tests/models/recipe2016Egalitarian/test_damageToFreshwaterEcosystemsSpeciesYear.py +0 -20
  513. tests/models/recipe2016Egalitarian/test_damageToHumanHealth.py +0 -20
  514. tests/models/recipe2016Egalitarian/test_damageToMarineEcosystemsSpeciesYear.py +0 -20
  515. tests/models/recipe2016Egalitarian/test_damageToResourceAvailability.py +0 -23
  516. tests/models/recipe2016Egalitarian/test_damageToTerrestrialEcosystemsSpeciesYear.py +0 -20
  517. tests/models/recipe2016Egalitarian/test_ecosystemDamageOzoneFormation.py +0 -26
  518. tests/models/recipe2016Egalitarian/test_fossilResourceScarcity.py +0 -23
  519. tests/models/recipe2016Egalitarian/test_freshwaterAquaticEcotoxicityPotential14Dcbeq.py +0 -23
  520. tests/models/recipe2016Egalitarian/test_freshwaterEutrophicationPotential.py +0 -23
  521. tests/models/recipe2016Egalitarian/test_humanCarcinogenicToxicity.py +0 -23
  522. tests/models/recipe2016Egalitarian/test_humanDamageOzoneFormation.py +0 -26
  523. tests/models/recipe2016Egalitarian/test_humanNonCarcinogenicToxicity.py +0 -23
  524. tests/models/recipe2016Egalitarian/test_marineAquaticEcotoxicityPotential14Dcbeq.py +0 -23
  525. tests/models/recipe2016Egalitarian/test_marineEutrophicationPotential.py +0 -23
  526. tests/models/recipe2016Egalitarian/test_ozoneDepletionPotential.py +0 -26
  527. tests/models/recipe2016Egalitarian/test_terrestrialAcidificationPotential.py +0 -23
  528. tests/models/recipe2016Egalitarian/test_terrestrialEcotoxicityPotential14Dcbeq.py +0 -23
  529. tests/models/recipe2016Hierarchist/__init__.py +0 -0
  530. tests/models/recipe2016Hierarchist/test_damageToFreshwaterEcosystemsSpeciesYear.py +0 -20
  531. tests/models/recipe2016Hierarchist/test_damageToHumanHealth.py +0 -20
  532. tests/models/recipe2016Hierarchist/test_damageToMarineEcosystemsSpeciesYear.py +0 -20
  533. tests/models/recipe2016Hierarchist/test_damageToResourceAvailability.py +0 -23
  534. tests/models/recipe2016Hierarchist/test_damageToTerrestrialEcosystemsSpeciesYear.py +0 -20
  535. tests/models/recipe2016Hierarchist/test_ecosystemDamageOzoneFormation.py +0 -26
  536. tests/models/recipe2016Hierarchist/test_fossilResourceScarcity.py +0 -23
  537. tests/models/recipe2016Hierarchist/test_freshwaterAquaticEcotoxicityPotential14Dcbeq.py +0 -23
  538. tests/models/recipe2016Hierarchist/test_freshwaterEutrophicationPotential.py +0 -23
  539. tests/models/recipe2016Hierarchist/test_humanCarcinogenicToxicity.py +0 -23
  540. tests/models/recipe2016Hierarchist/test_humanDamageOzoneFormation.py +0 -26
  541. tests/models/recipe2016Hierarchist/test_humanNonCarcinogenicToxicity.py +0 -23
  542. tests/models/recipe2016Hierarchist/test_marineAquaticEcotoxicityPotential14Dcbeq.py +0 -23
  543. tests/models/recipe2016Hierarchist/test_marineEutrophicationPotential.py +0 -23
  544. tests/models/recipe2016Hierarchist/test_ozoneDepletionPotential.py +0 -26
  545. tests/models/recipe2016Hierarchist/test_terrestrialAcidificationPotential.py +0 -23
  546. tests/models/recipe2016Hierarchist/test_terrestrialEcotoxicityPotential14Dcbeq.py +0 -23
  547. tests/models/recipe2016Individualist/__init__.py +0 -0
  548. tests/models/recipe2016Individualist/test_damageToFreshwaterEcosystemsSpeciesYear.py +0 -20
  549. tests/models/recipe2016Individualist/test_damageToHumanHealth.py +0 -20
  550. tests/models/recipe2016Individualist/test_damageToMarineEcosystemsSpeciesYear.py +0 -20
  551. tests/models/recipe2016Individualist/test_damageToResourceAvailability.py +0 -23
  552. tests/models/recipe2016Individualist/test_damageToTerrestrialEcosystemsSpeciesYear.py +0 -20
  553. tests/models/recipe2016Individualist/test_ecosystemDamageOzoneFormation.py +0 -26
  554. tests/models/recipe2016Individualist/test_fossilResourceScarcity.py +0 -23
  555. tests/models/recipe2016Individualist/test_freshwaterAquaticEcotoxicityPotential14Dcbeq.py +0 -23
  556. tests/models/recipe2016Individualist/test_freshwaterEutrophicationPotential.py +0 -23
  557. tests/models/recipe2016Individualist/test_humanCarcinogenicToxicity.py +0 -23
  558. tests/models/recipe2016Individualist/test_humanDamageOzoneFormation.py +0 -26
  559. tests/models/recipe2016Individualist/test_humanNonCarcinogenicToxicity.py +0 -23
  560. tests/models/recipe2016Individualist/test_marineAquaticEcotoxicityPotential14Dcbeq.py +0 -23
  561. tests/models/recipe2016Individualist/test_marineEutrophicationPotential.py +0 -23
  562. tests/models/recipe2016Individualist/test_ozoneDepletionPotential.py +0 -26
  563. tests/models/recipe2016Individualist/test_terrestrialAcidificationPotential.py +0 -23
  564. tests/models/recipe2016Individualist/test_terrestrialEcotoxicityPotential14Dcbeq.py +0 -23
  565. tests/models/schererPfister2015/__init__.py +0 -0
  566. tests/models/schererPfister2015/test_nErosionSoilFlux.py +0 -70
  567. tests/models/schererPfister2015/test_pErosionSoilFlux.py +0 -70
  568. tests/models/schererPfister2015/test_pToDrainageWaterSoilFlux.py +0 -33
  569. tests/models/schererPfister2015/test_pToGroundwaterSoilFlux.py +0 -33
  570. tests/models/schererPfister2015/test_pToSurfaceWaterSoilFlux.py +0 -45
  571. tests/models/schmidt2007/__init__.py +0 -0
  572. tests/models/schmidt2007/test_ch4ToAirWasteTreatment.py +0 -45
  573. tests/models/schmidt2007/test_h2SToAirWasteTreatment.py +0 -45
  574. tests/models/schmidt2007/test_n2OToAirWasteTreatmentDirect.py +0 -45
  575. tests/models/schmidt2007/test_nh3ToAirWasteTreatment.py +0 -45
  576. tests/models/schmidt2007/test_utils.py +0 -39
  577. tests/models/site/__init__.py +0 -0
  578. tests/models/site/measurement/__init__.py +0 -0
  579. tests/models/site/measurement/test_value.py +0 -41
  580. tests/models/site/post_checks/__init__.py +0 -0
  581. tests/models/site/post_checks/test_cache.py +0 -8
  582. tests/models/site/post_checks/test_country.py +0 -6
  583. tests/models/site/pre_checks/__init__.py +0 -0
  584. tests/models/site/pre_checks/test_cache_geospatialDatabase.py +0 -22
  585. tests/models/site/pre_checks/test_cache_years.py +0 -25
  586. tests/models/site/pre_checks/test_country.py +0 -13
  587. tests/models/site/test_defaultMethodClassification.py +0 -24
  588. tests/models/site/test_defaultMethodClassificationDescription.py +0 -24
  589. tests/models/site/test_grouped_measurement.py +0 -20
  590. tests/models/stehfestBouwman2006/__init__.py +0 -0
  591. tests/models/stehfestBouwman2006/test_n2OToAirCropResidueDecompositionDirect.py +0 -20
  592. tests/models/stehfestBouwman2006/test_n2OToAirExcretaDirect.py +0 -20
  593. tests/models/stehfestBouwman2006/test_n2OToAirInorganicFertiliserDirect.py +0 -20
  594. tests/models/stehfestBouwman2006/test_n2OToAirOrganicFertiliserDirect.py +0 -20
  595. tests/models/stehfestBouwman2006/test_noxToAirCropResidueDecomposition.py +0 -20
  596. tests/models/stehfestBouwman2006/test_noxToAirExcreta.py +0 -20
  597. tests/models/stehfestBouwman2006/test_noxToAirInorganicFertiliser.py +0 -20
  598. tests/models/stehfestBouwman2006/test_noxToAirOrganicFertiliser.py +0 -20
  599. tests/models/stehfestBouwman2006GisImplementation/__init__.py +0 -0
  600. tests/models/stehfestBouwman2006GisImplementation/test_noxToAirCropResidueDecomposition.py +0 -22
  601. tests/models/stehfestBouwman2006GisImplementation/test_noxToAirExcreta.py +0 -20
  602. tests/models/stehfestBouwman2006GisImplementation/test_noxToAirInorganicFertiliser.py +0 -20
  603. tests/models/stehfestBouwman2006GisImplementation/test_noxToAirOrganicFertiliser.py +0 -20
  604. tests/models/test_cache_nodes.py +0 -31
  605. tests/models/test_cache_sites.py +0 -93
  606. tests/models/test_config.py +0 -170
  607. tests/models/test_emissionNotRelevant.py +0 -32
  608. tests/models/test_log.py +0 -128
  609. tests/models/test_resourceUseNotRelevant.py +0 -27
  610. tests/models/test_utils.py +0 -6
  611. tests/models/transformation/__init__.py +0 -0
  612. tests/models/transformation/input/__init__.py +0 -0
  613. tests/models/transformation/input/test_excreta.py +0 -49
  614. tests/models/transformation/input/test_max.py +0 -34
  615. tests/models/transformation/input/test_min.py +0 -34
  616. tests/models/transformation/input/test_properties.py +0 -34
  617. tests/models/transformation/input/test_sd.py +0 -34
  618. tests/models/transformation/input/test_value.py +0 -34
  619. tests/models/transformation/product/__init__.py +0 -0
  620. tests/models/transformation/product/test_excreta.py +0 -54
  621. tests/models/usetoxV2/__init__.py +0 -0
  622. tests/models/usetoxV2/test_freshwaterEcotoxicityPotentialCtue.py +0 -23
  623. tests/models/utils/__init__.py +0 -0
  624. tests/models/utils/test_array_builders.py +0 -314
  625. tests/models/utils/test_background_emissions.py +0 -13
  626. tests/models/utils/test_blank_node.py +0 -1081
  627. tests/models/utils/test_cache_sources.py +0 -21
  628. tests/models/utils/test_crop.py +0 -27
  629. tests/models/utils/test_cropResidue.py +0 -26
  630. tests/models/utils/test_cropResidueManagement.py +0 -24
  631. tests/models/utils/test_currency.py +0 -13
  632. tests/models/utils/test_dataCompleteness.py +0 -52
  633. tests/models/utils/test_ecoClimateZone.py +0 -152
  634. tests/models/utils/test_emission.py +0 -74
  635. tests/models/utils/test_feedipedia.py +0 -26
  636. tests/models/utils/test_impact_assessment.py +0 -48
  637. tests/models/utils/test_indicator.py +0 -26
  638. tests/models/utils/test_input.py +0 -88
  639. tests/models/utils/test_liveAnimal.py +0 -34
  640. tests/models/utils/test_measurement.py +0 -116
  641. tests/models/utils/test_practice.py +0 -24
  642. tests/models/utils/test_product.py +0 -73
  643. tests/models/utils/test_property.py +0 -24
  644. tests/models/utils/test_site.py +0 -70
  645. tests/models/utils/test_source.py +0 -42
  646. tests/models/utils/test_term.py +0 -115
  647. tests/models/utils/test_time_series.py +0 -88
  648. tests/models/webbEtAl2012AndSintermannEtAl2012/__init__.py +0 -0
  649. tests/models/webbEtAl2012AndSintermannEtAl2012/test_nh3ToAirOrganicFertiliser.py +0 -79
  650. tests/orchestrator/__init__.py +0 -0
  651. tests/orchestrator/models/__init__.py +0 -0
  652. tests/orchestrator/models/emissions/__init__.py +0 -0
  653. tests/orchestrator/models/emissions/test_deleted.py +0 -21
  654. tests/orchestrator/models/test_transformations.py +0 -32
  655. tests/orchestrator/strategies/__init__.py +0 -0
  656. tests/orchestrator/strategies/merge/__init__.py +0 -0
  657. tests/orchestrator/strategies/merge/test_merge_append.py +0 -33
  658. tests/orchestrator/strategies/merge/test_merge_default.py +0 -7
  659. tests/orchestrator/strategies/merge/test_merge_list.py +0 -342
  660. tests/orchestrator/strategies/merge/test_merge_node.py +0 -95
  661. tests/orchestrator/strategies/run/__init__.py +0 -0
  662. tests/orchestrator/strategies/run/test_add_blank_node_if_missing.py +0 -109
  663. tests/orchestrator/strategies/run/test_add_key_if_missing.py +0 -14
  664. tests/orchestrator/strategies/run/test_always.py +0 -5
  665. tests/orchestrator/test_models.py +0 -70
  666. tests/orchestrator/test_orchestrator.py +0 -27
  667. tests/orchestrator/test_utils.py +0 -109
  668. {hestia_earth_models-0.74.17.dist-info → hestia_earth_models-0.75.1.dist-info}/licenses/LICENSE +0 -0
@@ -1,116 +0,0 @@
1
- import json
2
- from pytest import mark
3
- from unittest.mock import patch
4
- from hestia_earth.schema import MeasurementMethodClassification
5
-
6
- from tests.utils import fixtures_path, TERM
7
- from hestia_earth.models.utils.measurement import (
8
- _new_measurement, most_relevant_measurement_value, min_measurement_method_classification
9
- )
10
-
11
- class_path = 'hestia_earth.models.utils.measurement'
12
- fixtures_folder = f"{fixtures_path}/utils/measurement"
13
-
14
-
15
- @patch(f"{class_path}.include_method", side_effect=lambda n, *args: n)
16
- @patch(f"{class_path}.download_term", return_value=TERM)
17
- def test_new_measurement(*args):
18
- # with a Term as string
19
- measurement = _new_measurement(term='term', value=[0])
20
- assert measurement == {
21
- '@type': 'Measurement',
22
- 'term': TERM,
23
- 'value': [0]
24
- }
25
-
26
- # with a Term as dict
27
- measurement = _new_measurement(term=TERM, value=[0])
28
- assert measurement == {
29
- '@type': 'Measurement',
30
- 'term': TERM,
31
- 'value': [0]
32
- }
33
-
34
-
35
- def test_most_relevant_measurement_value_single():
36
- measurements = [
37
- {
38
- 'term': {
39
- '@type': 'Term',
40
- '@id': 'soilPh'
41
- },
42
- 'value': [
43
- 2000
44
- ]
45
- }
46
- ]
47
-
48
- assert most_relevant_measurement_value(measurements, 'soilPh', '2011') == 2000
49
-
50
-
51
- def test_most_relevant_measurement_value_by_year():
52
- with open(f"{fixtures_folder}/measurements.jsonld", encoding='utf-8') as f:
53
- measurements = json.load(f)
54
-
55
- assert most_relevant_measurement_value(measurements, 'soilPh', '2011') == 2010
56
-
57
-
58
- def test_most_relevant_measurement_value_by_year_month():
59
- with open(f"{fixtures_folder}/measurements.jsonld", encoding='utf-8') as f:
60
- measurements = json.load(f)
61
-
62
- assert most_relevant_measurement_value(measurements, 'soilPh', '2001-10') == 2001
63
-
64
-
65
- def test_most_relevant_measurement_value_by_year_month_day():
66
- with open(f"{fixtures_folder}/measurements.jsonld", encoding='utf-8') as f:
67
- measurements = json.load(f)
68
-
69
- assert most_relevant_measurement_value(measurements, 'soilPh', '2030-01-07') == 2030
70
-
71
-
72
- @mark.parametrize(
73
- "input, expected",
74
- [
75
- (
76
- (
77
- MeasurementMethodClassification.ON_SITE_PHYSICAL_MEASUREMENT,
78
- MeasurementMethodClassification.TIER_2_MODEL,
79
- MeasurementMethodClassification.TIER_1_MODEL
80
- ),
81
- MeasurementMethodClassification.TIER_1_MODEL
82
- ),
83
- (
84
- [
85
- MeasurementMethodClassification.ON_SITE_PHYSICAL_MEASUREMENT,
86
- MeasurementMethodClassification.TIER_2_MODEL,
87
- MeasurementMethodClassification.TIER_1_MODEL
88
- ],
89
- MeasurementMethodClassification.TIER_1_MODEL
90
- ),
91
- (
92
- [], MeasurementMethodClassification.UNSOURCED_ASSUMPTION
93
- ),
94
- (
95
- (
96
- MeasurementMethodClassification.ON_SITE_PHYSICAL_MEASUREMENT.value,
97
- MeasurementMethodClassification.TIER_2_MODEL.value,
98
- MeasurementMethodClassification.TIER_1_MODEL.value
99
- ),
100
- MeasurementMethodClassification.TIER_1_MODEL
101
- ),
102
- (
103
- [
104
- MeasurementMethodClassification.ON_SITE_PHYSICAL_MEASUREMENT.value,
105
- MeasurementMethodClassification.TIER_2_MODEL.value,
106
- MeasurementMethodClassification.TIER_1_MODEL.value
107
- ],
108
- MeasurementMethodClassification.TIER_1_MODEL
109
- ),
110
-
111
- ],
112
- ids=["Enum", "list[Enum]", "None", "str", "list[str]"]
113
- )
114
- def test_min_measurement_method_classification(input, expected):
115
- result = min_measurement_method_classification(input)
116
- assert result == expected
@@ -1,24 +0,0 @@
1
- from unittest.mock import patch
2
- from tests.utils import TERM
3
-
4
- from hestia_earth.models.utils.practice import _new_practice
5
-
6
- class_path = 'hestia_earth.models.utils.practice'
7
-
8
-
9
- @patch(f"{class_path}.include_model", side_effect=lambda n, x: n)
10
- @patch(f"{class_path}.download_term", return_value=TERM)
11
- def test_new_practice(*args):
12
- # with a Term as string
13
- practice = _new_practice('term')
14
- assert practice == {
15
- '@type': 'Practice',
16
- 'term': TERM
17
- }
18
-
19
- # with a Term as dict
20
- practice = _new_practice(TERM)
21
- assert practice == {
22
- '@type': 'Practice',
23
- 'term': TERM
24
- }
@@ -1,73 +0,0 @@
1
- from unittest.mock import patch
2
- import json
3
-
4
- from tests.utils import fixtures_path, TERM
5
- from hestia_earth.models.utils.product import (
6
- _new_product, find_by_product, abg_residue_on_field_nitrogen_content
7
- )
8
-
9
- class_path = 'hestia_earth.models.utils.product'
10
- fixtures_folder = f"{fixtures_path}/utils/product"
11
-
12
-
13
- @patch(f"{class_path}.include_model", side_effect=lambda n, x: n)
14
- @patch(f"{class_path}.download_term", return_value=TERM)
15
- def test_new_product(*args):
16
- # with a Term as string
17
- product = _new_product('term', 10)
18
- assert product == {
19
- '@type': 'Product',
20
- 'term': TERM,
21
- 'value': [10]
22
- }
23
-
24
- # with a Term as dict
25
- product = _new_product(TERM, 10)
26
- assert product == {
27
- '@type': 'Product',
28
- 'term': TERM,
29
- 'value': [10]
30
- }
31
-
32
- # no value
33
- product = _new_product(TERM)
34
- assert product == {
35
- '@type': 'Product',
36
- 'term': TERM
37
- }
38
-
39
-
40
- def test_find_by_product():
41
- product = {'term': {'@id': 'term 1'}, 'variety': 'var 1'}
42
- cycle = {
43
- 'products': [
44
- product,
45
- {'term': {'@id': 'term 1'}, 'variety': 'var 2'},
46
- {'term': {'@id': 'term 2'}, 'variety': 'var 1'}
47
- ]
48
- }
49
- assert find_by_product(cycle, product) == product
50
-
51
- with open(f"{fixtures_folder}/find-by-product.jsonld", encoding='utf-8') as f:
52
- cycle = json.load(f)
53
- transformations = cycle.get('transformations')
54
-
55
- product = transformations[0].get('inputs')[0]
56
- assert find_by_product(cycle, product).get('term', {}).get('@id') == product.get('term', {}).get('@id')
57
-
58
- product = transformations[0].get('products')[0]
59
- assert find_by_product(cycle, product).get('term', {}).get('@id') == product.get('term', {}).get('@id')
60
-
61
- product = transformations[1].get('inputs')[0]
62
- assert find_by_product(transformations[0], product).get('term', {}).get('@id') == product.get('term', {}).get('@id')
63
-
64
-
65
- def test_abg_residue_on_field_nitrogen_content_no_products():
66
- assert abg_residue_on_field_nitrogen_content([]) == 0
67
-
68
-
69
- def test_abg_residue_on_field_nitrogen_content():
70
- with open(f"{fixtures_folder}/products-cropResidue.jsonld", encoding='utf-8') as f:
71
- products = json.load(f)
72
-
73
- assert abg_residue_on_field_nitrogen_content(products) == 0.8445757894736851
@@ -1,24 +0,0 @@
1
- from unittest.mock import patch
2
- from tests.utils import TERM
3
-
4
- from hestia_earth.models.utils.property import _new_property
5
-
6
- class_path = 'hestia_earth.models.utils.property'
7
-
8
-
9
- @patch(f'{class_path}.include_methodModel', side_effect=lambda n, x: n)
10
- @patch(f'{class_path}.download_term', return_value=TERM)
11
- def test_new_property(*args):
12
- # with a Term as string
13
- property = _new_property('term')
14
- assert property == {
15
- '@type': 'Property',
16
- 'term': TERM
17
- }
18
-
19
- # with a Term as dict
20
- property = _new_property(TERM)
21
- assert property == {
22
- '@type': 'Property',
23
- 'term': TERM
24
- }
@@ -1,70 +0,0 @@
1
- import pytest
2
- from unittest.mock import Mock, patch
3
- from hestia_earth.schema import SiteSiteType
4
-
5
- from hestia_earth.models.utils.site import region_level_1_id, related_cycles, valid_site_type, get_land_cover_term_id
6
-
7
- class_path = 'hestia_earth.models.utils.site'
8
- CYCLE = {'@id': 'id'}
9
-
10
-
11
- def test_region_level_1_id():
12
- assert region_level_1_id('GADM-ITA') == 'GADM-ITA'
13
- assert region_level_1_id('GADM-ITA.16_1') == 'GADM-ITA.16_1'
14
- assert region_level_1_id('GADM-ITA.16.10_1') == 'GADM-ITA.16_1'
15
- assert region_level_1_id('GADM-ITA.16.10.3_1') == 'GADM-ITA.16_1'
16
- assert region_level_1_id('GADM-RWA.5.3.10.4_1') == 'GADM-RWA.5_1'
17
- assert region_level_1_id('GADM-RWA.5.3.10.4.3_1') == 'GADM-RWA.5_1'
18
-
19
- assert not region_level_1_id('region-world')
20
-
21
-
22
- @patch(f"{class_path}.find_related", return_value=[CYCLE])
23
- @patch(f"{class_path}._load_calculated_node", return_value=CYCLE)
24
- def test_related_cycles(*args):
25
- assert related_cycles({'@id': 'id'}) == [CYCLE]
26
-
27
-
28
- @patch(f"{class_path}.find_related", return_value=[CYCLE])
29
- @patch(f"{class_path}._load_calculated_node")
30
- def test_related_cycles_with_mapping(_load_calculated_node_mock, find_related_mock):
31
- assert related_cycles({'@id': 'id'}, {'id': CYCLE}) == [CYCLE]
32
- _load_calculated_node_mock.assert_not_called() # Confirm the load function is not used for nodes in mapping
33
-
34
-
35
- def test_valid_site_type():
36
- site = {'siteType': SiteSiteType.CROPLAND.value}
37
- assert valid_site_type(site) is True
38
-
39
- site = {'siteType': SiteSiteType.CROPLAND.value}
40
- assert not valid_site_type(site, [SiteSiteType.OTHER_NATURAL_VEGETATION.value])
41
-
42
-
43
- _LAND_COVER_TERMS = [
44
- {'@type': 'Term', 'name': 'Glass or high accessible cover', '@id': 'glassOrHighAccessibleCover'},
45
- {'@type': 'Term', 'name': 'Sea or ocean', '@id': 'seaOrOcean'},
46
- {'@type': 'Term', 'name': 'River or stream', '@id': 'riverOrStream'},
47
- {'@type': 'Term', 'name': 'Other natural vegetation', '@id': 'otherNaturalVegetation'},
48
- {'@type': 'Term', 'name': 'Food retailer', '@id': 'foodRetailer'},
49
- {'@type': 'Term', 'name': 'Agri-food processor', '@id': 'agriFoodProcessor'},
50
- {'@type': 'Term', 'name': 'Permanent pasture', '@id': 'permanentPasture'},
51
- {'@type': 'Term', 'name': 'Animal housing', '@id': 'animalHousing'},
52
- {'@type': 'Term', 'name': 'Forest', '@id': 'forest'},
53
- {'@type': 'Term', 'name': 'Lake', '@id': 'lake'},
54
- {'@type': 'Term', 'name': 'Pond', '@id': 'pond'},
55
- {'@type': 'Term', 'name': 'Cropland', '@id': 'cropland'},
56
- ]
57
-
58
-
59
- @pytest.mark.parametrize(
60
- 'site_type,expected_landCover_id',
61
- [
62
- (SiteSiteType.CROPLAND.value, 'cropland'),
63
- (SiteSiteType.SEA_OR_OCEAN.value, 'seaOrOcean'),
64
- (SiteSiteType.AGRI_FOOD_PROCESSOR.value, 'agriFoodProcessor'),
65
- (SiteSiteType.GLASS_OR_HIGH_ACCESSIBLE_COVER.value, 'glassOrHighAccessibleCover'),
66
- ]
67
- )
68
- @patch(f"{class_path}.get_land_cover_siteTypes", return_value=_LAND_COVER_TERMS)
69
- def test_get_land_cover_term_id(mock_terms: Mock, site_type: str, expected_landCover_id: str):
70
- assert get_land_cover_term_id(site_type) == expected_landCover_id, site_type
@@ -1,42 +0,0 @@
1
- from unittest.mock import patch
2
-
3
- from hestia_earth.models.utils.source import _list_sources, find_sources
4
-
5
- class_path = 'hestia_earth.models.utils.source'
6
- search_results = [{
7
- '@type': 'Source',
8
- '@id': 'source-1',
9
- 'name': 'Source 1',
10
- 'bibliography': {'title': 'Biblio 1'}
11
- }]
12
-
13
-
14
- def test_list_sources():
15
- sources = _list_sources()
16
- assert sorted(sources) == [
17
- '2006 IPCC Guidelines for National Greenhouse Gas Inventories',
18
- '2019 Refinement to the 2006 IPCC Guidelines for National Greenhouse Gas Inventories',
19
- 'A critical review of the conventional SOC to SOM conversion factor',
20
- 'An Enhanced Global Elevation Model Generalized From Multiple Higher Resolution Source Datasets',
21
- 'Biofuels: a new methodology to estimate GHG emissions from global land use change',
22
- 'COMMISSION DECISION of 10 June 2010 on guidelines for the calculation of land carbon stocks for the purpose of Annex V to Directive 2009/28/EC', # noqa: E501
23
- 'Contribution of Organic Matter and Clay to Soil Cation-Exchange Capacity as Affected by the pH of the Saturating Solution', # noqa: E501
24
- 'ERA5: Fifth generation of ECMWF atmospheric reanalyses of the global climate',
25
- 'Harmonized World Soil Database Version 1.2. Food and Agriculture Organization of the United Nations (FAO).', # noqa: E501
26
- 'Harmonized World Soil Database Version 2.0.',
27
- 'Modelling spatially explicit impacts from phosphorus emissions in agriculture',
28
- 'Reducing food’s environmental impacts through producers and consumers',
29
- 'Soil organic carbon sequestration rates in vineyard agroecosystems under different soil management practices: A meta-analysis', # noqa: E501
30
- ]
31
-
32
-
33
- @patch(f"{class_path}.search", return_value=search_results)
34
- def test_find_sources(*args):
35
- sources = find_sources()
36
- assert sources == {
37
- 'Biblio 1': {
38
- '@type': 'Source',
39
- '@id': 'source-1',
40
- 'name': 'Source 1'
41
- }
42
- }
@@ -1,115 +0,0 @@
1
- from unittest.mock import patch
2
-
3
- from hestia_earth.models.utils.term import (
4
- get_liquid_fuel_terms, get_irrigation_terms, get_urea_terms, get_excreta_N_terms, get_excreta_VS_terms,
5
- get_generic_crop, get_rice_paddy_terms, get_tillage_terms, get_crop_residue_terms, get_cover_crop_property_terms,
6
- get_crop_residue_incorporated_or_left_on_field_terms, get_irrigated_terms, get_residue_removed_or_burnt_terms,
7
- get_upland_rice_land_cover_terms, get_upland_rice_crop_terms
8
- )
9
-
10
- class_path = 'hestia_earth.models.utils.term'
11
-
12
-
13
- @patch(f"{class_path}.search")
14
- def test_get_liquid_fuel_terms(mock_find_node):
15
- id = 'term-id'
16
- mock_find_node.return_value = [{'@id': id}]
17
- assert get_liquid_fuel_terms() == [id]
18
-
19
-
20
- @patch(f"{class_path}.find_node")
21
- def test_get_irrigation_terms(mock_find_node):
22
- id = 'term-id'
23
- mock_find_node.return_value = [{'@id': id}]
24
- assert get_irrigation_terms() == [id]
25
-
26
-
27
- @patch(f"{class_path}.find_node")
28
- def test_get_urea_terms(mock_find_node):
29
- id = 'term-id'
30
- mock_find_node.return_value = [{'@id': id}]
31
- assert get_urea_terms() == [id]
32
-
33
-
34
- @patch(f"{class_path}.find_node")
35
- def test_get_excreta_N_terms(mock_find_node):
36
- id = 'term-id'
37
- mock_find_node.return_value = [{'@id': id}]
38
- assert get_excreta_N_terms() == [id]
39
-
40
-
41
- @patch(f"{class_path}.find_node")
42
- def test_get_excreta_VS_terms(mock_find_node):
43
- id = 'term-id'
44
- mock_find_node.return_value = [{'@id': id}]
45
- assert get_excreta_VS_terms() == [id]
46
-
47
-
48
- @patch(f"{class_path}.find_node")
49
- def test_get_generic_crop(mock_find_node):
50
- id = 'term-id'
51
- mock_find_node.return_value = [{'@id': id}]
52
- assert get_generic_crop() == {'@id': id}
53
-
54
-
55
- @patch(f"{class_path}.search")
56
- def test_get_rice_paddy_terms(mock_find_node):
57
- id = 'term-id'
58
- mock_find_node.return_value = [{'@id': id}]
59
- assert get_rice_paddy_terms() == [id]
60
-
61
-
62
- @patch(f"{class_path}.find_node")
63
- def test_get_tillage_terms(mock_find_node):
64
- id = 'term-id'
65
- mock_find_node.return_value = [{'@id': id}]
66
- assert get_tillage_terms() == [id]
67
-
68
-
69
- @patch(f"{class_path}.find_node")
70
- def test_get_crop_residue_terms(mock_find_node):
71
- id = 'term-id'
72
- mock_find_node.return_value = [{'@id': id}]
73
- assert get_crop_residue_terms() == [id]
74
-
75
-
76
- @patch(f"{class_path}.search")
77
- def test_get_cover_crop_terms(mock_find_node):
78
- id = 'term-id'
79
- mock_find_node.return_value = [{'@id': id}]
80
- assert get_cover_crop_property_terms() == [id]
81
-
82
-
83
- @patch(f"{class_path}.search")
84
- def test_get_crop_residue_incorporated_or_left_on_field_terms(mock_find_node):
85
- id = 'term-id'
86
- mock_find_node.return_value = [{'@id': id}]
87
- assert get_crop_residue_incorporated_or_left_on_field_terms() == [id]
88
-
89
-
90
- @patch(f"{class_path}.search")
91
- def test_get_irrigated_terms(mock_find_node):
92
- id = 'term-id'
93
- mock_find_node.return_value = [{'@id': id}]
94
- assert get_irrigated_terms() == [id]
95
-
96
-
97
- @patch(f"{class_path}.search")
98
- def test_get_residue_removed_or_burnt_terms(mock_find_node):
99
- id = 'term-id'
100
- mock_find_node.return_value = [{'@id': id}]
101
- assert get_residue_removed_or_burnt_terms() == [id]
102
-
103
-
104
- @patch(f"{class_path}.search")
105
- def test_get_upland_rice_land_cover_terms(mock_find_node):
106
- id = 'term-id'
107
- mock_find_node.return_value = [{'@id': id}]
108
- assert get_upland_rice_land_cover_terms() == [id]
109
-
110
-
111
- @patch(f"{class_path}.search")
112
- def test_get_upland_rice_crop_terms(mock_find_node):
113
- id = 'term-id'
114
- mock_find_node.return_value = [{'@id': id}]
115
- assert get_upland_rice_crop_terms() == [id]
@@ -1,88 +0,0 @@
1
- from numpy import array, e, inf
2
- from numpy.typing import NDArray
3
- from numpy.testing import assert_almost_equal
4
- from hestia_earth.utils.date import YEAR
5
- from hestia_earth.models.utils.time_series import (
6
- calc_tau, compute_time_series_correlation_matrix, exponential_decay
7
- )
8
-
9
- from pytest import mark
10
-
11
-
12
- SEED = 0
13
- N_ITERATIONS = 10000
14
-
15
-
16
- # datestrs, half_life, expected
17
- PARAMS_COMPUTE_CORRELATION_MATRIX = [
18
- (
19
- ['2000-01-01', '2000-01-02', '2000-01-03', '2000-01-04', '2000-01-05'],
20
- 1,
21
- array([
22
- [1.0, 0.5, 0.25, 0.125, 0.0625],
23
- [0.5, 1.0, 0.5, 0.25, 0.125],
24
- [0.25, 0.5, 1.0, 0.5, 0.25],
25
- [0.125, 0.25, 0.5, 1.0, 0.5],
26
- [0.0625, 0.125, 0.25, 0.5, 1.0]
27
- ])
28
- ),
29
- (
30
- ['2000-01-01', '2001-01-01', '2002-01-01', '2003-01-01'],
31
- 20*YEAR,
32
- array([
33
- [1.0, 0.965867, 0.932987, 0.901227],
34
- [0.965867, 1.0, 0.965959, 0.933076],
35
- [0.932987, 0.965959, 1.0, 0.965959],
36
- [0.901227, 0.933076, 0.965959, 1.0]
37
- ])
38
- )
39
- ]
40
- IDS_COMPUTE_CORRELATION_MATRIX = [
41
- "dt: 1d, half-life: 1d",
42
- "dt: 1y, half-life: 20y"
43
- ]
44
-
45
-
46
- @mark.parametrize(
47
- "datestrs, half_life, expected",
48
- PARAMS_COMPUTE_CORRELATION_MATRIX,
49
- ids=IDS_COMPUTE_CORRELATION_MATRIX
50
- )
51
- def test_compute_time_series_correlation_matrix(datestrs: list[str], half_life: float, expected: NDArray):
52
- tau = calc_tau(half_life)
53
- result = compute_time_series_correlation_matrix(
54
- datestrs,
55
- decay_fn=lambda dt: exponential_decay(dt, tau=tau)
56
- )
57
-
58
- assert_almost_equal(result, expected, decimal=6)
59
-
60
-
61
- # half_life, expected
62
- PARAMS_CALC_TAU = [(0.693147, 1), (1, 1.442695), (20, 28.853901), (YEAR, 526.933543)]
63
- IDS_CALC_TAU = [half_life for half_life, *_ in PARAMS_CALC_TAU]
64
-
65
-
66
- @mark.parametrize("half_life, expected", PARAMS_CALC_TAU, ids=IDS_CALC_TAU)
67
- def test_calc_tau(half_life: float, expected: float):
68
- result = calc_tau(half_life)
69
- assert_almost_equal(result, expected, decimal=6)
70
-
71
-
72
- PARAMS_EXPONENTIAL_DECAY = [
73
- (0, 1, 1, 0, 1),
74
- (1, 1, 1, 0, e ** -1),
75
- (inf, 1, 1, 0, 0),
76
- (YEAR, calc_tau(YEAR), 1.5, -3, -0.75) # 1 year w/ half-life = 1 year and custom min/max
77
- ]
78
- IDS_EXPONENTIAL_DECAY = [f"t: {t:0.2f}, tau: {tau:0.2f}" for t, tau, *_ in PARAMS_EXPONENTIAL_DECAY]
79
-
80
-
81
- @mark.parametrize(
82
- "t, tau, initial_value, final_value, expected",
83
- PARAMS_EXPONENTIAL_DECAY,
84
- ids=IDS_EXPONENTIAL_DECAY
85
- )
86
- def test_exponential_decay(t: float, tau: float, initial_value: float, final_value: float, expected: float):
87
- result = exponential_decay(t, tau, initial_value, final_value)
88
- assert_almost_equal(result, expected, decimal=6)
@@ -1,79 +0,0 @@
1
- from unittest.mock import patch
2
- import json
3
- from tests.utils import fixtures_path, fake_new_emission
4
-
5
- from hestia_earth.models.webbEtAl2012AndSintermannEtAl2012.nh3ToAirOrganicFertiliser import (
6
- MODEL, TERM_ID, run, _should_run
7
- )
8
-
9
- class_path = f"hestia_earth.models.{MODEL}.{TERM_ID}"
10
- fixtures_folder = f"{fixtures_path}/{MODEL}/{TERM_ID}"
11
-
12
-
13
- @patch(f"{class_path}._get_nitrogen_tan_content", return_value=1)
14
- @patch(f"{class_path}._is_term_type_complete", return_value=False)
15
- def test_should_run(*args):
16
- # no inputs => no run
17
- cycle = {'inputs': []}
18
- should_run, *args = _should_run(cycle)
19
- assert not should_run
20
-
21
- # with slurryAndSludgeKgN input => run
22
- cycle['inputs'].append({
23
- 'term': {
24
- '@id': 'slurryAndSludgeKgN',
25
- 'termType': 'organicFertiliser',
26
- 'units': 'kg N'
27
- },
28
- 'value': [100]
29
- })
30
- should_run, *args = _should_run(cycle)
31
- assert not should_run
32
-
33
- # with cattleSolidManureFreshKgN input => no run
34
- cycle['inputs'].append({
35
- 'term': {
36
- '@id': 'cattleSolidManureFreshKgN',
37
- 'termType': 'organicFertiliser',
38
- 'units': 'kg N'
39
- },
40
- 'value': [100]
41
- })
42
- should_run, *args = _should_run(cycle)
43
- assert not should_run
44
-
45
- # with compostKgN input => no run
46
- cycle['inputs'].append({
47
- 'term': {
48
- '@id': 'compostKgN',
49
- 'termType': 'organicFertiliser',
50
- 'units': 'kg N'
51
- },
52
- 'value': [100]
53
- })
54
- should_run, *args = _should_run(cycle)
55
- assert not should_run
56
-
57
- # with greenManureKgN input => run
58
- cycle['inputs'].append({
59
- 'term': {
60
- '@id': 'greenManureKgN',
61
- 'termType': 'organicFertiliser',
62
- 'units': 'kg N'
63
- },
64
- 'value': [100]
65
- })
66
- should_run, *args = _should_run(cycle)
67
- assert should_run is True
68
-
69
-
70
- @patch(f"{class_path}._new_emission", side_effect=fake_new_emission)
71
- def test_run(*args):
72
- with open(f"{fixtures_folder}/cycle.jsonld", encoding='utf-8') as f:
73
- cycle = json.load(f)
74
-
75
- with open(f"{fixtures_folder}/result.jsonld", encoding='utf-8') as f:
76
- expected = json.load(f)
77
-
78
- value = run(cycle)
79
- assert value == expected
File without changes
File without changes
File without changes
@@ -1,21 +0,0 @@
1
- from unittest.mock import patch
2
- import json
3
- import os
4
-
5
- from tests.utils import fixtures_path
6
- from hestia_earth.orchestrator.models.emissions.deleted import run
7
-
8
- folder_path = os.path.join(fixtures_path, 'orchestrator', 'emissions', 'deleted')
9
-
10
-
11
- @patch('hestia_earth.orchestrator.strategies.merge._merge_version', return_value='0.0.0')
12
- def test_run(*args):
13
- with open(os.path.join(folder_path, 'config.json'), encoding='utf-8') as f:
14
- config = json.load(f)
15
- with open(os.path.join(folder_path, 'cycle.jsonld'), encoding='utf-8') as f:
16
- cycle = json.load(f)
17
- with open(os.path.join(folder_path, 'result.jsonld'), encoding='utf-8') as f:
18
- expected = json.load(f)
19
-
20
- result = run(config.get('models'), cycle)
21
- assert result == expected