hestia-earth-models 0.73.0__py3-none-any.whl → 0.73.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. hestia_earth/models/akagiEtAl2011/utils.py +1 -1
  2. hestia_earth/models/aware/scarcityWeightedWaterUse.py +8 -7
  3. hestia_earth/models/cache_sites.py +8 -4
  4. hestia_earth/models/chaudharyBrooks2018/damageToTerrestrialEcosystemsLandTransformation.py +14 -11
  5. hestia_earth/models/chaudharyBrooks2018/utils.py +4 -2
  6. hestia_earth/models/cycle/completeness/electricityFuel.py +1 -1
  7. hestia_earth/models/cycle/completeness/freshForage.py +1 -1
  8. hestia_earth/models/cycle/input/hestiaAggregatedData.py +1 -2
  9. hestia_earth/models/cycle/product/economicValueShare.py +1 -1
  10. hestia_earth/models/environmentalFootprintV3_1/environmentalFootprintSingleOverallScore.py +1 -1
  11. hestia_earth/models/environmentalFootprintV3_1/soilQualityIndexLandOccupation.py +11 -11
  12. hestia_earth/models/environmentalFootprintV3_1/soilQualityIndexLandTransformation.py +14 -11
  13. hestia_earth/models/faostat2018/utils.py +26 -13
  14. hestia_earth/models/geospatialDatabase/utils.py +6 -4
  15. hestia_earth/models/hestia/default_emissions.py +1 -1
  16. hestia_earth/models/hestia/default_resourceUse.py +1 -1
  17. hestia_earth/models/hestia/excretaKgMass.py +7 -9
  18. hestia_earth/models/hestia/seed_emissions.py +1 -1
  19. hestia_earth/models/hestia/stockingDensityAnimalHousingAverage.py +1 -1
  20. hestia_earth/models/hestia/waterSalinity.py +1 -1
  21. hestia_earth/models/ipcc2019/ch4ToAirAquacultureSystems.py +1 -1
  22. hestia_earth/models/ipcc2019/n2OToAirCropResidueBurningDirect.py +1 -1
  23. hestia_earth/models/mocking/search-results.json +1290 -1290
  24. hestia_earth/models/pooreNemecek2018/freshwaterWithdrawalsDuringCycle.py +43 -5
  25. hestia_earth/models/site/grouped_measurement.py +1 -1
  26. hestia_earth/models/utils/background_emissions.py +1 -1
  27. hestia_earth/models/utils/impact_assessment.py +29 -14
  28. hestia_earth/models/utils/lookup.py +5 -1
  29. hestia_earth/models/utils/measurement.py +0 -1
  30. hestia_earth/models/version.py +1 -1
  31. {hestia_earth_models-0.73.0.dist-info → hestia_earth_models-0.73.1.dist-info}/METADATA +1 -1
  32. {hestia_earth_models-0.73.0.dist-info → hestia_earth_models-0.73.1.dist-info}/RECORD +37 -37
  33. tests/models/pooreNemecek2018/test_freshwaterWithdrawalsDuringCycle.py +12 -0
  34. tests/models/utils/test_impact_assessment.py +29 -13
  35. {hestia_earth_models-0.73.0.dist-info → hestia_earth_models-0.73.1.dist-info}/LICENSE +0 -0
  36. {hestia_earth_models-0.73.0.dist-info → hestia_earth_models-0.73.1.dist-info}/WHEEL +0 -0
  37. {hestia_earth_models-0.73.0.dist-info → hestia_earth_models-0.73.1.dist-info}/top_level.txt +0 -0
@@ -2,7 +2,7 @@ from hestia_earth.schema import TermTermType
2
2
  from hestia_earth.utils.tools import list_sum, safe_parse_float
3
3
  from hestia_earth.utils.model import filter_list_term_type
4
4
 
5
- from hestia_earth.models.log import debugValues, logRequirements, logShouldRun
5
+ from hestia_earth.models.log import debugValues, logRequirements, logShouldRun, log_as_table
6
6
  from hestia_earth.models.utils.term import get_lookup_value
7
7
  from hestia_earth.models.utils.indicator import _new_indicator
8
8
  from hestia_earth.models.utils.impact_assessment import get_product, convert_value_from_cycle, get_site
@@ -25,6 +25,13 @@ REQUIREMENTS = {
25
25
  "completeness.water": "True",
26
26
  "inputs": [{"@type": "Input", "term.termType": "water", "value": "> 0"}]
27
27
  }
28
+ },
29
+ "optional": {
30
+ "practices": [{
31
+ "@type": "Practice",
32
+ "value": "> 0",
33
+ "term.termType": "waterRegime"
34
+ }]
28
35
  }
29
36
  }
30
37
  }
@@ -39,7 +46,8 @@ LOOKUPS = {
39
46
  "Conveyancing_Efficiency_Annual_crops",
40
47
  "Conveyancing_Efficiency_Permanent_crops",
41
48
  "Conveyancing_Efficiency_Perennial_crops"
42
- ]
49
+ ],
50
+ "waterRegime": "conveyancingEfficiency"
43
51
  }
44
52
  TERM_ID = 'freshwaterWithdrawalsDuringCycle'
45
53
 
@@ -50,19 +58,49 @@ def _indicator(term_id: str, value: float):
50
58
  return indicator
51
59
 
52
60
 
53
- def _get_conveyancing_efficiency(impact_assessment: dict, product: dict):
61
+ def _get_conveyancing_efficiency_from_waterRegime(impact_assessment: dict):
62
+ practices = filter_list_term_type(impact_assessment.get('cycle', {}).get('practices', []), TermTermType.WATERREGIME)
63
+ practices_with_factors = [
64
+ {
65
+ 'practice-id': p.get('term', {}).get('@id'),
66
+ 'practice-value': list_sum(p.get('value'), default=None),
67
+ 'conveyancing': safe_parse_float(
68
+ get_lookup_value(p.get('term', {}), 'conveyancingEfficiency'), default=None)
69
+ }
70
+ for p in practices
71
+ ]
72
+ total_practice_value = list_sum([p.get('practice-value', 0) for p in practices_with_factors])
73
+ conveyancing_from_practices = list_sum([
74
+ (p.get('practice-value') or 0) * (p.get('conveyancing', 0) or 0) for p in practices_with_factors
75
+ ]) / total_practice_value if total_practice_value > 0 else None
76
+ valid_waterRegime_practices = all([
77
+ p.get('conveyancing') is not None or p.get('practice-value', 0) == 0
78
+ for p in practices_with_factors
79
+ ])
80
+
81
+ debugValues(impact_assessment, model=MODEL, term=TERM_ID,
82
+ waterRegime_conveyancing_efficiency_values=log_as_table(practices_with_factors),
83
+ waterRegime_conveyancing_efficiency=conveyancing_from_practices)
84
+
85
+ return conveyancing_from_practices if valid_waterRegime_practices else None
86
+
87
+
88
+ def _get_conveyancing_efficiency_from_country(impact_assessment: dict, product: dict):
54
89
  site = get_site(impact_assessment)
55
90
  country = impact_assessment.get('country', {}) or site.get('country', {})
56
91
  grouping = get_crop_grouping_fao(MODEL, TERM_ID, product.get('term', {}))
57
92
  value = get_lookup_value(country, f"Conveyancing_Efficiency_{grouping}", model=MODEL, term=TERM_ID)
58
93
  debugValues(impact_assessment, model=MODEL, term=TERM_ID,
59
94
  grouping=grouping,
60
- conveyancing_efficiency=value)
95
+ country_conveyancing_efficiency=value)
61
96
  return safe_parse_float(value, default=1)
62
97
 
63
98
 
64
99
  def _run(impact_assessment: dict, product: dict, irrigation: float):
