hestia-earth-models 0.73.2__py3-none-any.whl → 0.73.3__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 (26) hide show
  1. hestia_earth/models/environmentalFootprintV3_1/soilQualityIndexLandOccupation.py +3 -2
  2. hestia_earth/models/environmentalFootprintV3_1/soilQualityIndexLandTransformation.py +1 -1
  3. hestia_earth/models/frischknechtEtAl2000/ionisingRadiationKbqU235Eq.py +10 -6
  4. hestia_earth/models/geospatialDatabase/utils.py +20 -7
  5. hestia_earth/models/hestia/default_emissions.py +1 -0
  6. hestia_earth/models/hestia/default_resourceUse.py +3 -2
  7. hestia_earth/models/hestia/excretaKgMass.py +1 -1
  8. hestia_earth/models/hestia/excretaKgN.py +1 -1
  9. hestia_earth/models/hestia/excretaKgVs.py +1 -1
  10. hestia_earth/models/hestia/landCover.py +1 -1
  11. hestia_earth/models/hestia/waterSalinity.py +13 -6
  12. hestia_earth/models/ipcc2019/n2OToAirCropResidueBurningDirect.py +8 -7
  13. hestia_earth/models/mocking/search-results.json +913 -913
  14. hestia_earth/models/schmidt2007/utils.py +2 -2
  15. hestia_earth/models/utils/__init__.py +1 -1
  16. hestia_earth/models/utils/cycle.py +2 -2
  17. hestia_earth/models/utils/impact_assessment.py +14 -14
  18. hestia_earth/models/utils/lookup.py +30 -10
  19. hestia_earth/models/version.py +1 -1
  20. {hestia_earth_models-0.73.2.dist-info → hestia_earth_models-0.73.3.dist-info}/METADATA +1 -1
  21. {hestia_earth_models-0.73.2.dist-info → hestia_earth_models-0.73.3.dist-info}/RECORD +26 -26
  22. tests/models/environmentalFootprintV3_1/test_soilQualityIndexLandOccupation.py +3 -3
  23. tests/models/frischknechtEtAl2000/test_ionisingRadiationKbqU235Eq.py +85 -31
  24. {hestia_earth_models-0.73.2.dist-info → hestia_earth_models-0.73.3.dist-info}/LICENSE +0 -0
  25. {hestia_earth_models-0.73.2.dist-info → hestia_earth_models-0.73.3.dist-info}/WHEEL +0 -0
  26. {hestia_earth_models-0.73.2.dist-info → hestia_earth_models-0.73.3.dist-info}/top_level.txt +0 -0
@@ -10,8 +10,8 @@ from . import MODEL
10
10
  def get_waste_values(term_id: str, cycle: dict, lookup_col: str):
11
11
  products = filter_list_term_type(cycle.get('products', []), TermTermType.WASTE)
