hestia-earth-models 0.65.2__py3-none-any.whl → 0.65.4__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.
- hestia_earth/models/agribalyse2016/fuelElectricity.py +2 -12
- hestia_earth/models/cache_sites.py +2 -0
- hestia_earth/models/cycle/completeness/__init__.py +1 -1
- hestia_earth/models/emepEea2019/nh3ToAirInorganicFertiliser.py +1 -1
- hestia_earth/models/hestia/seed_emissions.py +2 -7
- hestia_earth/models/ipcc2019/croppingDuration.py +5 -0
- hestia_earth/models/linkedImpactAssessment/freshwaterWithdrawalsInputsProduction.py +2 -1
- hestia_earth/models/linkedImpactAssessment/landOccupationInputsProduction.py +1 -0
- hestia_earth/models/linkedImpactAssessment/landTransformation100YearAverageInputsProduction.py +1 -0
- hestia_earth/models/linkedImpactAssessment/landTransformation20YearAverageInputsProduction.py +1 -0
- hestia_earth/models/linkedImpactAssessment/utils.py +22 -19
- hestia_earth/models/mocking/search-results.json +139 -139
- hestia_earth/models/site/management.py +2 -2
- hestia_earth/models/utils/__init__.py +9 -0
- hestia_earth/models/utils/ecoClimateZone.py +1 -4
- hestia_earth/models/utils/lookup.py +8 -2
- hestia_earth/models/version.py +1 -1
- {hestia_earth_models-0.65.2.dist-info → hestia_earth_models-0.65.4.dist-info}/METADATA +1 -1
- {hestia_earth_models-0.65.2.dist-info → hestia_earth_models-0.65.4.dist-info}/RECORD +22 -22
- {hestia_earth_models-0.65.2.dist-info → hestia_earth_models-0.65.4.dist-info}/LICENSE +0 -0
- {hestia_earth_models-0.65.2.dist-info → hestia_earth_models-0.65.4.dist-info}/WHEEL +0 -0
- {hestia_earth_models-0.65.2.dist-info → hestia_earth_models-0.65.4.dist-info}/top_level.txt +0 -0
|
@@ -3,12 +3,12 @@ Fuel and Electricity
|
|
|
3
3
|
|
|
4
4
|
This model calculates fuel and electricity data from the number of hours each machine is operated for using.
|
|
5
5
|
"""
|
|
6
|
-
from functools import reduce
|
|
7
6
|
from hestia_earth.schema import TermTermType
|
|
8
7
|
from hestia_earth.utils.model import filter_list_term_type
|
|
9
8
|
from hestia_earth.utils.tools import flatten, list_sum, non_empty_list
|
|
10
9
|
|
|
11
10
|
from hestia_earth.models.log import debugValues, logRequirements, logShouldRun, log_as_table
|
|
11
|
+
from hestia_earth.models.utils import group_by
|
|
12
12
|
from hestia_earth.models.utils.term import get_lookup_value
|
|
13
13
|
from hestia_earth.models.utils.input import _new_input
|
|
14
14
|
from . import MODEL
|
|
@@ -68,16 +68,6 @@ def _run_operation(cycle: dict):
|
|
|
68
68
|
return exec
|
|
69
69
|
|
|
70
70
|
|
|
71
|
-
def _group_operations(operations: list):
|
|
72
|
-
def grouper(group: dict, operation: dict):
|
|
73
|
-
input_term_id = operation.get('input').get('id')
|
|
74
|
-
group[input_term_id] = group.get(input_term_id, [])
|
|
75
|
-
group[input_term_id].append(operation)
|
|
76
|
-
return group
|
|
77
|
-
|
|
78
|
-
return reduce(grouper, operations, {})
|
|
79
|
-
|
|
80
|
-
|
|
81
71
|
def _should_run_operation(cycle: dict):
|
|
82
72
|
def exec(practice: dict):
|
|
83
73
|
term = practice.get('term', {})
|
|
@@ -120,5 +110,5 @@ def _should_run(cycle: dict):
|
|
|
120
110
|
def run(cycle: dict):
|
|
121
111
|
should_run, operations = _should_run(cycle)
|
|
122
112
|
# group operations by input to show logs as table
|
|
123
|
-
grouped_operations =
|
|
113
|
+
grouped_operations = group_by(operations, ['input.id'])
|
|
124
114
|
return flatten(map(_run_operation(cycle), grouped_operations.values())) if should_run else []
|
|
@@ -4,6 +4,7 @@ from pydash.objects import merge
|
|
|
4
4
|
from hestia_earth.utils.api import download_hestia
|
|
5
5
|
from hestia_earth.utils.tools import flatten
|
|
6
6
|
|
|
7
|
+
from .log import logger
|
|
7
8
|
from .utils import CACHE_KEY, cached_value
|
|
8
9
|
from .utils.site import CACHE_YEARS_KEY
|
|
9
10
|
from .site.pre_checks.cache_geospatialDatabase import (
|
|
@@ -146,6 +147,7 @@ def run(sites: list, years: list = None, include_region: bool = False):
|
|
|
146
147
|
batches = range(0, len(unique_years), batch_size)
|
|
147
148
|
|
|
148
149
|
for batch_index in batches:
|
|
150
|
+
logger.info(f"Processing sites in batch {batch_index + 1} of {len(batches)}...")
|
|
149
151
|
sub_years = unique_years[batch_index:batch_index + batch_size]
|
|
150
152
|
sites = _run(sites, sub_years, include_region, years_only=True)
|
|
151
153
|
|
|
@@ -31,7 +31,7 @@ def _run_model(model, cycle: dict):
|
|
|
31
31
|
|
|
32
32
|
def _run(cycle: dict):
|
|
33
33
|
values = non_empty_list([_run_model(model, cycle) for model in MODELS])
|
|
34
|
-
value = reduce(lambda prev, curr:
|
|
34
|
+
value = reduce(lambda prev, curr: prev | curr, values, cycle.get('completeness', {}))
|
|
35
35
|
keys = ','.join([next(iter(val)) for val in values])
|
|
36
36
|
debugValues(cycle, model=MODEL, keys=keys)
|
|
37
37
|
return value if len(values) > 0 else None
|
|
@@ -78,7 +78,7 @@ def _get_groupings():
|
|
|
78
78
|
|
|
79
79
|
def get_grouping(groupings: dict, term_id: str):
|
|
80
80
|
grouping = get_term_lookup(term_id, 'fertGroupingNitrogen')
|
|
81
|
-
return
|
|
81
|
+
return groupings | ({grouping: term_id} if len(grouping) > 0 else {})
|
|
82
82
|
|
|
83
83
|
return reduce(get_grouping, term_ids, {})
|
|
84
84
|
|
|
@@ -19,7 +19,7 @@ from hestia_earth.utils.tools import non_empty_list, flatten, list_sum, safe_par
|
|
|
19
19
|
from hestia_earth.utils.emission import cycle_emissions_in_system_boundary
|
|
20
20
|
|
|
21
21
|
from hestia_earth.models.log import logRequirements, logShouldRun, log_as_table
|
|
22
|
-
from hestia_earth.models.utils import _omit
|
|
22
|
+
from hestia_earth.models.utils import _omit, group_by
|
|
23
23
|
from hestia_earth.models.utils.emission import _new_emission
|
|
24
24
|
from hestia_earth.models.utils.site import valid_site_type
|
|
25
25
|
from hestia_earth.models.utils.cycle import cycle_end_year
|
|
@@ -165,12 +165,7 @@ def _yield(country_id: str, end_year: int, product: dict):
|
|
|
165
165
|
|
|
166
166
|
|
|
167
167
|
def _group_seed_inputs(inputs: list):
|
|
168
|
-
|
|
169
|
-
term_id = input.get('term', {}).get('@id')
|
|
170
|
-
group[term_id] = group.get(term_id, []) + [input]
|
|
171
|
-
return group
|
|
172
|
-
|
|
173
|
-
grouped_inputs = reduce(_group_by, inputs, {})
|
|
168
|
+
grouped_inputs = group_by(inputs, ['term.@id'])
|
|
174
169
|
return [
|
|
175
170
|
inputs[0] | {'value': flatten([v.get('value') for v in inputs])}
|
|
176
171
|
for inputs in grouped_inputs.values()
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
"""
|
|
2
|
+
`croppingDuration` can be added by the uploader for all crops, however the model `IPCC (2019)` will only run for
|
|
3
|
+
`riceGrainInHusk` or `ricePlantFlooded`.
|
|
4
|
+
The model will only run for rice crops as this is the only crop which requires the value for emission recalculations.
|
|
5
|
+
"""
|
|
1
6
|
from hestia_earth.schema import PracticeStatsDefinition
|
|
2
7
|
from hestia_earth.utils.lookup import download_lookup, get_table_value, column_name
|
|
3
8
|
from hestia_earth.utils.tools import safe_parse_float
|
|
@@ -1,43 +1,42 @@
|
|
|
1
|
-
from functools import reduce
|
|
2
1
|
from hestia_earth.utils.tools import non_empty_list, flatten, list_sum
|
|
3
2
|
|
|
4
|
-
from hestia_earth.models.log import log_as_table, logRequirements, logShouldRun
|
|
5
|
-
from hestia_earth.models.utils import sum_values, _include
|
|
3
|
+
from hestia_earth.models.log import log_as_table, debugValues, logRequirements, logShouldRun
|
|
4
|
+
from hestia_earth.models.utils import group_by, sum_values, _include
|
|
6
5
|
from hestia_earth.models.utils.indicator import _new_indicator
|
|
7
6
|
from hestia_earth.models.utils.impact_assessment import get_product, convert_value_from_cycle
|
|
8
7
|
from hestia_earth.models.utils.input import load_impacts
|
|
9
8
|
from . import MODEL
|
|
10
9
|
|
|
11
10
|
|
|
12
|
-
def _indicator(term_id: str, value: float):
|
|
11
|
+
def _indicator(term_id: str, value: float, input: dict):
|
|
13
12
|
indicator = _new_indicator(term_id, MODEL)
|
|
14
13
|
indicator['value'] = value
|
|
14
|
+
indicator['inputs'] = [input]
|
|
15
15
|
return indicator
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
def _run_indicators(product: dict, term_id: str):
|
|
18
|
+
def _run_indicators(impact_assessment: dict, product: dict, term_id: str):
|
|
19
19
|
def run(values: list):
|
|
20
|
+
input = values[0].get('input').get('term', {})
|
|
20
21
|
indicator = values[0].get('indicator')
|
|
21
22
|
values_from_cycle = non_empty_list([
|
|
22
23
|
list_sum(value.get('input').get('value')) * value.get('indicator').get('value')
|
|
23
24
|
for value in values
|
|
24
25
|
])
|
|
25
26
|
value = convert_value_from_cycle(product, sum_values(values_from_cycle), model=MODEL, term_id=term_id)
|
|
27
|
+
|
|
28
|
+
# show values per input in the logs
|
|
29
|
+
debugValues(impact_assessment, model=MODEL, term=term_id,
|
|
30
|
+
value=value,
|
|
31
|
+
coefficient=1,
|
|
32
|
+
input=input.get('@id'))
|
|
33
|
+
|
|
26
34
|
return (
|
|
27
|
-
_indicator(term_id, value) | _include(indicator, ['landCover', 'previousLandCover'])
|
|
35
|
+
_indicator(term_id, value, input) | _include(indicator, ['landCover', 'previousLandCover'])
|
|
28
36
|
) if value is not None else None
|
|
29
37
|
return run
|
|
30
38
|
|
|
31
39
|
|
|
32
|
-
def _group_indicator(group: dict, value: dict):
|
|
33
|
-
group_key = ';'.join(non_empty_list([
|
|
34
|
-
value.get('indicator').get('landCover', {}).get('@id'),
|
|
35
|
-
value.get('indicator').get('previousLandCover', {}).get('@id')
|
|
36
|
-
]))
|
|
37
|
-
group[group_key] = group.get(group_key, []) + [value]
|
|
38
|
-
return group
|
|
39
|
-
|
|
40
|
-
|
|
41
40
|
def _run_inputs_production(impact_assessment: dict, product: dict, term_id: str):
|
|
42
41
|
cycle = impact_assessment.get('cycle', {})
|
|
43
42
|
|
|
@@ -61,11 +60,13 @@ def _run_inputs_production(impact_assessment: dict, product: dict, term_id: str)
|
|
|
61
60
|
value
|
|
62
61
|
for value in all_indicators
|
|
63
62
|
if all([
|
|
64
|
-
value.get('indicator').get('value'
|
|
65
|
-
list_sum(value.get('input').get('value'
|
|
63
|
+
(value.get('indicator').get('value') or -1) > 0,
|
|
64
|
+
(list_sum(value.get('input').get('value')) or -1) > 0
|
|
66
65
|
])
|
|
67
66
|
]
|
|
68
|
-
grouped_indicators =
|
|
67
|
+
grouped_indicators = group_by(valid_indicators, [
|
|
68
|
+
'input.term.@id', 'indicator.landCover.@id', 'indicator.previousLandCover.@id'
|
|
69
|
+
])
|
|
69
70
|
has_indicators = bool(valid_indicators)
|
|
70
71
|
|
|
71
72
|
logRequirements(impact_assessment, model=MODEL, term=term_id,
|
|
@@ -82,7 +83,9 @@ def _run_inputs_production(impact_assessment: dict, product: dict, term_id: str)
|
|
|
82
83
|
should_run = all([has_indicators])
|
|
83
84
|
logShouldRun(impact_assessment, MODEL, term_id, should_run)
|
|
84
85
|
|
|
85
|
-
return non_empty_list(flatten(
|
|
86
|
+
return non_empty_list(flatten(
|
|
87
|
+
map(_run_indicators(impact_assessment, product, term_id), grouped_indicators.values())
|
|
88
|
+
))
|
|
86
89
|
|
|
87
90
|
|
|
88
91
|
def _should_run_inputs_production(impact_assessment: dict, term_id: str):
|
|
@@ -171,443 +171,443 @@
|
|
|
171
171
|
},
|
|
172
172
|
{
|
|
173
173
|
"@type": "Term",
|
|
174
|
-
"@id": "
|
|
174
|
+
"@id": "noxToAirNaturalVegetationBurning"
|
|
175
175
|
},
|
|
176
176
|
{
|
|
177
177
|
"@type": "Term",
|
|
178
|
-
"@id": "
|
|
178
|
+
"@id": "nToSurfaceWaterInputsProduction"
|
|
179
179
|
},
|
|
180
180
|
{
|
|
181
181
|
"@type": "Term",
|
|
182
|
-
"@id": "
|
|
182
|
+
"@id": "carbonTetrachlorideToAirInputsProduction"
|
|
183
183
|
},
|
|
184
184
|
{
|
|
185
185
|
"@type": "Term",
|
|
186
|
-
"@id": "
|
|
186
|
+
"@id": "no3ToAirInputsProduction"
|
|
187
187
|
},
|
|
188
188
|
{
|
|
189
189
|
"@type": "Term",
|
|
190
|
-
"@id": "
|
|
190
|
+
"@id": "chlorodifluoromethaneToAirInputsProduction"
|
|
191
191
|
},
|
|
192
192
|
{
|
|
193
193
|
"@type": "Term",
|
|
194
|
-
"@id": "
|
|
194
|
+
"@id": "no3ToSurfaceWaterExcreta"
|
|
195
195
|
},
|
|
196
196
|
{
|
|
197
197
|
"@type": "Term",
|
|
198
|
-
"@id": "
|
|
198
|
+
"@id": "dichlorotetrafluoroethaneToAirIndustrialProcesses"
|
|
199
199
|
},
|
|
200
200
|
{
|
|
201
201
|
"@type": "Term",
|
|
202
|
-
"@id": "
|
|
202
|
+
"@id": "so2ToAirFuelCombustion"
|
|
203
203
|
},
|
|
204
204
|
{
|
|
205
205
|
"@type": "Term",
|
|
206
|
-
"@id": "
|
|
206
|
+
"@id": "pm10ToAirFuelCombustion"
|
|
207
207
|
},
|
|
208
208
|
{
|
|
209
209
|
"@type": "Term",
|
|
210
|
-
"@id": "
|
|
210
|
+
"@id": "soxToAirIndustrialProcesses"
|
|
211
211
|
},
|
|
212
212
|
{
|
|
213
213
|
"@type": "Term",
|
|
214
|
-
"@id": "
|
|
214
|
+
"@id": "tefluraneToAirInputsProduction"
|
|
215
215
|
},
|
|
216
216
|
{
|
|
217
217
|
"@type": "Term",
|
|
218
|
-
"@id": "
|
|
218
|
+
"@id": "no3ToGroundwaterWasteTreatment"
|
|
219
219
|
},
|
|
220
220
|
{
|
|
221
221
|
"@type": "Term",
|
|
222
|
-
"@id": "
|
|
222
|
+
"@id": "nh4ToGroundwaterIndustrialProcesses"
|
|
223
223
|
},
|
|
224
224
|
{
|
|
225
225
|
"@type": "Term",
|
|
226
|
-
"@id": "
|
|
226
|
+
"@id": "sf6ToAirIndustrialProcesses"
|
|
227
227
|
},
|
|
228
228
|
{
|
|
229
229
|
"@type": "Term",
|
|
230
|
-
"@id": "
|
|
230
|
+
"@id": "noToAirIndustrialProcesses"
|
|
231
231
|
},
|
|
232
232
|
{
|
|
233
233
|
"@type": "Term",
|
|
234
|
-
"@id": "
|
|
234
|
+
"@id": "no3ToGroundwaterExcreta"
|
|
235
235
|
},
|
|
236
236
|
{
|
|
237
237
|
"@type": "Term",
|
|
238
|
-
"@id": "
|
|
238
|
+
"@id": "noToAirOrganicFertiliser"
|
|
239
239
|
},
|
|
240
240
|
{
|
|
241
241
|
"@type": "Term",
|
|
242
|
-
"@id": "
|
|
242
|
+
"@id": "nmvocToAirFuelCombustion"
|
|
243
243
|
},
|
|
244
244
|
{
|
|
245
245
|
"@type": "Term",
|
|
246
|
-
"@id": "
|
|
246
|
+
"@id": "pToSurfaceWaterExcreta"
|
|
247
247
|
},
|
|
248
248
|
{
|
|
249
249
|
"@type": "Term",
|
|
250
|
-
"@id": "
|
|
250
|
+
"@id": "nh3ToAirNaturalVegetationBurning"
|
|
251
251
|
},
|
|
252
252
|
{
|
|
253
253
|
"@type": "Term",
|
|
254
|
-
"@id": "
|
|
254
|
+
"@id": "no3ToGroundwaterCropResidueDecomposition"
|
|
255
255
|
},
|
|
256
256
|
{
|
|
257
257
|
"@type": "Term",
|
|
258
|
-
"@id": "
|
|
258
|
+
"@id": "1Chloro11DifluoroethaneToAirIndustrialProcesses"
|
|
259
259
|
},
|
|
260
260
|
{
|
|
261
261
|
"@type": "Term",
|
|
262
|
-
"@id": "
|
|
262
|
+
"@id": "noxToAirAquacultureSystems"
|
|
263
263
|
},
|
|
264
264
|
{
|
|
265
265
|
"@type": "Term",
|
|
266
|
-
"@id": "
|
|
266
|
+
"@id": "no2ToAirInputsProduction"
|
|
267
267
|
},
|
|
268
268
|
{
|
|
269
269
|
"@type": "Term",
|
|
270
|
-
"@id": "
|
|
270
|
+
"@id": "13Dichloro11223PentafluoropropaneToAirIndustrialProcesses"
|
|
271
271
|
},
|
|
272
272
|
{
|
|
273
273
|
"@type": "Term",
|
|
274
|
-
"@id": "
|
|
274
|
+
"@id": "hcfc124ToAirInputsProduction"
|
|
275
275
|
},
|
|
276
276
|
{
|
|
277
277
|
"@type": "Term",
|
|
278
|
-
"@id": "
|
|
278
|
+
"@id": "pToSurfaceWaterIndustrialProcesses"
|
|
279
279
|
},
|
|
280
280
|
{
|
|
281
281
|
"@type": "Term",
|
|
282
|
-
"@id": "
|
|
282
|
+
"@id": "noxToAirCropResidueBurning"
|
|
283
283
|
},
|
|
284
284
|
{
|
|
285
285
|
"@type": "Term",
|
|
286
|
-
"@id": "
|
|
286
|
+
"@id": "nh4ToSurfaceWaterAquacultureSystems"
|
|
287
287
|
},
|
|
288
288
|
{
|
|
289
289
|
"@type": "Term",
|
|
290
|
-
"@id": "
|
|
290
|
+
"@id": "n2OToAirOrganicSoilCultivationIndirect"
|
|
291
291
|
},
|
|
292
292
|
{
|
|
293
293
|
"@type": "Term",
|
|
294
|
-
"@id": "
|
|
294
|
+
"@id": "no3ToSurfaceWaterIndustrialProcesses"
|
|
295
295
|
},
|
|
296
296
|
{
|
|
297
297
|
"@type": "Term",
|
|
298
|
-
"@id": "
|
|
298
|
+
"@id": "nErosionSoilFlux"
|
|
299
299
|
},
|
|
300
300
|
{
|
|
301
301
|
"@type": "Term",
|
|
302
|
-
"@id": "
|
|
302
|
+
"@id": "n2OToAirOrganicSoilCultivationDirect"
|
|
303
303
|
},
|
|
304
304
|
{
|
|
305
305
|
"@type": "Term",
|
|
306
|
-
"@id": "
|
|
306
|
+
"@id": "n2OToAirSoilFlux"
|
|
307
307
|
},
|
|
308
308
|
{
|
|
309
309
|
"@type": "Term",
|
|
310
|
-
"@id": "
|
|
310
|
+
"@id": "nh4ToGroundwaterWasteTreatment"
|
|
311
311
|
},
|
|
312
312
|
{
|
|
313
313
|
"@type": "Term",
|
|
314
|
-
"@id": "
|
|
314
|
+
"@id": "no3ToGroundwaterSoilFlux"
|
|
315
315
|
},
|
|
316
316
|
{
|
|
317
317
|
"@type": "Term",
|
|
318
|
-
"@id": "
|
|
318
|
+
"@id": "n2ToAirAquacultureSystems"
|
|
319
319
|
},
|
|
320
320
|
{
|
|
321
321
|
"@type": "Term",
|
|
322
|
-
"@id": "
|
|
322
|
+
"@id": "nh3ToAirOrganicSoilBurning"
|
|
323
323
|
},
|
|
324
324
|
{
|
|
325
325
|
"@type": "Term",
|
|
326
|
-
"@id": "
|
|
326
|
+
"@id": "noxToAirOrganicFertiliser"
|
|
327
327
|
},
|
|
328
328
|
{
|
|
329
329
|
"@type": "Term",
|
|
330
|
-
"@id": "
|
|
330
|
+
"@id": "pesticideToAirPesticideApplication"
|
|
331
331
|
},
|
|
332
332
|
{
|
|
333
333
|
"@type": "Term",
|
|
334
|
-
"@id": "
|
|
334
|
+
"@id": "nh3ToAirIndustrialProcesses"
|
|
335
335
|
},
|
|
336
336
|
{
|
|
337
337
|
"@type": "Term",
|
|
338
|
-
"@id": "
|
|
338
|
+
"@id": "no2ToAirIndustrialProcesses"
|
|
339
339
|
},
|
|
340
340
|
{
|
|
341
341
|
"@type": "Term",
|
|
342
|
-
"@id": "
|
|
342
|
+
"@id": "tspToAirAnimalHousing"
|
|
343
343
|
},
|
|
344
344
|
{
|
|
345
345
|
"@type": "Term",
|
|
346
|
-
"@id": "
|
|
346
|
+
"@id": "nh4ToAirInputsProduction"
|
|
347
347
|
},
|
|
348
348
|
{
|
|
349
349
|
"@type": "Term",
|
|
350
|
-
"@id": "
|
|
350
|
+
"@id": "n2OToAirOrganicSoilBurningIndirect"
|
|
351
351
|
},
|
|
352
352
|
{
|
|
353
353
|
"@type": "Term",
|
|
354
|
-
"@id": "
|
|
354
|
+
"@id": "1112TetrafluoroethaneToAirInputsProduction"
|
|
355
355
|
},
|
|
356
356
|
{
|
|
357
357
|
"@type": "Term",
|
|
358
|
-
"@id": "
|
|
358
|
+
"@id": "ionisingCompoundsToAirInputsProduction"
|
|
359
359
|
},
|
|
360
360
|
{
|
|
361
361
|
"@type": "Term",
|
|
362
|
-
"@id": "
|
|
362
|
+
"@id": "n2OToAirAquacultureSystemsDirect"
|
|
363
363
|
},
|
|
364
364
|
{
|
|
365
365
|
"@type": "Term",
|
|
366
|
-
"@id": "
|
|
366
|
+
"@id": "ch4ToAirExcreta"
|
|
367
367
|
},
|
|
368
368
|
{
|
|
369
369
|
"@type": "Term",
|
|
370
|
-
"@id": "
|
|
370
|
+
"@id": "n2ToAirSoilFlux"
|
|
371
371
|
},
|
|
372
372
|
{
|
|
373
373
|
"@type": "Term",
|
|
374
|
-
"@id": "
|
|
374
|
+
"@id": "coToAirInputsProduction"
|
|
375
375
|
},
|
|
376
376
|
{
|
|
377
377
|
"@type": "Term",
|
|
378
|
-
"@id": "
|
|
378
|
+
"@id": "ch4ToAirSoilFlux"
|
|
379
379
|
},
|
|
380
380
|
{
|
|
381
381
|
"@type": "Term",
|
|
382
|
-
"@id": "
|
|
382
|
+
"@id": "co2ToAirSoilInorganicCarbonStockChangeManagementChange"
|
|
383
383
|
},
|
|
384
384
|
{
|
|
385
385
|
"@type": "Term",
|
|
386
|
-
"@id": "
|
|
386
|
+
"@id": "n2OToAirBackgroundSoilFluxDirect"
|
|
387
387
|
},
|
|
388
388
|
{
|
|
389
389
|
"@type": "Term",
|
|
390
|
-
"@id": "
|
|
390
|
+
"@id": "coToAirFuelCombustion"
|
|
391
391
|
},
|
|
392
392
|
{
|
|
393
393
|
"@type": "Term",
|
|
394
|
-
"@id": "
|
|
394
|
+
"@id": "trichlorofluoromethaneToAirIndustrialProcesses"
|
|
395
395
|
},
|
|
396
396
|
{
|
|
397
397
|
"@type": "Term",
|
|
398
|
-
"@id": "
|
|
398
|
+
"@id": "chloropentafluoroethaneToAirInputsProduction"
|
|
399
399
|
},
|
|
400
400
|
{
|
|
401
401
|
"@type": "Term",
|
|
402
|
-
"@id": "
|
|
402
|
+
"@id": "po43ToSurfaceWaterInputsProduction"
|
|
403
403
|
},
|
|
404
404
|
{
|
|
405
405
|
"@type": "Term",
|
|
406
|
-
"@id": "
|
|
406
|
+
"@id": "nitriteToAirInputsProduction"
|
|
407
407
|
},
|
|
408
408
|
{
|
|
409
409
|
"@type": "Term",
|
|
410
|
-
"@id": "
|
|
410
|
+
"@id": "pm25ToAirAnimalHousing"
|
|
411
411
|
},
|
|
412
412
|
{
|
|
413
413
|
"@type": "Term",
|
|
414
|
-
"@id": "
|
|
414
|
+
"@id": "12DibromotetrafluoroethaneToAirIndustrialProcesses"
|
|
415
415
|
},
|
|
416
416
|
{
|
|
417
417
|
"@type": "Term",
|
|
418
|
-
"@id": "
|
|
418
|
+
"@id": "22Dichloro111TrifluoroethaneToAirInputsProduction"
|
|
419
419
|
},
|
|
420
420
|
{
|
|
421
421
|
"@type": "Term",
|
|
422
|
-
"@id": "
|
|
422
|
+
"@id": "33Dichloro11122PentafluoropropaneToAirIndustrialProcesses"
|
|
423
423
|
},
|
|
424
424
|
{
|
|
425
425
|
"@type": "Term",
|
|
426
|
-
"@id": "
|
|
426
|
+
"@id": "po43ToSurfaceWaterSoilFlux"
|
|
427
427
|
},
|
|
428
428
|
{
|
|
429
429
|
"@type": "Term",
|
|
430
|
-
"@id": "
|
|
430
|
+
"@id": "22Dichloro111TrifluoroethaneToAirIndustrialProcesses"
|
|
431
431
|
},
|
|
432
432
|
{
|
|
433
433
|
"@type": "Term",
|
|
434
|
-
"@id": "
|
|
434
|
+
"@id": "noToAirWasteTreatment"
|
|
435
435
|
},
|
|
436
436
|
{
|
|
437
437
|
"@type": "Term",
|
|
438
|
-
"@id": "
|
|
438
|
+
"@id": "nmvocToAirAnimalHousing"
|
|
439
439
|
},
|
|
440
440
|
{
|
|
441
441
|
"@type": "Term",
|
|
442
|
-
"@id": "
|
|
442
|
+
"@id": "pesticideToWaterPesticideApplication"
|
|
443
443
|
},
|
|
444
444
|
{
|
|
445
445
|
"@type": "Term",
|
|
446
|
-
"@id": "
|
|
446
|
+
"@id": "so2ToAirIndustrialProcesses"
|
|
447
447
|
},
|
|
448
448
|
{
|
|
449
449
|
"@type": "Term",
|
|
450
|
-
"@id": "
|
|
450
|
+
"@id": "no3ToAirIndustrialProcesses"
|
|
451
451
|
},
|
|
452
452
|
{
|
|
453
453
|
"@type": "Term",
|
|
454
|
-
"@id": "
|
|
454
|
+
"@id": "pesticideToWaterInputsProduction"
|
|
455
455
|
},
|
|
456
456
|
{
|
|
457
457
|
"@type": "Term",
|
|
458
|
-
"@id": "
|
|
458
|
+
"@id": "nmvocToAirExcreta"
|
|
459
459
|
},
|
|
460
460
|
{
|
|
461
461
|
"@type": "Term",
|
|
462
|
-
"@id": "
|
|
462
|
+
"@id": "nmvocToAirSilageStorage"
|
|
463
463
|
},
|
|
464
464
|
{
|
|
465
465
|
"@type": "Term",
|
|
466
|
-
"@id": "
|
|
466
|
+
"@id": "n2OToAirCropResidueDecompositionDirect"
|
|
467
467
|
},
|
|
468
468
|
{
|
|
469
469
|
"@type": "Term",
|
|
470
|
-
"@id": "
|
|
470
|
+
"@id": "so3ToAirIndustrialProcesses"
|
|
471
471
|
},
|
|
472
472
|
{
|
|
473
473
|
"@type": "Term",
|
|
474
|
-
"@id": "
|
|
474
|
+
"@id": "pesticideToHarvestedCropInputsProduction"
|
|
475
475
|
},
|
|
476
476
|
{
|
|
477
477
|
"@type": "Term",
|
|
478
|
-
"@id": "
|
|
478
|
+
"@id": "nh4ToGroundwaterOrganicFertiliser"
|
|
479
479
|
},
|
|
480
480
|
{
|
|
481
481
|
"@type": "Term",
|
|
482
|
-
"@id": "
|
|
482
|
+
"@id": "pToGroundwaterSoilFlux"
|
|
483
483
|
},
|
|
484
484
|
{
|
|
485
485
|
"@type": "Term",
|
|
486
|
-
"@id": "
|
|
486
|
+
"@id": "dibromodifluoromethaneToAirInputsProduction"
|
|
487
487
|
},
|
|
488
488
|
{
|
|
489
489
|
"@type": "Term",
|
|
490
|
-
"@id": "
|
|
490
|
+
"@id": "noxToAirInorganicFertiliser"
|
|
491
491
|
},
|
|
492
492
|
{
|
|
493
493
|
"@type": "Term",
|
|
494
|
-
"@id": "
|
|
494
|
+
"@id": "bromomethaneToAirIndustrialProcesses"
|
|
495
495
|
},
|
|
496
496
|
{
|
|
497
497
|
"@type": "Term",
|
|
498
|
-
"@id": "
|
|
498
|
+
"@id": "bromomethaneToAirInputsProduction"
|
|
499
499
|
},
|
|
500
500
|
{
|
|
501
501
|
"@type": "Term",
|
|
502
|
-
"@id": "
|
|
502
|
+
"@id": "pToSurfaceWaterSoilFlux"
|
|
503
503
|
},
|
|
504
504
|
{
|
|
505
505
|
"@type": "Term",
|
|
506
|
-
"@id": "
|
|
506
|
+
"@id": "nh3ToAirInputsProduction"
|
|
507
507
|
},
|
|
508
508
|
{
|
|
509
509
|
"@type": "Term",
|
|
510
|
-
"@id": "
|
|
510
|
+
"@id": "noxToAirFuelCombustion"
|
|
511
511
|
},
|
|
512
512
|
{
|
|
513
513
|
"@type": "Term",
|
|
514
|
-
"@id": "
|
|
514
|
+
"@id": "co2ToAirSoilOrganicCarbonStockChangeLandUseChange"
|
|
515
515
|
},
|
|
516
516
|
{
|
|
517
517
|
"@type": "Term",
|
|
518
|
-
"@id": "
|
|
518
|
+
"@id": "ch4ToAirIndustrialProcessesNonFossil"
|
|
519
519
|
},
|
|
520
520
|
{
|
|
521
521
|
"@type": "Term",
|
|
522
|
-
"@id": "
|
|
522
|
+
"@id": "co2ToAirSoilInorganicCarbonStockChangeLandUseChange"
|
|
523
523
|
},
|
|
524
524
|
{
|
|
525
525
|
"@type": "Term",
|
|
526
|
-
"@id": "
|
|
526
|
+
"@id": "co2ToAirSoilFlux"
|
|
527
527
|
},
|
|
528
528
|
{
|
|
529
529
|
"@type": "Term",
|
|
530
|
-
"@id": "
|
|
530
|
+
"@id": "n2ToAirOrganicFertiliser"
|
|
531
531
|
},
|
|
532
532
|
{
|
|
533
533
|
"@type": "Term",
|
|
534
|
-
"@id": "
|
|
534
|
+
"@id": "ch4ToAirOrganicSoilCultivation"
|
|
535
535
|
},
|
|
536
536
|
{
|
|
537
537
|
"@type": "Term",
|
|
538
|
-
"@id": "
|
|
538
|
+
"@id": "ch4ToAirWasteTreatment"
|
|
539
539
|
},
|
|
540
540
|
{
|
|
541
541
|
"@type": "Term",
|
|
542
|
-
"@id": "
|
|
542
|
+
"@id": "ch4ToAirFuelCombustion"
|
|
543
543
|
},
|
|
544
544
|
{
|
|
545
545
|
"@type": "Term",
|
|
546
|
-
"@id": "
|
|
546
|
+
"@id": "n2ToAirExcreta"
|
|
547
547
|
},
|
|
548
548
|
{
|
|
549
549
|
"@type": "Term",
|
|
550
|
-
"@id": "
|
|
550
|
+
"@id": "co2ToAirAboveGroundBiomassStockChangeLandUseChange"
|
|
551
551
|
},
|
|
552
552
|
{
|
|
553
553
|
"@type": "Term",
|
|
554
|
-
"@id": "
|
|
554
|
+
"@id": "n2OToAirCropResidueBurningIndirect"
|
|
555
555
|
},
|
|
556
556
|
{
|
|
557
557
|
"@type": "Term",
|
|
558
|
-
"@id": "
|
|
558
|
+
"@id": "co2ToAirDeadOrganicMatterStockChangeLandUseChange"
|
|
559
559
|
},
|
|
560
560
|
{
|
|
561
561
|
"@type": "Term",
|
|
562
|
-
"@id": "
|
|
562
|
+
"@id": "nh3ToAirFuelCombustion"
|
|
563
563
|
},
|
|
564
564
|
{
|
|
565
565
|
"@type": "Term",
|
|
566
|
-
"@id": "
|
|
566
|
+
"@id": "noToAirSoilFlux"
|
|
567
567
|
},
|
|
568
568
|
{
|
|
569
569
|
"@type": "Term",
|
|
570
|
-
"@id": "
|
|
570
|
+
"@id": "co2ToAirSoilOrganicCarbonStockChangeManagementChange"
|
|
571
571
|
},
|
|
572
572
|
{
|
|
573
573
|
"@type": "Term",
|
|
574
|
-
"@id": "
|
|
574
|
+
"@id": "noxToAirOrganicSoilCultivation"
|
|
575
575
|
},
|
|
576
576
|
{
|
|
577
577
|
"@type": "Term",
|
|
578
|
-
"@id": "
|
|
578
|
+
"@id": "n2OToAirFuelCombustionDirect"
|
|
579
579
|
},
|
|
580
580
|
{
|
|
581
581
|
"@type": "Term",
|
|
582
|
-
"@id": "
|
|
582
|
+
"@id": "nh4ToGroundwaterInorganicFertiliser"
|
|
583
583
|
},
|
|
584
584
|
{
|
|
585
585
|
"@type": "Term",
|
|
586
|
-
"@id": "
|
|
586
|
+
"@id": "noxToAirCropResidueDecomposition"
|
|
587
587
|
},
|
|
588
588
|
{
|
|
589
589
|
"@type": "Term",
|
|
590
|
-
"@id": "
|
|
590
|
+
"@id": "nToSurfaceWaterAquacultureSystems"
|
|
591
591
|
},
|
|
592
592
|
{
|
|
593
593
|
"@type": "Term",
|
|
594
|
-
"@id": "
|
|
594
|
+
"@id": "noToAirAquacultureSystems"
|
|
595
595
|
},
|
|
596
596
|
{
|
|
597
597
|
"@type": "Term",
|
|
598
|
-
"@id": "
|
|
598
|
+
"@id": "n2OToAirInputsProduction"
|
|
599
599
|
},
|
|
600
600
|
{
|
|
601
601
|
"@type": "Term",
|
|
602
|
-
"@id": "
|
|
602
|
+
"@id": "n2OToAirExcretaDirect"
|
|
603
603
|
},
|
|
604
604
|
{
|
|
605
605
|
"@type": "Term",
|
|
606
|
-
"@id": "
|
|
606
|
+
"@id": "1Chloro11DifluoroethaneToAirInputsProduction"
|
|
607
607
|
},
|
|
608
608
|
{
|
|
609
609
|
"@type": "Term",
|
|
610
|
-
"@id": "
|
|
610
|
+
"@id": "112TrichlorotrifluoroethaneToAirIndustrialProcesses"
|
|
611
611
|
},
|
|
612
612
|
{
|
|
613
613
|
"@type": "Term",
|
|
@@ -1298,11 +1298,11 @@
|
|
|
1298
1298
|
},
|
|
1299
1299
|
{
|
|
1300
1300
|
"@type": "Term",
|
|
1301
|
-
"@id": "
|
|
1301
|
+
"@id": "residueIncorporatedLessThan30DaysBeforeCultivation"
|
|
1302
1302
|
},
|
|
1303
1303
|
{
|
|
1304
1304
|
"@type": "Term",
|
|
1305
|
-
"@id": "
|
|
1305
|
+
"@id": "residueRemoved"
|
|
1306
1306
|
},
|
|
1307
1307
|
{
|
|
1308
1308
|
"@type": "Term",
|
|
@@ -1768,7 +1768,7 @@
|
|
|
1768
1768
|
"@type": "Term",
|
|
1769
1769
|
"name": "Generic crop, seed",
|
|
1770
1770
|
"@id": "genericCropSeed",
|
|
1771
|
-
"_score": 24.
|
|
1771
|
+
"_score": 24.688505
|
|
1772
1772
|
}
|
|
1773
1773
|
]
|
|
1774
1774
|
},
|
|
@@ -2004,157 +2004,157 @@
|
|
|
2004
2004
|
"@type": "Term",
|
|
2005
2005
|
"name": "Glass or high accessible cover",
|
|
2006
2006
|
"@id": "glassOrHighAccessibleCover",
|
|
2007
|
-
"_score": 59.
|
|
2007
|
+
"_score": 59.344612
|
|
2008
2008
|
},
|
|
2009
2009
|
{
|
|
2010
2010
|
"@type": "Term",
|
|
2011
2011
|
"name": "Sea or ocean",
|
|
2012
2012
|
"@id": "seaOrOcean",
|
|
2013
|
-
"_score":
|
|
2013
|
+
"_score": 48.93506
|
|
2014
2014
|
},
|
|
2015
2015
|
{
|
|
2016
2016
|
"@type": "Term",
|
|
2017
2017
|
"name": "River or stream",
|
|
2018
2018
|
"@id": "riverOrStream",
|
|
2019
|
-
"_score":
|
|
2019
|
+
"_score": 47.748756
|
|
2020
2020
|
},
|
|
2021
2021
|
{
|
|
2022
2022
|
"@type": "Term",
|
|
2023
2023
|
"name": "Other natural vegetation",
|
|
2024
2024
|
"@id": "otherNaturalVegetation",
|
|
2025
|
-
"_score": 41.
|
|
2025
|
+
"_score": 41.860992
|
|
2026
2026
|
},
|
|
2027
2027
|
{
|
|
2028
2028
|
"@type": "Term",
|
|
2029
2029
|
"name": "Food retailer",
|
|
2030
2030
|
"@id": "foodRetailer",
|
|
2031
|
-
"_score": 40.
|
|
2031
|
+
"_score": 40.538086
|
|
2032
2032
|
},
|
|
2033
2033
|
{
|
|
2034
2034
|
"@type": "Term",
|
|
2035
2035
|
"name": "Agri-food processor",
|
|
2036
2036
|
"@id": "agriFoodProcessor",
|
|
2037
|
-
"_score": 40.
|
|
2037
|
+
"_score": 40.28276
|
|
2038
2038
|
},
|
|
2039
2039
|
{
|
|
2040
2040
|
"@type": "Term",
|
|
2041
2041
|
"name": "Natural forest",
|
|
2042
2042
|
"@id": "naturalForest",
|
|
2043
|
-
"_score": 31.
|
|
2043
|
+
"_score": 31.565006
|
|
2044
2044
|
},
|
|
2045
2045
|
{
|
|
2046
2046
|
"@type": "Term",
|
|
2047
2047
|
"name": "Permanent pasture",
|
|
2048
2048
|
"@id": "permanentPasture",
|
|
2049
|
-
"_score": 28.
|
|
2049
|
+
"_score": 28.16698
|
|
2050
2050
|
},
|
|
2051
2051
|
{
|
|
2052
2052
|
"@type": "Term",
|
|
2053
2053
|
"name": "Animal housing",
|
|
2054
2054
|
"@id": "animalHousing",
|
|
2055
|
-
"_score": 27.
|
|
2055
|
+
"_score": 27.439247
|
|
2056
2056
|
},
|
|
2057
2057
|
{
|
|
2058
2058
|
"@type": "Term",
|
|
2059
2059
|
"name": "High intensity grazing pasture",
|
|
2060
2060
|
"@id": "highIntensityGrazingPasture",
|
|
2061
|
-
"_score": 24.
|
|
2061
|
+
"_score": 24.557467
|
|
2062
2062
|
},
|
|
2063
2063
|
{
|
|
2064
2064
|
"@type": "Term",
|
|
2065
2065
|
"name": "Root or tuber crop plant",
|
|
2066
2066
|
"@id": "rootOrTuberCropPlant",
|
|
2067
|
-
"_score": 23.
|
|
2067
|
+
"_score": 23.628925
|
|
2068
2068
|
},
|
|
2069
2069
|
{
|
|
2070
2070
|
"@type": "Term",
|
|
2071
2071
|
"name": "Forest",
|
|
2072
2072
|
"@id": "forest",
|
|
2073
|
-
"_score": 20.
|
|
2073
|
+
"_score": 20.177483
|
|
2074
2074
|
},
|
|
2075
2075
|
{
|
|
2076
2076
|
"@type": "Term",
|
|
2077
2077
|
"name": "Permanent cropland",
|
|
2078
2078
|
"@id": "permanentCropland",
|
|
2079
|
-
"_score": 19.
|
|
2079
|
+
"_score": 19.618952
|
|
2080
2080
|
},
|
|
2081
2081
|
{
|
|
2082
2082
|
"@type": "Term",
|
|
2083
2083
|
"name": "Other land",
|
|
2084
2084
|
"@id": "otherLand",
|
|
2085
|
-
"_score": 19.
|
|
2085
|
+
"_score": 19.467312
|
|
2086
2086
|
},
|
|
2087
2087
|
{
|
|
2088
2088
|
"@type": "Term",
|
|
2089
2089
|
"name": "Plantation forest",
|
|
2090
2090
|
"@id": "plantationForest",
|
|
2091
|
-
"_score": 19.
|
|
2091
|
+
"_score": 19.287716
|
|
2092
2092
|
},
|
|
2093
2093
|
{
|
|
2094
2094
|
"@type": "Term",
|
|
2095
2095
|
"name": "Lake",
|
|
2096
2096
|
"@id": "lake",
|
|
2097
|
-
"_score": 18.
|
|
2097
|
+
"_score": 18.214542
|
|
2098
2098
|
},
|
|
2099
2099
|
{
|
|
2100
2100
|
"@type": "Term",
|
|
2101
2101
|
"name": "Red sea plume alga",
|
|
2102
2102
|
"@id": "redSeaPlumeAlga",
|
|
2103
|
-
"_score": 17.
|
|
2103
|
+
"_score": 17.61027
|
|
2104
2104
|
},
|
|
2105
2105
|
{
|
|
2106
2106
|
"@type": "Term",
|
|
2107
2107
|
"name": "Sea kale plant",
|
|
2108
2108
|
"@id": "seaKalePlant",
|
|
2109
|
-
"_score": 17.
|
|
2109
|
+
"_score": 17.518234
|
|
2110
2110
|
},
|
|
2111
2111
|
{
|
|
2112
2112
|
"@type": "Term",
|
|
2113
2113
|
"name": "Improved pasture",
|
|
2114
2114
|
"@id": "improvedPasture",
|
|
2115
|
-
"_score": 17.
|
|
2115
|
+
"_score": 17.415194
|
|
2116
2116
|
},
|
|
2117
2117
|
{
|
|
2118
2118
|
"@type": "Term",
|
|
2119
2119
|
"name": "Native pasture",
|
|
2120
2120
|
"@id": "nativePasture",
|
|
2121
|
-
"_score": 17.
|
|
2121
|
+
"_score": 17.327625
|
|
2122
2122
|
},
|
|
2123
2123
|
{
|
|
2124
2124
|
"@type": "Term",
|
|
2125
2125
|
"name": "Nominally managed pasture",
|
|
2126
2126
|
"@id": "nominallyManagedPasture",
|
|
2127
|
-
"_score": 16.
|
|
2127
|
+
"_score": 16.298176
|
|
2128
2128
|
},
|
|
2129
2129
|
{
|
|
2130
2130
|
"@type": "Term",
|
|
2131
2131
|
"name": "Severely degraded pasture",
|
|
2132
2132
|
"@id": "severelyDegradedPasture",
|
|
2133
|
-
"_score": 15.
|
|
2133
|
+
"_score": 15.704321
|
|
2134
2134
|
},
|
|
2135
2135
|
{
|
|
2136
2136
|
"@type": "Term",
|
|
2137
2137
|
"name": "Pond",
|
|
2138
2138
|
"@id": "pond",
|
|
2139
|
-
"_score": 15.
|
|
2139
|
+
"_score": 15.669754
|
|
2140
2140
|
},
|
|
2141
2141
|
{
|
|
2142
2142
|
"@type": "Term",
|
|
2143
2143
|
"name": "River tamarind tree",
|
|
2144
2144
|
"@id": "riverTamarindTree",
|
|
2145
|
-
"_score": 15.
|
|
2145
|
+
"_score": 15.343109
|
|
2146
2146
|
},
|
|
2147
2147
|
{
|
|
2148
2148
|
"@type": "Term",
|
|
2149
2149
|
"name": "Cropland",
|
|
2150
2150
|
"@id": "cropland",
|
|
2151
|
-
"_score": 10.
|
|
2151
|
+
"_score": 10.536647
|
|
2152
2152
|
},
|
|
2153
2153
|
{
|
|
2154
2154
|
"@type": "Term",
|
|
2155
2155
|
"name": "Annual cropland",
|
|
2156
2156
|
"@id": "annualCropland",
|
|
2157
|
-
"_score": 10.
|
|
2157
|
+
"_score": 10.019121
|
|
2158
2158
|
}
|
|
2159
2159
|
]
|
|
2160
2160
|
},
|
|
@@ -20,7 +20,7 @@ from hestia_earth.utils.tools import safe_parse_float, flatten
|
|
|
20
20
|
from hestia_earth.utils.blank_node import get_node_value
|
|
21
21
|
|
|
22
22
|
from hestia_earth.models.log import logRequirements, logShouldRun, log_as_table
|
|
23
|
-
from hestia_earth.models.utils import _include, _omit
|
|
23
|
+
from hestia_earth.models.utils import _include, _omit, group_by
|
|
24
24
|
from hestia_earth.models.utils.management import _new_management
|
|
25
25
|
from hestia_earth.models.utils.term import get_lookup_value
|
|
26
26
|
from hestia_earth.models.utils.blank_node import condense_nodes
|
|
@@ -330,7 +330,7 @@ def run(site: dict):
|
|
|
330
330
|
nodes = flatten([_run_cycle(site, cycle) for cycle in cycles])
|
|
331
331
|
|
|
332
332
|
# group nodes with same `id` to display as a single log per node
|
|
333
|
-
grouped_nodes =
|
|
333
|
+
grouped_nodes = group_by(nodes, ['id'])
|
|
334
334
|
for id, values in grouped_nodes.items():
|
|
335
335
|
logRequirements(
|
|
336
336
|
site,
|
|
@@ -7,6 +7,7 @@ import sys
|
|
|
7
7
|
import datetime
|
|
8
8
|
from functools import reduce
|
|
9
9
|
import operator
|
|
10
|
+
from pydash.objects import get
|
|
10
11
|
from typing import Any, Callable, Union
|
|
11
12
|
from hestia_earth.schema import SchemaType
|
|
12
13
|
from hestia_earth.utils.api import download_hestia
|
|
@@ -26,6 +27,14 @@ def cached_value(node: dict, key: str = None, default=None):
|
|
|
26
27
|
return cache.get(key, default) if key else cache
|
|
27
28
|
|
|
28
29
|
|
|
30
|
+
def group_by(values: list, keys: list):
|
|
31
|
+
def _group_by(group: dict, value: dict):
|
|
32
|
+
group_key = ';'.join(non_empty_list([get(value, key) for key in keys]))
|
|
33
|
+
group[group_key] = group.get(group_key, []) + [value]
|
|
34
|
+
return group
|
|
35
|
+
return reduce(_group_by, values, {})
|
|
36
|
+
|
|
37
|
+
|
|
29
38
|
def _term_id(term): return term.get('@id') if isinstance(term, dict) else term
|
|
30
39
|
|
|
31
40
|
|
|
@@ -118,10 +118,7 @@ def get_ecoClimateZone_lookup_grouped_value(
|
|
|
118
118
|
code = int(str(eco_climate_zone))
|
|
119
119
|
data = _get_single_table_value(lookup, column_name('ecoClimateZone'), code, column_name(col_name))
|
|
120
120
|
grouped_data = reduce(
|
|
121
|
-
lambda prev, curr: {
|
|
122
|
-
**prev,
|
|
123
|
-
**{curr.split(':')[0]: safe_parse_float(curr.split(':')[1])}
|
|
124
|
-
},
|
|
121
|
+
lambda prev, curr: prev | {curr.split(':')[0]: safe_parse_float(curr.split(':')[1])},
|
|
125
122
|
data.split(';'),
|
|
126
123
|
{}
|
|
127
124
|
) if data is not None and isinstance(data, str) and len(data) > 1 else default
|
|
@@ -77,7 +77,10 @@ def _term_factor_value(model: str, term_id: str, lookup_name: str, lookup_term_i
|
|
|
77
77
|
coefficient = get_table_value(lookup, 'termid', lookup_term_id, column_name(node_term_id))
|
|
78
78
|
coefficient = safe_parse_float(extract_grouped_data(coefficient, group_key) if group_key else coefficient)
|
|
79
79
|
if value is not None and coefficient is not None:
|
|
80
|
-
debugValues(data, model=model, term=term_id,
|
|
80
|
+
debugValues(data, model=model, term=term_id,
|
|
81
|
+
node=node_term_id,
|
|
82
|
+
value=value,
|
|
83
|
+
coefficient=coefficient)
|
|
81
84
|
return {'id': node_term_id, 'value': value, 'coefficient': coefficient}
|
|
82
85
|
return get_value
|
|
83
86
|
|
|
@@ -93,7 +96,10 @@ def _aware_factor_value(model: str, term_id: str, lookup_name: str, aware_id: st
|
|
|
93
96
|
coefficient = _get_single_table_value(lookup, lookup_col, int(aware_id), column_name(node_term_id))
|
|
94
97
|
coefficient = safe_parse_float(extract_grouped_data(coefficient, group_key)) if group_key else coefficient
|
|
95
98
|
if value is not None and coefficient is not None:
|
|
96
|
-
debugValues(data, model=model, term=term_id,
|
|
99
|
+
debugValues(data, model=model, term=term_id,
|
|
100
|
+
node=node_term_id,
|
|
101
|
+
value=value,
|
|
102
|
+
coefficient=coefficient)
|
|
97
103
|
return value * coefficient
|
|
98
104
|
return None
|
|
99
105
|
except ValueError: # factor does not exist
|
hestia_earth/models/version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
VERSION = '0.65.
|
|
1
|
+
VERSION = '0.65.4'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: hestia-earth-models
|
|
3
|
-
Version: 0.65.
|
|
3
|
+
Version: 0.65.4
|
|
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,12 +1,12 @@
|
|
|
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=
|
|
3
|
+
hestia_earth/models/cache_sites.py,sha256=Llo2SH1Lp-R8x1JRxJ2Ta-vw5RbdUj2FHXUP-cpKclw,5758
|
|
4
4
|
hestia_earth/models/log.py,sha256=_zAfyOkL_VknEnMFvcpvenSMghadlDfZhiSx28545Gk,3558
|
|
5
5
|
hestia_earth/models/preload_requests.py,sha256=vK_G1UzhNMhYy7ymnCtHUz_vv3cfApCSKqv29VREEBQ,1943
|
|
6
6
|
hestia_earth/models/requirements.py,sha256=eU4yT443fx7BnaokhrLB_PCizJI7Y6m4auyo8vQauNg,17363
|
|
7
|
-
hestia_earth/models/version.py,sha256=
|
|
7
|
+
hestia_earth/models/version.py,sha256=EEisiv1fbGHPaks82hvTdHzqEDCaM-JHsreZadXfBFM,19
|
|
8
8
|
hestia_earth/models/agribalyse2016/__init__.py,sha256=WvK0qCQbnYtg9oZxrACd1wGormZyXibPtpCnIQeDqbw,415
|
|
9
|
-
hestia_earth/models/agribalyse2016/fuelElectricity.py,sha256=
|
|
9
|
+
hestia_earth/models/agribalyse2016/fuelElectricity.py,sha256=EjDmNYb8ccfOIsA5-bXZvrBLQV85m0hDleiy5q-rLOQ,4142
|
|
10
10
|
hestia_earth/models/agribalyse2016/machineryInfrastructureDepreciatedAmountPerCycle.py,sha256=BPjnWmg73i_OxM2ouCdMTWZtPIqyoUAXrvutntyteE0,3390
|
|
11
11
|
hestia_earth/models/akagiEtAl2011AndIpcc2006/__init__.py,sha256=WK7xQwUPX48JGqZeb2S2EKdtXuxMjY7HYyUFHItUqUo,425
|
|
12
12
|
hestia_earth/models/akagiEtAl2011AndIpcc2006/ch4ToAirCropResidueBurning.py,sha256=Mea3L8blwJpRzzJHIMJH71Pn93gz1M2KN2pb43tGBfs,1642
|
|
@@ -77,7 +77,7 @@ hestia_earth/models/cycle/animal/properties.py,sha256=OGjRl79w-h439jTkjA8b4V61fM
|
|
|
77
77
|
hestia_earth/models/cycle/animal/input/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
78
78
|
hestia_earth/models/cycle/animal/input/hestiaAggregatedData.py,sha256=EpJ6qU0jsoSMEuZYIKCn1f-loJ53_nmpnyDhH5sZTuw,2529
|
|
79
79
|
hestia_earth/models/cycle/animal/input/properties.py,sha256=8hqVh4AtW4ZBo3z0mz93etfKCEZgZwBeBVRF9yNYsf0,3609
|
|
80
|
-
hestia_earth/models/cycle/completeness/__init__.py,sha256=
|
|
80
|
+
hestia_earth/models/cycle/completeness/__init__.py,sha256=bQ-tpeCbUsIdSPGla06Mg2IZWpGp7TgWXlgZTYeLsKk,1512
|
|
81
81
|
hestia_earth/models/cycle/completeness/animalFeed.py,sha256=8Fo1TqwSuiPudvd2vJ-LVxSyOdD8mDCOZMvjuj5W2uo,1012
|
|
82
82
|
hestia_earth/models/cycle/completeness/cropResidue.py,sha256=Jpmm5SAiyUkaFp8EsBIQ55jiCyn3C20a3au_zaPRnEk,2837
|
|
83
83
|
hestia_earth/models/cycle/completeness/electricityFuel.py,sha256=FWG8EuOPubTLDc3jMJv6NdFCgG0wOVgxv-5P9wA7Nys,2044
|
|
@@ -131,7 +131,7 @@ hestia_earth/models/emepEea2019/__init__.py,sha256=l90-pWrqIzt1ap1WNk0gF4iZeF5_T
|
|
|
131
131
|
hestia_earth/models/emepEea2019/co2ToAirFuelCombustion.py,sha256=ib_xzEbIg-iQwvW2L4BosD9lV6EYOXAiIs8gYhSD9GE,1431
|
|
132
132
|
hestia_earth/models/emepEea2019/n2OToAirFuelCombustionDirect.py,sha256=H4dgGqDuvYN4S7TRxYsX3hms1xMWr8clR2gkyyO8T18,1438
|
|
133
133
|
hestia_earth/models/emepEea2019/nh3ToAirExcreta.py,sha256=HNz3w35V0X1Av7if4ZPlDxozrSMurjiy7Hl4iAVEoNg,3590
|
|
134
|
-
hestia_earth/models/emepEea2019/nh3ToAirInorganicFertiliser.py,sha256=
|
|
134
|
+
hestia_earth/models/emepEea2019/nh3ToAirInorganicFertiliser.py,sha256=7G0_S0G6X9slTykxs6CDb68DvtXB7yfq1iSKg0ReXS8,6036
|
|
135
135
|
hestia_earth/models/emepEea2019/noxToAirFuelCombustion.py,sha256=2--8lI6C6WaYtd9LQe-WZnhvW1eUsjBVAgzT8jclcsc,1431
|
|
136
136
|
hestia_earth/models/emepEea2019/pm10ToAirAnimalHousing.py,sha256=ZxiyoKpT0JbwgEnK9HlselO5-nIq_CTpcGK5a8X5UkM,1527
|
|
137
137
|
hestia_earth/models/emepEea2019/pm25ToAirAnimalHousing.py,sha256=MYMRoFrmu3lhqS9aYE-GCWHfE-NFIgk9Q3Uj1osTlKA,1527
|
|
@@ -201,7 +201,7 @@ hestia_earth/models/haversineFormula/transport/__init__.py,sha256=47DEQpj8HBSa-_
|
|
|
201
201
|
hestia_earth/models/haversineFormula/transport/distance.py,sha256=163KrmKzlEQuKYT1ZvpPgmKlv_-mmvxp0A1_uKya99w,4203
|
|
202
202
|
hestia_earth/models/hestia/__init__.py,sha256=o5vAmPzSaK9XPgL8GCne3-lugfCOgZhHELYolNgqyyY,407
|
|
203
203
|
hestia_earth/models/hestia/landCover.py,sha256=odmRx30UhT_MyOj5jIVtsmLsTcxqC4l-QkCXae_MQEo,28105
|
|
204
|
-
hestia_earth/models/hestia/seed_emissions.py,sha256=
|
|
204
|
+
hestia_earth/models/hestia/seed_emissions.py,sha256=B8n8M2RaVfCHHb80rGoQUw8vqmd4crdOdj4ubGBc1gQ,10860
|
|
205
205
|
hestia_earth/models/impact_assessment/__init__.py,sha256=gTR_PhWps593fPhm-V826VLLrZVH8CNQTqxExB7GGNI,418
|
|
206
206
|
hestia_earth/models/impact_assessment/allocationMethod.py,sha256=Qz41nTtMpDCcPy7PjhVtafE13dfJLX_D3Rg3yNhdY_Q,1279
|
|
207
207
|
hestia_earth/models/impact_assessment/emissions.py,sha256=mJsTasM-5AFtZeKzQ9Q38SDLcnl_lQwfjQ52ro2Pjmg,3444
|
|
@@ -252,7 +252,7 @@ hestia_earth/models/ipcc2019/co2ToAirCarbonStockChange_utils.py,sha256=PDjwK_mCe
|
|
|
252
252
|
hestia_earth/models/ipcc2019/co2ToAirLimeHydrolysis.py,sha256=7z0zdqiiWQwkyJCgSNMoK2mft3cJkTRlqwKrMuSKdWI,2454
|
|
253
253
|
hestia_earth/models/ipcc2019/co2ToAirSoilOrganicCarbonStockChange.py,sha256=UQjmccUsKxsycG_htbD1-T2xw6AklKqIR3u8KIMGBOY,6709
|
|
254
254
|
hestia_earth/models/ipcc2019/co2ToAirUreaHydrolysis.py,sha256=Ofld5SuRKndcKB3FFFoUdzSgNq-gc4kmiNyyrPKQ3Io,3580
|
|
255
|
-
hestia_earth/models/ipcc2019/croppingDuration.py,sha256
|
|
255
|
+
hestia_earth/models/ipcc2019/croppingDuration.py,sha256=0XeM1_iiNXsZTaJQFXc3yNnNf1E-if4gs2ACbAOa3Wk,3508
|
|
256
256
|
hestia_earth/models/ipcc2019/ligninContent.py,sha256=Qh-UH4lv1TIf7wWlbAPwIZZHxzbbmQgND3m15pt5Si8,7285
|
|
257
257
|
hestia_earth/models/ipcc2019/n2OToAirCropResidueDecompositionDirect.py,sha256=Fand7NbT27unwgFTxi_9NxT024s63vQ7U6-tk9yp3d8,3990
|
|
258
258
|
hestia_earth/models/ipcc2019/n2OToAirCropResidueDecompositionIndirect.py,sha256=_Oj6Jw8F4rce7FmhWkzeqyB7W3ZQWpOiA10p6xrfSwc,3777
|
|
@@ -387,15 +387,15 @@ hestia_earth/models/lcImpactCertainEffectsInfinite/damageToTerrestrialEcosystems
|
|
|
387
387
|
hestia_earth/models/lcImpactCertainEffectsInfinite/damageToTerrestrialEcosystemsTerrestrialEcotoxicity.py,sha256=dyUfAD74qEzfIGFei1IcI2RfQXgkjns7AhJ0iYzgCBk,963
|
|
388
388
|
hestia_earth/models/linkedImpactAssessment/__init__.py,sha256=SPP09DMS4zUThyQfcgLpivFwsey4WSt77CDMYHJPKWE,423
|
|
389
389
|
hestia_earth/models/linkedImpactAssessment/emissions.py,sha256=ZU68ljsidyqIKIdFqtR9mze5Am0fK_PE1x4GBTwBTr0,6395
|
|
390
|
-
hestia_earth/models/linkedImpactAssessment/freshwaterWithdrawalsInputsProduction.py,sha256=
|
|
391
|
-
hestia_earth/models/linkedImpactAssessment/landOccupationInputsProduction.py,sha256=
|
|
392
|
-
hestia_earth/models/linkedImpactAssessment/landTransformation100YearAverageInputsProduction.py,sha256=
|
|
393
|
-
hestia_earth/models/linkedImpactAssessment/landTransformation20YearAverageInputsProduction.py,sha256=
|
|
394
|
-
hestia_earth/models/linkedImpactAssessment/utils.py,sha256=
|
|
390
|
+
hestia_earth/models/linkedImpactAssessment/freshwaterWithdrawalsInputsProduction.py,sha256=OTWVjPikOsZTbzgTzCJBkL6fH4Zbprq5SrV5LSLc4C0,1137
|
|
391
|
+
hestia_earth/models/linkedImpactAssessment/landOccupationInputsProduction.py,sha256=M1_QXTxCdWccXPaO7YjOtBa6WkmiQj3Xs89lYIUrM7w,1141
|
|
392
|
+
hestia_earth/models/linkedImpactAssessment/landTransformation100YearAverageInputsProduction.py,sha256=IqQ76I05IC79g2GXY91iWFqEeXk8Fhw-hcrifCaAbiI,1228
|
|
393
|
+
hestia_earth/models/linkedImpactAssessment/landTransformation20YearAverageInputsProduction.py,sha256=yHGyhabzKdBIPSGciJ_LJPKvHbTECXDx8dGOgmT1eqM,1225
|
|
394
|
+
hestia_earth/models/linkedImpactAssessment/utils.py,sha256=RYmvNw147CYGbt8drv4vWZNqwRlT3vOWkadussAfnKY,4459
|
|
395
395
|
hestia_earth/models/mocking/__init__.py,sha256=9VX50c-grz-snfd-7MBS0KfF7AadtbKuj7kK6PqtsgE,687
|
|
396
396
|
hestia_earth/models/mocking/build_mock_search.py,sha256=p15ccEUmkmLp1RiGNznxMz3OFHbI8P1-29ExuohiQN8,1355
|
|
397
397
|
hestia_earth/models/mocking/mock_search.py,sha256=ccFe_WrI73JElFmxp4hPNLCX7eeU--lBC1JFR901KJY,1069
|
|
398
|
-
hestia_earth/models/mocking/search-results.json,sha256=
|
|
398
|
+
hestia_earth/models/mocking/search-results.json,sha256=GuQjDA_voZXB26tGPiBB1I_brcgKIleLiC2hUTu23mI,101696
|
|
399
399
|
hestia_earth/models/pooreNemecek2018/__init__.py,sha256=nPboL7ULJzL5nJD5q7q9VOZt_fxbKVm8fmn1Az5YkVY,417
|
|
400
400
|
hestia_earth/models/pooreNemecek2018/aboveGroundCropResidueTotal.py,sha256=Qt-mel4dkhK6N5uUOutNOinCTFjbjtGzITaaI0LvYc4,2396
|
|
401
401
|
hestia_earth/models/pooreNemecek2018/belowGroundCropResidue.py,sha256=JT0RybbvWVlo01FO8K0Yj41HrEaJT3Kj1xfayr2X-xw,2315
|
|
@@ -497,7 +497,7 @@ hestia_earth/models/site/brackishWater.py,sha256=vLEhIZv5PUKwzwvIuYrWi7K---fq7ZX
|
|
|
497
497
|
hestia_earth/models/site/cationExchangeCapacityPerKgSoil.py,sha256=0eH4A-tXJ0hvIkiYXWxlx8TfrdbIKUGYUDk97-yQJgg,3653
|
|
498
498
|
hestia_earth/models/site/flowingWater.py,sha256=v3g5722GIA4zQAUQI9yGFiZvFvI1QAVZqlQrY-6_B3A,1731
|
|
499
499
|
hestia_earth/models/site/freshWater.py,sha256=FXs3Vt8V4e-wn325_dwSTOKlZtn5ksNUpvYGDeLJShY,1255
|
|
500
|
-
hestia_earth/models/site/management.py,sha256=
|
|
500
|
+
hestia_earth/models/site/management.py,sha256=ffrXelDxwBuCVy7cZbhYQA0SKymMhCogPQES13ySSYE,11679
|
|
501
501
|
hestia_earth/models/site/netPrimaryProduction.py,sha256=UIIQkYd911qVzrWjxBLrC37e-RARIVgDwLdARY9BuLw,1849
|
|
502
502
|
hestia_earth/models/site/organicCarbonPerHa.py,sha256=F2ShinHf0m9qKa1nCYBspsDkRY6jzOl0wM8mSDre22I,14916
|
|
503
503
|
hestia_earth/models/site/organicCarbonPerKgSoil.py,sha256=t--wAshiAKS-JvEKhLFRadGvgSBv5NFZ68jdyms_wh4,1945
|
|
@@ -555,7 +555,7 @@ hestia_earth/models/transformation/product/__init__.py,sha256=47DEQpj8HBSa-_TImW
|
|
|
555
555
|
hestia_earth/models/transformation/product/excreta.py,sha256=Yj9wMF5if-zivb6qbN3vy1X51ZNYxvoyG9f4KPp3Y18,5700
|
|
556
556
|
hestia_earth/models/usetoxV2/__init__.py,sha256=pK37V3H-KvYcvRKw4Mv8CWrB2N0LFLzmv0jKLdhGGqs,409
|
|
557
557
|
hestia_earth/models/usetoxV2/freshwaterEcotoxicityPotentialCtue.py,sha256=pPX8u-Aq6Pg5Y9xw0CS0S2WkAHQpOMl0lL2tLQwwOuU,918
|
|
558
|
-
hestia_earth/models/utils/__init__.py,sha256=
|
|
558
|
+
hestia_earth/models/utils/__init__.py,sha256=ADtNs74scoLRPsBF8J9K-QE6WcNB2qFhBmR8abJAYh8,7302
|
|
559
559
|
hestia_earth/models/utils/aggregated.py,sha256=01V5RDvO9EZAEiApY7M2dUoR4GcGxvAH5lvtIK_qjyI,4946
|
|
560
560
|
hestia_earth/models/utils/animalProduct.py,sha256=M5IunAKGY6oZv3j1Ascl34ywyeLWApqOIlBzbtlA2FE,721
|
|
561
561
|
hestia_earth/models/utils/aquacultureManagement.py,sha256=dxrbC1Xf140cohxTbSw6TxLAnAASWTdNZwBBam4yQnw,171
|
|
@@ -570,7 +570,7 @@ hestia_earth/models/utils/cropResidueManagement.py,sha256=nIDFjf39rDD10UHSVudfDy
|
|
|
570
570
|
hestia_earth/models/utils/currency.py,sha256=f_ArJANb--pZq4LL49SXQ1AMX_oKroqwBXKRRQqZwsM,578
|
|
571
571
|
hestia_earth/models/utils/cycle.py,sha256=uZgqTy4IaCqcSEEHWOcZ0bFBjwGl7gBoedk6HJ5Nryw,16233
|
|
572
572
|
hestia_earth/models/utils/descriptive_stats.py,sha256=EMVwFvg2OnZgKRAfireAoWY2EbrSvqR0V0bK9B53p28,1583
|
|
573
|
-
hestia_earth/models/utils/ecoClimateZone.py,sha256=
|
|
573
|
+
hestia_earth/models/utils/ecoClimateZone.py,sha256=kD5DGActHAfMCJykKQGkwEEicWt7PQlEIX9_PkqXfP0,4265
|
|
574
574
|
hestia_earth/models/utils/emission.py,sha256=H_apu-Og9SJTLVU2lU56IsvSU22-9J7OrqXk1b2qnSE,3638
|
|
575
575
|
hestia_earth/models/utils/excretaManagement.py,sha256=NuWPQjFZxMVt9sYgBjcqhGWCFk_OKb3sA9Ovcff3fRQ,428
|
|
576
576
|
hestia_earth/models/utils/feedipedia.py,sha256=wzzrMbYlda1XCpWiObLz4bFLXbAZejHcxsXJFr4U_AM,3953
|
|
@@ -582,7 +582,7 @@ hestia_earth/models/utils/inorganicFertiliser.py,sha256=_dLBY-otGkLr8PobR5dQ89bF
|
|
|
582
582
|
hestia_earth/models/utils/input.py,sha256=gsVFKTC9WF8dO6YAg_-H_GAOQTnvAr49Ox5-eTH8zf8,5145
|
|
583
583
|
hestia_earth/models/utils/landCover.py,sha256=8-nfynzCx9gf9YfhpuoH6Cn4kQwWFpYA5RmoGW-0ETE,300
|
|
584
584
|
hestia_earth/models/utils/liveAnimal.py,sha256=GnajBPZw5d94raf80KtLloaOqlfqGAPwUtP9bRlGWeE,1754
|
|
585
|
-
hestia_earth/models/utils/lookup.py,sha256=
|
|
585
|
+
hestia_earth/models/utils/lookup.py,sha256=hSqIDZ7aw3YdLtUjCw-wlsUdh3dA6p1jl9Nuvcru3go,8673
|
|
586
586
|
hestia_earth/models/utils/management.py,sha256=W5M9k0arraVUGh4ZccVqgb8rSSLxHM6rkmi4MSzV6Dw,413
|
|
587
587
|
hestia_earth/models/utils/measurement.py,sha256=izEiPszUcPA22zaIc0OuF7Yk82JWu5cxi0Sbz_9YgBo,11142
|
|
588
588
|
hestia_earth/models/utils/organicFertiliser.py,sha256=2HY-a0EBzUw4DkEAXClLMXVCEZTKYf0BwFHBo7lQ5Tg,363
|
|
@@ -1154,8 +1154,8 @@ tests/models/utils/test_term.py,sha256=M5Sa26v2gzQYbZ4H_fo7DspnaCx__-WtL-MULGapC
|
|
|
1154
1154
|
tests/models/utils/test_time_series.py,sha256=LMhRPf8rp3nAriKAC-2K3FDkrMWntRTUUCERw7Lt68g,2686
|
|
1155
1155
|
tests/models/webbEtAl2012AndSintermannEtAl2012/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1156
1156
|
tests/models/webbEtAl2012AndSintermannEtAl2012/test_nh3ToAirOrganicFertiliser.py,sha256=qi2FNXS5Af2WDtm7nq_FsprH3BfCF0XxnE0XHmC4aIY,2244
|
|
1157
|
-
hestia_earth_models-0.65.
|
|
1158
|
-
hestia_earth_models-0.65.
|
|
1159
|
-
hestia_earth_models-0.65.
|
|
1160
|
-
hestia_earth_models-0.65.
|
|
1161
|
-
hestia_earth_models-0.65.
|
|
1157
|
+
hestia_earth_models-0.65.4.dist-info/LICENSE,sha256=TD25LoiRJsA5CPUNrcyt1PXlGcbUGFMAeZoBcfCrCNE,1154
|
|
1158
|
+
hestia_earth_models-0.65.4.dist-info/METADATA,sha256=NTDzVeU3Bu-lQ5w0Epxbt1LXOtrWX74mEGovrUyF35o,3344
|
|
1159
|
+
hestia_earth_models-0.65.4.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
|
1160
|
+
hestia_earth_models-0.65.4.dist-info/top_level.txt,sha256=1dqA9TqpOLTEgpqa-YBsmbCmmNU1y56AtfFGEceZ2A0,19
|
|
1161
|
+
hestia_earth_models-0.65.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|