hestia-earth-models 0.65.4__py3-none-any.whl → 0.65.5__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 (47) hide show
  1. hestia_earth/models/agribalyse2016/fuelElectricity.py +40 -24
  2. hestia_earth/models/aware/scarcityWeightedWaterUse.py +1 -1
  3. hestia_earth/models/chaudharyBrooks2018/damageToTerrestrialEcosystemsLandOccupation.py +1 -1
  4. hestia_earth/models/chaudharyBrooks2018/damageToTerrestrialEcosystemsLandTransformation.py +1 -1
  5. hestia_earth/models/chaudharyBrooks2018/damageToTerrestrialEcosystemsTotalLandUseEffects.py +1 -1
  6. hestia_earth/models/cycle/completeness/electricityFuel.py +4 -2
  7. hestia_earth/models/geospatialDatabase/precipitationAnnual.py +2 -2
  8. hestia_earth/models/geospatialDatabase/precipitationLongTermAnnualMean.py +2 -2
  9. hestia_earth/models/geospatialDatabase/precipitationMonthly.py +2 -2
  10. hestia_earth/models/geospatialDatabase/temperatureAnnual.py +2 -2
  11. hestia_earth/models/geospatialDatabase/temperatureLongTermAnnualMean.py +2 -2
  12. hestia_earth/models/geospatialDatabase/temperatureMonthly.py +2 -2
  13. hestia_earth/models/hestia/landCover.py +31 -46
  14. hestia_earth/models/hestia/landTransformation100YearAverageDuringCycle.py +49 -0
  15. hestia_earth/models/hestia/landTransformation20YearAverageDuringCycle.py +49 -0
  16. hestia_earth/models/hestia/resourceUse_utils.py +200 -0
  17. hestia_earth/models/hestia/seed_emissions.py +35 -21
  18. hestia_earth/models/hestia/utils.py +48 -0
  19. hestia_earth/models/impact_assessment/emissions.py +20 -5
  20. hestia_earth/models/ipcc2019/co2ToAirCarbonStockChange_utils.py +66 -28
  21. hestia_earth/models/ipcc2019/organicCarbonPerHa_tier_1_utils.py +26 -142
  22. hestia_earth/models/ipcc2019/organicCarbonPerHa_tier_2_utils.py +3 -3
  23. hestia_earth/models/ipcc2019/organicCarbonPerHa_utils.py +8 -5
  24. hestia_earth/models/linkedImpactAssessment/utils.py +3 -1
  25. hestia_earth/models/mocking/search-results.json +779 -763
  26. hestia_earth/models/pooreNemecek2018/freshwaterWithdrawalsDuringCycle.py +4 -1
  27. hestia_earth/models/schererPfister2015/nErosionSoilFlux.py +23 -14
  28. hestia_earth/models/schererPfister2015/pErosionSoilFlux.py +23 -15
  29. hestia_earth/models/schererPfister2015/utils.py +3 -5
  30. hestia_earth/models/utils/blank_node.py +28 -0
  31. hestia_earth/models/utils/fuel.py +4 -1
  32. hestia_earth/models/utils/impact_assessment.py +7 -5
  33. hestia_earth/models/utils/pesticideAI.py +1 -0
  34. hestia_earth/models/version.py +1 -1
  35. {hestia_earth_models-0.65.4.dist-info → hestia_earth_models-0.65.5.dist-info}/METADATA +2 -2
  36. {hestia_earth_models-0.65.4.dist-info → hestia_earth_models-0.65.5.dist-info}/RECORD +47 -41
  37. tests/models/hestia/test_landTransformation100YearAverageDuringCycle.py +30 -0
  38. tests/models/hestia/test_landTransformation20YearAverageDuringCycle.py +31 -0
  39. tests/models/ipcc2019/test_co2ToAirAboveGroundBiomassStockChange.py +3 -1
  40. tests/models/ipcc2019/test_co2ToAirBelowGroundBiomassStockChange.py +3 -1
  41. tests/models/ipcc2019/test_co2ToAirSoilOrganicCarbonStockChange.py +3 -1
  42. tests/models/ipcc2019/test_organicCarbonPerHa.py +3 -2
  43. tests/models/ipcc2019/test_organicCarbonPerHa_tier_1_utils.py +15 -11
  44. tests/models/utils/test_blank_node.py +22 -7
  45. {hestia_earth_models-0.65.4.dist-info → hestia_earth_models-0.65.5.dist-info}/LICENSE +0 -0
  46. {hestia_earth_models-0.65.4.dist-info → hestia_earth_models-0.65.5.dist-info}/WHEEL +0 -0
  47. {hestia_earth_models-0.65.4.dist-info → hestia_earth_models-0.65.5.dist-info}/top_level.txt +0 -0
@@ -66,7 +66,10 @@ def _run(impact_assessment: dict, product: dict, irrigation: float):
66
66
  conveyancing = _get_conveyancing_efficiency(impact_assessment, product)
67
67
  # convert from m3 to litre
68
68
  value = convert_value_from_cycle(
69
- product, irrigation / conveyancing * 1000 if irrigation > 0 else 0, model=MODEL, term_id=TERM_ID
69
+ impact_assessment,
70
+ product,
71
+ irrigation / conveyancing * 1000 if irrigation > 0 else 0,
72
+ model=MODEL, term_id=TERM_ID
70
73
  )
71
74
  debugValues(impact_assessment, model=MODEL, term=TERM_ID,
72
75
  value=value)
@@ -1,28 +1,36 @@
1
1
  from hestia_earth.schema import EmissionMethodTier
2
+ from hestia_earth.utils.tools import list_sum
2
3
 
3
4
  from hestia_earth.models.log import debugValues, logRequirements, logShouldRun
4
5
  from hestia_earth.models.utils.emission import _new_emission
5
6
  from hestia_earth.models.utils.measurement import most_relevant_measurement_value
6
- from .utils import get_pcorr, get_p_ef_c1, get_ef_p_c2, get_practice_factor, get_water, calculate_R, calculate_A
7
+ from .utils import get_pcorr, get_p_ef_c1, get_ef_p_c2, get_practice_factor, get_water_input, calculate_R, calculate_A
7
8
  from . import MODEL
8
9
 
