hestia-earth-models 0.61.5__py3-none-any.whl → 0.61.7__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/cycle/input/hestiaAggregatedData.py +1 -1
- hestia_earth/models/ipcc2019/animal/weightAtMaturity.py +5 -1
- hestia_earth/models/ipcc2019/co2ToAirSoilOrganicCarbonStockChangeManagementChange.py +1 -1
- hestia_earth/models/ipcc2019/organicCarbonPerHa.py +12 -7
- hestia_earth/models/mocking/__init__.py +8 -11
- hestia_earth/models/mocking/mock_search.py +13 -14
- hestia_earth/models/mocking/search-results.json +293 -193
- hestia_earth/models/preload_requests.py +32 -0
- hestia_earth/models/schererPfister2015/pToDrainageWaterSoilFlux.py +1 -1
- hestia_earth/models/schererPfister2015/pToGroundwaterSoilFlux.py +1 -1
- hestia_earth/models/site/management.py +1 -1
- hestia_earth/models/site/soilMeasurement.py +11 -29
- hestia_earth/models/utils/aquacultureManagement.py +2 -2
- hestia_earth/models/utils/crop.py +24 -1
- hestia_earth/models/utils/cycle.py +0 -23
- hestia_earth/models/utils/lookup.py +6 -3
- hestia_earth/models/utils/site.py +29 -16
- hestia_earth/models/version.py +1 -1
- {hestia_earth_models-0.61.5.dist-info → hestia_earth_models-0.61.7.dist-info}/METADATA +8 -1
- {hestia_earth_models-0.61.5.dist-info → hestia_earth_models-0.61.7.dist-info}/RECORD +26 -25
- tests/models/site/test_soilMeasurement.py +2 -1
- tests/models/utils/{test_cycle.py → test_crop.py} +2 -2
- tests/models/utils/test_site.py +1 -1
- {hestia_earth_models-0.61.5.dist-info → hestia_earth_models-0.61.7.dist-info}/LICENSE +0 -0
- {hestia_earth_models-0.61.5.dist-info → hestia_earth_models-0.61.7.dist-info}/WHEEL +0 -0
- {hestia_earth_models-0.61.5.dist-info → hestia_earth_models-0.61.7.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Preload all search requests to avoid making the same searches many times while running models.
|
|
3
|
+
"""
|
|
4
|
+
import json
|
|
5
|
+
|
|
6
|
+
from .log import logger
|
|
7
|
+
from .mocking.mock_search import create_search_results
|
|
8
|
+
from .mocking import RESULTS_PATH, enable_mock as _mock
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def enable_preload(filepath: str = RESULTS_PATH, node: dict = None):
|
|
12
|
+
"""
|
|
13
|
+
Prefetch calls to Hestia API in a local file.
|
|
14
|
+
|
|
15
|
+
Parameters
|
|
16
|
+
----------
|
|
17
|
+
filepath : str
|
|
18
|
+
The path of the file containing the search results. Defaults to current library folder.
|
|
19
|
+
node : dict
|
|
20
|
+
Optional - The node used to run calculations. This is especially useful when running calculations on a Site.
|
|
21
|
+
"""
|
|
22
|
+
logger.debug('Preloading search results and storing in %s', filepath)
|
|
23
|
+
|
|
24
|
+
# build the search results
|
|
25
|
+
data = create_search_results()
|
|
26
|
+
|
|
27
|
+
# store in file
|
|
28
|
+
with open(filepath, 'w') as f:
|
|
29
|
+
f.write(json.dumps(data, indent=2, ensure_ascii=False))
|
|
30
|
+
|
|
31
|
+
# enable mock search results from file
|
|
32
|
+
_mock(filepath=filepath, node=node)
|
|
@@ -53,7 +53,7 @@ def _emission(value: float):
|
|
|
53
53
|
|
|
54
54
|
def _run(cycle: dict, drainageClass: list):
|
|
55
55
|
P_total, _ = get_liquid_slurry_sludge_P_total(cycle)
|
|
56
|
-
value = 0.07 * (1 + P_total * 0.2/80) * (6 if drainageClass >
|
|
56
|
+
value = 0.07 * (1 + P_total * 0.2/80) * (6 if drainageClass > 4 else 0)
|
|
57
57
|
return [_emission(value)]
|
|
58
58
|
|
|
59
59
|
|
|
@@ -41,7 +41,7 @@ def _emission(value: float):
|
|
|
41
41
|
|
|
42
42
|
def _run(cycle: dict, drainageClass: list):
|
|
43
43
|
P_total, _ = get_liquid_slurry_sludge_P_total(cycle)
|
|
44
|
-
value = 0.07 * (1 + P_total * 0.2/80) * (0 if drainageClass >
|
|
44
|
+
value = 0.07 * (1 + P_total * 0.2/80) * (0 if drainageClass > 4 else 1)
|
|
45
45
|
return [_emission(value)]
|
|
46
46
|
|
|
47
47
|
|
|
@@ -198,7 +198,7 @@ def _get_relevant_inputs(cycles: List[dict]) -> List:
|
|
|
198
198
|
|
|
199
199
|
def _should_run(site: dict):
|
|
200
200
|
# Only get related cycles once.
|
|
201
|
-
cycles = related_cycles(site
|
|
201
|
+
cycles = related_cycles(site)
|
|
202
202
|
|
|
203
203
|
products_land_cover = [
|
|
204
204
|
_extract_node_value(
|
|
@@ -114,13 +114,14 @@ def _group_measurements_by_date_method_term(measurements):
|
|
|
114
114
|
return group_by_result
|
|
115
115
|
|
|
116
116
|
|
|
117
|
-
def _run_harmonisation(measurements: list
|
|
117
|
+
def _run_harmonisation(measurements: list) -> list:
|
|
118
118
|
results = []
|
|
119
119
|
grouped_measurements = _group_measurements_by_date_method_term(
|
|
120
120
|
_expand_multiple_measurements(measurements)
|
|
121
121
|
)
|
|
122
122
|
|
|
123
123
|
for (date, method, term_id), measurements_list in grouped_measurements.items():
|
|
124
|
+
needed_depths = _get_depths_from_measurements(measurements_list)
|
|
124
125
|
# For a target depth
|
|
125
126
|
for depth_upper, depth_lower in needed_depths:
|
|
126
127
|
modelled_value = _harmonise_measurements(
|
|
@@ -144,13 +145,9 @@ def _run_harmonisation(measurements: list, needed_depths: list):
|
|
|
144
145
|
return results
|
|
145
146
|
|
|
146
147
|
|
|
147
|
-
def
|
|
148
|
-
return [dict(m, **{"depthUpper": 0, "depthLower": 30}) for m in measurements_missing_depths]
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
def _get_needed_depths(site: dict) -> list:
|
|
148
|
+
def _get_depths_from_measurements(measurements: list) -> list:
|
|
152
149
|
needed_depths = list(STANDARD_DEPTHS)
|
|
153
|
-
for measurement in
|
|
150
|
+
for measurement in measurements:
|
|
154
151
|
if (measurement.get("depthUpper"), measurement.get("depthLower")) in needed_depths:
|
|
155
152
|
needed_depths.remove((int(measurement["depthUpper"]), int(measurement["depthLower"])))
|
|
156
153
|
|
|
@@ -164,34 +161,19 @@ def _should_run(site: dict, model_key: str):
|
|
|
164
161
|
m.get('value', [])
|
|
165
162
|
])]
|
|
166
163
|
|
|
167
|
-
measurements_with_depths = [m for m in measurements if
|
|
168
|
-
"depthUpper" in m,
|
|
169
|
-
"depthLower" in m,
|
|
170
|
-
(int(m.get("depthUpper", 0)), int(m.get("depthLower", 0))) not in STANDARD_DEPTHS
|
|
171
|
-
])]
|
|
164
|
+
measurements_with_depths = [m for m in measurements if "depthUpper" in m and "depthLower" in m]
|
|
172
165
|
has_measurements_with_depths = len(measurements_with_depths) > 0
|
|
173
166
|
|
|
174
|
-
measurements_missing_depth_recommended = [m for m in measurements if all([
|
|
175
|
-
"depthUpper" not in m,
|
|
176
|
-
"depthLower" not in m,
|
|
177
|
-
not get_lookup_value(m.get("term", {}), LOOKUPS["measurement"][1], model=MODEL, model_key=model_key)
|
|
178
|
-
])]
|
|
179
|
-
|
|
180
167
|
logRequirements(site, model=MODEL, model_key=model_key,
|
|
181
|
-
has_measurements_with_depths=has_measurements_with_depths
|
|
182
|
-
has_missing_depths=bool(measurements_missing_depth_recommended))
|
|
168
|
+
has_measurements_with_depths=has_measurements_with_depths)
|
|
183
169
|
|
|
184
|
-
should_run = has_measurements_with_depths
|
|
185
|
-
for measurement in measurements_with_depths
|
|
170
|
+
should_run = has_measurements_with_depths
|
|
171
|
+
for measurement in measurements_with_depths:
|
|
186
172
|
term_id = measurement.get("term", {}).get("@id", {})
|
|
187
173
|
logShouldRun(site, MODEL, term_id, should_run)
|
|
188
|
-
return should_run, measurements_with_depths
|
|
174
|
+
return should_run, measurements_with_depths
|
|
189
175
|
|
|
190
176
|
|
|
191
177
|
def run(site: dict):
|
|
192
|
-
should_run, measurements_with_depths
|
|
193
|
-
|
|
194
|
-
return non_empty_list(flatten(
|
|
195
|
-
_run_harmonisation(measurements=measurements_with_depths, needed_depths=needed_depths)
|
|
196
|
-
+ _run_gap_fill_depths(measurements_missing_depths=measurements_missing_depth)
|
|
197
|
-
)) if should_run else []
|
|
178
|
+
should_run, measurements_with_depths = _should_run(site=site, model_key=MODEL_KEY)
|
|
179
|
+
return non_empty_list(flatten(_run_harmonisation(measurements=measurements_with_depths))) if should_run else []
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from .site import WATER_TYPES
|
|
1
|
+
from .site import WATER_TYPES, valid_site_type as site_valid_site_type
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
def valid_site_type(cycle: dict): return cycle.get('site', {})
|
|
4
|
+
def valid_site_type(cycle: dict): return site_valid_site_type(cycle.get('site', {}), WATER_TYPES)
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
from hestia_earth.schema import TermTermType
|
|
1
|
+
from hestia_earth.schema import TermTermType, SiteSiteType
|
|
2
2
|
from hestia_earth.utils.model import find_primary_product
|
|
3
3
|
from hestia_earth.utils.tools import safe_parse_float
|
|
4
4
|
|
|
5
5
|
from .term import get_lookup_value
|
|
6
|
+
from .site import valid_site_type as site_valid_site_type
|
|
6
7
|
|
|
7
8
|
FAO_LOOKUP_COLUMN = 'cropGroupingFAO'
|
|
8
9
|
FAOSTAT_AREA_LOOKUP_COLUMN = 'cropGroupingFaostatArea'
|
|
@@ -34,3 +35,25 @@ def get_N2ON_fertiliser_coeff_from_primary_product(model: str, log_id: str, cycl
|
|
|
34
35
|
|
|
35
36
|
def is_plantation(model: str, log_id: str, term_id: str):
|
|
36
37
|
return get_crop_lookup_value(model, log_id, term_id, 'isPlantation')
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
def valid_site_type(cycle: dict, include_permanent_pasture=False):
|
|
41
|
+
"""
|
|
42
|
+
Check if the `site.siteType` of the cycle is `cropland`.
|
|
43
|
+
|
|
44
|
+
Parameters
|
|
45
|
+
----------
|
|
46
|
+
cycle : dict
|
|
47
|
+
The `Cycle`.
|
|
48
|
+
include_permanent_pasture : bool
|
|
49
|
+
If set to `True`, `permanent pasture` is also allowed. Defaults to `False`.
|
|
50
|
+
|
|
51
|
+
Returns
|
|
52
|
+
-------
|
|
53
|
+
bool
|
|
54
|
+
`True` if `siteType` matches the allowed values, `False` otherwise.
|
|
55
|
+
"""
|
|
56
|
+
site_types = [SiteSiteType.CROPLAND.value] + (
|
|
57
|
+
[SiteSiteType.PERMANENT_PASTURE.value] if include_permanent_pasture else []
|
|
58
|
+
)
|
|
59
|
+
return site_valid_site_type(cycle.get('site', {}), site_types)
|
|
@@ -9,7 +9,6 @@ from .property import get_node_property
|
|
|
9
9
|
from .completeness import _is_term_type_complete
|
|
10
10
|
from .blank_node import get_N_total, get_P2O5_total
|
|
11
11
|
from .measurement import most_relevant_measurement_value
|
|
12
|
-
from .site import valid_site_type as site_valid_site_type
|
|
13
12
|
from .crop import is_plantation
|
|
14
13
|
from .currency import DEFAULT_CURRENCY
|
|
15
14
|
from .inorganicFertiliser import get_cycle_inputs as get_inorganicFertiliser_inputs
|
|
@@ -330,28 +329,6 @@ def land_occupation_per_kg(model: str, term_id: str, cycle: dict, site: dict, pr
|
|
|
330
329
|
)
|
|
331
330
|
|
|
332
331
|
|
|
333
|
-
def valid_site_type(cycle: dict, include_permanent_pasture=False):
|
|
334
|
-
"""
|
|
335
|
-
Check if the `site.siteType` of the cycle is `cropland`.
|
|
336
|
-
|
|
337
|
-
Parameters
|
|
338
|
-
----------
|
|
339
|
-
cycle : dict
|
|
340
|
-
The `Cycle`.
|
|
341
|
-
include_permanent_pasture : bool
|
|
342
|
-
If set to `True`, `permanent pasture` is also allowed. Defaults to `False`.
|
|
343
|
-
|
|
344
|
-
Returns
|
|
345
|
-
-------
|
|
346
|
-
bool
|
|
347
|
-
`True` if `siteType` matches the allowed values, `False` otherwise.
|
|
348
|
-
"""
|
|
349
|
-
site_types = [SiteSiteType.CROPLAND.value] + (
|
|
350
|
-
[SiteSiteType.PERMANENT_PASTURE.value] if include_permanent_pasture else []
|
|
351
|
-
)
|
|
352
|
-
return site_valid_site_type(cycle.get('site', {}), site_types)
|
|
353
|
-
|
|
354
|
-
|
|
355
332
|
def is_organic(cycle: dict):
|
|
356
333
|
"""
|
|
357
334
|
Check if the `Cycle` is organic, i.e. if it contains an organic standard label `Practice`.
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
from hestia_earth.schema import SchemaType
|
|
1
2
|
from hestia_earth.utils.lookup import (
|
|
2
3
|
download_lookup, get_table_value, column_name, extract_grouped_data, _get_single_table_value
|
|
3
4
|
)
|
|
4
5
|
from hestia_earth.utils.tools import list_sum, safe_parse_float, non_empty_list
|
|
5
6
|
|
|
6
7
|
from ..log import debugValues
|
|
7
|
-
from .site import is_site
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
def _node_value(node):
|
|
@@ -73,6 +73,9 @@ def _aware_factor_value(model: str, term_id: str, lookup_name: str, aware_id: st
|
|
|
73
73
|
_ALLOW_ALL = 'all'
|
|
74
74
|
|
|
75
75
|
|
|
76
|
+
def _is_site(site: dict): return site.get('@type', site.get('type')) == SchemaType.SITE.value
|
|
77
|
+
|
|
78
|
+
|
|
76
79
|
def _model_lookup_values(model: str, term: dict, restriction: str):
|
|
77
80
|
lookup = download_lookup(f"{term.get('termType')}-model-{restriction}.csv")
|
|
78
81
|
values = get_table_value(lookup, 'termid', term.get('@id'), column_name(model))
|
|
@@ -80,7 +83,7 @@ def _model_lookup_values(model: str, term: dict, restriction: str):
|
|
|
80
83
|
|
|
81
84
|
|
|
82
85
|
def is_model_siteType_allowed(model: str, term: dict, data: dict):
|
|
83
|
-
site = data if
|
|
86
|
+
site = data if _is_site(data) else data.get('site', data.get('cycle', {}).get('site')) or {}
|
|
84
87
|
site_type = site.get('siteType')
|
|
85
88
|
allowed_values = _model_lookup_values(model, term, 'siteTypesAllowed')
|
|
86
89
|
return True if _ALLOW_ALL in allowed_values or not site_type else site_type in allowed_values
|
|
@@ -93,7 +96,7 @@ def _lookup_values(term: dict, column: str):
|
|
|
93
96
|
|
|
94
97
|
|
|
95
98
|
def is_siteType_allowed(data: dict, term: dict):
|
|
96
|
-
site = data if
|
|
99
|
+
site = data if _is_site(data) else data.get('site', data.get('cycle', {}).get('site')) or {}
|
|
97
100
|
site_type = site.get('siteType')
|
|
98
101
|
allowed_values = _lookup_values(term, 'siteTypesAllowed')
|
|
99
102
|
return True if _ALLOW_ALL in allowed_values or not site_type else site_type in allowed_values
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from hestia_earth.schema import SchemaType, SiteSiteType, TermTermType
|
|
2
2
|
from hestia_earth.utils.api import find_related
|
|
3
3
|
from hestia_earth.utils.lookup import download_lookup, get_table_value, column_name
|
|
4
|
-
from hestia_earth.utils.tools import non_empty_list,
|
|
4
|
+
from hestia_earth.utils.tools import non_empty_list, flatten, safe_parse_date
|
|
5
5
|
|
|
6
6
|
from hestia_earth.models.log import debugMissingLookup
|
|
7
7
|
from . import cached_value, _load_calculated_node
|
|
@@ -41,10 +41,32 @@ def region_level_1_id(term_id: str):
|
|
|
41
41
|
)
|
|
42
42
|
|
|
43
43
|
|
|
44
|
-
def
|
|
44
|
+
def _cycle_year(cycle: dict, key: str):
|
|
45
|
+
date = safe_parse_date(cycle.get(key))
|
|
46
|
+
return date.year if date else None
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
def years_from_cycles(cycles: list):
|
|
50
|
+
"""
|
|
51
|
+
Get the list of years available for all cycles.
|
|
45
52
|
|
|
53
|
+
Parameters
|
|
54
|
+
----------
|
|
55
|
+
cycles : list
|
|
56
|
+
List of Cycle as dict.
|
|
46
57
|
|
|
47
|
-
|
|
58
|
+
Returns
|
|
59
|
+
-------
|
|
60
|
+
list[int]
|
|
61
|
+
List of years available.
|
|
62
|
+
"""
|
|
63
|
+
return sorted(non_empty_list(set(flatten([
|
|
64
|
+
_cycle_year(cycle, 'startDate'),
|
|
65
|
+
_cycle_year(cycle, 'endDate')
|
|
66
|
+
] for cycle in cycles))))
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
def related_cycles(site: dict):
|
|
48
70
|
"""
|
|
49
71
|
Get the list of `Cycle` related to the `Site`.
|
|
50
72
|
Gets the `recalculated` data if available, else `original`.
|
|
@@ -59,22 +81,13 @@ def related_cycles(site_id: str):
|
|
|
59
81
|
list[dict]
|
|
60
82
|
The related `Cycle`s as `dict`.
|
|
61
83
|
"""
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
def _cycle_year(cycle: dict, key: str):
|
|
67
|
-
date = safe_parse_date(cycle.get(key))
|
|
68
|
-
return date.year if date else None
|
|
84
|
+
cached_nodes = [n for n in cached_value(site, 'related', []) if n.get('@type') == SchemaType.CYCLE.value]
|
|
85
|
+
related_nodes = cached_nodes or find_related(SchemaType.SITE, site.get('@id'), SchemaType.CYCLE) or []
|
|
86
|
+
return non_empty_list(map(lambda node: _load_calculated_node(node, SchemaType.CYCLE), related_nodes))
|
|
69
87
|
|
|
70
88
|
|
|
71
89
|
def related_years(site: dict):
|
|
72
|
-
return cached_value(site, CACHE_YEARS_KEY) or (
|
|
73
|
-
sorted(non_empty_list(set(flatten([
|
|
74
|
-
_cycle_year(cycle, 'startDate'),
|
|
75
|
-
_cycle_year(cycle, 'endDate')
|
|
76
|
-
] for cycle in related_cycles(site.get('@id'))))))
|
|
77
|
-
)
|
|
90
|
+
return cached_value(site, CACHE_YEARS_KEY) or years_from_cycles(related_cycles(site))
|
|
78
91
|
|
|
79
92
|
|
|
80
93
|
def related_months(site: dict):
|
hestia_earth/models/version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
VERSION = '0.61.
|
|
1
|
+
VERSION = '0.61.7'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: hestia-earth-models
|
|
3
|
-
Version: 0.61.
|
|
3
|
+
Version: 0.61.7
|
|
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
|
|
@@ -53,6 +53,13 @@ from hestia_earth.models.pooreNemecek2018 import run
|
|
|
53
53
|
run('no3ToGroundwaterSoilFlux', cycle_data)
|
|
54
54
|
```
|
|
55
55
|
|
|
56
|
+
Additionally, to reduce the number of queries to the HESTIA API and run the models faster, prefetching can be enabled:
|
|
57
|
+
```python
|
|
58
|
+
from hestia_earth.models.preload_requests import enable_preload
|
|
59
|
+
|
|
60
|
+
enable_preload()
|
|
61
|
+
```
|
|
62
|
+
|
|
56
63
|
### Using Spatial Models
|
|
57
64
|
|
|
58
65
|
We have models that can gap-fill geographical information on a `Site`. If you want to use these models:
|
|
@@ -2,8 +2,9 @@ hestia_earth/__init__.py,sha256=G-d438vPx7m_ks5e9XTtM3u7LDRO5dSSukibukWmyPM,56
|
|
|
2
2
|
hestia_earth/models/__init__.py,sha256=qEFeq3yuf3lQKVseALmL8aPM8fpCS54B_5pry00M3hk,76
|
|
3
3
|
hestia_earth/models/cache_sites.py,sha256=KQp9cUKE-aIcYJoMWEtKFYS8gBFfsx5LKQhqoWpUSoM,6065
|
|
4
4
|
hestia_earth/models/log.py,sha256=b63I3qyTtQs17xxbq8RI0Fv2lvZ1oDZ9k0njhxqiFFk,3459
|
|
5
|
+
hestia_earth/models/preload_requests.py,sha256=elhYQTxBVuFlZROWvZ3yErDzzMLdMUIjBhmpdaTUSi8,1012
|
|
5
6
|
hestia_earth/models/requirements.py,sha256=znNZJAhwX2iYiKcAQXPftY7z_1MsNa0QxCXkXyHm_U0,17363
|
|
6
|
-
hestia_earth/models/version.py,sha256=
|
|
7
|
+
hestia_earth/models/version.py,sha256=6Nws4L3uBOwihJSLvy9rIuRjo77dHISAduPpMkcqB_Y,19
|
|
7
8
|
hestia_earth/models/agribalyse2016/__init__.py,sha256=WvK0qCQbnYtg9oZxrACd1wGormZyXibPtpCnIQeDqbw,415
|
|
8
9
|
hestia_earth/models/agribalyse2016/fuelElectricity.py,sha256=mrh8seYSYdTgcMDCETLiknuPeJehg071YoG4UiyW0yU,4404
|
|
9
10
|
hestia_earth/models/agribalyse2016/machineryInfrastructureDepreciatedAmountPerCycle.py,sha256=_Rbngu0DzHKa62JwBl58ZC_ui1zLF2que_nB7ukhOQc,3392
|
|
@@ -79,7 +80,7 @@ hestia_earth/models/cycle/feedConversionRatio/feedConversionRatioEnergy.py,sha25
|
|
|
79
80
|
hestia_earth/models/cycle/feedConversionRatio/feedConversionRatioFedWeight.py,sha256=7Dss1AIbG7GimQ3-Ecv2wsx1PrblZhHFYhMHWoyvPc4,2140
|
|
80
81
|
hestia_earth/models/cycle/feedConversionRatio/feedConversionRatioNitrogen.py,sha256=Mgur-o_ki1deMukBS5-ngeqdCIYVBE36kOiY-jB42EY,2581
|
|
81
82
|
hestia_earth/models/cycle/input/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
82
|
-
hestia_earth/models/cycle/input/hestiaAggregatedData.py,sha256=
|
|
83
|
+
hestia_earth/models/cycle/input/hestiaAggregatedData.py,sha256=7WhSOTUKq9A6mrDwOu5gMOHtkhK0oby8n-DAO4LaWLs,5035
|
|
83
84
|
hestia_earth/models/cycle/input/properties.py,sha256=r5EF18b_KW8evmdlev0mLQyqwBVgSicKEyilGaBRF6I,3017
|
|
84
85
|
hestia_earth/models/cycle/input/value.py,sha256=kolH9Fc5GIn9OVH2DgHEaW8ksS4xisy0LerS3WkKK9E,1550
|
|
85
86
|
hestia_earth/models/cycle/post_checks/__init__.py,sha256=j1d2dVgWbngIemn9ePf7jS-FMdg_MHomFCmaBtm9we4,304
|
|
@@ -219,7 +220,7 @@ hestia_earth/models/ipcc2019/ch4ToAirEntericFermentation.py,sha256=khX90Njkmlvos
|
|
|
219
220
|
hestia_earth/models/ipcc2019/ch4ToAirExcreta.py,sha256=IzYHdnzT8Z-WQGoZIt9-O98VqriA5rKr38He_TbYadk,6723
|
|
220
221
|
hestia_earth/models/ipcc2019/ch4ToAirFloodedRice.py,sha256=TJ4J7VA5n4RPrJYZQeR3lc3ZoCw7T1E5Cb1XJewr834,7331
|
|
221
222
|
hestia_earth/models/ipcc2019/co2ToAirLimeHydrolysis.py,sha256=7z0zdqiiWQwkyJCgSNMoK2mft3cJkTRlqwKrMuSKdWI,2454
|
|
222
|
-
hestia_earth/models/ipcc2019/co2ToAirSoilOrganicCarbonStockChangeManagementChange.py,sha256=
|
|
223
|
+
hestia_earth/models/ipcc2019/co2ToAirSoilOrganicCarbonStockChangeManagementChange.py,sha256=X-pUmOa7oy6uvgr0cMDeKRLVIQvh-4bjjrronvd0F3k,25370
|
|
223
224
|
hestia_earth/models/ipcc2019/co2ToAirUreaHydrolysis.py,sha256=071H3ykjzJFW2K5PKvbAaeIj0aL8LTzMiG_pIeYEpEc,3520
|
|
224
225
|
hestia_earth/models/ipcc2019/croppingDuration.py,sha256=_jlFrTNDOARH2_g8s4dzuaCoLHSX2BHzSQd3uuQN32Y,3173
|
|
225
226
|
hestia_earth/models/ipcc2019/ligninContent.py,sha256=wp5EbCthCDAKyvPBfZULS9-uKEY58TQQ8ey1pf-juv8,7267
|
|
@@ -240,13 +241,13 @@ hestia_earth/models/ipcc2019/no3ToGroundwaterInorganicFertiliser.py,sha256=eyPfy
|
|
|
240
241
|
hestia_earth/models/ipcc2019/no3ToGroundwaterOrganicFertiliser.py,sha256=px2SN-uaus2cftXzlsYCUAxLuon6BnDXmaFI9xhQrgU,3347
|
|
241
242
|
hestia_earth/models/ipcc2019/noxToAirInorganicFertiliser.py,sha256=fmmFgjtvOD2TrrLY03jYly_KvDnCsAXqhL_tmZQQt-A,4480
|
|
242
243
|
hestia_earth/models/ipcc2019/noxToAirOrganicFertiliser.py,sha256=9dx_MRTwJGxJRq6mj2EJQMdQ2w6j7lw0fQk0If_cIGc,4152
|
|
243
|
-
hestia_earth/models/ipcc2019/organicCarbonPerHa.py,sha256=
|
|
244
|
+
hestia_earth/models/ipcc2019/organicCarbonPerHa.py,sha256=x2U3FwZuM-lVDCzXmj5eCFOt8b3DIszeebnYIFWCeBc,141712
|
|
244
245
|
hestia_earth/models/ipcc2019/pastureGrass.py,sha256=Q3uX7IcTk0PmzxqEhU3JAcHb5LnUymZbmdRFP9xXsfo,8713
|
|
245
246
|
hestia_earth/models/ipcc2019/pastureGrass_utils.py,sha256=nUJYYkovzF7QD4LeUqhV5mBYFKdrhxeG4gyPRv0Xpuk,16002
|
|
246
247
|
hestia_earth/models/ipcc2019/utils.py,sha256=MSDMu15D9DnilFUgi4_6jYXC0FaKso3OODauGTMB6hs,6229
|
|
247
248
|
hestia_earth/models/ipcc2019/animal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
248
249
|
hestia_earth/models/ipcc2019/animal/pastureGrass.py,sha256=xPtuTiKeAvBhv9d7B6Upw_cbP6YxKykVJ3_p0S_EtZg,10689
|
|
249
|
-
hestia_earth/models/ipcc2019/animal/weightAtMaturity.py,sha256=
|
|
250
|
+
hestia_earth/models/ipcc2019/animal/weightAtMaturity.py,sha256=5smSAmKVCIlELCD6S_3I16YuSWNFhcClGDOdvrIuYsE,3657
|
|
250
251
|
hestia_earth/models/ipcc2021/__init__.py,sha256=VTgGFKhwMmk_nuI1RRq0in27fHYVPBonlXlPK00K8no,409
|
|
251
252
|
hestia_earth/models/ipcc2021/gwp100.py,sha256=v-DYU-11XnWI1Ns1GEiKrJqL3JafxvhTsLmuBuFcxJU,1021
|
|
252
253
|
hestia_earth/models/jarvisAndPain1994/__init__.py,sha256=ercUwy29sV7oPIESj8UjsGB5lqiBCss9OZcbjxeeG8E,418
|
|
@@ -357,9 +358,9 @@ hestia_earth/models/linkedImpactAssessment/landTransformationFromOtherNaturalVeg
|
|
|
357
358
|
hestia_earth/models/linkedImpactAssessment/landTransformationFromPermanentPasture100YearAverageInputsProduction.py,sha256=7btlXl5PL47qIjfs-w_xLZY_nsRnJAwTREtt8LpY6UI,1052
|
|
358
359
|
hestia_earth/models/linkedImpactAssessment/landTransformationFromPermanentPasture20YearAverageInputsProduction.py,sha256=pdluhfRQuJK0EHq-L0s0TOf37tvOQYB-M-wZiuSbarw,1050
|
|
359
360
|
hestia_earth/models/linkedImpactAssessment/utils.py,sha256=dGwGc2d-8_WQElTpfyPmz5vQtL-LHQRmiZnCTuPXMDs,1876
|
|
360
|
-
hestia_earth/models/mocking/__init__.py,sha256=
|
|
361
|
-
hestia_earth/models/mocking/mock_search.py,sha256=
|
|
362
|
-
hestia_earth/models/mocking/search-results.json,sha256
|
|
361
|
+
hestia_earth/models/mocking/__init__.py,sha256=n3Fkkrvh8zHNWiJZmnfQ7WZ91JRzAO9P6pSG1JpwtXo,687
|
|
362
|
+
hestia_earth/models/mocking/mock_search.py,sha256=dBCDRfbZmbMLKP21u_VYkxyimomqs-zztjX-_ZNKuuM,2036
|
|
363
|
+
hestia_earth/models/mocking/search-results.json,sha256=-avKhbyd4WJc1by-WLUYhAjV_adov3NNKLkDYKHa9oY,43544
|
|
363
364
|
hestia_earth/models/pooreNemecek2018/__init__.py,sha256=nPboL7ULJzL5nJD5q7q9VOZt_fxbKVm8fmn1Az5YkVY,417
|
|
364
365
|
hestia_earth/models/pooreNemecek2018/aboveGroundCropResidueTotal.py,sha256=Qt-mel4dkhK6N5uUOutNOinCTFjbjtGzITaaI0LvYc4,2396
|
|
365
366
|
hestia_earth/models/pooreNemecek2018/belowGroundCropResidue.py,sha256=JT0RybbvWVlo01FO8K0Yj41HrEaJT3Kj1xfayr2X-xw,2315
|
|
@@ -443,8 +444,8 @@ hestia_earth/models/recipe2016Individualist/terrestrialEcotoxicityPotential14Dcb
|
|
|
443
444
|
hestia_earth/models/schererPfister2015/__init__.py,sha256=_6FJKfWeAbbS3jFzQ8gEVzoX1LZdPWUTLrow6Hz90U0,419
|
|
444
445
|
hestia_earth/models/schererPfister2015/nErosionSoilFlux.py,sha256=0l2AByDtq8Ci-36duTnwFvjeelnQ-_TOaeah5A2Yv8U,4924
|
|
445
446
|
hestia_earth/models/schererPfister2015/pErosionSoilFlux.py,sha256=aWvcphQU4JMGiISXjPLqnakTObFn0VOn1T9z8e4xds0,5029
|
|
446
|
-
hestia_earth/models/schererPfister2015/pToDrainageWaterSoilFlux.py,sha256=
|
|
447
|
-
hestia_earth/models/schererPfister2015/pToGroundwaterSoilFlux.py,sha256=
|
|
447
|
+
hestia_earth/models/schererPfister2015/pToDrainageWaterSoilFlux.py,sha256=iQs5lLLgGr1thOQ0ZnTLJDJjX7RBwPdu--8p81BZ988,2310
|
|
448
|
+
hestia_earth/models/schererPfister2015/pToGroundwaterSoilFlux.py,sha256=tH-jyd8PFGvEVCO9u4coyVhghYcZyPgbPWQXQsTmDMg,1972
|
|
448
449
|
hestia_earth/models/schererPfister2015/pToSurfaceWaterSoilFlux.py,sha256=evd2jmFZ9lq-uwXiBTgP5wJ-KTjNBVztjSp8eW9-8qg,2947
|
|
449
450
|
hestia_earth/models/schererPfister2015/utils.py,sha256=lb2s_RL8Y3i6DRitpsd8Ri3HSyT442MmUHsBPqXb13U,3150
|
|
450
451
|
hestia_earth/models/schmidt2007/__init__.py,sha256=xheSN6LOGXpWx7Hnv83onhe60Xk1_jk1PJg1nH_aZOQ,412
|
|
@@ -458,7 +459,7 @@ hestia_earth/models/site/brackishWater.py,sha256=dl-R_vwFlXwAkir3grhCYZTLf05FYrf
|
|
|
458
459
|
hestia_earth/models/site/cationExchangeCapacityPerKgSoil.py,sha256=0eH4A-tXJ0hvIkiYXWxlx8TfrdbIKUGYUDk97-yQJgg,3653
|
|
459
460
|
hestia_earth/models/site/flowingWater.py,sha256=0ZuSXMr3EUTY3wsy8hdfuXeZcNX-n3D45MfX3dwyaeA,1728
|
|
460
461
|
hestia_earth/models/site/freshWater.py,sha256=z-C_Il0U6UhZUQUPwh72Z0vixmSrUNEmBN5Lz-nl9_w,1254
|
|
461
|
-
hestia_earth/models/site/management.py,sha256=
|
|
462
|
+
hestia_earth/models/site/management.py,sha256=o9WIvbxip6B-jbQdgko6H2l1neQ0Z5ZpcPJmM5gcYlw,8832
|
|
462
463
|
hestia_earth/models/site/netPrimaryProduction.py,sha256=UIIQkYd911qVzrWjxBLrC37e-RARIVgDwLdARY9BuLw,1849
|
|
463
464
|
hestia_earth/models/site/organicCarbonPerHa.py,sha256=-qQWy1BI4vZJJNMS1RCluZ34dOTqR0lblXSOZLjkhOo,14362
|
|
464
465
|
hestia_earth/models/site/organicCarbonPerKgSoil.py,sha256=t--wAshiAKS-JvEKhLFRadGvgSBv5NFZ68jdyms_wh4,1945
|
|
@@ -472,7 +473,7 @@ hestia_earth/models/site/precipitationMonthly.py,sha256=yGUbiUCu1Prp3qVHuZodGrcf
|
|
|
472
473
|
hestia_earth/models/site/rainfallAnnual.py,sha256=Ix_B8Ny7IIRkJ_3lUvoHOjPgqCyR9I0U3_ADUUtMqsY,2003
|
|
473
474
|
hestia_earth/models/site/rainfallMonthly.py,sha256=2Uo8F-YxnTK0_txlHmiAyVp1bGfWD4bneRKyg4tdQkI,1881
|
|
474
475
|
hestia_earth/models/site/salineWater.py,sha256=HO31JcUBw5WQYGu9zHNqbARasBubNFgJ7OxSVrK3D2o,1255
|
|
475
|
-
hestia_earth/models/site/soilMeasurement.py,sha256
|
|
476
|
+
hestia_earth/models/site/soilMeasurement.py,sha256=-yWmvl4vZYguVDd2bKdnGB_P4s1XZO_n9u4_aQ6xPLQ,6953
|
|
476
477
|
hestia_earth/models/site/temperatureAnnual.py,sha256=Q3b1RH2_hpA0JWwOYA5nKgMGcXHjV8-akXT9vB0cbwc,2012
|
|
477
478
|
hestia_earth/models/site/temperatureMonthly.py,sha256=yXwpFCGT2tUqvVBNedaPyBmN_KlzZqo5yv2TWem1pBk,1890
|
|
478
479
|
hestia_earth/models/site/totalNitrogenPerKgSoil.py,sha256=8ERrTZpN_yCRUyFg_EYaX4abE9jLcyX3lx3MO4Bi6CE,1938
|
|
@@ -519,15 +520,15 @@ hestia_earth/models/usetoxV2/freshwaterEcotoxicityPotentialCtue.py,sha256=oYNwTh
|
|
|
519
520
|
hestia_earth/models/utils/__init__.py,sha256=5FY8tpFa7QjwAIsMTt2-QLB5_0Gy5AkAKk_BsKjE1CY,4400
|
|
520
521
|
hestia_earth/models/utils/aggregated.py,sha256=sz6usleZmo_tC_hIvmGgYsX8-H0dulXmmhHK4EkA5Kg,4946
|
|
521
522
|
hestia_earth/models/utils/animalProduct.py,sha256=M5IunAKGY6oZv3j1Ascl34ywyeLWApqOIlBzbtlA2FE,721
|
|
522
|
-
hestia_earth/models/utils/aquacultureManagement.py,sha256=
|
|
523
|
+
hestia_earth/models/utils/aquacultureManagement.py,sha256=dxrbC1Xf140cohxTbSw6TxLAnAASWTdNZwBBam4yQnw,171
|
|
523
524
|
hestia_earth/models/utils/blank_node.py,sha256=VcWvWRG4hlurgQG8PzklIa7SiZnuR6fnhC_TpE_9wuM,41977
|
|
524
525
|
hestia_earth/models/utils/completeness.py,sha256=2-GusD9UycobDZq8y5jar0ZcOjyqnSbzPRT_5XMc4YA,1259
|
|
525
526
|
hestia_earth/models/utils/constant.py,sha256=5H7odhRwU_LmUhYwf8c1LsdqXSYbLWkuknvtRDqUBTQ,3194
|
|
526
|
-
hestia_earth/models/utils/crop.py,sha256=
|
|
527
|
+
hestia_earth/models/utils/crop.py,sha256=kG054fryqPSBpmzvJFBy_CLiOdjrt7RMk5uTItO5ADg,2246
|
|
527
528
|
hestia_earth/models/utils/cropResidue.py,sha256=_0Q35CrliJeo31xGHsPWe8A2oHxijdIsOrf3gBEqhlA,612
|
|
528
529
|
hestia_earth/models/utils/cropResidueManagement.py,sha256=nIDFjf39rDD10UHSVudfDyu-EiL261g8jyrgS-2aDKw,347
|
|
529
530
|
hestia_earth/models/utils/currency.py,sha256=f_ArJANb--pZq4LL49SXQ1AMX_oKroqwBXKRRQqZwsM,578
|
|
530
|
-
hestia_earth/models/utils/cycle.py,sha256=
|
|
531
|
+
hestia_earth/models/utils/cycle.py,sha256=QgTmfds-SGEqGJNqEZ5A1iAxCZ54Ac0QPSmqECHPFeg,15927
|
|
531
532
|
hestia_earth/models/utils/ecoClimateZone.py,sha256=NHFt-A9EiWXC6tUNIxkgOWUZOjj4I4uwJIP9ddDZegw,1112
|
|
532
533
|
hestia_earth/models/utils/emission.py,sha256=AVp-ngrb4VHYT8BG1QA5EEb17edT3cLonsXV3cNm04U,1576
|
|
533
534
|
hestia_earth/models/utils/excretaManagement.py,sha256=NuWPQjFZxMVt9sYgBjcqhGWCFk_OKb3sA9Ovcff3fRQ,428
|
|
@@ -539,7 +540,7 @@ hestia_earth/models/utils/indicator.py,sha256=fPq38ifd53xWbuOfoiVwiA0Nwa7jVPJLSA
|
|
|
539
540
|
hestia_earth/models/utils/inorganicFertiliser.py,sha256=wTQKnr_fPse-G8aP3Dxrj8mzNSQgXvNL9auy_RWzY5Q,1894
|
|
540
541
|
hestia_earth/models/utils/input.py,sha256=YycsAbSBfVDMu6PftDsisMFGnEp87wOj-3rrnHnOgzo,4927
|
|
541
542
|
hestia_earth/models/utils/liveAnimal.py,sha256=GnajBPZw5d94raf80KtLloaOqlfqGAPwUtP9bRlGWeE,1754
|
|
542
|
-
hestia_earth/models/utils/lookup.py,sha256=
|
|
543
|
+
hestia_earth/models/utils/lookup.py,sha256=9yAw8JILIeAmnAC0dL1Yi6xB4h9quzV3GJQGUKe8ers,6370
|
|
543
544
|
hestia_earth/models/utils/measurement.py,sha256=c0Zkz0a5hWxpYJ83aWsWTeSsukfh-dzjKlCmuj1vCY4,8070
|
|
544
545
|
hestia_earth/models/utils/organicFertiliser.py,sha256=2HY-a0EBzUw4DkEAXClLMXVCEZTKYf0BwFHBo7lQ5Tg,363
|
|
545
546
|
hestia_earth/models/utils/pesticideAI.py,sha256=6f8b-dFm3qr-eY049_eOvj_iDk4XBam61csozdDAvyA,2361
|
|
@@ -547,7 +548,7 @@ hestia_earth/models/utils/practice.py,sha256=tNadOzsrNlCEt801B815XaruJXzZ5yPASam
|
|
|
547
548
|
hestia_earth/models/utils/product.py,sha256=H9UqJNzTqtMWXDQnbRkZlTpv_hg4s-Tya469fBk8InA,10143
|
|
548
549
|
hestia_earth/models/utils/productivity.py,sha256=bUBVCZInGqHuHZvHDSYPQkjWXQxOtTjEk-1-f_BsFOo,594
|
|
549
550
|
hestia_earth/models/utils/property.py,sha256=gHPEmy3Sw599ox64Gv-LCvjhP1THlBXBaBlTOK5lvog,5060
|
|
550
|
-
hestia_earth/models/utils/site.py,sha256=
|
|
551
|
+
hestia_earth/models/utils/site.py,sha256=yei3qk7edxb_boag9h8j713r06KGstjTBWdb1KjqMus,3602
|
|
551
552
|
hestia_earth/models/utils/source.py,sha256=HhZkvQoFdy6j6FC2cwP5EbHXHFM4pif9gpnuzeDwEh4,1746
|
|
552
553
|
hestia_earth/models/utils/temperature.py,sha256=ljlG4-yCgFFb6LRZweb18cZKLrr7K2mqd4E4Hz_D1f8,476
|
|
553
554
|
hestia_earth/models/utils/term.py,sha256=n_T1Qp_0z9ZUgrbVACNKue-5yDePOCkDw8g8dlMKSTM,17763
|
|
@@ -1007,7 +1008,7 @@ tests/models/site/test_precipitationMonthly.py,sha256=iccr-_ZrseM_OT3AKZbTNQhRFS
|
|
|
1007
1008
|
tests/models/site/test_rainfallAnnual.py,sha256=4YYna66qjJptPJ_URvdcQuRC3dri9SB0xmWP8DFwslM,986
|
|
1008
1009
|
tests/models/site/test_rainfallMonthly.py,sha256=A3gIe2Yxt9CLtLcAJNCQ0-8aRB49VdfKBLBy-7eDgJw,985
|
|
1009
1010
|
tests/models/site/test_salineWater.py,sha256=by_goKU4q5Dr-ctqosfrjFPZsG9KeG26Y_xMWEHBhpA,985
|
|
1010
|
-
tests/models/site/test_soilMeasurement.py,sha256=
|
|
1011
|
+
tests/models/site/test_soilMeasurement.py,sha256=AC4wyRlSdxcjRvq--CCmZd0Jxz2bfhFNmrg9SoWbKE0,4917
|
|
1011
1012
|
tests/models/site/test_temperatureAnnual.py,sha256=nOJG9ZJ8NCMM8T47uxxBeloIYLFN6-xtvUBqJsqt8xk,992
|
|
1012
1013
|
tests/models/site/test_temperatureMonthly.py,sha256=C2lv-lpYqH7VUGOlxNLE6d7k_dFS6NYe8BvMlrJorCw,991
|
|
1013
1014
|
tests/models/site/test_totalNitrogenPerKgSoil.py,sha256=2ILrA0jQKGniiKwS5FF3ZLtudgUgjcMnzFtrHpJKPTc,1161
|
|
@@ -1050,9 +1051,9 @@ tests/models/usetoxV2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
|
|
|
1050
1051
|
tests/models/usetoxV2/test_freshwaterEcotoxicityPotentialCtue.py,sha256=eq7Gcmfya9g0eOKKkuBhz8vq7xi_CmZ_LTSxueBwZt4,835
|
|
1051
1052
|
tests/models/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1052
1053
|
tests/models/utils/test_blank_node.py,sha256=hgom8mJPWqylnf4AfLgVlbYgAHAEcH8DngOdFidFMcw,34343
|
|
1054
|
+
tests/models/utils/test_crop.py,sha256=ve_BqT2XuLTWAH-8YOnVY4nzMUSXYYXPB8S-5RtGlf4,463
|
|
1053
1055
|
tests/models/utils/test_cropResidueManagement.py,sha256=RQt8lexeJzCyxZceIutgDpw7BpcqmjsUB0C0yZC2QpY,930
|
|
1054
1056
|
tests/models/utils/test_currency.py,sha256=BPsojPsY9QW2aj8vgbjkPQXU8GU6wDwwtPZ3HdC4KTU,277
|
|
1055
|
-
tests/models/utils/test_cycle.py,sha256=evTHH73ftNVhv5vHlYE2973msKE4pSCd3D0GfX1ZPUA,465
|
|
1056
1057
|
tests/models/utils/test_dataCompleteness.py,sha256=mW6rA7ddhtjZsLxwo5xDnvBdxmqTsivy4RTIU-2Lvk0,1713
|
|
1057
1058
|
tests/models/utils/test_emission.py,sha256=lQczTe39tVHbk3BEanZGU_rq9HDST2uDReKof-SV37Y,829
|
|
1058
1059
|
tests/models/utils/test_feedipedia.py,sha256=S7c1W4bJ5xWXPh42pPbl3R7lDX_iEeaEtFaPXgB7hgE,906
|
|
@@ -1064,13 +1065,13 @@ tests/models/utils/test_measurement.py,sha256=UGCUzuc3gHltehpuOA7dj0DJJY4xcVrQOJ
|
|
|
1064
1065
|
tests/models/utils/test_practice.py,sha256=ILaxkb3qICor9AquAGYiOtA-YKnq0hppmJQzNC_VNyA,612
|
|
1065
1066
|
tests/models/utils/test_product.py,sha256=kwvgAeeEoRgkeStX0zQcFd-4DJhoUhX6Apaks0MU2L0,2305
|
|
1066
1067
|
tests/models/utils/test_property.py,sha256=t2npw86IK7C6G4ypiPtanFi0db4PB7G5VBR1GjRGl34,618
|
|
1067
|
-
tests/models/utils/test_site.py,sha256=
|
|
1068
|
+
tests/models/utils/test_site.py,sha256=9MXbP5JXl0mYaH-yVHJINnZu_MYwj-ogsJWZ3XTHxas,1196
|
|
1068
1069
|
tests/models/utils/test_source.py,sha256=mv3vHZV5cjpoLA2I1109-YUkuzAiuhbRSnv_76_f0CA,631
|
|
1069
1070
|
tests/models/utils/test_term.py,sha256=M5Sa26v2gzQYbZ4H_fo7DspnaCx__-WtL-MULGapCWk,3509
|
|
1070
1071
|
tests/models/webbEtAl2012AndSintermannEtAl2012/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1071
1072
|
tests/models/webbEtAl2012AndSintermannEtAl2012/test_nh3ToAirOrganicFertiliser.py,sha256=qi2FNXS5Af2WDtm7nq_FsprH3BfCF0XxnE0XHmC4aIY,2244
|
|
1072
|
-
hestia_earth_models-0.61.
|
|
1073
|
-
hestia_earth_models-0.61.
|
|
1074
|
-
hestia_earth_models-0.61.
|
|
1075
|
-
hestia_earth_models-0.61.
|
|
1076
|
-
hestia_earth_models-0.61.
|
|
1073
|
+
hestia_earth_models-0.61.7.dist-info/LICENSE,sha256=AC7h7GAgCZGJK_Tzh6LUCrML9gQEfowWwecEw2w54QM,1154
|
|
1074
|
+
hestia_earth_models-0.61.7.dist-info/METADATA,sha256=iynJo-vSse0wSWslH4jZ2jN5MzzWntK8WyH9rDPDtiE,3350
|
|
1075
|
+
hestia_earth_models-0.61.7.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
|
1076
|
+
hestia_earth_models-0.61.7.dist-info/top_level.txt,sha256=1dqA9TqpOLTEgpqa-YBsmbCmmNU1y56AtfFGEceZ2A0,19
|
|
1077
|
+
hestia_earth_models-0.61.7.dist-info/RECORD,,
|
|
@@ -160,7 +160,8 @@ def lookup_side_effect(*args, **kwargs):
|
|
|
160
160
|
"simple-soilPh",
|
|
161
161
|
"clayContent",
|
|
162
162
|
"non-unique-measurements",
|
|
163
|
-
"arrays"
|
|
163
|
+
"arrays",
|
|
164
|
+
"standard-intervals"
|
|
164
165
|
]
|
|
165
166
|
)
|
|
166
167
|
@patch(f"{class_path}._new_measurement", side_effect=fake_new_measurement)
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
from hestia_earth.schema import SiteSiteType
|
|
2
2
|
|
|
3
|
-
from hestia_earth.models.utils.
|
|
3
|
+
from hestia_earth.models.utils.crop import valid_site_type
|
|
4
4
|
|
|
5
|
-
class_path = 'hestia_earth.models.utils.
|
|
5
|
+
class_path = 'hestia_earth.models.utils.crop'
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
def test_valid_site_type():
|
tests/models/utils/test_site.py
CHANGED
|
@@ -21,7 +21,7 @@ def test_region_level_1_id():
|
|
|
21
21
|
@patch(f"{class_path}.find_related", return_value=[CYCLE])
|
|
22
22
|
@patch(f"{class_path}._load_calculated_node", return_value=CYCLE)
|
|
23
23
|
def test_related_cycles(*args):
|
|
24
|
-
assert related_cycles('id') == [CYCLE]
|
|
24
|
+
assert related_cycles({'@id': 'id'}) == [CYCLE]
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
def test_valid_site_type():
|
|
File without changes
|
|
File without changes
|
|
File without changes
|