hestia-earth-models 0.64.6__py3-none-any.whl → 0.64.8__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of hestia-earth-models might be problematic. Click here for more details.

Files changed (37) hide show
  1. hestia_earth/models/cycle/animal/milkYield.py +10 -22
  2. hestia_earth/models/cycle/unknownPreSeasonWaterRegime.py +0 -1
  3. hestia_earth/models/environmentalFootprintV3/soilQualityIndexLandOccupation.py +25 -24
  4. hestia_earth/models/environmentalFootprintV3/soilQualityIndexLandTransformation.py +182 -0
  5. hestia_earth/models/environmentalFootprintV3/soilQualityIndexTotalLandUseEffects.py +66 -0
  6. hestia_earth/models/environmentalFootprintV3/utils.py +1 -1
  7. hestia_earth/models/hyde32/utils.py +4 -0
  8. hestia_earth/models/ipcc2019/animal/pastureGrass.py +3 -1
  9. hestia_earth/models/ipcc2019/co2ToAirAboveGroundBiomassStockChangeLandUseChange.py +191 -0
  10. hestia_earth/models/ipcc2019/co2ToAirBelowGroundBiomassStockChangeLandUseChange.py +204 -0
  11. hestia_earth/models/ipcc2019/co2ToAirCarbonStockChange_utils.py +255 -35
  12. hestia_earth/models/ipcc2019/co2ToAirSoilOrganicCarbonStockChangeManagementChange.py +63 -149
  13. hestia_earth/models/ipcc2019/pastureGrass.py +3 -1
  14. hestia_earth/models/mocking/search-results.json +337 -319
  15. hestia_earth/models/pooreNemecek2018/landOccupationDuringCycle.py +12 -8
  16. hestia_earth/models/site/management.py +3 -5
  17. hestia_earth/models/transformation/input/excreta.py +9 -13
  18. hestia_earth/models/utils/input.py +5 -2
  19. hestia_earth/models/utils/site.py +4 -2
  20. hestia_earth/models/version.py +1 -1
  21. {hestia_earth_models-0.64.6.dist-info → hestia_earth_models-0.64.8.dist-info}/METADATA +2 -2
  22. {hestia_earth_models-0.64.6.dist-info → hestia_earth_models-0.64.8.dist-info}/RECORD +37 -29
  23. tests/models/cycle/animal/test_milkYield.py +1 -14
  24. tests/models/environmentalFootprintV3/test_freshwaterEcotoxicityPotentialCtue.py +4 -2
  25. tests/models/environmentalFootprintV3/test_soilQualityIndexLandOccupation.py +16 -24
  26. tests/models/environmentalFootprintV3/test_soilQualityIndexLandTransformation.py +113 -0
  27. tests/models/environmentalFootprintV3/test_soilQualityIndexTotalLandUseEffects.py +50 -0
  28. tests/models/ipcc2019/test_co2ToAirAboveGroundBiomassStockChangeLandUseChange.py +83 -0
  29. tests/models/ipcc2019/test_co2ToAirBelowGroundBiomassStockChangeLandUseChange.py +83 -0
  30. tests/models/ipcc2019/test_co2ToAirCarbonStockChange_utils.py +6 -6
  31. tests/models/ipcc2019/test_co2ToAirSoilOrganicCarbonStockChangeManagementChange.py +5 -4
  32. tests/models/pooreNemecek2018/test_landOccupationDuringCycle.py +4 -1
  33. tests/models/site/test_management.py +4 -1
  34. tests/models/utils/test_input.py +65 -1
  35. {hestia_earth_models-0.64.6.dist-info → hestia_earth_models-0.64.8.dist-info}/LICENSE +0 -0
  36. {hestia_earth_models-0.64.6.dist-info → hestia_earth_models-0.64.8.dist-info}/WHEEL +0 -0
  37. {hestia_earth_models-0.64.6.dist-info → hestia_earth_models-0.64.8.dist-info}/top_level.txt +0 -0
@@ -2,6 +2,7 @@ from hestia_earth.models.log import logRequirements, logShouldRun
2
2
  from hestia_earth.models.utils.indicator import _new_indicator
3
3
  from hestia_earth.models.utils.impact_assessment import get_product, get_site
4
4
  from hestia_earth.models.utils.cycle import land_occupation_per_kg
5
+ from hestia_earth.models.utils.site import get_land_cover_term_id
5
6
  from . import MODEL
6
7
 
7
8
  REQUIREMENTS = {
@@ -38,14 +39,15 @@ REQUIREMENTS = {
38
39
  }
39
40
  RETURNS = {
40
41
  "Indicator": [{
41
- "value": ""
42
+ "value": "",
43
+ "landCover": ""
42
44
  }]
43
45
  }
44
46
  TERM_ID = 'landOccupationDuringCycle'
45
47
 
46
48
 
47
- def _indicator(term_id: str, value: float):
48
- indicator = _new_indicator(term_id, MODEL)
49
+ def _indicator(term_id: str, value: float, land_covert_term_id: str):
50
+ indicator = _new_indicator(term_id, MODEL, land_covert_term_id)
49
51
  indicator['value'] = value
50
52
  return indicator
51
53
 
@@ -54,16 +56,18 @@ def _should_run(impact_assessment: dict):
54
56
  product = get_product(impact_assessment)
55
57
  cycle = impact_assessment.get('cycle', {})
56
58
  site = get_site(impact_assessment)
59
+ land_covert_term_id = get_land_cover_term_id(site.get('siteType'))
57
60
  land_occupation_m2_kg = land_occupation_per_kg(MODEL, TERM_ID, cycle, site, product)
58
61
 
59
62
  logRequirements(impact_assessment, model=MODEL, term=TERM_ID,
60
- land_occupation_kg=land_occupation_m2_kg)
63
+ land_occupation_kg=land_occupation_m2_kg,
64
+ land_covert_term_id=land_covert_term_id)
61
65
 
62
- should_run = all([land_occupation_m2_kg is not None])
66
+ should_run = all([land_covert_term_id, land_occupation_m2_kg is not None])
63
67
  logShouldRun(impact_assessment, MODEL, TERM_ID, should_run)
64
- return should_run, land_occupation_m2_kg
68
+ return should_run, land_occupation_m2_kg, land_covert_term_id
65
69
 
66
70
 
67
71
  def run(impact_assessment: dict):
68
- should_run, land_occupation_kg = _should_run(impact_assessment)
69
- return [_indicator(TERM_ID, land_occupation_kg)] if should_run else []
72
+ should_run, land_occupation_kg, land_covert_term_id = _should_run(impact_assessment)
73
+ return [_indicator(TERM_ID, land_occupation_kg, land_covert_term_id)] if should_run else []
@@ -267,10 +267,8 @@ def _should_run_all_products(cycles: list, site_type: str):
267
267
  dates = sorted(list(set(
268
268
  non_empty_list(flatten([[cycle.get('startDate'), cycle.get('endDate')] for cycle in cycles]))
269
269
  ))) if site_type not in _SKIP_LAND_COVER_SITE_TYPES else []
