lca-algebraic 1.4.1.dev2__tar.gz → 1.4.1.dev3__tar.gz
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.
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/PKG-INFO +1 -1
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/lca_algebraic/lca.py +8 -2
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/lca_algebraic.egg-info/PKG-INFO +1 -1
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/pyproject.toml +1 -1
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/test/test_premise.py +8 -6
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/LICENSE +0 -0
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/README.md +0 -0
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/lca_algebraic/__init__.py +0 -0
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/lca_algebraic/activity.py +0 -0
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/lca_algebraic/axis_dict.py +0 -0
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/lca_algebraic/base_utils.py +0 -0
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/lca_algebraic/bw_wrapper/__init__.py +0 -0
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/lca_algebraic/bw_wrapper/bw2.py +0 -0
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/lca_algebraic/bw_wrapper/bw25.py +0 -0
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/lca_algebraic/bw_wrapper/protocol.py +0 -0
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/lca_algebraic/cache.py +0 -0
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/lca_algebraic/database.py +0 -0
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/lca_algebraic/interpolation.py +0 -0
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/lca_algebraic/io.py +0 -0
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/lca_algebraic/lambda_expression.py +0 -0
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/lca_algebraic/log.py +0 -0
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/lca_algebraic/matrix.py +0 -0
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/lca_algebraic/methods.py +0 -0
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/lca_algebraic/params.py +0 -0
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/lca_algebraic/settings.py +0 -0
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/lca_algebraic/stats.py +0 -0
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/lca_algebraic/sympy_utils.py +0 -0
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/lca_algebraic/units.py +0 -0
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/lca_algebraic.egg-info/SOURCES.txt +0 -0
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/lca_algebraic.egg-info/dependency_links.txt +0 -0
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/lca_algebraic.egg-info/requires.txt +0 -0
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/lca_algebraic.egg-info/top_level.txt +0 -0
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/setup.cfg +0 -0
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/test/test_axis_dict.py +0 -0
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/test/test_axis_matrices_cache.py +0 -0
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/test/test_cache.py +0 -0
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/test/test_sympy.py +0 -0
- {lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/test/test_units.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: lca_algebraic
|
|
3
|
-
Version: 1.4.1.
|
|
3
|
+
Version: 1.4.1.dev3
|
|
4
4
|
Summary: This library provides a layer above Brightway for defining parametric models and running super fast LCA for monte carlo analysis.
|
|
5
5
|
Author-email: OIE - Mines ParisTech <raphael.jolivet@mines-paristech.fr>
|
|
6
6
|
License: BSD
|
|
@@ -658,6 +658,7 @@ def compute_inventory(
|
|
|
658
658
|
impact_method=None,
|
|
659
659
|
fields=["database", "name", "location", "unit"],
|
|
660
660
|
scenario: Union[str, list[str], None] = None,
|
|
661
|
+
filter_zeros=True,
|
|
661
662
|
**params,
|
|
662
663
|
):
|
|
663
664
|
"""
|
|
@@ -696,6 +697,8 @@ def compute_inventory(
|
|
|
696
697
|
if impact_method is None:
|
|
697
698
|
impact_method = UNITY_METHOD
|
|
698
699
|
|
|
700
|
+
zeros = np.full(len(scenario), 0.0)
|
|
701
|
+
|
|
699
702
|
with temp_settings(factorize_static_bg=False):
|
|
700
703
|
# Compute once the generic lambda expression
|
|
701
704
|
lambda_exprs = _preMultiLCAAlgebric(model=model, methods=[impact_method], alpha=1 / functional_unit, scenarios=scenario)
|
|
@@ -708,7 +711,7 @@ def compute_inventory(
|
|
|
708
711
|
impacts = lambda_expr.impacts_dict()
|
|
709
712
|
|
|
710
713
|
# Build temp lambda with only a single act activated, the other impacts being set to Zero
|
|
711
|
-
filtered_impacts = {act: impacts[act] if act == bg_act else
|
|
714
|
+
filtered_impacts = {act: impacts[act] if act == bg_act else zeros for act in lambda_expr.background_activities}
|
|
712
715
|
|
|
713
716
|
single_bg_expr = lambda_expr.with_impacts(filtered_impacts)
|
|
714
717
|
|
|
@@ -722,6 +725,9 @@ def compute_inventory(
|
|
|
722
725
|
# Transform to dataframe
|
|
723
726
|
items = []
|
|
724
727
|
for act, values in val_by_act.items():
|
|
728
|
+
if filter_zeros and np.all(values == 0.0):
|
|
729
|
+
continue
|
|
730
|
+
|
|
725
731
|
item = dict()
|
|
726
732
|
|
|
727
733
|
for field in fields:
|
|
@@ -733,7 +739,7 @@ def compute_inventory(
|
|
|
733
739
|
item["value"] = values[0]
|
|
734
740
|
else:
|
|
735
741
|
for i in range(0, len(values)):
|
|
736
|
-
item[
|
|
742
|
+
item[scenario[i]] = values[i]
|
|
737
743
|
items.append(item)
|
|
738
744
|
|
|
739
745
|
return DataFrame(items)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: lca_algebraic
|
|
3
|
-
Version: 1.4.1.
|
|
3
|
+
Version: 1.4.1.dev3
|
|
4
4
|
Summary: This library provides a layer above Brightway for defining parametric models and running super fast LCA for monte carlo analysis.
|
|
5
5
|
Author-email: OIE - Mines ParisTech <raphael.jolivet@mines-paristech.fr>
|
|
6
6
|
License: BSD
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "lca_algebraic"
|
|
7
|
-
version = "1.4.1.
|
|
7
|
+
version = "1.4.1.dev3"
|
|
8
8
|
|
|
9
9
|
description = "This library provides a layer above Brightway for defining parametric models and running super fast LCA for monte carlo analysis."
|
|
10
10
|
readme = "README.md"
|
|
@@ -84,16 +84,18 @@ def test_compute_inventories_with_several_scenarios(data: DataFixture):
|
|
|
84
84
|
resetDb(BG_DB1, foreground=False)
|
|
85
85
|
resetDb(BG_DB2, foreground=False)
|
|
86
86
|
|
|
87
|
-
# Add twin BG activities
|
|
88
|
-
|
|
87
|
+
# Add twin BG activities with two different values
|
|
88
|
+
bga = newActivity(BG_DB1, name="bg_a", unit="kg", exchanges={data.bio1: 1.0})
|
|
89
|
+
bga_ = newActivity(BG_DB2, name="bg_a", unit="kg", exchanges={data.bio1: 2.0})
|
|
89
90
|
|
|
90
|
-
#
|
|
91
|
-
|
|
91
|
+
# Add twin BG activities with two different values ibio2
|
|
92
|
+
bgb = newActivity(BG_DB1, name="bg_b", unit="kg", exchanges={data.bio2: 1.0})
|
|
93
|
+
bgb_ = newActivity(BG_DB2, name="bg_b", unit="kg", exchanges={data.bio2: 2.0})
|
|
92
94
|
|
|
93
95
|
# Build parametrized model on BG1
|
|
94
96
|
p1 = newFloatParam("p1", default=1, min=0, max=1)
|
|
95
97
|
|
|
96
|
-
fg_act = newActivity(USER_DB, "fg", "kg", {
|
|
98
|
+
fg_act = newActivity(USER_DB, "fg", "kg", {bga: p1, bgb: 1.0})
|
|
97
99
|
|
|
98
100
|
# Raw impacts without scenario : targeting scen1
|
|
99
101
|
res = compute_inventory(model=fg_act, impact_method=data.ibio1, p1=[1.0, 2.0], scenario=["scen1", "scen2"])
|
|
@@ -101,7 +103,7 @@ def test_compute_inventories_with_several_scenarios(data: DataFixture):
|
|
|
101
103
|
assert_frame_equal(
|
|
102
104
|
rtol=1e-03,
|
|
103
105
|
left=res,
|
|
104
|
-
right=DataFrame([{"database": "bg#scen1", "name": "
|
|
106
|
+
right=DataFrame([{"database": "bg#scen1", "name": "bg_a", "location": "GLO", "unit": "kg", "scen1": 1.0, "scen2": 4.0}]),
|
|
105
107
|
)
|
|
106
108
|
|
|
107
109
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lca_algebraic-1.4.1.dev2 → lca_algebraic-1.4.1.dev3}/lca_algebraic.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|