9
10
  REQUIREMENTS = {
10
11
  "Cycle": {
11
12
  "endDate": "",
12
- "inputs": [
13
- {"@type": "Input", "value": "", "term.termType": "water"}
14
- ],
13
+ "or": {
14
+ "inputs": [
15
+ {"@type": "Input", "value": "> 0", "term.termType": "water"}
16
+ ],
17
+ "site": {
18
+ "@type": "Site",
19
+ "measurements": [
20
+ {"@type": "Measurement", "value": "> 0", "term.@id": "precipitationAnnual"}
21
+ ]
22
+ }
23
+ },
15
24
  "site": {
16
25
  "@type": "Site",
17
26
  "country": {"@type": "Term", "termType": "region"},
18
27
  "measurements": [
19
- {"@type": "Measurement", "value": "", "term.@id": "nutrientLossToAquaticEnvironment"},
20
- {"@type": "Measurement", "value": "", "term.@id": "heavyWinterPrecipitation"},
21
- {"@type": "Measurement", "value": "", "term.@id": "totalNitrogenPerKgSoil"},
22
- {"@type": "Measurement", "value": "", "term.@id": "precipitationAnnual"},
23
- {"@type": "Measurement", "value": "", "term.@id": "erodibility"},
24
- {"@type": "Measurement", "value": "", "term.@id": "slopeLength"},
25
- {"@type": "Measurement", "value": "", "term.@id": "slope"}
28
+ {"@type": "Measurement", "value": "> 0", "term.@id": "nutrientLossToAquaticEnvironment"},
29
+ {"@type": "Measurement", "value": "> 0", "term.@id": "heavyWinterPrecipitation"},
30
+ {"@type": "Measurement", "value": "> 0", "term.@id": "totalNitrogenPerKgSoil"},
31
+ {"@type": "Measurement", "value": "> 0", "term.@id": "erodibility"},
32
+ {"@type": "Measurement", "value": "> 0", "term.@id": "slopeLength"},
33
+ {"@type": "Measurement", "value": "> 0", "term.@id": "slope"}
26
34
  ]
27
35
  }
28
36
  }
@@ -82,7 +90,7 @@ def _should_run(cycle: dict):
82
90
  heavy_winter_precipitation = _get_measurement_content('heavyWinterPrecipitation')
83
91
 
84
92
  precipitation = _get_measurement_content('precipitationAnnual')
85
- water = get_water(cycle, precipitation)
93
+ inputs_water = get_water_input(cycle)
86
94
 
87
95
  practice_factor = get_practice_factor(TERM_ID, site)
88
96
  pcorr = get_pcorr(slope / 100) if slope is not None else None
@@ -92,7 +100,7 @@ def _should_run(cycle: dict):
92
100
  list_of_contents_for_A = [
93
101
  practice_factor, erodibility, slope_length,
94
102
  pcorr, p_ef_c1, ef_p_c2]
95
- list_of_contents_for_R = [heavy_winter_precipitation, water]
103
+ list_of_contents_for_R = [heavy_winter_precipitation, list_sum([(inputs_water or 0)/10, precipitation or 0])]
96
104
  list_of_contents_for_value = [nla_environment, soil_nitrogen_content]
97
105
 
98
106
  logRequirements(cycle, model=MODEL, term=TERM_ID,
@@ -104,7 +112,8 @@ def _should_run(cycle: dict):
104
112
  p_ef_c1=p_ef_c1,
105
113
  ef_p_c2=ef_p_c2,
106
114
  heavy_winter_precipitation=heavy_winter_precipitation,
107
- water=water,
115
+ inputs_water=inputs_water,
116
+ precipitationAnnual=precipitation,
108
117
  nla_environment=nla_environment,
109
118
  soil_nitrogen_content=soil_nitrogen_content)
110
119
 
@@ -1,29 +1,36 @@
1
1
  from hestia_earth.schema import EmissionMethodTier
2
+ from hestia_earth.utils.tools import list_sum
2
3
 
3
4
  from hestia_earth.models.log import debugValues, logRequirements, logShouldRun
4
5
  from hestia_earth.models.utils.emission import _new_emission
5
6
  from hestia_earth.models.utils.measurement import most_relevant_measurement_value
6
- from .utils import get_pcorr, get_p_ef_c1, get_ef_p_c2, get_practice_factor, get_water, calculate_R, calculate_A
7
+ from .utils import get_pcorr, get_p_ef_c1, get_ef_p_c2, get_practice_factor, get_water_input, calculate_R, calculate_A
7
8
  from . import MODEL
8
9
 
9
10
  REQUIREMENTS = {
10
11
  "Cycle": {
11
12
  "endDate": "",
12
- "inputs": [
13
- {"@type": "Input", "value": "", "term.termType": "water"}
14
- ],
13
+ "or": {
14
+ "inputs": [
15
+ {"@type": "Input", "value": "> 0", "term.termType": "water"}
16
+ ],
17
+ "site": {
18
+ "@type": "Site",
19
+ "measurements": [
20
+ {"@type": "Measurement", "value": "> 0", "term.@id": "precipitationAnnual"}
21
+ ]
22
+ }
23
+ },
15
24
  "site": {
16
25
  "@type": "Site",
17
26
  "country": {"@type": "Term", "termType": "region"},
18
27
  "measurements": [
19
- {"@type": "Measurement", "value": "", "term.@id": "nutrientLossToAquaticEnvironment"},
20
- {"@type": "Measurement", "value": "", "term.@id": "heavyWinterPrecipitation"},
21
- {"@type": "Measurement", "value": "", "term.@id": "totalPhosphorusPerKgSoil"},
22
- {"@type": "Measurement", "value": "", "term.@id": "totalNitrogenPerKgSoil"},
23
- {"@type": "Measurement", "value": "", "term.@id": "precipitationAnnual"},
24
- {"@type": "Measurement", "value": "", "term.@id": "erodibility"},
25
- {"@type": "Measurement", "value": "", "term.@id": "slopeLength"},
26
- {"@type": "Measurement", "value": "", "term.@id": "slope"}
28
+ {"@type": "Measurement", "value": "> 0", "term.@id": "nutrientLossToAquaticEnvironment"},
29
+ {"@type": "Measurement", "value": "> 0", "term.@id": "heavyWinterPrecipitation"},
30
+ {"@type": "Measurement", "value": "> 0", "term.@id": "totalPhosphorusPerKgSoil"},
31
+ {"@type": "Measurement", "value": "> 0", "term.@id": "erodibility"},
32
+ {"@type": "Measurement", "value": "> 0", "term.@id": "slopeLength"},
33
+ {"@type": "Measurement", "value": "> 0", "term.@id": "slope"}
27
34
  ]
28
35
  }
29
36
  }
@@ -83,7 +90,7 @@ def _should_run(cycle: dict):
83
90
  heavy_winter_precipitation = _get_measurement_content('heavyWinterPrecipitation')
84
91
 
85
92
  precipitation = _get_measurement_content('precipitationAnnual')
86
- water = get_water(cycle, precipitation)
93
+ inputs_water = get_water_input(cycle)
87
94
 
88
95
  practice_factor = get_practice_factor(TERM_ID, site)
89
96
  pcorr = get_pcorr(slope / 100) if slope is not None else None
@@ -93,7 +100,7 @@ def _should_run(cycle: dict):
93
100
  list_of_contents_for_A = [
94
101
  practice_factor, erodibility, slope_length,
95
102
  pcorr, p_ef_c1, ef_p_c2]
96
- list_of_contents_for_R = [heavy_winter_precipitation, water]
103
+ list_of_contents_for_R = [heavy_winter_precipitation, list_sum([(inputs_water or 0)/10, precipitation or 0])]
97
104
  list_of_contents_for_value = [nla_environment, soil_phosphorus_content]
98
105
 
99
106
  logRequirements(cycle, model=MODEL, term=TERM_ID,
@@ -105,7 +112,8 @@ def _should_run(cycle: dict):
105
112
  p_ef_c1=p_ef_c1,
106
113
  ef_p_c2=ef_p_c2,
107
114
  heavy_winter_precipitation=heavy_winter_precipitation,
108
- water=water,
115
+ inputs_water=inputs_water,
116
+ precipitationAnnual=precipitation,
109
117
  nla_environment=nla_environment,
110
118
  soil_phosphorus_content=soil_phosphorus_content)
111
119
 
@@ -64,11 +64,9 @@ def get_ef_p_c2(term_id: str, cycle: dict):
64
64
  get_lookup_value(country, 'EF_P_C2', model=MODEL, term=term_id), None)
65
65
 
66
66
 
67
- def get_water(cycle: dict, precipitation: float):
68
- inputs = cycle.get('inputs', [])
69
- filter_irrigation = filter_list_term_type(inputs, TermTermType.WATER)
70
- irrigation = list_sum(get_total_value(filter_irrigation))
71
- return list_sum([irrigation/10, precipitation or 0])
67
+ def get_water_input(cycle: dict):
68
+ inputs_water = filter_list_term_type(cycle.get('inputs', []), TermTermType.WATER)
69
+ return list_sum(get_total_value(inputs_water), default=None)
72
70
 
73
71
 
74
72
  def calculate_R(heavy_winter_precipitation: bool, water: float):
@@ -663,6 +663,7 @@ DATESTR_FORMAT_TO_EXPECTED_LENGTH = {
663
663
 
664
664
  DatestrGapfillMode = Enum("DatestrGapfillMode", [
665
665
  "START",
666
+ "MIDDLE",
666
667
  "END"
667
668
  ])
668
669
  """
@@ -738,8 +739,25 @@ def _gapfill_datestr_end(datestr: str, format: DatestrFormat) -> str:
738
739
  return datestr + completion_str[len(datestr):]
739
740
 
740
741
 
742
+ def _gapfill_datestr_middle(datestr: str, format: DatestrFormat) -> str:
743
+ """
744
+ Gap-fill an incomplete datestr with the middle value, halfway between the latest and earliest values.
745
+ """
746
+ start_date_obj = datetime.strptime(
747
+ _gapfill_datestr_start(datestr),
748
+ DatestrFormat.YEAR_MONTH_DAY_HOUR_MINUTE_SECOND.value
749
+ )
750
+ end_date_obj = datetime.strptime(
751
+ _gapfill_datestr_end(datestr, format=format),
752
+ DatestrFormat.YEAR_MONTH_DAY_HOUR_MINUTE_SECOND.value
753
+ )
754
+ middle_date = start_date_obj + (end_date_obj - start_date_obj) / 2
755
+ return datetime.strftime(middle_date, DatestrFormat.YEAR_MONTH_DAY_HOUR_MINUTE_SECOND.value)
756
+
757
+
741
758
  DATESTR_GAPFILL_MODE_TO_GAPFILL_FUNCTION = {
742
759
  DatestrGapfillMode.START: _gapfill_datestr_start,
760
+ DatestrGapfillMode.MIDDLE: _gapfill_datestr_middle,
743
761
  DatestrGapfillMode.END: _gapfill_datestr_end
744
762
  }
745
763
 
@@ -757,6 +775,16 @@ def _gapfill_datestr(datestr: str, mode: DatestrGapfillMode = DatestrGapfillMode
757
775
  return DATESTR_GAPFILL_MODE_TO_GAPFILL_FUNCTION[mode](_datestr, format) if should_run else _datestr
758
776
 
759
777
 
778
+ def _str_dates_match(date_str_one: str, date_str_two: str, mode=DatestrGapfillMode.END) -> bool:
779
+ """
780
+ Comparison of non-gap-filled string dates.
781
+ example: For end dates, '2010' would match '2010-12-31', but not '2010-01-01'
782
+ """
783
+ return (
784
+ _gapfill_datestr(datestr=date_str_one, mode=mode) == _gapfill_datestr(datestr=date_str_two, mode=mode)
785
+ )
786
+
787
+
760
788
  def _datetime_within_range(datetime: datetime, range: DatetimeRange) -> bool:
761
789
  """
762
790
  Determine whether or not a `datetime` falls within a `DatetimeRange`.
@@ -13,7 +13,10 @@ def impact_lookup_value(model: str, term_id: str, impact_assessment: dict, looku
13
13
  fuels = filter_list_term_type(cycle.get('inputs', []), TermTermType.FUEL)
14
14
  has_fuels_inputs = len(fuels) > 0
15
15
  fuels_total_value = convert_value_from_cycle(
16
- product, cycle_lookup_value(model, term_id, cycle, fuels, lookup_col), model=model, term_id=term_id
16
+ impact_assessment,
17
+ product,
18
+ cycle_lookup_value(model, term_id, cycle, fuels, lookup_col),
19
+ model=model, term_id=term_id
17
20
  ) if has_fuels_inputs else None
18
21
  logRequirements(impact_assessment, model=model, term=term_id,
19
22
  term_type_electricityFuel_complete=fuel_complete,
@@ -4,7 +4,7 @@ from hestia_earth.utils.lookup import download_lookup
4
4
  from hestia_earth.utils.model import find_term_match, filter_list_term_type
5
5
  from hestia_earth.utils.tools import list_sum, safe_parse_date
6
6
 
7
- from hestia_earth.models.log import logRequirements, debugValues, log_as_table
7
+ from hestia_earth.models.log import debugValues, log_as_table
8
8
  from .lookup import all_factor_value, _term_factor_value, _aware_factor_value, fallback_country
9
9
  from .product import find_by_product
10
10
  from .site import region_level_1_id
@@ -244,13 +244,15 @@ def emission_value(impact_assessment: dict, term_id: str):
244
244
  return find_term_match(impact_assessment.get('emissionsResourceUse', []), term_id).get('value')
245
245
 
246
246
 
247
- def convert_value_from_cycle(product: dict, value: float, default=None, model: str = None, term_id: str = None):
247
+ def convert_value_from_cycle(
248
+ log_node: dict, product: dict, value: float, default=None, model: str = None, term_id: str = None
249
+ ):
248
250
  pyield = list_sum(product.get('value', [])) if product else 0
249
251
  economic_value = product.get('economicValueShare') if product else 0
250
252
 
251
- logRequirements({}, model=model, term=term_id,
252
- product_yield=pyield,
253
- economicValueShare=economic_value)
253
+ debugValues(log_node, model=model, term=term_id,
254
+ product_yield=pyield,
255
+ economicValueShare=economic_value)
254
256
 
255
257
  return (value / pyield) * economic_value / 100 if all([
256
258
  value is not None, pyield > 0, economic_value
@@ -22,6 +22,7 @@ def impact_lookup_value(model: str, term_id: str, impact_assessment: dict, looku
22
22
  get_pesticides_from_inputs(cycle)
23
23
  has_pesticides_inputs = len(pesticides) > 0
24
24
  pesticides_total_value = convert_value_from_cycle(
25
+ log_node=impact_assessment,
25
26
  product=product,
26
27
  value=cycle_lookup_value(model, term_id, cycle, pesticides, lookup_col),
27
28
  default=None,
@@ -1 +1 @@
1
- VERSION = '0.65.4'
1
+ VERSION = '0.65.5'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hestia-earth-models
3
- Version: 0.65.4
3
+ Version: 0.65.5
4
4
  Summary: HESTIA's set of modules for filling gaps in the activity data using external datasets (e.g. populating soil properties with a geospatial dataset using provided coordinates) and internal lookups (e.g. populating machinery use from fuel use). Includes rules for when gaps should be filled versus not (e.g. never gap fill yield, gap fill crop residue if yield provided etc.).
5
5
  Home-page: https://gitlab.com/hestia-earth/hestia-engine-models
6
6
  Author: HESTIA Team
@@ -12,7 +12,7 @@ Classifier: Programming Language :: Python :: 3.6
12
12
  Description-Content-Type: text/markdown
13
13
  License-File: LICENSE
14
14
  Requires-Dist: hestia-earth-schema==30.*
15
- Requires-Dist: hestia-earth-utils>=0.13.12
15
+ Requires-Dist: hestia-earth-utils>=0.13.14
16
16
  Requires-Dist: python-dateutil>=2.8.1
17
17
  Requires-Dist: CurrencyConverter==0.16.8
18
18
  Requires-Dist: haversine>=2.7.0
@@ -4,9 +4,9 @@ hestia_earth/models/cache_sites.py,sha256=Llo2SH1Lp-R8x1JRxJ2Ta-vw5RbdUj2FHXUP-c
4
4
  hestia_earth/models/log.py,sha256=_zAfyOkL_VknEnMFvcpvenSMghadlDfZhiSx28545Gk,3558
5
5
  hestia_earth/models/preload_requests.py,sha256=vK_G1UzhNMhYy7ymnCtHUz_vv3cfApCSKqv29VREEBQ,1943
6
6
  hestia_earth/models/requirements.py,sha256=eU4yT443fx7BnaokhrLB_PCizJI7Y6m4auyo8vQauNg,17363
7
- hestia_earth/models/version.py,sha256=EEisiv1fbGHPaks82hvTdHzqEDCaM-JHsreZadXfBFM,19
7
+ hestia_earth/models/version.py,sha256=FC1vYE-igSWHH_kAACO4-kmSuUUvTiLpGWVaBEvQW50,19
8
8
  hestia_earth/models/agribalyse2016/__init__.py,sha256=WvK0qCQbnYtg9oZxrACd1wGormZyXibPtpCnIQeDqbw,415
9
- hestia_earth/models/agribalyse2016/fuelElectricity.py,sha256=EjDmNYb8ccfOIsA5-bXZvrBLQV85m0hDleiy5q-rLOQ,4142
9
+ hestia_earth/models/agribalyse2016/fuelElectricity.py,sha256=rm5ZaRAzJ08m2y4BxkGh-RjudkDWgozmg3XumoRm-fQ,4511
10
10
  hestia_earth/models/agribalyse2016/machineryInfrastructureDepreciatedAmountPerCycle.py,sha256=BPjnWmg73i_OxM2ouCdMTWZtPIqyoUAXrvutntyteE0,3390
11
11
  hestia_earth/models/akagiEtAl2011AndIpcc2006/__init__.py,sha256=WK7xQwUPX48JGqZeb2S2EKdtXuxMjY7HYyUFHItUqUo,425
12
12
  hestia_earth/models/akagiEtAl2011AndIpcc2006/ch4ToAirCropResidueBurning.py,sha256=Mea3L8blwJpRzzJHIMJH71Pn93gz1M2KN2pb43tGBfs,1642
@@ -15,16 +15,16 @@ hestia_earth/models/akagiEtAl2011AndIpcc2006/nh3ToAirCropResidueBurning.py,sha25
15
15
  hestia_earth/models/akagiEtAl2011AndIpcc2006/noxToAirCropResidueBurning.py,sha256=Drsob8QtbGpCddmjB3lXm8SJF9e2xkhIx4woa0wnu4g,1642
16
16
  hestia_earth/models/akagiEtAl2011AndIpcc2006/utils.py,sha256=aHsit7ezqCE-RfRmZX19kdYN9nmAVFqFfjAH9bXA4cA,633
17
17
  hestia_earth/models/aware/__init__.py,sha256=F8XRo9nRiX-fHAqyeMARYtFmJWRPs-hnIaCiHcZhyMw,406
18
- hestia_earth/models/aware/scarcityWeightedWaterUse.py,sha256=iTmjr_r_Zc2u1w6wjC6Ry_TxqkWibIKwGbSrceNUX_E,4551
18
+ hestia_earth/models/aware/scarcityWeightedWaterUse.py,sha256=W_C4uudER4NPUDaXCK2BS3FC-j2xjBr4gwYw3T5g4bE,4570
19
19
  hestia_earth/models/blonkConsultants2016/__init__.py,sha256=jJhYkwblgQZRg3QOERBZfl4Nw9szPn-Mljz7KMWlXXM,421
20
20
  hestia_earth/models/blonkConsultants2016/ch4ToAirNaturalVegetationBurning.py,sha256=i9hPs8w3MTbo-3oio-vIkLeQ9VApKrhfNVihsmL8ZUA,3065
21
21
  hestia_earth/models/blonkConsultants2016/co2ToAirAboveGroundBiomassStockChangeLandUseChange.py,sha256=h3l6l6t950dPYkz-vj4w_MGHLwW4CTwH_l5eXlA1u5A,3006
22
22
  hestia_earth/models/blonkConsultants2016/n2OToAirNaturalVegetationBurningDirect.py,sha256=qU7FRqYJm47olbUY239YHhdn2OkMQ_GTDP5O27VTlmY,3071
23
23
  hestia_earth/models/blonkConsultants2016/utils.py,sha256=hmPnzJLmFgZvdzkk6Au2euglrvCGtCWtjM8w0rYQHr4,1517
24
24
  hestia_earth/models/chaudharyBrooks2018/__init__.py,sha256=LKxQu7-6gyWPpdXaYHDTawzsBNm7CpDrk98I5_TTLhA,420
25
- hestia_earth/models/chaudharyBrooks2018/damageToTerrestrialEcosystemsLandOccupation.py,sha256=8l0CQp_mf37s4TY1U8nUEf8L6vFZbqBFjMFW77oBqLA,3918
26
- hestia_earth/models/chaudharyBrooks2018/damageToTerrestrialEcosystemsLandTransformation.py,sha256=_Xs3FBjOrK-_bSTtNKyYF1FNjoIYEBpwYNfiV3yEQGs,3255
27
- hestia_earth/models/chaudharyBrooks2018/damageToTerrestrialEcosystemsTotalLandUseEffects.py,sha256=YLiwYlh3FM_aoLe26oDTYUHcFhWFHV6KjvlAprQlFo4,2604
25
+ hestia_earth/models/chaudharyBrooks2018/damageToTerrestrialEcosystemsLandOccupation.py,sha256=51SJaslhXtbtpWDO5DJYTDFWCGE5gFCpllZ06-pWg64,3937
26
+ hestia_earth/models/chaudharyBrooks2018/damageToTerrestrialEcosystemsLandTransformation.py,sha256=s2KB3cJrQnwnPOFcS0ZwpWAIHUdZgc21amTITgy8y4o,3274
27
+ hestia_earth/models/chaudharyBrooks2018/damageToTerrestrialEcosystemsTotalLandUseEffects.py,sha256=11H8j9i2h2zChea92CdzPodWZfdegkAnQx6qYC6Ym9A,2623
28
28
  hestia_earth/models/chaudharyBrooks2018/utils.py,sha256=Z0IrvVv-dKsRt09LmT7sc6e1bWnhjZ-WBrO-namIngo,1539
29
29
  hestia_earth/models/cml2001Baseline/__init__.py,sha256=0uGrCKDNUH-MUkpvts9MyPMnZKao-M03gU8uKquUozQ,416
30
30
  hestia_earth/models/cml2001Baseline/abioticResourceDepletionFossilFuels.py,sha256=dpAnytPCO8FfCFbJ9CuplsZqvkZabYdmHDd-L8WMZPs,7919
@@ -80,7 +80,7 @@ hestia_earth/models/cycle/animal/input/properties.py,sha256=8hqVh4AtW4ZBo3z0mz93
80
80
  hestia_earth/models/cycle/completeness/__init__.py,sha256=bQ-tpeCbUsIdSPGla06Mg2IZWpGp7TgWXlgZTYeLsKk,1512
81
81
  hestia_earth/models/cycle/completeness/animalFeed.py,sha256=8Fo1TqwSuiPudvd2vJ-LVxSyOdD8mDCOZMvjuj5W2uo,1012
82
82
  hestia_earth/models/cycle/completeness/cropResidue.py,sha256=Jpmm5SAiyUkaFp8EsBIQ55jiCyn3C20a3au_zaPRnEk,2837
83
- hestia_earth/models/cycle/completeness/electricityFuel.py,sha256=FWG8EuOPubTLDc3jMJv6NdFCgG0wOVgxv-5P9wA7Nys,2044
83
+ hestia_earth/models/cycle/completeness/electricityFuel.py,sha256=uEXMyfMCvvZKD3jcQGAIZOv1cZLrhpXZiyCn_56kxig,2125
84
84
  hestia_earth/models/cycle/completeness/excreta.py,sha256=2yVxcuWjAh4hoEukaMJ90VZpkCL7SfpwIgzigbjVaF4,996
85
85
  hestia_earth/models/cycle/completeness/freshForage.py,sha256=MORlqhTZT67TWgH9Zu1aPHxBXIU4JSmjaV6uzSqKnc8,1973
86
86
  hestia_earth/models/cycle/completeness/material.py,sha256=UQH2oRnUY-Q-_MVuOlTAYqQxc7wWDM5mi_iFmp9PlIQ,1362
@@ -178,18 +178,18 @@ hestia_earth/models/geospatialDatabase/organicCarbonPerKgSoil.py,sha256=O_3GdoyY
178
178
  hestia_earth/models/geospatialDatabase/potentialEvapotranspirationAnnual.py,sha256=UlCBvAD-6H-4sdryfPuX1YDlOsGPOI8T9y0q4O0Tau8,2544
179
179
  hestia_earth/models/geospatialDatabase/potentialEvapotranspirationLongTermAnnualMean.py,sha256=YywD9wCkGFF1q60LocXNvLr-tQ2_9km2PrVnXRgN83E,2125
180
180
  hestia_earth/models/geospatialDatabase/potentialEvapotranspirationMonthly.py,sha256=3VmoobXfTVP77vyBrxkplTToe3RnLeTrNStA2r6sdzY,3357
181
- hestia_earth/models/geospatialDatabase/precipitationAnnual.py,sha256=8_lMKVUPClnp7tetHrsoUY2ZGG2J7c-cXqJD8rznp0Q,2803
182
- hestia_earth/models/geospatialDatabase/precipitationLongTermAnnualMean.py,sha256=fS5knfil5f2QP8-gxFdXuoGTxXpzoJQZ9h4UjWIWjCA,2376
183
- hestia_earth/models/geospatialDatabase/precipitationMonthly.py,sha256=D2HNR7cIP2Dd47uxmXp6p_wPhmxR6i-4trX83WpH3z4,3407
181
+ hestia_earth/models/geospatialDatabase/precipitationAnnual.py,sha256=4u4wipbSZpH_CNQh3eivSjyN2Ll58WsD6KboYZr-twk,2817
182
+ hestia_earth/models/geospatialDatabase/precipitationLongTermAnnualMean.py,sha256=wZ_QprRT9ILSNpiUhPdKtTERUsGofQT1kqUaHuJjDOs,2390
183
+ hestia_earth/models/geospatialDatabase/precipitationMonthly.py,sha256=Ah_WE2UMST9pB_M2BwN2i9nqEEv_bsNKe921cJJv83E,3421
184
184
  hestia_earth/models/geospatialDatabase/region.py,sha256=rdywdsI4OglcO05tih0UQx0qbnm8BAn7mP-x74iV03c,1462
185
185
  hestia_earth/models/geospatialDatabase/sandContent.py,sha256=dzaefKcnMeBRu7b1X11MG_-I6iDuXkHVCrkdbawB3Tw,3386
186
186
  hestia_earth/models/geospatialDatabase/siltContent.py,sha256=rFUlQ3SlwCJFcMYQd5F6t3bnDMjcRilsXk2rShoa5Tk,3786
187
187
  hestia_earth/models/geospatialDatabase/slope.py,sha256=g1SpuYks60injv2w-CMjESNfu8KM1JsiYnRT9XZfSuY,1859
188
188
  hestia_earth/models/geospatialDatabase/slopeLength.py,sha256=6pGr1qR0EiiUKkeflpYut7eI6UsnXAzHDoHhAzXKFJk,1864
189
189
  hestia_earth/models/geospatialDatabase/soilPh.py,sha256=f-jZhIpbsVDe_lGm0rfA7K0vRRTy0M5adKA-_-W11LU,2799
190
- hestia_earth/models/geospatialDatabase/temperatureAnnual.py,sha256=UCTr8zvz9AH13nd-ynqjYZ1gABn8cw5PHXS29SzbhyE,2712
191
- hestia_earth/models/geospatialDatabase/temperatureLongTermAnnualMean.py,sha256=j5vsDYZeEQYqgOzBGepD5oGFtRvjhk__uZ7ux37gapQ,2229
192
- hestia_earth/models/geospatialDatabase/temperatureMonthly.py,sha256=hJjbnTgefBtRwL5IJHaaPFtRvzTDv7l5nDI8vdadMCg,3353
190
+ hestia_earth/models/geospatialDatabase/temperatureAnnual.py,sha256=GwFhZjAdoYnP4X97Wi8AMri2pImhwB6UnMY_3gterDc,2713
191
+ hestia_earth/models/geospatialDatabase/temperatureLongTermAnnualMean.py,sha256=ypQbdbily63m_B7t7_aTaJ8RN9gzzauHeZTFDgFhlds,2230
192
+ hestia_earth/models/geospatialDatabase/temperatureMonthly.py,sha256=BLzWaFw4PXkjAK3MC1kVMT1kai4Cv9tEak_CuANTo5k,3354
193
193
  hestia_earth/models/geospatialDatabase/totalNitrogenPerKgSoil.py,sha256=DrjiPyakM1SJ1XO-arhvjLDj2qb3M-i58gJ1kFFM6kI,2821
194
194
  hestia_earth/models/geospatialDatabase/totalPhosphorusPerKgSoil.py,sha256=5oasLMYgfnPwSse0D8EEe_pV57AMusac853BgVSUh5E,2070
195
195
  hestia_earth/models/geospatialDatabase/utils.py,sha256=RAmdiv2WTKzdiCF1c2KjNoE5v7EjOdO-ZEJdJfi8rB0,6419
@@ -200,11 +200,15 @@ hestia_earth/models/haversineFormula/__init__.py,sha256=o155nR-XI67iCSBVNYIu4sPR
200
200
  hestia_earth/models/haversineFormula/transport/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
201
201
  hestia_earth/models/haversineFormula/transport/distance.py,sha256=163KrmKzlEQuKYT1ZvpPgmKlv_-mmvxp0A1_uKya99w,4203
202
202
  hestia_earth/models/hestia/__init__.py,sha256=o5vAmPzSaK9XPgL8GCne3-lugfCOgZhHELYolNgqyyY,407
203
- hestia_earth/models/hestia/landCover.py,sha256=odmRx30UhT_MyOj5jIVtsmLsTcxqC4l-QkCXae_MQEo,28105
204
- hestia_earth/models/hestia/seed_emissions.py,sha256=B8n8M2RaVfCHHb80rGoQUw8vqmd4crdOdj4ubGBc1gQ,10860
203
+ hestia_earth/models/hestia/landCover.py,sha256=qWTZ16E1qntPkzmabtMzezayUqIjIg8TNz-Lovh7UKU,27589
204
+ hestia_earth/models/hestia/landTransformation100YearAverageDuringCycle.py,sha256=-7ToRvCVPD6AAcjxorPS5jSWio7JAglHrdSS9PPyPqQ,1551
205
+ hestia_earth/models/hestia/landTransformation20YearAverageDuringCycle.py,sha256=TCskVLhYXBMxdeZM-gN4Tdixk5ua7eVn-o5dfIT_H7o,1543
206
+ hestia_earth/models/hestia/resourceUse_utils.py,sha256=1ySn4d-qkDeU8Ss_80l-uOypPoWsmDsqnS6IM8wkI34,7113
207
+ hestia_earth/models/hestia/seed_emissions.py,sha256=58hmHAgemOuGVIsij-FWF7EsGmEbCSfzFAEfXkXSyEE,11566
208
+ hestia_earth/models/hestia/utils.py,sha256=meymdvm0KZRLYGWeBLSv7QDn6tJHwM8jN8YB6gnwTqU,1537
205
209
  hestia_earth/models/impact_assessment/__init__.py,sha256=gTR_PhWps593fPhm-V826VLLrZVH8CNQTqxExB7GGNI,418
206
210
  hestia_earth/models/impact_assessment/allocationMethod.py,sha256=Qz41nTtMpDCcPy7PjhVtafE13dfJLX_D3Rg3yNhdY_Q,1279
207
- hestia_earth/models/impact_assessment/emissions.py,sha256=mJsTasM-5AFtZeKzQ9Q38SDLcnl_lQwfjQ52ro2Pjmg,3444
211
+ hestia_earth/models/impact_assessment/emissions.py,sha256=oHWXFZgvxYktH6gAawEjphyLtPCmH0FWt_mDwphc2I8,4394
208
212
  hestia_earth/models/impact_assessment/irrigated.py,sha256=qopAYbD91uu1Q2hJ3aB5Xl3br2Nzh7LoMTRCFOXmOv0,783
209
213
  hestia_earth/models/impact_assessment/organic.py,sha256=vgY-Wwt_gE6t2EQSFDY6XvDjI0TXb7YeMxH7gty-u6Q,759
210
214
  hestia_earth/models/impact_assessment/post_checks/__init__.py,sha256=rkHO4Z3Zz8LCT1OoDgHmUuGURvXsdzh2nQqgU2M4tjU,304
@@ -248,7 +252,7 @@ hestia_earth/models/ipcc2019/ch4ToAirExcreta.py,sha256=WnKmSQSqr1Jv7_95DLgtufPYG
248
252
  hestia_earth/models/ipcc2019/ch4ToAirFloodedRice.py,sha256=TJ4J7VA5n4RPrJYZQeR3lc3ZoCw7T1E5Cb1XJewr834,7331
249
253
  hestia_earth/models/ipcc2019/co2ToAirAboveGroundBiomassStockChange.py,sha256=s0zViR8Ab_b_sMDwMzopN4SAWdm6wpzGs-Hf_TtWaiw,6641
250
254
  hestia_earth/models/ipcc2019/co2ToAirBelowGroundBiomassStockChange.py,sha256=trinj_A8H6H_zMaQMjYXcBePvjDKXhbqmIpeet0lW6g,6691
251
- hestia_earth/models/ipcc2019/co2ToAirCarbonStockChange_utils.py,sha256=PDjwK_mCel5V-zk8Gz_bwxlI8sqmWOy2gqZYEy3FjeQ,55681
255
+ hestia_earth/models/ipcc2019/co2ToAirCarbonStockChange_utils.py,sha256=2-Gf9uz20i4lQ5ALJ9KbHrR3EX0mPED2M11aNTZejBw,57772
252
256
  hestia_earth/models/ipcc2019/co2ToAirLimeHydrolysis.py,sha256=7z0zdqiiWQwkyJCgSNMoK2mft3cJkTRlqwKrMuSKdWI,2454
253
257
  hestia_earth/models/ipcc2019/co2ToAirSoilOrganicCarbonStockChange.py,sha256=UQjmccUsKxsycG_htbD1-T2xw6AklKqIR3u8KIMGBOY,6709
254
258
  hestia_earth/models/ipcc2019/co2ToAirUreaHydrolysis.py,sha256=Ofld5SuRKndcKB3FFFoUdzSgNq-gc4kmiNyyrPKQ3Io,3580
@@ -272,9 +276,9 @@ hestia_earth/models/ipcc2019/no3ToGroundwaterOrganicFertiliser.py,sha256=px2SN-u
272
276
  hestia_earth/models/ipcc2019/noxToAirInorganicFertiliser.py,sha256=fmmFgjtvOD2TrrLY03jYly_KvDnCsAXqhL_tmZQQt-A,4480
273
277
  hestia_earth/models/ipcc2019/noxToAirOrganicFertiliser.py,sha256=9dx_MRTwJGxJRq6mj2EJQMdQ2w6j7lw0fQk0If_cIGc,4152
274
278
  hestia_earth/models/ipcc2019/organicCarbonPerHa.py,sha256=C9ef41fd-gYixEV3sTs9VMHHdnSZJ14kbEEmMG116hY,8653
275
- hestia_earth/models/ipcc2019/organicCarbonPerHa_tier_1_utils.py,sha256=OHHfDlvE4zWlNXi54tFz0P40H8YhvZsWcfQUrhl3W-Y,81837
276
- hestia_earth/models/ipcc2019/organicCarbonPerHa_tier_2_utils.py,sha256=RbQ8Zq20i24p4lR3jUeNewBwzOieHx6Jdq24B7MpFRc,63361
277
- hestia_earth/models/ipcc2019/organicCarbonPerHa_utils.py,sha256=12p4jUDggGoGelC9XGaeIIaqu2bbkugswq4aFmCPPq8,9734
279
+ hestia_earth/models/ipcc2019/organicCarbonPerHa_tier_1_utils.py,sha256=hgMh3p7tflTo06LJjAkoz8btrl8Rc6lYYvZp1ooJIaI,76214
280
+ hestia_earth/models/ipcc2019/organicCarbonPerHa_tier_2_utils.py,sha256=e2O4yZ9bCJWMPQ8s-DEwnaDImGGCnpJya6SO0tWy0RY,63367
281
+ hestia_earth/models/ipcc2019/organicCarbonPerHa_utils.py,sha256=FFcjdkYq5NJwAu4bWZJUao4MoDHvgbXmXCnUNKD-a3w,9842
278
282
  hestia_earth/models/ipcc2019/pastureGrass.py,sha256=Hhm9szzsL3otuo-V6fQ_cNyDbG0dlubr4-1L4WefbDE,10304
279
283
  hestia_earth/models/ipcc2019/pastureGrass_utils.py,sha256=nL31uS3c77PH_5nA2E2MvB1NS2mMvhD341taGl5YWNE,13842
280
284
  hestia_earth/models/ipcc2019/utils.py,sha256=MSDMu15D9DnilFUgi4_6jYXC0FaKso3OODauGTMB6hs,6229
@@ -391,18 +395,18 @@ hestia_earth/models/linkedImpactAssessment/freshwaterWithdrawalsInputsProduction
391
395
  hestia_earth/models/linkedImpactAssessment/landOccupationInputsProduction.py,sha256=M1_QXTxCdWccXPaO7YjOtBa6WkmiQj3Xs89lYIUrM7w,1141
392
396
  hestia_earth/models/linkedImpactAssessment/landTransformation100YearAverageInputsProduction.py,sha256=IqQ76I05IC79g2GXY91iWFqEeXk8Fhw-hcrifCaAbiI,1228
393
397
  hestia_earth/models/linkedImpactAssessment/landTransformation20YearAverageInputsProduction.py,sha256=yHGyhabzKdBIPSGciJ_LJPKvHbTECXDx8dGOgmT1eqM,1225
394
- hestia_earth/models/linkedImpactAssessment/utils.py,sha256=RYmvNw147CYGbt8drv4vWZNqwRlT3vOWkadussAfnKY,4459
398
+ hestia_earth/models/linkedImpactAssessment/utils.py,sha256=S1zlux02gU2Lajrtoq-zQpICv7hagZb3s-bnCHEdMCM,4500
395
399
  hestia_earth/models/mocking/__init__.py,sha256=9VX50c-grz-snfd-7MBS0KfF7AadtbKuj7kK6PqtsgE,687
396
400
  hestia_earth/models/mocking/build_mock_search.py,sha256=p15ccEUmkmLp1RiGNznxMz3OFHbI8P1-29ExuohiQN8,1355
397
401
  hestia_earth/models/mocking/mock_search.py,sha256=ccFe_WrI73JElFmxp4hPNLCX7eeU--lBC1JFR901KJY,1069
398
- hestia_earth/models/mocking/search-results.json,sha256=GuQjDA_voZXB26tGPiBB1I_brcgKIleLiC2hUTu23mI,101696
402
+ hestia_earth/models/mocking/search-results.json,sha256=OY_InmRuCXqEN3EUQTW60UiT0rnkshvCeyiJtrLAHqU,101989
399
403
  hestia_earth/models/pooreNemecek2018/__init__.py,sha256=nPboL7ULJzL5nJD5q7q9VOZt_fxbKVm8fmn1Az5YkVY,417
400
404
  hestia_earth/models/pooreNemecek2018/aboveGroundCropResidueTotal.py,sha256=Qt-mel4dkhK6N5uUOutNOinCTFjbjtGzITaaI0LvYc4,2396
401
405
  hestia_earth/models/pooreNemecek2018/belowGroundCropResidue.py,sha256=JT0RybbvWVlo01FO8K0Yj41HrEaJT3Kj1xfayr2X-xw,2315
402
406
  hestia_earth/models/pooreNemecek2018/ch4ToAirAquacultureSystems.py,sha256=CxjhFinScTebBGNVheEdbdw36DdHwoPszAnbxtd6_9s,6590
403
407
  hestia_earth/models/pooreNemecek2018/excretaKgN.py,sha256=WI0SJJR8uJFfG1hTHDSOeiuTMhAW1fKcm0MX1QEvxcg,6340
404
408
  hestia_earth/models/pooreNemecek2018/excretaKgVs.py,sha256=TW0lF752Ljlx7zj1v3TkAYLYASsYsYpEy8KH9y2yTQ8,9446
405
- hestia_earth/models/pooreNemecek2018/freshwaterWithdrawalsDuringCycle.py,sha256=HB_9q5eE6al2Te3v29hC5wqxsYe4P46ZAPwdWNzx3v0,3939
409
+ hestia_earth/models/pooreNemecek2018/freshwaterWithdrawalsDuringCycle.py,sha256=XP3SAVvvrKCInjkM5GlW8MeW9Q-Ib7vXmJk0PAgR-lc,3982
406
410
  hestia_earth/models/pooreNemecek2018/landOccupationDuringCycle.py,sha256=78N513lNtjol0KKddxmG3Pb9vAmledlrWbfURVdLHBA,3139
407
411
  hestia_earth/models/pooreNemecek2018/longFallowDuration.py,sha256=Wdm6QyOttCFP9Y3OjbaYrvdMmivOmMIT-m5Eg9SM9rY,1511
408
412
  hestia_earth/models/pooreNemecek2018/n2OToAirAquacultureSystemsDirect.py,sha256=HJ7IstImGyasIKosK2lQZ-v6Lqt3_aEfZhoiC4CY0rM,2586
@@ -480,12 +484,12 @@ hestia_earth/models/recipe2016Individualist/ozoneDepletionPotential.py,sha256=cR
480
484
  hestia_earth/models/recipe2016Individualist/terrestrialAcidificationPotential.py,sha256=YvFqXh8SdYy1Na71mYGO9Dpi928fzzXESRA3x-JKG7Y,1069
481
485
  hestia_earth/models/recipe2016Individualist/terrestrialEcotoxicityPotential14Dcbeq.py,sha256=Sf6_kPt1hHRwe_Cg6Fz7nnxBZgIhpUzi8xMLJSxoRN8,928
482
486
  hestia_earth/models/schererPfister2015/__init__.py,sha256=_6FJKfWeAbbS3jFzQ8gEVzoX1LZdPWUTLrow6Hz90U0,419
483
- hestia_earth/models/schererPfister2015/nErosionSoilFlux.py,sha256=y4pS4ixDPILUodPL1igHptESrURcr7v5jpc4d5JoLx0,5015
484
- hestia_earth/models/schererPfister2015/pErosionSoilFlux.py,sha256=5pyyJiYsKtNSzzbngq1wvYufGYxnj_Vge735wlrfetA,5120
487
+ hestia_earth/models/schererPfister2015/nErosionSoilFlux.py,sha256=PotKe8iA8tmEUU1fF7CwcOoZSxTSv1QQPBHOQRAunRY,5370
488
+ hestia_earth/models/schererPfister2015/pErosionSoilFlux.py,sha256=5RDeAi3UzflrqlV5ynGvTCKR3zLZE5Vffk_lAh5x_Ig,5382
485
489
  hestia_earth/models/schererPfister2015/pToDrainageWaterSoilFlux.py,sha256=iQs5lLLgGr1thOQ0ZnTLJDJjX7RBwPdu--8p81BZ988,2310
486
490
  hestia_earth/models/schererPfister2015/pToGroundwaterSoilFlux.py,sha256=tH-jyd8PFGvEVCO9u4coyVhghYcZyPgbPWQXQsTmDMg,1972
487
491
  hestia_earth/models/schererPfister2015/pToSurfaceWaterSoilFlux.py,sha256=evd2jmFZ9lq-uwXiBTgP5wJ-KTjNBVztjSp8eW9-8qg,2947
488
- hestia_earth/models/schererPfister2015/utils.py,sha256=Xi59KRGbdbtqvQ9pfh7OWTkGnobDA4188h_oMyT8oa0,3330
492
+ hestia_earth/models/schererPfister2015/utils.py,sha256=prdPZKnxJAIqBmHN6FCmfvRU4rLSTx2bvVGSMzoM5NY,3235
489
493
  hestia_earth/models/schmidt2007/__init__.py,sha256=xheSN6LOGXpWx7Hnv83onhe60Xk1_jk1PJg1nH_aZOQ,412
490
494
  hestia_earth/models/schmidt2007/ch4ToAirWasteTreatment.py,sha256=-N5uLvVHlA2djOs_lwR_8RmbeCfkPw5p3vmbqG2kzkI,1474
491
495
  hestia_earth/models/schmidt2007/h2SToAirWasteTreatment.py,sha256=f8a5ZRuCltpO8GWwQ0l1laWrw2yPGqOPaq8j6ZOJFTE,1474
@@ -560,7 +564,7 @@ hestia_earth/models/utils/aggregated.py,sha256=01V5RDvO9EZAEiApY7M2dUoR4GcGxvAH5
560
564
  hestia_earth/models/utils/animalProduct.py,sha256=M5IunAKGY6oZv3j1Ascl34ywyeLWApqOIlBzbtlA2FE,721
561
565
  hestia_earth/models/utils/aquacultureManagement.py,sha256=dxrbC1Xf140cohxTbSw6TxLAnAASWTdNZwBBam4yQnw,171
562
566
  hestia_earth/models/utils/array_builders.py,sha256=QEkM7e75Y9aq5yEPEk3R8md36IuvCDkpekdGm3uA0uk,19397
563
- hestia_earth/models/utils/blank_node.py,sha256=xBHJ_qwSpH-lGqeexuP8twJJwdSDmcccrtCR0ga0Qto,50874
567
+ hestia_earth/models/utils/blank_node.py,sha256=-IURt-nrVCJUk2Q51Ar46iEYv4Cn3aSdlVl1gik5Vvw,51992
564
568
  hestia_earth/models/utils/cache_sources.py,sha256=MBkrPpjwNiC4ApDjeYVHZjWBbpvAerXRDrMHpjasAZ0,377
565
569
  hestia_earth/models/utils/completeness.py,sha256=2-GusD9UycobDZq8y5jar0ZcOjyqnSbzPRT_5XMc4YA,1259
566
570
  hestia_earth/models/utils/constant.py,sha256=6wLx8xb2R8HtpEpVy5e-PbioOo7QCu2n-W72fs6OvgE,3411
@@ -575,8 +579,8 @@ hestia_earth/models/utils/emission.py,sha256=H_apu-Og9SJTLVU2lU56IsvSU22-9J7OrqX
575
579
  hestia_earth/models/utils/excretaManagement.py,sha256=NuWPQjFZxMVt9sYgBjcqhGWCFk_OKb3sA9Ovcff3fRQ,428
576
580
  hestia_earth/models/utils/feedipedia.py,sha256=wzzrMbYlda1XCpWiObLz4bFLXbAZejHcxsXJFr4U_AM,3953
577
581
  hestia_earth/models/utils/fertiliser.py,sha256=DBO4OBNgnQJ0fCQMDkIk_ZGZX-uKGaTFZCEXfAnJciY,690
578
- hestia_earth/models/utils/fuel.py,sha256=VR-nwJ9OA35vCfQ8Iwm0QBKulMFDBKCsnLp5VmNPmCM,1386
579
- hestia_earth/models/utils/impact_assessment.py,sha256=3nKhTzk5KTvoiOBWrNvClfBDHtep0KOrttkzl0vst94,8071
582
+ hestia_earth/models/utils/fuel.py,sha256=XzOELV3dn506PkMKjFQ_ZKVZInd2lL2x6PKdsa6Po4M,1429
583
+ hestia_earth/models/utils/impact_assessment.py,sha256=WRG_VaEWrI3cLkbjupdFb_mOJ-77qdNRKRpJ9Lt-tbk,8070
580
584
  hestia_earth/models/utils/indicator.py,sha256=UuuraMUdKLqjcm_zEoF8BaMb76qW23djIA_2DeaoiEw,700
581
585
  hestia_earth/models/utils/inorganicFertiliser.py,sha256=_dLBY-otGkLr8PobR5dQ89bF2uwc2PB4JPrHFSksMEQ,1900
582
586
  hestia_earth/models/utils/input.py,sha256=gsVFKTC9WF8dO6YAg_-H_GAOQTnvAr49Ox5-eTH8zf8,5145
@@ -586,7 +590,7 @@ hestia_earth/models/utils/lookup.py,sha256=hSqIDZ7aw3YdLtUjCw-wlsUdh3dA6p1jl9Nuv
586
590
  hestia_earth/models/utils/management.py,sha256=W5M9k0arraVUGh4ZccVqgb8rSSLxHM6rkmi4MSzV6Dw,413
587
591
  hestia_earth/models/utils/measurement.py,sha256=izEiPszUcPA22zaIc0OuF7Yk82JWu5cxi0Sbz_9YgBo,11142
588
592
  hestia_earth/models/utils/organicFertiliser.py,sha256=2HY-a0EBzUw4DkEAXClLMXVCEZTKYf0BwFHBo7lQ5Tg,363
589
- hestia_earth/models/utils/pesticideAI.py,sha256=xGNCHVaKq2KAyNgR2GBRvkxiufB5LVbeJUbMCdZ2FRU,2002
593
+ hestia_earth/models/utils/pesticideAI.py,sha256=_mlhKnA1TxF-x39CPNnOGXk6754SoSQqrkHVH2y6rv8,2038
590
594
  hestia_earth/models/utils/practice.py,sha256=tNadOzsrNlCEt801B815XaruJXzZ5yPASam7B3sWpXE,1091
591
595
  hestia_earth/models/utils/product.py,sha256=DhDgiReR8k9n9aaRM2xk3PIY3nfoE1ISKg9pKsBVzVQ,10143
592
596
  hestia_earth/models/utils/productivity.py,sha256=rTJX_nemxHpOcPN7jiM2hFHknoLUIW8y-hFxVxIkg70,593
@@ -788,6 +792,8 @@ tests/models/haversineFormula/transport/__init__.py,sha256=47DEQpj8HBSa-_TImW-5J
788
792
  tests/models/haversineFormula/transport/test_distance.py,sha256=hqzIOA1nGao8uiBE16J0ou52McwV4w30ZLpEAqtfi9k,970
789
793
  tests/models/hestia/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
790
794
  tests/models/hestia/test_landCover.py,sha256=pEy8AgHsOH7K6kUdwzDFt6-estJU7xcCFDbKL8x48SI,6051
795
+ tests/models/hestia/test_landTransformation100YearAverageDuringCycle.py,sha256=3qa4rWUFqP1VM5-vm_182rhiBYJDxPqJwWtBqJ5K028,956
796
+ tests/models/hestia/test_landTransformation20YearAverageDuringCycle.py,sha256=257nCGseM8IEc7i3c2lvx0AsJOpk5Cy633PlZZQYRGo,956
791
797
  tests/models/hestia/test_seed_emissions.py,sha256=dCUuJBkhwNFBhhcypQN7eMqrWZ9iGCnypoidO5DfQYw,921
792
798
  tests/models/impact_assessment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
793
799
  tests/models/impact_assessment/test_allocationMethod.py,sha256=HkUt6oWdEyFSdxMpx8y_Oxk0nO2Fi9B_kUZcVte9tzg,1223
@@ -834,11 +840,11 @@ tests/models/ipcc2019/test_ch4ToAirAquacultureSystems.py,sha256=o7bHOS4JkwexRrDh
834
840
  tests/models/ipcc2019/test_ch4ToAirEntericFermentation.py,sha256=3Hv86L4X_Va2mZL4KI-36AV00z-KBbKo0cb2ABg6Rv8,7928
835
841
  tests/models/ipcc2019/test_ch4ToAirExcreta.py,sha256=e58NXmBW2SNVLUqQO9A66Xq6jiGTyhdFZDZk51JApF8,2902
836
842
  tests/models/ipcc2019/test_ch4ToAirFloodedRice.py,sha256=FAp5b45WdX5Ih4yGUOZ4CmVD8smW1Lw1tnulx9AKVBI,1980
837
- tests/models/ipcc2019/test_co2ToAirAboveGroundBiomassStockChange.py,sha256=Xkoe5UJy7f0UDcFQTacAI3rpiIPOZhg7zgQA6CnPPqc,4328
838
- tests/models/ipcc2019/test_co2ToAirBelowGroundBiomassStockChange.py,sha256=j_Quuhv3p0B5qiFCiQz-2oHBSZjC4fatnOPAMxiMy2M,4257
843
+ tests/models/ipcc2019/test_co2ToAirAboveGroundBiomassStockChange.py,sha256=WFqufrVclKH5fBx9u-a6yGCqr9rX1FGLCM7RCULdB6w,4470
844
+ tests/models/ipcc2019/test_co2ToAirBelowGroundBiomassStockChange.py,sha256=AiVIuop4RBKUbeRET5WZLFaD3JAUzNpSFOW_HRyCHmY,4399
839
845
  tests/models/ipcc2019/test_co2ToAirCarbonStockChange_utils.py,sha256=wCEtrbMl6zef8V-n_Ci_rtlQAlfuKm3khUVltr8eAcc,2173
840
846
  tests/models/ipcc2019/test_co2ToAirLimeHydrolysis.py,sha256=e5iuZ-kQNEVih0ZRgRPWqaUtXcLpfkoU7sQypbqA9_Y,1345
841
- tests/models/ipcc2019/test_co2ToAirSoilOrganicCarbonStockChange.py,sha256=iCDvwg_jGv6Hg5m054p85U4sKYnHkZLXOq1CGJ3asBM,5413
847
+ tests/models/ipcc2019/test_co2ToAirSoilOrganicCarbonStockChange.py,sha256=ionV3k9stR69TTS84qLxuSI0SZX_if7lUNcOuTJs3Lk,5555
842
848
  tests/models/ipcc2019/test_co2ToAirUreaHydrolysis.py,sha256=MmtEME0xjsa3KojFk_fxOLK6RZM_6p5HIpY2DOFHVu4,1530
843
849
  tests/models/ipcc2019/test_croppingDuration.py,sha256=gLRXeR6Tqa7ciD9KTRfsIflSeIIWT2iOpZMdcxAQla4,1871
844
850
  tests/models/ipcc2019/test_ligninContent.py,sha256=eIKEN__ab-0R52EhlhPSBiHnmTl6xOf1XbI33O-W9A4,4146
@@ -859,8 +865,8 @@ tests/models/ipcc2019/test_no3ToGroundwaterInorganicFertiliser.py,sha256=e7REnQ9
859
865
  tests/models/ipcc2019/test_no3ToGroundwaterOrganicFertiliser.py,sha256=e1ZViD12qB3bLdH3TJw3GbBP8iqMen-UJbcFkytb3VQ,1609
860
866
  tests/models/ipcc2019/test_noxToAirInorganicFertiliser.py,sha256=NZBSBJLM_j2PEpHRON2ysgKNF8x5sHfQVoAKQdGsfzk,1537
861
867
  tests/models/ipcc2019/test_noxToAirOrganicFertiliser.py,sha256=LR5pjV5vRbgSSQAw8kYRp_ij4CHInzgaDS6EggQuBiw,1104
862
- tests/models/ipcc2019/test_organicCarbonPerHa.py,sha256=9HctxbWtYwZdhRDkb-cClyMCpX9suCooW69OuTlKw-Y,13040
863
- tests/models/ipcc2019/test_organicCarbonPerHa_tier_1_utils.py,sha256=F8L_DiRDbhHiP-TiF9QDzwZau_LxVLiaqJNFqyEEBjs,20044
868
+ tests/models/ipcc2019/test_organicCarbonPerHa.py,sha256=fxI6iomFBiojL7nBGyP7AP5BM39Hvd2G12PLuhq66Eg,13129
869
+ tests/models/ipcc2019/test_organicCarbonPerHa_tier_1_utils.py,sha256=DPaMMyoa959bww0z54i6ci6jccB452oCNJ-GnO6ayHI,20444
864
870
  tests/models/ipcc2019/test_organicCarbonPerHa_tier_2_utils.py,sha256=wxRoE3qeIIiVWQzqo2ChnXsSrPfvIOxEDGHS2ZfI7vA,5514
865
871
  tests/models/ipcc2019/test_organicCarbonPerHa_utils.py,sha256=Zd2QlN_Q3k9djuByOH62A00tryVzlvNtsd46N79TTeU,1778
866
872
  tests/models/ipcc2019/test_pastureGrass.py,sha256=mKx8NnTtMT9TrXxRNLv73wD1TWBaiRZzA1xh2ukb-HI,2667
@@ -1128,7 +1134,7 @@ tests/models/usetoxV2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
1128
1134
  tests/models/usetoxV2/test_freshwaterEcotoxicityPotentialCtue.py,sha256=eq7Gcmfya9g0eOKKkuBhz8vq7xi_CmZ_LTSxueBwZt4,835
1129
1135
  tests/models/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1130
1136
  tests/models/utils/test_array_builders.py,sha256=uHxO4beJhdJD-1lI5aPEAsYziQP8SN7AJ9PEY67DpaI,8417
1131
- tests/models/utils/test_blank_node.py,sha256=LqUsxE7_XCdwjuGp_m-Ckm1qdT72gCsEmK6Q-Yh2C4Q,38994
1137
+ tests/models/utils/test_blank_node.py,sha256=G_hH-Gk3__1ZtHQcsdYMbUMwVNSTmYcVBs5jcReIYGM,39945
1132
1138
  tests/models/utils/test_cache_sources.py,sha256=xcGMVbYoV23YC4HLBTL_4qZP1ME2cp3DFebgJMxI2TE,721
1133
1139
  tests/models/utils/test_crop.py,sha256=ve_BqT2XuLTWAH-8YOnVY4nzMUSXYYXPB8S-5RtGlf4,463
1134
1140
  tests/models/utils/test_cropResidueManagement.py,sha256=RQt8lexeJzCyxZceIutgDpw7BpcqmjsUB0C0yZC2QpY,930
@@ -1154,8 +1160,8 @@ tests/models/utils/test_term.py,sha256=M5Sa26v2gzQYbZ4H_fo7DspnaCx__-WtL-MULGapC
1154
1160
  tests/models/utils/test_time_series.py,sha256=LMhRPf8rp3nAriKAC-2K3FDkrMWntRTUUCERw7Lt68g,2686
1155
1161
  tests/models/webbEtAl2012AndSintermannEtAl2012/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1156
1162
  tests/models/webbEtAl2012AndSintermannEtAl2012/test_nh3ToAirOrganicFertiliser.py,sha256=qi2FNXS5Af2WDtm7nq_FsprH3BfCF0XxnE0XHmC4aIY,2244
1157
- hestia_earth_models-0.65.4.dist-info/LICENSE,sha256=TD25LoiRJsA5CPUNrcyt1PXlGcbUGFMAeZoBcfCrCNE,1154
1158
- hestia_earth_models-0.65.4.dist-info/METADATA,sha256=NTDzVeU3Bu-lQ5w0Epxbt1LXOtrWX74mEGovrUyF35o,3344
1159
- hestia_earth_models-0.65.4.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
1160
- hestia_earth_models-0.65.4.dist-info/top_level.txt,sha256=1dqA9TqpOLTEgpqa-YBsmbCmmNU1y56AtfFGEceZ2A0,19
1161
- hestia_earth_models-0.65.4.dist-info/RECORD,,
1163
+ hestia_earth_models-0.65.5.dist-info/LICENSE,sha256=TD25LoiRJsA5CPUNrcyt1PXlGcbUGFMAeZoBcfCrCNE,1154
1164
+ hestia_earth_models-0.65.5.dist-info/METADATA,sha256=-IzI9Vpy_Cx1mhf771Yldw8ryByRbTygSrCA78-a_ik,3344
1165
+ hestia_earth_models-0.65.5.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
1166
+ hestia_earth_models-0.65.5.dist-info/top_level.txt,sha256=1dqA9TqpOLTEgpqa-YBsmbCmmNU1y56AtfFGEceZ2A0,19
1167
+ hestia_earth_models-0.65.5.dist-info/RECORD,,
@@ -0,0 +1,30 @@
1
+ import json
2
+ from unittest.mock import patch, Mock
3
+ import pytest
4
+
5
+ from tests.utils import fixtures_path, fake_new_indicator
6
+ from hestia_earth.models.hestia import MODEL
7
+ from hestia_earth.models.hestia.landTransformation100YearAverageDuringCycle import TERM_ID, run
8
+
9
+
10
+ class_path = f"hestia_earth.models.{MODEL}.{TERM_ID}"
11
+ fixtures_folder = f"{fixtures_path}/{MODEL}/{TERM_ID}"
12
+
13
+
14
+ @pytest.mark.parametrize(
15
+ "subfolder",
16
+ [
17
+ "maize_brazil"
18
+ ]
19
+ )
20
+ @patch("hestia_earth.models.hestia.resourceUse_utils._new_indicator", side_effect=fake_new_indicator)
21
+ def test_run(mock_new_indicator: Mock, subfolder):
22
+ folder = f"{fixtures_folder}/{subfolder}"
23
+ with open(f"{folder}/impact-assessment.jsonld", encoding='utf-8') as f:
24
+ impact_assessment = json.load(f)
25
+
26
+ with open(f"{folder}/result.jsonld", encoding='utf-8') as f:
27
+ expected = json.load(f)
28
+
29
+ result = run(impact_assessment=impact_assessment)
30
+ assert result == expected
@@ -0,0 +1,31 @@
1
+ import json
2
+ from unittest.mock import patch, Mock
3
+ import pytest
4
+
5
+ from tests.utils import fixtures_path, fake_new_indicator
6
+ from hestia_earth.models.hestia import MODEL
7
+ from hestia_earth.models.hestia.landTransformation20YearAverageDuringCycle import TERM_ID, run
8
+
9
+
10
+ class_path = f"hestia_earth.models.{MODEL}.{TERM_ID}"
11
+ fixtures_folder = f"{fixtures_path}/{MODEL}/{TERM_ID}"
12
+
13
+
14
+ @pytest.mark.parametrize(
15
+ "subfolder",
16
+ [
17
+ "maize_brazil"
18
+ ]
19
+ )
20
+ @patch("hestia_earth.models.hestia.resourceUse_utils._new_indicator", side_effect=fake_new_indicator)
21
+ def test_run(mock_new_indicator: Mock, subfolder):
22
+ folder = f"{fixtures_folder}/{subfolder}"
23
+
24
+ with open(f"{folder}/impact-assessment.jsonld", encoding='utf-8') as f:
25
+ impact_assessment = json.load(f)
26
+
27
+ with open(f"{folder}/result.jsonld", encoding='utf-8') as f:
28
+ expected = json.load(f)
29
+
30
+ result = run(impact_assessment=impact_assessment)
31
+ assert result == expected