270
- site_type_term = download_hestia(get_landCover_term_id_from_site_type(site_type)) if all([
271
- len(dates) >= 2,
272
- site_type
273
- ]) else None
270
+ site_type_id = get_landCover_term_id_from_site_type(site_type) if site_type else None
271
+ site_type_term = download_hestia(site_type_id) if all([len(dates) >= 2, site_type_id]) else None
274
272
  products_site_type = [{
275
273
  "term": linked_node(site_type_term),
276
274
  "value": 100,
@@ -286,7 +284,7 @@ def _should_run(site: dict):
286
284
 
287
285
  products_animal, products_crop_forage, products_land_cover = _should_run_all_products(
288
286
  cycles=cycles,
289
- site_type=site.get("siteType", "")
287
+ site_type=site.get("siteType")
290
288
  )
291
289
  all_products = products_land_cover + products_crop_forage + products_animal
292
290
  all_products = condense_nodes(all_products)
@@ -4,12 +4,13 @@ Input Excreta
4
4
  Copy Cycle (or previous Transformation) `excreta` products into the Transformation inputs if they are missing.
5
5
  """
6
6
  from functools import reduce
7
- from hestia_earth.schema import NodeType, TermTermType
7
+ from hestia_earth.schema import NodeType, TermTermType, Input, Product
8
8
  from hestia_earth.utils.model import filter_list_term_type, find_term_match
9
9
  from hestia_earth.utils.tools import list_sum
10
10
 
11
11
  from hestia_earth.models.log import logShouldRun
12
- from hestia_earth.models.utils import term_id_prefix
12
+ from hestia_earth.models.utils import _omit, term_id_prefix
13
+ from hestia_earth.models.utils.blank_node import merge_blank_nodes
13
14
  from hestia_earth.models.utils.input import _new_input
14
15
  from hestia_earth.models.utils.transformation import previous_transformation
15
16
  from .. import MODEL
@@ -43,13 +44,10 @@ MODEL_LOG = '/'.join([MODEL, 'input', MODEL_KEY])
43
44
  def _to_input(transformation: dict):
44
45
  def new_input(values: tuple):
45
46
  product, ratio = values
46
- data = {**product}
47
- if 'primary' in data.keys():
48
- del data['primary']
47
+ # omit all keys in Product but not in Input
48
+ data = _omit(product, list(Product().fields.keys() - Input().fields.keys()))
49
49
  logShouldRun(transformation, MODEL_LOG, product.get('term', {}).get('@id'), True)
50
- return {
51
- **data,
52
- **_new_input(product.get('term')),
50
+ return data | _new_input(product.get('term')) | {
53
51
  'value': [v * ratio for v in product.get('value', [])],
54
52
  'fromCycle': True
55
53
  }
@@ -59,8 +57,7 @@ def _to_input(transformation: dict):
59
57
  def _group_by_prefix(values: dict, input: dict):
60
58
  term_id = input.get('term', {}).get('@id')
61
59
  group_id = term_id_prefix(term_id)
62
- values[group_id] = values.get(group_id, [])
63
- values[group_id].append(input)
60
+ values[group_id] = values.get(group_id, []) + [input]
64
61
  return values
65
62
 
66
63
 
@@ -84,10 +81,9 @@ def _run_transformation(cycle: dict):
84
81
  previous = previous_transformation(cycle, transformations, transformation)
85
82
  products = filter_list_term_type(previous.get('products', []), TermTermType.EXCRETA)
86
83
  inputs = transformation.get('inputs', [])
87
- excreta = filter_list_term_type(transformation.get('inputs'), TermTermType.EXCRETA)
88
- grouped_inputs = reduce(_group_by_prefix, excreta, {})
84
+ grouped_inputs = reduce(_group_by_prefix, filter_list_term_type(inputs, TermTermType.EXCRETA), {})
89
85
  missing_products = reduce(_group_missing_products(products), grouped_inputs.values(), [])
90
- transformation['inputs'] = inputs + list(map(_to_input(transformation), missing_products))
86
+ transformation['inputs'] = merge_blank_nodes(inputs, list(map(_to_input(transformation), missing_products)))
91
87
  return transformations + [transformation]
92
88
  return run
93
89
 
@@ -7,7 +7,7 @@ from hestia_earth.utils.lookup import download_lookup, get_table_value, column_n
7
7
  from ..log import logger
8
8
  from . import _term_id, _include_model, _filter_list_term_unit, _load_calculated_node
9
9
  from .constant import Units
10
- from .blank_node import get_total_value, get_total_value_converted
10
+ from .blank_node import get_total_value, get_total_value_converted, get_lookup_value
11
11
 
12
12
 
13
13
  def _new_input(term, model=None):
@@ -96,7 +96,10 @@ def get_feed_inputs(cycle: dict):
96
96
  return [input for input in inputs if all([
97
97
  list_sum(input.get('value', [])) > 0,
98
98
  input.get('term', {}).get('units') == Units.KG.value,
99
- input.get('isAnimalFeed', False) is True
99
+ input.get('isAnimalFeed', False) is True,
100
+ # handle feed food additives
101
+ input.get('term', {}).get('termType') != TermTermType.FEEDFOODADDITIVE.value or
102
+ bool(get_lookup_value(input.get('term', {}), 'hasEnergyContent'))
100
103
  ])]
101
104
 
102
105
 
@@ -125,5 +125,7 @@ def region_factor(model: str, region_id: str, term_id: str, termType: TermTermTy
125
125
 
126
126
  def get_land_cover_term_id(site_type: str):
127
127
  land_cover_terms = get_land_cover_siteTypes()
128
- term = next((term for term in land_cover_terms if term["name"].lower() == site_type.lower()), {})
129
- return term.get("@id", "")
128
+ term = next((
129
+ term for term in land_cover_terms if term["name"].lower() == site_type.lower()
130
+ ), {}) if site_type else {}
131
+ return term.get('@id')
@@ -1 +1 @@
1
- VERSION = '0.64.6'
1
+ VERSION = '0.64.8'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hestia-earth-models
3
- Version: 0.64.6
3
+ Version: 0.64.8
4
4
  Summary: HESTIA's set of modules for filling gaps in the activity data using external datasets (e.g. populating soil properties with a geospatial dataset using provided coordinates) and internal lookups (e.g. populating machinery use from fuel use). Includes rules for when gaps should be filled versus not (e.g. never gap fill yield, gap fill crop residue if yield provided etc.).
5
5
  Home-page: https://gitlab.com/hestia-earth/hestia-engine-models
6
6
  Author: HESTIA Team
@@ -12,7 +12,7 @@ Classifier: Programming Language :: Python :: 3.6
12
12
  Description-Content-Type: text/markdown
13
13
  License-File: LICENSE
14
14
  Requires-Dist: hestia-earth.schema==30.*
15
- Requires-Dist: hestia-earth.utils>=0.13.4
15
+ Requires-Dist: hestia-earth.utils>=0.13.5
16
16
  Requires-Dist: python-dateutil>=2.8.1
17
17
  Requires-Dist: CurrencyConverter==0.16.8
18
18
  Requires-Dist: haversine>=2.7.0
@@ -4,7 +4,7 @@ hestia_earth/models/cache_sites.py,sha256=KQp9cUKE-aIcYJoMWEtKFYS8gBFfsx5LKQhqoW
4
4
  hestia_earth/models/log.py,sha256=DbfNcGzaC5hzkuMDxQqW6XYoNBI4Uxw4SIoOYoZA6og,3474
5
5
  hestia_earth/models/preload_requests.py,sha256=Ibx-YOhR_1yuyFBxsLUbvJHVK7PLyMLoPu5l9jDN_Qk,1342
6
6
  hestia_earth/models/requirements.py,sha256=eU4yT443fx7BnaokhrLB_PCizJI7Y6m4auyo8vQauNg,17363
7
- hestia_earth/models/version.py,sha256=zKnLZtyskCFM1o4QvK1WYD9h60tOljr4jMaMTzDcp9Q,19
7
+ hestia_earth/models/version.py,sha256=L60xIy0nhRJ6qj8RKQ1dAZGRyLHbUcTSsWzwzTRRH2M,19
8
8
  hestia_earth/models/agribalyse2016/__init__.py,sha256=WvK0qCQbnYtg9oZxrACd1wGormZyXibPtpCnIQeDqbw,415
9
9
  hestia_earth/models/agribalyse2016/fuelElectricity.py,sha256=tnGxBmJdPfPFfehLUQcefEqy1lHvzsSpx_s7O8nf3Zs,4412
10
10
  hestia_earth/models/agribalyse2016/machineryInfrastructureDepreciatedAmountPerCycle.py,sha256=BPjnWmg73i_OxM2ouCdMTWZtPIqyoUAXrvutntyteE0,3390
@@ -67,10 +67,10 @@ hestia_earth/models/cycle/startDate.py,sha256=pbBi55b6uJezPE8EOovOCSwQVrbwpmxwmr
67
67
  hestia_earth/models/cycle/startDateDefinition.py,sha256=6oJmT6XRKYbv2Jer2UJpkOQqHQKjIAEqPz7yv7k-HP4,2187
68
68
  hestia_earth/models/cycle/stockingDensityAnimalHousingAverage.py,sha256=f1houLdigq6EGMrG3dL8WqAaGVlpXNJB74VbSxWQUCY,1843
69
69
  hestia_earth/models/cycle/transformation.py,sha256=06KTfVubh2I47dfnG9Iv6AbuUBbURM8BAVOkRu7XmHw,1255
70
- hestia_earth/models/cycle/unknownPreSeasonWaterRegime.py,sha256=9EP8FMXO5fHqmhVNSqR_Dfe38KxwyPOCF6kMewiI_VE,1478
70
+ hestia_earth/models/cycle/unknownPreSeasonWaterRegime.py,sha256=s0vO5-6yNA2I2PbQvoXDO-THxU4k7wveieQFY-q26c0,1453
71
71
  hestia_earth/models/cycle/utils.py,sha256=SaJyQEufLlUCeA6P2rgK5nev1D8J1eCthPUwG0ZPvRE,1407
72
72
  hestia_earth/models/cycle/animal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
73
- hestia_earth/models/cycle/animal/milkYield.py,sha256=O5-OruRhUpKpxsfhGskTHLP8PDd-awAxlEh8acq_PaQ,3011
73
+ hestia_earth/models/cycle/animal/milkYield.py,sha256=QIPa3MJLkX0CUdmeAcA3lFOi0UmXqbG3Z0-uKH8thTM,2371
74
74
  hestia_earth/models/cycle/animal/properties.py,sha256=OGjRl79w-h439jTkjA8b4V61fMuo0McoUs3JrgK-0Zc,596
75
75
  hestia_earth/models/cycle/animal/input/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
76
76
  hestia_earth/models/cycle/animal/input/hestiaAggregatedData.py,sha256=EpJ6qU0jsoSMEuZYIKCn1f-loJ53_nmpnyDhH5sZTuw,2529
@@ -138,8 +138,10 @@ hestia_earth/models/emepEea2019/utils.py,sha256=oTHjbRRwJZv_tpO9MOlfpyQRmN0a1kvE
138
138
  hestia_earth/models/emissionNotRelevant/__init__.py,sha256=nIuPIkQR1ghv_T_Ab4Ckq5wmGdWVmgbaOjhtKfIJ-WE,2183
139
139
  hestia_earth/models/environmentalFootprintV3/__init__.py,sha256=lzg9qccwd9tbspw0lQ58YPprnvvSLTn3QV5T2-tPcC4,425
140
140
  hestia_earth/models/environmentalFootprintV3/freshwaterEcotoxicityPotentialCtue.py,sha256=X62-4v0NJdM_Z5kLK3NuU4GNEeSrXlKlMZQB_o4JZ6c,1018
141
- hestia_earth/models/environmentalFootprintV3/soilQualityIndexLandOccupation.py,sha256=33lGSdexLPZGEMCm09xzr4myp74B5-hG8pb7HhPvaGk,4278
142
- hestia_earth/models/environmentalFootprintV3/utils.py,sha256=HKz_ckzuMZvo8YL-laApyhiccl2NoJUxHs2npwBCMWw,712
141
+ hestia_earth/models/environmentalFootprintV3/soilQualityIndexLandOccupation.py,sha256=fFYSOjO_G1XPRW0Au7erYj4XSAZkoMN0Lx4DvEziSBo,4514
142
+ hestia_earth/models/environmentalFootprintV3/soilQualityIndexLandTransformation.py,sha256=K0ot5wLo8beAHkBmXEQGPDRykoBoQ0u2ihxLAZWpy6I,7259
143
+ hestia_earth/models/environmentalFootprintV3/soilQualityIndexTotalLandUseEffects.py,sha256=-Lsc2VLtOwFnNqCL7nHKsyLfcSWIgYGs4iMso3AoDk8,2679
144
+ hestia_earth/models/environmentalFootprintV3/utils.py,sha256=fZ99_G0Kh4OUW5wH-LglzCrKp8l2plKuCs4yvUH_3hs,699
143
145
  hestia_earth/models/epa2014/__init__.py,sha256=ckGf_6X7CCzI_18OqchEkuJAXKXM1x7V53u480ckknM,408
144
146
  hestia_earth/models/epa2014/no3ToGroundwaterExcreta.py,sha256=fN4fOOcjBg3tl0lzNeJ8mzg6mrvQRxilx-R5Gc4l4Nw,1724
145
147
  hestia_earth/models/fantkeEtAl2016/__init__.py,sha256=NtOlRmjTA4e8i0nW8erwdm-DDtfYlbLiARqqv82bkU4,415
@@ -203,7 +205,7 @@ hestia_earth/models/hyde32/landTransformationFromOtherNaturalVegetation100YearAv
203
205
  hestia_earth/models/hyde32/landTransformationFromOtherNaturalVegetation20YearAverageDuringCycle.py,sha256=Yi6Jnh4G4hILUoV2fgkDBNzT9Q7BY5wCUHEB-OUejys,2460
204
206
  hestia_earth/models/hyde32/landTransformationFromPermanentPasture100YearAverageDuringCycle.py,sha256=ZkRn4toDe3flLtJG6iptE6cCFEkexVQ4lg2nr779Do8,2442
205
207
  hestia_earth/models/hyde32/landTransformationFromPermanentPasture20YearAverageDuringCycle.py,sha256=wz2YMJ_qG1_2BosqsI6TDKAPqvVE6a3Ejuikz-cv-Z0,2433
206
- hestia_earth/models/hyde32/utils.py,sha256=9HoTiNi52iSopIh0Q_6l7kObr4MPxrBkAvQf6T-zm1U,3383
208
+ hestia_earth/models/hyde32/utils.py,sha256=38iHv9XBkQpvQn0iht22DP35bh9fC5BRmi3YVppEyGo,3505
207
209
  hestia_earth/models/impact_assessment/__init__.py,sha256=gTR_PhWps593fPhm-V826VLLrZVH8CNQTqxExB7GGNI,418
208
210
  hestia_earth/models/impact_assessment/allocationMethod.py,sha256=Qz41nTtMpDCcPy7PjhVtafE13dfJLX_D3Rg3yNhdY_Q,1279
209
211
  hestia_earth/models/impact_assessment/emissions.py,sha256=mJsTasM-5AFtZeKzQ9Q38SDLcnl_lQwfjQ52ro2Pjmg,3444
@@ -247,9 +249,11 @@ hestia_earth/models/ipcc2019/ch4ToAirAquacultureSystems.py,sha256=q6yyEiYQhHJ2Vy
247
249
  hestia_earth/models/ipcc2019/ch4ToAirEntericFermentation.py,sha256=7rA9thwYXbJkSFTEl71AbFVQfBz0CaJfblpJpO9s6D8,11611
248
250
  hestia_earth/models/ipcc2019/ch4ToAirExcreta.py,sha256=eY_yb7ncTb_2HoUUgXZnnRHiybTXYj_DTe3CmDzD3fY,6717
249
251
  hestia_earth/models/ipcc2019/ch4ToAirFloodedRice.py,sha256=TJ4J7VA5n4RPrJYZQeR3lc3ZoCw7T1E5Cb1XJewr834,7331
250
- hestia_earth/models/ipcc2019/co2ToAirCarbonStockChange_utils.py,sha256=n87ghsqDEuZodeJOAHadfS2au4rqB-cuhZoZhrG55dw,32154
252
+ hestia_earth/models/ipcc2019/co2ToAirAboveGroundBiomassStockChangeLandUseChange.py,sha256=Hw7Nd1L2afLWHS0SbJT60m_YefmgR_izIvOf6mw-mxQ,5752
253
+ hestia_earth/models/ipcc2019/co2ToAirBelowGroundBiomassStockChangeLandUseChange.py,sha256=x5dvIQ3QfSrEM-VFIC7_owQr-1aC7T6RXGoc5X-q90k,5803
254
+ hestia_earth/models/ipcc2019/co2ToAirCarbonStockChange_utils.py,sha256=LTISlOz71vTgslkI5c5iqL0lqwDI6rOcwSlNcRMgTxQ,40729
251
255
  hestia_earth/models/ipcc2019/co2ToAirLimeHydrolysis.py,sha256=7z0zdqiiWQwkyJCgSNMoK2mft3cJkTRlqwKrMuSKdWI,2454
252
- hestia_earth/models/ipcc2019/co2ToAirSoilOrganicCarbonStockChangeManagementChange.py,sha256=Fgy67gYS57QIcmbgjwyTYKT8Plh9Xy8_fuW63I6-AmY,8669
256
+ hestia_earth/models/ipcc2019/co2ToAirSoilOrganicCarbonStockChangeManagementChange.py,sha256=QhLVmjFZABdP9uPe5d8X1QLEvhKmrgKW9ywwlDArqY4,5804
253
257
  hestia_earth/models/ipcc2019/co2ToAirUreaHydrolysis.py,sha256=Ofld5SuRKndcKB3FFFoUdzSgNq-gc4kmiNyyrPKQ3Io,3580
254
258
  hestia_earth/models/ipcc2019/croppingDuration.py,sha256=-CesZ2cNDOQoU3QyVFnSWYO-6-JXxuhRDQoHoxTawDA,3228
255
259
  hestia_earth/models/ipcc2019/ligninContent.py,sha256=Qh-UH4lv1TIf7wWlbAPwIZZHxzbbmQgND3m15pt5Si8,7285
@@ -274,13 +278,13 @@ hestia_earth/models/ipcc2019/organicCarbonPerHa.py,sha256=iRUSVxMpBGgsVDkuBABPKI
274
278
  hestia_earth/models/ipcc2019/organicCarbonPerHa_tier_1_utils.py,sha256=d112vbcbKHHoy0q3ncaI3d9dsAPydSEaWbXWupJe1-c,81908
275
279
  hestia_earth/models/ipcc2019/organicCarbonPerHa_tier_2_utils.py,sha256=A84r6u45HFk5jEb2nTWGTFTwX1qjq8F6qwkNUuiyH48,63542
276
280
  hestia_earth/models/ipcc2019/organicCarbonPerHa_utils.py,sha256=HGJC2zcEvtbkovccAZ5MYm84wBXUZH0Q3UyJOXD0ltA,10157
277
- hestia_earth/models/ipcc2019/pastureGrass.py,sha256=w8LMbxJTdZtC2nrWoooPA0jrA9-FIFBZA-dBpGyqAUg,10158
281
+ hestia_earth/models/ipcc2019/pastureGrass.py,sha256=Hhm9szzsL3otuo-V6fQ_cNyDbG0dlubr4-1L4WefbDE,10304
278
282
  hestia_earth/models/ipcc2019/pastureGrass_utils.py,sha256=Bzz4yPDdA7YVUhhJhQCCVu0uKONeO3b6a48_ZITZgzU,13889
279
283
  hestia_earth/models/ipcc2019/utils.py,sha256=MSDMu15D9DnilFUgi4_6jYXC0FaKso3OODauGTMB6hs,6229
280
284
  hestia_earth/models/ipcc2019/animal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
281
285
  hestia_earth/models/ipcc2019/animal/liveweightGain.py,sha256=Gwd6J6k-W84EAsC_cNMLaNy3p4-2pqCSc3grBfPvanw,2618
282
286
  hestia_earth/models/ipcc2019/animal/liveweightPerHead.py,sha256=Lhnk58SvVtM2FayljOBPHFFx5OBFFqsiaVG8ZjwCaXA,2634
283
- hestia_earth/models/ipcc2019/animal/pastureGrass.py,sha256=edBXCVjJB5ZBGJ9_zE3H6xKpT84hPqe3dv5JF879tXw,12066
287
+ hestia_earth/models/ipcc2019/animal/pastureGrass.py,sha256=4vs-KIlCKQhU1EpX0BFlVAQrh1szm154AnrPDs13oE4,12212
284
288
  hestia_earth/models/ipcc2019/animal/utils.py,sha256=ziyphGLEO_eitOLtBG0BLpJfmN3csqUetFZuDo8FX2U,990
285
289
  hestia_earth/models/ipcc2019/animal/weightAtMaturity.py,sha256=IHrG6cqLVhOiIbrvK0w5xDu4bHmy5om-1qBKMmkFC2o,3376
286
290
  hestia_earth/models/ipcc2021/__init__.py,sha256=VTgGFKhwMmk_nuI1RRq0in27fHYVPBonlXlPK00K8no,409
@@ -395,7 +399,7 @@ hestia_earth/models/linkedImpactAssessment/landTransformationFromPermanentPastur
395
399
  hestia_earth/models/linkedImpactAssessment/utils.py,sha256=dGwGc2d-8_WQElTpfyPmz5vQtL-LHQRmiZnCTuPXMDs,1876
396
400
  hestia_earth/models/mocking/__init__.py,sha256=n3Fkkrvh8zHNWiJZmnfQ7WZ91JRzAO9P6pSG1JpwtXo,687
397
401
  hestia_earth/models/mocking/mock_search.py,sha256=qgABw-sZK37XtsALKt8AHF2VJPUrZSnHv5Qj1Dn93oA,2405
398
- hestia_earth/models/mocking/search-results.json,sha256=Rr_kuhVrDnGcO6OcbNyiI3GhUjRiPB6Rofq-w3gKVWo,54779
402
+ hestia_earth/models/mocking/search-results.json,sha256=IgD-CYkxGRF8pfPqCwY9jf_mRxK3kgRhXm5W_WSxPsI,55196
399
403
  hestia_earth/models/pooreNemecek2018/__init__.py,sha256=nPboL7ULJzL5nJD5q7q9VOZt_fxbKVm8fmn1Az5YkVY,417
400
404
  hestia_earth/models/pooreNemecek2018/aboveGroundCropResidueTotal.py,sha256=Qt-mel4dkhK6N5uUOutNOinCTFjbjtGzITaaI0LvYc4,2396
401
405
  hestia_earth/models/pooreNemecek2018/belowGroundCropResidue.py,sha256=JT0RybbvWVlo01FO8K0Yj41HrEaJT3Kj1xfayr2X-xw,2315
@@ -403,7 +407,7 @@ hestia_earth/models/pooreNemecek2018/ch4ToAirAquacultureSystems.py,sha256=CxjhFi
403
407
  hestia_earth/models/pooreNemecek2018/excretaKgN.py,sha256=kB4C1mSA9h8uUJXXaf-39ZwhzAmmvapkfA7v0nUN_Qg,6418
404
408
  hestia_earth/models/pooreNemecek2018/excretaKgVs.py,sha256=5rK3wfI8JO2feaFRv23-s9bH09DIl4LLLcjHS3cf-Ow,8424
405
409
  hestia_earth/models/pooreNemecek2018/freshwaterWithdrawalsDuringCycle.py,sha256=HB_9q5eE6al2Te3v29hC5wqxsYe4P46ZAPwdWNzx3v0,3939
406
- hestia_earth/models/pooreNemecek2018/landOccupationDuringCycle.py,sha256=jE110XgPMgfnBMUXyKIL5SL9yZWYhdGr5NrfHcqn2h0,2785
410
+ hestia_earth/models/pooreNemecek2018/landOccupationDuringCycle.py,sha256=78N513lNtjol0KKddxmG3Pb9vAmledlrWbfURVdLHBA,3139
407
411
  hestia_earth/models/pooreNemecek2018/longFallowDuration.py,sha256=Wdm6QyOttCFP9Y3OjbaYrvdMmivOmMIT-m5Eg9SM9rY,1511
408
412
  hestia_earth/models/pooreNemecek2018/n2OToAirAquacultureSystemsDirect.py,sha256=HJ7IstImGyasIKosK2lQZ-v6Lqt3_aEfZhoiC4CY0rM,2586
409
413
  hestia_earth/models/pooreNemecek2018/n2ToAirAquacultureSystems.py,sha256=SoZlogDd7_4kq5S9gc8KmVeIXacWWhaUkWlKTuho_OA,2431
@@ -497,7 +501,7 @@ hestia_earth/models/site/brackishWater.py,sha256=vLEhIZv5PUKwzwvIuYrWi7K---fq7ZX
497
501
  hestia_earth/models/site/cationExchangeCapacityPerKgSoil.py,sha256=0eH4A-tXJ0hvIkiYXWxlx8TfrdbIKUGYUDk97-yQJgg,3653
498
502
  hestia_earth/models/site/flowingWater.py,sha256=v3g5722GIA4zQAUQI9yGFiZvFvI1QAVZqlQrY-6_B3A,1731
499
503
  hestia_earth/models/site/freshWater.py,sha256=FXs3Vt8V4e-wn325_dwSTOKlZtn5ksNUpvYGDeLJShY,1255
500
- hestia_earth/models/site/management.py,sha256=FoLQYILOiobB4cJyOWdpG7A4q30TgOs_MGEN67-eqV8,11409
504
+ hestia_earth/models/site/management.py,sha256=lFBqe5eW6O_Wb1JfV-X6J8_lLIeVzn64TvGLfF7flgM,11441
501
505
  hestia_earth/models/site/netPrimaryProduction.py,sha256=UIIQkYd911qVzrWjxBLrC37e-RARIVgDwLdARY9BuLw,1849
502
506
  hestia_earth/models/site/organicCarbonPerHa.py,sha256=F2ShinHf0m9qKa1nCYBspsDkRY6jzOl0wM8mSDre22I,14916
503
507
  hestia_earth/models/site/organicCarbonPerKgSoil.py,sha256=t--wAshiAKS-JvEKhLFRadGvgSBv5NFZ68jdyms_wh4,1945
@@ -544,7 +548,7 @@ hestia_earth/models/stehfestBouwman2006GisImplementation/noxToAirOrganicFertilis
544
548
  hestia_earth/models/stehfestBouwman2006GisImplementation/noxToAirSoilFlux.py,sha256=yRsk-WcI13mVz4jerCAxJY91hqNs2JelXhbufP83Km0,3403
545
549
  hestia_earth/models/transformation/__init__.py,sha256=63Y_fXFBn4sX2l7F0hMsWkgIvxk5Tw9XoDBQr6bUBQQ,352
546
550
  hestia_earth/models/transformation/input/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
547
- hestia_earth/models/transformation/input/excreta.py,sha256=cuUlM3QwrTDu2WdPflkELDjLbSu-mB6TX620T1xPyu8,4231
551
+ hestia_earth/models/transformation/input/excreta.py,sha256=Ic2PrVZcVkxV7M5_Ouk1Yx3GZiiSsQSGQvTWMRE-dHo,4281
548
552
  hestia_earth/models/transformation/input/max.py,sha256=epoVopKlKl7epxwz-iLTfmnCHBjmOhiBMhGEQB8-LtU,1574
549
553
  hestia_earth/models/transformation/input/min.py,sha256=E3o7Fpoyx-DVrFk_QzQrs24kwvCX9Ylb4mvCoUOwtcw,1574
550
554
  hestia_earth/models/transformation/input/properties.py,sha256=tIWhpYDzywATe3_NAMQhrL0hMFeeRHnpZWmLcRsJP8Q,2294
@@ -578,7 +582,7 @@ hestia_earth/models/utils/fuel.py,sha256=r1MKMMxg-PYiVlRutP83RuvY2rsdCQ1iN6ekSGG
578
582
  hestia_earth/models/utils/impact_assessment.py,sha256=ma2oINLTIL1qplqC5D1_DbQu4EILpMXSgYNEslxIa2Y,7059
579
583
  hestia_earth/models/utils/indicator.py,sha256=IFrVIUYpmdVLOR1SKkrTReDbG1Tzq2b6daVvLMYpCs4,537
580
584
  hestia_earth/models/utils/inorganicFertiliser.py,sha256=_dLBY-otGkLr8PobR5dQ89bF2uwc2PB4JPrHFSksMEQ,1900
581
- hestia_earth/models/utils/input.py,sha256=YycsAbSBfVDMu6PftDsisMFGnEp87wOj-3rrnHnOgzo,4927
585
+ hestia_earth/models/utils/input.py,sha256=gsVFKTC9WF8dO6YAg_-H_GAOQTnvAr49Ox5-eTH8zf8,5145
582
586
  hestia_earth/models/utils/landCover.py,sha256=8-nfynzCx9gf9YfhpuoH6Cn4kQwWFpYA5RmoGW-0ETE,300
583
587
  hestia_earth/models/utils/liveAnimal.py,sha256=GnajBPZw5d94raf80KtLloaOqlfqGAPwUtP9bRlGWeE,1754
584
588
  hestia_earth/models/utils/lookup.py,sha256=2UztS6CHpFEsoERm5kwV3qUtzm0VpZQ4Fnmtceb2o18,7293
@@ -589,7 +593,7 @@ hestia_earth/models/utils/practice.py,sha256=tNadOzsrNlCEt801B815XaruJXzZ5yPASam
589
593
  hestia_earth/models/utils/product.py,sha256=DhDgiReR8k9n9aaRM2xk3PIY3nfoE1ISKg9pKsBVzVQ,10143
590
594
  hestia_earth/models/utils/productivity.py,sha256=rTJX_nemxHpOcPN7jiM2hFHknoLUIW8y-hFxVxIkg70,593
591
595
  hestia_earth/models/utils/property.py,sha256=gBy6FidNDhjzokOXOWcIDBMKcdPPBXxIZgdAxgQsmWc,5127
592
- hestia_earth/models/utils/site.py,sha256=zEj2PtIghk-L_vVJidlXM6_ed7HTc2-ogP0sQSh49vw,3874
596
+ hestia_earth/models/utils/site.py,sha256=MyWh_jhY1XbN2EZRdJsHzNJW0PGQqEC1wAmiie4nQy0,3905
593
597
  hestia_earth/models/utils/source.py,sha256=Y-CcO5Y3q5Hz4A4RdX35C1EUjL9w1NKnOrzVfOWQ7nU,1748
594
598
  hestia_earth/models/utils/stats.py,sha256=-0vvhSDAhp4ZYXD1l6sO2hdok8_HgUM6OjCSYGSTHqU,15291
595
599
  hestia_earth/models/utils/temperature.py,sha256=ljlG4-yCgFFb6LRZweb18cZKLrr7K2mqd4E4Hz_D1f8,476
@@ -670,7 +674,7 @@ tests/models/cycle/test_stockingDensityAnimalHousingAverage.py,sha256=WlnuKxhK_3
670
674
  tests/models/cycle/test_transformations.py,sha256=Ws_8KhNqeHogGFXTQ4qZXQ5Ph2I3ZUaY0yO1itFUHLk,464
671
675
  tests/models/cycle/test_unknownPreSeasonWaterRegime.py,sha256=4JSSpDvBQEQrDoytNVzuIcm9UVio4TzZpZm52iMWBVA,1220
672
676
  tests/models/cycle/animal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
673
- tests/models/cycle/animal/test_milkYield.py,sha256=e3FX8ikrS7nNeOuy8K7rNLs577odN5xrFohUWQw-tag,1323
677
+ tests/models/cycle/animal/test_milkYield.py,sha256=E6WLhuSRydREyKmqmOuOPB8VH1nwZwUMcUULshIdj7k,873
674
678
  tests/models/cycle/animal/test_properties.py,sha256=ND9ltZQie1xXtQvAzoDUkBYGV_N3rw5D5W-irARvO0s,715
675
679
  tests/models/cycle/animal/input/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
676
680
  tests/models/cycle/animal/input/test_hestiaAggregatedData.py,sha256=19rTpeoktPFMyOSolACMJkSe2p96xLsXAeRVjND0WbY,1229
@@ -723,8 +727,10 @@ tests/models/emepEea2019/test_so2ToAirFuelCombustion.py,sha256=zRTyeeQM1fRdRVFWb
723
727
  tests/models/emepEea2019/test_tspToAirAnimalHousing.py,sha256=4MNDsxIeUk5_3IvZwEZslxgoPNyQN9OQFDNY3uGNX6E,714
724
728
  tests/models/emepEea2019/test_utils.py,sha256=G6z8tEfWM0OPnUBaFCQgQyEi5-kRF_DqsqdYaPnzR_I,8761
725
729
  tests/models/environmentalFootprintV3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
726
- tests/models/environmentalFootprintV3/test_freshwaterEcotoxicityPotentialCtue.py,sha256=lIgsdGh_0eDi-rPcCOrSSjVYNiET2GCSRkAHdugAkDk,851
727
- tests/models/environmentalFootprintV3/test_soilQualityIndexLandOccupation.py,sha256=3UGN-FM6jn0IimqtjNHh-QlD41nmszrkU--SqlS-Mk8,4411
730
+ tests/models/environmentalFootprintV3/test_freshwaterEcotoxicityPotentialCtue.py,sha256=ZPDKM23qlLMe_ZzeA-QIutSkFlod3BsmjloA9WA8nug,845
731
+ tests/models/environmentalFootprintV3/test_soilQualityIndexLandOccupation.py,sha256=5cv3R1Zam0aW00smkWNKExgdWomhT9Ad8bCTH8KZCdw,4324
732
+ tests/models/environmentalFootprintV3/test_soilQualityIndexLandTransformation.py,sha256=XgxgTmuc1jZ0l1nmOd3KpIUfW7uY_erCj0GUN7DYmCQ,3564
733
+ tests/models/environmentalFootprintV3/test_soilQualityIndexTotalLandUseEffects.py,sha256=6cIdQ-EpMc3gdvt2PLKxX8nUhN05nUTlNpOm6njQYHY,1949
728
734
  tests/models/epa2014/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
729
735
  tests/models/epa2014/test_no3ToGroundwaterExcreta.py,sha256=ESVz4UURvQfhjGBTxjuAV_bymMBcvGNfLAkYMvNup9U,1217
730
736
  tests/models/fantkeEtAl2016/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -831,9 +837,11 @@ tests/models/ipcc2019/test_ch4ToAirAquacultureSystems.py,sha256=o7bHOS4JkwexRrDh
831
837
  tests/models/ipcc2019/test_ch4ToAirEntericFermentation.py,sha256=3Hv86L4X_Va2mZL4KI-36AV00z-KBbKo0cb2ABg6Rv8,7928
832
838
  tests/models/ipcc2019/test_ch4ToAirExcreta.py,sha256=e58NXmBW2SNVLUqQO9A66Xq6jiGTyhdFZDZk51JApF8,2902
833
839
  tests/models/ipcc2019/test_ch4ToAirFloodedRice.py,sha256=FAp5b45WdX5Ih4yGUOZ4CmVD8smW1Lw1tnulx9AKVBI,1980
834
- tests/models/ipcc2019/test_co2ToAirCarbonStockChange_utils.py,sha256=uet7ue1K1zNtBRd-6uxC20Sxl0DOq_jT0wIMZ6LzBZY,2165
840
+ tests/models/ipcc2019/test_co2ToAirAboveGroundBiomassStockChangeLandUseChange.py,sha256=wqkTiQpKPYy-jLdYEpP4pfp56iDUcx_nCD6x2Woefqw,2988
841
+ tests/models/ipcc2019/test_co2ToAirBelowGroundBiomassStockChangeLandUseChange.py,sha256=LwWdnozxdM8TvfOcXbd3iaUDas0ztl6GnLj7oX84UnM,2912
842
+ tests/models/ipcc2019/test_co2ToAirCarbonStockChange_utils.py,sha256=wCEtrbMl6zef8V-n_Ci_rtlQAlfuKm3khUVltr8eAcc,2173
835
843
  tests/models/ipcc2019/test_co2ToAirLimeHydrolysis.py,sha256=e5iuZ-kQNEVih0ZRgRPWqaUtXcLpfkoU7sQypbqA9_Y,1345
836
- tests/models/ipcc2019/test_co2ToAirSoilOrganicCarbonStockChangeManagementChange.py,sha256=WMWU3INQEy_hzrAP7gG36YeUFUcJaX8Y_JzHCLw4M6s,2852
844
+ tests/models/ipcc2019/test_co2ToAirSoilOrganicCarbonStockChangeManagementChange.py,sha256=C1mK1Zl-541HJD02pSe8uX3h0ZiY64Yfys2_Qnqa7wA,2928
837
845
  tests/models/ipcc2019/test_co2ToAirUreaHydrolysis.py,sha256=MmtEME0xjsa3KojFk_fxOLK6RZM_6p5HIpY2DOFHVu4,1530
838
846
  tests/models/ipcc2019/test_croppingDuration.py,sha256=gLRXeR6Tqa7ciD9KTRfsIflSeIIWT2iOpZMdcxAQla4,1871
839
847
  tests/models/ipcc2019/test_ligninContent.py,sha256=eIKEN__ab-0R52EhlhPSBiHnmTl6xOf1XbI33O-W9A4,4146
@@ -980,7 +988,7 @@ tests/models/pooreNemecek2018/test_ch4ToAirAquacultureSystems.py,sha256=rUxD57yl
980
988
  tests/models/pooreNemecek2018/test_excretaKgN.py,sha256=lKM-Q7TjQoxjvjY9tCcmJxoWvHuxglNCVsPXh6JBgCY,4063
981
989
  tests/models/pooreNemecek2018/test_excretaKgVs.py,sha256=LIoLevR0tHrZwazuGprt6SCFtmDrj4NBq1s1SJEhQCA,3252
982
990
  tests/models/pooreNemecek2018/test_freshwaterWithdrawalsDuringCycle.py,sha256=5QxDU6VzcwWup3Nuhn32kJoIlAkqcSggGr4CmoRqrFA,1623
983
- tests/models/pooreNemecek2018/test_landOccupationDuringCycle.py,sha256=XbsApbRIuzq4GeaN7PrzlMA7grU7y6j_HPesgQIf_Uw,1650
991
+ tests/models/pooreNemecek2018/test_landOccupationDuringCycle.py,sha256=MrgxJIuojKCuwCKX6d_KMsg8dTkfdxWwZPnCtjFZDwo,1873
984
992
  tests/models/pooreNemecek2018/test_longFallowDuration.py,sha256=kelZajIbKyvVm1vX_grRZy0IUrtejGI5GPn03qbElnw,925
985
993
  tests/models/pooreNemecek2018/test_n2OToAirAquacultureSystemsDirect.py,sha256=4YAoUhIwfEmRe2B5BvNg247VeB7UXHNeZqr2mRtJA7Y,2207
986
994
  tests/models/pooreNemecek2018/test_n2ToAirAquacultureSystems.py,sha256=YqwAvbYfLVamfkUJUwGTEWEnz8ts66jVF8831QcWNkg,2200
@@ -1072,7 +1080,7 @@ tests/models/site/test_brackishWater.py,sha256=YGCp4glaWudKklYBSp-50KbfvIRtp3F4Q
1072
1080
  tests/models/site/test_cationExchangeCapacityPerKgSoil.py,sha256=tNMhN998vcjQ15I-5mNnFh2d7mHzEBIBO6o1VSfQNUE,1075
1073
1081
  tests/models/site/test_flowingWater.py,sha256=t_rxvdlmUVDsFBoDF20_zDM-0iiLKkNCV7knO9l1T7o,1370
1074
1082
  tests/models/site/test_freshWater.py,sha256=GOeAxHhPW_2E1wQdQRX4W-r7mnb_LgmiAVLImitoApw,982
1075
- tests/models/site/test_management.py,sha256=X3yfYTJEdMXtnEXkCizj1XNYBuA7hJSsqwUcEEyjoCY,7178
1083
+ tests/models/site/test_management.py,sha256=hNUCwn-eJhoKBqxjfCRytZipPNqqtJQ41G2kcvJquNs,7229
1076
1084
  tests/models/site/test_netPrimaryProduction.py,sha256=JCxG0MODbKVvl3hOqmKzh4FjHYn3Xs9KsVod6LvKQII,1108
1077
1085
  tests/models/site/test_organicCarbonPerHa.py,sha256=XtGrE7ZqthTF0x8lDxJ1slNd_GvYHEyEydcRgA46jEc,3207
1078
1086
  tests/models/site/test_organicCarbonPerKgSoil.py,sha256=0M-NMg_T3UXzGT_VlKOKhSxg4cZ0_zhd3FRgY5Hpj6o,1087
@@ -1140,7 +1148,7 @@ tests/models/utils/test_emission.py,sha256=3KfhQGV5Vh_WXTPt6McvZ2dBp9TVM7eAUTLgR
1140
1148
  tests/models/utils/test_feedipedia.py,sha256=S7c1W4bJ5xWXPh42pPbl3R7lDX_iEeaEtFaPXgB7hgE,906
1141
1149
  tests/models/utils/test_impact_assessment.py,sha256=qEm4Y5txWnkSJKP1puvwgKFXkv06c7vUKmwDyIJxkdc,1114
1142
1150
  tests/models/utils/test_indicator.py,sha256=GwYKV5N_yEPcJWz7FirRnK48rl62ofAn_TkAo0MioIM,639
1143
- tests/models/utils/test_input.py,sha256=bSG6YKmT2ofY2oD5CGbNwR8-To-ihyNyr14Td5-jNRU,585
1151
+ tests/models/utils/test_input.py,sha256=sxNFToFGPv-OjiM_hZSYx_aSWPuAT575hffQ1NhG3L4,2444
1144
1152
  tests/models/utils/test_liveAnimal.py,sha256=bntT4vULWsDF2DOigtiMjpS0gJS5ipalPsfrk-JxC-I,986
1145
1153
  tests/models/utils/test_lookup.py,sha256=107k7wsqDkxm_HFQ41W6gU1naslx3TXz1yDRQ5OhF10,401
1146
1154
  tests/models/utils/test_measurement.py,sha256=KBJobXlBUOwf2KuUduM1oQSR22JX6Pq0h5e3TRbQn-w,3678
@@ -1154,8 +1162,8 @@ tests/models/utils/test_term.py,sha256=M5Sa26v2gzQYbZ4H_fo7DspnaCx__-WtL-MULGapC
1154
1162
  tests/models/utils/test_time_series.py,sha256=LMhRPf8rp3nAriKAC-2K3FDkrMWntRTUUCERw7Lt68g,2686
1155
1163
  tests/models/webbEtAl2012AndSintermannEtAl2012/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1156
1164
  tests/models/webbEtAl2012AndSintermannEtAl2012/test_nh3ToAirOrganicFertiliser.py,sha256=qi2FNXS5Af2WDtm7nq_FsprH3BfCF0XxnE0XHmC4aIY,2244
1157
- hestia_earth_models-0.64.6.dist-info/LICENSE,sha256=AC7h7GAgCZGJK_Tzh6LUCrML9gQEfowWwecEw2w54QM,1154
1158
- hestia_earth_models-0.64.6.dist-info/METADATA,sha256=taQ9SloAcfzJDxjgcUAZMjcjgHm4LwKkcIpm1m-c9-E,3343
1159
- hestia_earth_models-0.64.6.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
1160
- hestia_earth_models-0.64.6.dist-info/top_level.txt,sha256=1dqA9TqpOLTEgpqa-YBsmbCmmNU1y56AtfFGEceZ2A0,19
1161
- hestia_earth_models-0.64.6.dist-info/RECORD,,
1165
+ hestia_earth_models-0.64.8.dist-info/LICENSE,sha256=AC7h7GAgCZGJK_Tzh6LUCrML9gQEfowWwecEw2w54QM,1154
1166
+ hestia_earth_models-0.64.8.dist-info/METADATA,sha256=4UYoZURD_6LGH95ysuWrhXju7wQe7L1gXJSFQjRB7Ns,3343
1167
+ hestia_earth_models-0.64.8.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
1168
+ hestia_earth_models-0.64.8.dist-info/top_level.txt,sha256=1dqA9TqpOLTEgpqa-YBsmbCmmNU1y56AtfFGEceZ2A0,19
1169
+ hestia_earth_models-0.64.8.dist-info/RECORD,,
@@ -1,7 +1,6 @@
1
- from unittest.mock import patch
2
1
  import json
3
2
 
4
- from tests.utils import fixtures_path, fake_new_practice
3
+ from tests.utils import fixtures_path
5
4
  from hestia_earth.models.cycle.animal.milkYield import MODEL, MODEL_KEY, run, _should_run
6
5
 
7
6
  class_path = f"hestia_earth.models.{MODEL}.animal.{MODEL_KEY}"
@@ -29,15 +28,3 @@ def test_run():
29
28
 
30
29
  value = run(cycle)
31
30
  assert value == expected
32
-
33
-
34
- @patch(f"{class_path}._new_practice", side_effect=fake_new_practice)
35
- def test_run_with_offspring(*args):
36
- with open(f"{fixtures_folder}/with-offspring/cycle.jsonld", encoding='utf-8') as f:
37
- cycle = json.load(f)
38
-
39
- with open(f"{fixtures_folder}/with-offspring/result.jsonld", encoding='utf-8') as f:
40
- expected = json.load(f)
41
-
42
- value = run(cycle)
43
- assert value == expected
@@ -8,10 +8,12 @@ class_path = f"hestia_earth.models.{MODEL}.{TERM_ID}"
8
8
  fixtures_folder = f"{fixtures_path}/{MODEL}/{TERM_ID}"
9
9
 
10
10
 
11
+ with open(f"{fixtures_path}/impact_assessment/emissions/impact-assessment.jsonld", encoding='utf-8') as f:
12
+ impact = json.load(f)
13
+
14
+
11
15
  @patch(f"{class_path}._new_indicator", side_effect=fake_new_indicator)
12
16
  def test_run(*args):
13
- with open(f"{fixtures_path}/impact_assessment/emissions/impact-assessment.jsonld", encoding='utf-8') as f:
14
- impact = json.load(f)
15
17
  with open(f"{fixtures_folder}/cycle.jsonld", encoding='utf-8') as f:
16
18
  cycle = json.load(f)
17
19
 
@@ -8,6 +8,10 @@ class_path = f"hestia_earth.models.{MODEL}.{TERM_ID}"
8
8
  fixtures_folder = f"{fixtures_path}/{MODEL}/{TERM_ID}"
9
9
 
10
10
 
11
+ with open(f"{fixtures_path}/impact_assessment/emissions/impact-assessment.jsonld", encoding='utf-8') as f:
12
+ impact = json.load(f)
13
+
14
+
11
15
  def test_should_run():
12
16
  with open(f"{fixtures_folder}/cycle.jsonld", encoding='utf-8') as f:
13
17
  cycle = json.load(f)
@@ -16,41 +20,25 @@ def test_should_run():
16
20
  cycle['site']['management'] = [{"endDate": "2024-03-31", "@type": "Management",
17
21
  "term": {"termType": "landCover", "@type": "Term", "@id": "ocean"}}]
18
22
 
19
- should_run, *args = _should_run(cycle)
23
+ should_run, *args = _should_run({'cycle': cycle})
20
24
  assert not should_run
21
25
 
22
26
  # no management => no run
23
27
  cycle['site']['management'] = []
24
- should_run, *args = _should_run(cycle)
28
+ should_run, *args = _should_run({'cycle': cycle})
25
29
  assert not should_run
26
30
 
27
31
 
28
32
  @patch(f"{class_path}._new_indicator", side_effect=fake_new_indicator)
29
33
  def test_run(*args):
30
- """
31
- Example data:
32
- Country: Italy
33
- Quantity in m^2: 1.3573373E-9
34
- CF METHOD factor: 4.3198E+01
35
- "Charact Result [soil quality index]" result also in result.jsonld : 5.86342566854E-08
36
- siteArea in test file in ha: 1.3573373E-9 / 10 000 = 1.3573373e-13
37
-
38
- Name Flow: forest Land occupation
39
- Parameters
40
- ----------
41
- args
42
-
43
- Returns
44
- -------
45
-
46
- """
47
34
  with open(f"{fixtures_folder}/cycle.jsonld", encoding='utf-8') as f:
48
35
  cycle = json.load(f)
49
36
 
50
37
  with open(f"{fixtures_folder}/result.jsonld", encoding='utf-8') as f:
51
38
  expected = json.load(f)
52
39
 
53
- value = run(cycle)
40
+ impact['cycle'] = cycle
41
+ value = run(impact)
54
42
  assert value == expected
55
43
 
56
44
 
@@ -77,7 +65,8 @@ def test_run_other_sites(*args):
77
65
  with open(f"{fixtures_folder}/otherSites/result.jsonld", encoding='utf-8') as f:
78
66
  expected = json.load(f)
79
67
 
80
- value = run(cycle)
68
+ impact['cycle'] = cycle
69
+ value = run(impact)
81
70
  assert value == expected
82
71
 
83
72
 
@@ -100,7 +89,8 @@ def test_run_with_subclass_landcover(*args):
100
89
  with open(f"{fixtures_folder}/plantationForest/result.jsonld", encoding='utf-8') as f:
101
90
  expected = json.load(f)
102
91
 
103
- value = run(cycle)
92
+ impact['cycle'] = cycle
93
+ value = run(impact)
104
94
  assert value == expected
105
95
 
106
96
 
@@ -115,7 +105,8 @@ def test_run_with_region_missing_data(*args):
115
105
  with open(f"{fixtures_folder}/default-region-world/result.jsonld", encoding='utf-8') as f:
116
106
  expected = json.load(f)
117
107
 
118
- value = run(cycle)
108
+ impact['cycle'] = cycle
109
+ value = run(impact)
119
110
  assert value == expected
120
111
 
121
112
 
@@ -132,5 +123,6 @@ def test_run_with_no_region(*args):
132
123
  with open(f"{fixtures_folder}/default-region-world/result.jsonld", encoding='utf-8') as f:
133
124
  expected = json.load(f)
134
125
 
135
- value = run(cycle)
126
+ impact['cycle'] = cycle
127
+ value = run(impact)
136
128
  assert value == expected