65
- conveyancing = _get_conveyancing_efficiency(impact_assessment, product)
100
+ conveyancing = (
101
+ _get_conveyancing_efficiency_from_waterRegime(impact_assessment) or
102
+ _get_conveyancing_efficiency_from_country(impact_assessment, product)
103
+ )
66
104
  # convert from m3 to litre
67
105
  value = convert_value_from_cycle(
68
106
  impact_assessment,
@@ -5,7 +5,7 @@ from hestia_earth.utils.tools import non_empty_list, flatten, is_number, list_su
5
5
  from hestia_earth.models.log import logRequirements, logShouldRun
6
6
  from hestia_earth.models.utils import _include
7
7
  from hestia_earth.models.utils.measurement import _new_measurement
8
- from hestia_earth.models.utils.blank_node import get_lookup_value
8
+ from hestia_earth.models.utils.term import get_lookup_value
9
9
  from . import MODEL
10
10
 
11
11
  REQUIREMENTS = {
@@ -5,7 +5,7 @@ from hestia_earth.utils.emission import cycle_emissions_in_system_boundary
5
5
 
6
6
  from hestia_earth.models.log import logShouldRun
7
7
  from . import is_from_model
8
- from .blank_node import get_lookup_value
8
+ from .term import get_lookup_value
9
9
 
10
10
 
11
11
  def _animal_inputs(animal: dict):
@@ -1,6 +1,6 @@
1
1
  from typing import Optional
2
2
  from hestia_earth.schema import TermTermType
3
- from hestia_earth.utils.model import find_term_match, filter_list_term_type
3
+ from hestia_earth.utils.model import filter_list_term_type
4
4
  from hestia_earth.utils.tools import list_sum, safe_parse_date
5
5
 
6
6
  from hestia_earth.models.log import debugValues
@@ -50,7 +50,7 @@ def get_site(impact_assessment: dict) -> dict:
50
50
  return impact_assessment.get('site') or impact_assessment.get('cycle', {}).get('site') or {}
51
51
 
52
52
 
53
- def get_region_id(impact_assessment: dict) -> str:
53
+ def get_region_id(impact_assessment: dict, blank_node: dict = None) -> str:
54
54
  """
55
55
  Get the country or region @id of the ImpactAssessment.
56
56
  Note: level 1 GADM region will be returned only, even if the region is of level > 1.
@@ -59,18 +59,29 @@ def get_region_id(impact_assessment: dict) -> str:
59
59
  ----------
60
60
  impact_assessment : dict
61
61
  The `ImpactAssessment`.
62
+ blank_node : dict
63
+ If getting a value for a specific `emissionsResourceUse`, will try to get country from it.
62
64
 
63
65
  Returns
64
66
  -------
65
67
  str
66
68
  The `@id` of the `region`.
67
69
  """
68
- site = get_site(impact_assessment)
69
- term_id = site.get('region', site.get('country', impact_assessment.get('country', {}))).get('@id')
70
- return term_id if not term_id.startswith('GADM') else region_level_1_id(term_id)
71
-
72
-
73
- def get_country_id(impact_assessment: dict) -> str:
70
+ term_id: str = (
71
+ (blank_node or {}).get('region') or
72
+ (blank_node or {}).get('country') or
73
+ impact_assessment.get('country') or
74
+ get_site(impact_assessment).get('region') or
75
+ get_site(impact_assessment).get('country') or
76
+ {}
77
+ ).get('@id')
78
+ return (
79
+ term_id if not term_id.startswith('GADM-') else
80
+ region_level_1_id(term_id)
81
+ ) if term_id else None
82
+
83
+
84
+ def get_country_id(impact_assessment: dict, blank_node: dict = None) -> str:
74
85
  """
75
86
  Get the country or @id of the ImpactAssessment.
76
87
 
@@ -78,13 +89,21 @@ def get_country_id(impact_assessment: dict) -> str:
78
89
  ----------
79
90
  impact_assessment : dict
80
91
  The `ImpactAssessment`.
92
+ blank_node : dict
93
+ If getting a value for a specific `emissionsResourceUse`, will try to get country from it.
81
94
 
82
95
  Returns
83
96
  -------
84
97
  str
85
98
  The `@id` of the `country`.
86
99
  """
87
- return impact_assessment.get('country', get_site(impact_assessment).get('country', {})).get('@id')
100
+ term_id = (
101
+ (blank_node or {}).get('country') or
102
+ impact_assessment.get('country') or
103
+ get_site(impact_assessment).get('country') or
104
+ {}
105
+ ).get('@id')
106
+ return term_id if term_id else None
88
107
 
89
108
 
90
109
  def impact_emission_lookup_value(
@@ -170,7 +189,7 @@ def impact_country_value(
170
189
  lookup_col=country_id,
171
190
  blank_nodes=blank_nodes,
172
191
  grouped_key=group_key,
173
- default_no_values=None,
192
+ default_no_values=default_no_values,
174
193
  factor_value_func=_term_factor_value
175
194
  )
176
195
 
@@ -251,10 +270,6 @@ def impact_endpoint_value(model: str, term_id: str, impact: dict, lookup_col: st
251
270
  )
252
271
 
253
272
 
254
- def emission_value(impact_assessment: dict, term_id: str):
255
- return find_term_match(impact_assessment.get('emissionsResourceUse', []), term_id).get('value')
256
-
257
-
258
273
  def convert_value_from_cycle(
259
274
  log_node: dict, product: dict, value: float, default=None, model: str = None, term_id: str = None
260
275
  ):
@@ -44,7 +44,11 @@ def _term_factor_value(model: str, term_id: str, lookup_name: str, lookup_term_i
44
44
  def get_value(data: dict):
45
45
  node_term_id = data.get('term', {}).get('@id')
46
46
  value = _node_value(data)
47
- coefficient = get_region_lookup_value(lookup_name, lookup_term_id, node_term_id, model=model, term=term_id)
47
+ # when getting data for a `region`, we can try to get the `region` on the node first, in case it is set
48
+ region_term_id = (
49
+ (data.get('region') or data.get('country') or {'@id': lookup_term_id}).get('@id')
50
+ ) if lookup_term_id.startswith('GADM-') else lookup_term_id
51
+ coefficient = get_region_lookup_value(lookup_name, region_term_id, node_term_id, model=model, term=term_id)
48
52
  coefficient = safe_parse_float(
49
53
  extract_grouped_data(coefficient, group_key) if group_key else coefficient,
50
54
  default=None
@@ -37,7 +37,6 @@ def measurement_value(measurement: dict, is_larger_unit: bool = False, default=N
37
37
  reducer = get_lookup_value(term, 'arrayTreatmentLargerUnitOfTime' if is_larger_unit else 'arrayTreatment') or 'mean'
38
38
  value = non_empty_list(measurement.get('value', []))
39
39
  is_value_valid = value is not None and isinstance(value, list) and len(value) > 0
40
- print(reducer, value, is_value_valid)
41
40
  return MEASUREMENT_REDUCE.get(reducer, lambda v: v[0])(value) if is_value_valid else default
42
41
 
43
42
 
@@ -1 +1 @@
1
- VERSION = '0.73.0'
1
+ VERSION = '0.73.1'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hestia-earth-models
3
- Version: 0.73.0
3
+ Version: 0.73.1
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
@@ -1,11 +1,11 @@
1
1
  hestia_earth/__init__.py,sha256=G-d438vPx7m_ks5e9XTtM3u7LDRO5dSSukibukWmyPM,56
2
2
  hestia_earth/models/__init__.py,sha256=qEFeq3yuf3lQKVseALmL8aPM8fpCS54B_5pry00M3hk,76
3
3
  hestia_earth/models/cache_nodes.py,sha256=CqcTkvT0SQw-MKExUJgM3wDRt2sgdxgVYb6ylNnfC4I,5423
4
- hestia_earth/models/cache_sites.py,sha256=VwUNMhmCXZIEnligS0jtcWDdn13GIknpzxBMWzG9kcg,6353
4
+ hestia_earth/models/cache_sites.py,sha256=XpXnkYt823PQzrswgP__L4CT8xZG_n7a41CIHK8wQ3U,6427
5
5
  hestia_earth/models/log.py,sha256=eRuH86v7Thuw-QXdKqaqVmA_MkwnOCo0UBEwtuDq4Oc,3554
6
6
  hestia_earth/models/preload_requests.py,sha256=vK_G1UzhNMhYy7ymnCtHUz_vv3cfApCSKqv29VREEBQ,1943
7
7
  hestia_earth/models/requirements.py,sha256=eU4yT443fx7BnaokhrLB_PCizJI7Y6m4auyo8vQauNg,17363
8
- hestia_earth/models/version.py,sha256=ko6xDdKVRu7Xx-36NfOOGe9oNxu3iebJLKeVnFGGf28,19
8
+ hestia_earth/models/version.py,sha256=hAIsADvvT3pUfuetJKnq_AYIZolRAZkIV3u6dNVZric,19
9
9
  hestia_earth/models/agribalyse2016/__init__.py,sha256=WvK0qCQbnYtg9oZxrACd1wGormZyXibPtpCnIQeDqbw,415
10
10
  hestia_earth/models/agribalyse2016/fuelElectricity.py,sha256=1ngl8pdxeNhlVV8keAeWRwGorr_1uFXM9EoPUWx-uSc,4382
11
11
  hestia_earth/models/agribalyse2016/machineryInfrastructureDepreciatedAmountPerCycle.py,sha256=queToXuzq0tQ9_XuUJ2pJgSywXmbt9uX3ZoIKgqkROM,2660
@@ -15,14 +15,14 @@ hestia_earth/models/akagiEtAl2011/nh3ToAirCropResidueBurning.py,sha256=MUVyLifn5
15
15
  hestia_earth/models/akagiEtAl2011/noxToAirCropResidueBurning.py,sha256=aFot00A68gFM6Sp1cGkzruB4nIyc-BNGX7T75sb_CCw,791
16
16
  hestia_earth/models/akagiEtAl2011/pm25ToAirCropResidueBurning.py,sha256=88LaJnezcbfOO_GCKz41zt39yhCFOFFmC9TTo1TAOMU,792
17
17
  hestia_earth/models/akagiEtAl2011/so2ToAirCropResidueBurning.py,sha256=hoymFUx3TxzwhlOV65RzOx43IK-CGM8jYfWLH6ibHNo,791
18
- hestia_earth/models/akagiEtAl2011/utils.py,sha256=HxRsPhoo164tyHtC9dq_FqZmtGTh-jdSLJxBoGfLS68,1778
18
+ hestia_earth/models/akagiEtAl2011/utils.py,sha256=CwRhUP2LN8NULyg3nxdnXGR6dv1uNOZX9JXsaULu52Q,1772
19
19
  hestia_earth/models/aware/__init__.py,sha256=F8XRo9nRiX-fHAqyeMARYtFmJWRPs-hnIaCiHcZhyMw,406
20
- hestia_earth/models/aware/scarcityWeightedWaterUse.py,sha256=z1mpBX7dxArkMKErU8dNR-hN-A-qAuXeJlG6OcxZgUw,3795
20
+ hestia_earth/models/aware/scarcityWeightedWaterUse.py,sha256=HO3ic8xFXs_ez13N7kG1JuYit2S8YTi5WgeP9cOyOqc,3936
21
21
  hestia_earth/models/chaudharyBrooks2018/__init__.py,sha256=LKxQu7-6gyWPpdXaYHDTawzsBNm7CpDrk98I5_TTLhA,420
22
22
  hestia_earth/models/chaudharyBrooks2018/damageToTerrestrialEcosystemsLandOccupation.py,sha256=qsOClIL45FT9qbglvyB5NPOHlWLm8TZl8LDT0duQyfw,3905
23
- hestia_earth/models/chaudharyBrooks2018/damageToTerrestrialEcosystemsLandTransformation.py,sha256=q3kGrb20LPpAGcprVKkf29IKiTvv84Txv58KHcrMRcE,3242
23
+ hestia_earth/models/chaudharyBrooks2018/damageToTerrestrialEcosystemsLandTransformation.py,sha256=34WuvMQa3ERW-D9WEv3kbfLbCywaRqGAuXt85wTstUQ,3358
24
24
  hestia_earth/models/chaudharyBrooks2018/damageToTerrestrialEcosystemsTotalLandUseEffects.py,sha256=IcPJbfRTDQYYjcRXpx7_U7eEf7nSkKouvVeTUX-JhFc,2631
25
- hestia_earth/models/chaudharyBrooks2018/utils.py,sha256=l_Yv_lt31Mh5wXsyYWrNaZMwcHbndm6mCzSkFtVULe0,1684
25
+ hestia_earth/models/chaudharyBrooks2018/utils.py,sha256=UsjuO-tL6zBD4xXoFQBdK-BUoTibQ5qdW8aZEzucmy0,1738
26
26
  hestia_earth/models/cml2001Baseline/__init__.py,sha256=0uGrCKDNUH-MUkpvts9MyPMnZKao-M03gU8uKquUozQ,416
27
27
  hestia_earth/models/cml2001Baseline/abioticResourceDepletionFossilFuels.py,sha256=K7rq8jARCGvxA_nstNNGCnNrqtF0AsdMKElbYVNdx6M,4731
28
28
  hestia_earth/models/cml2001Baseline/abioticResourceDepletionMineralsAndMetals.py,sha256=RT69ZgQjwtY72Qxrxq7Kw7L6WLTfPttYANYVs9OMRnA,5151
@@ -62,14 +62,14 @@ hestia_earth/models/cycle/animal/input/properties.py,sha256=PoW8qBlPuWSQRBNK4iBh
62
62
  hestia_earth/models/cycle/completeness/__init__.py,sha256=bQ-tpeCbUsIdSPGla06Mg2IZWpGp7TgWXlgZTYeLsKk,1512
63
63
  hestia_earth/models/cycle/completeness/animalFeed.py,sha256=_qUJcQ2ggdy0fBCBkHmeRDL71HuX4b9KfnSm7JqPgFM,830
64
64
  hestia_earth/models/cycle/completeness/cropResidue.py,sha256=7SNfYvP4erJ2keem3DHdOzuzzuAsrj15iffacWNgJHE,2653
65
- hestia_earth/models/cycle/completeness/electricityFuel.py,sha256=TuhuYPp9-JGRmTEkZLWCU1wZSM3MUe56tBBydAfDm2E,1933
65
+ hestia_earth/models/cycle/completeness/electricityFuel.py,sha256=ZXljdjAxYgu75GdHioYjNYTgF97LClEP_1g3hFcvJYU,1927
66
66
  hestia_earth/models/cycle/completeness/excreta.py,sha256=wgrinfKnsXMG4I01g0iyFIpz2Ir-T69YB00pgrM_zvY,821
67
- hestia_earth/models/cycle/completeness/freshForage.py,sha256=YpZ3bbZh93Cbqjup38V8IRJhKJpCIKgu23E-OeVcunA,2228
67
+ hestia_earth/models/cycle/completeness/freshForage.py,sha256=UBBPlixmiffDGck-XvJ7wGiJeRA1L8Wm0qrzXUbe5KA,2222
68
68
  hestia_earth/models/cycle/completeness/material.py,sha256=cF33MJkVBUnoicmecdsR78Snrv1Zng097aUeEfYDfdc,1185
69
69
  hestia_earth/models/cycle/completeness/seed.py,sha256=O4OygpPOeXHbn_32rdUk8m1BcZiQ6QpmvV463UOCmKY,1763
70
70
  hestia_earth/models/cycle/completeness/soilAmendment.py,sha256=RQPq1Y5VWJbz50tKFtcW54DdQ1YT48mQOteidW8sFcQ,1226
71
71
  hestia_earth/models/cycle/input/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
72
- hestia_earth/models/cycle/input/hestiaAggregatedData.py,sha256=u4sNTBe9vQHe1-Jlz_qCQ6DyioJTN_hq7L56nCf9vhs,5696
72
+ hestia_earth/models/cycle/input/hestiaAggregatedData.py,sha256=wLdIWCSMHURAt3_cnHI_f5gpz0E9JIFnZOCldmNohTE,5648
73
73
  hestia_earth/models/cycle/input/properties.py,sha256=-bsKbgS92AicE7_0GSamFG2-O3Rvn2LnXcmlrEt72dA,2752
74
74
  hestia_earth/models/cycle/input/value.py,sha256=TUcqoaMheIhlM0c7Ki7qWSdHpxes3SEVORAUNdyR8Rg,1391
75
75
  hestia_earth/models/cycle/post_checks/__init__.py,sha256=5ThdvGKp7ilFOzn8Tq23c4XXqhA345PYIe63yOtGJTY,336
@@ -85,7 +85,7 @@ hestia_earth/models/cycle/pre_checks/otherSites.py,sha256=G1F8BREiOmq4etwJ0F84yC
85
85
  hestia_earth/models/cycle/pre_checks/site.py,sha256=nMvzSIeqC5KdLetvmGH3XpxtiWdyArVkUdcI6na5cmI,637
86
86
  hestia_earth/models/cycle/product/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
87
87
  hestia_earth/models/cycle/product/currency.py,sha256=hFhwhkgYCwXMf10rufYupTKv43-Hqr69IZOVn81An_E,2063
88
- hestia_earth/models/cycle/product/economicValueShare.py,sha256=eSepth3l6c6Nf_2gR4HIzoOYulIQMtQMUni4oATmIG0,8120
88
+ hestia_earth/models/cycle/product/economicValueShare.py,sha256=DAqjgmZOw7oaelVqLnmLnE4J3__2zT9oOu2KjBxTLXA,8114
89
89
  hestia_earth/models/cycle/product/price.py,sha256=uApxfOeWMjvjNeYQtrLMwZh-mxV0OchZE9_m1h1Vn1w,2300
90
90
  hestia_earth/models/cycle/product/primary.py,sha256=gRRHGcaIsmDBrz-LIrzOHNv-hMbWOBQD4zEIR2iMZdI,1737
91
91
  hestia_earth/models/cycle/product/properties.py,sha256=rnxRq-4kSjQMVyPEv1RBuF5xGJQEOBe51HuID2ytTbQ,1293
@@ -121,13 +121,13 @@ hestia_earth/models/emepEea2019/tspToAirAnimalHousing.py,sha256=TaT5GyYK6MyJQHKA
121
121
  hestia_earth/models/emepEea2019/utils.py,sha256=yynKXlW2qi46xSiPuJ6JaFg21S6a1KkP2dUqkMlBJx0,5651
122
122
  hestia_earth/models/emissionNotRelevant/__init__.py,sha256=yAunIZI_4nGV0khRiGhbZAmXmMiuICzEH-pvzWX1lpM,3000
123
123
  hestia_earth/models/environmentalFootprintV3_1/__init__.py,sha256=tF2WrWiV1Wzi2vnRiNXdfPWfmVxgVu9w9-7eA6PA7-s,473
124
- hestia_earth/models/environmentalFootprintV3_1/environmentalFootprintSingleOverallScore.py,sha256=XjukJ0ecX62mK7Nhp3JZ7xYg9cKNAWbdhvy5M7VbXH0,5810
124
+ hestia_earth/models/environmentalFootprintV3_1/environmentalFootprintSingleOverallScore.py,sha256=TojoseslBok28v--yID-Xi2WTEQU2S8SK620ICWYaRo,5804
125
125
  hestia_earth/models/environmentalFootprintV3_1/freshwaterEcotoxicityPotentialCtue.py,sha256=N_gw2aNoCMW5Z1XM-uAyCF1kfpZUI07giv_bo3Lmr5Q,918
126
126
  hestia_earth/models/environmentalFootprintV3_1/marineEutrophicationPotential.py,sha256=UM9pezQeETfk9i0FtOBRdreaaJ9OqL6G4gYljrKOz-0,1063
127
127
  hestia_earth/models/environmentalFootprintV3_1/photochemicalOzoneCreationPotentialHumanHealthNmvocEq.py,sha256=47raZTA3aUbBpgClTzKnzUI8Vfy9qUwYNdFDUKM3hJ0,1101
128
128
  hestia_earth/models/environmentalFootprintV3_1/scarcityWeightedWaterUse.py,sha256=JhZB4qGQBQb7fF3ambBuILL7eKLG6B_4RYvIgbINNpY,1299
129
- hestia_earth/models/environmentalFootprintV3_1/soilQualityIndexLandOccupation.py,sha256=PFSCgEND7GeO7AbrAqG08YP39Oys2eK9U5P0eITuPjM,4823
130
- hestia_earth/models/environmentalFootprintV3_1/soilQualityIndexLandTransformation.py,sha256=VyW1GpC11dFVmu93UpVKR8X6ryIAWKWf5uFBClyK6yQ,6841
129
+ hestia_earth/models/environmentalFootprintV3_1/soilQualityIndexLandOccupation.py,sha256=xCQUf4bUJuAqnPgaRZv0Qcc2zzIxhFBePPuNUdjHvLo,4739
130
+ hestia_earth/models/environmentalFootprintV3_1/soilQualityIndexLandTransformation.py,sha256=HEIAG3VHYnv-XaLmnzXGvShVeT9MoRHBMODNQ9vNLAo,6796
131
131
  hestia_earth/models/environmentalFootprintV3_1/soilQualityIndexTotalLandUseEffects.py,sha256=6g76wBf0XcQdAadE4BCD5-qUmpGbbYV9kfKsM6cKnHM,3075
132
132
  hestia_earth/models/epa2014/__init__.py,sha256=ckGf_6X7CCzI_18OqchEkuJAXKXM1x7V53u480ckknM,408
133
133
  hestia_earth/models/epa2014/no3ToGroundwaterExcreta.py,sha256=683vgGM-m4cdFhbvlp9V1yobLHM7bQWYMwjByoozzZA,1724
@@ -141,7 +141,7 @@ hestia_earth/models/faostat2018/landTransformation20YearAverageDuringCycle.py,sh
141
141
  hestia_earth/models/faostat2018/liveweightPerHead.py,sha256=2BmSe8xdEdm68i6t_UkeXQshxLH3WVNyvButsoE_9zE,5031
142
142
  hestia_earth/models/faostat2018/readyToCookWeightPerHead.py,sha256=obJLPV8GgG2lEhLqg9RrJLSFPzbasXJnmzHnwkpW7O0,3131
143
143
  hestia_earth/models/faostat2018/seed.py,sha256=brDGypvFJR6gpb4VMTW16cN2Jw0jbvD2msV-NMWuwxQ,2948
144
- hestia_earth/models/faostat2018/utils.py,sha256=gcEyhxLuBif7ksIGAkoQGz6RySncYrmG19Xq3XJ8XmI,7286
144
+ hestia_earth/models/faostat2018/utils.py,sha256=bxd4dtML0z5D5LP7peZTcvt7U6GLxGdXzt2CtpqoCQA,7846
145
145
  hestia_earth/models/faostat2018/product/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
146
146
  hestia_earth/models/faostat2018/product/price.py,sha256=6oG8n-tGFRX2p4aC1RBeEvO7iexooFiRok39m8f4VN0,7734
147
147
  hestia_earth/models/frischknechtEtAl2000/__init__.py,sha256=Fixyy9UwoCGP5-MHyJu_ctS40SQ2imfvZo8a547029U,421
@@ -177,7 +177,7 @@ hestia_earth/models/geospatialDatabase/temperatureLongTermAnnualMean.py,sha256=y
177
177
  hestia_earth/models/geospatialDatabase/temperatureMonthly.py,sha256=E2k2kkhVDtmeFEB4_AZhhq5od57lRDMWu6AqaurgqvQ,3194
178
178
  hestia_earth/models/geospatialDatabase/totalNitrogenPerKgSoil.py,sha256=eajSzMCX201k_xrfZZSHtTzEIH29hqgJdztQgQeewig,2853
179
179
  hestia_earth/models/geospatialDatabase/totalPhosphorusPerKgSoil.py,sha256=fL8wNpx-3WdD3k9riy6AaUnpdRMFNMzzc338jRIqfw8,2102
180
- hestia_earth/models/geospatialDatabase/utils.py,sha256=YfWjM8TZcSCjZCkpO4luIPzo0rnimwNKMpHN88EC_DQ,6726
180
+ hestia_earth/models/geospatialDatabase/utils.py,sha256=IBF7_HcRM00b_TX4f0ioRppMbNfXBNfNRJxQFuPhV70,6794
181
181
  hestia_earth/models/geospatialDatabase/waterDepth.py,sha256=Xy2UxwAJrgdOkcw59NetEHMt5vgRYE6qg4fgXb1ptlU,1643
182
182
  hestia_earth/models/globalCropWaterModel2008/__init__.py,sha256=vQxexzFCl2Uv2RiIJfcppkRi9RgzBsJ68yhVDK4GvAU,425
183
183
  hestia_earth/models/globalCropWaterModel2008/rootingDepth.py,sha256=UuFzMbDrvmll3LL6T887DZ76CHt3wrK-2hl9ymmg2FI,4089
@@ -194,10 +194,10 @@ hestia_earth/models/hestia/coldDressedCarcassWeightPerHead.py,sha256=NE1aw4-rmKs
194
194
  hestia_earth/models/hestia/concentrateFeed.py,sha256=HnuG3zAECtFVdPRbTATGz5ImO2Ve1NruqD8brbrO2c4,6647
195
195
  hestia_earth/models/hestia/cropResidueManagement.py,sha256=5t32oILM-lbOsPiP6tDiITpuLZ0eISlB6Lp0goDH8eE,2223
196
196
  hestia_earth/models/hestia/croppingIntensity.py,sha256=xev3GOE06nBJ8ZY3XtbnE0eR2YR_kqAFPnrTuKFtLrQ,1777
197
- hestia_earth/models/hestia/default_emissions.py,sha256=7w3MAOaUFI4Hr_seMnnOecXpOJa2_Wa-s4o3NW5A2Nk,3414
198
- hestia_earth/models/hestia/default_resourceUse.py,sha256=zFfG9--zx_lntyN6ep9Q_MPhynUhGAxewK2JwrqiqQU,3699
197
+ hestia_earth/models/hestia/default_emissions.py,sha256=GiO9zQ_shIcdLsZAhW3uKX9vouKuhS2xxq65oG2VzkA,3408
198
+ hestia_earth/models/hestia/default_resourceUse.py,sha256=M5_mC3_t_rzvfNoyKJjZ1tSrV1V9Ci_40LIv0iawVB4,3693
199
199
  hestia_earth/models/hestia/energyContentLowerHeatingValue.py,sha256=2gR7Iu5nUUCGSXjFrkTnss6XBGtQz-yKwexCQoy8TJU,2214
200
- hestia_earth/models/hestia/excretaKgMass.py,sha256=8yUZZ_Mmx5HC6Jv2uQBFi-oJIzd-pR2Py1q0dhKY1Mo,4021
200
+ hestia_earth/models/hestia/excretaKgMass.py,sha256=Ct9nwTUXSv7FmJwDNCk45vkaW_2flu6A53ZJN6Wo4kI,3996
201
201
  hestia_earth/models/hestia/excretaKgN.py,sha256=-GfHPx6AECNPW2i_ioCuf-DhW7Xau201xqe-qWcK474,2857
202
202
  hestia_earth/models/hestia/excretaKgVs.py,sha256=fzBV7hgznevLTcvHyHKQk9upkCgmJ0xH1NuMETeSF8A,2860
203
203
  hestia_earth/models/hestia/flowingWater.py,sha256=Iy5PCWun7GMrr0zszd0zpp9lKADpXesjC3doqLY4n28,1603
@@ -235,16 +235,16 @@ hestia_earth/models/hestia/residueLeftOnField.py,sha256=EZoPlDhh1aNJvPT52Bvro6xc
235
235
  hestia_earth/models/hestia/residueRemoved.py,sha256=2I4wTJJcORrhkWiRJOzjwxRMIn3Jjeggh1dhFC2CK4Y,4969
236
236
  hestia_earth/models/hestia/resourceUse_utils.py,sha256=SYMN-40NW76LaVo2jVdnCbTgYN03mmSqvYRzgDzm5jI,8564
237
237
  hestia_earth/models/hestia/salineWater.py,sha256=rqiF3KfjvvNx3sxWFiXsP1_e5aB3ekA4QGC8vtcFHmo,1270
238
- hestia_earth/models/hestia/seed_emissions.py,sha256=amHFAc68BN_0wmXiYjia5FH-FmDQKOM7binh1vTWec4,11936
238
+ hestia_earth/models/hestia/seed_emissions.py,sha256=kP1VPDDm5M6EOOFyKhEI3L5GuUuKb7-4ni_WXrB-nSU,11930
239
239
  hestia_earth/models/hestia/soilMeasurement.py,sha256=cP4nuz2DE-FLaFbP-0fG5wbIgU28s3n4-lo8-RTFpF0,7088
240
- hestia_earth/models/hestia/stockingDensityAnimalHousingAverage.py,sha256=Ce0RZmAADDtGksfXzhX4lh-jdAs3WlCQqy2FAF3xFjo,1850
240
+ hestia_earth/models/hestia/stockingDensityAnimalHousingAverage.py,sha256=WIRmBSTk70Dffm_KcbTqpAhtnrV4rzl_m0gKED5NIAo,1844
241
241
  hestia_earth/models/hestia/temperatureAnnual.py,sha256=IhMoO-SkSp1JBxgu9bSr1OCtr7QQlZsoCXqhsWeEprs,1963
242
242
  hestia_earth/models/hestia/temperatureMonthly.py,sha256=sY4MrjCTm7X3BoDTUC0ZkxD7CWxvl51JW2UxDykCKzg,1842
243
243
  hestia_earth/models/hestia/totalNitrogenPerKgSoil.py,sha256=hpyYqMwO9TvZjrpQuSBA3uRFrOk_PPZEo9ev4QeECI4,1956
244
244
  hestia_earth/models/hestia/unknownPreSeasonWaterRegime.py,sha256=Ix7Eg4NVW1iKvPKIOqOdSkahn7BlJNtPM8nlrogrfcM,1460
245
245
  hestia_earth/models/hestia/utils.py,sha256=oTdk7VKuaxDTKj9Cz4t3qp3RZ5wSt3bZXpPiImgIIto,4768
246
246
  hestia_earth/models/hestia/waterDepth.py,sha256=gnvd1kwbTCt9HjgxlKzuCGkPi8Sq7nQiHFbk8xBAZV0,1251
247
- hestia_earth/models/hestia/waterSalinity.py,sha256=_AEyH9yVPhW03dmZ3a1JZ9R5kgOeF5uOA3Oh1zGyQTU,2673
247
+ hestia_earth/models/hestia/waterSalinity.py,sha256=2tE2LWhXTFikXu4gkHnKOAPJs8rHYVDbRwQmsC3gA2g,2667
248
248
  hestia_earth/models/hestia/feedConversionRatio/__init__.py,sha256=G4T1jfN1OqERsywiWyrBiFneUZs5QXpChz7dgGfg9Ko,2512
249
249
  hestia_earth/models/hestia/feedConversionRatio/feedConversionRatioCarbon.py,sha256=21_PXoKXJCxPOPOspKqqq-E7dh-2tVQnR4cnGZ9JGj8,1992
250
250
  hestia_earth/models/hestia/feedConversionRatio/feedConversionRatioDryMatter.py,sha256=zf-v-cAPLpSe7sr1auzUUXkjXwpXRTVvsCrzbZrwBI8,2388
@@ -289,7 +289,7 @@ hestia_earth/models/ipcc2019/belowGroundBiomass.py,sha256=z4Z0gDCFV9p50hMpLf7WrA
289
289
  hestia_earth/models/ipcc2019/belowGroundCropResidue.py,sha256=qbfsLBPaMIt4oQzYAzbsZdkJozTbwuztNr48TLYC5-Y,3507
290
290
  hestia_earth/models/ipcc2019/biomass_utils.py,sha256=bPvge2EOVACkxJlxMoFhlRMRQHdUEiBqaFX_aEmyyC0,15812
291
291
  hestia_earth/models/ipcc2019/carbonContent.py,sha256=XhXDu6DRQxANBsRsCEgw4f0UJDOgWsvhVyEwK1-4YT0,7263
292
- hestia_earth/models/ipcc2019/ch4ToAirAquacultureSystems.py,sha256=1qT29z22qLYOTbf7MHlrh6cfiQMTq0NYtpUFoCur3Ck,3535
292
+ hestia_earth/models/ipcc2019/ch4ToAirAquacultureSystems.py,sha256=JeyF4tUPn3KIDbXwgM_MFp18hnTZjLBBqMFMH_ciZ1Q,3529
293
293
  hestia_earth/models/ipcc2019/ch4ToAirEntericFermentation.py,sha256=b9FIMIGMGcpOhYHhD6yFsiatHsPe_KoF5yB3Rm6AKwA,12525
294
294
  hestia_earth/models/ipcc2019/ch4ToAirExcreta.py,sha256=4GI_d4sTlskQiSK7xR2f1EaFhBt5Mu7sx0Xq9eUhiJk,6608
295
295
  hestia_earth/models/ipcc2019/ch4ToAirFloodedRice.py,sha256=26WZtckmb7b3sbUN7hpshEdaSdvJpL3-Oer60III_KU,10225
@@ -303,7 +303,7 @@ hestia_earth/models/ipcc2019/co2ToAirSoilOrganicCarbonStockChange.py,sha256=4aRB
303
303
  hestia_earth/models/ipcc2019/co2ToAirUreaHydrolysis.py,sha256=P6OxdUbvONaTVGchvogEnGeNxox-X1FaZ08yOdqqm6k,3879
304
304
  hestia_earth/models/ipcc2019/croppingDuration.py,sha256=X2fuBCr-mspLwJUGOlVis9lnyzdZ92vYqgDA6dgL5eo,3088
305
305
  hestia_earth/models/ipcc2019/ligninContent.py,sha256=nAhwrl0b3pbGQnAycEESAzakdpXajONTnbhNwgPR7nw,7293
306
- hestia_earth/models/ipcc2019/n2OToAirCropResidueBurningDirect.py,sha256=43DObFfqABoH66fjgROu_Iv3bRKOUmCKk87bhBx1yj4,1851
306
+ hestia_earth/models/ipcc2019/n2OToAirCropResidueBurningDirect.py,sha256=K-3-pjH46Z3eEcFnOchBucuOYB2jcAA6C4q0C8i-ezo,1845
307
307
  hestia_earth/models/ipcc2019/n2OToAirCropResidueDecompositionDirect.py,sha256=Fand7NbT27unwgFTxi_9NxT024s63vQ7U6-tk9yp3d8,3990
308
308
  hestia_earth/models/ipcc2019/n2OToAirCropResidueDecompositionIndirect.py,sha256=_Oj6Jw8F4rce7FmhWkzeqyB7W3ZQWpOiA10p6xrfSwc,3777
309
309
  hestia_earth/models/ipcc2019/n2OToAirExcretaDirect.py,sha256=RW_aFY409kplCYWo3oHHVk9FD3DkoEnGkprU9SaTdcw,2196
@@ -448,14 +448,14 @@ hestia_earth/models/linkedImpactAssessment/utils.py,sha256=7M-E7u35fIF0uMoA1hwcr
448
448
  hestia_earth/models/mocking/__init__.py,sha256=9VX50c-grz-snfd-7MBS0KfF7AadtbKuj7kK6PqtsgE,687
449
449
  hestia_earth/models/mocking/build_mock_search.py,sha256=p15ccEUmkmLp1RiGNznxMz3OFHbI8P1-29ExuohiQN8,1355
450
450
  hestia_earth/models/mocking/mock_search.py,sha256=ccFe_WrI73JElFmxp4hPNLCX7eeU--lBC1JFR901KJY,1069
451
- hestia_earth/models/mocking/search-results.json,sha256=yFpO3uRv4HbUY56ZOVVdLFnl_IZD3hSxMSSjbb6mwW4,162616
451
+ hestia_earth/models/mocking/search-results.json,sha256=wK9Azsu0qZHpjEONUgnLbUQrA0rwyP6uj5x0Sikg1Qg,162618
452
452
  hestia_earth/models/pooreNemecek2018/__init__.py,sha256=nPboL7ULJzL5nJD5q7q9VOZt_fxbKVm8fmn1Az5YkVY,417
453
453
  hestia_earth/models/pooreNemecek2018/aboveGroundCropResidueTotal.py,sha256=oXillpppAas1q9GKmODxe1YXyno3EzV-j12xhzkqtTc,2404
454
454
  hestia_earth/models/pooreNemecek2018/belowGroundCropResidue.py,sha256=_pQMPSvI--Xm00H6vXDA4ct_pQXKRGrLE2f-2tQE6y4,2323
455
455
  hestia_earth/models/pooreNemecek2018/ch4ToAirAquacultureSystems.py,sha256=k_dB5iwOg6swQWb4fvfMCZ1dm1PnRff8Rpm1aclKOqA,6517
456
456
  hestia_earth/models/pooreNemecek2018/excretaKgN.py,sha256=EKVQK_wfDGRvj3lsSYp4xCjVEobOVt04fNhiZZXXfDk,5956
457
457
  hestia_earth/models/pooreNemecek2018/excretaKgVs.py,sha256=khyeuP2KBHSpseR2YPtXg0mT3qZS3fVVE47ey674fvw,9289
458
- hestia_earth/models/pooreNemecek2018/freshwaterWithdrawalsDuringCycle.py,sha256=jyFhTiL7gHPrYqxZgeP0Dfd9oRFa1TaiyVq5-ia1Lfg,3928
458
+ hestia_earth/models/pooreNemecek2018/freshwaterWithdrawalsDuringCycle.py,sha256=n6_QxRZlAMkhf9yVerv2EQ6nJOxIBsrv3dgVtIFKrjw,5656
459
459
  hestia_earth/models/pooreNemecek2018/landOccupationDuringCycle.py,sha256=gSUzPuzzLwQsBiX_Tgx6mWJ4pEB5qhlKoOtaEdmDGQ4,3431
460
460
  hestia_earth/models/pooreNemecek2018/longFallowDuration.py,sha256=qtqIPWR4Fvbi5yWnMlG3apYPQT4X_YMCob3z035mQMU,1519
461
461
  hestia_earth/models/pooreNemecek2018/n2OToAirAquacultureSystemsDirect.py,sha256=n3G4p1ed7-45Ts09kbGGyJ4wea4dp8cY4lTm_9HAsP8,2375
@@ -549,7 +549,7 @@ hestia_earth/models/schmidt2007/utils.py,sha256=tbTFg5TXAyS12JCa-OXQg37M1YymHxKW
549
549
  hestia_earth/models/site/__init__.py,sha256=aVuLLhq0OQVm-_MZoq4JAKMidqexUWJBg_7mmojmDzc,405
550
550
  hestia_earth/models/site/defaultMethodClassification.py,sha256=1EIWC99Fegu7B8GFlpysvWhuXaLDmABom3wDelIYUjc,1068
551
551
  hestia_earth/models/site/defaultMethodClassificationDescription.py,sha256=4YXf8grO9Zf5N7bPomKAqXKPOa7JhmLCXm6sO53I4is,1213
552
- hestia_earth/models/site/grouped_measurement.py,sha256=S5EHKbLJOH5jPhAawzddR6vsaxa1ny1Vzuj_CstpTcQ,4230
552
+ hestia_earth/models/site/grouped_measurement.py,sha256=Eyi9fPWzUMYRyz_r0TkzVW_Yk8Q0lVE4vEdcO9XrXao,4224
553
553
  hestia_earth/models/site/measurement/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
554
554
  hestia_earth/models/site/measurement/value.py,sha256=D09-nYYqAEQEaiaAnYtZQGp-JNP0CVFapDoIFj7iOTA,1484
555
555
  hestia_earth/models/site/post_checks/__init__.py,sha256=wgAeEJ-1oeUZP5yS8_7n5PclohdQeP57xnHnXmmYCaI,310
@@ -595,7 +595,7 @@ hestia_earth/models/utils/aggregated.py,sha256=G7FNJfHqJ_eoXB66kGdjLyZGDOI_gsF56
595
595
  hestia_earth/models/utils/animalProduct.py,sha256=M5IunAKGY6oZv3j1Ascl34ywyeLWApqOIlBzbtlA2FE,721
596
596
  hestia_earth/models/utils/aquacultureManagement.py,sha256=dxrbC1Xf140cohxTbSw6TxLAnAASWTdNZwBBam4yQnw,171
597
597
  hestia_earth/models/utils/array_builders.py,sha256=ko1pDZKaUudZqxOZ99vJamKAdoR6ND4ZmxVrYH6YjPc,19498
598
- hestia_earth/models/utils/background_emissions.py,sha256=DnPzhEWO6OU7MwYsV33TjV9QjzwFNd2eBsxQXDtoxFM,3106
598
+ hestia_earth/models/utils/background_emissions.py,sha256=54zuH4yFNc_cle3uYGtK_EjhkG0XGaG5L6eGKiTyOG4,3100
599
599
  hestia_earth/models/utils/blank_node.py,sha256=o1MzCz6FXuJ4Iit55EeGrHbrGM9VUfdAF1RNqTBU89Y,56070
600
600
  hestia_earth/models/utils/cache_sources.py,sha256=MBkrPpjwNiC4ApDjeYVHZjWBbpvAerXRDrMHpjasAZ0,377
601
601
  hestia_earth/models/utils/completeness.py,sha256=iRG4uviOAQQ4T2Nr4LlelPVTS_F1felGZNJYxek_JG8,1239
@@ -612,15 +612,15 @@ hestia_earth/models/utils/excretaManagement.py,sha256=PNZoaf6nvdt1t7B8Apa638rU8T
612
612
  hestia_earth/models/utils/feedipedia.py,sha256=fVyEx2C5CSu0pv--tG6dOfQQ7WzThPoVuzM_FW9jP18,4009
613
613
  hestia_earth/models/utils/fertiliser.py,sha256=9Kv7czDEPDvZ5Bz6Rr_2vy2MsXrPDvBC3921cEJSks8,810
614
614
  hestia_earth/models/utils/fuel.py,sha256=XzOELV3dn506PkMKjFQ_ZKVZInd2lL2x6PKdsa6Po4M,1429
615
- hestia_earth/models/utils/impact_assessment.py,sha256=YeO7Z-9_KYyIsb1JpRJmUBbsik0FcIuLAzafF2v9yQQ,7933
615
+ hestia_earth/models/utils/impact_assessment.py,sha256=MW38yKehkrF7YWYCbDtG-xMjVhhAffxkcOiLYOdrmFI,8377
616
616
  hestia_earth/models/utils/indicator.py,sha256=qdXJP9PDQbEzcGYERp3d3exkDGFmgj1-2987Ls6Hums,772
617
617
  hestia_earth/models/utils/inorganicFertiliser.py,sha256=2Uq6ATWwb_YYRzBCMdrlVWyCDDtWVApUxgxDEN3-3OA,1782
618
618
  hestia_earth/models/utils/input.py,sha256=61aaJV6QApJQIQT5TMsBww46cBYpJdf__krnwV95KsY,6160
619
619
  hestia_earth/models/utils/landCover.py,sha256=8-nfynzCx9gf9YfhpuoH6Cn4kQwWFpYA5RmoGW-0ETE,300
620
620
  hestia_earth/models/utils/liveAnimal.py,sha256=-ufUs00ALXRKGbrRJi7a7eTWVvkEj_pxLDWYbMJmx2g,1770
621
- hestia_earth/models/utils/lookup.py,sha256=1sDA9LAh1zomS4XWdfM3QcBajgy7P5mfwngb6PPlRtM,6198
621
+ hestia_earth/models/utils/lookup.py,sha256=70dw7QcNAPqL8t0nDQc2aGEcrFXhZKF24Os36AvVDtA,6499
622
622
  hestia_earth/models/utils/management.py,sha256=urvoHvTw5wrO12POjGQ50Or25X1Y4Gx26l4fDoVt-Ck,376
623
- hestia_earth/models/utils/measurement.py,sha256=HElALkyxRa1Jj_rsf0cTUcgKPpxJZEP-XuMDFn8TusQ,11786
623
+ hestia_earth/models/utils/measurement.py,sha256=1Da0CzWu_RDzVEqcBIl_EGsRq7PmafICyBva3-QtjVQ,11744
624
624
  hestia_earth/models/utils/method.py,sha256=ZYN2_Fyeiwr9pmvD84ZPg7ZHBlvaIY2A6XL4F_KByS0,740
625
625
  hestia_earth/models/utils/organicFertiliser.py,sha256=2HY-a0EBzUw4DkEAXClLMXVCEZTKYf0BwFHBo7lQ5Tg,363
626
626
  hestia_earth/models/utils/pesticideAI.py,sha256=DQIAjgkWjKPyuMLUvnEgVkeQGCEOBjyJJktWU747b00,2047
@@ -1081,7 +1081,7 @@ tests/models/pooreNemecek2018/test_belowGroundCropResidue.py,sha256=A6EOD2B6frN0
1081
1081
  tests/models/pooreNemecek2018/test_ch4ToAirAquacultureSystems.py,sha256=p_n0NZim2DsHGTWp20pkwSF1R0L3Lv-HDf-DitvHKhg,2492
1082
1082
  tests/models/pooreNemecek2018/test_excretaKgN.py,sha256=HExbvxYBDumOg0u6wkXZ9F_2rW0vxgsTDaEp9lj6Nos,4054
1083
1083
  tests/models/pooreNemecek2018/test_excretaKgVs.py,sha256=VQCfF6y7oPQAQ7DgwPHWoeFcgVSuLzhU2G0VgEfECOo,3252
1084
- tests/models/pooreNemecek2018/test_freshwaterWithdrawalsDuringCycle.py,sha256=5QxDU6VzcwWup3Nuhn32kJoIlAkqcSggGr4CmoRqrFA,1623
1084
+ tests/models/pooreNemecek2018/test_freshwaterWithdrawalsDuringCycle.py,sha256=TQEYds8imjMNHqjApn0MIMuPbx5HtZtVABb_Ds5T7ZY,2044
1085
1085
  tests/models/pooreNemecek2018/test_landOccupationDuringCycle.py,sha256=R8tiV9FtpvwDNcxt4zs1RUDDLNKRjGHS1fS9ZJKZYgA,1986
1086
1086
  tests/models/pooreNemecek2018/test_longFallowDuration.py,sha256=kelZajIbKyvVm1vX_grRZy0IUrtejGI5GPn03qbElnw,925
1087
1087
  tests/models/pooreNemecek2018/test_n2OToAirAquacultureSystemsDirect.py,sha256=Dvgnk1tOxJteXzULyDr0dVbqkYe_TYnjGJcAK2kZujk,1977
@@ -1221,7 +1221,7 @@ tests/models/utils/test_descriptive_stats.py,sha256=BpCuUBzvrqc_LjXutIGyyVPhsmbp
1221
1221
  tests/models/utils/test_ecoClimateZone.py,sha256=Pzy1wuCqkz4Ftms-6eCxdYg1sdOVu8bobTNVd-TUm3U,4280
1222
1222
  tests/models/utils/test_emission.py,sha256=N7Vk_CMsU5wy73nh_VoHtXDsp02R1oGalFwppYD8Bzo,1941
1223
1223
  tests/models/utils/test_feedipedia.py,sha256=S7c1W4bJ5xWXPh42pPbl3R7lDX_iEeaEtFaPXgB7hgE,906
1224
- tests/models/utils/test_impact_assessment.py,sha256=rZVGzf_ZKOttdTxyyalR5DtcG9vHKfMuTAB_3ohkiDQ,1141
1224
+ tests/models/utils/test_impact_assessment.py,sha256=XeIBY2-a-GQDrIjBlEupqUAOonrHVgpVSmw4nc7mql8,1582
1225
1225
  tests/models/utils/test_indicator.py,sha256=zEBSwHO-0py20lydi_9Lsg1RGsPnJ2e6JccvhtxVzIY,636
1226
1226
  tests/models/utils/test_input.py,sha256=oUjgIYrqPf-KxgJB1mjbPlj95MbBp-4gQygQTJpI4rI,2441
1227
1227
  tests/models/utils/test_liveAnimal.py,sha256=bntT4vULWsDF2DOigtiMjpS0gJS5ipalPsfrk-JxC-I,986
@@ -1254,8 +1254,8 @@ tests/orchestrator/strategies/run/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeR
1254
1254
  tests/orchestrator/strategies/run/test_add_blank_node_if_missing.py,sha256=K4xg4UAXfNhSaLyknKVPO7MGBF44Z_gD7CuZ_pe28gU,3512
1255
1255
  tests/orchestrator/strategies/run/test_add_key_if_missing.py,sha256=hKwvk1ohcBVnQUCTiDhRW99J0xEa29BpwFi1KC0yWLE,329
1256
1256
  tests/orchestrator/strategies/run/test_always.py,sha256=w5-Dhp6yLzgZGAeMRz3OrqZbbAed9gZ1O266a3z9k7w,134
1257
- hestia_earth_models-0.73.0.dist-info/LICENSE,sha256=TD25LoiRJsA5CPUNrcyt1PXlGcbUGFMAeZoBcfCrCNE,1154
1258
- hestia_earth_models-0.73.0.dist-info/METADATA,sha256=OFEDflzVeE8N4CAJRyBDBZi2scLUFQd8Vx2lqji16zI,4045
1259
- hestia_earth_models-0.73.0.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
1260
- hestia_earth_models-0.73.0.dist-info/top_level.txt,sha256=1dqA9TqpOLTEgpqa-YBsmbCmmNU1y56AtfFGEceZ2A0,19
1261
- hestia_earth_models-0.73.0.dist-info/RECORD,,
1257
+ hestia_earth_models-0.73.1.dist-info/LICENSE,sha256=TD25LoiRJsA5CPUNrcyt1PXlGcbUGFMAeZoBcfCrCNE,1154
1258
+ hestia_earth_models-0.73.1.dist-info/METADATA,sha256=vjktwIa0xJyoOFhMxOrsXFFTagjl1E2vtj24Knc3qM4,4045
1259
+ hestia_earth_models-0.73.1.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
1260
+ hestia_earth_models-0.73.1.dist-info/top_level.txt,sha256=1dqA9TqpOLTEgpqa-YBsmbCmmNU1y56AtfFGEceZ2A0,19
1261
+ hestia_earth_models-0.73.1.dist-info/RECORD,,
@@ -46,3 +46,15 @@ def test_run_data_complete(*args):
46
46
 
47
47
  value = run(impact)
48
48
  assert value == expected
49
+
50
+
51
+ @patch(f"{class_path}._new_indicator", side_effect=fake_new_indicator)
52
+ def test_run_with_waterRegime(*args):
53
+ with open(f"{fixtures_folder}/with-waterRegime/impact-assessment.jsonld", encoding='utf-8') as f:
54
+ impact = json.load(f)
55
+
56
+ with open(f"{fixtures_folder}/with-waterRegime/result.jsonld", encoding='utf-8') as f:
57
+ expected = json.load(f)
58
+
59
+ value = run(impact)
60
+ assert value == expected
@@ -1,4 +1,6 @@
1
- from hestia_earth.models.utils.impact_assessment import impact_emission_lookup_value, get_region_id
1
+ import pytest
2
+
3
+ from hestia_earth.models.utils.impact_assessment import impact_emission_lookup_value, get_region_id, get_country_id
2
4
 
3
5
 
4
6
  def test_impact_emission_lookup_value():
@@ -17,16 +19,30 @@ def test_impact_emission_lookup_value():
17
19
  assert impact_emission_lookup_value('', '', impact, 'co2EqGwp100ExcludingClimate-CarbonFeedbacksIpcc2013') == 2800
18
20
 
19
21
 
20
- def test_get_region_id():
21
- impact = {'country': {'@id': ''}}
22
+ @pytest.mark.parametrize(
23
+ 'impact,expected',
24
+ [
25
+ ({}, None),
26
+ ({'country': {'@id': ''}}, None),
27
+ ({'country': {'@id': 'region-world'}}, 'region-world'),
28
+ ({'country': {'@id': 'GADM-AUS'}}, 'GADM-AUS'),
29
+ ({'site': {'country': {'@id': 'GADM-AUS'}, 'region': {'@id': 'GADM-AUS.101_1'}}}, 'GADM-AUS.101_1'),
30
+ ({'site': {'region': {'@id': 'GADM-ZAF.5.1.2_1'}}}, 'GADM-ZAF.5_1'),
31
+ ]
32
+ )
33
+ def test_get_region_id(impact: dict, expected: str):
34
+ assert get_region_id(impact) == expected, expected
35
+
22
36
 
23
- impact['country']['@id'] = 'region-world'
24
- assert get_region_id(impact) == 'region-world'
25
- impact['country']['@id'] = 'GADM-AUS'
26
- assert get_region_id(impact) == 'GADM-AUS'
27
- impact['country']['@id'] = 'GADM-AUS.101_1'
28
- assert get_region_id(impact) == 'GADM-AUS.101_1'
29
- impact['country']['@id'] = 'GADM-AUS.1.2_1'
30
- assert get_region_id(impact) == 'GADM-AUS.1_1'
31
- impact['country']['@id'] = 'GADM-ZAF.5.1.2_1'
32
- assert get_region_id(impact) == 'GADM-ZAF.5_1'
37
+ @pytest.mark.parametrize(
38
+ 'impact,expected',
39
+ [
40
+ ({}, None),
41
+ ({'country': {'@id': ''}}, None),
42
+ ({'country': {'@id': 'region-world'}}, 'region-world'),
43
+ ({'country': {'@id': 'GADM-AUS'}}, 'GADM-AUS'),
44
+ ({'site': {'country': {'@id': 'GADM-AUS'}}}, 'GADM-AUS'),
45
+ ]
46
+ )
47
+ def test_get_country_id(impact: dict, expected: str):
48
+ assert get_country_id(impact) == expected, expected