diff --git a/carculator_truck/inventory.py b/carculator_truck/inventory.py index 53e9d7e..c4ebb2d 100644 --- a/carculator_truck/inventory.py +++ b/carculator_truck/inventory.py @@ -33,7 +33,7 @@ def fill_in_A_matrix(self): self.A[ :, self.find_input_indices(("assembly operation, for lorry",)), - [j for i, j in self.inputs.items() if i[0].startswith("truck, ")] + [j for i, j in self.inputs.items() if i[0].startswith("truck, ")], ] = ( self.array.sel(parameter="curb mass") * -1 ) @@ -42,7 +42,7 @@ def fill_in_A_matrix(self): self.A[ :, self.find_input_indices(("frame, blanks and saddle, for lorry",)), - [j for i, j in self.inputs.items() if i[0].startswith("truck, ")] + [j for i, j in self.inputs.items() if i[0].startswith("truck, ")], ] = ( self.array.sel(parameter="glider base mass") * -1 ) @@ -51,7 +51,7 @@ def fill_in_A_matrix(self): self.A[ :, self.find_input_indices(("suspension, for lorry",)), - [j for i, j in self.inputs.items() if i[0].startswith("truck, ")] + [j for i, j in self.inputs.items() if i[0].startswith("truck, ")], ] = ( self.array.sel( parameter=[ @@ -66,7 +66,7 @@ def fill_in_A_matrix(self): self.A[ :, self.find_input_indices(("tires and wheels, for lorry",)), - [j for i, j in self.inputs.items() if i[0].startswith("truck, ")] + [j for i, j in self.inputs.items() if i[0].startswith("truck, ")], ] = ( self.array.sel(parameter="wheels and tires mass") * -1 ) @@ -75,7 +75,7 @@ def fill_in_A_matrix(self): self.A[ :, self.find_input_indices(("exhaust system, for lorry",)), - [j for i, j in self.inputs.items() if i[0].startswith("truck, ")] + [j for i, j in self.inputs.items() if i[0].startswith("truck, ")], ] = ( self.array.sel(parameter="exhaust system mass") * -1 ) @@ -84,7 +84,7 @@ def fill_in_A_matrix(self): self.A[ :, self.find_input_indices(("power electronics, for lorry",)), - [j for i, j in self.inputs.items() if i[0].startswith("truck, ")] + [j for i, j in self.inputs.items() if i[0].startswith("truck, ")], ] = ( self.array.sel(parameter="electrical system mass") * -1 ) @@ -93,7 +93,7 @@ def fill_in_A_matrix(self): self.A[ :, self.find_input_indices(("transmission, for lorry",)), - [j for i, j in self.inputs.items() if i[0].startswith("truck, ")] + [j for i, j in self.inputs.items() if i[0].startswith("truck, ")], ] = ( self.array.sel(parameter="transmission mass") * 0.52 * -1 ) @@ -101,7 +101,7 @@ def fill_in_A_matrix(self): self.A[ :, self.find_input_indices(("gearbox, for lorry",)), - [j for i, j in self.inputs.items() if i[0].startswith("truck, ")] + [j for i, j in self.inputs.items() if i[0].startswith("truck, ")], ] = ( self.array.sel(parameter="transmission mass") * 0.36 * -1 ) @@ -109,7 +109,7 @@ def fill_in_A_matrix(self): self.A[ :, self.find_input_indices(("retarder, for lorry",)), - [j for i, j in self.inputs.items() if i[0].startswith("truck, ")] + [j for i, j in self.inputs.items() if i[0].startswith("truck, ")], ] = ( self.array.sel(parameter="transmission mass") * 0.12 * -1 ) @@ -119,7 +119,7 @@ def fill_in_A_matrix(self): self.A[ :, self.find_input_indices(("other components, for hybrid electric lorry",)), - [j for i, j in self.inputs.items() if i[0].startswith("truck, ")] + [j for i, j in self.inputs.items() if i[0].startswith("truck, ")], ] = ( self.array.sel(parameter="other components mass") * (self.array.sel(parameter="combustion power") > 0) @@ -130,7 +130,7 @@ def fill_in_A_matrix(self): self.A[ :, self.find_input_indices(("other components, for electric lorry",)), - [j for i, j in self.inputs.items() if i[0].startswith("truck, ")] + [j for i, j in self.inputs.items() if i[0].startswith("truck, ")], ] = ( self.array.sel(parameter="other components mass") * (self.array.sel(parameter="combustion power") == 0) @@ -140,7 +140,7 @@ def fill_in_A_matrix(self): self.A[ :, self.find_input_indices(("glider lightweighting",)), - [j for i, j in self.inputs.items() if i[0].startswith("truck, ")] + [j for i, j in self.inputs.items() if i[0].startswith("truck, ")], ] = ( self.array.sel(parameter="lightweighting") * self.array.sel(parameter="glider base mass") @@ -154,7 +154,7 @@ def fill_in_A_matrix(self): excludes=("CH",), excludes_in=1, ), - [j for i, j in self.inputs.items() if i[0].startswith("truck, ")] + [j for i, j in self.inputs.items() if i[0].startswith("truck, ")], ] = -1 * ( self.array.sel(parameter="gross mass") * (self.array.sel(parameter="gross mass") < 26000) @@ -165,7 +165,7 @@ def fill_in_A_matrix(self): self.A[ :, self.find_input_indices(contains=("maintenance, lorry 28 metric ton",)), - [j for i, j in self.inputs.items() if i[0].startswith("truck, ")] + [j for i, j in self.inputs.items() if i[0].startswith("truck, ")], ] = -1 * ( self.array.sel(parameter="gross mass") * np.where(self.array.sel(parameter="gross mass") < 26000, 0, 1) @@ -177,7 +177,7 @@ def fill_in_A_matrix(self): self.A[ :, self.find_input_indices(contains=("maintenance, lorry 40 metric ton",)), - [j for i, j in self.inputs.items() if i[0].startswith("truck, ")] + [j for i, j in self.inputs.items() if i[0].startswith("truck, ")], ] = -1 * ( self.array.sel(parameter="gross mass") * (self.array.sel(parameter="gross mass") >= 40000) @@ -191,7 +191,7 @@ def fill_in_A_matrix(self): self.find_input_indices( ("market for converter, for electric passenger car",) ), - [j for i, j in self.inputs.items() if i[0].startswith("truck, ")] + [j for i, j in self.inputs.items() if i[0].startswith("truck, ")], ] = ( self.array.sel(parameter="converter mass") * -1 ) @@ -201,7 +201,7 @@ def fill_in_A_matrix(self): self.find_input_indices( ("market for electric motor, electric passenger car",) ), - [j for i, j in self.inputs.items() if i[0].startswith("truck, ")] + [j for i, j in self.inputs.items() if i[0].startswith("truck, ")], ] = ( self.array.sel(parameter="electric engine mass") * -1 ) @@ -211,7 +211,7 @@ def fill_in_A_matrix(self): self.find_input_indices( ("market for inverter, for electric passenger car",) ), - [j for i, j in self.inputs.items() if i[0].startswith("truck, ")] + [j for i, j in self.inputs.items() if i[0].startswith("truck, ")], ] = ( self.array.sel(parameter="inverter mass") * -1 ) @@ -221,7 +221,7 @@ def fill_in_A_matrix(self): self.find_input_indices( ("market for power distribution unit, for electric passenger car",) ), - [j for i, j in self.inputs.items() if i[0].startswith("truck, ")] + [j for i, j in self.inputs.items() if i[0].startswith("truck, ")], ] = ( self.array.sel(parameter="power distribution unit mass") * -1 ) @@ -229,7 +229,7 @@ def fill_in_A_matrix(self): self.A[ :, self.find_input_indices(("internal combustion engine, for lorry",)), - [j for i, j in self.inputs.items() if i[0].startswith("truck, ")] + [j for i, j in self.inputs.items() if i[0].startswith("truck, ")], ] = ( self.array.sel(parameter="combustion engine mass") * -1 ) @@ -245,7 +245,7 @@ def fill_in_A_matrix(self): self.A[ :, self.find_input_indices(("lead acid battery, for lorry",)), - [j for i, j in self.inputs.items() if i[0].startswith("truck, ")] + [j for i, j in self.inputs.items() if i[0].startswith("truck, ")], ] = ( 16.0 # kg/battery * ( @@ -261,11 +261,12 @@ def fill_in_A_matrix(self): :, self.find_input_indices(("fuel tank, for diesel vehicle",)), [ - j for i, j in self.inputs.items() + j + for i, j in self.inputs.items() if i[0].startswith("truck, ") and "EV-d" in i[0] and "battery" not in i[0] - ] + ], ] = ( self.array.sel( parameter="fuel tank mass", @@ -287,7 +288,7 @@ def fill_in_A_matrix(self): self.find_input_indices( contains=("treatment of used lorry, 16 metric ton",) ), - [j for i, j in self.inputs.items() if i[0].startswith("truck, ")] + [j for i, j in self.inputs.items() if i[0].startswith("truck, ")], ] = 1 * ( self.array.sel(parameter="gross mass") * (self.array.sel(parameter="gross mass") < 26000) @@ -300,7 +301,7 @@ def fill_in_A_matrix(self): self.find_input_indices( contains=("treatment of used lorry, 28 metric ton",) ), - [j for i, j in self.inputs.items() if i[0].startswith("truck, ")] + [j for i, j in self.inputs.items() if i[0].startswith("truck, ")], ] = -1 * ( self.array.sel(parameter="gross mass") * np.where(self.array.sel(parameter="gross mass") < 26000, 0, 1) @@ -314,7 +315,7 @@ def fill_in_A_matrix(self): self.find_input_indices( contains=("treatment of used lorry, 40 metric ton",) ), - [j for i, j in self.inputs.items() if i[0].startswith("truck, ")] + [j for i, j in self.inputs.items() if i[0].startswith("truck, ")], ] = -1 * ( self.array.sel(parameter="gross mass") * (self.array.sel(parameter="gross mass") >= 40000) @@ -375,7 +376,7 @@ def fill_in_A_matrix(self): self.find_input_indices( "charger, for electric vehicles, level 3, plugin, 200 kW", ), - [j for i, j in self.inputs.items() if i[0].startswith("truck, ")] + [j for i, j in self.inputs.items() if i[0].startswith("truck, ")], ) ] = ( -1 diff --git a/carculator_truck/model.py b/carculator_truck/model.py index 7b6efd3..2e82c94 100644 --- a/carculator_truck/model.py +++ b/carculator_truck/model.py @@ -269,9 +269,9 @@ def set_battery_chemistry(self): } for x in product( - self.array.coords["powertrain"].values, - self.array.coords["size"].values, - self.array.year.values, + self.array.coords["powertrain"].values, + self.array.coords["size"].values, + self.array.year.values, ): if x not in self.energy_storage["electric"]: if x[-1] in default_chemistries: diff --git a/tests/test_inventory.py b/tests/test_inventory.py index 6b47612..caba89f 100644 --- a/tests/test_inventory.py +++ b/tests/test_inventory.py @@ -152,7 +152,9 @@ def test_endpoint(): """Test if the correct impact categories are considered""" ic = InventoryTruck(tm, method="recipe", indicator="endpoint") results = ic.calculate_impacts() - assert "climate change: human health" in [i.lower() for i in results.impact_category.values] + assert "climate change: human health" in [ + i.lower() for i in results.impact_category.values + ] assert len(results.impact_category.values) == 26 """Test if it errors properly if an incorrect method type is give"""