hestia-earth-models 0.74.16__py3-none-any.whl → 0.75.0__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 (637) hide show
  1. hestia_earth/models/__init__.py +0 -3
  2. hestia_earth/models/ipcc2019/burning_utils.py +37 -0
  3. hestia_earth/models/ipcc2019/nonCo2EmissionsToAirNaturalVegetationBurning.py +84 -108
  4. hestia_earth/models/ipcc2019/pastureGrass_utils.py +1 -1
  5. hestia_earth/models/mocking/search-results.json +1 -1
  6. hestia_earth/models/utils/property.py +8 -6
  7. hestia_earth/models/version.py +1 -1
  8. hestia_earth/orchestrator/__init__.py +0 -3
  9. {hestia_earth_models-0.74.16.dist-info → hestia_earth_models-0.75.0.dist-info}/METADATA +10 -14
  10. {hestia_earth_models-0.74.16.dist-info → hestia_earth_models-0.75.0.dist-info}/RECORD +13 -636
  11. {hestia_earth_models-0.74.16.dist-info → hestia_earth_models-0.75.0.dist-info}/WHEEL +1 -1
  12. {hestia_earth_models-0.74.16.dist-info → hestia_earth_models-0.75.0.dist-info}/top_level.txt +0 -1
  13. hestia_earth/__init__.py +0 -1
  14. tests/models/__init__.py +0 -0
  15. tests/models/agribalyse2016/__init__.py +0 -0
  16. tests/models/agribalyse2016/test_fuelElectricity.py +0 -42
  17. tests/models/agribalyse2016/test_machineryInfrastructureDepreciatedAmountPerCycle.py +0 -36
  18. tests/models/akagiEtAl2011/__init__.py +0 -0
  19. tests/models/akagiEtAl2011/test_ch4ToAirCropResidueBurning.py +0 -33
  20. tests/models/akagiEtAl2011/test_nh3ToAirCropResidueBurning.py +0 -33
  21. tests/models/akagiEtAl2011/test_noxToAirCropResidueBurning.py +0 -33
  22. tests/models/akagiEtAl2011/test_pm25ToAirCropResidueBurning.py +0 -33
  23. tests/models/akagiEtAl2011/test_so2ToAirCropResidueBurning.py +0 -33
  24. tests/models/akagiEtAl2011/test_utils.py +0 -19
  25. tests/models/aware/__init__.py +0 -0
  26. tests/models/aware/test_scarcityWeightedWaterUse.py +0 -57
  27. tests/models/aware2_0/__init__.py +0 -0
  28. tests/models/aware2_0/test_scarcityWeightedWaterUse.py +0 -58
  29. tests/models/chaudharyBrooks2018/__init__.py +0 -0
  30. tests/models/chaudharyBrooks2018/test_damageToTerrestrialEcosystemsLandOccupation.py +0 -58
  31. tests/models/chaudharyBrooks2018/test_damageToTerrestrialEcosystemsLandTransformation.py +0 -58
  32. tests/models/chaudharyBrooks2018/test_damageToTerrestrialEcosystemsTotalLandUseEffects.py +0 -20
  33. tests/models/cml2001Baseline/__init__.py +0 -0
  34. tests/models/cml2001Baseline/test_abioticResourceDepletionFossilFuels.py +0 -141
  35. tests/models/cml2001Baseline/test_abioticResourceDepletionMineralsAndMetals.py +0 -105
  36. tests/models/cml2001Baseline/test_eutrophicationPotentialExcludingFate.py +0 -23
  37. tests/models/cml2001Baseline/test_resourceUseEnergyDepletionDuringCycle.py +0 -136
  38. tests/models/cml2001Baseline/test_resourceUseEnergyDepletionInputsProduction.py +0 -23
  39. tests/models/cml2001Baseline/test_resourceUseMineralsAndMetalsDuringCycle.py +0 -58
  40. tests/models/cml2001Baseline/test_resourceUseMineralsAndMetalsInputsProduction.py +0 -23
  41. tests/models/cml2001Baseline/test_terrestrialAcidificationPotentialIncludingFateAverageEurope.py +0 -25
  42. tests/models/cml2001NonBaseline/__init__.py +0 -0
  43. tests/models/cml2001NonBaseline/test_eutrophicationPotentialIncludingFateAverageEurope.py +0 -23
  44. tests/models/cml2001NonBaseline/test_terrestrialAcidificationPotentialExcludingFate.py +0 -23
  45. tests/models/cycle/__init__.py +0 -0
  46. tests/models/cycle/animal/__init__.py +0 -0
  47. tests/models/cycle/animal/input/__init__.py +0 -0
  48. tests/models/cycle/animal/input/test_hestiaAggregatedData.py +0 -40
  49. tests/models/cycle/animal/input/test_properties.py +0 -55
  50. tests/models/cycle/animal/test_milkYield.py +0 -30
  51. tests/models/cycle/animal/test_properties.py +0 -20
  52. tests/models/cycle/completeness/__init__.py +0 -0
  53. tests/models/cycle/completeness/test_animalFeed.py +0 -14
  54. tests/models/cycle/completeness/test_cropResidue.py +0 -19
  55. tests/models/cycle/completeness/test_electricityFuel.py +0 -21
  56. tests/models/cycle/completeness/test_excretaManagement.py +0 -14
  57. tests/models/cycle/completeness/test_freshForage.py +0 -21
  58. tests/models/cycle/completeness/test_material.py +0 -18
  59. tests/models/cycle/completeness/test_seed.py +0 -36
  60. tests/models/cycle/completeness/test_soilAmendment.py +0 -23
  61. tests/models/cycle/input/__init__.py +0 -0
  62. tests/models/cycle/input/test_hestiaAggregatedData.py +0 -91
  63. tests/models/cycle/input/test_properties.py +0 -55
  64. tests/models/cycle/input/test_value.py +0 -41
  65. tests/models/cycle/post_checks/__init__.py +0 -0
  66. tests/models/cycle/post_checks/test_cache.py +0 -8
  67. tests/models/cycle/post_checks/test_otherSites.py +0 -15
  68. tests/models/cycle/post_checks/test_site.py +0 -26
  69. tests/models/cycle/practice/__init__.py +0 -0
  70. tests/models/cycle/practice/test_landCover.py +0 -27
  71. tests/models/cycle/practice/test_value.py +0 -52
  72. tests/models/cycle/pre_checks/__init__.py +0 -0
  73. tests/models/cycle/pre_checks/test_otherSites.py +0 -21
  74. tests/models/cycle/pre_checks/test_site.py +0 -33
  75. tests/models/cycle/product/__init__.py +0 -0
  76. tests/models/cycle/product/test_currency.py +0 -41
  77. tests/models/cycle/product/test_economicValueShare.py +0 -158
  78. tests/models/cycle/product/test_price.py +0 -29
  79. tests/models/cycle/product/test_primary.py +0 -75
  80. tests/models/cycle/product/test_properties.py +0 -32
  81. tests/models/cycle/product/test_revenue.py +0 -32
  82. tests/models/cycle/product/test_value.py +0 -41
  83. tests/models/cycle/test_aboveGroundCropResidueTotal.py +0 -20
  84. tests/models/cycle/test_completeness.py +0 -51
  85. tests/models/cycle/test_cycleDuration.py +0 -31
  86. tests/models/cycle/test_endDate.py +0 -38
  87. tests/models/cycle/test_otherSitesArea.py +0 -68
  88. tests/models/cycle/test_otherSitesUnusedDuration.py +0 -54
  89. tests/models/cycle/test_post_checks.py +0 -11
  90. tests/models/cycle/test_pre_checks.py +0 -11
  91. tests/models/cycle/test_siteArea.py +0 -51
  92. tests/models/cycle/test_siteDuration.py +0 -83
  93. tests/models/cycle/test_siteUnusedDuration.py +0 -55
  94. tests/models/cycle/test_startDate.py +0 -58
  95. tests/models/cycle/test_startDateDefinition.py +0 -31
  96. tests/models/cycle/test_transformations.py +0 -17
  97. tests/models/dammgen2009/__init__.py +0 -0
  98. tests/models/dammgen2009/test_noxToAirExcreta.py +0 -58
  99. tests/models/data/__init__.py +0 -0
  100. tests/models/data/test_hestiaAggregatedData.py +0 -32
  101. tests/models/deRuijterEtAl2010/__init__.py +0 -0
  102. tests/models/deRuijterEtAl2010/test_nh3ToAirCropResidueDecomposition.py +0 -57
  103. tests/models/ecoalimV9/__init__.py +0 -0
  104. tests/models/ecoalimV9/test_cycle.py +0 -22
  105. tests/models/ecoalimV9/test_impact_assessment.py +0 -24
  106. tests/models/ecoinventV3/__init__.py +0 -0
  107. tests/models/ecoinventV3/test_cycle.py +0 -69
  108. tests/models/ecoinventV3AndEmberClimate/__init__.py +0 -0
  109. tests/models/ecoinventV3AndEmberClimate/test_cycle.py +0 -28
  110. tests/models/edip2003/__init__.py +0 -0
  111. tests/models/edip2003/test_ozoneDepletionPotential.py +0 -21
  112. tests/models/emepEea2019/__init__.py +0 -0
  113. tests/models/emepEea2019/test_co2ToAirFuelCombustion.py +0 -34
  114. tests/models/emepEea2019/test_n2OToAirFuelCombustionDirect.py +0 -34
  115. tests/models/emepEea2019/test_nh3ToAirExcreta.py +0 -36
  116. tests/models/emepEea2019/test_nh3ToAirFuelCombustion.py +0 -34
  117. tests/models/emepEea2019/test_nh3ToAirInorganicFertiliser.py +0 -64
  118. tests/models/emepEea2019/test_noxToAirFuelCombustion.py +0 -34
  119. tests/models/emepEea2019/test_pm10ToAirAnimalHousing.py +0 -21
  120. tests/models/emepEea2019/test_pm25ToAirAnimalHousing.py +0 -21
  121. tests/models/emepEea2019/test_so2ToAirFuelCombustion.py +0 -34
  122. tests/models/emepEea2019/test_tspToAirAnimalHousing.py +0 -21
  123. tests/models/emepEea2019/test_utils.py +0 -204
  124. tests/models/environmentalFootprintV3_1/__init__.py +0 -0
  125. tests/models/environmentalFootprintV3_1/test_environmentalFootprintSingleOverallScore.py +0 -138
  126. tests/models/environmentalFootprintV3_1/test_freshwaterEcotoxicityPotentialCtue.py +0 -26
  127. tests/models/environmentalFootprintV3_1/test_marineEutrophicationPotential.py +0 -21
  128. tests/models/environmentalFootprintV3_1/test_photochemicalOzoneCreationPotentialHumanHealthNmvocEq.py +0 -30
  129. tests/models/environmentalFootprintV3_1/test_scarcityWeightedWaterUse.py +0 -27
  130. tests/models/environmentalFootprintV3_1/test_soilQualityIndexLandOccupation.py +0 -160
  131. tests/models/environmentalFootprintV3_1/test_soilQualityIndexLandTransformation.py +0 -184
  132. tests/models/environmentalFootprintV3_1/test_soilQualityIndexTotalLandUseEffects.py +0 -78
  133. tests/models/epa2014/__init__.py +0 -0
  134. tests/models/epa2014/test_no3ToGroundwaterExcreta.py +0 -38
  135. tests/models/fantkeEtAl2016/__init__.py +0 -0
  136. tests/models/fantkeEtAl2016/test_damageToHumanHealthParticulateMatterFormation.py +0 -20
  137. tests/models/faostat2018/__init__.py +0 -0
  138. tests/models/faostat2018/product/__init__.py +0 -0
  139. tests/models/faostat2018/product/test_price.py +0 -117
  140. tests/models/faostat2018/test_coldCarcassWeightPerHead.py +0 -58
  141. tests/models/faostat2018/test_coldDressedCarcassWeightPerHead.py +0 -54
  142. tests/models/faostat2018/test_faostat_utils.py +0 -64
  143. tests/models/faostat2018/test_liveweightPerHead.py +0 -134
  144. tests/models/faostat2018/test_readyToCookWeightPerHead.py +0 -54
  145. tests/models/faostat2018/test_seed.py +0 -50
  146. tests/models/faostat2018/test_utils.py +0 -28
  147. tests/models/frischknechtEtAl2000/__init__.py +0 -0
  148. tests/models/frischknechtEtAl2000/test_ionisingRadiationKbqU235Eq.py +0 -138
  149. tests/models/geospatialDatabase/__init__.py +0 -0
  150. tests/models/geospatialDatabase/test_awareWaterBasinId.py +0 -27
  151. tests/models/geospatialDatabase/test_clayContent.py +0 -49
  152. tests/models/geospatialDatabase/test_croppingIntensity.py +0 -33
  153. tests/models/geospatialDatabase/test_drainageClass.py +0 -29
  154. tests/models/geospatialDatabase/test_ecoClimateZone.py +0 -32
  155. tests/models/geospatialDatabase/test_ecoregion.py +0 -27
  156. tests/models/geospatialDatabase/test_erodibility.py +0 -29
  157. tests/models/geospatialDatabase/test_heavyWinterPrecipitation.py +0 -29
  158. tests/models/geospatialDatabase/test_histosol.py +0 -33
  159. tests/models/geospatialDatabase/test_longFallowRatio.py +0 -33
  160. tests/models/geospatialDatabase/test_nutrientLossToAquaticEnvironment.py +0 -29
  161. tests/models/geospatialDatabase/test_organicCarbonPerKgSoil.py +0 -43
  162. tests/models/geospatialDatabase/test_potentialEvapotranspirationAnnual.py +0 -19
  163. tests/models/geospatialDatabase/test_potentialEvapotranspirationLongTermAnnualMean.py +0 -30
  164. tests/models/geospatialDatabase/test_potentialEvapotranspirationMonthly.py +0 -20
  165. tests/models/geospatialDatabase/test_precipitationAnnual.py +0 -20
  166. tests/models/geospatialDatabase/test_precipitationLongTermAnnualMean.py +0 -29
  167. tests/models/geospatialDatabase/test_precipitationMonthly.py +0 -20
  168. tests/models/geospatialDatabase/test_region.py +0 -27
  169. tests/models/geospatialDatabase/test_sandContent.py +0 -49
  170. tests/models/geospatialDatabase/test_siltContent.py +0 -37
  171. tests/models/geospatialDatabase/test_slope.py +0 -29
  172. tests/models/geospatialDatabase/test_slopeLength.py +0 -29
  173. tests/models/geospatialDatabase/test_soilPh.py +0 -43
  174. tests/models/geospatialDatabase/test_temperatureAnnual.py +0 -20
  175. tests/models/geospatialDatabase/test_temperatureLongTermAnnualMean.py +0 -29
  176. tests/models/geospatialDatabase/test_temperatureMonthly.py +0 -20
  177. tests/models/geospatialDatabase/test_totalNitrogenPerKgSoil.py +0 -43
  178. tests/models/geospatialDatabase/test_totalPhosphorusPerKgSoil.py +0 -29
  179. tests/models/geospatialDatabase/test_utils.py +0 -39
  180. tests/models/geospatialDatabase/test_waterDepth.py +0 -28
  181. tests/models/globalCropWaterModel2008/__init__.py +0 -0
  182. tests/models/globalCropWaterModel2008/test_rootingDepth.py +0 -84
  183. tests/models/haversineFormula/__init__.py +0 -0
  184. tests/models/haversineFormula/transport/__init__.py +0 -0
  185. tests/models/haversineFormula/transport/test_distance.py +0 -28
  186. tests/models/hestia/__init__.py +0 -0
  187. tests/models/hestia/test_aboveGroundCropResidue.py +0 -40
  188. tests/models/hestia/test_aboveGroundCropResidueTotal.py +0 -41
  189. tests/models/hestia/test_brackishWater.py +0 -32
  190. tests/models/hestia/test_cationExchangeCapacityPerKgSoil.py +0 -34
  191. tests/models/hestia/test_coldCarcassWeightPerHead.py +0 -47
  192. tests/models/hestia/test_coldDressedCarcassWeightPerHead.py +0 -47
  193. tests/models/hestia/test_concentrateFeed.py +0 -52
  194. tests/models/hestia/test_cropResidueManagement.py +0 -53
  195. tests/models/hestia/test_croppingIntensity.py +0 -53
  196. tests/models/hestia/test_default_emissions.py +0 -32
  197. tests/models/hestia/test_default_resourceUse.py +0 -32
  198. tests/models/hestia/test_energyContentLowerHeatingValue.py +0 -40
  199. tests/models/hestia/test_excretaKgMass.py +0 -97
  200. tests/models/hestia/test_excretaKgN.py +0 -36
  201. tests/models/hestia/test_excretaKgVs.py +0 -36
  202. tests/models/hestia/test_feedConversionRatio.py +0 -64
  203. tests/models/hestia/test_flowingWater.py +0 -44
  204. tests/models/hestia/test_freshWater.py +0 -32
  205. tests/models/hestia/test_histosol.py +0 -24
  206. tests/models/hestia/test_inorganicFertiliser.py +0 -20
  207. tests/models/hestia/test_irrigatedTypeUnspecified.py +0 -59
  208. tests/models/hestia/test_landCover.py +0 -100
  209. tests/models/hestia/test_landCover_utils.py +0 -233
  210. tests/models/hestia/test_landOccupationDuringCycle.py +0 -75
  211. tests/models/hestia/test_landTransformation100YearAverageDuringCycle.py +0 -30
  212. tests/models/hestia/test_landTransformation20YearAverageDuringCycle.py +0 -29
  213. tests/models/hestia/test_liveAnimal.py +0 -64
  214. tests/models/hestia/test_longFallowRatio.py +0 -49
  215. tests/models/hestia/test_management.py +0 -80
  216. tests/models/hestia/test_materialsAndSubstrate.py +0 -49
  217. tests/models/hestia/test_milkYield.py +0 -58
  218. tests/models/hestia/test_netPrimaryProduction.py +0 -38
  219. tests/models/hestia/test_organicCarbonPerHa.py +0 -104
  220. tests/models/hestia/test_organicCarbonPerKgSoil.py +0 -34
  221. tests/models/hestia/test_organicCarbonPerM3Soil.py +0 -34
  222. tests/models/hestia/test_organicMatterPerKgSoil.py +0 -34
  223. tests/models/hestia/test_organicMatterPerM3Soil.py +0 -34
  224. tests/models/hestia/test_pToSurfaceWaterAquacultureSystems.py +0 -56
  225. tests/models/hestia/test_pastureGrass.py +0 -31
  226. tests/models/hestia/test_pastureSystem.py +0 -47
  227. tests/models/hestia/test_potentialEvapotranspirationAnnual.py +0 -32
  228. tests/models/hestia/test_potentialEvapotranspirationMonthly.py +0 -32
  229. tests/models/hestia/test_precipitationAnnual.py +0 -32
  230. tests/models/hestia/test_precipitationMonthly.py +0 -32
  231. tests/models/hestia/test_rainfallAnnual.py +0 -32
  232. tests/models/hestia/test_rainfallMonthly.py +0 -32
  233. tests/models/hestia/test_readyToCookWeightPerHead.py +0 -47
  234. tests/models/hestia/test_residueBurnt.py +0 -37
  235. tests/models/hestia/test_residueIncorporated.py +0 -48
  236. tests/models/hestia/test_residueLeftOnField.py +0 -37
  237. tests/models/hestia/test_residueRemoved.py +0 -32
  238. tests/models/hestia/test_salineWater.py +0 -32
  239. tests/models/hestia/test_seed_emissions.py +0 -27
  240. tests/models/hestia/test_slope.py +0 -23
  241. tests/models/hestia/test_slopeLength.py +0 -23
  242. tests/models/hestia/test_soilClassification.py +0 -72
  243. tests/models/hestia/test_soilMeasurement.py +0 -156
  244. tests/models/hestia/test_stockingDensityAnimalHousingAverage.py +0 -42
  245. tests/models/hestia/test_temperatureAnnual.py +0 -32
  246. tests/models/hestia/test_temperatureMonthly.py +0 -32
  247. tests/models/hestia/test_totalNitrogenPerKgSoil.py +0 -36
  248. tests/models/hestia/test_unknownPreSeasonWaterRegime.py +0 -36
  249. tests/models/hestia/test_waterDepth.py +0 -34
  250. tests/models/hestia/test_waterSalinity.py +0 -38
  251. tests/models/impact_assessment/__init__.py +0 -0
  252. tests/models/impact_assessment/post_checks/__init__.py +0 -0
  253. tests/models/impact_assessment/post_checks/test_cycle.py +0 -28
  254. tests/models/impact_assessment/post_checks/test_remove_cache_fields.py +0 -6
  255. tests/models/impact_assessment/post_checks/test_remove_no_value.py +0 -17
  256. tests/models/impact_assessment/post_checks/test_site.py +0 -28
  257. tests/models/impact_assessment/pre_checks/__init__.py +0 -0
  258. tests/models/impact_assessment/pre_checks/test_cycle.py +0 -39
  259. tests/models/impact_assessment/pre_checks/test_site.py +0 -37
  260. tests/models/impact_assessment/product/__init__.py +0 -0
  261. tests/models/impact_assessment/product/test_economicValueShare.py +0 -36
  262. tests/models/impact_assessment/product/test_value.py +0 -36
  263. tests/models/impact_assessment/test_allocationMethod.py +0 -48
  264. tests/models/impact_assessment/test_emissions.py +0 -31
  265. tests/models/impact_assessment/test_irrigated.py +0 -14
  266. tests/models/impact_assessment/test_oganic.py +0 -14
  267. tests/models/impact_assessment/test_post_checks.py +0 -11
  268. tests/models/impact_assessment/test_pre_checks.py +0 -11
  269. tests/models/ipcc2006/__init__.py +0 -0
  270. tests/models/ipcc2006/test_aboveGroundCropResidueRemoved.py +0 -36
  271. tests/models/ipcc2006/test_aboveGroundCropResidueTotal.py +0 -48
  272. tests/models/ipcc2006/test_belowGroundCropResidue.py +0 -45
  273. tests/models/ipcc2006/test_n2OToAirCropResidueDecompositionDirect.py +0 -53
  274. tests/models/ipcc2006/test_n2OToAirCropResidueDecompositionIndirect.py +0 -45
  275. tests/models/ipcc2006/test_n2OToAirExcretaDirect.py +0 -68
  276. tests/models/ipcc2006/test_n2OToAirExcretaIndirect.py +0 -45
  277. tests/models/ipcc2006/test_n2OToAirInorganicFertiliserDirect.py +0 -55
  278. tests/models/ipcc2006/test_n2OToAirInorganicFertiliserIndirect.py +0 -43
  279. tests/models/ipcc2006/test_n2OToAirOrganicFertiliserDirect.py +0 -55
  280. tests/models/ipcc2006/test_n2OToAirOrganicFertiliserIndirect.py +0 -55
  281. tests/models/ipcc2013ExcludingFeedbacks/__init__.py +0 -0
  282. tests/models/ipcc2013ExcludingFeedbacks/test_gwp100.py +0 -23
  283. tests/models/ipcc2013IncludingFeedbacks/__init__.py +0 -0
  284. tests/models/ipcc2013IncludingFeedbacks/test_gwp100.py +0 -23
  285. tests/models/ipcc2019/__init__.py +0 -0
  286. tests/models/ipcc2019/animal/__init__.py +0 -0
  287. tests/models/ipcc2019/animal/test_fatContent.py +0 -22
  288. tests/models/ipcc2019/animal/test_hoursWorkedPerDay.py +0 -22
  289. tests/models/ipcc2019/animal/test_liveweightGain.py +0 -22
  290. tests/models/ipcc2019/animal/test_liveweightPerHead.py +0 -22
  291. tests/models/ipcc2019/animal/test_milkYieldPerAnimal.py +0 -21
  292. tests/models/ipcc2019/animal/test_pastureGrass.py +0 -47
  293. tests/models/ipcc2019/animal/test_pregnancyRateTotal.py +0 -22
  294. tests/models/ipcc2019/animal/test_trueProteinContent.py +0 -22
  295. tests/models/ipcc2019/animal/test_weightAtMaturity.py +0 -21
  296. tests/models/ipcc2019/test_aboveGroundBiomass.py +0 -189
  297. tests/models/ipcc2019/test_aboveGroundCropResidueTotal.py +0 -51
  298. tests/models/ipcc2019/test_belowGroundBiomass.py +0 -189
  299. tests/models/ipcc2019/test_belowGroundCropResidue.py +0 -77
  300. tests/models/ipcc2019/test_biocharOrganicCarbonPerHa.py +0 -132
  301. tests/models/ipcc2019/test_biomass_utils.py +0 -115
  302. tests/models/ipcc2019/test_carbonContent.py +0 -119
  303. tests/models/ipcc2019/test_ch4ToAirAquacultureSystems.py +0 -60
  304. tests/models/ipcc2019/test_ch4ToAirEntericFermentation.py +0 -199
  305. tests/models/ipcc2019/test_ch4ToAirExcreta.py +0 -83
  306. tests/models/ipcc2019/test_ch4ToAirFloodedRice.py +0 -25
  307. tests/models/ipcc2019/test_ch4ToAirOrganicSoilCultivation.py +0 -62
  308. tests/models/ipcc2019/test_co2ToAirAboveGroundBiomassStockChange.py +0 -120
  309. tests/models/ipcc2019/test_co2ToAirBelowGroundBiomassStockChange.py +0 -118
  310. tests/models/ipcc2019/test_co2ToAirBiocharStockChange.py +0 -90
  311. tests/models/ipcc2019/test_co2ToAirCarbonStockChange_utils.py +0 -50
  312. tests/models/ipcc2019/test_co2ToAirLimeHydrolysis.py +0 -49
  313. tests/models/ipcc2019/test_co2ToAirOrganicSoilCultivation.py +0 -63
  314. tests/models/ipcc2019/test_co2ToAirSoilOrganicCarbonStockChange.py +0 -151
  315. tests/models/ipcc2019/test_co2ToAirUreaHydrolysis.py +0 -30
  316. tests/models/ipcc2019/test_croppingDuration.py +0 -55
  317. tests/models/ipcc2019/test_ligninContent.py +0 -119
  318. tests/models/ipcc2019/test_n2OToAirAquacultureSystemsIndirect.py +0 -45
  319. tests/models/ipcc2019/test_n2OToAirCropResidueBurningDirect.py +0 -46
  320. tests/models/ipcc2019/test_n2OToAirCropResidueBurningIndirect.py +0 -45
  321. tests/models/ipcc2019/test_n2OToAirCropResidueDecompositionDirect.py +0 -79
  322. tests/models/ipcc2019/test_n2OToAirCropResidueDecompositionIndirect.py +0 -45
  323. tests/models/ipcc2019/test_n2OToAirExcretaDirect.py +0 -50
  324. tests/models/ipcc2019/test_n2OToAirExcretaIndirect.py +0 -45
  325. tests/models/ipcc2019/test_n2OToAirFuelCombustionIndirect.py +0 -45
  326. tests/models/ipcc2019/test_n2OToAirInorganicFertiliserDirect.py +0 -79
  327. tests/models/ipcc2019/test_n2OToAirInorganicFertiliserIndirect.py +0 -45
  328. tests/models/ipcc2019/test_n2OToAirNaturalVegetationBurningIndirect.py +0 -45
  329. tests/models/ipcc2019/test_n2OToAirOrganicFertiliserDirect.py +0 -79
  330. tests/models/ipcc2019/test_n2OToAirOrganicFertiliserIndirect.py +0 -45
  331. tests/models/ipcc2019/test_n2OToAirOrganicSoilBurningIndirect.py +0 -45
  332. tests/models/ipcc2019/test_n2OToAirOrganicSoilCultivationDirect.py +0 -62
  333. tests/models/ipcc2019/test_n2OToAirOrganicSoilCultivationIndirect.py +0 -45
  334. tests/models/ipcc2019/test_n2OToAir_indirect_emissions_utils.py +0 -19
  335. tests/models/ipcc2019/test_nh3ToAirInorganicFertiliser.py +0 -47
  336. tests/models/ipcc2019/test_nh3ToAirOrganicFertiliser.py +0 -35
  337. tests/models/ipcc2019/test_nitrogenContent.py +0 -107
  338. tests/models/ipcc2019/test_no3ToGroundwaterCropResidueDecomposition.py +0 -51
  339. tests/models/ipcc2019/test_no3ToGroundwaterExcreta.py +0 -64
  340. tests/models/ipcc2019/test_no3ToGroundwaterInorganicFertiliser.py +0 -48
  341. tests/models/ipcc2019/test_no3ToGroundwaterOrganicFertiliser.py +0 -48
  342. tests/models/ipcc2019/test_nonCo2EmissionsToAirNaturalVegetationBurning.py +0 -97
  343. tests/models/ipcc2019/test_noxToAirInorganicFertiliser.py +0 -47
  344. tests/models/ipcc2019/test_noxToAirOrganicFertiliser.py +0 -35
  345. tests/models/ipcc2019/test_organicCarbonPerHa.py +0 -415
  346. tests/models/ipcc2019/test_organicCarbonPerHa_tier_1.py +0 -465
  347. tests/models/ipcc2019/test_organicCarbonPerHa_tier_2.py +0 -148
  348. tests/models/ipcc2019/test_organicCarbonPerHa_utils.py +0 -31
  349. tests/models/ipcc2019/test_pastureGrass.py +0 -68
  350. tests/models/ipcc2021/__init__.py +0 -0
  351. tests/models/ipcc2021/test_gwp100.py +0 -23
  352. tests/models/jarvisAndPain1994/__init__.py +0 -0
  353. tests/models/jarvisAndPain1994/test_n2ToAirExcreta.py +0 -37
  354. tests/models/koble2014/__init__.py +0 -0
  355. tests/models/koble2014/test_cropResidueManagement.py +0 -19
  356. tests/models/koble2014/test_residueBurnt.py +0 -20
  357. tests/models/koble2014/test_residueLeftOnField.py +0 -21
  358. tests/models/koble2014/test_residueRemoved.py +0 -20
  359. tests/models/koble2014/test_utils.py +0 -52
  360. tests/models/lcImpactAllEffects100Years/__init__.py +0 -0
  361. tests/models/lcImpactAllEffects100Years/test_damageToFreshwaterEcosystemsClimateChange.py +0 -23
  362. tests/models/lcImpactAllEffects100Years/test_damageToFreshwaterEcosystemsFreshwaterEcotoxicity.py +0 -25
  363. tests/models/lcImpactAllEffects100Years/test_damageToFreshwaterEcosystemsFreshwaterEutrophication.py +0 -25
  364. tests/models/lcImpactAllEffects100Years/test_damageToFreshwaterEcosystemsPdfYear.py +0 -20
  365. tests/models/lcImpactAllEffects100Years/test_damageToFreshwaterEcosystemsWaterStress.py +0 -21
  366. tests/models/lcImpactAllEffects100Years/test_damageToHumanHealth.py +0 -20
  367. tests/models/lcImpactAllEffects100Years/test_damageToHumanHealthClimateChange.py +0 -23
  368. tests/models/lcImpactAllEffects100Years/test_damageToHumanHealthHumanToxicityCancerogenic.py +0 -25
  369. tests/models/lcImpactAllEffects100Years/test_damageToHumanHealthHumanToxicityNonCancerogenic.py +0 -25
  370. tests/models/lcImpactAllEffects100Years/test_damageToHumanHealthParticulateMatterFormation.py +0 -25
  371. tests/models/lcImpactAllEffects100Years/test_damageToHumanHealthPhotochemicalOzoneFormation.py +0 -25
  372. tests/models/lcImpactAllEffects100Years/test_damageToHumanHealthStratosphericOzoneDepletion.py +0 -25
  373. tests/models/lcImpactAllEffects100Years/test_damageToHumanHealthWaterStress.py +0 -32
  374. tests/models/lcImpactAllEffects100Years/test_damageToMarineEcosystemsMarineEcotoxicity.py +0 -25
  375. tests/models/lcImpactAllEffects100Years/test_damageToMarineEcosystemsMarineEutrophication.py +0 -25
  376. tests/models/lcImpactAllEffects100Years/test_damageToMarineEcosystemsPdfYear.py +0 -20
  377. tests/models/lcImpactAllEffects100Years/test_damageToTerrestrialEcosystemsClimateChange.py +0 -25
  378. tests/models/lcImpactAllEffects100Years/test_damageToTerrestrialEcosystemsPdfYear.py +0 -20
  379. tests/models/lcImpactAllEffects100Years/test_damageToTerrestrialEcosystemsPhotochemicalOzoneFormation.py +0 -25
  380. tests/models/lcImpactAllEffects100Years/test_damageToTerrestrialEcosystemsTerrestrialAcidification.py +0 -25
  381. tests/models/lcImpactAllEffects100Years/test_damageToTerrestrialEcosystemsTerrestrialEcotoxicity.py +0 -25
  382. tests/models/lcImpactAllEffectsInfinite/__init__.py +0 -0
  383. tests/models/lcImpactAllEffectsInfinite/test_damageToFreshwaterEcosystemsClimateChange.py +0 -23
  384. tests/models/lcImpactAllEffectsInfinite/test_damageToFreshwaterEcosystemsFreshwaterEcotoxicity.py +0 -25
  385. tests/models/lcImpactAllEffectsInfinite/test_damageToFreshwaterEcosystemsFreshwaterEutrophication.py +0 -25
  386. tests/models/lcImpactAllEffectsInfinite/test_damageToFreshwaterEcosystemsPdfYear.py +0 -20
  387. tests/models/lcImpactAllEffectsInfinite/test_damageToFreshwaterEcosystemsWaterStress.py +0 -21
  388. tests/models/lcImpactAllEffectsInfinite/test_damageToHumanHealth.py +0 -20
  389. tests/models/lcImpactAllEffectsInfinite/test_damageToHumanHealthClimateChange.py +0 -23
  390. tests/models/lcImpactAllEffectsInfinite/test_damageToHumanHealthHumanToxicityCancerogenic.py +0 -25
  391. tests/models/lcImpactAllEffectsInfinite/test_damageToHumanHealthHumanToxicityNonCancerogenic.py +0 -25
  392. tests/models/lcImpactAllEffectsInfinite/test_damageToHumanHealthParticulateMatterFormation.py +0 -25
  393. tests/models/lcImpactAllEffectsInfinite/test_damageToHumanHealthPhotochemicalOzoneFormation.py +0 -25
  394. tests/models/lcImpactAllEffectsInfinite/test_damageToHumanHealthStratosphericOzoneDepletion.py +0 -25
  395. tests/models/lcImpactAllEffectsInfinite/test_damageToHumanHealthWaterStress.py +0 -32
  396. tests/models/lcImpactAllEffectsInfinite/test_damageToMarineEcosystemsMarineEcotoxicity.py +0 -25
  397. tests/models/lcImpactAllEffectsInfinite/test_damageToMarineEcosystemsMarineEutrophication.py +0 -25
  398. tests/models/lcImpactAllEffectsInfinite/test_damageToMarineEcosystemsPdfYear.py +0 -20
  399. tests/models/lcImpactAllEffectsInfinite/test_damageToTerrestrialEcosystemsClimateChange.py +0 -25
  400. tests/models/lcImpactAllEffectsInfinite/test_damageToTerrestrialEcosystemsPdfYear.py +0 -20
  401. tests/models/lcImpactAllEffectsInfinite/test_damageToTerrestrialEcosystemsPhotochemicalOzoneFormation.py +0 -25
  402. tests/models/lcImpactAllEffectsInfinite/test_damageToTerrestrialEcosystemsTerrestrialAcidification.py +0 -25
  403. tests/models/lcImpactAllEffectsInfinite/test_damageToTerrestrialEcosystemsTerrestrialEcotoxicity.py +0 -25
  404. tests/models/lcImpactCertainEffects100Years/__init__.py +0 -0
  405. tests/models/lcImpactCertainEffects100Years/test_damageToFreshwaterEcosystemsFreshwaterEcotoxicity.py +0 -25
  406. tests/models/lcImpactCertainEffects100Years/test_damageToFreshwaterEcosystemsFreshwaterEutrophication.py +0 -25
  407. tests/models/lcImpactCertainEffects100Years/test_damageToFreshwaterEcosystemsPdfYear.py +0 -20
  408. tests/models/lcImpactCertainEffects100Years/test_damageToFreshwaterEcosystemsWaterStress.py +0 -21
  409. tests/models/lcImpactCertainEffects100Years/test_damageToHumanHealth.py +0 -20
  410. tests/models/lcImpactCertainEffects100Years/test_damageToHumanHealthClimateChange.py +0 -23
  411. tests/models/lcImpactCertainEffects100Years/test_damageToHumanHealthHumanToxicityCancerogenic.py +0 -25
  412. tests/models/lcImpactCertainEffects100Years/test_damageToHumanHealthHumanToxicityNonCancerogenic.py +0 -25
  413. tests/models/lcImpactCertainEffects100Years/test_damageToHumanHealthParticulateMatterFormation.py +0 -25
  414. tests/models/lcImpactCertainEffects100Years/test_damageToHumanHealthPhotochemicalOzoneFormation.py +0 -25
  415. tests/models/lcImpactCertainEffects100Years/test_damageToHumanHealthStratosphericOzoneDepletion.py +0 -25
  416. tests/models/lcImpactCertainEffects100Years/test_damageToHumanHealthWaterStress.py +0 -32
  417. tests/models/lcImpactCertainEffects100Years/test_damageToMarineEcosystemsMarineEcotoxicity.py +0 -25
  418. tests/models/lcImpactCertainEffects100Years/test_damageToMarineEcosystemsMarineEutrophication.py +0 -25
  419. tests/models/lcImpactCertainEffects100Years/test_damageToMarineEcosystemsPdfYear.py +0 -20
  420. tests/models/lcImpactCertainEffects100Years/test_damageToTerrestrialEcosystemsClimateChange.py +0 -25
  421. tests/models/lcImpactCertainEffects100Years/test_damageToTerrestrialEcosystemsPdfYear.py +0 -20
  422. tests/models/lcImpactCertainEffects100Years/test_damageToTerrestrialEcosystemsPhotochemicalOzoneFormation.py +0 -25
  423. tests/models/lcImpactCertainEffects100Years/test_damageToTerrestrialEcosystemsTerrestrialAcidification.py +0 -25
  424. tests/models/lcImpactCertainEffects100Years/test_damageToTerrestrialEcosystemsTerrestrialEcotoxicity.py +0 -25
  425. tests/models/lcImpactCertainEffectsInfinite/__init__.py +0 -0
  426. tests/models/lcImpactCertainEffectsInfinite/test_damageToFreshwaterEcosystemsFreshwaterEcotoxicity.py +0 -25
  427. tests/models/lcImpactCertainEffectsInfinite/test_damageToFreshwaterEcosystemsFreshwaterEutrophication.py +0 -25
  428. tests/models/lcImpactCertainEffectsInfinite/test_damageToFreshwaterEcosystemsPdfYear.py +0 -20
  429. tests/models/lcImpactCertainEffectsInfinite/test_damageToFreshwaterEcosystemsWaterStress.py +0 -21
  430. tests/models/lcImpactCertainEffectsInfinite/test_damageToHumanHealth.py +0 -20
  431. tests/models/lcImpactCertainEffectsInfinite/test_damageToHumanHealthClimateChange.py +0 -23
  432. tests/models/lcImpactCertainEffectsInfinite/test_damageToHumanHealthHumanToxicityCancerogenic.py +0 -25
  433. tests/models/lcImpactCertainEffectsInfinite/test_damageToHumanHealthHumanToxicityNonCancerogenic.py +0 -25
  434. tests/models/lcImpactCertainEffectsInfinite/test_damageToHumanHealthParticulateMatterFormation.py +0 -25
  435. tests/models/lcImpactCertainEffectsInfinite/test_damageToHumanHealthPhotochemicalOzoneFormation.py +0 -25
  436. tests/models/lcImpactCertainEffectsInfinite/test_damageToHumanHealthStratosphericOzoneDepletion.py +0 -25
  437. tests/models/lcImpactCertainEffectsInfinite/test_damageToHumanHealthWaterStress.py +0 -32
  438. tests/models/lcImpactCertainEffectsInfinite/test_damageToMarineEcosystemsMarineEcotoxicity.py +0 -25
  439. tests/models/lcImpactCertainEffectsInfinite/test_damageToMarineEcosystemsMarineEutrophication.py +0 -25
  440. tests/models/lcImpactCertainEffectsInfinite/test_damageToMarineEcosystemsPdfYear.py +0 -20
  441. tests/models/lcImpactCertainEffectsInfinite/test_damageToTerrestrialEcosystemsClimateChange.py +0 -25
  442. tests/models/lcImpactCertainEffectsInfinite/test_damageToTerrestrialEcosystemsPdfYear.py +0 -20
  443. tests/models/lcImpactCertainEffectsInfinite/test_damageToTerrestrialEcosystemsPhotochemicalOzoneFormation.py +0 -25
  444. tests/models/lcImpactCertainEffectsInfinite/test_damageToTerrestrialEcosystemsTerrestrialAcidification.py +0 -25
  445. tests/models/lcImpactCertainEffectsInfinite/test_damageToTerrestrialEcosystemsTerrestrialEcotoxicity.py +0 -25
  446. tests/models/linkedImpactAssessment/__init__.py +0 -0
  447. tests/models/linkedImpactAssessment/test_emissions.py +0 -22
  448. tests/models/linkedImpactAssessment/test_freshwaterWithdrawalsInputsProduction.py +0 -23
  449. tests/models/linkedImpactAssessment/test_landOccupationInputsProduction.py +0 -23
  450. tests/models/linkedImpactAssessment/test_landTransformation100YearAverageInputsProduction.py +0 -25
  451. tests/models/linkedImpactAssessment/test_landTransformation20YearAverageInputsProduction.py +0 -25
  452. tests/models/pooreNemecek2018/__init__.py +0 -0
  453. tests/models/pooreNemecek2018/test_aboveGroundCropResidueTotal.py +0 -45
  454. tests/models/pooreNemecek2018/test_belowGroundCropResidue.py +0 -45
  455. tests/models/pooreNemecek2018/test_ch4ToAirAquacultureSystems.py +0 -79
  456. tests/models/pooreNemecek2018/test_excretaKgN.py +0 -124
  457. tests/models/pooreNemecek2018/test_excretaKgVs.py +0 -107
  458. tests/models/pooreNemecek2018/test_freshwaterWithdrawalsDuringCycle.py +0 -60
  459. tests/models/pooreNemecek2018/test_landOccupationDuringCycle.py +0 -51
  460. tests/models/pooreNemecek2018/test_longFallowDuration.py +0 -29
  461. tests/models/pooreNemecek2018/test_n2OToAirAquacultureSystemsDirect.py +0 -59
  462. tests/models/pooreNemecek2018/test_n2ToAirAquacultureSystems.py +0 -59
  463. tests/models/pooreNemecek2018/test_nh3ToAirAquacultureSystems.py +0 -80
  464. tests/models/pooreNemecek2018/test_no3ToGroundwaterCropResidueDecomposition.py +0 -23
  465. tests/models/pooreNemecek2018/test_no3ToGroundwaterExcreta.py +0 -23
  466. tests/models/pooreNemecek2018/test_no3ToGroundwaterInorganicFertiliser.py +0 -23
  467. tests/models/pooreNemecek2018/test_no3ToGroundwaterOrganicFertiliser.py +0 -23
  468. tests/models/pooreNemecek2018/test_noxToAirAquacultureSystems.py +0 -59
  469. tests/models/pooreNemecek2018/test_nurseryDensity.py +0 -29
  470. tests/models/pooreNemecek2018/test_nurseryDuration.py +0 -29
  471. tests/models/pooreNemecek2018/test_plantationDensity.py +0 -29
  472. tests/models/pooreNemecek2018/test_plantationLifespan.py +0 -29
  473. tests/models/pooreNemecek2018/test_plantationProductiveLifespan.py +0 -29
  474. tests/models/pooreNemecek2018/test_rotationDuration.py +0 -29
  475. tests/models/pooreNemecek2018/test_saplingsDepreciatedAmountPerCycle.py +0 -46
  476. tests/models/pooreNemecek2018/test_utils.py +0 -26
  477. tests/models/poschEtAl2008/__init__.py +0 -0
  478. tests/models/poschEtAl2008/test_terrestrialAcidificationPotentialAccumulatedExceedance.py +0 -39
  479. tests/models/poschEtAl2008/test_terrestrialEutrophicationPotentialAccumulatedExceedance.py +0 -39
  480. tests/models/recipe2016Egalitarian/__init__.py +0 -0
  481. tests/models/recipe2016Egalitarian/test_damageToFreshwaterEcosystemsSpeciesYear.py +0 -20
  482. tests/models/recipe2016Egalitarian/test_damageToHumanHealth.py +0 -20
  483. tests/models/recipe2016Egalitarian/test_damageToMarineEcosystemsSpeciesYear.py +0 -20
  484. tests/models/recipe2016Egalitarian/test_damageToResourceAvailability.py +0 -23
  485. tests/models/recipe2016Egalitarian/test_damageToTerrestrialEcosystemsSpeciesYear.py +0 -20
  486. tests/models/recipe2016Egalitarian/test_ecosystemDamageOzoneFormation.py +0 -26
  487. tests/models/recipe2016Egalitarian/test_fossilResourceScarcity.py +0 -23
  488. tests/models/recipe2016Egalitarian/test_freshwaterAquaticEcotoxicityPotential14Dcbeq.py +0 -23
  489. tests/models/recipe2016Egalitarian/test_freshwaterEutrophicationPotential.py +0 -23
  490. tests/models/recipe2016Egalitarian/test_humanCarcinogenicToxicity.py +0 -23
  491. tests/models/recipe2016Egalitarian/test_humanDamageOzoneFormation.py +0 -26
  492. tests/models/recipe2016Egalitarian/test_humanNonCarcinogenicToxicity.py +0 -23
  493. tests/models/recipe2016Egalitarian/test_marineAquaticEcotoxicityPotential14Dcbeq.py +0 -23
  494. tests/models/recipe2016Egalitarian/test_marineEutrophicationPotential.py +0 -23
  495. tests/models/recipe2016Egalitarian/test_ozoneDepletionPotential.py +0 -26
  496. tests/models/recipe2016Egalitarian/test_terrestrialAcidificationPotential.py +0 -23
  497. tests/models/recipe2016Egalitarian/test_terrestrialEcotoxicityPotential14Dcbeq.py +0 -23
  498. tests/models/recipe2016Hierarchist/__init__.py +0 -0
  499. tests/models/recipe2016Hierarchist/test_damageToFreshwaterEcosystemsSpeciesYear.py +0 -20
  500. tests/models/recipe2016Hierarchist/test_damageToHumanHealth.py +0 -20
  501. tests/models/recipe2016Hierarchist/test_damageToMarineEcosystemsSpeciesYear.py +0 -20
  502. tests/models/recipe2016Hierarchist/test_damageToResourceAvailability.py +0 -23
  503. tests/models/recipe2016Hierarchist/test_damageToTerrestrialEcosystemsSpeciesYear.py +0 -20
  504. tests/models/recipe2016Hierarchist/test_ecosystemDamageOzoneFormation.py +0 -26
  505. tests/models/recipe2016Hierarchist/test_fossilResourceScarcity.py +0 -23
  506. tests/models/recipe2016Hierarchist/test_freshwaterAquaticEcotoxicityPotential14Dcbeq.py +0 -23
  507. tests/models/recipe2016Hierarchist/test_freshwaterEutrophicationPotential.py +0 -23
  508. tests/models/recipe2016Hierarchist/test_humanCarcinogenicToxicity.py +0 -23
  509. tests/models/recipe2016Hierarchist/test_humanDamageOzoneFormation.py +0 -26
  510. tests/models/recipe2016Hierarchist/test_humanNonCarcinogenicToxicity.py +0 -23
  511. tests/models/recipe2016Hierarchist/test_marineAquaticEcotoxicityPotential14Dcbeq.py +0 -23
  512. tests/models/recipe2016Hierarchist/test_marineEutrophicationPotential.py +0 -23
  513. tests/models/recipe2016Hierarchist/test_ozoneDepletionPotential.py +0 -26
  514. tests/models/recipe2016Hierarchist/test_terrestrialAcidificationPotential.py +0 -23
  515. tests/models/recipe2016Hierarchist/test_terrestrialEcotoxicityPotential14Dcbeq.py +0 -23
  516. tests/models/recipe2016Individualist/__init__.py +0 -0
  517. tests/models/recipe2016Individualist/test_damageToFreshwaterEcosystemsSpeciesYear.py +0 -20
  518. tests/models/recipe2016Individualist/test_damageToHumanHealth.py +0 -20
  519. tests/models/recipe2016Individualist/test_damageToMarineEcosystemsSpeciesYear.py +0 -20
  520. tests/models/recipe2016Individualist/test_damageToResourceAvailability.py +0 -23
  521. tests/models/recipe2016Individualist/test_damageToTerrestrialEcosystemsSpeciesYear.py +0 -20
  522. tests/models/recipe2016Individualist/test_ecosystemDamageOzoneFormation.py +0 -26
  523. tests/models/recipe2016Individualist/test_fossilResourceScarcity.py +0 -23
  524. tests/models/recipe2016Individualist/test_freshwaterAquaticEcotoxicityPotential14Dcbeq.py +0 -23
  525. tests/models/recipe2016Individualist/test_freshwaterEutrophicationPotential.py +0 -23
  526. tests/models/recipe2016Individualist/test_humanCarcinogenicToxicity.py +0 -23
  527. tests/models/recipe2016Individualist/test_humanDamageOzoneFormation.py +0 -26
  528. tests/models/recipe2016Individualist/test_humanNonCarcinogenicToxicity.py +0 -23
  529. tests/models/recipe2016Individualist/test_marineAquaticEcotoxicityPotential14Dcbeq.py +0 -23
  530. tests/models/recipe2016Individualist/test_marineEutrophicationPotential.py +0 -23
  531. tests/models/recipe2016Individualist/test_ozoneDepletionPotential.py +0 -26
  532. tests/models/recipe2016Individualist/test_terrestrialAcidificationPotential.py +0 -23
  533. tests/models/recipe2016Individualist/test_terrestrialEcotoxicityPotential14Dcbeq.py +0 -23
  534. tests/models/schererPfister2015/__init__.py +0 -0
  535. tests/models/schererPfister2015/test_nErosionSoilFlux.py +0 -70
  536. tests/models/schererPfister2015/test_pErosionSoilFlux.py +0 -70
  537. tests/models/schererPfister2015/test_pToDrainageWaterSoilFlux.py +0 -33
  538. tests/models/schererPfister2015/test_pToGroundwaterSoilFlux.py +0 -33
  539. tests/models/schererPfister2015/test_pToSurfaceWaterSoilFlux.py +0 -45
  540. tests/models/schmidt2007/__init__.py +0 -0
  541. tests/models/schmidt2007/test_ch4ToAirWasteTreatment.py +0 -45
  542. tests/models/schmidt2007/test_h2SToAirWasteTreatment.py +0 -45
  543. tests/models/schmidt2007/test_n2OToAirWasteTreatmentDirect.py +0 -45
  544. tests/models/schmidt2007/test_nh3ToAirWasteTreatment.py +0 -45
  545. tests/models/schmidt2007/test_utils.py +0 -39
  546. tests/models/site/__init__.py +0 -0
  547. tests/models/site/measurement/__init__.py +0 -0
  548. tests/models/site/measurement/test_value.py +0 -41
  549. tests/models/site/post_checks/__init__.py +0 -0
  550. tests/models/site/post_checks/test_cache.py +0 -8
  551. tests/models/site/post_checks/test_country.py +0 -6
  552. tests/models/site/pre_checks/__init__.py +0 -0
  553. tests/models/site/pre_checks/test_cache_geospatialDatabase.py +0 -22
  554. tests/models/site/pre_checks/test_cache_years.py +0 -25
  555. tests/models/site/pre_checks/test_country.py +0 -13
  556. tests/models/site/test_defaultMethodClassification.py +0 -24
  557. tests/models/site/test_defaultMethodClassificationDescription.py +0 -24
  558. tests/models/site/test_grouped_measurement.py +0 -20
  559. tests/models/stehfestBouwman2006/__init__.py +0 -0
  560. tests/models/stehfestBouwman2006/test_n2OToAirCropResidueDecompositionDirect.py +0 -20
  561. tests/models/stehfestBouwman2006/test_n2OToAirExcretaDirect.py +0 -20
  562. tests/models/stehfestBouwman2006/test_n2OToAirInorganicFertiliserDirect.py +0 -20
  563. tests/models/stehfestBouwman2006/test_n2OToAirOrganicFertiliserDirect.py +0 -20
  564. tests/models/stehfestBouwman2006/test_noxToAirCropResidueDecomposition.py +0 -20
  565. tests/models/stehfestBouwman2006/test_noxToAirExcreta.py +0 -20
  566. tests/models/stehfestBouwman2006/test_noxToAirInorganicFertiliser.py +0 -20
  567. tests/models/stehfestBouwman2006/test_noxToAirOrganicFertiliser.py +0 -20
  568. tests/models/stehfestBouwman2006GisImplementation/__init__.py +0 -0
  569. tests/models/stehfestBouwman2006GisImplementation/test_noxToAirCropResidueDecomposition.py +0 -22
  570. tests/models/stehfestBouwman2006GisImplementation/test_noxToAirExcreta.py +0 -20
  571. tests/models/stehfestBouwman2006GisImplementation/test_noxToAirInorganicFertiliser.py +0 -20
  572. tests/models/stehfestBouwman2006GisImplementation/test_noxToAirOrganicFertiliser.py +0 -20
  573. tests/models/test_cache_nodes.py +0 -31
  574. tests/models/test_cache_sites.py +0 -93
  575. tests/models/test_config.py +0 -170
  576. tests/models/test_emissionNotRelevant.py +0 -32
  577. tests/models/test_log.py +0 -128
  578. tests/models/test_resourceUseNotRelevant.py +0 -27
  579. tests/models/test_utils.py +0 -6
  580. tests/models/transformation/__init__.py +0 -0
  581. tests/models/transformation/input/__init__.py +0 -0
  582. tests/models/transformation/input/test_excreta.py +0 -49
  583. tests/models/transformation/input/test_max.py +0 -34
  584. tests/models/transformation/input/test_min.py +0 -34
  585. tests/models/transformation/input/test_properties.py +0 -34
  586. tests/models/transformation/input/test_sd.py +0 -34
  587. tests/models/transformation/input/test_value.py +0 -34
  588. tests/models/transformation/product/__init__.py +0 -0
  589. tests/models/transformation/product/test_excreta.py +0 -54
  590. tests/models/usetoxV2/__init__.py +0 -0
  591. tests/models/usetoxV2/test_freshwaterEcotoxicityPotentialCtue.py +0 -23
  592. tests/models/utils/__init__.py +0 -0
  593. tests/models/utils/test_array_builders.py +0 -314
  594. tests/models/utils/test_background_emissions.py +0 -13
  595. tests/models/utils/test_blank_node.py +0 -1081
  596. tests/models/utils/test_cache_sources.py +0 -21
  597. tests/models/utils/test_crop.py +0 -27
  598. tests/models/utils/test_cropResidue.py +0 -26
  599. tests/models/utils/test_cropResidueManagement.py +0 -24
  600. tests/models/utils/test_currency.py +0 -13
  601. tests/models/utils/test_dataCompleteness.py +0 -52
  602. tests/models/utils/test_ecoClimateZone.py +0 -152
  603. tests/models/utils/test_emission.py +0 -74
  604. tests/models/utils/test_feedipedia.py +0 -26
  605. tests/models/utils/test_impact_assessment.py +0 -48
  606. tests/models/utils/test_indicator.py +0 -26
  607. tests/models/utils/test_input.py +0 -88
  608. tests/models/utils/test_liveAnimal.py +0 -34
  609. tests/models/utils/test_measurement.py +0 -116
  610. tests/models/utils/test_practice.py +0 -24
  611. tests/models/utils/test_product.py +0 -73
  612. tests/models/utils/test_property.py +0 -24
  613. tests/models/utils/test_site.py +0 -70
  614. tests/models/utils/test_source.py +0 -42
  615. tests/models/utils/test_term.py +0 -115
  616. tests/models/utils/test_time_series.py +0 -88
  617. tests/models/webbEtAl2012AndSintermannEtAl2012/__init__.py +0 -0
  618. tests/models/webbEtAl2012AndSintermannEtAl2012/test_nh3ToAirOrganicFertiliser.py +0 -79
  619. tests/orchestrator/__init__.py +0 -0
  620. tests/orchestrator/models/__init__.py +0 -0
  621. tests/orchestrator/models/emissions/__init__.py +0 -0
  622. tests/orchestrator/models/emissions/test_deleted.py +0 -21
  623. tests/orchestrator/models/test_transformations.py +0 -32
  624. tests/orchestrator/strategies/__init__.py +0 -0
  625. tests/orchestrator/strategies/merge/__init__.py +0 -0
  626. tests/orchestrator/strategies/merge/test_merge_append.py +0 -33
  627. tests/orchestrator/strategies/merge/test_merge_default.py +0 -7
  628. tests/orchestrator/strategies/merge/test_merge_list.py +0 -342
  629. tests/orchestrator/strategies/merge/test_merge_node.py +0 -95
  630. tests/orchestrator/strategies/run/__init__.py +0 -0
  631. tests/orchestrator/strategies/run/test_add_blank_node_if_missing.py +0 -109
  632. tests/orchestrator/strategies/run/test_add_key_if_missing.py +0 -14
  633. tests/orchestrator/strategies/run/test_always.py +0 -5
  634. tests/orchestrator/test_models.py +0 -70
  635. tests/orchestrator/test_orchestrator.py +0 -27
  636. tests/orchestrator/test_utils.py +0 -109
  637. {hestia_earth_models-0.74.16.dist-info → hestia_earth_models-0.75.0.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