hestia-earth-models 0.70.5__py3-none-any.whl → 0.70.6__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/ecoinventV3AndEmberClimate/__init__.py +1 -0
- hestia_earth/models/emepEea2019/co2ToAirFuelCombustion.py +20 -15
- hestia_earth/models/emepEea2019/n2OToAirFuelCombustionDirect.py +21 -16
- hestia_earth/models/emepEea2019/noxToAirFuelCombustion.py +20 -15
- hestia_earth/models/emepEea2019/so2ToAirFuelCombustion.py +20 -15
- hestia_earth/models/emepEea2019/utils.py +73 -25
- hestia_earth/models/hestia/management.py +12 -7
- hestia_earth/models/mocking/search-results.json +502 -502
- hestia_earth/models/utils/blank_node.py +4 -1
- hestia_earth/models/version.py +1 -1
- {hestia_earth_models-0.70.5.dist-info → hestia_earth_models-0.70.6.dist-info}/METADATA +1 -1
- {hestia_earth_models-0.70.5.dist-info → hestia_earth_models-0.70.6.dist-info}/RECORD +21 -21
- tests/models/emepEea2019/test_co2ToAirFuelCombustion.py +1 -14
- tests/models/emepEea2019/test_n2OToAirFuelCombustionDirect.py +1 -14
- tests/models/emepEea2019/test_noxToAirFuelCombustion.py +1 -14
- tests/models/emepEea2019/test_so2ToAirFuelCombustion.py +1 -14
- tests/models/emepEea2019/test_utils.py +1 -49
- tests/models/hestia/test_management.py +2 -1
- {hestia_earth_models-0.70.5.dist-info → hestia_earth_models-0.70.6.dist-info}/LICENSE +0 -0
- {hestia_earth_models-0.70.5.dist-info → hestia_earth_models-0.70.6.dist-info}/WHEEL +0 -0
- {hestia_earth_models-0.70.5.dist-info → hestia_earth_models-0.70.6.dist-info}/top_level.txt +0 -0
@@ -113,7 +113,10 @@ def properties_logs(blank_nodes: list, properties: Union[dict, list]):
|
|
113
113
|
|
114
114
|
def group_by_keys(group_keys: list = ['term']):
|
115
115
|
def run(group: dict, node: dict):
|
116
|
-
group_key = '-'.join(non_empty_list(
|
116
|
+
group_key = '-'.join(non_empty_list([
|
117
|
+
node.get(v, {}).get('@id') if isinstance(node.get(v), dict) else node.get(v)
|
118
|
+
for v in group_keys
|
119
|
+
]))
|
117
120
|
group[group_key] = group.get(group_key, []) + [node]
|
118
121
|
return group
|
119
122
|
return run
|
hestia_earth/models/version.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
VERSION = '0.70.
|
1
|
+
VERSION = '0.70.6'
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: hestia-earth-models
|
3
|
-
Version: 0.70.
|
3
|
+
Version: 0.70.6
|
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
|
@@ -4,7 +4,7 @@ hestia_earth/models/cache_sites.py,sha256=BOhLkkdVWLJ-4Z7kxfQ8swqrYgZ43sACn1uzxY
|
|
4
4
|
hestia_earth/models/log.py,sha256=eRuH86v7Thuw-QXdKqaqVmA_MkwnOCo0UBEwtuDq4Oc,3554
|
5
5
|
hestia_earth/models/preload_requests.py,sha256=vK_G1UzhNMhYy7ymnCtHUz_vv3cfApCSKqv29VREEBQ,1943
|
6
6
|
hestia_earth/models/requirements.py,sha256=eU4yT443fx7BnaokhrLB_PCizJI7Y6m4auyo8vQauNg,17363
|
7
|
-
hestia_earth/models/version.py,sha256
|
7
|
+
hestia_earth/models/version.py,sha256=kHvvtSr85q7ToIOOm0D5M9RTwVyE-adBX6WrA6LbJ68,19
|
8
8
|
hestia_earth/models/agribalyse2016/__init__.py,sha256=WvK0qCQbnYtg9oZxrACd1wGormZyXibPtpCnIQeDqbw,415
|
9
9
|
hestia_earth/models/agribalyse2016/fuelElectricity.py,sha256=1ngl8pdxeNhlVV8keAeWRwGorr_1uFXM9EoPUWx-uSc,4382
|
10
10
|
hestia_earth/models/agribalyse2016/machineryInfrastructureDepreciatedAmountPerCycle.py,sha256=queToXuzq0tQ9_XuUJ2pJgSywXmbt9uX3ZoIKgqkROM,2660
|
@@ -102,21 +102,21 @@ hestia_earth/models/ecoalimV9/impact_assessment.py,sha256=HY2hvAq9Fv-rreroHdWpXx
|
|
102
102
|
hestia_earth/models/ecoalimV9/utils.py,sha256=AWmWQhjvze3J6s35bH-EQIGc58xCeMA8_56hQD7CX8A,1170
|
103
103
|
hestia_earth/models/ecoinventV3/__init__.py,sha256=qKJRphRIlcE52yxUARkolijZgXoB27t3hJeU6nRDKpA,5084
|
104
104
|
hestia_earth/models/ecoinventV3/utils.py,sha256=RxqaHB9hr0RdTKSjfvDN0pC8DIOyxMCr4I_xjas1POw,460
|
105
|
-
hestia_earth/models/ecoinventV3AndEmberClimate/__init__.py,sha256=
|
105
|
+
hestia_earth/models/ecoinventV3AndEmberClimate/__init__.py,sha256=N2XY-DADYgxHvPsery5wg7K_m_S83o-HMR0LtHd4uHE,5844
|
106
106
|
hestia_earth/models/ecoinventV3AndEmberClimate/utils.py,sha256=AzslK6YB0jxVMLfkLVmhHpkM7mx639N0mIWbErD6GMw,1133
|
107
107
|
hestia_earth/models/edip2003/__init__.py,sha256=nyB0CI2gNmRAXj-203aJHQMmETYhcY-dHbMABOhJ7YI,409
|
108
108
|
hestia_earth/models/edip2003/ozoneDepletionPotential.py,sha256=YkBct4eDUidGukaVdd2iaEouq_FckuG8l_7pgBQgCBw,1033
|
109
109
|
hestia_earth/models/emepEea2019/__init__.py,sha256=l90-pWrqIzt1ap1WNk0gF4iZeF5_TSG62hE83bIi4rQ,412
|
110
|
-
hestia_earth/models/emepEea2019/co2ToAirFuelCombustion.py,sha256=
|
111
|
-
hestia_earth/models/emepEea2019/n2OToAirFuelCombustionDirect.py,sha256=
|
110
|
+
hestia_earth/models/emepEea2019/co2ToAirFuelCombustion.py,sha256=TPzbKxV-AZ9yx_tJNGhuNsfRJQNfH4a0JEtPGLKc-tA,1833
|
111
|
+
hestia_earth/models/emepEea2019/n2OToAirFuelCombustionDirect.py,sha256=y0N_GhixisN6ScfKCpahrZe2CWOwl9ayDesO_erXX68,1839
|
112
112
|
hestia_earth/models/emepEea2019/nh3ToAirExcreta.py,sha256=DssSjl_Kug9jE5laqJs9X4xOdOrJBnsXSnk-uA_anyE,2153
|
113
113
|
hestia_earth/models/emepEea2019/nh3ToAirInorganicFertiliser.py,sha256=7G0_S0G6X9slTykxs6CDb68DvtXB7yfq1iSKg0ReXS8,6036
|
114
|
-
hestia_earth/models/emepEea2019/noxToAirFuelCombustion.py,sha256=
|
114
|
+
hestia_earth/models/emepEea2019/noxToAirFuelCombustion.py,sha256=OlrCPBuOBGlvPh_ufO8fFzSvxvkJduX7tlqzEab6qzs,1833
|
115
115
|
hestia_earth/models/emepEea2019/pm10ToAirAnimalHousing.py,sha256=7LhOEQokWMWEPspYSQO3PtsmWkygbVAonj_Nq6JAL6c,1384
|
116
116
|
hestia_earth/models/emepEea2019/pm25ToAirAnimalHousing.py,sha256=IzGQrRv9Pk0o1Vq18HRWZ10jhmjFG59ijfn_VYAUJIA,1384
|
117
|
-
hestia_earth/models/emepEea2019/so2ToAirFuelCombustion.py,sha256=
|
117
|
+
hestia_earth/models/emepEea2019/so2ToAirFuelCombustion.py,sha256=OC53aE0uCmUxgZcqQjyhjjFPZ5U5Rdfv8l8wYihcYY4,1833
|
118
118
|
hestia_earth/models/emepEea2019/tspToAirAnimalHousing.py,sha256=TaT5GyYK6MyJQHKApBe-u4fMjqXXdmuBEtUcRYnkhac,1381
|
119
|
-
hestia_earth/models/emepEea2019/utils.py,sha256=
|
119
|
+
hestia_earth/models/emepEea2019/utils.py,sha256=YIHxVu4GwCbxBI5FzsmJ91itWNGx0vnBTCePSwlCnz8,5629
|
120
120
|
hestia_earth/models/emissionNotRelevant/__init__.py,sha256=yAunIZI_4nGV0khRiGhbZAmXmMiuICzEH-pvzWX1lpM,3000
|
121
121
|
hestia_earth/models/environmentalFootprintV3_1/__init__.py,sha256=tF2WrWiV1Wzi2vnRiNXdfPWfmVxgVu9w9-7eA6PA7-s,473
|
122
122
|
hestia_earth/models/environmentalFootprintV3_1/environmentalFootprintSingleOverallScore.py,sha256=tRx2rRlSDupAWTfB9MqvqwrUCWHy-r-3gHjbgVOYLTs,5239
|
@@ -205,7 +205,7 @@ hestia_earth/models/hestia/landTransformation100YearAverageDuringCycle.py,sha256
|
|
205
205
|
hestia_earth/models/hestia/landTransformation20YearAverageDuringCycle.py,sha256=1StzrYhMsX-hdwBTeLnLMZWl5EEnCoEYpGPRkqy8a-A,1016
|
206
206
|
hestia_earth/models/hestia/liveAnimal.py,sha256=95HfqgFA_qRhdIeR2X5MJ9zzIm4nMHDvJ0BCnuTYe5Q,3860
|
207
207
|
hestia_earth/models/hestia/longFallowRatio.py,sha256=LkJaER1VNDI5351-oC8tru-LgiPK3sNMg0NhB5ic9RE,1690
|
208
|
-
hestia_earth/models/hestia/management.py,sha256=
|
208
|
+
hestia_earth/models/hestia/management.py,sha256=TJRdiV5XQBtK3YBOZsC-Off-9RMYrvYgkzylpPVRizw,11281
|
209
209
|
hestia_earth/models/hestia/materialAndSubstrate.py,sha256=abmM_7FOY5yaNb2yZEm-ncI4wFFcbzaebtnG9XWEA6M,5130
|
210
210
|
hestia_earth/models/hestia/milkYield.py,sha256=__3AdxRTUTWwS_GsqxFpPGklmTnnpADiN0khlRCMAss,5541
|
211
211
|
hestia_earth/models/hestia/netPrimaryProduction.py,sha256=uU4AZ7X6tbtWgR5YClA_aLpYWtlivq9lPQGZgt3-qoQ,1856
|
@@ -444,7 +444,7 @@ hestia_earth/models/linkedImpactAssessment/utils.py,sha256=S1zlux02gU2Lajrtoq-zQ
|
|
444
444
|
hestia_earth/models/mocking/__init__.py,sha256=9VX50c-grz-snfd-7MBS0KfF7AadtbKuj7kK6PqtsgE,687
|
445
445
|
hestia_earth/models/mocking/build_mock_search.py,sha256=p15ccEUmkmLp1RiGNznxMz3OFHbI8P1-29ExuohiQN8,1355
|
446
446
|
hestia_earth/models/mocking/mock_search.py,sha256=ccFe_WrI73JElFmxp4hPNLCX7eeU--lBC1JFR901KJY,1069
|
447
|
-
hestia_earth/models/mocking/search-results.json,sha256=
|
447
|
+
hestia_earth/models/mocking/search-results.json,sha256=lb0aRVXU24w4ofPm58jtYWOzq32DTopjaUDnD0SeBDQ,162462
|
448
448
|
hestia_earth/models/pooreNemecek2018/__init__.py,sha256=nPboL7ULJzL5nJD5q7q9VOZt_fxbKVm8fmn1Az5YkVY,417
|
449
449
|
hestia_earth/models/pooreNemecek2018/aboveGroundCropResidueTotal.py,sha256=Qt-mel4dkhK6N5uUOutNOinCTFjbjtGzITaaI0LvYc4,2396
|
450
450
|
hestia_earth/models/pooreNemecek2018/belowGroundCropResidue.py,sha256=JT0RybbvWVlo01FO8K0Yj41HrEaJT3Kj1xfayr2X-xw,2315
|
@@ -591,7 +591,7 @@ hestia_earth/models/utils/animalProduct.py,sha256=M5IunAKGY6oZv3j1Ascl34ywyeLWAp
|
|
591
591
|
hestia_earth/models/utils/aquacultureManagement.py,sha256=dxrbC1Xf140cohxTbSw6TxLAnAASWTdNZwBBam4yQnw,171
|
592
592
|
hestia_earth/models/utils/array_builders.py,sha256=ko1pDZKaUudZqxOZ99vJamKAdoR6ND4ZmxVrYH6YjPc,19498
|
593
593
|
hestia_earth/models/utils/background_emissions.py,sha256=R0tCA63q1_2DaZ87oI7FFjZsxAZ4Zds3Rr4fDf9KhkM,1850
|
594
|
-
hestia_earth/models/utils/blank_node.py,sha256=
|
594
|
+
hestia_earth/models/utils/blank_node.py,sha256=zQhMFG4o7kUQY0J_7g84E8E1hwatSRZINTUb6fELB2s,56040
|
595
595
|
hestia_earth/models/utils/cache_sources.py,sha256=MBkrPpjwNiC4ApDjeYVHZjWBbpvAerXRDrMHpjasAZ0,377
|
596
596
|
hestia_earth/models/utils/completeness.py,sha256=iRG4uviOAQQ4T2Nr4LlelPVTS_F1felGZNJYxek_JG8,1239
|
597
597
|
hestia_earth/models/utils/constant.py,sha256=DmB3VVuoh7Pz2QDBJqiUG6yAML2i0fOy1BPuPHmhT1w,3442
|
@@ -743,16 +743,16 @@ tests/models/ecoalimV9/test_impact_assessment.py,sha256=9Br_jis2MT85kS1IvBfPE9x7
|
|
743
743
|
tests/models/edip2003/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
744
744
|
tests/models/edip2003/test_ozoneDepletionPotential.py,sha256=z0kimdTxzSr8_K5eScbkxq2SB9nbBp41IHqVNR4Nh4Y,688
|
745
745
|
tests/models/emepEea2019/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
746
|
-
tests/models/emepEea2019/test_co2ToAirFuelCombustion.py,sha256=
|
747
|
-
tests/models/emepEea2019/test_n2OToAirFuelCombustionDirect.py,sha256=
|
746
|
+
tests/models/emepEea2019/test_co2ToAirFuelCombustion.py,sha256=SrCx1-mW0s-flisF9Zf6W_A8VtJ67sWga8pGgS713b8,1135
|
747
|
+
tests/models/emepEea2019/test_n2OToAirFuelCombustionDirect.py,sha256=dTkrj2i5QibBuHaCgV8n2dB02y0nJAwhR35WcOquHOQ,1141
|
748
748
|
tests/models/emepEea2019/test_nh3ToAirExcreta.py,sha256=lTPftCJinvokmgUcUikl8hN_axFa8OyCTXvL0PaSRFg,1111
|
749
749
|
tests/models/emepEea2019/test_nh3ToAirInorganicFertiliser.py,sha256=f623Pp6XTt9YPDr2QymAJEQ_yfx0_TZGndmawD8ZX98,2134
|
750
|
-
tests/models/emepEea2019/test_noxToAirFuelCombustion.py,sha256=
|
750
|
+
tests/models/emepEea2019/test_noxToAirFuelCombustion.py,sha256=iFVQVYImXxB5JE8b38UAUG4q8grfbniZi1cWdLQoViE,1135
|
751
751
|
tests/models/emepEea2019/test_pm10ToAirAnimalHousing.py,sha256=xGlQeJkdP638zbHivxAqvliZCRpcogMFZYVCMWw6j3c,715
|
752
752
|
tests/models/emepEea2019/test_pm25ToAirAnimalHousing.py,sha256=cs3UaJ7ucCryOaQy0sbL9AiuC8l_N7uywmPZHcr3pC0,715
|
753
|
-
tests/models/emepEea2019/test_so2ToAirFuelCombustion.py,sha256=
|
753
|
+
tests/models/emepEea2019/test_so2ToAirFuelCombustion.py,sha256=RkC_ux5bxo6bIdcXIG_97uRstWXBnmZO3DOW4IfgRx0,1135
|
754
754
|
tests/models/emepEea2019/test_tspToAirAnimalHousing.py,sha256=4MNDsxIeUk5_3IvZwEZslxgoPNyQN9OQFDNY3uGNX6E,714
|
755
|
-
tests/models/emepEea2019/test_utils.py,sha256=
|
755
|
+
tests/models/emepEea2019/test_utils.py,sha256=MUIeHgcCHLhbYWgleKIiKqO2Q4RX321J53YpOt9cogA,7060
|
756
756
|
tests/models/environmentalFootprintV3_1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
757
757
|
tests/models/environmentalFootprintV3_1/test_environmentalFootprintSingleOverallScore.py,sha256=F4oz4UadhpBlyh4JvLPOWAxGSIKnJVTTDaSzOT3Ihgk,4909
|
758
758
|
tests/models/environmentalFootprintV3_1/test_freshwaterEcotoxicityPotentialCtue.py,sha256=WE-DcerljCjXMYE4f3Sv5ZCVHP0oTjbWkOGuvaa4p10,926
|
@@ -841,7 +841,7 @@ tests/models/hestia/test_landTransformation100YearAverageDuringCycle.py,sha256=3
|
|
841
841
|
tests/models/hestia/test_landTransformation20YearAverageDuringCycle.py,sha256=bUByojQuVeuCfko1_2YtNJi1PT9yktHlcbPi_p-MPvk,1001
|
842
842
|
tests/models/hestia/test_liveAnimal.py,sha256=3K9cL1fwr6LlBl1_D8zIaeCOuiExqkDEU7BXx1JK_dk,2139
|
843
843
|
tests/models/hestia/test_longFallowRatio.py,sha256=OVd6NByAXeCAOx9ux_m8IJwnEF-fqIaBOoKFSGWhyO0,1513
|
844
|
-
tests/models/hestia/test_management.py,sha256=
|
844
|
+
tests/models/hestia/test_management.py,sha256=p7j5ooACr0XBf2-hZWwwYE0-sfsoakIa2qKZhE32ZUQ,1800
|
845
845
|
tests/models/hestia/test_materialsAndSubstrate.py,sha256=szM6aBBc1_9MDQFM1-OiW4SOKvEIO6mYYEpjHB-wI9g,1430
|
846
846
|
tests/models/hestia/test_milkYield.py,sha256=m7SRiKb_u8SDF7Q5gX39AKr4bsrNqibXgMgzSmJJEPA,1778
|
847
847
|
tests/models/hestia/test_netPrimaryProduction.py,sha256=--q6NB90gmpeJNBR16l3AgBsXGXwww_d1vOcWiMa-k8,1110
|
@@ -1243,8 +1243,8 @@ tests/orchestrator/strategies/run/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeR
|
|
1243
1243
|
tests/orchestrator/strategies/run/test_add_blank_node_if_missing.py,sha256=K4xg4UAXfNhSaLyknKVPO7MGBF44Z_gD7CuZ_pe28gU,3512
|
1244
1244
|
tests/orchestrator/strategies/run/test_add_key_if_missing.py,sha256=hKwvk1ohcBVnQUCTiDhRW99J0xEa29BpwFi1KC0yWLE,329
|
1245
1245
|
tests/orchestrator/strategies/run/test_always.py,sha256=w5-Dhp6yLzgZGAeMRz3OrqZbbAed9gZ1O266a3z9k7w,134
|
1246
|
-
hestia_earth_models-0.70.
|
1247
|
-
hestia_earth_models-0.70.
|
1248
|
-
hestia_earth_models-0.70.
|
1249
|
-
hestia_earth_models-0.70.
|
1250
|
-
hestia_earth_models-0.70.
|
1246
|
+
hestia_earth_models-0.70.6.dist-info/LICENSE,sha256=TD25LoiRJsA5CPUNrcyt1PXlGcbUGFMAeZoBcfCrCNE,1154
|
1247
|
+
hestia_earth_models-0.70.6.dist-info/METADATA,sha256=UeHwB1HpSIPArmEhOgJPi80K2xc9CP3Ux_fDfaJ617w,4045
|
1248
|
+
hestia_earth_models-0.70.6.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
1249
|
+
hestia_earth_models-0.70.6.dist-info/top_level.txt,sha256=1dqA9TqpOLTEgpqa-YBsmbCmmNU1y56AtfFGEceZ2A0,19
|
1250
|
+
hestia_earth_models-0.70.6.dist-info/RECORD,,
|
@@ -2,26 +2,13 @@ from unittest.mock import patch
|
|
2
2
|
import json
|
3
3
|
from tests.utils import fixtures_path, fake_new_emission
|
4
4
|
|
5
|
-
from hestia_earth.models.emepEea2019.co2ToAirFuelCombustion import MODEL, TERM_ID, run
|
5
|
+
from hestia_earth.models.emepEea2019.co2ToAirFuelCombustion import MODEL, TERM_ID, run
|
6
6
|
|
7
7
|
class_path = f"hestia_earth.models.{MODEL}.{TERM_ID}"
|
8
8
|
model_utils_path = f"hestia_earth.models.{MODEL}.utils"
|
9
9
|
fixtures_folder = f"{fixtures_path}/{MODEL}/{TERM_ID}"
|
10
10
|
|
11
11
|
|
12
|
-
@patch(f"{class_path}.get_fuel_values")
|
13
|
-
def test_should_run(mock_get_fuel_values):
|
14
|
-
# no fuel values => no run
|
15
|
-
mock_get_fuel_values.return_value = []
|
16
|
-
should_run, *args = _should_run({})
|
17
|
-
assert not should_run
|
18
|
-
|
19
|
-
# with fuel values => run
|
20
|
-
mock_get_fuel_values.return_value = [0]
|
21
|
-
should_run, *args = _should_run({})
|
22
|
-
assert should_run is True
|
23
|
-
|
24
|
-
|
25
12
|
@patch(f"{model_utils_path}._new_emission", side_effect=fake_new_emission)
|
26
13
|
def test_run(*args):
|
27
14
|
with open(f"{fixtures_folder}/cycle.jsonld", encoding='utf-8') as f:
|
@@ -2,26 +2,13 @@ from unittest.mock import patch
|
|
2
2
|
import json
|
3
3
|
from tests.utils import fixtures_path, fake_new_emission
|
4
4
|
|
5
|
-
from hestia_earth.models.emepEea2019.n2OToAirFuelCombustionDirect import MODEL, TERM_ID, run
|
5
|
+
from hestia_earth.models.emepEea2019.n2OToAirFuelCombustionDirect import MODEL, TERM_ID, run
|
6
6
|
|
7
7
|
class_path = f"hestia_earth.models.{MODEL}.{TERM_ID}"
|
8
8
|
model_utils_path = f"hestia_earth.models.{MODEL}.utils"
|
9
9
|
fixtures_folder = f"{fixtures_path}/{MODEL}/{TERM_ID}"
|
10
10
|
|
11
11
|
|
12
|
-
@patch(f"{class_path}.get_fuel_values")
|
13
|
-
def test_should_run(mock_get_fuel_values):
|
14
|
-
# no fuel values => no run
|
15
|
-
mock_get_fuel_values.return_value = []
|
16
|
-
should_run, *args = _should_run({})
|
17
|
-
assert not should_run
|
18
|
-
|
19
|
-
# with fuel values => run
|
20
|
-
mock_get_fuel_values.return_value = [0]
|
21
|
-
should_run, *args = _should_run({})
|
22
|
-
assert should_run is True
|
23
|
-
|
24
|
-
|
25
12
|
@patch(f"{model_utils_path}._new_emission", side_effect=fake_new_emission)
|
26
13
|
def test_run(*args):
|
27
14
|
with open(f"{fixtures_folder}/cycle.jsonld", encoding='utf-8') as f:
|
@@ -2,26 +2,13 @@ from unittest.mock import patch
|
|
2
2
|
import json
|
3
3
|
from tests.utils import fixtures_path, fake_new_emission
|
4
4
|
|
5
|
-
from hestia_earth.models.emepEea2019.noxToAirFuelCombustion import MODEL, TERM_ID, run
|
5
|
+
from hestia_earth.models.emepEea2019.noxToAirFuelCombustion import MODEL, TERM_ID, run
|
6
6
|
|
7
7
|
class_path = f"hestia_earth.models.{MODEL}.{TERM_ID}"
|
8
8
|
model_utils_path = f"hestia_earth.models.{MODEL}.utils"
|
9
9
|
fixtures_folder = f"{fixtures_path}/{MODEL}/{TERM_ID}"
|
10
10
|
|
11
11
|
|
12
|
-
@patch(f"{class_path}.get_fuel_values")
|
13
|
-
def test_should_run(mock_get_fuel_values):
|
14
|
-
# no fuel values => no run
|
15
|
-
mock_get_fuel_values.return_value = []
|
16
|
-
should_run, *args = _should_run({})
|
17
|
-
assert not should_run
|
18
|
-
|
19
|
-
# with fuel values => run
|
20
|
-
mock_get_fuel_values.return_value = [0]
|
21
|
-
should_run, *args = _should_run({})
|
22
|
-
assert should_run is True
|
23
|
-
|
24
|
-
|
25
12
|
@patch(f"{model_utils_path}._new_emission", side_effect=fake_new_emission)
|
26
13
|
def test_run(*args):
|
27
14
|
with open(f"{fixtures_folder}/cycle.jsonld", encoding='utf-8') as f:
|
@@ -2,26 +2,13 @@ from unittest.mock import patch
|
|
2
2
|
import json
|
3
3
|
from tests.utils import fixtures_path, fake_new_emission
|
4
4
|
|
5
|
-
from hestia_earth.models.emepEea2019.so2ToAirFuelCombustion import MODEL, TERM_ID, run
|
5
|
+
from hestia_earth.models.emepEea2019.so2ToAirFuelCombustion import MODEL, TERM_ID, run
|
6
6
|
|
7
7
|
class_path = f"hestia_earth.models.{MODEL}.{TERM_ID}"
|
8
8
|
model_utils_path = f"hestia_earth.models.{MODEL}.utils"
|
9
9
|
fixtures_folder = f"{fixtures_path}/{MODEL}/{TERM_ID}"
|
10
10
|
|
11
11
|
|
12
|
-
@patch(f"{class_path}.get_fuel_values")
|
13
|
-
def test_should_run(mock_get_fuel_values):
|
14
|
-
# no fuel values => no run
|
15
|
-
mock_get_fuel_values.return_value = []
|
16
|
-
should_run, *args = _should_run({})
|
17
|
-
assert not should_run
|
18
|
-
|
19
|
-
# with fuel values => run
|
20
|
-
mock_get_fuel_values.return_value = [0]
|
21
|
-
should_run, *args = _should_run({})
|
22
|
-
assert should_run is True
|
23
|
-
|
24
|
-
|
25
12
|
@patch(f"{model_utils_path}._new_emission", side_effect=fake_new_emission)
|
26
13
|
def test_run(*args):
|
27
14
|
with open(f"{fixtures_folder}/cycle.jsonld", encoding='utf-8') as f:
|
@@ -1,8 +1,6 @@
|
|
1
|
-
from unittest.mock import patch
|
2
|
-
|
3
1
|
import pytest
|
4
2
|
|
5
|
-
from hestia_earth.models.emepEea2019.utils import
|
3
|
+
from hestia_earth.models.emepEea2019.utils import should_run_animal, _duration_in_housing
|
6
4
|
|
7
5
|
class_path = 'hestia_earth.models.emepEea2019.utils'
|
8
6
|
TERMS = [
|
@@ -11,52 +9,6 @@ TERMS = [
|
|
11
9
|
]
|
12
10
|
|
13
11
|
|
14
|
-
@patch(f"{class_path}._is_term_type_complete", return_value=True)
|
15
|
-
def test_get_fuel_values_no_inputs_complete(*args):
|
16
|
-
cycle = {'@type': 'Cycle', 'inputs': []}
|
17
|
-
assert get_fuel_values('co2ToAirFuelCombustion', cycle, '') == [0]
|
18
|
-
|
19
|
-
|
20
|
-
@patch(f"{class_path}._is_term_type_complete", return_value=False)
|
21
|
-
def test_get_fuel_values_no_inputs_incomplete(*args):
|
22
|
-
cycle = {'@type': 'Cycle', 'inputs': []}
|
23
|
-
assert get_fuel_values('co2ToAirFuelCombustion', cycle, '') == []
|
24
|
-
|
25
|
-
cycle = {'@type': 'Transformation', 'inputs': []}
|
26
|
-
assert get_fuel_values('co2ToAirFuelCombustion', cycle, '') == []
|
27
|
-
|
28
|
-
|
29
|
-
def test_get_fuel_values(*args):
|
30
|
-
cycle = {
|
31
|
-
'@type': 'Cycle',
|
32
|
-
'inputs': [
|
33
|
-
{
|
34
|
-
'term': {'@id': 'diesel', 'termType': 'fuel'},
|
35
|
-
'value': [100]
|
36
|
-
},
|
37
|
-
{
|
38
|
-
|
39
|
-
'term': {'@id': 'diesel', 'termType': 'fuel'},
|
40
|
-
'operation': {'@id': 'crushingWoodMachineUnspecified', 'termType': 'operation'},
|
41
|
-
'value': [200]
|
42
|
-
},
|
43
|
-
{
|
44
|
-
|
45
|
-
'term': {'@id': 'diesel', 'termType': 'fuel'},
|
46
|
-
'operation': {'@id': 'helicopterUseOperationUnspecified', 'termType': 'operation'},
|
47
|
-
'value': [150]
|
48
|
-
},
|
49
|
-
{
|
50
|
-
'term': {'@id': 'marineGasOil', 'termType': 'fuel'},
|
51
|
-
'operation': {'@id': 'crushingWoodMachineUnspecified', 'termType': 'operation'},
|
52
|
-
'value': [50]
|
53
|
-
}
|
54
|
-
]
|
55
|
-
}
|
56
|
-
result = get_fuel_values('co2ToAirFuelCombustion', cycle, 'co2ToAirFuelCombustionEmepEea2019')
|
57
|
-
assert result == [317.0, 632.0, 475.5, 158.5]
|
58
|
-
|
59
|
-
|
60
12
|
@pytest.mark.parametrize(
|
61
13
|
"test_name,cycle,expected_duration",
|
62
14
|
[
|
@@ -13,7 +13,8 @@ fixtures_folder = os.path.join(fixtures_path, MODEL, MODEL_KEY)
|
|
13
13
|
_LAND_COVER_TERM_BY_SITE_TYPE = {
|
14
14
|
SiteSiteType.ANIMAL_HOUSING.value: "animalHousing",
|
15
15
|
SiteSiteType.CROPLAND.value: "cropland",
|
16
|
-
SiteSiteType.AGRI_FOOD_PROCESSOR.value: "agriFoodProcessor"
|
16
|
+
SiteSiteType.AGRI_FOOD_PROCESSOR.value: "agriFoodProcessor",
|
17
|
+
SiteSiteType.PERMANENT_PASTURE.value: "permanentPasture"
|
17
18
|
}
|
18
19
|
_folders = [d for d in os.listdir(fixtures_folder) if os.path.isdir(os.path.join(fixtures_folder, d))]
|
19
20
|
|
File without changes
|
File without changes
|
File without changes
|