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.

Files changed (26) hide show
  1. hestia_earth/models/cycle/input/hestiaAggregatedData.py +1 -1
  2. hestia_earth/models/ipcc2019/animal/weightAtMaturity.py +5 -1
  3. hestia_earth/models/ipcc2019/co2ToAirSoilOrganicCarbonStockChangeManagementChange.py +1 -1
  4. hestia_earth/models/ipcc2019/organicCarbonPerHa.py +12 -7
  5. hestia_earth/models/mocking/__init__.py +8 -11
  6. hestia_earth/models/mocking/mock_search.py +13 -14
  7. hestia_earth/models/mocking/search-results.json +293 -193
  8. hestia_earth/models/preload_requests.py +32 -0
  9. hestia_earth/models/schererPfister2015/pToDrainageWaterSoilFlux.py +1 -1
  10. hestia_earth/models/schererPfister2015/pToGroundwaterSoilFlux.py +1 -1
  11. hestia_earth/models/site/management.py +1 -1
  12. hestia_earth/models/site/soilMeasurement.py +11 -29
  13. hestia_earth/models/utils/aquacultureManagement.py +2 -2
  14. hestia_earth/models/utils/crop.py +24 -1
  15. hestia_earth/models/utils/cycle.py +0 -23
  16. hestia_earth/models/utils/lookup.py +6 -3
  17. hestia_earth/models/utils/site.py +29 -16
  18. hestia_earth/models/version.py +1 -1
  19. {hestia_earth_models-0.61.5.dist-info → hestia_earth_models-0.61.7.dist-info}/METADATA +8 -1
  20. {hestia_earth_models-0.61.5.dist-info → hestia_earth_models-0.61.7.dist-info}/RECORD +26 -25
  21. tests/models/site/test_soilMeasurement.py +2 -1
  22. tests/models/utils/{test_cycle.py → test_crop.py} +2 -2
  23. tests/models/utils/test_site.py +1 -1
  24. {hestia_earth_models-0.61.5.dist-info → hestia_earth_models-0.61.7.dist-info}/LICENSE +0 -0
  25. {hestia_earth_models-0.61.5.dist-info → hestia_earth_models-0.61.7.dist-info}/WHEEL +0 -0
  26. {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 > 3 else 0)
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 > 3 else 1)
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.get("@id"))
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, needed_depths: 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 _run_gap_fill_depths(measurements_missing_depths: list) -> list:
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 site.get("measurements", []):
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 all([
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 or bool(measurements_missing_depth_recommended)
185
- for measurement in measurements_with_depths + measurements_missing_depth_recommended:
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, measurements_missing_depth_recommended
174
+ return should_run, measurements_with_depths
189
175
 
190
176
 
191
177
  def run(site: dict):
192
- should_run, measurements_with_depths, measurements_missing_depth = _should_run(site=site, model_key=MODEL_KEY)
193
- needed_depths = _get_needed_depths(site)
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', {}).get('siteType') in WATER_TYPES
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 is_site(data) else data.get('site', data.get('cycle', {}).get('site')) or {}
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 is_site(data) else data.get('site', data.get('cycle', {}).get('site')) or {}
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, safe_parse_date, flatten
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 is_site(site: dict): return site.get('@type', site.get('type')) == SchemaType.SITE.value
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
- def related_cycles(site_id: str):
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
- nodes = find_related(SchemaType.SITE, site_id, SchemaType.CYCLE)
63
- return non_empty_list(map(lambda node: _load_calculated_node(node, SchemaType.CYCLE), nodes or []))
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):
@@ -1 +1 @@
1
- VERSION = '0.61.5'
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.5
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=B-nNMbNCza5Xs1ctuDa5VlUAhx8D4prlU9I-wHx7Hcg,19
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=X3Tnr6eKXrjFOgBEIyvLjBReHoLAzxeU50j31EXYJXc,5036
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=kWrWxhr-48jmbyt57EIjth8IWsl5-Yt1I-uTBSUqFuA,25381
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=omxrtnAZ58qHQYIhi38R7VFn7SRzf8Kk89KgP0VELFQ,141507
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=PlT11hX2nBIwDMsQs3E0XeJZ5BCA023_ibpXPreTncI,3558
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=kmSeOTSvurMUxw7Ajhf3G-SVPQ1NgmirMTk4TSOEicY,765
361
- hestia_earth/models/mocking/mock_search.py,sha256=B_ATXOyeP_zVhQRktqJP5BZfLFCzE09o9XqDitkggG8,2086
362
- hestia_earth/models/mocking/search-results.json,sha256=kD4tqX17b_Nijn8P4aPLe6E8Otipufy2XV-zLqEyhd0,41184
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=P-rlpEyfm7JVhStYLDZEe4m7Rn3b-5qRhQCiZqJkoSg,2310
447
- hestia_earth/models/schererPfister2015/pToGroundwaterSoilFlux.py,sha256=8krSt0i8gZBqv4pd82rKcJpVSJM-BPT4KQ-s60GnvaM,1972
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=F_zcXlW100pwdSfRyT8GxB_l1LMnAWzyVMe40qjV9ws,8843
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=q5CJ4caCqH8pSbQxen0IqTjrFyMRLrrCU2M2BMUgzTE,7851
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=3uSTSMDNNPa26NTJGZCYwByv3QZVyxj6bh2aFCoBzHk,126
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=S8UycHpkgx_TznW3Q7pchEMlCQ623T_SqU6V5fBLBLc,1520
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=FMUqDnklfirQwode4dtgk5NyApBCHzPNKn9Jyvt3Wg8,16639
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=3tXnOaTGF91NhL9NsM0hQ05Vm_bQQG6aNgC5dEq0KdQ,6255
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=oLuai82WdN_qAAG09XmLEbhf7-jr7AT7BGxRBUs1Bno,3292
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=IMSnjbyBYAqWicXGgpdNPpJ_OQw6QEJEmfHJxyF4iec,4887
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=5nCW3onTk6GF_N-h4NYDrlSoxHhXY2GVMbjaDsicbSE,1187
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.5.dist-info/LICENSE,sha256=AC7h7GAgCZGJK_Tzh6LUCrML9gQEfowWwecEw2w54QM,1154
1073
- hestia_earth_models-0.61.5.dist-info/METADATA,sha256=ysVUlLWO6-b7GOw12O3oUg5q9uC43Fy3GeMDawIAHEQ,3134
1074
- hestia_earth_models-0.61.5.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
1075
- hestia_earth_models-0.61.5.dist-info/top_level.txt,sha256=1dqA9TqpOLTEgpqa-YBsmbCmmNU1y56AtfFGEceZ2A0,19
1076
- hestia_earth_models-0.61.5.dist-info/RECORD,,
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.cycle import valid_site_type
3
+ from hestia_earth.models.utils.crop import valid_site_type
4
4
 
5
- class_path = 'hestia_earth.models.utils.cycle'
5
+ class_path = 'hestia_earth.models.utils.crop'
6
6
 
7
7
 
8
8
  def test_valid_site_type():
@@ -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():