hestia-earth-models 0.71.0__py3-none-any.whl → 0.72.0__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.
- hestia_earth/models/config/Site.json +8 -0
- hestia_earth/models/geospatialDatabase/histosol.py +14 -7
- hestia_earth/models/hestia/histosol.py +53 -0
- hestia_earth/models/ipcc2019/organicCarbonPerHa_tier_1.py +22 -7
- hestia_earth/models/mocking/search-results.json +1177 -1177
- hestia_earth/models/utils/aggregated.py +3 -3
- hestia_earth/models/utils/measurement.py +16 -3
- hestia_earth/models/version.py +1 -1
- {hestia_earth_models-0.71.0.dist-info → hestia_earth_models-0.72.0.dist-info}/METADATA +2 -2
- {hestia_earth_models-0.71.0.dist-info → hestia_earth_models-0.72.0.dist-info}/RECORD +16 -14
- tests/models/geospatialDatabase/test_histosol.py +21 -20
- tests/models/hestia/test_histosol.py +24 -0
- tests/models/ipcc2019/test_organicCarbonPerHa_tier_1.py +4 -3
- {hestia_earth_models-0.71.0.dist-info → hestia_earth_models-0.72.0.dist-info}/LICENSE +0 -0
- {hestia_earth_models-0.71.0.dist-info → hestia_earth_models-0.72.0.dist-info}/WHEEL +0 -0
- {hestia_earth_models-0.71.0.dist-info → hestia_earth_models-0.72.0.dist-info}/top_level.txt +0 -0
@@ -52,12 +52,12 @@ def find_closest_impact(cycle: dict, end_date: str, term: dict, country: dict, m
|
|
52
52
|
'minimum_should_match': 1
|
53
53
|
}
|
54
54
|
} if term else None,
|
55
|
-
_match_country(country)
|
55
|
+
_match_country(country),
|
56
|
+
{'range': {'endDate': {'lte': f"{end_date}-12-31"}}}
|
56
57
|
]) + must_queries,
|
57
58
|
'should': [
|
58
59
|
# if the Cycle is organic, we can try to match organic aggregate first
|
59
|
-
{'match': {'name': {'query': 'Organic' if is_organic(cycle) else 'Conventional', 'boost': 1000}}}
|
60
|
-
{'match': {'endDate': {'query': end_date, 'boost': 1000}}}
|
60
|
+
{'match': {'name': {'query': 'Organic' if is_organic(cycle) else 'Conventional', 'boost': 1000}}}
|
61
61
|
]
|
62
62
|
}
|
63
63
|
}
|
@@ -3,9 +3,9 @@ from collections.abc import Iterable
|
|
3
3
|
from functools import reduce
|
4
4
|
from statistics import mode, mean
|
5
5
|
from typing import Any, Optional, Union
|
6
|
-
from hestia_earth.schema import MeasurementMethodClassification, SchemaType
|
7
|
-
from hestia_earth.utils.model import linked_node
|
8
|
-
from hestia_earth.utils.tools import non_empty_list, flatten, safe_parse_float
|
6
|
+
from hestia_earth.schema import MeasurementMethodClassification, SchemaType, TermTermType
|
7
|
+
from hestia_earth.utils.model import linked_node, filter_list_term_type
|
8
|
+
from hestia_earth.utils.tools import non_empty_list, flatten, safe_parse_float, list_sum
|
9
9
|
from hestia_earth.utils.date import diff_in_days
|
10
10
|
|
11
11
|
from . import flatten_args
|
@@ -295,3 +295,16 @@ def group_measurements_by_method_classification(
|
|
295
295
|
|
296
296
|
grouped_nodes = reduce(group_node, valid_nodes, defaultdict(list))
|
297
297
|
return dict(grouped_nodes)
|
298
|
+
|
299
|
+
|
300
|
+
def total_other_soilType_value(measurements: list, term_id: str):
|
301
|
+
sum_group = get_lookup_value({'@id': term_id, 'termType': TermTermType.SOILTYPE.value}, 'sumMax100Group')
|
302
|
+
measurements = [
|
303
|
+
m for m in filter_list_term_type(measurements, TermTermType.SOILTYPE)
|
304
|
+
if all([
|
305
|
+
get_lookup_value(m.get('term'), 'sumMax100Group') == sum_group,
|
306
|
+
m.get('depthUpper', 0) == 0,
|
307
|
+
m.get('depthLower', 0) == 30
|
308
|
+
])
|
309
|
+
]
|
310
|
+
return list_sum([list_sum(m.get('value') or []) for m in measurements])
|
hestia_earth/models/version.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
VERSION = '0.
|
1
|
+
VERSION = '0.72.0'
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: hestia-earth-models
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.72.0
|
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
|
@@ -11,7 +11,7 @@ Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
|
|
11
11
|
Classifier: Programming Language :: Python :: 3.6
|
12
12
|
Description-Content-Type: text/markdown
|
13
13
|
License-File: LICENSE
|
14
|
-
Requires-Dist: hestia-earth-schema==
|
14
|
+
Requires-Dist: hestia-earth-schema==33.*
|
15
15
|
Requires-Dist: hestia-earth-utils>=0.14.1
|
16
16
|
Requires-Dist: python-dateutil>=2.8.1
|
17
17
|
Requires-Dist: CurrencyConverter==0.16.8
|
@@ -5,7 +5,7 @@ hestia_earth/models/cache_sites.py,sha256=VwUNMhmCXZIEnligS0jtcWDdn13GIknpzxBMWz
|
|
5
5
|
hestia_earth/models/log.py,sha256=eRuH86v7Thuw-QXdKqaqVmA_MkwnOCo0UBEwtuDq4Oc,3554
|
6
6
|
hestia_earth/models/preload_requests.py,sha256=vK_G1UzhNMhYy7ymnCtHUz_vv3cfApCSKqv29VREEBQ,1943
|
7
7
|
hestia_earth/models/requirements.py,sha256=eU4yT443fx7BnaokhrLB_PCizJI7Y6m4auyo8vQauNg,17363
|
8
|
-
hestia_earth/models/version.py,sha256=
|
8
|
+
hestia_earth/models/version.py,sha256=oZa0yE6Lt-ORDt2I3jrU1imNWQVvSZ1o__484ngeMDI,19
|
9
9
|
hestia_earth/models/agribalyse2016/__init__.py,sha256=WvK0qCQbnYtg9oZxrACd1wGormZyXibPtpCnIQeDqbw,415
|
10
10
|
hestia_earth/models/agribalyse2016/fuelElectricity.py,sha256=1ngl8pdxeNhlVV8keAeWRwGorr_1uFXM9EoPUWx-uSc,4382
|
11
11
|
hestia_earth/models/agribalyse2016/machineryInfrastructureDepreciatedAmountPerCycle.py,sha256=queToXuzq0tQ9_XuUJ2pJgSywXmbt9uX3ZoIKgqkROM,2660
|
@@ -36,7 +36,7 @@ hestia_earth/models/cml2001NonBaseline/eutrophicationPotentialIncludingFateAvera
|
|
36
36
|
hestia_earth/models/cml2001NonBaseline/terrestrialAcidificationPotentialExcludingFate.py,sha256=xcrxfs9UoV_EWvV-XzMt35oPWCUsTzqg2SGA3j2MFIw,1091
|
37
37
|
hestia_earth/models/config/Cycle.json,sha256=3akuXAYWwsTc9v4g8y0yGQooDXc_D4y8J5Q7RFLTAmg,58113
|
38
38
|
hestia_earth/models/config/ImpactAssessment.json,sha256=R22Pa6Szl05s13xFGKmrVZ4EgKD4UyUrruxxVujsJt4,56201
|
39
|
-
hestia_earth/models/config/Site.json,sha256=
|
39
|
+
hestia_earth/models/config/Site.json,sha256=dp5tQ37lU_xakeWg4UAgqQR3YoCS7BkasYo1TtNHabo,14074
|
40
40
|
hestia_earth/models/config/__init__.py,sha256=l1WqL7ezlank86ABP4zUia_hIvM9ba-sOE3z6wNrea8,2333
|
41
41
|
hestia_earth/models/config/run-calculations.json,sha256=e3nJ4M6CP1iFzfv8ou_ZUFbFxYkDxJgwuNDXTm4PBDc,615
|
42
42
|
hestia_earth/models/config/trigger-calculations.json,sha256=3dmn2bRuj6QEtSTOLdIy31ho7thgUXyDsnqZzPV9rAQ,623
|
@@ -155,7 +155,7 @@ hestia_earth/models/geospatialDatabase/ecoClimateZone.py,sha256=WBeaYmzer3CeviHn
|
|
155
155
|
hestia_earth/models/geospatialDatabase/ecoregion.py,sha256=Hr2zJd-KGmOB5PU6nAbTtnUDWMBwhFOUf8PwT-lcPis,1206
|
156
156
|
hestia_earth/models/geospatialDatabase/erodibility.py,sha256=M62CetEcHuExeXl7P7DVKZWWbk9tenjaDFvjMsWbga4,1843
|
157
157
|
hestia_earth/models/geospatialDatabase/heavyWinterPrecipitation.py,sha256=54pvHOfcfEUNNhTIWIPGRzqO_t59ACh-zhnLidO2xro,1956
|
158
|
-
hestia_earth/models/geospatialDatabase/histosol.py,sha256=
|
158
|
+
hestia_earth/models/geospatialDatabase/histosol.py,sha256=uVl96zpxPHYDW81SxnEpMPpNeVdfzBYRCUhVP6EFN4A,2614
|
159
159
|
hestia_earth/models/geospatialDatabase/longFallowRatio.py,sha256=X-qJS0euYVwhGHd4rCnlRSL3KOMLQJl5kO8QqSREcpA,2561
|
160
160
|
hestia_earth/models/geospatialDatabase/nutrientLossToAquaticEnvironment.py,sha256=uEsoYJ1mzgUo6fQhUrcJ-ATcFw1j9oEgqMXKbQuFRxQ,1973
|
161
161
|
hestia_earth/models/geospatialDatabase/organicCarbonPerKgSoil.py,sha256=O_3GdoyY3FrwAq37MHleb0kiXZhsqpuAcik9TYpAvU4,2830
|
@@ -199,6 +199,7 @@ hestia_earth/models/hestia/excretaKgN.py,sha256=-GfHPx6AECNPW2i_ioCuf-DhW7Xau201
|
|
199
199
|
hestia_earth/models/hestia/excretaKgVs.py,sha256=fzBV7hgznevLTcvHyHKQk9upkCgmJ0xH1NuMETeSF8A,2860
|
200
200
|
hestia_earth/models/hestia/flowingWater.py,sha256=Iy5PCWun7GMrr0zszd0zpp9lKADpXesjC3doqLY4n28,1603
|
201
201
|
hestia_earth/models/hestia/freshWater.py,sha256=EHUWNFmgIqr9y7DTcn1_HcpJdI7WP1cv4LMrkpaf8zQ,1262
|
202
|
+
hestia_earth/models/hestia/histosol.py,sha256=IexiWTSlSJYGjrdpYmRooW6v8LjhYATPQ8smMz1UZBA,1612
|
202
203
|
hestia_earth/models/hestia/inorganicFertiliser.py,sha256=SQv5X4vkgmvUIUV79dJ71Y9u2EW3T5Scu2GoTr3K0Yw,8930
|
203
204
|
hestia_earth/models/hestia/irrigatedTypeUnspecified.py,sha256=VdYzfYxcRzWv21qxRkDn9HBid7-Bt_CgIv4iyXJH03g,1929
|
204
205
|
hestia_earth/models/hestia/landCover.py,sha256=Bt7zQzp8gS0oL8ljsXLYPBG5cQzxOkFaJnKwrcTDlxQ,32360
|
@@ -319,7 +320,7 @@ hestia_earth/models/ipcc2019/nonCo2EmissionsToAirNaturalVegetationBurning.py,sha
|
|
319
320
|
hestia_earth/models/ipcc2019/noxToAirInorganicFertiliser.py,sha256=fmmFgjtvOD2TrrLY03jYly_KvDnCsAXqhL_tmZQQt-A,4480
|
320
321
|
hestia_earth/models/ipcc2019/noxToAirOrganicFertiliser.py,sha256=9dx_MRTwJGxJRq6mj2EJQMdQ2w6j7lw0fQk0If_cIGc,4152
|
321
322
|
hestia_earth/models/ipcc2019/organicCarbonPerHa.py,sha256=D8Lph5clGjXb5F7sk-jlnqE30C2lokhqndpA0hUMwTk,7791
|
322
|
-
hestia_earth/models/ipcc2019/organicCarbonPerHa_tier_1.py,sha256=
|
323
|
+
hestia_earth/models/ipcc2019/organicCarbonPerHa_tier_1.py,sha256=7At4xCtNWpyzOg6GFIL_nMCpLi82Y6RleCZgXbIMi_k,79161
|
323
324
|
hestia_earth/models/ipcc2019/organicCarbonPerHa_tier_2.py,sha256=5_AltohTyRMBT8dFdULOdTS79Ydpbb2CaYZGlYQEFQY,69244
|
324
325
|
hestia_earth/models/ipcc2019/organicCarbonPerHa_utils.py,sha256=s_F3fyHhPuqragrHxluqdK0GCGnEor17jGlGKue0UsA,9867
|
325
326
|
hestia_earth/models/ipcc2019/organicSoilCultivation_utils.py,sha256=mJCKYZxqk5vFknckjIjGw478BjZbvKC_xQ-zYpvJ8xM,5628
|
@@ -443,7 +444,7 @@ hestia_earth/models/linkedImpactAssessment/utils.py,sha256=S1zlux02gU2Lajrtoq-zQ
|
|
443
444
|
hestia_earth/models/mocking/__init__.py,sha256=9VX50c-grz-snfd-7MBS0KfF7AadtbKuj7kK6PqtsgE,687
|
444
445
|
hestia_earth/models/mocking/build_mock_search.py,sha256=p15ccEUmkmLp1RiGNznxMz3OFHbI8P1-29ExuohiQN8,1355
|
445
446
|
hestia_earth/models/mocking/mock_search.py,sha256=ccFe_WrI73JElFmxp4hPNLCX7eeU--lBC1JFR901KJY,1069
|
446
|
-
hestia_earth/models/mocking/search-results.json,sha256=
|
447
|
+
hestia_earth/models/mocking/search-results.json,sha256=gfkYvS0BhyTeKKR6H6DaAMg0fUmTg1hEjf2ORpp1t1s,162536
|
447
448
|
hestia_earth/models/pooreNemecek2018/__init__.py,sha256=nPboL7ULJzL5nJD5q7q9VOZt_fxbKVm8fmn1Az5YkVY,417
|
448
449
|
hestia_earth/models/pooreNemecek2018/aboveGroundCropResidueTotal.py,sha256=Qt-mel4dkhK6N5uUOutNOinCTFjbjtGzITaaI0LvYc4,2396
|
449
450
|
hestia_earth/models/pooreNemecek2018/belowGroundCropResidue.py,sha256=JT0RybbvWVlo01FO8K0Yj41HrEaJT3Kj1xfayr2X-xw,2315
|
@@ -585,7 +586,7 @@ hestia_earth/models/transformation/product/excreta.py,sha256=tggXIoUujzu8O949_3K
|
|
585
586
|
hestia_earth/models/usetoxV2/__init__.py,sha256=pK37V3H-KvYcvRKw4Mv8CWrB2N0LFLzmv0jKLdhGGqs,409
|
586
587
|
hestia_earth/models/usetoxV2/freshwaterEcotoxicityPotentialCtue.py,sha256=pPX8u-Aq6Pg5Y9xw0CS0S2WkAHQpOMl0lL2tLQwwOuU,918
|
587
588
|
hestia_earth/models/utils/__init__.py,sha256=hXSBcHSMYWjg_Fe_H5IVsxu_OmVCTummZ205t_GE6pY,6847
|
588
|
-
hestia_earth/models/utils/aggregated.py,sha256=
|
589
|
+
hestia_earth/models/utils/aggregated.py,sha256=G7FNJfHqJ_eoXB66kGdjLyZGDOI_gsF56o7VnyW3bqA,4801
|
589
590
|
hestia_earth/models/utils/animalProduct.py,sha256=M5IunAKGY6oZv3j1Ascl34ywyeLWApqOIlBzbtlA2FE,721
|
590
591
|
hestia_earth/models/utils/aquacultureManagement.py,sha256=dxrbC1Xf140cohxTbSw6TxLAnAASWTdNZwBBam4yQnw,171
|
591
592
|
hestia_earth/models/utils/array_builders.py,sha256=ko1pDZKaUudZqxOZ99vJamKAdoR6ND4ZmxVrYH6YjPc,19498
|
@@ -614,7 +615,7 @@ hestia_earth/models/utils/landCover.py,sha256=8-nfynzCx9gf9YfhpuoH6Cn4kQwWFpYA5R
|
|
614
615
|
hestia_earth/models/utils/liveAnimal.py,sha256=GnajBPZw5d94raf80KtLloaOqlfqGAPwUtP9bRlGWeE,1754
|
615
616
|
hestia_earth/models/utils/lookup.py,sha256=UCkg_MluWfgkznQBCXCZECahGmI7VNszVclLGRoXhlA,6190
|
616
617
|
hestia_earth/models/utils/management.py,sha256=urvoHvTw5wrO12POjGQ50Or25X1Y4Gx26l4fDoVt-Ck,376
|
617
|
-
hestia_earth/models/utils/measurement.py,sha256=
|
618
|
+
hestia_earth/models/utils/measurement.py,sha256=EalW6D3wnD7jygV-m1miIZRkQ_S9qIqWGuXpcDrYk28,11685
|
618
619
|
hestia_earth/models/utils/method.py,sha256=ZYN2_Fyeiwr9pmvD84ZPg7ZHBlvaIY2A6XL4F_KByS0,740
|
619
620
|
hestia_earth/models/utils/organicFertiliser.py,sha256=2HY-a0EBzUw4DkEAXClLMXVCEZTKYf0BwFHBo7lQ5Tg,363
|
620
621
|
hestia_earth/models/utils/pesticideAI.py,sha256=DQIAjgkWjKPyuMLUvnEgVkeQGCEOBjyJJktWU747b00,2047
|
@@ -789,7 +790,7 @@ tests/models/geospatialDatabase/test_ecoClimateZone.py,sha256=ad0BBOhjl6uMUP_-Qh
|
|
789
790
|
tests/models/geospatialDatabase/test_ecoregion.py,sha256=xPEXQKXpF4ghpVwuyZWC-4mmN9qywF-s_QKkmU40H70,868
|
790
791
|
tests/models/geospatialDatabase/test_erodibility.py,sha256=UW6SZS1nY3rzr2TqRcFDoq6a5KJ6ox-8L0k-im23R0s,1013
|
791
792
|
tests/models/geospatialDatabase/test_heavyWinterPrecipitation.py,sha256=1xv7L_b3ochbcu6y6TQrTUL0ZLr6aR44kAPsEN_1kAE,1026
|
792
|
-
tests/models/geospatialDatabase/test_histosol.py,sha256=
|
793
|
+
tests/models/geospatialDatabase/test_histosol.py,sha256=neoBruV0gRGm2PheAZiuTjIFiqzQss-FRUENjjM3zmc,1170
|
793
794
|
tests/models/geospatialDatabase/test_longFallowRatio.py,sha256=VoYURFuOnlC8ozxcMLTzv99MGlymlVXd596T5MKVvOU,1004
|
794
795
|
tests/models/geospatialDatabase/test_nutrientLossToAquaticEnvironment.py,sha256=ZtoNdI_dB3Nk79Ts9JJrlda7z6HRE2cwCQHC2DiWCsY,1034
|
795
796
|
tests/models/geospatialDatabase/test_organicCarbonPerKgSoil.py,sha256=sx9raq5YGuyVjZ5GfNeo36LXNT5zfvn3W-kDWeoaJWI,1636
|
@@ -834,6 +835,7 @@ tests/models/hestia/test_excretaKgVs.py,sha256=3dNFATeYM5LI1y3Q3m5cbazvNp-zMKLwt
|
|
834
835
|
tests/models/hestia/test_feedConversionRatio.py,sha256=LgO9Tl4yHKh0XyTe9dXqt1ccqY2UFcrJh5fIUfFMq9w,2132
|
835
836
|
tests/models/hestia/test_flowingWater.py,sha256=0-70Iyr0HKQHHC5jFEF9LUQQZ23spOo5tFWXQ8kfR7w,1372
|
836
837
|
tests/models/hestia/test_freshWater.py,sha256=v2UD69csKrniKP3MXkOEHxQeE6O3-lvIViCvLA7Zgws,984
|
838
|
+
tests/models/hestia/test_histosol.py,sha256=7g-3wQPZok2O8mExcnKZxO_T2Ye_h3UHv3HG3Kn8orM,888
|
837
839
|
tests/models/hestia/test_inorganicFertiliser.py,sha256=v2Zs1Ig-ChOaq9gXuurcBt12izkH2bRUUuzW6rh3rqQ,643
|
838
840
|
tests/models/hestia/test_irrigatedTypeUnspecified.py,sha256=bluZADFagxfXW4QyI0CIJzG97D2V33w333Z9Vwjqo0M,2015
|
839
841
|
tests/models/hestia/test_landCover.py,sha256=XwzHCbJQt-jBpCnXcWLumTREyMNEEkUAuM2GViJl3iU,7492
|
@@ -947,7 +949,7 @@ tests/models/ipcc2019/test_nonCo2EmissionsToAirNaturalVegetationBurning.py,sha25
|
|
947
949
|
tests/models/ipcc2019/test_noxToAirInorganicFertiliser.py,sha256=NZBSBJLM_j2PEpHRON2ysgKNF8x5sHfQVoAKQdGsfzk,1537
|
948
950
|
tests/models/ipcc2019/test_noxToAirOrganicFertiliser.py,sha256=LR5pjV5vRbgSSQAw8kYRp_ij4CHInzgaDS6EggQuBiw,1104
|
949
951
|
tests/models/ipcc2019/test_organicCarbonPerHa.py,sha256=g_uOqzj6EiyvoAZRpd4PakMYQ7Vfn0QiDGLCTVz92A8,15607
|
950
|
-
tests/models/ipcc2019/test_organicCarbonPerHa_tier_1.py,sha256=
|
952
|
+
tests/models/ipcc2019/test_organicCarbonPerHa_tier_1.py,sha256=lSGxHvfz84etnXbu6cJU0Fh06H_lI3yIlSiF3Wg9tec,20683
|
951
953
|
tests/models/ipcc2019/test_organicCarbonPerHa_tier_2.py,sha256=OKkISE_gcF1yrEHzHowk65MbDRdgy-ILdzGWIy6X8JU,5502
|
952
954
|
tests/models/ipcc2019/test_organicCarbonPerHa_utils.py,sha256=Zd2QlN_Q3k9djuByOH62A00tryVzlvNtsd46N79TTeU,1778
|
953
955
|
tests/models/ipcc2019/test_pastureGrass.py,sha256=6B8ZmuI1w4rA4wGduWx0l6e0BgGz8b2knTUIcT0GDOg,2725
|
@@ -1241,8 +1243,8 @@ tests/orchestrator/strategies/run/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeR
|
|
1241
1243
|
tests/orchestrator/strategies/run/test_add_blank_node_if_missing.py,sha256=K4xg4UAXfNhSaLyknKVPO7MGBF44Z_gD7CuZ_pe28gU,3512
|
1242
1244
|
tests/orchestrator/strategies/run/test_add_key_if_missing.py,sha256=hKwvk1ohcBVnQUCTiDhRW99J0xEa29BpwFi1KC0yWLE,329
|
1243
1245
|
tests/orchestrator/strategies/run/test_always.py,sha256=w5-Dhp6yLzgZGAeMRz3OrqZbbAed9gZ1O266a3z9k7w,134
|
1244
|
-
hestia_earth_models-0.
|
1245
|
-
hestia_earth_models-0.
|
1246
|
-
hestia_earth_models-0.
|
1247
|
-
hestia_earth_models-0.
|
1248
|
-
hestia_earth_models-0.
|
1246
|
+
hestia_earth_models-0.72.0.dist-info/LICENSE,sha256=TD25LoiRJsA5CPUNrcyt1PXlGcbUGFMAeZoBcfCrCNE,1154
|
1247
|
+
hestia_earth_models-0.72.0.dist-info/METADATA,sha256=W4w6OHS9XPsC3e3WNeIW-qMUpdkJWfxmP8Hl6sIj-SI,4045
|
1248
|
+
hestia_earth_models-0.72.0.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
1249
|
+
hestia_earth_models-0.72.0.dist-info/top_level.txt,sha256=1dqA9TqpOLTEgpqa-YBsmbCmmNU1y56AtfFGEceZ2A0,19
|
1250
|
+
hestia_earth_models-0.72.0.dist-info/RECORD,,
|
@@ -1,32 +1,33 @@
|
|
1
|
-
|
1
|
+
import os
|
2
2
|
import json
|
3
|
+
import pytest
|
4
|
+
from unittest.mock import MagicMock, patch
|
3
5
|
from tests.utils import fixtures_path, fake_new_measurement
|
4
6
|
|
5
|
-
from hestia_earth.models.geospatialDatabase.histosol import MODEL, TERM_ID, run
|
7
|
+
from hestia_earth.models.geospatialDatabase.histosol import MODEL, TERM_ID, run
|
6
8
|
|
7
9
|
class_path = f"hestia_earth.models.{MODEL}.{TERM_ID}"
|
8
10
|
fixtures_folder = f"{fixtures_path}/{MODEL}/{TERM_ID}"
|
11
|
+
_folders = [d for d in os.listdir(fixtures_folder) if os.path.isdir(os.path.join(fixtures_folder, d))]
|
9
12
|
|
10
13
|
|
11
|
-
@
|
12
|
-
@patch(f"{class_path}.has_geospatial_data")
|
13
|
-
def test_should_run(*args):
|
14
|
-
# with no soilType => run
|
15
|
-
site = {'measurements': []}
|
16
|
-
assert _should_run(site) is True
|
17
|
-
|
18
|
-
# with an existing soilType => NO run
|
19
|
-
with open(f"{fixtures_folder}/with-soilType.jsonld", encoding='utf-8') as f:
|
20
|
-
site = json.load(f)
|
21
|
-
assert not _should_run(site)
|
22
|
-
|
23
|
-
|
14
|
+
@pytest.mark.parametrize("folder", _folders)
|
24
15
|
@patch(f"{class_path}.get_source", return_value={})
|
16
|
+
@patch(f"{class_path}.download", return_value=50)
|
17
|
+
@patch(f"{class_path}.should_download", return_value=True)
|
25
18
|
@patch(f"{class_path}._new_measurement", side_effect=fake_new_measurement)
|
26
|
-
|
27
|
-
|
28
|
-
|
19
|
+
def test_run(
|
20
|
+
mock_new_measurement: MagicMock,
|
21
|
+
mock_should_download: MagicMock,
|
22
|
+
mock_download: MagicMock,
|
23
|
+
mock_get_source: MagicMock,
|
24
|
+
folder: str
|
25
|
+
):
|
26
|
+
with open(f"{fixtures_folder}/{folder}/site.jsonld", encoding='utf-8') as f:
|
29
27
|
site = json.load(f)
|
30
28
|
|
31
|
-
|
32
|
-
|
29
|
+
with open(f"{fixtures_folder}/{folder}/result.jsonld", encoding='utf-8') as f:
|
30
|
+
expected = json.load(f)
|
31
|
+
|
32
|
+
value = run(site)
|
33
|
+
assert value == expected, folder
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import os
|
2
|
+
import json
|
3
|
+
import pytest
|
4
|
+
from unittest.mock import MagicMock, patch
|
5
|
+
from tests.utils import fixtures_path, fake_new_measurement
|
6
|
+
|
7
|
+
from hestia_earth.models.hestia.histosol import MODEL, TERM_ID, run
|
8
|
+
|
9
|
+
class_path = f"hestia_earth.models.{MODEL}.{TERM_ID}"
|
10
|
+
fixtures_folder = f"{fixtures_path}/{MODEL}/{TERM_ID}"
|
11
|
+
_folders = [d for d in os.listdir(fixtures_folder) if os.path.isdir(os.path.join(fixtures_folder, d))]
|
12
|
+
|
13
|
+
|
14
|
+
@pytest.mark.parametrize("folder", _folders)
|
15
|
+
@patch(f"{class_path}._new_measurement", side_effect=fake_new_measurement)
|
16
|
+
def test_run(mock_new_measurement: MagicMock, folder: str):
|
17
|
+
with open(f"{fixtures_folder}/{folder}/site.jsonld", encoding='utf-8') as f:
|
18
|
+
site = json.load(f)
|
19
|
+
|
20
|
+
with open(f"{fixtures_folder}/{folder}/result.jsonld", encoding='utf-8') as f:
|
21
|
+
expected = json.load(f)
|
22
|
+
|
23
|
+
value = run(site)
|
24
|
+
assert value == expected, folder
|
@@ -120,7 +120,8 @@ SOIL_CATEGORY_PARAMS = [
|
|
120
120
|
("usdaSoilType/pod", IpccSoilCategory.SPODIC_SOILS),
|
121
121
|
("usdaSoilType/san", IpccSoilCategory.SANDY_SOILS),
|
122
122
|
("usdaSoilType/vol", IpccSoilCategory.VOLCANIC_SOILS),
|
123
|
-
("usdaSoilType/wet", IpccSoilCategory.WETLAND_SOILS)
|
123
|
+
("usdaSoilType/wet", IpccSoilCategory.WETLAND_SOILS),
|
124
|
+
("with-depths", IpccSoilCategory.HIGH_ACTIVITY_CLAY_SOILS) # Closes #1248
|
124
125
|
]
|
125
126
|
|
126
127
|
|
@@ -202,12 +203,12 @@ MANAGEMENT_CATEGORY_PARAMS = [
|
|
202
203
|
IpccLandUseCategory.GRASSLAND,
|
203
204
|
IpccManagementCategory.NOMINALLY_MANAGED
|
204
205
|
),
|
205
|
-
("nominally-managed/unknown", IpccLandUseCategory.GRASSLAND, IpccManagementCategory.NOMINALLY_MANAGED),
|
206
206
|
("not-relevant", IpccLandUseCategory.OTHER, IpccManagementCategory.NOT_RELEVANT),
|
207
207
|
("reduced-tillage", IpccLandUseCategory.ANNUAL_CROPS, IpccManagementCategory.REDUCED_TILLAGE),
|
208
208
|
("severely-degraded", IpccLandUseCategory.GRASSLAND, IpccManagementCategory.SEVERELY_DEGRADED),
|
209
209
|
("unknown/annual-crops", IpccLandUseCategory.ANNUAL_CROPS, IpccManagementCategory.UNKNOWN),
|
210
|
-
("unknown/annual-crops-wet", IpccLandUseCategory.ANNUAL_CROPS_WET, IpccManagementCategory.UNKNOWN)
|
210
|
+
("unknown/annual-crops-wet", IpccLandUseCategory.ANNUAL_CROPS_WET, IpccManagementCategory.UNKNOWN),
|
211
|
+
("unknown/grassland", IpccLandUseCategory.GRASSLAND, IpccManagementCategory.UNKNOWN)
|
211
212
|
]
|
212
213
|
|
213
214
|
|
File without changes
|
File without changes
|
File without changes
|