12
12
  value = all_factor_value(
13
- model=MODEL,
14
- term_id=term_id,
13
+ logs_model=MODEL,
14
+ logs_term_id=term_id,
15
15
  node=cycle,
16
16
  lookup_name=f"{TermTermType.WASTE.value}.csv",
17
17
  lookup_col=lookup_col,
@@ -55,7 +55,7 @@ def _unit_str(unit) -> str: return unit if isinstance(unit, str) else unit.value
55
55
 
56
56
 
57
57
  def _filter_list_term_unit(values: list, unit: Union[str, List[str]]):
58
- units = unit if isinstance(unit, list) else[unit]
58
+ units = unit if isinstance(unit, list) else [unit]
59
59
  units = list(map(_unit_str, units))
60
60
  return list(filter(lambda i: i.get('term', {}).get('units') in units, values))
61
61
 
@@ -409,8 +409,8 @@ def impact_lookup_value(model: str, term_id: str, cycle: dict, blank_nodes: list
409
409
  """
410
410
  term_type = blank_nodes[0].get('term', {}).get('termType') if len(blank_nodes) > 0 else None
411
411
  return all_factor_value(
412
- model=model,
413
- term_id=term_id,
412
+ logs_model=model,
413
+ logs_term_id=term_id,
414
414
  node=cycle,
415
415
  lookup_name=f"{term_type}.csv",
416
416
  lookup_col=lookup_col,
@@ -4,7 +4,7 @@ from hestia_earth.utils.model import filter_list_term_type
4
4
  from hestia_earth.utils.tools import list_sum, safe_parse_date
5
5
 
6
6
  from hestia_earth.models.log import debugValues
7
- from .lookup import all_factor_value, _term_factor_value, _aware_factor_value, fallback_country
7
+ from .lookup import all_factor_value, _region_factor_value, _aware_factor_value, fallback_country
8
8
  from .product import find_by_product
9
9
  from .site import region_level_1_id
10
10
 
@@ -131,8 +131,8 @@ def impact_emission_lookup_value(
131
131
  The impact total value.
132
132
  """
133
133
  return all_factor_value(
134
- model=model,
135
- term_id=term_id,
134
+ logs_model=model,
135
+ logs_term_id=term_id,
136
136
  node=impact,
137
137
  lookup_name='emission.csv',
138
138
  lookup_col=lookup_col,
@@ -143,8 +143,8 @@ def impact_emission_lookup_value(
143
143
 
144
144
 
145
145
  def impact_country_value(
146
- model: str,
147
- term_id: str,
146
+ logs_model: str,
147
+ logs_term_id: str,
148
148
  impact: dict,
149
149
  lookup: str,
150
150
  group_key: str = None,
@@ -156,9 +156,9 @@ def impact_country_value(
156
156
 
157
157
  Parameters
158
158
  ----------
159
- model : str
159
+ logs_model : str
160
160
  The model to display in the logs only.
161
- term_id : str
161
+ logs_term_id : str
162
162
  The term to display in the logs only.
163
163
  impact : dict
164
164
  The `ImpactAssessment`.
@@ -182,15 +182,15 @@ def impact_country_value(
182
182
  country_id = fallback_country(country_id, [lookup]) if country_fallback else country_id
183
183
 
184
184
  return all_factor_value(
185
- model=model,
186
- term_id=term_id,
185
+ logs_model=logs_model,
186
+ logs_term_id=logs_term_id,
187
187
  node=impact,
188
188
  lookup_name=lookup,
189
189
  lookup_col=country_id,
190
190
  blank_nodes=blank_nodes,
191
191
  grouped_key=group_key,
192
192
  default_no_values=default_no_values,
193
- factor_value_func=_term_factor_value
193
+ factor_value_func=_region_factor_value
194
194
  )
195
195
 
196
196
 
@@ -223,8 +223,8 @@ def impact_aware_value(model: str, term_id: str, impact: dict, lookup: str, grou
223
223
  return None
224
224
 
225
225
  return all_factor_value(
226
- model=model,
227
- term_id=term_id,
226
+ logs_model=model,
227
+ logs_term_id=term_id,
228
228
  node=impact,
229
229
  lookup_name=lookup,
230
230
  lookup_col=aware_id,
@@ -260,8 +260,8 @@ def impact_endpoint_value(model: str, term_id: str, impact: dict, lookup_col: st
260
260
  not i.get('methodModel').get('@id').startswith(model[0:6]) # allow other non-related models to be accounted for
261
261
  )]
262
262
  return all_factor_value(
263
- model=model,
264
- term_id=term_id,
263
+ logs_model=model,
264
+ logs_term_id=term_id,
265
265
  node=impact,
266
266
  lookup_name='characterisedIndicator.csv',
267
267
  lookup_col=lookup_col,
@@ -8,7 +8,7 @@ from hestia_earth.utils.lookup import (
8
8
  _get_single_table_value,
9
9
  lookup_term_ids
10
10
  )
11
- from hestia_earth.utils.tools import list_sum, safe_parse_float
11
+ from hestia_earth.utils.tools import list_sum, safe_parse_float, non_empty_list
12
12
 
13
13
  from ..log import debugValues, log_as_table, debugMissingLookup
14
14
 
@@ -40,7 +40,7 @@ def _factor_value(model: str, term_id: str, lookup_name: str, lookup_col: str, g
40
40
  return get_value
41
41
 
42
42
 
43
- def _term_factor_value(model: str, term_id: str, lookup_name: str, lookup_term_id: str, group_key: str = None):
43
+ def _region_factor_value(model: str, term_id: str, lookup_name: str, lookup_term_id: str, group_key: str = None):
44
44
  def get_value(data: dict):
45
45
  node_term_id = data.get('term', {}).get('@id')
46
46
  value = _node_value(data)
@@ -58,7 +58,7 @@ def _term_factor_value(model: str, term_id: str, lookup_name: str, lookup_term_i
58
58
  node=node_term_id,
59
59
  value=value,
60
60
  coefficient=coefficient)
61
- return {'id': node_term_id, 'value': value, 'coefficient': coefficient}
61
+ return {'id': node_term_id, 'region-id': region_term_id, 'value': value, 'coefficient': coefficient}
62
62
  return get_value
63
63
 
64
64
 
@@ -89,8 +89,8 @@ def _aware_factor_value(model: str, term_id: str, lookup_name: str, aware_id: st
89
89
 
90
90
 
91
91
  def all_factor_value(
92
- model: str,
93
- term_id: str,
92
+ logs_model: str,
93
+ logs_term_id: str,
94
94
  node: dict,
95
95
  lookup_name: str,
96
96
  lookup_col: str,
@@ -99,18 +99,38 @@ def all_factor_value(
99
99
  default_no_values=0,
100
100
  factor_value_func=_factor_value
101
101
  ):
102
- values = list(map(factor_value_func(model, term_id, lookup_name, lookup_col, grouped_key), blank_nodes))
102
+ values = list(map(factor_value_func(logs_model, logs_term_id, lookup_name, lookup_col, grouped_key), blank_nodes))
103
103
 
104
104
  has_values = len(values) > 0
105
- missing_values = set([v.get('id') for v in values if v.get('value') and v.get('coefficient') is None])
105
+ missing_values = set([
106
+ '_'.join(non_empty_list([v.get('id'), v.get('region-id')]))
107
+ for v in values
108
+ if v.get('value') and v.get('coefficient') is None
109
+ ])
106
110
  all_with_factors = not missing_values
107
111
 
108
112
  for missing_value in missing_values:
109
- debugMissingLookup(lookup_name, 'termid', missing_value, lookup_col, None, model=model, term=term_id)
113
+ debug_values = missing_value.split('_')
114
+ debugMissingLookup(
115
+ lookup_name=lookup_name,
116
+ row='termid',
117
+ row_value=debug_values[1] if len(debug_values) == 2 else debug_values[0],
118
+ col=debug_values[0] if len(debug_values) == 2 else lookup_col,
119
+ value=None,
120
+ model=logs_model,
121
+ term=logs_term_id
122
+ )
110
123
 
111
- debugValues(node, model=model, term=term_id,
124
+ debugValues(node, model=logs_model, term=logs_term_id,
112
125
  all_with_factors=all_with_factors,
113
- missing_lookup_factor=';'.join(missing_values),
126
+ missing_lookup_factor=log_as_table([
127
+ {
128
+ 'id': v.split('_')[0]
129
+ } | ({
130
+ 'region-id': v.split('_')[1]
131
+ } if len(v.split('_')) == 2 else {})
132
+ for v in missing_values
133
+ ]),
114
134
  has_values=has_values,
115
135
  values_used=log_as_table(values))
116
136
 
@@ -1 +1 @@
1
- VERSION = '0.73.2'
1
+ VERSION = '0.73.3'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hestia-earth-models
3
- Version: 0.73.2
3
+ Version: 0.73.3
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
@@ -5,7 +5,7 @@ hestia_earth/models/cache_sites.py,sha256=XpXnkYt823PQzrswgP__L4CT8xZG_n7a41CIHK
5
5
  hestia_earth/models/log.py,sha256=eRuH86v7Thuw-QXdKqaqVmA_MkwnOCo0UBEwtuDq4Oc,3554
6
6
  hestia_earth/models/preload_requests.py,sha256=vK_G1UzhNMhYy7ymnCtHUz_vv3cfApCSKqv29VREEBQ,1943
7
7
  hestia_earth/models/requirements.py,sha256=eU4yT443fx7BnaokhrLB_PCizJI7Y6m4auyo8vQauNg,17363
8
- hestia_earth/models/version.py,sha256=6unV9BrcVtZBSQYzcEEo3l9MxEWoCRevShyTP8qA1uM,19
8
+ hestia_earth/models/version.py,sha256=VT_6Vw43qRySd6SoTRY3kADgLF1HQDvEO1BvE5n3K1o,19
9
9
  hestia_earth/models/agribalyse2016/__init__.py,sha256=WvK0qCQbnYtg9oZxrACd1wGormZyXibPtpCnIQeDqbw,415
10
10
  hestia_earth/models/agribalyse2016/fuelElectricity.py,sha256=1ngl8pdxeNhlVV8keAeWRwGorr_1uFXM9EoPUWx-uSc,4382
11
11
  hestia_earth/models/agribalyse2016/machineryInfrastructureDepreciatedAmountPerCycle.py,sha256=queToXuzq0tQ9_XuUJ2pJgSywXmbt9uX3ZoIKgqkROM,2660
@@ -126,8 +126,8 @@ hestia_earth/models/environmentalFootprintV3_1/freshwaterEcotoxicityPotentialCtu
126
126
  hestia_earth/models/environmentalFootprintV3_1/marineEutrophicationPotential.py,sha256=UM9pezQeETfk9i0FtOBRdreaaJ9OqL6G4gYljrKOz-0,1063
127
127
  hestia_earth/models/environmentalFootprintV3_1/photochemicalOzoneCreationPotentialHumanHealthNmvocEq.py,sha256=47raZTA3aUbBpgClTzKnzUI8Vfy9qUwYNdFDUKM3hJ0,1101
128
128
  hestia_earth/models/environmentalFootprintV3_1/scarcityWeightedWaterUse.py,sha256=JhZB4qGQBQb7fF3ambBuILL7eKLG6B_4RYvIgbINNpY,1299
129
- hestia_earth/models/environmentalFootprintV3_1/soilQualityIndexLandOccupation.py,sha256=xCQUf4bUJuAqnPgaRZv0Qcc2zzIxhFBePPuNUdjHvLo,4739
130
- hestia_earth/models/environmentalFootprintV3_1/soilQualityIndexLandTransformation.py,sha256=HEIAG3VHYnv-XaLmnzXGvShVeT9MoRHBMODNQ9vNLAo,6796
129
+ hestia_earth/models/environmentalFootprintV3_1/soilQualityIndexLandOccupation.py,sha256=JrDXWTdmeROyuCXYfr-zhWLPkSS7NsyXgHl4eZ4P8uc,4807
130
+ hestia_earth/models/environmentalFootprintV3_1/soilQualityIndexLandTransformation.py,sha256=7eQUNCD-rQRuWwP_MB2DsY0wG3NM3KlLI5lqx77xDnk,6796
131
131
  hestia_earth/models/environmentalFootprintV3_1/soilQualityIndexTotalLandUseEffects.py,sha256=6g76wBf0XcQdAadE4BCD5-qUmpGbbYV9kfKsM6cKnHM,3075
132
132
  hestia_earth/models/epa2014/__init__.py,sha256=ckGf_6X7CCzI_18OqchEkuJAXKXM1x7V53u480ckknM,408
133
133
  hestia_earth/models/epa2014/no3ToGroundwaterExcreta.py,sha256=683vgGM-m4cdFhbvlp9V1yobLHM7bQWYMwjByoozzZA,1724
@@ -145,7 +145,7 @@ hestia_earth/models/faostat2018/utils.py,sha256=bxd4dtML0z5D5LP7peZTcvt7U6GLxGdX
145
145
  hestia_earth/models/faostat2018/product/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
146
146
  hestia_earth/models/faostat2018/product/price.py,sha256=6oG8n-tGFRX2p4aC1RBeEvO7iexooFiRok39m8f4VN0,7734
147
147
  hestia_earth/models/frischknechtEtAl2000/__init__.py,sha256=Fixyy9UwoCGP5-MHyJu_ctS40SQ2imfvZo8a547029U,421
148
- hestia_earth/models/frischknechtEtAl2000/ionisingRadiationKbqU235Eq.py,sha256=W2R5rjnorfWhderyDy3iGpcIZdL3rYvRh5wh0wlvI0k,4430
148
+ hestia_earth/models/frischknechtEtAl2000/ionisingRadiationKbqU235Eq.py,sha256=4umFLvT0Pvr80E1qgtgRprG_3yO7l4VnzkWrDhXHjbs,4700
149
149
  hestia_earth/models/geospatialDatabase/__init__.py,sha256=TH-FW3aoL7r1GquRChr7rde7uQonKQRDR00udG8tDrQ,957
150
150
  hestia_earth/models/geospatialDatabase/altitude.py,sha256=B9FOuAIXLV4ip3MkTxFBm3xMex2BkELsOGybnsHkXVc,2015
151
151
  hestia_earth/models/geospatialDatabase/awareWaterBasinId.py,sha256=_4HFoZR5PQrEYZegMjj33rjUFR_kktt69D4J_moZXHo,1249
@@ -177,7 +177,7 @@ hestia_earth/models/geospatialDatabase/temperatureLongTermAnnualMean.py,sha256=y
177
177
  hestia_earth/models/geospatialDatabase/temperatureMonthly.py,sha256=E2k2kkhVDtmeFEB4_AZhhq5od57lRDMWu6AqaurgqvQ,3194
178
178
  hestia_earth/models/geospatialDatabase/totalNitrogenPerKgSoil.py,sha256=eajSzMCX201k_xrfZZSHtTzEIH29hqgJdztQgQeewig,2853
179
179
  hestia_earth/models/geospatialDatabase/totalPhosphorusPerKgSoil.py,sha256=fL8wNpx-3WdD3k9riy6AaUnpdRMFNMzzc338jRIqfw8,2102
180
- hestia_earth/models/geospatialDatabase/utils.py,sha256=0jpP4xLhWXu4XfLpQrbuer1DQmLY6NpVVNI0zTxvMTQ,6884
180
+ hestia_earth/models/geospatialDatabase/utils.py,sha256=WlHtjmawyDi9-i_vFVgbrxqzhq2DF4n-Rl48wkO9U6k,7281
181
181
  hestia_earth/models/geospatialDatabase/waterDepth.py,sha256=Xy2UxwAJrgdOkcw59NetEHMt5vgRYE6qg4fgXb1ptlU,1643
182
182
  hestia_earth/models/globalCropWaterModel2008/__init__.py,sha256=vQxexzFCl2Uv2RiIJfcppkRi9RgzBsJ68yhVDK4GvAU,425
183
183
  hestia_earth/models/globalCropWaterModel2008/rootingDepth.py,sha256=UuFzMbDrvmll3LL6T887DZ76CHt3wrK-2hl9ymmg2FI,4089
@@ -194,18 +194,18 @@ hestia_earth/models/hestia/coldDressedCarcassWeightPerHead.py,sha256=NE1aw4-rmKs
194
194
  hestia_earth/models/hestia/concentrateFeed.py,sha256=HnuG3zAECtFVdPRbTATGz5ImO2Ve1NruqD8brbrO2c4,6647
195
195
  hestia_earth/models/hestia/cropResidueManagement.py,sha256=VlubB0q5MtvBM2dQSWdrENBMOYpvFbGu36TEwxoDl7A,2301
196
196
  hestia_earth/models/hestia/croppingIntensity.py,sha256=xev3GOE06nBJ8ZY3XtbnE0eR2YR_kqAFPnrTuKFtLrQ,1777
197
- hestia_earth/models/hestia/default_emissions.py,sha256=GiO9zQ_shIcdLsZAhW3uKX9vouKuhS2xxq65oG2VzkA,3408
198
- hestia_earth/models/hestia/default_resourceUse.py,sha256=M5_mC3_t_rzvfNoyKJjZ1tSrV1V9Ci_40LIv0iawVB4,3693
197
+ hestia_earth/models/hestia/default_emissions.py,sha256=BJkdwoKMWSBdWD0XE55Oc1qbvuZzu7ulBczMgTolOCI,3457
198
+ hestia_earth/models/hestia/default_resourceUse.py,sha256=BG7DouJDIr9JP_LPRSFwv9rb-dDsnJxn2xWFGg8fAHA,3724
199
199
  hestia_earth/models/hestia/energyContentLowerHeatingValue.py,sha256=2gR7Iu5nUUCGSXjFrkTnss6XBGtQz-yKwexCQoy8TJU,2214
200
- hestia_earth/models/hestia/excretaKgMass.py,sha256=Ct9nwTUXSv7FmJwDNCk45vkaW_2flu6A53ZJN6Wo4kI,3996
201
- hestia_earth/models/hestia/excretaKgN.py,sha256=-GfHPx6AECNPW2i_ioCuf-DhW7Xau201xqe-qWcK474,2857
202
- hestia_earth/models/hestia/excretaKgVs.py,sha256=fzBV7hgznevLTcvHyHKQk9upkCgmJ0xH1NuMETeSF8A,2860
200
+ hestia_earth/models/hestia/excretaKgMass.py,sha256=pBhD3I2NPjJ-Dbnp_P508J7OCLI_fxOAyTi_wKtrkcg,4017
201
+ hestia_earth/models/hestia/excretaKgN.py,sha256=J2TuRGzA8KHDgsRnZflF8LMcd8993YPguY-cdbQOJ8Y,2878
202
+ hestia_earth/models/hestia/excretaKgVs.py,sha256=fhelFqI3xr-GW0ifzYB5oYklXv5tXzedTumFIUBe59Q,2881
203
203
  hestia_earth/models/hestia/flowingWater.py,sha256=Iy5PCWun7GMrr0zszd0zpp9lKADpXesjC3doqLY4n28,1603
204
204
  hestia_earth/models/hestia/freshWater.py,sha256=Q-dmFJLZfyYEyFyYkJUOjgmQR3G5YXCXB6X09Bu14hM,1269
205
205
  hestia_earth/models/hestia/histosol.py,sha256=IexiWTSlSJYGjrdpYmRooW6v8LjhYATPQ8smMz1UZBA,1612
206
206
  hestia_earth/models/hestia/inorganicFertiliser.py,sha256=We4PBaTXyGwEQTfhX0-J8Xt03p-FB9i9j3tEK5JQ8uE,9026
207
207
  hestia_earth/models/hestia/irrigatedTypeUnspecified.py,sha256=VdYzfYxcRzWv21qxRkDn9HBid7-Bt_CgIv4iyXJH03g,1929
208
- hestia_earth/models/hestia/landCover.py,sha256=TL0fLUoj0qIHj2kvVCxkYSrIHl6BGazmwvCSmIz1q8E,32958
208
+ hestia_earth/models/hestia/landCover.py,sha256=FHJ98zDByDL3ofziHICQNKiz_OnmrdOqJC0ZJRHif7E,32953
209
209
  hestia_earth/models/hestia/landTransformation100YearAverageDuringCycle.py,sha256=hF7_DDvrs7swH6ott_ihgYx13UzEKHH6pccYCtzrN8o,1069
210
210
  hestia_earth/models/hestia/landTransformation20YearAverageDuringCycle.py,sha256=05SCH6ZjEV3mIleRusBg677zu0xgu5YK0f9FCddgNPg,1067
211
211
  hestia_earth/models/hestia/liveAnimal.py,sha256=d7HuUi40c-7TN1kecdRuqbht8PAe7x4ps0NhSuWG34Q,3868
@@ -244,7 +244,7 @@ hestia_earth/models/hestia/totalNitrogenPerKgSoil.py,sha256=hpyYqMwO9TvZjrpQuSBA
244
244
  hestia_earth/models/hestia/unknownPreSeasonWaterRegime.py,sha256=Ix7Eg4NVW1iKvPKIOqOdSkahn7BlJNtPM8nlrogrfcM,1460
245
245
  hestia_earth/models/hestia/utils.py,sha256=oTdk7VKuaxDTKj9Cz4t3qp3RZ5wSt3bZXpPiImgIIto,4768
246
246
  hestia_earth/models/hestia/waterDepth.py,sha256=gnvd1kwbTCt9HjgxlKzuCGkPi8Sq7nQiHFbk8xBAZV0,1251
247
- hestia_earth/models/hestia/waterSalinity.py,sha256=2tE2LWhXTFikXu4gkHnKOAPJs8rHYVDbRwQmsC3gA2g,2667
247
+ hestia_earth/models/hestia/waterSalinity.py,sha256=3-2PX7LZ5YBGvNYqkJHnNLiKoN01BYaawTFoxe7GsM0,3010
248
248
  hestia_earth/models/hestia/feedConversionRatio/__init__.py,sha256=G4T1jfN1OqERsywiWyrBiFneUZs5QXpChz7dgGfg9Ko,2512
249
249
  hestia_earth/models/hestia/feedConversionRatio/feedConversionRatioCarbon.py,sha256=21_PXoKXJCxPOPOspKqqq-E7dh-2tVQnR4cnGZ9JGj8,1992
250
250
  hestia_earth/models/hestia/feedConversionRatio/feedConversionRatioDryMatter.py,sha256=zf-v-cAPLpSe7sr1auzUUXkjXwpXRTVvsCrzbZrwBI8,2388
@@ -303,7 +303,7 @@ hestia_earth/models/ipcc2019/co2ToAirSoilOrganicCarbonStockChange.py,sha256=4aRB
303
303
  hestia_earth/models/ipcc2019/co2ToAirUreaHydrolysis.py,sha256=P6OxdUbvONaTVGchvogEnGeNxox-X1FaZ08yOdqqm6k,3879
304
304
  hestia_earth/models/ipcc2019/croppingDuration.py,sha256=X2fuBCr-mspLwJUGOlVis9lnyzdZ92vYqgDA6dgL5eo,3088
305
305
  hestia_earth/models/ipcc2019/ligninContent.py,sha256=nAhwrl0b3pbGQnAycEESAzakdpXajONTnbhNwgPR7nw,7293
306
- hestia_earth/models/ipcc2019/n2OToAirCropResidueBurningDirect.py,sha256=K-3-pjH46Z3eEcFnOchBucuOYB2jcAA6C4q0C8i-ezo,1845
306
+ hestia_earth/models/ipcc2019/n2OToAirCropResidueBurningDirect.py,sha256=F4FuhlCpsX-V5g_wwBZ70e3Z_3f2XXViLlXLQP4WB6c,1947
307
307
  hestia_earth/models/ipcc2019/n2OToAirCropResidueDecompositionDirect.py,sha256=Fand7NbT27unwgFTxi_9NxT024s63vQ7U6-tk9yp3d8,3990
308
308
  hestia_earth/models/ipcc2019/n2OToAirCropResidueDecompositionIndirect.py,sha256=_Oj6Jw8F4rce7FmhWkzeqyB7W3ZQWpOiA10p6xrfSwc,3777
309
309
  hestia_earth/models/ipcc2019/n2OToAirExcretaDirect.py,sha256=RW_aFY409kplCYWo3oHHVk9FD3DkoEnGkprU9SaTdcw,2196
@@ -448,7 +448,7 @@ hestia_earth/models/linkedImpactAssessment/utils.py,sha256=7M-E7u35fIF0uMoA1hwcr
448
448
  hestia_earth/models/mocking/__init__.py,sha256=9VX50c-grz-snfd-7MBS0KfF7AadtbKuj7kK6PqtsgE,687
449
449
  hestia_earth/models/mocking/build_mock_search.py,sha256=p15ccEUmkmLp1RiGNznxMz3OFHbI8P1-29ExuohiQN8,1355
450
450
  hestia_earth/models/mocking/mock_search.py,sha256=ccFe_WrI73JElFmxp4hPNLCX7eeU--lBC1JFR901KJY,1069
451
- hestia_earth/models/mocking/search-results.json,sha256=uDp2q9czBpM_hJ9m852MWbA9Bh1l2GdcA-_ovagVR6s,162621
451
+ hestia_earth/models/mocking/search-results.json,sha256=2nPCc9NKEcWMFzaR_L32EV4IVfOdyuMjuf2Hjp3Xepk,162621
452
452
  hestia_earth/models/pooreNemecek2018/__init__.py,sha256=nPboL7ULJzL5nJD5q7q9VOZt_fxbKVm8fmn1Az5YkVY,417
453
453
  hestia_earth/models/pooreNemecek2018/aboveGroundCropResidueTotal.py,sha256=oXillpppAas1q9GKmODxe1YXyno3EzV-j12xhzkqtTc,2404
454
454
  hestia_earth/models/pooreNemecek2018/belowGroundCropResidue.py,sha256=_pQMPSvI--Xm00H6vXDA4ct_pQXKRGrLE2f-2tQE6y4,2323
@@ -545,7 +545,7 @@ hestia_earth/models/schmidt2007/ch4ToAirWasteTreatment.py,sha256=YADAFxJl0UB_UCx
545
545
  hestia_earth/models/schmidt2007/h2SToAirWasteTreatment.py,sha256=Ma20xG4Crk7bp12FvpDQkyVwXyikFz9Bnn0pFoWSu64,1351
546
546
  hestia_earth/models/schmidt2007/n2OToAirWasteTreatmentDirect.py,sha256=a0uv1788OxF6Cw01y7SWywS9WevI6aimhPR3RETuXjI,1357
547
547
  hestia_earth/models/schmidt2007/nh3ToAirWasteTreatment.py,sha256=UOOcEOZsW9-UOlS8pcgBkSl1V1kFbURn1hNx20Ubtq0,1351
548
- hestia_earth/models/schmidt2007/utils.py,sha256=tbTFg5TXAyS12JCa-OXQg37M1YymHxKW8Gok_SslqAM,980
548
+ hestia_earth/models/schmidt2007/utils.py,sha256=ytV6wGAuIMqu_Z_Ck8f0Zia_XETfno8fyr3IdvdP2ho,990
549
549
  hestia_earth/models/site/__init__.py,sha256=aVuLLhq0OQVm-_MZoq4JAKMidqexUWJBg_7mmojmDzc,405
550
550
  hestia_earth/models/site/defaultMethodClassification.py,sha256=1EIWC99Fegu7B8GFlpysvWhuXaLDmABom3wDelIYUjc,1068
551
551
  hestia_earth/models/site/defaultMethodClassificationDescription.py,sha256=4YXf8grO9Zf5N7bPomKAqXKPOa7JhmLCXm6sO53I4is,1213
@@ -590,7 +590,7 @@ hestia_earth/models/transformation/product/__init__.py,sha256=47DEQpj8HBSa-_TImW
590
590
  hestia_earth/models/transformation/product/excreta.py,sha256=tggXIoUujzu8O949_3KFog219k_bQ0IcytpCsJ8oMcc,5384
591
591
  hestia_earth/models/usetoxV2/__init__.py,sha256=pK37V3H-KvYcvRKw4Mv8CWrB2N0LFLzmv0jKLdhGGqs,409
592
592
  hestia_earth/models/usetoxV2/freshwaterEcotoxicityPotentialCtue.py,sha256=pPX8u-Aq6Pg5Y9xw0CS0S2WkAHQpOMl0lL2tLQwwOuU,918
593
- hestia_earth/models/utils/__init__.py,sha256=hXSBcHSMYWjg_Fe_H5IVsxu_OmVCTummZ205t_GE6pY,6847
593
+ hestia_earth/models/utils/__init__.py,sha256=8YXFDBdB7VJK9F4BTMeq_WoNAGySEGgoVbvW5EoZahA,6848
594
594
  hestia_earth/models/utils/aggregated.py,sha256=G7FNJfHqJ_eoXB66kGdjLyZGDOI_gsF56o7VnyW3bqA,4801
595
595
  hestia_earth/models/utils/animalProduct.py,sha256=M5IunAKGY6oZv3j1Ascl34ywyeLWApqOIlBzbtlA2FE,721
596
596
  hestia_earth/models/utils/aquacultureManagement.py,sha256=dxrbC1Xf140cohxTbSw6TxLAnAASWTdNZwBBam4yQnw,171
@@ -603,20 +603,20 @@ hestia_earth/models/utils/crop.py,sha256=GbYwrz3Zd4JU-cwUBijc8GeAK0XgurV3ubwcFIg
603
603
  hestia_earth/models/utils/cropResidue.py,sha256=6rwC2Fw4ZwuQwvb38ZYUfL1UIZ7eEIy1zeNFv5OxYSQ,1220
604
604
  hestia_earth/models/utils/cropResidueManagement.py,sha256=nIDFjf39rDD10UHSVudfDyu-EiL261g8jyrgS-2aDKw,347
605
605
  hestia_earth/models/utils/currency.py,sha256=f_ArJANb--pZq4LL49SXQ1AMX_oKroqwBXKRRQqZwsM,578
606
- hestia_earth/models/utils/cycle.py,sha256=FJWDPQ0utjtSTq-0SnewpqP_ateixs2XXCqN85l07Qw,16210
606
+ hestia_earth/models/utils/cycle.py,sha256=J8ATBSDkhkEPRMRC0ufO8eC_JeGCpkpdvSz2xSTAg-8,16220
607
607
  hestia_earth/models/utils/ecoClimateZone.py,sha256=kJmXtRiq8-vWF7S1rNIA6WpWkPtt8JoNfWgG9azM_ts,4269
608
608
  hestia_earth/models/utils/emission.py,sha256=vzQQ4eKiC8KlmwFqT00lSV1V2dmTGMSzddOYNgFyka8,3636
609
609
  hestia_earth/models/utils/excretaManagement.py,sha256=PNZoaf6nvdt1t7B8Apa638rU8T4hI5VW2fy1fAoC64k,2265
610
610
  hestia_earth/models/utils/feedipedia.py,sha256=fVyEx2C5CSu0pv--tG6dOfQQ7WzThPoVuzM_FW9jP18,4009
611
611
  hestia_earth/models/utils/fertiliser.py,sha256=9Kv7czDEPDvZ5Bz6Rr_2vy2MsXrPDvBC3921cEJSks8,810
612
612
  hestia_earth/models/utils/fuel.py,sha256=XzOELV3dn506PkMKjFQ_ZKVZInd2lL2x6PKdsa6Po4M,1429
613
- hestia_earth/models/utils/impact_assessment.py,sha256=MW38yKehkrF7YWYCbDtG-xMjVhhAffxkcOiLYOdrmFI,8377
613
+ hestia_earth/models/utils/impact_assessment.py,sha256=tGTlo2grQ9argk2cT8zWRToBKQWe3LB8jWEfU40ZHWs,8451
614
614
  hestia_earth/models/utils/indicator.py,sha256=qdXJP9PDQbEzcGYERp3d3exkDGFmgj1-2987Ls6Hums,772
615
615
  hestia_earth/models/utils/inorganicFertiliser.py,sha256=2Uq6ATWwb_YYRzBCMdrlVWyCDDtWVApUxgxDEN3-3OA,1782
616
616
  hestia_earth/models/utils/input.py,sha256=61aaJV6QApJQIQT5TMsBww46cBYpJdf__krnwV95KsY,6160
617
617
  hestia_earth/models/utils/landCover.py,sha256=8-nfynzCx9gf9YfhpuoH6Cn4kQwWFpYA5RmoGW-0ETE,300
618
618
  hestia_earth/models/utils/liveAnimal.py,sha256=-ufUs00ALXRKGbrRJi7a7eTWVvkEj_pxLDWYbMJmx2g,1770
619
- hestia_earth/models/utils/lookup.py,sha256=70dw7QcNAPqL8t0nDQc2aGEcrFXhZKF24Os36AvVDtA,6499
619
+ hestia_earth/models/utils/lookup.py,sha256=uDye1fnvOdmR9ch5rVNI61qHRKAxzBLk3aPK93BxnfE,7196
620
620
  hestia_earth/models/utils/management.py,sha256=urvoHvTw5wrO12POjGQ50Or25X1Y4Gx26l4fDoVt-Ck,376
621
621
  hestia_earth/models/utils/measurement.py,sha256=1Da0CzWu_RDzVEqcBIl_EGsRq7PmafICyBva3-QtjVQ,11744
622
622
  hestia_earth/models/utils/method.py,sha256=ZYN2_Fyeiwr9pmvD84ZPg7ZHBlvaIY2A6XL4F_KByS0,740
@@ -764,7 +764,7 @@ tests/models/environmentalFootprintV3_1/test_freshwaterEcotoxicityPotentialCtue.
764
764
  tests/models/environmentalFootprintV3_1/test_marineEutrophicationPotential.py,sha256=kY_pu_7SjSZl_l41mttMn4BpKl13TTV9jQYSHFMNXhI,968
765
765
  tests/models/environmentalFootprintV3_1/test_photochemicalOzoneCreationPotentialHumanHealthNmvocEq.py,sha256=Z4KGhYmnao0J1rC_jY9P_8Lu9UKe-_RyrdO5k56EIsg,1022
766
766
  tests/models/environmentalFootprintV3_1/test_scarcityWeightedWaterUse.py,sha256=TJptYKhplwbwiDObmPMBJweDgtwvIUdwBzNwAPCpbTc,1265
767
- tests/models/environmentalFootprintV3_1/test_soilQualityIndexLandOccupation.py,sha256=-E8Q5JxIdfF11oqGwRJqcqGO0Ao_Bva164ELMR7sRsI,6197
767
+ tests/models/environmentalFootprintV3_1/test_soilQualityIndexLandOccupation.py,sha256=67YdlYnvVWFDZ3avHSz3bpCLkHAwYfU3j4ZNcwN5DK0,6162
768
768
  tests/models/environmentalFootprintV3_1/test_soilQualityIndexLandTransformation.py,sha256=xRTBMfQ1Qxs_NIoEFtshM_uzAAcFb80k1qGuFLJa2Dw,7650
769
769
  tests/models/environmentalFootprintV3_1/test_soilQualityIndexTotalLandUseEffects.py,sha256=ugM3qfvCuNQbzF5IPkEQQYF2V4IHxg3GQsXWqU9wqFE,2614
770
770
  tests/models/epa2014/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -784,7 +784,7 @@ tests/models/faostat2018/test_utils.py,sha256=G4pOEwcM5k6FRbkE_4x6_G8vQxzDexNZnl
784
784
  tests/models/faostat2018/product/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
785
785
  tests/models/faostat2018/product/test_price.py,sha256=zehnEQjwggit9su5jd5q3TTlyNxcswbxJCNaKaw1ZI0,3903
786
786
  tests/models/frischknechtEtAl2000/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
787
- tests/models/frischknechtEtAl2000/test_ionisingRadiationKbqU235Eq.py,sha256=rT75VNmpUKG6aIQLNgmMzKDyJegTm2_qGLaRHUYlzF8,4416
787
+ tests/models/frischknechtEtAl2000/test_ionisingRadiationKbqU235Eq.py,sha256=r3ZaTBvmzh4KUl1OZhJBAaVBR0_kijzkLj9Ru91Zj8w,5050
788
788
  tests/models/geospatialDatabase/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
789
789
  tests/models/geospatialDatabase/test_awareWaterBasinId.py,sha256=f9y70Yz5C3wX7mmc1KwC50gk_PWoD1iEZPRMGMbqPtc,869
790
790
  tests/models/geospatialDatabase/test_clayContent.py,sha256=GqFAPIOkXfDpJFkI-vK6l3hK0Ap36lLCWGhXCly-DME,1797
@@ -1249,8 +1249,8 @@ tests/orchestrator/strategies/run/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeR
1249
1249
  tests/orchestrator/strategies/run/test_add_blank_node_if_missing.py,sha256=K4xg4UAXfNhSaLyknKVPO7MGBF44Z_gD7CuZ_pe28gU,3512
1250
1250
  tests/orchestrator/strategies/run/test_add_key_if_missing.py,sha256=hKwvk1ohcBVnQUCTiDhRW99J0xEa29BpwFi1KC0yWLE,329
1251
1251
  tests/orchestrator/strategies/run/test_always.py,sha256=w5-Dhp6yLzgZGAeMRz3OrqZbbAed9gZ1O266a3z9k7w,134
1252
- hestia_earth_models-0.73.2.dist-info/LICENSE,sha256=TD25LoiRJsA5CPUNrcyt1PXlGcbUGFMAeZoBcfCrCNE,1154
1253
- hestia_earth_models-0.73.2.dist-info/METADATA,sha256=-qFMuoq_tC3pT_ddflIl5MkFus_PxMYGTkNsd02NYHo,4065
1254
- hestia_earth_models-0.73.2.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
1255
- hestia_earth_models-0.73.2.dist-info/top_level.txt,sha256=1dqA9TqpOLTEgpqa-YBsmbCmmNU1y56AtfFGEceZ2A0,19
1256
- hestia_earth_models-0.73.2.dist-info/RECORD,,
1252
+ hestia_earth_models-0.73.3.dist-info/LICENSE,sha256=TD25LoiRJsA5CPUNrcyt1PXlGcbUGFMAeZoBcfCrCNE,1154
1253
+ hestia_earth_models-0.73.3.dist-info/METADATA,sha256=BRMBkKCVov4GgcXFjjmLxQ5wBD9HPTrqc6UWdd5UYwE,4065
1254
+ hestia_earth_models-0.73.3.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
1255
+ hestia_earth_models-0.73.3.dist-info/top_level.txt,sha256=1dqA9TqpOLTEgpqa-YBsmbCmmNU1y56AtfFGEceZ2A0,19
1256
+ hestia_earth_models-0.73.3.dist-info/RECORD,,
@@ -29,7 +29,7 @@ indicator_wrong_unit = {
29
29
  "term": {"@id": "landOccupationInputsProduction", "termType": "resourceUse", "units": "ha*day"}, "value": 0.5,
30
30
  "landCover": crop_land}
31
31
 
32
- indicator_bad_area_time_value = {
32
+ indicator_value_0 = {
33
33
  "term": {"@id": "landOccupationInputsProduction", "termType": "resourceUse", "units": "m2*year"}, "value": 0,
34
34
  "landCover": crop_land}
35
35
 
@@ -62,7 +62,7 @@ good_during_cycle_indicator_forest = {
62
62
  ([indicator_no_land_cover], False, 0),
63
63
  ([indicator_no_unit], False, 0),
64
64
  ([indicator_wrong_unit], False, 0),
65
- ([indicator_bad_area_time_value], False, 0),
65
+ ([indicator_value_0], True, 1),
66
66
  ([inputs_production_indicator_no_cf], True, 0),
67
67
  ([good_during_cycle_indicator_cropland], True, 1),
68
68
  ([good_during_cycle_indicator_cropland, good_inputs_production_indicator_forest], True, 2),
@@ -76,7 +76,7 @@ good_during_cycle_indicator_forest = {
76
76
  "Indicator no landcover terms => no run",
77
77
  "Missing unit => no run",
78
78
  "Wrong unit => no run",
79
- "Bad area*time value => no run",
79
+ "With 0 value => run",
80
80
  "Input with no cf => run, empty input",
81
81
  "One good input => run, 1 dict",
82
82
  "Two good input => run, 2 dict",
@@ -1,9 +1,10 @@
1
1
  import json
2
- import pytest
3
2
  from unittest.mock import patch
4
- from tests.utils import fixtures_path, fake_new_indicator
3
+
4
+ import pytest
5
5
 
6
6
  from hestia_earth.models.frischknechtEtAl2000.ionisingRadiationKbqU235Eq import MODEL, TERM_ID, run, _should_run
7
+ from tests.utils import fixtures_path, fake_new_indicator
7
8
 
8
9
  class_path = f"hestia_earth.models.{MODEL}.{TERM_ID}"
9
10
  fixtures_folder = f"{fixtures_path}/{MODEL}/{TERM_ID}"
@@ -15,32 +16,80 @@ uranium234_input = {"@id": "uranium234", "termType": "waste", "units": "kg"}
15
16
  iodine129_input = {"@id": "iodine129", "termType": "waste", "units": "kg"}
16
17
  no_cf_input = {"@id": "oilPalmMillEffluentWaste", "termType": "waste", "units": "kg"}
17
18
 
18
- wrong_indicator = {"term": {"@id": "co2ToAirSoilOrganicCarbonStockChangeManagementChange", "termType": "emission"},
19
- "value": 3, "inputs": [hydrogen3_input]}
20
-
21
- indicator_no_inputs = {"term": {"@id": "ionisingCompoundsToAirInputsProduction", "termType": "emission"},
22
- "value": 3, "inputs": []}
23
-
24
- indicator_2_inputs = {"term": {"@id": "ionisingCompoundsToWaterInputsProduction", "termType": "emission"},
25
- "value": 3, "inputs": [cesium134_input, cesium137_input]}
26
-
27
- indicator_no_unit = {"term": {"@id": "ionisingCompoundsToAirInputsProduction", "termType": "emission"},
28
- "value": 3, "inputs": [{"@id": "hydrogen3", "termType": "waste"}]}
29
-
30
- indicator_wrong_unit = {"term": {"@id": "ionisingCompoundsToAirInputsProduction", "termType": "emission"},
31
- "value": 3, "inputs": [{"@id": "hydrogen3", "termType": "waste", "units": "not_a_unit"}]}
32
-
33
- indicator_no_cf_input = {"term": {"@id": "ionisingCompoundsToAirInputsProduction", "termType": "emission"},
34
- "value": 3, "inputs": [no_cf_input]}
35
-
36
- indicator_hydrogen3_input = {"term": {"@id": "ionisingCompoundsToAirInputsProduction", "termType": "emission"},
37
- "value": 3, "inputs": [hydrogen3_input]}
38
-
39
- indicator_cesium137_input = {"term": {"@id": "ionisingCompoundsToWaterInputsProduction", "termType": "emission"},
40
- "value": 3, "inputs": [cesium137_input]}
41
-
42
- indicator_uranium234_input = {"term": {"@id": "ionisingCompoundsToSaltwaterInputsProduction", "termType": "emission"},
43
- "value": 3, "inputs": [uranium234_input]}
19
+ wrong_indicator = {
20
+ "term": {
21
+ "@id": "co2ToAirSoilOrganicCarbonStockChangeManagementChange",
22
+ "termType": "emission",
23
+ },
24
+ "value": 3,
25
+ "inputs": [hydrogen3_input],
26
+ }
27
+
28
+ indicator_no_inputs = {
29
+ "term": {"@id": "ionisingCompoundsToAirInputsProduction", "termType": "emission"},
30
+ "value": 3,
31
+ "inputs": [],
32
+ }
33
+
34
+ indicator_2_inputs = {
35
+ "term": {"@id": "ionisingCompoundsToWaterInputsProduction", "termType": "emission"},
36
+ "value": 3,
37
+ "inputs": [cesium134_input, cesium137_input],
38
+ }
39
+
40
+ indicator_no_unit = {
41
+ "term": {"@id": "ionisingCompoundsToAirInputsProduction", "termType": "emission"},
42
+ "value": 3,
43
+ "inputs": [{"@id": "hydrogen3", "termType": "waste"}],
44
+ }
45
+
46
+ indicator_wrong_unit = {
47
+ "term": {"@id": "ionisingCompoundsToAirInputsProduction", "termType": "emission"},
48
+ "value": 3,
49
+ "inputs": [{"@id": "hydrogen3", "termType": "waste", "units": "not_a_unit"}],
50
+ }
51
+
52
+ indicator_no_cf_input = {
53
+ "term": {"@id": "ionisingCompoundsToAirInputsProduction", "termType": "emission"},
54
+ "value": 3,
55
+ "inputs": [no_cf_input],
56
+ }
57
+
58
+ indicator_hydrogen3_input = {
59
+ "term": {"@id": "ionisingCompoundsToAirInputsProduction", "termType": "emission"},
60
+ "value": 3,
61
+ "inputs": [hydrogen3_input],
62
+ }
63
+
64
+ indicator_cesium137_water = {
65
+ "term": {"@id": "ionisingCompoundsToWaterInputsProduction", "termType": "emission"},
66
+ "value": 3,
67
+ "inputs": [cesium137_input],
68
+ }
69
+
70
+ indicator_cesium137_air = {
71
+ "term": {"@id": "ionisingCompoundsToAirInputsProduction", "termType": "emission"},
72
+ "value": 3,
73
+ "inputs": [cesium137_input],
74
+ }
75
+
76
+ indicator_cesium137_salt_water = {
77
+ "term": {
78
+ "@id": "ionisingCompoundsToSaltwaterInputsProduction",
79
+ "termType": "emission",
80
+ },
81
+ "value": 3,
82
+ "inputs": [cesium137_input],
83
+ }
84
+
85
+ indicator_uranium234_input = {
86
+ "term": {
87
+ "@id": "ionisingCompoundsToSaltwaterInputsProduction",
88
+ "termType": "emission",
89
+ },
90
+ "value": 3,
91
+ "inputs": [uranium234_input],
92
+ }
44
93
 
45
94
 
46
95
  @pytest.mark.parametrize(
@@ -54,9 +103,11 @@ indicator_uranium234_input = {"term": {"@id": "ionisingCompoundsToSaltwaterInput
54
103
  ([indicator_wrong_unit], False, 0),
55
104
  ([indicator_no_cf_input], True, 0),
56
105
  ([indicator_hydrogen3_input], True, 1),
57
- ([indicator_cesium137_input], True, 1),
106
+ ([indicator_cesium137_water], True, 1),
58
107
  ([indicator_uranium234_input], True, 1),
59
- ([indicator_cesium137_input, indicator_no_cf_input], True, 1),
108
+ ([indicator_cesium137_water, indicator_no_cf_input], True, 1),
109
+ ([indicator_cesium137_water, indicator_cesium137_water], True, 2),
110
+ ([indicator_cesium137_water, indicator_cesium137_salt_water, indicator_cesium137_air], True, 3),
60
111
  ],
61
112
  ids=["No emissionsResourceUse => run, empty input",
62
113
  "Wrong indicator termid => run, empty input",
@@ -68,7 +119,10 @@ indicator_uranium234_input = {"term": {"@id": "ionisingCompoundsToSaltwaterInput
68
119
  "Good input ionisingCompoundsToAirInputsProduction => run, 1 input",
69
120
  "Good input ionisingCompoundsToWaterInputsProduction => run, 1 input",
70
121
  "Good input ionisingCompoundsToSaltwaterInputsProduction => run, 1 input",
71
- "One good input => run, 1 input"]
122
+ "One good input => run, 1 input",
123
+ "2 identical indicators => run 2 input",
124
+ "3 different indicators common input => run 3 input",
125
+ ]
72
126
  )
73
127
  def test_should_run(resources, expected, num_inputs):
74
128
  with open(f"{fixtures_folder}/impact-assessment.jsonld", encoding='utf-8') as f: