hestia-earth-models 0.65.10__py3-none-any.whl → 0.66.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. hestia_earth/models/cache_sites.py +7 -9
  2. hestia_earth/models/config/Cycle.json +34 -16
  3. hestia_earth/models/config/ImpactAssessment.json +12 -0
  4. hestia_earth/models/config/Site.json +4 -1
  5. hestia_earth/models/cycle/completeness/freshForage.py +10 -2
  6. hestia_earth/models/cycle/cropResidueManagement.py +3 -1
  7. hestia_earth/models/ecoinventV3/__init__.py +2 -1
  8. hestia_earth/models/environmentalFootprintV3/environmentalFootprintSingleOverallScore.py +135 -0
  9. hestia_earth/models/environmentalFootprintV3/soilQualityIndexLandTransformation.py +17 -6
  10. hestia_earth/models/geospatialDatabase/{aware.py → awareWaterBasinId.py} +1 -1
  11. hestia_earth/models/hestia/landCover.py +57 -39
  12. hestia_earth/models/hestia/residueRemoved.py +80 -0
  13. hestia_earth/models/hestia/resourceUse_utils.py +64 -38
  14. hestia_earth/models/hestia/utils.py +1 -2
  15. hestia_earth/models/ipcc2019/aboveGroundBiomass.py +33 -12
  16. hestia_earth/models/ipcc2019/animal/pastureGrass.py +1 -1
  17. hestia_earth/models/ipcc2019/belowGroundBiomass.py +32 -11
  18. hestia_earth/models/ipcc2019/ch4ToAirEntericFermentation.py +17 -8
  19. hestia_earth/models/ipcc2019/co2ToAirCarbonStockChange_utils.py +5 -3
  20. hestia_earth/models/ipcc2019/organicCarbonPerHa_tier_2_utils.py +27 -17
  21. hestia_earth/models/ipcc2019/pastureGrass.py +1 -1
  22. hestia_earth/models/ipcc2019/pastureGrass_utils.py +8 -1
  23. hestia_earth/models/log.py +1 -1
  24. hestia_earth/models/mocking/search-results.json +34 -34
  25. hestia_earth/models/pooreNemecek2018/freshwaterWithdrawalsDuringCycle.py +0 -1
  26. hestia_earth/models/pooreNemecek2018/landOccupationDuringCycle.py +13 -10
  27. hestia_earth/models/site/defaultMethodClassification.py +9 -2
  28. hestia_earth/models/site/defaultMethodClassificationDescription.py +4 -2
  29. hestia_earth/models/site/management.py +49 -31
  30. hestia_earth/models/site/pre_checks/cache_geospatialDatabase.py +19 -14
  31. hestia_earth/models/utils/blank_node.py +10 -4
  32. hestia_earth/models/utils/crop.py +1 -1
  33. hestia_earth/models/utils/cycle.py +3 -3
  34. hestia_earth/models/utils/lookup.py +1 -1
  35. hestia_earth/models/version.py +1 -1
  36. hestia_earth/orchestrator/strategies/merge/merge_list.py +17 -6
  37. {hestia_earth_models-0.65.10.dist-info → hestia_earth_models-0.66.0.dist-info}/METADATA +1 -1
  38. {hestia_earth_models-0.65.10.dist-info → hestia_earth_models-0.66.0.dist-info}/RECORD +59 -54
  39. tests/models/environmentalFootprintV3/test_environmentalFootprintSingleOverallScore.py +92 -0
  40. tests/models/environmentalFootprintV3/test_soilQualityIndexLandTransformation.py +4 -19
  41. tests/models/faostat2018/product/test_price.py +1 -1
  42. tests/models/geospatialDatabase/{test_aware.py → test_awareWaterBasinId.py} +1 -1
  43. tests/models/hestia/test_landCover.py +4 -2
  44. tests/models/hestia/test_landTransformation20YearAverageDuringCycle.py +3 -1
  45. tests/models/hestia/test_residueRemoved.py +20 -0
  46. tests/models/ipcc2019/test_aboveGroundBiomass.py +3 -1
  47. tests/models/ipcc2019/test_belowGroundBiomass.py +4 -2
  48. tests/models/ipcc2019/test_organicCarbonPerHa.py +94 -1
  49. tests/models/pooreNemecek2018/test_landOccupationDuringCycle.py +1 -3
  50. tests/models/site/pre_checks/test_cache_geospatialDatabase.py +22 -0
  51. tests/models/site/test_defaultMethodClassification.py +6 -0
  52. tests/models/site/test_defaultMethodClassificationDescription.py +6 -0
  53. tests/models/site/test_management.py +4 -4
  54. tests/models/test_cache_sites.py +2 -2
  55. tests/models/utils/test_crop.py +14 -2
  56. tests/orchestrator/strategies/merge/test_merge_list.py +11 -1
  57. {hestia_earth_models-0.65.10.dist-info → hestia_earth_models-0.66.0.dist-info}/LICENSE +0 -0
  58. {hestia_earth_models-0.65.10.dist-info → hestia_earth_models-0.66.0.dist-info}/WHEEL +0 -0
  59. {hestia_earth_models-0.65.10.dist-info → hestia_earth_models-0.66.0.dist-info}/top_level.txt +0 -0
@@ -1,5 +1,7 @@
1
1
  import pydash
2
+ from datetime import datetime
2
3
  from hestia_earth.schema import UNIQUENESS_FIELDS
4
+ from hestia_earth.utils.tools import safe_parse_date
3
5
 
4
6
  from hestia_earth.orchestrator.utils import _non_empty_list, update_node_version
5
7
  from .merge_node import merge as merge_node
@@ -31,11 +33,17 @@ def _match_list_el(source: list, dest: list, key: str):
31
33
  return src_value == dest_value
32
34
 
33
35
 
34
- def _match_el(source: dict, dest: dict, keys: list):
36
+ def _get_value(data: dict, key: str, merge_args: dict = {}):
37
+ value = pydash.objects.get(data, key)
38
+ date = safe_parse_date(value) if key in ['startDate', 'endDate'] else None
39
+ return datetime.strftime(date, merge_args.get('matchDatesFormat', '%Y-%m-%d')) if date else value
40
+
41
+
42
+ def _match_el(source: dict, dest: dict, keys: list, merge_args: dict = {}):
35
43
  def match(key: str):
36
44
  keys = key.split('.')
