hestia-earth-models 0.51.0__py3-none-any.whl → 0.51.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of hestia-earth-models might be problematic. Click here for more details.
- hestia_earth/models/agribalyse2016/machineryInfrastructureDepreciatedAmountPerCycle.py +14 -5
- hestia_earth/models/emepEea2019/co2ToAirFuelCombustion.py +5 -2
- hestia_earth/models/emepEea2019/n2OToAirFuelCombustionDirect.py +5 -2
- hestia_earth/models/emepEea2019/nh3ToAirExcreta.py +6 -2
- hestia_earth/models/emepEea2019/noxToAirFuelCombustion.py +5 -2
- hestia_earth/models/emepEea2019/so2ToAirFuelCombustion.py +5 -2
- hestia_earth/models/emepEea2019/utils.py +22 -3
- hestia_earth/models/geospatialDatabase/aware.py +5 -4
- hestia_earth/models/geospatialDatabase/ecoregion.py +5 -4
- hestia_earth/models/geospatialDatabase/region.py +7 -11
- hestia_earth/models/geospatialDatabase/utils.py +39 -25
- hestia_earth/models/geospatialDatabase/waterDepth.py +5 -4
- hestia_earth/models/impact_assessment/__init__.py +3 -3
- hestia_earth/models/ipcc2019/croppingDuration.py +1 -1
- hestia_earth/models/ipcc2019/n2OToAirInorganicFertiliserIndirect.py +106 -0
- hestia_earth/models/ipcc2019/n2OToAirOrganicFertiliserIndirect.py +108 -0
- hestia_earth/models/ipcc2019/utils.py +37 -0
- hestia_earth/models/jarvisAndPain1994/__init__.py +13 -0
- hestia_earth/models/jarvisAndPain1994/n2ToAirExcreta.py +53 -0
- hestia_earth/models/koble2014/aboveGroundCropResidue.py +44 -21
- hestia_earth/models/koble2014/utils.py +5 -1
- hestia_earth/models/mocking/search-results.json +298 -261
- hestia_earth/models/pooreNemecek2018/aboveGroundCropResidueTotal.py +15 -8
- hestia_earth/models/schmidt2007/__init__.py +13 -0
- hestia_earth/models/schmidt2007/ch4ToAirWasteTreatment.py +60 -0
- hestia_earth/models/schmidt2007/utils.py +16 -0
- hestia_earth/models/utils/term.py +6 -0
- hestia_earth/models/version.py +1 -1
- {hestia_earth_models-0.51.0.dist-info → hestia_earth_models-0.51.1.dist-info}/METADATA +1 -1
- {hestia_earth_models-0.51.0.dist-info → hestia_earth_models-0.51.1.dist-info}/RECORD +44 -30
- tests/models/emepEea2019/test_utils.py +17 -3
- tests/models/geospatialDatabase/test_region.py +4 -5
- tests/models/geospatialDatabase/test_utils.py +10 -1
- tests/models/ipcc2019/test_n2OToAirInorganicFertiliserIndirect.py +48 -0
- tests/models/ipcc2019/test_n2OToAirOrganicFertiliserIndirect.py +48 -0
- tests/models/jarvisAndPain1994/__init__.py +0 -0
- tests/models/jarvisAndPain1994/test_n2ToAirExcreta.py +37 -0
- tests/models/koble2014/test_aboveGroundCropResidue.py +13 -0
- tests/models/schmidt2007/__init__.py +0 -0
- tests/models/schmidt2007/test_ch4ToAirWasteTreatment.py +45 -0
- tests/models/schmidt2007/test_utils.py +39 -0
- {hestia_earth_models-0.51.0.dist-info → hestia_earth_models-0.51.1.dist-info}/LICENSE +0 -0
- {hestia_earth_models-0.51.0.dist-info → hestia_earth_models-0.51.1.dist-info}/WHEEL +0 -0
- {hestia_earth_models-0.51.0.dist-info → hestia_earth_models-0.51.1.dist-info}/top_level.txt +0 -0
|
@@ -2,7 +2,7 @@ from hestia_earth.schema import ProductStatsDefinition, TermTermType
|
|
|
2
2
|
from hestia_earth.utils.model import filter_list_term_type
|
|
3
3
|
from hestia_earth.utils.tools import list_sum, safe_parse_float
|
|
4
4
|
|
|
5
|
-
from hestia_earth.models.log import logRequirements, logShouldRun
|
|
5
|
+
from hestia_earth.models.log import logRequirements, logShouldRun, log_as_table
|
|
6
6
|
from hestia_earth.models.utils.completeness import _is_term_type_incomplete
|
|
7
7
|
from hestia_earth.models.utils.product import _new_product
|
|
8
8
|
from hestia_earth.models.utils.crop import get_crop_lookup_value
|
|
@@ -41,20 +41,27 @@ def _run(product: dict):
|
|
|
41
41
|
return [_product(value)]
|
|
42
42
|
|
|
43
43
|
|
|
44
|
-
def _should_run_product(product: dict):
|
|
45
|
-
value = list_sum(product.get('value', [0]))
|
|
46
|
-
lookup_value = _get_lookup_value(product)
|
|
47
|
-
return value > 0 and lookup_value is not None
|
|
48
|
-
|
|
49
|
-
|
|
50
44
|
def _should_run(cycle: dict):
|
|
51
45
|
# filter crop products with matching data in the lookup
|
|
52
46
|
products = filter_list_term_type(cycle.get('products', []), TermTermType.CROP)
|
|
53
|
-
|
|
47
|
+
product_values = [
|
|
48
|
+
(product, list_sum(product.get('value', [0])), _get_lookup_value(product)) for product in products
|
|
49
|
+
]
|
|
50
|
+
product_logs = log_as_table([
|
|
51
|
+
{
|
|
52
|
+
'id': product.get('term', {}).get('@id'),
|
|
53
|
+
'value': value,
|
|
54
|
+
'lookup': lookup_value
|
|
55
|
+
} for product, value, lookup_value in product_values
|
|
56
|
+
])
|
|
57
|
+
products = [
|
|
58
|
+
product for product, value, lookup_value in product_values if all([value > 0, lookup_value is not None])
|
|
59
|
+
]
|
|
54
60
|
single_crop_product = len(products) == 1
|
|
55
61
|
term_type_incomplete = _is_term_type_incomplete(cycle, TERM_ID)
|
|
56
62
|
|
|
57
63
|
logRequirements(cycle, model=MODEL, term=TERM_ID,
|
|
64
|
+
product_details=product_logs,
|
|
58
65
|
single_crop_product=single_crop_product,
|
|
59
66
|
term_type_cropResidue_incomplete=term_type_incomplete)
|
|
60
67
|
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
from os.path import dirname, abspath
|
|
2
|
+
import sys
|
|
3
|
+
from importlib import import_module
|
|
4
|
+
|
|
5
|
+
from hestia_earth.models.utils.blank_node import run_if_required
|
|
6
|
+
|
|
7
|
+
CURRENT_DIR = dirname(abspath(__file__)) + '/'
|
|
8
|
+
sys.path.append(CURRENT_DIR)
|
|
9
|
+
MODEL = 'schmidt2007'
|
|
10
|
+
PKG = '.'.join(['hestia_earth', 'models', MODEL])
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def run(model: str, data): return run_if_required(MODEL, model, data, import_module(f".{model}", package=PKG))
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
from hestia_earth.schema import EmissionMethodTier, EmissionStatsDefinition
|
|
2
|
+
from hestia_earth.utils.tools import list_sum
|
|
3
|
+
|
|
4
|
+
from hestia_earth.models.log import logRequirements, logShouldRun
|
|
5
|
+
from hestia_earth.models.utils.emission import _new_emission
|
|
6
|
+
from .utils import get_waste_values
|
|
7
|
+
from . import MODEL
|
|
8
|
+
|
|
9
|
+
REQUIREMENTS = {
|
|
10
|
+
"Cycle": {
|
|
11
|
+
"or": {
|
|
12
|
+
"product": [
|
|
13
|
+
{"@type": "Product", "value": "", "term.termType": "waste"}
|
|
14
|
+
],
|
|
15
|
+
"completeness.waste": ""
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
RETURNS = {
|
|
20
|
+
"Emission": [{
|
|
21
|
+
"value": "",
|
|
22
|
+
"methodTier": "tier 1",
|
|
23
|
+
"statsDefinition": "modelled"
|
|
24
|
+
}]
|
|
25
|
+
}
|
|
26
|
+
LOOKUPS = {
|
|
27
|
+
"waste": "ch4EfSchmidt2007"
|
|
28
|
+
}
|
|
29
|
+
TERM_ID = 'ch4ToAirWasteTreatment'
|
|
30
|
+
TIER = EmissionMethodTier.TIER_1.value
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def _emission(value: float):
|
|
34
|
+
emission = _new_emission(TERM_ID, MODEL)
|
|
35
|
+
emission['value'] = [value]
|
|
36
|
+
emission['methodTier'] = TIER
|
|
37
|
+
emission['statsDefinition'] = EmissionStatsDefinition.MODELLED.value
|
|
38
|
+
return emission
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def _run(waste_values: list):
|
|
42
|
+
value = list_sum(waste_values)
|
|
43
|
+
return [_emission(value)]
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
def _should_run(cycle: dict):
|
|
47
|
+
waste_values = get_waste_values(TERM_ID, cycle, LOOKUPS['waste'])
|
|
48
|
+
has_waste = len(waste_values) > 0
|
|
49
|
+
|
|
50
|
+
logRequirements(cycle, model=MODEL, term=TERM_ID,
|
|
51
|
+
has_waste=has_waste)
|
|
52
|
+
|
|
53
|
+
should_run = any([has_waste])
|
|
54
|
+
logShouldRun(cycle, MODEL, TERM_ID, should_run, methodTier=TIER)
|
|
55
|
+
return should_run, waste_values
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
def run(cycle: dict):
|
|
59
|
+
should_run, waste_values = _should_run(cycle)
|
|
60
|
+
return _run(waste_values) if should_run else []
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from hestia_earth.schema import NodeType, TermTermType
|
|
2
|
+
from hestia_earth.utils.model import filter_list_term_type
|
|
3
|
+
from hestia_earth.utils.tools import non_empty_list
|
|
4
|
+
|
|
5
|
+
from hestia_earth.models.utils.completeness import _is_term_type_complete
|
|
6
|
+
from hestia_earth.models.utils.lookup import factor_value
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def get_waste_values(term_id: str, cycle: dict, lookup_col: str):
|
|
10
|
+
products = filter_list_term_type(cycle.get('products', []), TermTermType.WASTE)
|
|
11
|
+
values = non_empty_list(map(factor_value(None, term_id, f"{TermTermType.WASTE.value}.csv", lookup_col), products))
|
|
12
|
+
return [0] if all([
|
|
13
|
+
len(values) == 0,
|
|
14
|
+
_is_term_type_complete(cycle, {'termType': 'waste'}),
|
|
15
|
+
cycle.get('@type', cycle.get('type')) == NodeType.CYCLE.value # ignore adding 0 value for Transformation
|
|
16
|
+
]) else values
|
|
@@ -23,6 +23,7 @@ def get_liquid_fuel_terms():
|
|
|
23
23
|
"""
|
|
24
24
|
Find all "liquid" `fuel` terms from the Glossary:
|
|
25
25
|
- https://hestia.earth/glossary?termType=fuel&query=gasoline
|
|
26
|
+
- https://hestia.earth/glossary?termType=fuel&query=petrol
|
|
26
27
|
- https://hestia.earth/glossary?termType=fuel&query=diesel
|
|
27
28
|
|
|
28
29
|
Returns
|
|
@@ -50,6 +51,11 @@ def get_liquid_fuel_terms():
|
|
|
50
51
|
"name": "gasoline*"
|
|
51
52
|
}
|
|
52
53
|
},
|
|
54
|
+
{
|
|
55
|
+
"regexp": {
|
|
56
|
+
"name": "petrol*"
|
|
57
|
+
}
|
|
58
|
+
},
|
|
53
59
|
{
|
|
54
60
|
"regexp": {
|
|
55
61
|
"name": "diesel*"
|
hestia_earth/models/version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
VERSION = '0.51.
|
|
1
|
+
VERSION = '0.51.1'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: hestia-earth-models
|
|
3
|
-
Version: 0.51.
|
|
3
|
+
Version: 0.51.1
|
|
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
|
|
@@ -2,10 +2,10 @@ 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/log.py,sha256=kPLBOABkSiiAaPejXYvDJ9g6RbaXQXgtOZP2x9v_FwA,3008
|
|
4
4
|
hestia_earth/models/requirements.py,sha256=znNZJAhwX2iYiKcAQXPftY7z_1MsNa0QxCXkXyHm_U0,17363
|
|
5
|
-
hestia_earth/models/version.py,sha256=
|
|
5
|
+
hestia_earth/models/version.py,sha256=fRAhsretJm4iLEtE8CfsBZQk5ipiQBc4ay4SR7y7jKc,19
|
|
6
6
|
hestia_earth/models/agribalyse2016/__init__.py,sha256=WvK0qCQbnYtg9oZxrACd1wGormZyXibPtpCnIQeDqbw,415
|
|
7
7
|
hestia_earth/models/agribalyse2016/fuelElectricity.py,sha256=ORPd1nWPgKZAF0wtQ9M4ll8bKHElLMExWOdguEYPTaw,4532
|
|
8
|
-
hestia_earth/models/agribalyse2016/machineryInfrastructureDepreciatedAmountPerCycle.py,sha256=
|
|
8
|
+
hestia_earth/models/agribalyse2016/machineryInfrastructureDepreciatedAmountPerCycle.py,sha256=RjKJM64lHqTZ8L8K8ZftIhW2pOoWPjLIU4Xl1iqf8bw,3800
|
|
9
9
|
hestia_earth/models/akagiEtAl2011AndIpcc2006/__init__.py,sha256=WK7xQwUPX48JGqZeb2S2EKdtXuxMjY7HYyUFHItUqUo,425
|
|
10
10
|
hestia_earth/models/akagiEtAl2011AndIpcc2006/ch4ToAirCropResidueBurning.py,sha256=JUTkKB9EclLu7OkVQm2tTZpZF5vTTZl4HogaH_S4qrs,1779
|
|
11
11
|
hestia_earth/models/akagiEtAl2011AndIpcc2006/n2OToAirCropResidueBurningDirect.py,sha256=3LbL2CgE-SQM1VYpQYh3jqJ5pHTPsvRPFq-zN9251eE,1785
|
|
@@ -92,13 +92,13 @@ hestia_earth/models/data/ecoinventV3/__init__.py,sha256=oevyurRuioXy_CsQCtG-S_FX
|
|
|
92
92
|
hestia_earth/models/deRuijterEtAl2010/__init__.py,sha256=lbH6mB98dmZZlwdZctNYtEmVwAow957l80Dv7JSPDsI,418
|
|
93
93
|
hestia_earth/models/deRuijterEtAl2010/nh3ToAirCropResidueDecomposition.py,sha256=iFxOC7busuhdO2UOto49r-LeWzzFiYQPavMiflY00bU,3448
|
|
94
94
|
hestia_earth/models/emepEea2019/__init__.py,sha256=l90-pWrqIzt1ap1WNk0gF4iZeF5_TSG62hE83bIi4rQ,412
|
|
95
|
-
hestia_earth/models/emepEea2019/co2ToAirFuelCombustion.py,sha256=
|
|
96
|
-
hestia_earth/models/emepEea2019/n2OToAirFuelCombustionDirect.py,sha256=
|
|
97
|
-
hestia_earth/models/emepEea2019/nh3ToAirExcreta.py,sha256=
|
|
95
|
+
hestia_earth/models/emepEea2019/co2ToAirFuelCombustion.py,sha256=ULOUte7_o1vLKDQD2sq56B9MEzOL9r7Ib2j0g30DKHE,1746
|
|
96
|
+
hestia_earth/models/emepEea2019/n2OToAirFuelCombustionDirect.py,sha256=DTpvSamSWaJy6uTn3iqk5rgvUw8qUJ527fsyTzDlzW8,1753
|
|
97
|
+
hestia_earth/models/emepEea2019/nh3ToAirExcreta.py,sha256=EvvNA3Qme1PHnRMT2JcokEPebu_--BZ8HqmYW3hHXoM,3879
|
|
98
98
|
hestia_earth/models/emepEea2019/nh3ToAirInorganicFertiliser.py,sha256=GxIBiz1l5nyTd4_2txbQSsZPg_PJ9f9jlzCSHZwT6gI,6396
|
|
99
|
-
hestia_earth/models/emepEea2019/noxToAirFuelCombustion.py,sha256=
|
|
100
|
-
hestia_earth/models/emepEea2019/so2ToAirFuelCombustion.py,sha256
|
|
101
|
-
hestia_earth/models/emepEea2019/utils.py,sha256=
|
|
99
|
+
hestia_earth/models/emepEea2019/noxToAirFuelCombustion.py,sha256=3QFuWaRyvsIZC7Kd8L3sFNb081Zy3z1hnujNn0lPFP0,1746
|
|
100
|
+
hestia_earth/models/emepEea2019/so2ToAirFuelCombustion.py,sha256=Xg_z3xJkM2vfZzTXZck6F5DUvW6imDeHCksI_yJz1to,1746
|
|
101
|
+
hestia_earth/models/emepEea2019/utils.py,sha256=rwjH1ezlEdZ2GpVSN0fXItQ_0rgETXxzCtacfnZRCAg,1537
|
|
102
102
|
hestia_earth/models/emissionNotRelevant/__init__.py,sha256=nIuPIkQR1ghv_T_Ab4Ckq5wmGdWVmgbaOjhtKfIJ-WE,2183
|
|
103
103
|
hestia_earth/models/environmentalFootprintV3/__init__.py,sha256=lzg9qccwd9tbspw0lQ58YPprnvvSLTn3QV5T2-tPcC4,425
|
|
104
104
|
hestia_earth/models/environmentalFootprintV3/freshwaterEcotoxicityPotentialCtue.py,sha256=E7xplLzmYxZOSAiHPWbuDJlQxLtftw8Cojry_eS-FLE,912
|
|
@@ -116,12 +116,12 @@ hestia_earth/models/faostat2018/utils.py,sha256=Uc8KXYIwwS0YJjA16jm3_v1DHQaIQg8_
|
|
|
116
116
|
hestia_earth/models/faostat2018/product/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
117
117
|
hestia_earth/models/faostat2018/product/price.py,sha256=vE3rtICxjYqnQdYiUNuR0gyjbVjDuCGqrARUT1HILEA,8058
|
|
118
118
|
hestia_earth/models/geospatialDatabase/__init__.py,sha256=2Eh6-hjX812Uuf8nxYnC50uXE6uv_8ofFK8iVMwihXA,419
|
|
119
|
-
hestia_earth/models/geospatialDatabase/aware.py,sha256=
|
|
119
|
+
hestia_earth/models/geospatialDatabase/aware.py,sha256=eyWhTuDaXbJqsGMbHMLBf_7CaV21w2pay3c4eC5JAc0,1377
|
|
120
120
|
hestia_earth/models/geospatialDatabase/clayContent.py,sha256=SAlHW1TMhOz9S4iUASlC9htuSlydINgk22hXW-v4UDU,2286
|
|
121
121
|
hestia_earth/models/geospatialDatabase/croppingIntensity.py,sha256=x2uPKe44w-vgyWcx_pZiK_MEOan9WWlxSuhsysGC8rg,2011
|
|
122
122
|
hestia_earth/models/geospatialDatabase/drainageClass.py,sha256=XnzamiydO3Xk1eJo8d2ddqz23AX-78kE0sOT8Gg9HnM,2117
|
|
123
123
|
hestia_earth/models/geospatialDatabase/ecoClimateZone.py,sha256=Go447ubRKm5SiPeinwgMiJ7LKO5_NHV_n6LLosBS8FI,3847
|
|
124
|
-
hestia_earth/models/geospatialDatabase/ecoregion.py,sha256=
|
|
124
|
+
hestia_earth/models/geospatialDatabase/ecoregion.py,sha256=Ro8AXoRkGt8v6FxMdzFsSEU7rEX0oPBSicXr8PHmqvI,1613
|
|
125
125
|
hestia_earth/models/geospatialDatabase/erodibility.py,sha256=kTYRrqG7G9qaGkSEewyc0Zv_JVsqs404Vz3B7zl_Kaw,2071
|
|
126
126
|
hestia_earth/models/geospatialDatabase/heavyWinterPrecipitation.py,sha256=DTBYosgttThxzRvuEdoH-9qnFRak-NYAMkojhIN8_NY,2168
|
|
127
127
|
hestia_earth/models/geospatialDatabase/histosol.py,sha256=99u2Dd2kgXUmgCZ-1L24CZYT8o2kXN-EgL5O3yXVnkc,2486
|
|
@@ -132,7 +132,7 @@ hestia_earth/models/geospatialDatabase/potentialEvapotranspirationAnnual.py,sha2
|
|
|
132
132
|
hestia_earth/models/geospatialDatabase/potentialEvapotranspirationLongTermAnnualMean.py,sha256=ak6iiDS7Ww_eWeLI0msirMi0Yk6cCbyc52hX30wmOGQ,2375
|
|
133
133
|
hestia_earth/models/geospatialDatabase/precipitationAnnual.py,sha256=uGtwEDDzUE4fDR9aA9OjzKWkUBXjubxFS5Nd6bGKTzg,3543
|
|
134
134
|
hestia_earth/models/geospatialDatabase/precipitationLongTermAnnualMean.py,sha256=s52m8Fhm3yQbYaHYyIRqyqLSB9yqV6oVz1jD2dtAhHA,2542
|
|
135
|
-
hestia_earth/models/geospatialDatabase/region.py,sha256=
|
|
135
|
+
hestia_earth/models/geospatialDatabase/region.py,sha256=_ygDmdzg_6p-Q_6-3gBQGA7oXUjN_-CLC43tZZw9hNo,1820
|
|
136
136
|
hestia_earth/models/geospatialDatabase/sandContent.py,sha256=6eH0WcQReUyHySf6AHVBwwgCHC3gYdTV7ZoAxBI_Zdo,2286
|
|
137
137
|
hestia_earth/models/geospatialDatabase/siltContent.py,sha256=min1ig_H2tgagNUOuMf_iH3NGhtT5v1vL36SA5ppYt4,2208
|
|
138
138
|
hestia_earth/models/geospatialDatabase/slope.py,sha256=eZkFFdqvwZ11nl3WzRlCOdR171OQPyHHiCCo0esIJcQ,2087
|
|
@@ -142,8 +142,8 @@ hestia_earth/models/geospatialDatabase/temperatureAnnual.py,sha256=cWFqmGLZNPdQa
|
|
|
142
142
|
hestia_earth/models/geospatialDatabase/temperatureLongTermAnnualMean.py,sha256=lHYKGV6IasvyUbhWjaWODzHvxuP5broOY3sAv5Ry1ZY,2417
|
|
143
143
|
hestia_earth/models/geospatialDatabase/totalNitrogenPerKgSoil.py,sha256=9GQT8Q1ci9n1IIpIMYETdEoJe33ax0qwgXJTsVTGvT4,2237
|
|
144
144
|
hestia_earth/models/geospatialDatabase/totalPhosphorusPerKgSoil.py,sha256=4eWK4zBmHbAL1cFZlo7qLXKMF0E_K2sdF69EZa0CTDY,2226
|
|
145
|
-
hestia_earth/models/geospatialDatabase/utils.py,sha256=
|
|
146
|
-
hestia_earth/models/geospatialDatabase/waterDepth.py,sha256=
|
|
145
|
+
hestia_earth/models/geospatialDatabase/utils.py,sha256=Xo-LlF1xrudiWkcE08RYRmICQLi0yW-Wdol2qujgQ-E,7240
|
|
146
|
+
hestia_earth/models/geospatialDatabase/waterDepth.py,sha256=4syF-tQQAd2ygOrZmbe2lncCEpRvDU32HlueFqYE7kI,1958
|
|
147
147
|
hestia_earth/models/globalCropWaterModel2008/__init__.py,sha256=vQxexzFCl2Uv2RiIJfcppkRi9RgzBsJ68yhVDK4GvAU,425
|
|
148
148
|
hestia_earth/models/globalCropWaterModel2008/rootingDepth.py,sha256=k6UeqX-JyXKdB6qcEzKUl2UzSOlX8sH1nnPf9LhtKWY,4254
|
|
149
149
|
hestia_earth/models/haversineFormula/__init__.py,sha256=o155nR-XI67iCSBVNYIu4sPRIF3C2Y1NnUZ6lfpi0Do,417
|
|
@@ -159,7 +159,7 @@ hestia_earth/models/hyde32/landTransformationFromOtherNaturalVegetation20YearAve
|
|
|
159
159
|
hestia_earth/models/hyde32/landTransformationFromPermanentPasture100YearAverageDuringCycle.py,sha256=0E6UtW0DpyB6nCFioekbCBvZu10F7LtvyOxbWRPL5oY,2417
|
|
160
160
|
hestia_earth/models/hyde32/landTransformationFromPermanentPasture20YearAverageDuringCycle.py,sha256=khH8zdALTeaCaIDK6L-3OexD03I7MB8vA_mBOSkwe1M,2408
|
|
161
161
|
hestia_earth/models/hyde32/utils.py,sha256=j9QavyBZIQ-ZCNjdPLWjOjg2LrxcNlanQ1wPnT0IKX8,3098
|
|
162
|
-
hestia_earth/models/impact_assessment/__init__.py,sha256=
|
|
162
|
+
hestia_earth/models/impact_assessment/__init__.py,sha256=gTR_PhWps593fPhm-V826VLLrZVH8CNQTqxExB7GGNI,418
|
|
163
163
|
hestia_earth/models/impact_assessment/emissions.py,sha256=XcHTqyPAZeCz7qPTD8VvccmYMYROqBGrR0zJNpZtmvM,3413
|
|
164
164
|
hestia_earth/models/impact_assessment/freshwaterWithdrawalsDuringCycle.py,sha256=ljh9vou6jJzNjWCtdLsvozx2S1K9cQvWVxifk6mMWso,3952
|
|
165
165
|
hestia_earth/models/impact_assessment/freshwaterWithdrawalsInputsProduction.py,sha256=DSLX_aEWaUFcFZRD46bG5lIQ4TtAtIqH-sMkVCJH2Dg,990
|
|
@@ -210,25 +210,29 @@ hestia_earth/models/ipcc2019/ch4ToAirExcreta.py,sha256=nw95VfIRhfn7zH9wfZxafVLwn
|
|
|
210
210
|
hestia_earth/models/ipcc2019/ch4ToAirFloodedRice.py,sha256=VyF9Z_xtbJXslRk2XDlhivN5f5fpDNF6JChsRcJ21uU,6481
|
|
211
211
|
hestia_earth/models/ipcc2019/co2ToAirLimeHydrolysis.py,sha256=Q9CGcD1PizZJQ2qdeBQJXn3P_oIpAdbnn02re8HP0D4,2580
|
|
212
212
|
hestia_earth/models/ipcc2019/co2ToAirUreaHydrolysis.py,sha256=2CnBlsD10wIbG66Amv4S-1QT5MRVNQGrAG2iN-ZH8o8,3819
|
|
213
|
-
hestia_earth/models/ipcc2019/croppingDuration.py,sha256=
|
|
213
|
+
hestia_earth/models/ipcc2019/croppingDuration.py,sha256=3aphCnu9jtzUJeCEcC2hY_gY66DliTDhP4zPQ-DAR6E,2983
|
|
214
214
|
hestia_earth/models/ipcc2019/n2OToAirCropResidueDecompositionDirect.py,sha256=hUGujoGptR8rVjCPucebsFZtmXQrE6m-iZjon4YJrwY,4758
|
|
215
215
|
hestia_earth/models/ipcc2019/n2OToAirExcretaDirect.py,sha256=gB1NbBKkUQyIFwjy4p8YYJxEEEW35QYWBVhNLduhaJ0,1984
|
|
216
|
+
hestia_earth/models/ipcc2019/n2OToAirInorganicFertiliserIndirect.py,sha256=SRGuWskW6Hn7oRYyozixtnCNtwlRWLD0rOZU7naHEHA,4118
|
|
217
|
+
hestia_earth/models/ipcc2019/n2OToAirOrganicFertiliserIndirect.py,sha256=ufj7cBqHtJiSY4v8txOHVx9Ad7TbnLO4J49Wc5UWCEc,4117
|
|
216
218
|
hestia_earth/models/ipcc2019/nitrogenContent.py,sha256=5LISfKnCtRm5JE3va3F6CU0bshnFpgSAuzmjH0zpev0,6452
|
|
217
219
|
hestia_earth/models/ipcc2019/no3ToGroundwaterCropResidueDecomposition.py,sha256=3JOQANIy4rDsFTWBy6pOzJ2NRdAiAL-x--C87gBIZQw,3603
|
|
218
220
|
hestia_earth/models/ipcc2019/no3ToGroundwaterExcreta.py,sha256=WNfaopS9canZs5zePdijfD2HzTTYfqD1hiainuVfwmk,3004
|
|
219
221
|
hestia_earth/models/ipcc2019/no3ToGroundwaterInorganicFertiliser.py,sha256=X2WPGOiWi_1cQ5yiyjfrBU_rAm3EDsm4WnRJi8ea6g8,3007
|
|
220
222
|
hestia_earth/models/ipcc2019/no3ToGroundwaterOrganicFertiliser.py,sha256=Q6XLA-yUEJFQCrk1N4Tq2DiMSACI7XnsW_Mn595V1as,3102
|
|
221
223
|
hestia_earth/models/ipcc2019/pastureGrass.py,sha256=2WOHlPFprpvDsZguPAlRqJi-oPftXTMUAKkGwYXAH-c,21747
|
|
222
|
-
hestia_earth/models/ipcc2019/utils.py,sha256
|
|
224
|
+
hestia_earth/models/ipcc2019/utils.py,sha256=-7cJc0IdeqfqdAaDMtDyTEv9Ao5SzY9WzYNFNoziUfs,2880
|
|
223
225
|
hestia_earth/models/ipcc2021/__init__.py,sha256=VTgGFKhwMmk_nuI1RRq0in27fHYVPBonlXlPK00K8no,409
|
|
224
226
|
hestia_earth/models/ipcc2021/gwp100.py,sha256=HEV4Misbe5h99qCqZeCaKNTs4FkFWmv6RdCty_U2pps,947
|
|
227
|
+
hestia_earth/models/jarvisAndPain1994/__init__.py,sha256=ercUwy29sV7oPIESj8UjsGB5lqiBCss9OZcbjxeeG8E,418
|
|
228
|
+
hestia_earth/models/jarvisAndPain1994/n2ToAirExcreta.py,sha256=QY605kIRIOplMtb9hUP3or68p30YwhxLXIlYZG7kGyw,1588
|
|
225
229
|
hestia_earth/models/koble2014/__init__.py,sha256=jRciLONEhGHtMLu2rlWXEEVwcJqA-URsfH1cCt-Qti4,410
|
|
226
|
-
hestia_earth/models/koble2014/aboveGroundCropResidue.py,sha256=
|
|
230
|
+
hestia_earth/models/koble2014/aboveGroundCropResidue.py,sha256=5jjWPo6feJxJiF3PspbNT7BwuDVXPRaAbFIso_LyuGQ,6516
|
|
227
231
|
hestia_earth/models/koble2014/cropResidueManagement.py,sha256=22guAEe6pyi7SS6pswz3H3lMzfygefB1Mlg3aL2k6PQ,2973
|
|
228
232
|
hestia_earth/models/koble2014/residueBurnt.py,sha256=eKvzC4HOj8t7c2-50guVhqQMapTuxcHNBB-_zElHILY,2285
|
|
229
233
|
hestia_earth/models/koble2014/residueLeftOnField.py,sha256=R3D6-21Za9CylMVFWePSUywL55d7n9ohlBHAJyXAwA4,421
|
|
230
234
|
hestia_earth/models/koble2014/residueRemoved.py,sha256=NqYXLr5Te7m6EcGMJOEeXTB_DDMFKoJslJuiTIQ16RM,2035
|
|
231
|
-
hestia_earth/models/koble2014/utils.py,sha256=
|
|
235
|
+
hestia_earth/models/koble2014/utils.py,sha256=O0-6kZdUxo6pprIC1DmeS6BvlCTOHrWhkmIfepG5thk,2238
|
|
232
236
|
hestia_earth/models/lcImpactAllEffects100Years/__init__.py,sha256=Z15q1K369kIkH4JC3X2mN0PdNHhUn6dscug6g4DvAxc,427
|
|
233
237
|
hestia_earth/models/lcImpactAllEffects100Years/damageToFreshwaterEcosystemsClimateChange.py,sha256=xKph9CTpqOwr0Ht5BiQouwOVek6z0Y13G5ZCgUNjo6c,1038
|
|
234
238
|
hestia_earth/models/lcImpactAllEffects100Years/damageToFreshwaterEcosystemsFreshwaterEcotoxicity.py,sha256=0oZr_tW-uIwQ8VR-ac5OPmjNSJ-915m20ICkW74tcQk,953
|
|
@@ -318,9 +322,9 @@ hestia_earth/models/lcImpactCertainEffectsInfinite/damageToTerrestrialEcosystems
|
|
|
318
322
|
hestia_earth/models/linkedImpactAssessment/__init__.py,sha256=x6xsPu-Rwh-7HKsvHuKmgM1YML6fQy2z9Hsy9_BeO2Y,3565
|
|
319
323
|
hestia_earth/models/mocking/__init__.py,sha256=Y39V6yj_3M1q8v9ShCHwPeJOstypOVIvb_FldMEbF7g,766
|
|
320
324
|
hestia_earth/models/mocking/mock_search.py,sha256=ysPhzvMGvsHKqQXKRFi8ZqohcnyKutBlNqT_j0OH8L4,1983
|
|
321
|
-
hestia_earth/models/mocking/search-results.json,sha256=
|
|
325
|
+
hestia_earth/models/mocking/search-results.json,sha256=q72dDdhGkTMmnsh6M66k_DWAbgSsqLlpNav0dDzf6-I,32960
|
|
322
326
|
hestia_earth/models/pooreNemecek2018/__init__.py,sha256=nPboL7ULJzL5nJD5q7q9VOZt_fxbKVm8fmn1Az5YkVY,417
|
|
323
|
-
hestia_earth/models/pooreNemecek2018/aboveGroundCropResidueTotal.py,sha256=
|
|
327
|
+
hestia_earth/models/pooreNemecek2018/aboveGroundCropResidueTotal.py,sha256=wywl3QelciXV9hITH7eJ7xqkrD7N9qOsFMkC23I7Pgs,2530
|
|
324
328
|
hestia_earth/models/pooreNemecek2018/belowGroundCropResidue.py,sha256=txjMrM6Q2g5Qsq6HhAL-IpMMLOj37wlWD2KnovyEWvw,2205
|
|
325
329
|
hestia_earth/models/pooreNemecek2018/ch4ToAirAquacultureSystems.py,sha256=aFGXvqP6AM-hgkQvyRTCwdphv9UsfsRtn68YkuDODXY,6727
|
|
326
330
|
hestia_earth/models/pooreNemecek2018/excretaKgN.py,sha256=iDZ9Ge9VfulLvlVT44_bYAGC-xEUDucLtkrjKbGAfiQ,5622
|
|
@@ -405,6 +409,9 @@ hestia_earth/models/schererPfister2015/pToDrainageWaterSoilFlux.py,sha256=XzzyoQ
|
|
|
405
409
|
hestia_earth/models/schererPfister2015/pToGroundwaterSoilFlux.py,sha256=Gt3YdTCu7uGz4rugpGza6H0XkCU7hs3rk1UYKDVkfPg,2109
|
|
406
410
|
hestia_earth/models/schererPfister2015/pToSurfaceWaterSoilFlux.py,sha256=bzgtCAtX0D5cRqoL24Ukg2IDr00Up7Ji4m1QQ9fJ-9w,2741
|
|
407
411
|
hestia_earth/models/schererPfister2015/utils.py,sha256=LEvz9guqto0kuF5rXcQjgYsD3CvEmORvJQqRA1f7uMI,3130
|
|
412
|
+
hestia_earth/models/schmidt2007/__init__.py,sha256=xheSN6LOGXpWx7Hnv83onhe60Xk1_jk1PJg1nH_aZOQ,412
|
|
413
|
+
hestia_earth/models/schmidt2007/ch4ToAirWasteTreatment.py,sha256=GG9rXb3a1aa3Svs80cFo16M_E4MvlfQ0UonfZMR7MQo,1611
|
|
414
|
+
hestia_earth/models/schmidt2007/utils.py,sha256=NGG5iJI5F1PFSscW2u2Z4clj6UFXVfCewqRnXB5Pv48,815
|
|
408
415
|
hestia_earth/models/site/__init__.py,sha256=aVuLLhq0OQVm-_MZoq4JAKMidqexUWJBg_7mmojmDzc,405
|
|
409
416
|
hestia_earth/models/site/cationExchangeCapacityPerKgSoil.py,sha256=kQWABi_TWOYKgAkBnMEc0O1VgNOSbJuNkLaeNFMzeEI,3693
|
|
410
417
|
hestia_earth/models/site/flowingWater.py,sha256=ZPeXd2tNYgG24kYOGQZM9lrUzCi9nZsabvHJsaH0hy4,1796
|
|
@@ -484,7 +491,7 @@ hestia_earth/models/utils/productivity.py,sha256=bUBVCZInGqHuHZvHDSYPQkjWXQxOtTj
|
|
|
484
491
|
hestia_earth/models/utils/property.py,sha256=6JiELxqqs9sqFPv-xQHewdtmalJHhk61t09b57UiHAY,4469
|
|
485
492
|
hestia_earth/models/utils/site.py,sha256=Nxf4_ANN1_QcxQEwlaL1tFyR-lDUypOBezBJcGmztL4,2725
|
|
486
493
|
hestia_earth/models/utils/temperature.py,sha256=ljlG4-yCgFFb6LRZweb18cZKLrr7K2mqd4E4Hz_D1f8,476
|
|
487
|
-
hestia_earth/models/utils/term.py,sha256=
|
|
494
|
+
hestia_earth/models/utils/term.py,sha256=Qkc2UodF6Ok4i8odL9ynjtqKdu4r5dbeJn3PNEoz4eA,12291
|
|
488
495
|
hestia_earth/models/utils/transformation.py,sha256=nyT5Mz4_VgFwhkL8JoNX9kxxow0zuxzsYl3W8xOu2p0,370
|
|
489
496
|
hestia_earth/models/webbEtAl2012AndSintermannEtAl2012/__init__.py,sha256=Niv7ZFMBCwThlbCKGOwA17QdkpOUDFrqrFItGNqnZAA,434
|
|
490
497
|
hestia_earth/models/webbEtAl2012AndSintermannEtAl2012/nh3ToAirOrganicFertiliser.py,sha256=fcqomqaWp4BNh937FdC5M-WrhBovtoH-pdUlCnkz7TU,4061
|
|
@@ -580,7 +587,7 @@ tests/models/emepEea2019/test_nh3ToAirExcreta.py,sha256=VtZFVWaHjqlxdge1Qir-OghN
|
|
|
580
587
|
tests/models/emepEea2019/test_nh3ToAirInorganicFertiliser.py,sha256=tIaekBTAeiaXPRBaYrogKsxlDcEbcX3MlIZMjSqea4o,1674
|
|
581
588
|
tests/models/emepEea2019/test_noxToAirFuelCombustion.py,sha256=drCeoaGo6Ag3fdEDDSC3D880OXxzillzHk7rPYcVwmE,1450
|
|
582
589
|
tests/models/emepEea2019/test_so2ToAirFuelCombustion.py,sha256=CNaT_z02DHDpBJ2IIkG0K7ra87WBg_iDkhx9QGAjk00,1450
|
|
583
|
-
tests/models/emepEea2019/test_utils.py,sha256=
|
|
590
|
+
tests/models/emepEea2019/test_utils.py,sha256=8izzxUtam9703-MnN6F-Wi0byRitMSidCx9aX7_ktL4,1968
|
|
584
591
|
tests/models/environmentalFootprintV3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
585
592
|
tests/models/environmentalFootprintV3/test_freshwaterEcotoxicityPotentialCtue.py,sha256=lIgsdGh_0eDi-rPcCOrSSjVYNiET2GCSRkAHdugAkDk,851
|
|
586
593
|
tests/models/epa2014/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -612,7 +619,7 @@ tests/models/geospatialDatabase/test_potentialEvapotranspirationAnnual.py,sha256
|
|
|
612
619
|
tests/models/geospatialDatabase/test_potentialEvapotranspirationLongTermAnnualMean.py,sha256=6jn2TsDRvLtmwMdepYOIo23UqGeh-fTDPiOsp4ZZbt0,1072
|
|
613
620
|
tests/models/geospatialDatabase/test_precipitationAnnual.py,sha256=wKNON8808fSb0RZuO1h9nsflnIysaX_o7yGB_x_nkJU,832
|
|
614
621
|
tests/models/geospatialDatabase/test_precipitationLongTermAnnualMean.py,sha256=9WHknL9o5lYxXHMViF_tAmdOYtRDPVrP7Z94tXE8EwY,1050
|
|
615
|
-
tests/models/geospatialDatabase/test_region.py,sha256=
|
|
622
|
+
tests/models/geospatialDatabase/test_region.py,sha256=_VZ9aWZEpgbwLh_E739TkLoTthtcWmMpyX2ssD2b6dk,884
|
|
616
623
|
tests/models/geospatialDatabase/test_sandContent.py,sha256=LZUr8t0il1naqP8U4-XlfQE9luiJgcugXDkVfgj-smI,1030
|
|
617
624
|
tests/models/geospatialDatabase/test_siltContent.py,sha256=STUpMTN0iQRUyDY1EMd3WA6Rqt9rRzDG10g7z_IvXi0,1072
|
|
618
625
|
tests/models/geospatialDatabase/test_slope.py,sha256=DHCbds1jPqELVLhZ0pzXOzvEzveUxIP9fQEibyqzOuU,1024
|
|
@@ -622,7 +629,7 @@ tests/models/geospatialDatabase/test_temperatureAnnual.py,sha256=tRaptqQAQthYraF
|
|
|
622
629
|
tests/models/geospatialDatabase/test_temperatureLongTermAnnualMean.py,sha256=JhgAgCzkEImg0Tsdq6bio27xOr0ph29xhB1cQLsEVEY,1048
|
|
623
630
|
tests/models/geospatialDatabase/test_totalNitrogenPerKgSoil.py,sha256=qIzj4gd6ERW87ho03Kl9X6_Rm3pE5RdGo6V1zvkyFTE,1041
|
|
624
631
|
tests/models/geospatialDatabase/test_totalPhosphorusPerKgSoil.py,sha256=VmzuP_MdX8__LSlGbQ2wDswtYIcuDDNJuxfEj4BvvuI,1043
|
|
625
|
-
tests/models/geospatialDatabase/test_utils.py,sha256=
|
|
632
|
+
tests/models/geospatialDatabase/test_utils.py,sha256=z6kZu-XtxZ_9gmc_Ck3yhlglIn75WNlbjhpZY6zZaXw,558
|
|
626
633
|
tests/models/geospatialDatabase/test_waterDepth.py,sha256=AoCKQBcuNURfR12bHrXALjrK3Wzo5nu4fe5KNJuDfFM,1023
|
|
627
634
|
tests/models/globalCropWaterModel2008/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
628
635
|
tests/models/globalCropWaterModel2008/test_rootingDepth.py,sha256=dyhojeVM9ge1XOuuiUVSkNeLy--A2xW81hqGELNvEWY,2468
|
|
@@ -692,6 +699,8 @@ tests/models/ipcc2019/test_co2ToAirUreaHydrolysis.py,sha256=MmtEME0xjsa3KojFk_fx
|
|
|
692
699
|
tests/models/ipcc2019/test_croppingDuration.py,sha256=gLRXeR6Tqa7ciD9KTRfsIflSeIIWT2iOpZMdcxAQla4,1871
|
|
693
700
|
tests/models/ipcc2019/test_n2OToAirCropResidueDecompositionDirect.py,sha256=PW-FvpX4KD-X2wMhR9o6c_FVaR7xAd1YSinNPsap6fY,2015
|
|
694
701
|
tests/models/ipcc2019/test_n2OToAirExcretaDirect.py,sha256=JYvBK4edcqfHrMPwgBFXF6km51ew9RISUcfQ_RNf2RY,1216
|
|
702
|
+
tests/models/ipcc2019/test_n2OToAirInorganicFertiliserIndirect.py,sha256=X61AE9Eb0Lqwy4AkfKKaHKU-p4C5JZIo326t8BT6ALs,1613
|
|
703
|
+
tests/models/ipcc2019/test_n2OToAirOrganicFertiliserIndirect.py,sha256=cPXdknWmXJig9i_AR19oX4g3GjTcEo8455DsD2w8M10,1609
|
|
695
704
|
tests/models/ipcc2019/test_nitrogenContent.py,sha256=vCAg9hgFAnXaNst92VZYMsd-gZOxzGZlCOmv1sMSRgo,3592
|
|
696
705
|
tests/models/ipcc2019/test_no3ToGroundwaterCropResidueDecomposition.py,sha256=l9LRPS2ReB1c-cmClef86LWL6FmURvDxUXAzMbKFJis,1624
|
|
697
706
|
tests/models/ipcc2019/test_no3ToGroundwaterExcreta.py,sha256=Z-pCBQvlUf0ttmCERgezW-6e3KlX45YEVccOwthf5lU,1588
|
|
@@ -700,8 +709,10 @@ tests/models/ipcc2019/test_no3ToGroundwaterOrganicFertiliser.py,sha256=e1ZViD12q
|
|
|
700
709
|
tests/models/ipcc2019/test_pastureGrass.py,sha256=fs_og0NM_XiJuFgL8UXegjOvKj7bL2koxXeOionbebs,1912
|
|
701
710
|
tests/models/ipcc2021/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
702
711
|
tests/models/ipcc2021/test_gwp100.py,sha256=r3pDw_TUcOrNlNRWtFAN3CBWfG5FCkHExypVqg0sZVk,857
|
|
712
|
+
tests/models/jarvisAndPain1994/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
713
|
+
tests/models/jarvisAndPain1994/test_n2ToAirExcreta.py,sha256=aMCuR9fmGDmum7VqLb1oBOsTCjBz5O9XQn2DWtP8HVM,1057
|
|
703
714
|
tests/models/koble2014/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
704
|
-
tests/models/koble2014/test_aboveGroundCropResidue.py,sha256=
|
|
715
|
+
tests/models/koble2014/test_aboveGroundCropResidue.py,sha256=ZqBQK3_Z5PA0__Dgz_chPi7TtrWND8-9LjL0Px-zHEw,1635
|
|
705
716
|
tests/models/koble2014/test_cropResidueManagement.py,sha256=QwmMcVpOoW7Pedowldd0GFdnvE6lesGEfWGGMO2TQbQ,621
|
|
706
717
|
tests/models/koble2014/test_residueBurnt.py,sha256=4XJBiqQcxRlbUYjP6uSvBviqJq5UhIjTexKhQArGRgA,811
|
|
707
718
|
tests/models/koble2014/test_residueLeftOnField.py,sha256=9pFFYldqBrzr45Ia_1bu-6uv-_rBl3h1rZjb_NGwt-U,858
|
|
@@ -876,6 +887,9 @@ tests/models/schererPfister2015/test_pErosionSoilFlux.py,sha256=YbQEZGQjdppamcUm
|
|
|
876
887
|
tests/models/schererPfister2015/test_pToDrainageWaterSoilFlux.py,sha256=57MVRyiEU0g8pp6uRQiVo6l2w3OgBPyfv6oqdSIyrZ0,1060
|
|
877
888
|
tests/models/schererPfister2015/test_pToGroundwaterSoilFlux.py,sha256=lOTL-ue6hEbQsKIss6VsN7bJME5UCB3pTbqbLtMp9rk,1064
|
|
878
889
|
tests/models/schererPfister2015/test_pToSurfaceWaterSoilFlux.py,sha256=1VJo9q-Kb2OboK2RMp3-bkP6lXfkFbqMz1ACJC75FWw,1441
|
|
890
|
+
tests/models/schmidt2007/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
891
|
+
tests/models/schmidt2007/test_ch4ToAirWasteTreatment.py,sha256=5VSxT6sEbNp6c4Y07WzJGFDwVnjJbziG9HmbJNF6r6A,1454
|
|
892
|
+
tests/models/schmidt2007/test_utils.py,sha256=rmtOV3xiFynjgx8lQNGsJqquG8HDxz3LDmh1efN8AkI,1278
|
|
879
893
|
tests/models/site/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
880
894
|
tests/models/site/test_cationExchangeCapacityPerKgSoil.py,sha256=ZbIt-mQohYE-8xd4zoqDTVj3VC-Dg9wnOTY4ppULsCY,1023
|
|
881
895
|
tests/models/site/test_flowingWater.py,sha256=q7ktHV7sffIUBf0SgIhbkL_U_c7RTHYv6oWhXY4A6io,1274
|
|
@@ -944,8 +958,8 @@ tests/models/utils/test_site.py,sha256=cSKrkLeerymMLZAwCnbQce38NwgxXojQHAVm9DPUT
|
|
|
944
958
|
tests/models/utils/test_term.py,sha256=-Wn2C1jyOLfkvhcKmKWT-Jms7yqLwx5ok91gYJNcGWc,2028
|
|
945
959
|
tests/models/webbEtAl2012AndSintermannEtAl2012/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
946
960
|
tests/models/webbEtAl2012AndSintermannEtAl2012/test_nh3ToAirOrganicFertiliser.py,sha256=qi2FNXS5Af2WDtm7nq_FsprH3BfCF0XxnE0XHmC4aIY,2244
|
|
947
|
-
hestia_earth_models-0.51.
|
|
948
|
-
hestia_earth_models-0.51.
|
|
949
|
-
hestia_earth_models-0.51.
|
|
950
|
-
hestia_earth_models-0.51.
|
|
951
|
-
hestia_earth_models-0.51.
|
|
961
|
+
hestia_earth_models-0.51.1.dist-info/LICENSE,sha256=EFSZhfUdZCTsCIYdHzTGewMKfRfp7X9t1s2aaKxm8O0,1154
|
|
962
|
+
hestia_earth_models-0.51.1.dist-info/METADATA,sha256=pau-UYw6oKiDHVlx76p2Mq0pDvBvEL5DboUI74Pin0g,3178
|
|
963
|
+
hestia_earth_models-0.51.1.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
|
|
964
|
+
hestia_earth_models-0.51.1.dist-info/top_level.txt,sha256=1dqA9TqpOLTEgpqa-YBsmbCmmNU1y56AtfFGEceZ2A0,19
|
|
965
|
+
hestia_earth_models-0.51.1.dist-info/RECORD,,
|
|
@@ -5,7 +5,7 @@ from hestia_earth.models.emepEea2019.utils import get_fuel_values
|
|
|
5
5
|
class_path = 'hestia_earth.models.emepEea2019.utils'
|
|
6
6
|
TERMS = [
|
|
7
7
|
'diesel',
|
|
8
|
-
'
|
|
8
|
+
'petrol'
|
|
9
9
|
]
|
|
10
10
|
|
|
11
11
|
|
|
@@ -36,9 +36,23 @@ def test_get_fuel_values(*args):
|
|
|
36
36
|
'value': [100]
|
|
37
37
|
},
|
|
38
38
|
{
|
|
39
|
-
|
|
39
|
+
|
|
40
|
+
'term': {'@id': 'diesel', 'termType': 'fuel'},
|
|
41
|
+
'operation': {'@id': 'crushingWoodMachineUnspecified', 'termType': 'operation'},
|
|
42
|
+
'value': [200]
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
|
|
46
|
+
'term': {'@id': 'diesel', 'termType': 'fuel'},
|
|
47
|
+
'operation': {'@id': 'helicopterUseOperationUnspecified', 'termType': 'operation'},
|
|
48
|
+
'value': [150]
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
'term': {'@id': 'marineGasOil', 'termType': 'fuel'},
|
|
52
|
+
'operation': {'@id': 'crushingWoodMachineUnspecified', 'termType': 'operation'},
|
|
40
53
|
'value': [50]
|
|
41
54
|
}
|
|
42
55
|
]
|
|
43
56
|
}
|
|
44
|
-
|
|
57
|
+
result = get_fuel_values('co2ToAirFuelCombustion', cycle, 'co2ToAirFuelCombustionEmepEea2019')
|
|
58
|
+
assert result == [317.0, 632.0, 475.5, 158.5]
|
|
@@ -8,13 +8,12 @@ class_path = f"hestia_earth.models.{MODEL}.{MODEL_KEY}"
|
|
|
8
8
|
fixtures_folder = f"{fixtures_path}/{MODEL}/{MODEL_KEY}"
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
@patch(f"{class_path}.
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
mock_has_geospatial_data.return_value = True
|
|
11
|
+
@patch(f"{class_path}.has_coordinates")
|
|
12
|
+
def test_should_run(mock_has_coordinates, *args):
|
|
13
|
+
mock_has_coordinates.return_value = True
|
|
15
14
|
assert _should_run({}) is True
|
|
16
15
|
|
|
17
|
-
|
|
16
|
+
mock_has_coordinates.return_value = False
|
|
18
17
|
assert not _should_run({})
|
|
19
18
|
|
|
20
19
|
|
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
from hestia_earth.schema import TermTermType
|
|
2
2
|
|
|
3
|
-
from hestia_earth.models.geospatialDatabase.utils import get_region_factor
|
|
3
|
+
from hestia_earth.models.geospatialDatabase.utils import get_region_factor, _get_area_size
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
def test_get_region_factor():
|
|
7
7
|
site = {'country': {'@id': 'GADM-ALB'}}
|
|
8
8
|
assert get_region_factor('croppingIntensity', site, TermTermType.LANDUSEMANAGEMENT) == 0.9999775685587958
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def test_get_area_size():
|
|
12
|
+
site = {'country': {'@id': 'GADM-ALB'}}
|
|
13
|
+
assert _get_area_size(site) == 28735.42144
|
|
14
|
+
|
|
15
|
+
site['boundary'] = {'type': 'Polygon'}
|
|
16
|
+
site['boundaryArea'] = 1000
|
|
17
|
+
assert _get_area_size(site) == 1000
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
from unittest.mock import patch
|
|
2
|
+
import json
|
|
3
|
+
from tests.utils import fixtures_path, fake_new_emission
|
|
4
|
+
|
|
5
|
+
from hestia_earth.models.ipcc2019.n2OToAirInorganicFertiliserIndirect import MODEL, TERM_ID, run, _should_run
|
|
6
|
+
|
|
7
|
+
class_path = f"hestia_earth.models.{MODEL}.{TERM_ID}"
|
|
8
|
+
fixtures_folder = f"{fixtures_path}/{MODEL}/{TERM_ID}"
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
@patch(f"{class_path}.get_ecoClimateZone", return_value=2)
|
|
12
|
+
@patch(f"{class_path}._is_term_type_complete", return_value=False)
|
|
13
|
+
@patch(f"{class_path}.get_inorganic_fertiliser_N_total", return_value=0)
|
|
14
|
+
def test_should_run(mock_N_total, mock_complete, *args):
|
|
15
|
+
# no N => no run
|
|
16
|
+
assert not _should_run({})
|
|
17
|
+
|
|
18
|
+
# with N => no run
|
|
19
|
+
mock_N_total.return_value = 10
|
|
20
|
+
assert not _should_run({})
|
|
21
|
+
|
|
22
|
+
# is complete => run
|
|
23
|
+
mock_complete.return_value = True
|
|
24
|
+
assert _should_run({}) is True
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
@patch(f"{class_path}._new_emission", side_effect=fake_new_emission)
|
|
28
|
+
def test_run_wet(*args):
|
|
29
|
+
with open(f"{fixtures_folder}/ecoClimateZone-wet/cycle.jsonld", encoding='utf-8') as f:
|
|
30
|
+
cycle = json.load(f)
|
|
31
|
+
|
|
32
|
+
with open(f"{fixtures_folder}/ecoClimateZone-wet/result.jsonld", encoding='utf-8') as f:
|
|
33
|
+
expected = json.load(f)
|
|
34
|
+
|
|
35
|
+
value = run(cycle)
|
|
36
|
+
assert value == expected
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
@patch(f"{class_path}._new_emission", side_effect=fake_new_emission)
|
|
40
|
+
def test_run_dry(*args):
|
|
41
|
+
with open(f"{fixtures_folder}/ecoClimateZone-dry/cycle.jsonld", encoding='utf-8') as f:
|
|
42
|
+
cycle = json.load(f)
|
|
43
|
+
|
|
44
|
+
with open(f"{fixtures_folder}/ecoClimateZone-dry/result.jsonld", encoding='utf-8') as f:
|
|
45
|
+
expected = json.load(f)
|
|
46
|
+
|
|
47
|
+
value = run(cycle)
|
|
48
|
+
assert value == expected
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
from unittest.mock import patch
|
|
2
|
+
import json
|
|
3
|
+
from tests.utils import fixtures_path, fake_new_emission
|
|
4
|
+
|
|
5
|
+
from hestia_earth.models.ipcc2019.n2OToAirOrganicFertiliserIndirect import MODEL, TERM_ID, run, _should_run
|
|
6
|
+
|
|
7
|
+
class_path = f"hestia_earth.models.{MODEL}.{TERM_ID}"
|
|
8
|
+
fixtures_folder = f"{fixtures_path}/{MODEL}/{TERM_ID}"
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
@patch(f"{class_path}.get_ecoClimateZone", return_value=2)
|
|
12
|
+
@patch(f"{class_path}._is_term_type_complete", return_value=False)
|
|
13
|
+
@patch(f"{class_path}.get_organic_fertiliser_N_total", return_value=0)
|
|
14
|
+
def test_should_run(mock_N_total, mock_complete, *args):
|
|
15
|
+
# no N => no run
|
|
16
|
+
assert not _should_run({})
|
|
17
|
+
|
|
18
|
+
# with N => no run
|
|
19
|
+
mock_N_total.return_value = 10
|
|
20
|
+
assert not _should_run({})
|
|
21
|
+
|
|
22
|
+
# is complete => run
|
|
23
|
+
mock_complete.return_value = True
|
|
24
|
+
assert _should_run({}) is True
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
@patch(f"{class_path}._new_emission", side_effect=fake_new_emission)
|
|
28
|
+
def test_run_wet(*args):
|
|
29
|
+
with open(f"{fixtures_folder}/ecoClimateZone-wet/cycle.jsonld", encoding='utf-8') as f:
|
|
30
|
+
cycle = json.load(f)
|
|
31
|
+
|
|
32
|
+
with open(f"{fixtures_folder}/ecoClimateZone-wet/result.jsonld", encoding='utf-8') as f:
|
|
33
|
+
expected = json.load(f)
|
|
34
|
+
|
|
35
|
+
value = run(cycle)
|
|
36
|
+
assert value == expected
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
@patch(f"{class_path}._new_emission", side_effect=fake_new_emission)
|
|
40
|
+
def test_run_dry(*args):
|
|
41
|
+
with open(f"{fixtures_folder}/ecoClimateZone-dry/cycle.jsonld", encoding='utf-8') as f:
|
|
42
|
+
cycle = json.load(f)
|
|
43
|
+
|
|
44
|
+
with open(f"{fixtures_folder}/ecoClimateZone-dry/result.jsonld", encoding='utf-8') as f:
|
|
45
|
+
expected = json.load(f)
|
|
46
|
+
|
|
47
|
+
value = run(cycle)
|
|
48
|
+
assert value == expected
|
|
File without changes
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
from unittest.mock import patch
|
|
2
|
+
import json
|
|
3
|
+
from tests.utils import fixtures_path, fake_new_emission
|
|
4
|
+
|
|
5
|
+
from hestia_earth.models.jarvisAndPain1994.n2ToAirExcreta import MODEL, TERM_ID, run, _should_run
|
|
6
|
+
|
|
7
|
+
class_path = f"hestia_earth.models.{MODEL}.{TERM_ID}"
|
|
8
|
+
fixtures_folder = f"{fixtures_path}/{MODEL}/{TERM_ID}"
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def test_should_run(*args):
|
|
12
|
+
# no emissions => no run
|
|
13
|
+
cycle = {'emissions': []}
|
|
14
|
+
should_run, *args = _should_run(cycle)
|
|
15
|
+
assert not should_run
|
|
16
|
+
|
|
17
|
+
# with n2o emission => run
|
|
18
|
+
cycle['emissions'] = [{
|
|
19
|
+
'term': {
|
|
20
|
+
'@id': 'n2OToAirExcretaDirect'
|
|
21
|
+
},
|
|
22
|
+
'value': [100]
|
|
23
|
+
}]
|
|
24
|
+
should_run, *args = _should_run(cycle)
|
|
25
|
+
assert should_run is True
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
@patch(f"{class_path}._new_emission", side_effect=fake_new_emission)
|
|
29
|
+
def test_run(*args):
|
|
30
|
+
with open(f"{fixtures_folder}/cycle.jsonld", encoding='utf-8') as f:
|
|
31
|
+
cycle = json.load(f)
|
|
32
|
+
|
|
33
|
+
with open(f"{fixtures_folder}/result.jsonld", encoding='utf-8') as f:
|
|
34
|
+
expected = json.load(f)
|
|
35
|
+
|
|
36
|
+
value = run(cycle)
|
|
37
|
+
assert value == expected
|
|
@@ -34,3 +34,16 @@ def test_run(*args):
|
|
|
34
34
|
|
|
35
35
|
value = run(cycle)
|
|
36
36
|
assert value == expected
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
@patch(f"{class_path}._is_term_type_incomplete", return_value=True)
|
|
40
|
+
@patch(f"{class_path}._new_product", side_effect=fake_new_product)
|
|
41
|
+
def test_run_no_total(*args):
|
|
42
|
+
with open(f"{fixtures_folder}/no-total/cycle.jsonld", encoding='utf-8') as f:
|
|
43
|
+
cycle = json.load(f)
|
|
44
|
+
|
|
45
|
+
with open(f"{fixtures_folder}/no-total/result.jsonld", encoding='utf-8') as f:
|
|
46
|
+
expected = json.load(f)
|
|
47
|
+
|
|
48
|
+
value = run(cycle)
|
|
49
|
+
assert value == expected
|
|
File without changes
|