hestia-earth-models 0.64.12__py3-none-any.whl → 0.64.13__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.
- hestia_earth/models/aware/scarcityWeightedWaterUse.py +1 -1
- hestia_earth/models/chaudharyBrooks2018/damageToTerrestrialEcosystemsLandOccupation.py +1 -1
- hestia_earth/models/chaudharyBrooks2018/damageToTerrestrialEcosystemsLandTransformation.py +1 -1
- hestia_earth/models/chaudharyBrooks2018/damageToTerrestrialEcosystemsTotalLandUseEffects.py +3 -2
- hestia_earth/models/cml2001Baseline/eutrophicationPotentialExcludingFate.py +2 -2
- hestia_earth/models/cml2001Baseline/terrestrialAcidificationPotentialIncludingFateAverageEurope.py +2 -2
- hestia_earth/models/cml2001NonBaseline/eutrophicationPotentialIncludingFateAverageEurope.py +2 -2
- hestia_earth/models/cml2001NonBaseline/terrestrialAcidificationPotentialExcludingFate.py +2 -2
- hestia_earth/models/cycle/completeness/seed.py +6 -4
- hestia_earth/models/cycle/concentrateFeed.py +9 -4
- hestia_earth/models/cycle/endDate.py +10 -1
- hestia_earth/models/cycle/milkYield.py +6 -5
- hestia_earth/models/cycle/startDate.py +6 -4
- hestia_earth/models/edip2003/ozoneDepletionPotential.py +2 -2
- hestia_earth/models/emissionNotRelevant/__init__.py +3 -2
- hestia_earth/models/environmentalFootprintV3/freshwaterEcotoxicityPotentialCtue.py +2 -3
- hestia_earth/models/hestia/landCover.py +28 -26
- hestia_earth/models/ipcc2013ExcludingFeedbacks/gwp100.py +2 -2
- hestia_earth/models/ipcc2013IncludingFeedbacks/gwp100.py +2 -2
- hestia_earth/models/ipcc2019/aboveGroundBiomass.py +4 -8
- hestia_earth/models/ipcc2019/animal/milkYieldPerAnimal.py +2 -2
- hestia_earth/models/ipcc2019/belowGroundBiomass.py +4 -8
- hestia_earth/models/ipcc2019/biomass_utils.py +11 -0
- hestia_earth/models/ipcc2019/ch4ToAirEntericFermentation.py +1 -1
- hestia_earth/models/ipcc2019/co2ToAirCarbonStockChange_utils.py +7 -3
- hestia_earth/models/ipcc2019/n2OToAirExcretaDirect.py +14 -9
- hestia_earth/models/ipcc2019/organicCarbonPerHa_tier_1_utils.py +9 -3
- hestia_earth/models/ipcc2019/organicCarbonPerHa_tier_2_utils.py +1 -2
- hestia_earth/models/koble2014/aboveGroundCropResidue.py +5 -1
- hestia_earth/models/lcImpactAllEffects100Years/damageToFreshwaterEcosystemsClimateChange.py +2 -2
- hestia_earth/models/lcImpactAllEffects100Years/damageToFreshwaterEcosystemsFreshwaterEcotoxicity.py +2 -3
- hestia_earth/models/lcImpactAllEffects100Years/damageToFreshwaterEcosystemsPdfYear.py +2 -2
- hestia_earth/models/lcImpactAllEffects100Years/damageToHumanHealth.py +2 -2
- hestia_earth/models/lcImpactAllEffects100Years/damageToHumanHealthClimateChange.py +2 -2
- hestia_earth/models/lcImpactAllEffects100Years/damageToHumanHealthHumanToxicityCancerogenic.py +2 -3
- hestia_earth/models/lcImpactAllEffects100Years/damageToHumanHealthHumanToxicityNonCancerogenic.py +2 -3
- hestia_earth/models/lcImpactAllEffects100Years/damageToHumanHealthStratosphericOzoneDepletion.py +2 -2
- hestia_earth/models/lcImpactAllEffects100Years/damageToMarineEcosystemsMarineEcotoxicity.py +2 -3
- hestia_earth/models/lcImpactAllEffects100Years/damageToMarineEcosystemsPdfYear.py +2 -2
- hestia_earth/models/lcImpactAllEffects100Years/damageToTerrestrialEcosystemsClimateChange.py +2 -2
- hestia_earth/models/lcImpactAllEffects100Years/damageToTerrestrialEcosystemsPdfYear.py +2 -2
- hestia_earth/models/lcImpactAllEffects100Years/damageToTerrestrialEcosystemsTerrestrialEcotoxicity.py +2 -3
- hestia_earth/models/lcImpactAllEffectsInfinite/damageToFreshwaterEcosystemsClimateChange.py +2 -2
- hestia_earth/models/lcImpactAllEffectsInfinite/damageToFreshwaterEcosystemsFreshwaterEcotoxicity.py +2 -3
- hestia_earth/models/lcImpactAllEffectsInfinite/damageToFreshwaterEcosystemsPdfYear.py +2 -2
- hestia_earth/models/lcImpactAllEffectsInfinite/damageToHumanHealth.py +2 -2
- hestia_earth/models/lcImpactAllEffectsInfinite/damageToHumanHealthClimateChange.py +2 -2
- hestia_earth/models/lcImpactAllEffectsInfinite/damageToHumanHealthHumanToxicityCancerogenic.py +2 -3
- hestia_earth/models/lcImpactAllEffectsInfinite/damageToHumanHealthHumanToxicityNonCancerogenic.py +2 -3
- hestia_earth/models/lcImpactAllEffectsInfinite/damageToHumanHealthStratosphericOzoneDepletion.py +2 -2
- hestia_earth/models/lcImpactAllEffectsInfinite/damageToMarineEcosystemsMarineEcotoxicity.py +2 -3
- hestia_earth/models/lcImpactAllEffectsInfinite/damageToMarineEcosystemsPdfYear.py +2 -2
- hestia_earth/models/lcImpactAllEffectsInfinite/damageToTerrestrialEcosystemsClimateChange.py +2 -2
- hestia_earth/models/lcImpactAllEffectsInfinite/damageToTerrestrialEcosystemsPdfYear.py +2 -2
- hestia_earth/models/lcImpactAllEffectsInfinite/damageToTerrestrialEcosystemsTerrestrialEcotoxicity.py +2 -3
- hestia_earth/models/lcImpactCertainEffects100Years/damageToFreshwaterEcosystemsFreshwaterEcotoxicity.py +2 -3
- hestia_earth/models/lcImpactCertainEffects100Years/damageToFreshwaterEcosystemsPdfYear.py +2 -2
- hestia_earth/models/lcImpactCertainEffects100Years/damageToHumanHealth.py +2 -2
- hestia_earth/models/lcImpactCertainEffects100Years/damageToHumanHealthClimateChange.py +2 -2
- hestia_earth/models/lcImpactCertainEffects100Years/damageToHumanHealthHumanToxicityCancerogenic.py +2 -3
- hestia_earth/models/lcImpactCertainEffects100Years/damageToHumanHealthHumanToxicityNonCancerogenic.py +2 -3
- hestia_earth/models/lcImpactCertainEffects100Years/damageToHumanHealthStratosphericOzoneDepletion.py +2 -2
- hestia_earth/models/lcImpactCertainEffects100Years/damageToMarineEcosystemsMarineEcotoxicity.py +2 -3
- hestia_earth/models/lcImpactCertainEffects100Years/damageToMarineEcosystemsPdfYear.py +2 -2
- hestia_earth/models/lcImpactCertainEffects100Years/damageToTerrestrialEcosystemsClimateChange.py +2 -2
- hestia_earth/models/lcImpactCertainEffects100Years/damageToTerrestrialEcosystemsPdfYear.py +2 -2
- hestia_earth/models/lcImpactCertainEffects100Years/damageToTerrestrialEcosystemsTerrestrialEcotoxicity.py +2 -3
- hestia_earth/models/lcImpactCertainEffectsInfinite/damageToFreshwaterEcosystemsFreshwaterEcotoxicity.py +2 -3
- hestia_earth/models/lcImpactCertainEffectsInfinite/damageToFreshwaterEcosystemsPdfYear.py +2 -2
- hestia_earth/models/lcImpactCertainEffectsInfinite/damageToHumanHealth.py +2 -2
- hestia_earth/models/lcImpactCertainEffectsInfinite/damageToHumanHealthClimateChange.py +2 -2
- hestia_earth/models/lcImpactCertainEffectsInfinite/damageToHumanHealthHumanToxicityCancerogenic.py +2 -3
- hestia_earth/models/lcImpactCertainEffectsInfinite/damageToHumanHealthHumanToxicityNonCancerogenic.py +2 -3
- hestia_earth/models/lcImpactCertainEffectsInfinite/damageToHumanHealthStratosphericOzoneDepletion.py +2 -2
- hestia_earth/models/lcImpactCertainEffectsInfinite/damageToMarineEcosystemsMarineEcotoxicity.py +2 -3
- hestia_earth/models/lcImpactCertainEffectsInfinite/damageToMarineEcosystemsPdfYear.py +2 -2
- hestia_earth/models/lcImpactCertainEffectsInfinite/damageToTerrestrialEcosystemsClimateChange.py +2 -2
- hestia_earth/models/lcImpactCertainEffectsInfinite/damageToTerrestrialEcosystemsPdfYear.py +2 -2
- hestia_earth/models/lcImpactCertainEffectsInfinite/damageToTerrestrialEcosystemsTerrestrialEcotoxicity.py +2 -3
- hestia_earth/models/linkedImpactAssessment/emissions.py +3 -0
- hestia_earth/models/log.py +4 -3
- hestia_earth/models/mocking/search-results.json +471 -471
- hestia_earth/models/pooreNemecek2018/excretaKgN.py +4 -4
- hestia_earth/models/pooreNemecek2018/excretaKgVs.py +4 -4
- hestia_earth/models/pooreNemecek2018/no3ToGroundwaterCropResidueDecomposition.py +1 -1
- hestia_earth/models/pooreNemecek2018/no3ToGroundwaterExcreta.py +1 -1
- hestia_earth/models/pooreNemecek2018/no3ToGroundwaterInorganicFertiliser.py +1 -1
- hestia_earth/models/pooreNemecek2018/no3ToGroundwaterOrganicFertiliser.py +1 -1
- hestia_earth/models/pooreNemecek2018/{saplings.py → saplingsDepreciatedAmountPerCycle.py} +1 -1
- hestia_earth/models/pooreNemecek2018/utils.py +7 -1
- hestia_earth/models/recipe2016Egalitarian/damageToFreshwaterEcosystemsSpeciesYear.py +2 -2
- hestia_earth/models/recipe2016Egalitarian/damageToHumanHealth.py +2 -2
- hestia_earth/models/recipe2016Egalitarian/damageToMarineEcosystemsSpeciesYear.py +2 -2
- hestia_earth/models/recipe2016Egalitarian/damageToTerrestrialEcosystemsSpeciesYear.py +2 -2
- hestia_earth/models/recipe2016Egalitarian/freshwaterAquaticEcotoxicityPotential14Dcbeq.py +2 -3
- hestia_earth/models/recipe2016Egalitarian/freshwaterEutrophicationPotential.py +2 -2
- hestia_earth/models/recipe2016Egalitarian/humanCarcinogenicToxicity.py +2 -3
- hestia_earth/models/recipe2016Egalitarian/humanNonCarcinogenicToxicity.py +2 -3
- hestia_earth/models/recipe2016Egalitarian/marineAquaticEcotoxicityPotential14Dcbeq.py +2 -3
- hestia_earth/models/recipe2016Egalitarian/marineEutrophicationPotential.py +2 -2
- hestia_earth/models/recipe2016Egalitarian/ozoneDepletionPotential.py +2 -2
- hestia_earth/models/recipe2016Egalitarian/terrestrialAcidificationPotential.py +2 -2
- hestia_earth/models/recipe2016Egalitarian/terrestrialEcotoxicityPotential14Dcbeq.py +2 -3
- hestia_earth/models/recipe2016Hierarchist/damageToFreshwaterEcosystemsSpeciesYear.py +2 -2
- hestia_earth/models/recipe2016Hierarchist/damageToHumanHealth.py +2 -2
- hestia_earth/models/recipe2016Hierarchist/damageToMarineEcosystemsSpeciesYear.py +2 -2
- hestia_earth/models/recipe2016Hierarchist/damageToTerrestrialEcosystemsSpeciesYear.py +2 -2
- hestia_earth/models/recipe2016Hierarchist/freshwaterAquaticEcotoxicityPotential14Dcbeq.py +2 -3
- hestia_earth/models/recipe2016Hierarchist/freshwaterEutrophicationPotential.py +2 -2
- hestia_earth/models/recipe2016Hierarchist/humanCarcinogenicToxicity.py +2 -3
- hestia_earth/models/recipe2016Hierarchist/humanNonCarcinogenicToxicity.py +2 -3
- hestia_earth/models/recipe2016Hierarchist/marineAquaticEcotoxicityPotential14Dcbeq.py +2 -3
- hestia_earth/models/recipe2016Hierarchist/marineEutrophicationPotential.py +2 -2
- hestia_earth/models/recipe2016Hierarchist/ozoneDepletionPotential.py +2 -2
- hestia_earth/models/recipe2016Hierarchist/terrestrialAcidificationPotential.py +2 -2
- hestia_earth/models/recipe2016Hierarchist/terrestrialEcotoxicityPotential14Dcbeq.py +2 -3
- hestia_earth/models/recipe2016Individualist/damageToFreshwaterEcosystemsSpeciesYear.py +2 -2
- hestia_earth/models/recipe2016Individualist/damageToHumanHealth.py +2 -2
- hestia_earth/models/recipe2016Individualist/damageToMarineEcosystemsSpeciesYear.py +2 -2
- hestia_earth/models/recipe2016Individualist/damageToTerrestrialEcosystemsSpeciesYear.py +2 -2
- hestia_earth/models/recipe2016Individualist/freshwaterAquaticEcotoxicityPotential14Dcbeq.py +2 -3
- hestia_earth/models/recipe2016Individualist/freshwaterEutrophicationPotential.py +2 -2
- hestia_earth/models/recipe2016Individualist/humanCarcinogenicToxicity.py +2 -3
- hestia_earth/models/recipe2016Individualist/humanNonCarcinogenicToxicity.py +2 -3
- hestia_earth/models/recipe2016Individualist/marineAquaticEcotoxicityPotential14Dcbeq.py +2 -3
- hestia_earth/models/recipe2016Individualist/marineEutrophicationPotential.py +2 -2
- hestia_earth/models/recipe2016Individualist/ozoneDepletionPotential.py +2 -2
- hestia_earth/models/recipe2016Individualist/terrestrialAcidificationPotential.py +2 -2
- hestia_earth/models/recipe2016Individualist/terrestrialEcotoxicityPotential14Dcbeq.py +2 -3
- hestia_earth/models/site/management.py +142 -144
- hestia_earth/models/stehfestBouwman2006/n2OToAirCropResidueDecompositionDirect.py +1 -1
- hestia_earth/models/stehfestBouwman2006/n2OToAirExcretaDirect.py +1 -1
- hestia_earth/models/stehfestBouwman2006/n2OToAirInorganicFertiliserDirect.py +1 -1
- hestia_earth/models/stehfestBouwman2006/n2OToAirOrganicFertiliserDirect.py +1 -1
- hestia_earth/models/stehfestBouwman2006/noxToAirCropResidueDecomposition.py +1 -1
- hestia_earth/models/stehfestBouwman2006/noxToAirExcreta.py +1 -1
- hestia_earth/models/stehfestBouwman2006/noxToAirInorganicFertiliser.py +1 -1
- hestia_earth/models/stehfestBouwman2006/noxToAirOrganicFertiliser.py +1 -1
- hestia_earth/models/stehfestBouwman2006GisImplementation/noxToAirCropResidueDecomposition.py +1 -1
- hestia_earth/models/stehfestBouwman2006GisImplementation/noxToAirExcreta.py +1 -1
- hestia_earth/models/stehfestBouwman2006GisImplementation/noxToAirInorganicFertiliser.py +1 -1
- hestia_earth/models/stehfestBouwman2006GisImplementation/noxToAirOrganicFertiliser.py +1 -1
- hestia_earth/models/usetoxV2/freshwaterEcotoxicityPotentialCtue.py +2 -3
- hestia_earth/models/utils/__init__.py +4 -1
- hestia_earth/models/utils/blank_node.py +34 -14
- hestia_earth/models/utils/emission.py +1 -8
- hestia_earth/models/utils/management.py +11 -0
- hestia_earth/models/utils/pesticideAI.py +11 -17
- hestia_earth/models/utils/term.py +2 -1
- hestia_earth/models/version.py +1 -1
- {hestia_earth_models-0.64.12.dist-info → hestia_earth_models-0.64.13.dist-info}/METADATA +4 -4
- {hestia_earth_models-0.64.12.dist-info → hestia_earth_models-0.64.13.dist-info}/RECORD +180 -183
- {hestia_earth_models-0.64.12.dist-info → hestia_earth_models-0.64.13.dist-info}/WHEEL +1 -1
- tests/models/cycle/completeness/test_seed.py +1 -1
- tests/models/cycle/test_endDate.py +18 -2
- tests/models/cycle/test_startDate.py +21 -3
- tests/models/hestia/test_landCover.py +3 -2
- tests/models/ipcc2019/test_aboveGroundBiomass.py +2 -1
- tests/models/ipcc2019/test_belowGroundBiomass.py +2 -1
- tests/models/ipcc2019/test_co2ToAirAboveGroundBiomassStockChange.py +4 -3
- tests/models/ipcc2019/test_co2ToAirBelowGroundBiomassStockChange.py +3 -3
- tests/models/ipcc2019/test_co2ToAirSoilOrganicCarbonStockChange.py +1 -1
- tests/models/ipcc2019/test_n2OToAirExcretaDirect.py +12 -0
- tests/models/ipcc2019/test_organicCarbonPerHa.py +1 -0
- tests/models/koble2014/test_aboveGroundCropResidue.py +13 -0
- tests/models/pooreNemecek2018/test_no3ToGroundwaterCropResidueDecomposition.py +3 -2
- tests/models/pooreNemecek2018/test_no3ToGroundwaterExcreta.py +3 -2
- tests/models/pooreNemecek2018/test_no3ToGroundwaterInorganicFertiliser.py +3 -2
- tests/models/pooreNemecek2018/test_no3ToGroundwaterOrganicFertiliser.py +3 -2
- tests/models/pooreNemecek2018/{test_saplings.py → test_saplingsDepreciatedAmountPerCycle.py} +1 -1
- tests/models/site/test_management.py +18 -151
- tests/models/utils/test_blank_node.py +57 -1
- tests/models/utils/test_emission.py +1 -6
- tests/models/utils/test_site.py +33 -2
- tests/models/pooreNemecek2018/test_no3ToGroundwaterSoilFlux.py +0 -90
- tests/models/stehfestBouwman2006/test_n2OToAirSoilFlux.py +0 -41
- tests/models/stehfestBouwman2006/test_noxToAirSoilFlux.py +0 -40
- tests/models/stehfestBouwman2006GisImplementation/test_noxToAirSoilFlux.py +0 -33
- /hestia_earth/models/pooreNemecek2018/{no3ToGroundwaterSoilFlux.py → no3ToGroundwaterSoilFlux_utils.py} +0 -0
- /hestia_earth/models/stehfestBouwman2006/{n2OToAirSoilFlux.py → n2OToAirSoilFlux_utils.py} +0 -0
- /hestia_earth/models/stehfestBouwman2006/{noxToAirSoilFlux.py → noxToAirSoilFlux_utils.py} +0 -0
- /hestia_earth/models/stehfestBouwman2006GisImplementation/{noxToAirSoilFlux.py → noxToAirSoilFlux_utils.py} +0 -0
- {hestia_earth_models-0.64.12.dist-info → hestia_earth_models-0.64.13.dist-info}/LICENSE +0 -0
- {hestia_earth_models-0.64.12.dist-info → hestia_earth_models-0.64.13.dist-info}/top_level.txt +0 -0
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
from unittest.mock import patch
|
|
2
|
-
import json
|
|
3
|
-
from tests.utils import fixtures_path, fake_new_emission, FLOODED_RICE_TERMS
|
|
4
|
-
|
|
5
|
-
from hestia_earth.models.pooreNemecek2018.no3ToGroundwaterSoilFlux import MODEL, TERM_ID, run, _should_run
|
|
6
|
-
|
|
7
|
-
class_path = f"hestia_earth.models.{MODEL}.{TERM_ID}"
|
|
8
|
-
fixtures_folder = f"{fixtures_path}/{MODEL}/{TERM_ID}"
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
@patch(f"{class_path}.get_rice_paddy_terms", return_value=FLOODED_RICE_TERMS)
|
|
12
|
-
@patch(f"{class_path}.find_primary_product", return_value={'term': {'@id': 'product'}})
|
|
13
|
-
@patch(f"{class_path}.get_crop_residue_decomposition_N_total", return_value=10)
|
|
14
|
-
@patch(f"{class_path}.most_relevant_measurement_value", return_value=0)
|
|
15
|
-
@patch(f"{class_path}.get_max_rooting_depth", return_value=None)
|
|
16
|
-
def test_should_run(mock_rooting_depth, mock_measurement, *args):
|
|
17
|
-
# no measurements => no run
|
|
18
|
-
cycle = {}
|
|
19
|
-
should_run, *args = _should_run(cycle)
|
|
20
|
-
assert not should_run
|
|
21
|
-
|
|
22
|
-
# with measurements => no run
|
|
23
|
-
mock_measurement.return_value = 10
|
|
24
|
-
should_run, *args = _should_run(cycle)
|
|
25
|
-
assert not should_run
|
|
26
|
-
|
|
27
|
-
# no rootingDepth => no run
|
|
28
|
-
should_run, *args = _should_run({})
|
|
29
|
-
assert not should_run
|
|
30
|
-
|
|
31
|
-
# with rootingDepth => run
|
|
32
|
-
mock_rooting_depth.return_value = 10
|
|
33
|
-
should_run, *args = _should_run({})
|
|
34
|
-
assert should_run is True
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
@patch(f"{class_path}.get_rice_paddy_terms", return_value=FLOODED_RICE_TERMS)
|
|
38
|
-
@patch(f"{class_path}.get_max_rooting_depth", return_value=0.9)
|
|
39
|
-
@patch(f"{class_path}._new_emission", side_effect=fake_new_emission)
|
|
40
|
-
def test_run(*args):
|
|
41
|
-
with open(f"{fixtures_folder}/cycle.jsonld", encoding='utf-8') as f:
|
|
42
|
-
cycle = json.load(f)
|
|
43
|
-
|
|
44
|
-
with open(f"{fixtures_folder}/result.jsonld", encoding='utf-8') as f:
|
|
45
|
-
expected = json.load(f)
|
|
46
|
-
|
|
47
|
-
value = run(cycle)
|
|
48
|
-
assert value == expected
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
@patch(f"{class_path}.get_rice_paddy_terms", return_value=FLOODED_RICE_TERMS)
|
|
52
|
-
@patch(f"{class_path}.get_max_rooting_depth", return_value=0.9)
|
|
53
|
-
@patch(f"{class_path}._new_emission", side_effect=fake_new_emission)
|
|
54
|
-
def test_run_with_high_conditions(*args):
|
|
55
|
-
with open(f"{fixtures_folder}/with-high-conditions/cycle.jsonld", encoding='utf-8') as f:
|
|
56
|
-
cycle = json.load(f)
|
|
57
|
-
|
|
58
|
-
with open(f"{fixtures_folder}/with-high-conditions/result.jsonld", encoding='utf-8') as f:
|
|
59
|
-
expected = json.load(f)
|
|
60
|
-
|
|
61
|
-
value = run(cycle)
|
|
62
|
-
assert value == expected
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
@patch(f"{class_path}.get_rice_paddy_terms", return_value=FLOODED_RICE_TERMS)
|
|
66
|
-
@patch(f"{class_path}.get_max_rooting_depth", return_value=0.9)
|
|
67
|
-
@patch(f"{class_path}._new_emission", side_effect=fake_new_emission)
|
|
68
|
-
def test_run_with_low_conditions(*args):
|
|
69
|
-
with open(f"{fixtures_folder}/with-low-conditions/cycle.jsonld", encoding='utf-8') as f:
|
|
70
|
-
cycle = json.load(f)
|
|
71
|
-
|
|
72
|
-
with open(f"{fixtures_folder}/with-low-conditions/result.jsonld", encoding='utf-8') as f:
|
|
73
|
-
expected = json.load(f)
|
|
74
|
-
|
|
75
|
-
value = run(cycle)
|
|
76
|
-
assert value == expected
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
@patch(f"{class_path}.get_rice_paddy_terms", return_value=FLOODED_RICE_TERMS)
|
|
80
|
-
@patch(f"{class_path}.get_max_rooting_depth", return_value=0.9)
|
|
81
|
-
@patch(f"{class_path}._new_emission", side_effect=fake_new_emission)
|
|
82
|
-
def test_run_with_flooded_rice(*args):
|
|
83
|
-
with open(f"{fixtures_folder}/with-flooded-rice/cycle.jsonld", encoding='utf-8') as f:
|
|
84
|
-
cycle = json.load(f)
|
|
85
|
-
|
|
86
|
-
with open(f"{fixtures_folder}/with-flooded-rice/result.jsonld", encoding='utf-8') as f:
|
|
87
|
-
expected = json.load(f)
|
|
88
|
-
|
|
89
|
-
value = run(cycle)
|
|
90
|
-
assert value == expected
|
|
@@ -1,41 +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.stehfestBouwman2006.n2OToAirSoilFlux import MODEL, TERM_ID, run, _should_run, _get_value
|
|
6
|
-
|
|
7
|
-
class_path = f"hestia_earth.models.{MODEL}.{TERM_ID}"
|
|
8
|
-
fixtures_folder = f"{fixtures_path}/{MODEL}/{TERM_ID}"
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
@patch(f"{class_path}.find_primary_product", return_value={'@id': 'product'})
|
|
12
|
-
@patch(f"{class_path}._get_crop_crouping", return_value='Cereals')
|
|
13
|
-
@patch(f"{class_path}.get_crop_residue_decomposition_N_total", return_value=10)
|
|
14
|
-
@patch(f"{class_path}.most_relevant_measurement_value", return_value=0)
|
|
15
|
-
def test_should_run(mock_measurement, *args):
|
|
16
|
-
# no measurements => no run
|
|
17
|
-
cycle = {}
|
|
18
|
-
should_run, *args = _should_run(cycle)
|
|
19
|
-
assert not should_run
|
|
20
|
-
|
|
21
|
-
# with measurements => run
|
|
22
|
-
mock_measurement.return_value = 10
|
|
23
|
-
should_run, *args = _should_run(cycle)
|
|
24
|
-
assert should_run is True
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
def test_handle_overflow_error():
|
|
28
|
-
value = _get_value({}, [10, 10, 10, 10, 1, 'Other'], 10000000)
|
|
29
|
-
assert round(value) == 1131197
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
@patch(f"{class_path}._new_emission", side_effect=fake_new_emission)
|
|
33
|
-
def test_run(*args):
|
|
34
|
-
with open(f"{fixtures_folder}/cycle.jsonld", encoding='utf-8') as f:
|
|
35
|
-
cycle = json.load(f)
|
|
36
|
-
|
|
37
|
-
with open(f"{fixtures_folder}/result.jsonld", encoding='utf-8') as f:
|
|
38
|
-
expected = json.load(f)
|
|
39
|
-
|
|
40
|
-
value = run(cycle)
|
|
41
|
-
assert value == expected
|
|
@@ -1,40 +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.stehfestBouwman2006.noxToAirSoilFlux import MODEL, TERM_ID, run, _should_run, _get_value
|
|
6
|
-
|
|
7
|
-
class_path = f"hestia_earth.models.{MODEL}.{TERM_ID}"
|
|
8
|
-
fixtures_folder = f"{fixtures_path}/{MODEL}/{TERM_ID}"
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
@patch(f"{class_path}.get_crop_residue_decomposition_N_total", return_value=10)
|
|
12
|
-
@patch(f"{class_path}.most_relevant_measurement_value", return_value=0)
|
|
13
|
-
def test_should_run(mock_measurement, *args):
|
|
14
|
-
# no measurements => no run
|
|
15
|
-
cycle = {'inputs': [], 'measurements': []}
|
|
16
|
-
should_run, *args = _should_run(cycle)
|
|
17
|
-
assert not should_run
|
|
18
|
-
|
|
19
|
-
# with measurements => run
|
|
20
|
-
mock_measurement.return_value = 10
|
|
21
|
-
cycle['measurements'] = [{}]
|
|
22
|
-
should_run, *args = _should_run(cycle)
|
|
23
|
-
assert should_run is True
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
def test_handle_overflow_error():
|
|
27
|
-
value = _get_value({}, 1, 100, 10000000)
|
|
28
|
-
assert round(value) == 535554
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
@patch(f"{class_path}._new_emission", side_effect=fake_new_emission)
|
|
32
|
-
def test_run(*args):
|
|
33
|
-
with open(f"{fixtures_folder}/cycle.jsonld", encoding='utf-8') as f:
|
|
34
|
-
cycle = json.load(f)
|
|
35
|
-
|
|
36
|
-
with open(f"{fixtures_folder}/result.jsonld", encoding='utf-8') as f:
|
|
37
|
-
expected = json.load(f)
|
|
38
|
-
|
|
39
|
-
value = run(cycle)
|
|
40
|
-
assert value == expected
|
|
@@ -1,33 +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.stehfestBouwman2006GisImplementation.noxToAirSoilFlux import MODEL, TERM_ID, run, _should_run
|
|
6
|
-
|
|
7
|
-
class_path = f"hestia_earth.models.{MODEL}.{TERM_ID}"
|
|
8
|
-
fixtures_folder = f"{fixtures_path}/{MODEL}/{TERM_ID}"
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
@patch(f"{class_path}.get_crop_residue_decomposition_N_total", return_value=10)
|
|
12
|
-
def test_should_run(*args):
|
|
13
|
-
# no country => no run
|
|
14
|
-
cycle = {'inputs': [], 'site': {}}
|
|
15
|
-
should_run, *args = _should_run(cycle)
|
|
16
|
-
assert not should_run
|
|
17
|
-
|
|
18
|
-
# with country => run
|
|
19
|
-
cycle['site'] = {'country': {'@id': 'country'}}
|
|
20
|
-
should_run, *args = _should_run(cycle)
|
|
21
|
-
assert should_run is True
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
@patch(f"{class_path}._new_emission", side_effect=fake_new_emission)
|
|
25
|
-
def test_run(*args):
|
|
26
|
-
with open(f"{fixtures_folder}/cycle.jsonld", encoding='utf-8') as f:
|
|
27
|
-
cycle = json.load(f)
|
|
28
|
-
|
|
29
|
-
with open(f"{fixtures_folder}/result.jsonld", encoding='utf-8') as f:
|
|
30
|
-
expected = json.load(f)
|
|
31
|
-
|
|
32
|
-
value = run(cycle)
|
|
33
|
-
assert value == expected
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hestia_earth_models-0.64.12.dist-info → hestia_earth_models-0.64.13.dist-info}/top_level.txt
RENAMED
|
File without changes
|