37
- src_value = pydash.objects.get(source, key)
38
- dest_value = pydash.objects.get(dest, key)
45
+ src_value = _get_value(source, key, merge_args)
46
+ dest_value = _get_value(dest, key, merge_args)
39
47
  is_list = len(keys) >= 2 and (
40
48
  isinstance(pydash.objects.get(source, keys[0]), list) or
41
49
  isinstance(pydash.objects.get(dest, keys[0]), list)
@@ -68,7 +76,7 @@ def _handle_local_property(values: list, properties: list, local_id: str):
68
76
  return properties
69
77
 
70
78
 
71
- def _find_match_el_index(values: list, el: dict, same_methodModel: bool, model: dict, node_type: str):
79
+ def _find_match_el_index(values: list, el: dict, same_methodModel: bool, model: dict, node_type: str, merge_args: dict):
72
80
  """
73
81
  Find an element in the values that match the new element, based on the unique properties.
74
82
  To find a matching element:
@@ -83,7 +91,10 @@ def _find_match_el_index(values: list, el: dict, same_methodModel: bool, model:
83
91
  ]
84
92
  properties = _handle_local_property(values, properties, 'impactAssessment.id')
85
93
 
86
- return next((i for i in range(len(values)) if _match_el(values[i], el, properties)), None) if properties else None
94
+ return next(
95
+ (i for i in range(len(values)) if _match_el(values[i], el, properties, merge_args)),
96
+ None
97
+ ) if properties else None
87
98
 
88
99
 
89
100
  def merge(source: list, merge_with: list, version: str, model: dict = {}, merge_args: dict = {}, node_type: str = ''):
@@ -95,7 +106,7 @@ def merge(source: list, merge_with: list, version: str, model: dict = {}, merge_
95
106
  skip_same_term = merge_args.get('skipSameTerm', False)
96
107
 
97
108
  for el in _non_empty_list(merge_with):
98
- source_index = _find_match_el_index(source, el, same_methodModel, model, node_type)
109
+ source_index = _find_match_el_index(source, el, same_methodModel, model, node_type, merge_args)
99
110
  if source_index is None:
100
111
  source.append(update_node_version(version, el))
101
112
  elif not skip_same_term:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hestia-earth-models
3
- Version: 0.65.10
3
+ Version: 0.66.0
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,10 +1,10 @@
1
1
  hestia_earth/__init__.py,sha256=G-d438vPx7m_ks5e9XTtM3u7LDRO5dSSukibukWmyPM,56
2
2
  hestia_earth/models/__init__.py,sha256=qEFeq3yuf3lQKVseALmL8aPM8fpCS54B_5pry00M3hk,76
3
- hestia_earth/models/cache_sites.py,sha256=Llo2SH1Lp-R8x1JRxJ2Ta-vw5RbdUj2FHXUP-cpKclw,5758
4
- hestia_earth/models/log.py,sha256=_zAfyOkL_VknEnMFvcpvenSMghadlDfZhiSx28545Gk,3558
3
+ hestia_earth/models/cache_sites.py,sha256=tApCGZ55bRG3rl7a-jjwZokgF3dxGbg8WlKfwoYkZLs,5554
4
+ hestia_earth/models/log.py,sha256=3NzkAEgxMGCMolQbC6nDuAJEb7ZpQNXLekhbRNjedSo,3561
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=kGCwazFyJPTHO9Kny5rZmqHxPuatjOBEax2liicBscw,20
7
+ hestia_earth/models/version.py,sha256=BvGgKIxig5TeeXiVMjrtK52tJU8MKBp9mZri02j09mQ,19
8
8
  hestia_earth/models/agribalyse2016/__init__.py,sha256=WvK0qCQbnYtg9oZxrACd1wGormZyXibPtpCnIQeDqbw,415
9
9
  hestia_earth/models/agribalyse2016/fuelElectricity.py,sha256=rm5ZaRAzJ08m2y4BxkGh-RjudkDWgozmg3XumoRm-fQ,4511
10
10
  hestia_earth/models/agribalyse2016/machineryInfrastructureDepreciatedAmountPerCycle.py,sha256=BPjnWmg73i_OxM2ouCdMTWZtPIqyoUAXrvutntyteE0,3390
@@ -34,9 +34,9 @@ hestia_earth/models/cml2001Baseline/terrestrialAcidificationPotentialIncludingFa
34
34
  hestia_earth/models/cml2001NonBaseline/__init__.py,sha256=vI8wp8Og_e8DiJqYYvp33YoI3t4ffAC31LWlnV20JTg,419
35
35
  hestia_earth/models/cml2001NonBaseline/eutrophicationPotentialIncludingFateAverageEurope.py,sha256=lcgyRHY08KCBFPERJNqV4DYGEJCvyHBDnJXD0kEkVqM,1097
36
36
  hestia_earth/models/cml2001NonBaseline/terrestrialAcidificationPotentialExcludingFate.py,sha256=xcrxfs9UoV_EWvV-XzMt35oPWCUsTzqg2SGA3j2MFIw,1091
37
- hestia_earth/models/config/Cycle.json,sha256=b_TTZGQ5QbD6BZ2tYezFlsxBKVwZONRVfA0cXAt1PBQ,56069
38
- hestia_earth/models/config/ImpactAssessment.json,sha256=EB8O8_GZ182upCP-Rpko7I48Tdf30ScK-ZZ3rf4DQQI,57585
39
- hestia_earth/models/config/Site.json,sha256=SyajKMEg03v9_NdiQlfcyF7B60lrBlXZF6tlahnpfZA,13071
37
+ hestia_earth/models/config/Cycle.json,sha256=pl90Wepb0ocERsRm2ZTeXYXJvBrAwfIjjLQQQQheNmM,56452
38
+ hestia_earth/models/config/ImpactAssessment.json,sha256=AAa3VMREvIDUwrqmRq67VQcB-wxEQTlZWiewBoVuow4,57936
39
+ hestia_earth/models/config/Site.json,sha256=i25vGzBYcaGnU6BvNE2cdmpo6DJolXKKogyCfXaMTuQ,13146
40
40
  hestia_earth/models/config/__init__.py,sha256=l1WqL7ezlank86ABP4zUia_hIvM9ba-sOE3z6wNrea8,2333
41
41
  hestia_earth/models/config/run-calculations.json,sha256=e3nJ4M6CP1iFzfv8ou_ZUFbFxYkDxJgwuNDXTm4PBDc,615
42
42
  hestia_earth/models/config/trigger-calculations.json,sha256=3dmn2bRuj6QEtSTOLdIy31ho7thgUXyDsnqZzPV9rAQ,623
@@ -45,7 +45,7 @@ hestia_earth/models/cycle/aboveGroundCropResidueTotal.py,sha256=9swq4YEeJQ2YjVOm
45
45
  hestia_earth/models/cycle/coldCarcassWeightPerHead.py,sha256=fQ7huuxyS5PQkRmR_tRCOz9rV3LJwLfLQJjH_TcTz6k,2955
46
46
  hestia_earth/models/cycle/coldDressedCarcassWeightPerHead.py,sha256=k0xg5SIfJGwEKteFr2Fh-lh8yDC_sqQw_lBnnfwl9zU,3069
47
47
  hestia_earth/models/cycle/concentrateFeed.py,sha256=4Z8rR4ESFI_uFnIWKM06TDad51ixxkCyLIKfAe2DFgY,6849
48
- hestia_earth/models/cycle/cropResidueManagement.py,sha256=QTRCCFu9VvD_a3_8aAj216vsuhAJEhlAwTJH7ifMkDo,2237
48
+ hestia_earth/models/cycle/cropResidueManagement.py,sha256=eae6FxIjpA7bUXkqWpNnxlv_6lF8-m66yDMjsm01r5k,2363
49
49
  hestia_earth/models/cycle/croppingIntensity.py,sha256=44CgDqXg9CBRfTPYTyOleQT-M4_tsQgPba-0vjjk_C4,1770
50
50
  hestia_earth/models/cycle/cycleDuration.py,sha256=ccODF5CJBEd55-CMttCr0eI4uH7OoRvYJZjcth09QMg,3193
51
51
  hestia_earth/models/cycle/endDate.py,sha256=ruhNJl5Clk5K6E2JJfKVN_tI3KlZjuNA3tnhWWXA-oQ,1749
@@ -88,7 +88,7 @@ hestia_earth/models/cycle/completeness/animalFeed.py,sha256=8Fo1TqwSuiPudvd2vJ-L
88
88
  hestia_earth/models/cycle/completeness/cropResidue.py,sha256=Jpmm5SAiyUkaFp8EsBIQ55jiCyn3C20a3au_zaPRnEk,2837
89
89
  hestia_earth/models/cycle/completeness/electricityFuel.py,sha256=uEXMyfMCvvZKD3jcQGAIZOv1cZLrhpXZiyCn_56kxig,2125
90
90
  hestia_earth/models/cycle/completeness/excreta.py,sha256=2yVxcuWjAh4hoEukaMJ90VZpkCL7SfpwIgzigbjVaF4,996
91
- hestia_earth/models/cycle/completeness/freshForage.py,sha256=MORlqhTZT67TWgH9Zu1aPHxBXIU4JSmjaV6uzSqKnc8,1973
91
+ hestia_earth/models/cycle/completeness/freshForage.py,sha256=bfPoOvhQU6nztSTGYlonv5ungk5TmtV0x89gk3aT_Dw,2256
92
92
  hestia_earth/models/cycle/completeness/material.py,sha256=UQH2oRnUY-Q-_MVuOlTAYqQxc7wWDM5mi_iFmp9PlIQ,1362
93
93
  hestia_earth/models/cycle/completeness/seed.py,sha256=rLNar7q39YqdtyFLBiyXeRbsVSWFRd8H7Bhjx7ATISU,1932
94
94
  hestia_earth/models/cycle/completeness/soilAmendment.py,sha256=AXGtO1d8oLWgvmVLoNBqknsH2lmr5y15E2xkgZpkCSU,1392
@@ -127,7 +127,7 @@ hestia_earth/models/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
127
127
  hestia_earth/models/data/ecoinventV3/__init__.py,sha256=oevyurRuioXy_CsQCtG-S_FXEpiEDeQ-UK5a0jPBXcI,1155
128
128
  hestia_earth/models/deRuijterEtAl2010/__init__.py,sha256=lbH6mB98dmZZlwdZctNYtEmVwAow957l80Dv7JSPDsI,418
129
129
  hestia_earth/models/deRuijterEtAl2010/nh3ToAirCropResidueDecomposition.py,sha256=2z10WqMsGUDDO8xJ3lmXvSUHgzz2t6PPRDha5NHoT5s,3291
130
- hestia_earth/models/ecoinventV3/__init__.py,sha256=mg1d_nqD06ab-ZRxxhQB-3fpqAUcDk4vaV43vdK4xes,6124
130
+ hestia_earth/models/ecoinventV3/__init__.py,sha256=7EHRtEEkWAubVfzhl5pd3xb6Xq6x-5Vz_5JRoH4C59M,6168
131
131
  hestia_earth/models/ecoinventV3/utils.py,sha256=odmFDw2PfudZM-fRQg2hBLBD7Qd3rq8SWJWTvy9ZWWw,1517
132
132
  hestia_earth/models/ecoinventV3AndEmberClimate/__init__.py,sha256=RpxIwm8AELbzgedna5MgmOMuHNTmLQLi4HrXywDbhXs,5863
133
133
  hestia_earth/models/ecoinventV3AndEmberClimate/utils.py,sha256=INWB7gyhzk49GQ0KAcBS-Kzwdoyd5MQJcsCtuT6XxZA,1352
@@ -146,9 +146,10 @@ hestia_earth/models/emepEea2019/tspToAirAnimalHousing.py,sha256=hHHhu_EZWhxAKhGJ
146
146
  hestia_earth/models/emepEea2019/utils.py,sha256=oTHjbRRwJZv_tpO9MOlfpyQRmN0a1kvEZsVHUPliZpQ,4014
147
147
  hestia_earth/models/emissionNotRelevant/__init__.py,sha256=NkP635TDNs7bQBv2n9tUTLwScZHfUkSC4XzLVwjxWtg,2240
148
148
  hestia_earth/models/environmentalFootprintV3/__init__.py,sha256=lzg9qccwd9tbspw0lQ58YPprnvvSLTn3QV5T2-tPcC4,425
149
+ hestia_earth/models/environmentalFootprintV3/environmentalFootprintSingleOverallScore.py,sha256=Jlenb5nh0DKCoh8Pdd6-3Bxvyg9fB3bw1ww3_y7nE9w,5796
149
150
  hestia_earth/models/environmentalFootprintV3/freshwaterEcotoxicityPotentialCtue.py,sha256=N_gw2aNoCMW5Z1XM-uAyCF1kfpZUI07giv_bo3Lmr5Q,918
150
151
  hestia_earth/models/environmentalFootprintV3/soilQualityIndexLandOccupation.py,sha256=r3GV2pspKWAlKU46TMh_6D_rrXtY_onhk3RnukzJjD8,5095
151
- hestia_earth/models/environmentalFootprintV3/soilQualityIndexLandTransformation.py,sha256=h4NVqDHYuf2-6WIZMzA6-8WrZ2yLyGAUCSanEJo_dzs,6709
152
+ hestia_earth/models/environmentalFootprintV3/soilQualityIndexLandTransformation.py,sha256=D_le-V9J0JFcCT5YBXYWv_Z1IQ67EjvwDiaoDuVeJ6w,7072
152
153
  hestia_earth/models/environmentalFootprintV3/soilQualityIndexTotalLandUseEffects.py,sha256=SIjFYPv4n3mziohW2nlycaMssHQ3ws79hqHa4i3sCVI,2997
153
154
  hestia_earth/models/environmentalFootprintV3/utils.py,sha256=fZ99_G0Kh4OUW5wH-LglzCrKp8l2plKuCs4yvUH_3hs,699
154
155
  hestia_earth/models/epa2014/__init__.py,sha256=ckGf_6X7CCzI_18OqchEkuJAXKXM1x7V53u480ckknM,408
@@ -169,7 +170,7 @@ hestia_earth/models/faostat2018/product/price.py,sha256=xAfHfMt2YhBOo0eQSaEnWfqe
169
170
  hestia_earth/models/frischknechtEtAl2000/__init__.py,sha256=Fixyy9UwoCGP5-MHyJu_ctS40SQ2imfvZo8a547029U,421
170
171
  hestia_earth/models/frischknechtEtAl2000/ionisingRadiationKbqU235Eq.py,sha256=czZx8DgnDuLOdK0CfiriPbj1BwoiWn4d1nkQOiwkcPA,4472
171
172
  hestia_earth/models/geospatialDatabase/__init__.py,sha256=TH-FW3aoL7r1GquRChr7rde7uQonKQRDR00udG8tDrQ,957
172
- hestia_earth/models/geospatialDatabase/aware.py,sha256=cbxFnShXW8QUCIjU4uuO1DdK9KhYiLf41ZVjS9hSppI,1358
173
+ hestia_earth/models/geospatialDatabase/awareWaterBasinId.py,sha256=dr1y-itgThtsdbcWOAVGe8xMG9JEkIWTB63BygutP-g,1370
173
174
  hestia_earth/models/geospatialDatabase/clayContent.py,sha256=u8SQKx-zu3vhMQ-XOJgqyUn-tlCCIy-VG7zpl5AyjtY,3386
174
175
  hestia_earth/models/geospatialDatabase/croppingIntensity.py,sha256=4HVrl7Hayg6IpdCrz19Xq_clKdcS_0Sw9uiA4kjKJ40,2509
175
176
  hestia_earth/models/geospatialDatabase/drainageClass.py,sha256=CVagB2wxLnHgQQauDyYCJCfJw21OPB7Ry8BVyt2uPak,1883
@@ -206,12 +207,13 @@ hestia_earth/models/haversineFormula/__init__.py,sha256=o155nR-XI67iCSBVNYIu4sPR
206
207
  hestia_earth/models/haversineFormula/transport/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
207
208
  hestia_earth/models/haversineFormula/transport/distance.py,sha256=163KrmKzlEQuKYT1ZvpPgmKlv_-mmvxp0A1_uKya99w,4203
208
209
  hestia_earth/models/hestia/__init__.py,sha256=o5vAmPzSaK9XPgL8GCne3-lugfCOgZhHELYolNgqyyY,407
209
- hestia_earth/models/hestia/landCover.py,sha256=zq9JIJn4qdsX3SvZxmS5qllOl0xinJfrHDR5dsYjDpg,29507
210
+ hestia_earth/models/hestia/landCover.py,sha256=L0TsEzDAF4tczU_TSa-UrtUbJiBjuUYxDY64-oOeT-o,30224
210
211
  hestia_earth/models/hestia/landTransformation100YearAverageDuringCycle.py,sha256=-7ToRvCVPD6AAcjxorPS5jSWio7JAglHrdSS9PPyPqQ,1551
211
212
  hestia_earth/models/hestia/landTransformation20YearAverageDuringCycle.py,sha256=TCskVLhYXBMxdeZM-gN4Tdixk5ua7eVn-o5dfIT_H7o,1543
212
- hestia_earth/models/hestia/resourceUse_utils.py,sha256=1ySn4d-qkDeU8Ss_80l-uOypPoWsmDsqnS6IM8wkI34,7113
213
+ hestia_earth/models/hestia/residueRemoved.py,sha256=VdB00ZdwQMIj7qsZ7549DQmbqWtCQtFZpsUlc_11yt8,2857
214
+ hestia_earth/models/hestia/resourceUse_utils.py,sha256=7DJE4yGUl0BCiNdtr8u_41Uz8m9yY7tdlC9ggkGwh7c,8639
213
215
  hestia_earth/models/hestia/seed_emissions.py,sha256=58hmHAgemOuGVIsij-FWF7EsGmEbCSfzFAEfXkXSyEE,11566
214
- hestia_earth/models/hestia/utils.py,sha256=meymdvm0KZRLYGWeBLSv7QDn6tJHwM8jN8YB6gnwTqU,1537
216
+ hestia_earth/models/hestia/utils.py,sha256=TX53XPLeu3XgBcy9XN8xDD3J7y7fjmVweRNKaEZ-qzE,1455
215
217
  hestia_earth/models/impact_assessment/__init__.py,sha256=gTR_PhWps593fPhm-V826VLLrZVH8CNQTqxExB7GGNI,418
216
218
  hestia_earth/models/impact_assessment/allocationMethod.py,sha256=Qz41nTtMpDCcPy7PjhVtafE13dfJLX_D3Rg3yNhdY_Q,1279
217
219
  hestia_earth/models/impact_assessment/emissions.py,sha256=oHWXFZgvxYktH6gAawEjphyLtPCmH0FWt_mDwphc2I8,4394
@@ -246,19 +248,19 @@ hestia_earth/models/ipcc2013ExcludingFeedbacks/gwp100.py,sha256=2fFEHTXxel_XPiMX
246
248
  hestia_earth/models/ipcc2013IncludingFeedbacks/__init__.py,sha256=VJ16KIGQQHybzZiTvu3mpZy_3j0xcd06RHHCfPrCMgU,427
247
249
  hestia_earth/models/ipcc2013IncludingFeedbacks/gwp100.py,sha256=HR2vnOc64mg_fxe9m5NmqxBZ8-aFuKb44gmItyuRL1s,1041
248
250
  hestia_earth/models/ipcc2019/__init__.py,sha256=LdRpu8KbEc-MroIwXfKDjfj-xbgmfUYgctjKVvtpRfQ,409
249
- hestia_earth/models/ipcc2019/aboveGroundBiomass.py,sha256=K9gwIA9nwUMmoknVW5RhePwNIJFd38KMSs3SyDYRUes,19053
251
+ hestia_earth/models/ipcc2019/aboveGroundBiomass.py,sha256=rOPA-pdNXq6Cg1AlloDqYl7QMKQc2OzJtUiGcqRQ1Rw,19940
250
252
  hestia_earth/models/ipcc2019/aboveGroundCropResidueTotal.py,sha256=lT2QVV5c2LvQqZRfPEvFT_bMTayMXgIsFLnx8I6iYzw,3089
251
- hestia_earth/models/ipcc2019/belowGroundBiomass.py,sha256=49cJSAlQxUH-n4f9VMB2utz74X0va6u3Ts0fQ0qldB8,18054
253
+ hestia_earth/models/ipcc2019/belowGroundBiomass.py,sha256=dBvu1--OfIr2GwoF4eznG8MY7MBajWyMLX2VSoLztvM,18945
252
254
  hestia_earth/models/ipcc2019/belowGroundCropResidue.py,sha256=7AFU2Q0qPAvv6uEKWByS38jl77FvjTPbGm2GQ53waGg,3499
253
255
  hestia_earth/models/ipcc2019/biomass_utils.py,sha256=R7t-YWq5K-AMHihlWh8hWHfhaoGZMmDf8SNFM6-wGdU,15895
254
256
  hestia_earth/models/ipcc2019/carbonContent.py,sha256=tlQvu4Auhpjmaz7XrZz86xwxVrJhsYYf8DFA_aQeev4,7255
255
257
  hestia_earth/models/ipcc2019/ch4ToAirAquacultureSystems.py,sha256=q6yyEiYQhHJ2VyQy2Fa84cuTl1D8bjBXOK3UpaRuo20,3196
256
- hestia_earth/models/ipcc2019/ch4ToAirEntericFermentation.py,sha256=QLQo_VtdumjVdVcaYBhpK5nwEfQJb6EnFkcAI2VIRio,11846
258
+ hestia_earth/models/ipcc2019/ch4ToAirEntericFermentation.py,sha256=1GI8PtphmrhonmMfpn9CO_mmfgUXnDDnJDVMNRJm0MA,12163
257
259
  hestia_earth/models/ipcc2019/ch4ToAirExcreta.py,sha256=WnKmSQSqr1Jv7_95DLgtufPYGN5TeV3eDcFV3btDoq8,6706
258
260
  hestia_earth/models/ipcc2019/ch4ToAirFloodedRice.py,sha256=TJ4J7VA5n4RPrJYZQeR3lc3ZoCw7T1E5Cb1XJewr834,7331
259
261
  hestia_earth/models/ipcc2019/co2ToAirAboveGroundBiomassStockChange.py,sha256=s0zViR8Ab_b_sMDwMzopN4SAWdm6wpzGs-Hf_TtWaiw,6641
260
262
  hestia_earth/models/ipcc2019/co2ToAirBelowGroundBiomassStockChange.py,sha256=trinj_A8H6H_zMaQMjYXcBePvjDKXhbqmIpeet0lW6g,6691
261
- hestia_earth/models/ipcc2019/co2ToAirCarbonStockChange_utils.py,sha256=2-Gf9uz20i4lQ5ALJ9KbHrR3EX0mPED2M11aNTZejBw,57772
263
+ hestia_earth/models/ipcc2019/co2ToAirCarbonStockChange_utils.py,sha256=SjE2QtBBV6DMM5sp5RGBoKcShojZFmSZwMGUSXXHtAY,57884
262
264
  hestia_earth/models/ipcc2019/co2ToAirLimeHydrolysis.py,sha256=7z0zdqiiWQwkyJCgSNMoK2mft3cJkTRlqwKrMuSKdWI,2454
263
265
  hestia_earth/models/ipcc2019/co2ToAirSoilOrganicCarbonStockChange.py,sha256=UQjmccUsKxsycG_htbD1-T2xw6AklKqIR3u8KIMGBOY,6709
264
266
  hestia_earth/models/ipcc2019/co2ToAirUreaHydrolysis.py,sha256=Ofld5SuRKndcKB3FFFoUdzSgNq-gc4kmiNyyrPKQ3Io,3580
@@ -283,10 +285,10 @@ hestia_earth/models/ipcc2019/noxToAirInorganicFertiliser.py,sha256=fmmFgjtvOD2Tr
283
285
  hestia_earth/models/ipcc2019/noxToAirOrganicFertiliser.py,sha256=9dx_MRTwJGxJRq6mj2EJQMdQ2w6j7lw0fQk0If_cIGc,4152
284
286
  hestia_earth/models/ipcc2019/organicCarbonPerHa.py,sha256=C9ef41fd-gYixEV3sTs9VMHHdnSZJ14kbEEmMG116hY,8653
285
287
  hestia_earth/models/ipcc2019/organicCarbonPerHa_tier_1_utils.py,sha256=hgMh3p7tflTo06LJjAkoz8btrl8Rc6lYYvZp1ooJIaI,76214
286
- hestia_earth/models/ipcc2019/organicCarbonPerHa_tier_2_utils.py,sha256=e2O4yZ9bCJWMPQ8s-DEwnaDImGGCnpJya6SO0tWy0RY,63367
288
+ hestia_earth/models/ipcc2019/organicCarbonPerHa_tier_2_utils.py,sha256=ICeEoCR334zzV3CfvvMf_d00jtREkRO1t_gNlB83Avw,64003
287
289
  hestia_earth/models/ipcc2019/organicCarbonPerHa_utils.py,sha256=FFcjdkYq5NJwAu4bWZJUao4MoDHvgbXmXCnUNKD-a3w,9842
288
- hestia_earth/models/ipcc2019/pastureGrass.py,sha256=Hhm9szzsL3otuo-V6fQ_cNyDbG0dlubr4-1L4WefbDE,10304
289
- hestia_earth/models/ipcc2019/pastureGrass_utils.py,sha256=nL31uS3c77PH_5nA2E2MvB1NS2mMvhD341taGl5YWNE,13842
290
+ hestia_earth/models/ipcc2019/pastureGrass.py,sha256=HWRkpYpGqvMfol2dPb9pFkNzoGj7n6sRpyIjGSVM9lQ,10306
291
+ hestia_earth/models/ipcc2019/pastureGrass_utils.py,sha256=KvjIQ3xwbq1rk3thHlkGgQaWKgh0hCkNnzC53JW9634,14178
290
292
  hestia_earth/models/ipcc2019/utils.py,sha256=MSDMu15D9DnilFUgi4_6jYXC0FaKso3OODauGTMB6hs,6229
291
293
  hestia_earth/models/ipcc2019/animal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
292
294
  hestia_earth/models/ipcc2019/animal/fatContent.py,sha256=T-wWzxzPdy4pexS8ivQSeH9Z6U6qRGYfCiEwQDujcww,1003
@@ -294,7 +296,7 @@ hestia_earth/models/ipcc2019/animal/hoursWorkedPerDay.py,sha256=f-zcslXkbIY9ef-p
294
296
  hestia_earth/models/ipcc2019/animal/liveweightGain.py,sha256=UElmAdB4yQEFAOT5RrURn0Yt7U3gB2qiCWvNXyLk8Hw,971
295
297
  hestia_earth/models/ipcc2019/animal/liveweightPerHead.py,sha256=cq88VTxPYVPyEr2NLPb0Zmmppn_eMp9Xtw6Nxnta4-M,984
296
298
  hestia_earth/models/ipcc2019/animal/milkYieldPerAnimal.py,sha256=XxgSvQLi1Xu6ZpUg1a-7OFZEkItkUK-nVPTDxApUnuY,2777
297
- hestia_earth/models/ipcc2019/animal/pastureGrass.py,sha256=4vs-KIlCKQhU1EpX0BFlVAQrh1szm154AnrPDs13oE4,12212
299
+ hestia_earth/models/ipcc2019/animal/pastureGrass.py,sha256=M-6SigPr3Yfw-Iq1hVyh38tuh6_J5GR5rfGbjDqEPgU,12214
298
300
  hestia_earth/models/ipcc2019/animal/pregnancyRateTotal.py,sha256=MWPnuT4WeKJCGjJ_DAJnYelsX2Ld0C5e8eN__0Ws0E0,982
299
301
  hestia_earth/models/ipcc2019/animal/trueProteinContent.py,sha256=9hOg5KAFQ6Q-2_5h8pduYiYg9QBr22UnHdJYmkh8qi0,1023
300
302
  hestia_earth/models/ipcc2019/animal/utils.py,sha256=HPOjdJGUxn4Ls4jnr0kD5_w-JrzG1C7_cwdMpCCA1kk,4514
@@ -406,15 +408,15 @@ hestia_earth/models/linkedImpactAssessment/utils.py,sha256=S1zlux02gU2Lajrtoq-zQ
406
408
  hestia_earth/models/mocking/__init__.py,sha256=9VX50c-grz-snfd-7MBS0KfF7AadtbKuj7kK6PqtsgE,687
407
409
  hestia_earth/models/mocking/build_mock_search.py,sha256=p15ccEUmkmLp1RiGNznxMz3OFHbI8P1-29ExuohiQN8,1355
408
410
  hestia_earth/models/mocking/mock_search.py,sha256=ccFe_WrI73JElFmxp4hPNLCX7eeU--lBC1JFR901KJY,1069
409
- hestia_earth/models/mocking/search-results.json,sha256=_8AfPAX_YcwIYlJpyaHp5sxw4jpNX2Mub58HqO3Szuo,102054
411
+ hestia_earth/models/mocking/search-results.json,sha256=u-tcKGaNFryejlnVJTsBNXbfDmzoS3ncapYQiS55-nk,102053
410
412
  hestia_earth/models/pooreNemecek2018/__init__.py,sha256=nPboL7ULJzL5nJD5q7q9VOZt_fxbKVm8fmn1Az5YkVY,417
411
413
  hestia_earth/models/pooreNemecek2018/aboveGroundCropResidueTotal.py,sha256=Qt-mel4dkhK6N5uUOutNOinCTFjbjtGzITaaI0LvYc4,2396
412
414
  hestia_earth/models/pooreNemecek2018/belowGroundCropResidue.py,sha256=JT0RybbvWVlo01FO8K0Yj41HrEaJT3Kj1xfayr2X-xw,2315
413
415
  hestia_earth/models/pooreNemecek2018/ch4ToAirAquacultureSystems.py,sha256=CxjhFinScTebBGNVheEdbdw36DdHwoPszAnbxtd6_9s,6590
414
416
  hestia_earth/models/pooreNemecek2018/excretaKgN.py,sha256=WI0SJJR8uJFfG1hTHDSOeiuTMhAW1fKcm0MX1QEvxcg,6340
415
417
  hestia_earth/models/pooreNemecek2018/excretaKgVs.py,sha256=TW0lF752Ljlx7zj1v3TkAYLYASsYsYpEy8KH9y2yTQ8,9446
416
- hestia_earth/models/pooreNemecek2018/freshwaterWithdrawalsDuringCycle.py,sha256=XP3SAVvvrKCInjkM5GlW8MeW9Q-Ib7vXmJk0PAgR-lc,3982
417
- hestia_earth/models/pooreNemecek2018/landOccupationDuringCycle.py,sha256=78N513lNtjol0KKddxmG3Pb9vAmledlrWbfURVdLHBA,3139
418
+ hestia_earth/models/pooreNemecek2018/freshwaterWithdrawalsDuringCycle.py,sha256=rBWK_SzR9siorMxNORqB_BGQEadjyvzSh_SKOqRwFV0,3947
419
+ hestia_earth/models/pooreNemecek2018/landOccupationDuringCycle.py,sha256=gSUzPuzzLwQsBiX_Tgx6mWJ4pEB5qhlKoOtaEdmDGQ4,3431
418
420
  hestia_earth/models/pooreNemecek2018/longFallowDuration.py,sha256=Wdm6QyOttCFP9Y3OjbaYrvdMmivOmMIT-m5Eg9SM9rY,1511
419
421
  hestia_earth/models/pooreNemecek2018/n2OToAirAquacultureSystemsDirect.py,sha256=HJ7IstImGyasIKosK2lQZ-v6Lqt3_aEfZhoiC4CY0rM,2586
420
422
  hestia_earth/models/pooreNemecek2018/n2ToAirAquacultureSystems.py,sha256=SoZlogDd7_4kq5S9gc8KmVeIXacWWhaUkWlKTuho_OA,2431
@@ -506,11 +508,11 @@ hestia_earth/models/schmidt2007/utils.py,sha256=tbTFg5TXAyS12JCa-OXQg37M1YymHxKW
506
508
  hestia_earth/models/site/__init__.py,sha256=aVuLLhq0OQVm-_MZoq4JAKMidqexUWJBg_7mmojmDzc,405
507
509
  hestia_earth/models/site/brackishWater.py,sha256=vLEhIZv5PUKwzwvIuYrWi7K---fq7ZXn0oJvfDZdMs4,1278
508
510
  hestia_earth/models/site/cationExchangeCapacityPerKgSoil.py,sha256=0eH4A-tXJ0hvIkiYXWxlx8TfrdbIKUGYUDk97-yQJgg,3653
509
- hestia_earth/models/site/defaultMethodClassification.py,sha256=mqy3P3DLf7cr4-TU_kH7nXr8bz_kCrG_i33AuzwYMyo,1059
510
- hestia_earth/models/site/defaultMethodClassificationDescription.py,sha256=5rm9LUINmHF579HaqWfHZpFTjwZSgglE6TgAwBPs1uc,1250
511
+ hestia_earth/models/site/defaultMethodClassification.py,sha256=dd8d8agEGZxnDhZWbjkE6MZduJjyDfk0LkdRxrPTyvA,1317
512
+ hestia_earth/models/site/defaultMethodClassificationDescription.py,sha256=PfViyDtpMfBZTea4XkuG5SK1Ac3x3RkK9lA_ogiNJNg,1474
511
513
  hestia_earth/models/site/flowingWater.py,sha256=v3g5722GIA4zQAUQI9yGFiZvFvI1QAVZqlQrY-6_B3A,1731
512
514
  hestia_earth/models/site/freshWater.py,sha256=FXs3Vt8V4e-wn325_dwSTOKlZtn5ksNUpvYGDeLJShY,1255
513
- hestia_earth/models/site/management.py,sha256=38_os7XxhwBrNQKO-1lKhzAg-HR89Fy0jAV5LdC_Ueg,15016
515
+ hestia_earth/models/site/management.py,sha256=6MY67jam6JFnPnXnua2DJ6Mxpu8tffELaLr9q8uYw4A,15722
514
516
  hestia_earth/models/site/netPrimaryProduction.py,sha256=UIIQkYd911qVzrWjxBLrC37e-RARIVgDwLdARY9BuLw,1849
515
517
  hestia_earth/models/site/organicCarbonPerHa.py,sha256=F2ShinHf0m9qKa1nCYBspsDkRY6jzOl0wM8mSDre22I,14916
516
518
  hestia_earth/models/site/organicCarbonPerKgSoil.py,sha256=t--wAshiAKS-JvEKhLFRadGvgSBv5NFZ68jdyms_wh4,1945
@@ -535,7 +537,7 @@ hestia_earth/models/site/measurement/value.py,sha256=7IhUbIj7n5vB7yXoNxXsWbliEJj
535
537
  hestia_earth/models/site/post_checks/__init__.py,sha256=CkExxesk1GuG8NjrbKfix1iDuVUgU-9i1ccM_X7MZn4,284
536
538
  hestia_earth/models/site/post_checks/cache.py,sha256=_MZsNsclecUdHDT2MsYx4cEsVUXydIasddgZNA6SU4k,284
537
539
  hestia_earth/models/site/pre_checks/__init__.py,sha256=fjv6nU5fiL-CLyaa-cBpiLB-xujgPzeK7i7ZJuTOjCI,394
538
- hestia_earth/models/site/pre_checks/cache_geospatialDatabase.py,sha256=gEceynsvPAB6lN36t73yRAAaIn0wLvvK3NK0vXKM7mY,5654
540
+ hestia_earth/models/site/pre_checks/cache_geospatialDatabase.py,sha256=9Vj9sa2-tdt__TngcTpOmqvuqRBaL30PArIWspK76p0,5713
539
541
  hestia_earth/models/site/pre_checks/cache_sources.py,sha256=DUh_XcLl60O20QvuHiE0ADNwkZPZY4EpMGUQuYebiTg,264
540
542
  hestia_earth/models/site/pre_checks/cache_years.py,sha256=qGwTaHlWxnVT7iVxXVcpJ-oG6M-VH4ZpCDTdTixUHR4,883
541
543
  hestia_earth/models/stehfestBouwman2006/__init__.py,sha256=EhvD4NK6oEPevusLb1WdYV3GT_fCtQx4gvdMhK_dEIQ,420
@@ -573,15 +575,15 @@ hestia_earth/models/utils/aggregated.py,sha256=01V5RDvO9EZAEiApY7M2dUoR4GcGxvAH5
573
575
  hestia_earth/models/utils/animalProduct.py,sha256=M5IunAKGY6oZv3j1Ascl34ywyeLWApqOIlBzbtlA2FE,721
574
576
  hestia_earth/models/utils/aquacultureManagement.py,sha256=dxrbC1Xf140cohxTbSw6TxLAnAASWTdNZwBBam4yQnw,171
575
577
  hestia_earth/models/utils/array_builders.py,sha256=QEkM7e75Y9aq5yEPEk3R8md36IuvCDkpekdGm3uA0uk,19397
576
- hestia_earth/models/utils/blank_node.py,sha256=-IURt-nrVCJUk2Q51Ar46iEYv4Cn3aSdlVl1gik5Vvw,51992
578
+ hestia_earth/models/utils/blank_node.py,sha256=M7ioDaUQn2_JjYamseIzTGpTcP8uU8Ii2DKqUDWVDjA,52180
577
579
  hestia_earth/models/utils/cache_sources.py,sha256=MBkrPpjwNiC4ApDjeYVHZjWBbpvAerXRDrMHpjasAZ0,377
578
580
  hestia_earth/models/utils/completeness.py,sha256=2-GusD9UycobDZq8y5jar0ZcOjyqnSbzPRT_5XMc4YA,1259
579
581
  hestia_earth/models/utils/constant.py,sha256=6wLx8xb2R8HtpEpVy5e-PbioOo7QCu2n-W72fs6OvgE,3411
580
- hestia_earth/models/utils/crop.py,sha256=szbmQFIfKAgH18PXkwx4FcmSsYOzDM3AHN5z0aYK9OU,2696
582
+ hestia_earth/models/utils/crop.py,sha256=JF9vsXOlViiwsIkV-mQ9iRl4dZGgeP2mrgdAmKuhYaY,2713
581
583
  hestia_earth/models/utils/cropResidue.py,sha256=_0Q35CrliJeo31xGHsPWe8A2oHxijdIsOrf3gBEqhlA,612
582
584
  hestia_earth/models/utils/cropResidueManagement.py,sha256=nIDFjf39rDD10UHSVudfDyu-EiL261g8jyrgS-2aDKw,347
583
585
  hestia_earth/models/utils/currency.py,sha256=f_ArJANb--pZq4LL49SXQ1AMX_oKroqwBXKRRQqZwsM,578
584
- hestia_earth/models/utils/cycle.py,sha256=uZgqTy4IaCqcSEEHWOcZ0bFBjwGl7gBoedk6HJ5Nryw,16233
586
+ hestia_earth/models/utils/cycle.py,sha256=PmloVCSU4TtXnEe0ltP--bTIZBXVB-rEFJrV6IYsdeo,16209
585
587
  hestia_earth/models/utils/descriptive_stats.py,sha256=EMVwFvg2OnZgKRAfireAoWY2EbrSvqR0V0bK9B53p28,1583
586
588
  hestia_earth/models/utils/ecoClimateZone.py,sha256=kD5DGActHAfMCJykKQGkwEEicWt7PQlEIX9_PkqXfP0,4265
587
589
  hestia_earth/models/utils/emission.py,sha256=H_apu-Og9SJTLVU2lU56IsvSU22-9J7OrqXk1b2qnSE,3638
@@ -595,7 +597,7 @@ hestia_earth/models/utils/inorganicFertiliser.py,sha256=_dLBY-otGkLr8PobR5dQ89bF
595
597
  hestia_earth/models/utils/input.py,sha256=gsVFKTC9WF8dO6YAg_-H_GAOQTnvAr49Ox5-eTH8zf8,5145
596
598
  hestia_earth/models/utils/landCover.py,sha256=8-nfynzCx9gf9YfhpuoH6Cn4kQwWFpYA5RmoGW-0ETE,300
597
599
  hestia_earth/models/utils/liveAnimal.py,sha256=GnajBPZw5d94raf80KtLloaOqlfqGAPwUtP9bRlGWeE,1754
598
- hestia_earth/models/utils/lookup.py,sha256=-IUSbwp1f0LicPFlD45DT0dh4tTmhu9weCLLCBEpc5c,8699
600
+ hestia_earth/models/utils/lookup.py,sha256=VMdoPiNDuN90JNDDgYuv3iAQFk_cXu3p1ZonPi9QBFw,8726
599
601
  hestia_earth/models/utils/management.py,sha256=W5M9k0arraVUGh4ZccVqgb8rSSLxHM6rkmi4MSzV6Dw,413
600
602
  hestia_earth/models/utils/measurement.py,sha256=izEiPszUcPA22zaIc0OuF7Yk82JWu5cxi0Sbz_9YgBo,11142
601
603
  hestia_earth/models/utils/organicFertiliser.py,sha256=2HY-a0EBzUw4DkEAXClLMXVCEZTKYf0BwFHBo7lQ5Tg,363
@@ -624,14 +626,14 @@ hestia_earth/orchestrator/strategies/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeu
624
626
  hestia_earth/orchestrator/strategies/merge/__init__.py,sha256=9fytXEII6aSbc0edEp0Dg1QMVayU3eMUXdwKYVky_24,1416
625
627
  hestia_earth/orchestrator/strategies/merge/merge_append.py,sha256=5xJ8fqu2UqCDotVkSxj7yRDRdw0RM2tERsA4j_1Zlu8,915
626
628
  hestia_earth/orchestrator/strategies/merge/merge_default.py,sha256=ssKq5ZIoQr4k2HHpkyPqHJSQQj-AGqu8zUzEQIRafv8,45
627
- hestia_earth/orchestrator/strategies/merge/merge_list.py,sha256=JioJi4HajpiYHtYE7xbTWQHOQtu3pWIo512VtaxSsDw,4067
629
+ hestia_earth/orchestrator/strategies/merge/merge_list.py,sha256=euvr-BdiKxF9-AKf35Q30KnQsuzgcldkV0EmXTZXG28,4531
628
630
  hestia_earth/orchestrator/strategies/merge/merge_node.py,sha256=iAgxHVVR7y2kXtR_pdNzS4Fq-iLmwaqNHXMfjIBG6eE,2622
629
631
  hestia_earth/orchestrator/strategies/run/__init__.py,sha256=At0V8CI4vyiSY-Vh2PHMhTYfnp7vl31gq78RyCeIqJk,307
630
632
  hestia_earth/orchestrator/strategies/run/add_blank_node_if_missing.py,sha256=dfmS2AC_d3LjlBT962grygvHK38I4y12K3bl_CT_zlo,3166
631
633
  hestia_earth/orchestrator/strategies/run/add_key_if_missing.py,sha256=t3U-v87XpbtpsvjA_r0Ftm7MhNkGB0kcUSGFlKBIK_I,352
632
634
  hestia_earth/orchestrator/strategies/run/always.py,sha256=D0In6_kr28s-fgqspawgvj5cgFClxGvepZYqtYsjWVE,217
633
635
  tests/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
634
- tests/models/test_cache_sites.py,sha256=vuEVZh_mkuI2cPotX2GB88lURJm2giOQ3yu2Cn4iLoI,2997
636
+ tests/models/test_cache_sites.py,sha256=eZkbgAhfA-67GhPgE4lk8byHnYvX2Ate1KPsE6jH1-c,2954
635
637
  tests/models/test_config.py,sha256=JhO7T3bNh2Dl61pKAyM4iEPKybfue02qdneHcJTO2Ck,3368
636
638
  tests/models/test_ecoinventV3.py,sha256=_BqfWiYFaw-Y7A-EeabHEnja3d7yb4Ed7gGGvu3Srpw,1936
637
639
  tests/models/test_ecoinventV3AndEmberClimate.py,sha256=_EOxdrdavXP6L5_LtvaVbXb_-56UJXSaiPhpGntmwVc,801
@@ -758,9 +760,10 @@ tests/models/emepEea2019/test_so2ToAirFuelCombustion.py,sha256=zRTyeeQM1fRdRVFWb
758
760
  tests/models/emepEea2019/test_tspToAirAnimalHousing.py,sha256=4MNDsxIeUk5_3IvZwEZslxgoPNyQN9OQFDNY3uGNX6E,714
759
761
  tests/models/emepEea2019/test_utils.py,sha256=G6z8tEfWM0OPnUBaFCQgQyEi5-kRF_DqsqdYaPnzR_I,8761
760
762
  tests/models/environmentalFootprintV3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
763
+ tests/models/environmentalFootprintV3/test_environmentalFootprintSingleOverallScore.py,sha256=BMmUURDMn6z3gd3bchwwwrNyft0hYemieJe-855GOyc,3349
761
764
  tests/models/environmentalFootprintV3/test_freshwaterEcotoxicityPotentialCtue.py,sha256=ZPDKM23qlLMe_ZzeA-QIutSkFlod3BsmjloA9WA8nug,845
762
765
  tests/models/environmentalFootprintV3/test_soilQualityIndexLandOccupation.py,sha256=pgauGmFl52lQJVPaDHryrUU3LSmjWC-Al_XBqQj33u4,6116
763
- tests/models/environmentalFootprintV3/test_soilQualityIndexLandTransformation.py,sha256=yR2b7MNw1kDpcHHB_c2uPZ2QF-nDEAs-eBE7HqMxm5k,6231
766
+ tests/models/environmentalFootprintV3/test_soilQualityIndexLandTransformation.py,sha256=pZPeduNitr0VCfsNtg0M84EhiCpjTwUZ1qnj_7tWSeQ,5797
764
767
  tests/models/environmentalFootprintV3/test_soilQualityIndexTotalLandUseEffects.py,sha256=j6V2AE1I98hi-Cv_-L5Rc2zzL0au9SWW4XnMkSuV7yo,2314
765
768
  tests/models/epa2014/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
766
769
  tests/models/epa2014/test_no3ToGroundwaterExcreta.py,sha256=ESVz4UURvQfhjGBTxjuAV_bymMBcvGNfLAkYMvNup9U,1217
@@ -777,11 +780,11 @@ tests/models/faostat2018/test_readyToCookWeightPerHead.py,sha256=pMDcONs0WUvANcJ
777
780
  tests/models/faostat2018/test_seed.py,sha256=tUXoNVveX0m0ed9UXB4zXxIZsPxktXyUXlbWuUKG0sQ,1705
778
781
  tests/models/faostat2018/test_utils.py,sha256=G4pOEwcM5k6FRbkE_4x6_G8vQxzDexNZnlj01_LHlt8,916
779
782
  tests/models/faostat2018/product/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
780
- tests/models/faostat2018/product/test_price.py,sha256=vUTT-FZVbXnDrwQVOgq8PWTDuFK_gAT6aqJ9ZK6Qcsc,3493
783
+ tests/models/faostat2018/product/test_price.py,sha256=KR9QWeKQJI8ALEu3KQY0I6PK1i03ANKLmVz3kVm8zNU,3493
781
784
  tests/models/frischknechtEtAl2000/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
782
785
  tests/models/frischknechtEtAl2000/test_ionisingRadiationKbqU235Eq.py,sha256=rT75VNmpUKG6aIQLNgmMzKDyJegTm2_qGLaRHUYlzF8,4416
783
786
  tests/models/geospatialDatabase/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
784
- tests/models/geospatialDatabase/test_aware.py,sha256=tbBBvXrOqdO0cMPJTa02UfhlwfosH8iNoJLzZNFs1NU,857
787
+ tests/models/geospatialDatabase/test_awareWaterBasinId.py,sha256=f9y70Yz5C3wX7mmc1KwC50gk_PWoD1iEZPRMGMbqPtc,869
785
788
  tests/models/geospatialDatabase/test_clayContent.py,sha256=GqFAPIOkXfDpJFkI-vK6l3hK0Ap36lLCWGhXCly-DME,1797
786
789
  tests/models/geospatialDatabase/test_croppingIntensity.py,sha256=p7OQZOKuxcEhokFqIE4jj6GU3YwR9GtQqNwlhOGy7uI,1006
787
790
  tests/models/geospatialDatabase/test_drainageClass.py,sha256=X75v6f8N5i40grULUNMvNOu_UC27VoahuW6BaQb19LY,1015
@@ -818,9 +821,10 @@ tests/models/haversineFormula/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5N
818
821
  tests/models/haversineFormula/transport/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
819
822
  tests/models/haversineFormula/transport/test_distance.py,sha256=hqzIOA1nGao8uiBE16J0ou52McwV4w30ZLpEAqtfi9k,970
820
823
  tests/models/hestia/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
821
- tests/models/hestia/test_landCover.py,sha256=TCgZMAd11TjXs0RZHHJzjXSCY_UicFgYPoGjjryScm4,6105
824
+ tests/models/hestia/test_landCover.py,sha256=lQ2EYnB60DBJ68Bd-lPlRG3WOz9uSQTKfzEmRTFv9MU,6172
822
825
  tests/models/hestia/test_landTransformation100YearAverageDuringCycle.py,sha256=3qa4rWUFqP1VM5-vm_182rhiBYJDxPqJwWtBqJ5K028,956
823
- tests/models/hestia/test_landTransformation20YearAverageDuringCycle.py,sha256=257nCGseM8IEc7i3c2lvx0AsJOpk5Cy633PlZZQYRGo,956
826
+ tests/models/hestia/test_landTransformation20YearAverageDuringCycle.py,sha256=bUByojQuVeuCfko1_2YtNJi1PT9yktHlcbPi_p-MPvk,1001
827
+ tests/models/hestia/test_residueRemoved.py,sha256=WkyWaW_Ym-KBXFYJHcMR-mliiQX4vwy2u1Mxnb5t9fs,640
824
828
  tests/models/hestia/test_seed_emissions.py,sha256=dCUuJBkhwNFBhhcypQN7eMqrWZ9iGCnypoidO5DfQYw,921
825
829
  tests/models/impact_assessment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
826
830
  tests/models/impact_assessment/test_allocationMethod.py,sha256=HkUt6oWdEyFSdxMpx8y_Oxk0nO2Fi9B_kUZcVte9tzg,1223
@@ -857,9 +861,9 @@ tests/models/ipcc2013ExcludingFeedbacks/test_gwp100.py,sha256=Od9ALNCag5pCVJnp2p
857
861
  tests/models/ipcc2013IncludingFeedbacks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
858
862
  tests/models/ipcc2013IncludingFeedbacks/test_gwp100.py,sha256=4HydDKiZDpxtgqgjpAg4cTVQu-jM-_tdDdJFmNNrwSc,875
859
863
  tests/models/ipcc2019/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
860
- tests/models/ipcc2019/test_aboveGroundBiomass.py,sha256=L5A0ZeOvaas_PuU8TS5FHWTjECWHQFT4u1-sqSUu5JM,7282
864
+ tests/models/ipcc2019/test_aboveGroundBiomass.py,sha256=FW7Kp3n67llYX2pMFDLsssyWTtYZY3H5Nmyg69jP0Lw,7446
861
865
  tests/models/ipcc2019/test_aboveGroundCropResidueTotal.py,sha256=AADYB1g9vftH7YSvNyihHu8GQOiA7VhXxVQ-oJQNT88,2581
862
- tests/models/ipcc2019/test_belowGroundBiomass.py,sha256=ReinEHM9Hlz8JFhYU08p3GSboSXuaVxNJA9LEkJkZYI,7222
866
+ tests/models/ipcc2019/test_belowGroundBiomass.py,sha256=D2d5-T0Y9AnqFmVUdx1JA8N1LGI55a-jaJWyQR97gmg,7417
863
867
  tests/models/ipcc2019/test_belowGroundCropResidue.py,sha256=HUxHZLBdLX_E_oc3wqTwNtGY4M4yCWcxx-1iBYPF7_s,2576
864
868
  tests/models/ipcc2019/test_biomass_utils.py,sha256=I2q4pDGAD0aY_kpZCMPJoC-KbRYxdzY1rhr4xtJFWIA,3592
865
869
  tests/models/ipcc2019/test_carbonContent.py,sha256=_GWF5nGy-PxiqBZ5V7W_sHMz75YRzmxr79R-sZZg7yk,4146
@@ -892,7 +896,7 @@ tests/models/ipcc2019/test_no3ToGroundwaterInorganicFertiliser.py,sha256=e7REnQ9
892
896
  tests/models/ipcc2019/test_no3ToGroundwaterOrganicFertiliser.py,sha256=e1ZViD12qB3bLdH3TJw3GbBP8iqMen-UJbcFkytb3VQ,1609
893
897
  tests/models/ipcc2019/test_noxToAirInorganicFertiliser.py,sha256=NZBSBJLM_j2PEpHRON2ysgKNF8x5sHfQVoAKQdGsfzk,1537
894
898
  tests/models/ipcc2019/test_noxToAirOrganicFertiliser.py,sha256=LR5pjV5vRbgSSQAw8kYRp_ij4CHInzgaDS6EggQuBiw,1104
895
- tests/models/ipcc2019/test_organicCarbonPerHa.py,sha256=fxI6iomFBiojL7nBGyP7AP5BM39Hvd2G12PLuhq66Eg,13129
899
+ tests/models/ipcc2019/test_organicCarbonPerHa.py,sha256=-WMSj-rIXr8wLzEIGgeitPU0rOWoEwpqqKJiZOfgeGs,15483
896
900
  tests/models/ipcc2019/test_organicCarbonPerHa_tier_1_utils.py,sha256=DPaMMyoa959bww0z54i6ci6jccB452oCNJ-GnO6ayHI,20444
897
901
  tests/models/ipcc2019/test_organicCarbonPerHa_tier_2_utils.py,sha256=wxRoE3qeIIiVWQzqo2ChnXsSrPfvIOxEDGHS2ZfI7vA,5514
898
902
  tests/models/ipcc2019/test_organicCarbonPerHa_utils.py,sha256=Zd2QlN_Q3k9djuByOH62A00tryVzlvNtsd46N79TTeU,1778
@@ -1017,7 +1021,7 @@ tests/models/pooreNemecek2018/test_ch4ToAirAquacultureSystems.py,sha256=rUxD57yl
1017
1021
  tests/models/pooreNemecek2018/test_excretaKgN.py,sha256=4YSri6_P5YXLx8cCAV4SJD36MEL_wWB8ZK-_AwGn0zQ,4064
1018
1022
  tests/models/pooreNemecek2018/test_excretaKgVs.py,sha256=h41KnwQDo4Jp3HrbXTGK-qLU4ZPsWzhDZ5jIwDrmLuo,3256
1019
1023
  tests/models/pooreNemecek2018/test_freshwaterWithdrawalsDuringCycle.py,sha256=5QxDU6VzcwWup3Nuhn32kJoIlAkqcSggGr4CmoRqrFA,1623
1020
- tests/models/pooreNemecek2018/test_landOccupationDuringCycle.py,sha256=MrgxJIuojKCuwCKX6d_KMsg8dTkfdxWwZPnCtjFZDwo,1873
1024
+ tests/models/pooreNemecek2018/test_landOccupationDuringCycle.py,sha256=rEhRHN6h6i4l89mZpyHE-pfsFM8lQUHw__jLu6FKz54,1728
1021
1025
  tests/models/pooreNemecek2018/test_longFallowDuration.py,sha256=kelZajIbKyvVm1vX_grRZy0IUrtejGI5GPn03qbElnw,925
1022
1026
  tests/models/pooreNemecek2018/test_n2OToAirAquacultureSystemsDirect.py,sha256=4YAoUhIwfEmRe2B5BvNg247VeB7UXHNeZqr2mRtJA7Y,2207
1023
1027
  tests/models/pooreNemecek2018/test_n2ToAirAquacultureSystems.py,sha256=YqwAvbYfLVamfkUJUwGTEWEnz8ts66jVF8831QcWNkg,2200
@@ -1107,11 +1111,11 @@ tests/models/schmidt2007/test_utils.py,sha256=rmtOV3xiFynjgx8lQNGsJqquG8HDxz3LDm
1107
1111
  tests/models/site/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1108
1112
  tests/models/site/test_brackishWater.py,sha256=YGCp4glaWudKklYBSp-50KbfvIRtp3F4Qrj5T81ECTk,986
1109
1113
  tests/models/site/test_cationExchangeCapacityPerKgSoil.py,sha256=tNMhN998vcjQ15I-5mNnFh2d7mHzEBIBO6o1VSfQNUE,1075
1110
- tests/models/site/test_defaultMethodClassification.py,sha256=2Ek2TkSsWh_kNGBwzzarPt2LR710frziXxTdWq7pX30,532
1111
- tests/models/site/test_defaultMethodClassificationDescription.py,sha256=ZqI5dmXxzz-op_czHFwTjHUPhBL1Q_gEU2UZTCkS50I,543
1114
+ tests/models/site/test_defaultMethodClassification.py,sha256=MoG9inlu5GrNL2QJpO0AWJZpc4682zDnO8-0mVgeV88,667
1115
+ tests/models/site/test_defaultMethodClassificationDescription.py,sha256=7Dg40MLSZnW1X3ZXg2dXMzc1hUqIUIuiga5KX9cVscU,767
1112
1116
  tests/models/site/test_flowingWater.py,sha256=t_rxvdlmUVDsFBoDF20_zDM-0iiLKkNCV7knO9l1T7o,1370
1113
1117
  tests/models/site/test_freshWater.py,sha256=GOeAxHhPW_2E1wQdQRX4W-r7mnb_LgmiAVLImitoApw,982
1114
- tests/models/site/test_management.py,sha256=-QgZc4jBkhHrvvssn3Xtd3kYGIuV2dDoMJxoejkEhmM,1762
1118
+ tests/models/site/test_management.py,sha256=Z6wwL-UcOktgE026ePskAo78FTwBU6RqZtCg4VO_PYM,1746
1115
1119
  tests/models/site/test_netPrimaryProduction.py,sha256=JCxG0MODbKVvl3hOqmKzh4FjHYn3Xs9KsVod6LvKQII,1108
1116
1120
  tests/models/site/test_organicCarbonPerHa.py,sha256=XtGrE7ZqthTF0x8lDxJ1slNd_GvYHEyEydcRgA46jEc,3207
1117
1121
  tests/models/site/test_organicCarbonPerKgSoil.py,sha256=0M-NMg_T3UXzGT_VlKOKhSxg4cZ0_zhd3FRgY5Hpj6o,1087
@@ -1135,6 +1139,7 @@ tests/models/site/measurement/test_value.py,sha256=i6w7X0Qb9utIGeopjQLz4S3tBrXVV
1135
1139
  tests/models/site/post_checks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1136
1140
  tests/models/site/post_checks/test_cache.py,sha256=g34PQgfyzYveRT-gVKJl0euyBp-Kav8JnBVk-bod1WA,191
1137
1141
  tests/models/site/pre_checks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1142
+ tests/models/site/pre_checks/test_cache_geospatialDatabase.py,sha256=gGkBN2hDlZgp3-6hoQDHwu3PLb1FhWltgMehH3s57yI,658
1138
1143
  tests/models/site/pre_checks/test_cache_years.py,sha256=sU0OhXGa4wC2DKduzlcxQVc51srS0Oks3L1gh1nJGf8,756
1139
1144
  tests/models/stehfestBouwman2006/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1140
1145
  tests/models/stehfestBouwman2006/test_n2OToAirCropResidueDecompositionDirect.py,sha256=NF0wADubo9boAuYMtUGH30s4tieHE8LNrf547JgmlAE,677
@@ -1166,7 +1171,7 @@ tests/models/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuF
1166
1171
  tests/models/utils/test_array_builders.py,sha256=uHxO4beJhdJD-1lI5aPEAsYziQP8SN7AJ9PEY67DpaI,8417
1167
1172
  tests/models/utils/test_blank_node.py,sha256=G_hH-Gk3__1ZtHQcsdYMbUMwVNSTmYcVBs5jcReIYGM,39945
1168
1173
  tests/models/utils/test_cache_sources.py,sha256=xcGMVbYoV23YC4HLBTL_4qZP1ME2cp3DFebgJMxI2TE,721
1169
- tests/models/utils/test_crop.py,sha256=ve_BqT2XuLTWAH-8YOnVY4nzMUSXYYXPB8S-5RtGlf4,463
1174
+ tests/models/utils/test_crop.py,sha256=d508vQdtB_Q_6hEahNueXed5PaEiLeN7ScbwZIKCiDI,862
1170
1175
  tests/models/utils/test_cropResidueManagement.py,sha256=RQt8lexeJzCyxZceIutgDpw7BpcqmjsUB0C0yZC2QpY,930
1171
1176
  tests/models/utils/test_currency.py,sha256=BPsojPsY9QW2aj8vgbjkPQXU8GU6wDwwtPZ3HdC4KTU,277
1172
1177
  tests/models/utils/test_dataCompleteness.py,sha256=mW6rA7ddhtjZsLxwo5xDnvBdxmqTsivy4RTIU-2Lvk0,1713
@@ -1202,14 +1207,14 @@ tests/orchestrator/strategies/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5N
1202
1207
  tests/orchestrator/strategies/merge/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1203
1208
  tests/orchestrator/strategies/merge/test_merge_append.py,sha256=T6_y3qDb4ZmZixzSZMNCYD-dbkIHFfvpayXo1K9-lNA,800
1204
1209
  tests/orchestrator/strategies/merge/test_merge_default.py,sha256=iEia74Z7RflmxDZ3XzubN9yR8n5DR_CDSMyLIW1e8PU,198
1205
- tests/orchestrator/strategies/merge/test_merge_list.py,sha256=KIObPP7AFT0oOE7669UUnYYMSCHX4fQSrb1VFevkQmk,9081
1210
+ tests/orchestrator/strategies/merge/test_merge_list.py,sha256=xq41t83ylTC1lUEgYPcKohisyYABWH_Nh1Rwa2vLHgQ,9727
1206
1211
  tests/orchestrator/strategies/merge/test_merge_node.py,sha256=yCaIKFFdJcIANidQBJb95f50OPgm9wwTsuTEzhHumA0,3203
1207
1212
  tests/orchestrator/strategies/run/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1208
1213
  tests/orchestrator/strategies/run/test_add_blank_node_if_missing.py,sha256=lGqeebvgAwGathB8NLZ14Js5JV_-KyHueaD6I8IH8mU,3615
1209
1214
  tests/orchestrator/strategies/run/test_add_key_if_missing.py,sha256=hKwvk1ohcBVnQUCTiDhRW99J0xEa29BpwFi1KC0yWLE,329
1210
1215
  tests/orchestrator/strategies/run/test_always.py,sha256=w5-Dhp6yLzgZGAeMRz3OrqZbbAed9gZ1O266a3z9k7w,134
1211
- hestia_earth_models-0.65.10.dist-info/LICENSE,sha256=TD25LoiRJsA5CPUNrcyt1PXlGcbUGFMAeZoBcfCrCNE,1154
1212
- hestia_earth_models-0.65.10.dist-info/METADATA,sha256=1B8T70nCeba3dfHkL6iNd8l0VARIGLSxUYTfw5LFcXA,4047
1213
- hestia_earth_models-0.65.10.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
1214
- hestia_earth_models-0.65.10.dist-info/top_level.txt,sha256=1dqA9TqpOLTEgpqa-YBsmbCmmNU1y56AtfFGEceZ2A0,19
1215
- hestia_earth_models-0.65.10.dist-info/RECORD,,
1216
+ hestia_earth_models-0.66.0.dist-info/LICENSE,sha256=TD25LoiRJsA5CPUNrcyt1PXlGcbUGFMAeZoBcfCrCNE,1154
1217
+ hestia_earth_models-0.66.0.dist-info/METADATA,sha256=BmZGBMAEEnQGVkzLqh-_iHelje1yM0FHCXo_Ji4a010,4046
1218
+ hestia_earth_models-0.66.0.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
1219
+ hestia_earth_models-0.66.0.dist-info/top_level.txt,sha256=1dqA9TqpOLTEgpqa-YBsmbCmmNU1y56AtfFGEceZ2A0,19
1220
+ hestia_earth_models-0.66.0.dist-info/RECORD,,
@@ -0,0 +1,92 @@
1
+ import json
2
+ from unittest.mock import patch, Mock
3
+
4
+ from pytest import mark
5
+
6
+ from hestia_earth.models.environmentalFootprintV3.environmentalFootprintSingleOverallScore import MODEL, TERM_ID, run, \
7
+ _should_run
8
+ from tests.utils import fixtures_path, fake_new_indicator
9
+
10
+ class_path = f"hestia_earth.models.{MODEL}.{TERM_ID}"
11
+ fixtures_folder = f"{fixtures_path}/{MODEL}/{TERM_ID}"
12
+
13
+
14
+ def fake_rounded_indicator(value: float):
15
+ indicator = fake_new_indicator(TERM_ID, MODEL)
16
+ indicator['value'] = round(value, 20)
17
+ return indicator
18
+
19
+
20
+ ozone_indicator = {"@type": "Indicator",
21
+ "term": {"@id": "ozoneDepletionPotential", "termType": "characterisedIndicator"},
22
+ "value": 0}
23
+
24
+ acid_indicator = {
25
+ "@type": "Indicator",
26
+ "term": {"@id": "terrestrialAcidificationPotentialAccumulatedExceedance", "termType": "characterisedIndicator"},
27
+ "value": 0.000420443840380047}
28
+
29
+ bad_indicator_id = {"@type": "Indicator",
30
+ "term": {"@id": "no_a_real_id", "termType": "characterisedIndicator"},
31
+ "value": 0.000420443840380047}
32
+
33
+ not_pef_indicator = {"@type": "Indicator",
34
+ "term": {"@id": "gwpStar", "termType": "characterisedIndicator"},
35
+ "value": 0.000420443840380047}
36
+
37
+ bad_indicator_no_val = {"@type": "Indicator",
38
+ "term": {"@id": "damageToHumanHealthParticulateMatterFormation",
39
+ "termType": "characterisedIndicator"}}
40
+
41
+ bad_indicator_bad_val = {"@type": "Indicator",
42
+ "term": {"@id": "damageToHumanHealthParticulateMatterFormation",
43
+ "termType": "characterisedIndicator"},
44
+ "value": None}
45
+
46
+
47
+ @mark.parametrize(
48
+ "impacts, expected, num_inputs",
49
+ [
50
+ ([], False, 0),
51
+ ([bad_indicator_id], False, 0),
52
+ ([not_pef_indicator], False, 0),
53
+ ([bad_indicator_no_val], False, 0),
54
+ ([bad_indicator_bad_val], False, 0),
55
+ ([ozone_indicator], True, 1),
56
+ ([ozone_indicator, ozone_indicator], False, 2),
57
+ ([ozone_indicator, acid_indicator], True, 2),
58
+ ([bad_indicator_no_val, acid_indicator], False, 1)
59
+ ],
60
+ ids=[
61
+ "No indicators => no run",
62
+ "bad_indicator_id => no run",
63
+ "not_pef_indicator => no run",
64
+ "bad_indicator_no_val => no run",
65
+ "bad_indicator_bad_val => no run",
66
+ "ozone_indicator => run",
67
+ "2 ozone_indicator => no run",
68
+ "2 good indicators => run",
69
+ "one bad one good indicator => no run",
70
+ ]
71
+ )
72
+ def test_should_run(impacts, expected, num_inputs):
73
+ with open(f"{fixtures_folder}/impactassessment.jsonld", encoding='utf-8') as f:
74
+ impactassessment = json.load(f)
75
+
76
+ impactassessment['impacts'] = impacts
77
+
78
+ should_run, resources = _should_run(impactassessment)
79
+ assert should_run is expected
80
+ assert len(resources) == num_inputs
81
+
82
+
83
+ @patch(f"{class_path}._indicator", side_effect=fake_rounded_indicator)
84
+ def test_run(_mocked_indicator: Mock, *args):
85
+ with open(f"{fixtures_folder}/impactassessment.jsonld", encoding='utf-8') as f:
86
+ impactassessment = json.load(f)
87
+
88
+ with open(f"{fixtures_folder}/result.jsonld", encoding='utf-8') as f:
89
+ expected = json.load(f)
90
+
91
+ value = run(impactassessment)
92
+ assert value == expected
@@ -79,8 +79,8 @@ good_during_cycle_indicator_from_forest_to_forest = {
79
79
  @mark.parametrize(
80
80
  "resources, expected, num_inputs",
81
81
  [
82
- ([], True, 0),
83
- ([wrong_indicator], True, 0),
82
+ ([], False, 0),
83
+ ([wrong_indicator], False, 0),
84
84
  ([indicator_no_land_cover], False, 0),
85
85
  ([indicator_no_previous_land_cover], False, 0),
86
86
  ([indicator_bad_area_value], False, 0),
@@ -92,8 +92,8 @@ good_during_cycle_indicator_from_forest_to_forest = {
92
92
  ([good_inputs_production_indicator_from_forest_to_cropland,
93
93
  good_during_cycle_indicator_from_forest_to_cropland], True, 2)
94
94
  ],
95
- ids=["No emissionsResourceUse => run, 0 dict",
96
- "Wrong indicator termid => run, 0 dict",
95
+ ids=["No emissionsResourceUse => no run, 0 dict",
96
+ "Wrong indicator termid => no run, 0 dict",
97
97
  "Indicator no landcover terms => no run",
98
98
  "Indicator no previousLandCover terms => no run",
99
99
  "Bad m2 / year value => no run",
@@ -162,18 +162,3 @@ def test_run_with_country_fallback(mocked_indicator: Mock, added_data: dict):
162
162
 
163
163
  value = run(impact)
164
164
  assert value['value'] == 574.56
165
-
166
-
167
- @patch(f"{class_path}._new_indicator", side_effect=fake_new_indicator)
168
- def test_run_no_transformation(*args):
169
- """
170
- Impact assessment with no transformations should return a indicator of 0
171
- """
172
- with open(f"{fixtures_folder}/multipleTransformations/impact-assessment.jsonld", encoding='utf-8') as f:
173
- impact = json.load(f)
174
-
175
- impact['emissionsResourceUse'] = []
176
-
177
- value = run(impact)
178
-
179
- assert value['value'] == 0
@@ -11,7 +11,7 @@ fixtures_folder = f"{fixtures_path}/{MODEL}/product/{MODEL_KEY}"
11
11
  def test_lookup_data():
12
12
  assert _lookup_data('cocoaSeedDehulled', 'Cocoa beans', 'GADM-GHA', 2000, term_type='crop') == 412.9
13
13
  # average price per tonne as year value is missing
14
- assert _lookup_data('cocoaSeedDehulled', 'Cocoa beans', 'GADM-GHA', 2012, term_type='crop') == 843.5571428571428
14
+ assert _lookup_data('cocoaSeedDehulled', 'Cocoa beans', 'GADM-GHA', 2012, term_type='crop') == 844.0571428571428
15
15
 
16
16
 
17
17
  @patch(f"{class_path}.download_hestia", return_value={})
@@ -2,7 +2,7 @@ from unittest.mock import patch
2
2
  import json
3
3
  from tests.utils import fixtures_path
4
4
 
5
- from hestia_earth.models.geospatialDatabase.aware import MODEL, MODEL_KEY, run, _should_run
5
+ from hestia_earth.models.geospatialDatabase.awareWaterBasinId import MODEL, MODEL_KEY, run, _should_run
6
6
 
7
7
  class_path = f"hestia_earth.models.{MODEL}.{MODEL_KEY}"
8
8
  fixtures_folder = f"{fixtures_path}/{MODEL}/{MODEL_KEY}"
@@ -58,7 +58,7 @@ def _download_fixture(filepath: str):
58
58
  @patch(f"{FAOSTAT_CLASS_PATH}.download_lookup")
59
59
  def test_get_changes(mock_lookup):
60
60
  mock_lookup.return_value = _download_fixture(f"{faostat_fixtures_folder}/gadm-afg.csv")
61
- result = get_changes(
61
+ result, missing_values = get_changes(
62
62
  country_id="GADM-AFG",
63
63
  end_year=2010
64
64
  )
@@ -197,7 +197,9 @@ def test_get_sums_of_crop_expansion():
197
197
  "gbr_example",
198
198
  "malaysia",
199
199
  "prior_landCover",
200
- "nigeria_cassava"
200
+ "nigeria_cassava",
201
+ "cover_crops",
202
+ "missing_fao_date"
201
203
  ]
202
204
  )
203
205
  @patch(f"{CLASS_PATH}._new_management", side_effect=fake_new_management)
@@ -14,7 +14,9 @@ fixtures_folder = f"{fixtures_path}/{MODEL}/{TERM_ID}"
14
14
  @pytest.mark.parametrize(
15
15
  "subfolder",
16
16
  [
17
- "maize_brazil"
17
+ "maize_brazil",
18
+ "orange_iran",
19
+ "aggregated"
18
20
  ]
19
21
  )
20
22
  @patch("hestia_earth.models.hestia.resourceUse_utils._new_indicator", side_effect=fake_new_indicator)