From c7a69cffc65061b4127b6a54ecc1860965b562ba Mon Sep 17 00:00:00 2001 From: romainsacchi Date: Tue, 6 Aug 2024 20:49:11 +0200 Subject: [PATCH] Fix energy density values --- .../lci-hydrogen-distribution.xlsx | Bin 36565 -> 36087 bytes premise/heat.py | 11 +- .../iam_variables_mapping/heat_variables.yaml | 1 + premise/validation.py | 164 ------------------ 4 files changed, 10 insertions(+), 166 deletions(-) diff --git a/premise/data/additional_inventories/lci-hydrogen-distribution.xlsx b/premise/data/additional_inventories/lci-hydrogen-distribution.xlsx index c65df3821463ea4c2d7679133b1919ddb3a5f024..21ea602bb8a7827710c961c078326766b155da23 100644 GIT binary patch delta 28275 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 1.1: - message = f"Transport market {ds['name']} in {ds['location']} inputs sum to {total}." - self.log_issue( - ds, - "transport market inputs do not sum to 1", - message, - issue_type="major", - ) - - def check_vehicles(self): - for act in [ - a - for a in self.database - if a["name"].startswith("transport, freight") - and ", unspecified powertrain" in a["name"] - ]: - # check that all transport exchanges are differently named or are from a different location - names_locations = [ - (exc["name"], exc["location"]) - for exc in act["exchanges"] - if exc["type"] == "technosphere" - ] - if len(names_locations) != len(set(names_locations)): - message = "Duplicate transport exchanges" - self.log_issue( - act, "duplicate transport exchanges", message, issue_type="major" - ) - - def check_vehicle_efficiency( - self, - vehicle_name, - fossil_minimum=0.0, - fossil_maximum=0.5, - elec_minimum=0.1, - elec_maximum=0.35, - ): - # check that the efficiency of the car production datasets - # is within the expected range - - for ds in self.database: - if "plugin" in ds["name"]: - continue - - if ds["name"].startswith(vehicle_name) and ds["location"] in self.regions: - electricity_consumption = sum( - [ - x["amount"] - for x in ds["exchanges"] - if x["name"].startswith("market group for electricity") - or x["name"].startswith("market for electricity") - and x["type"] == "technosphere" - ] - ) - if electricity_consumption > 0: - if ( - electricity_consumption < elec_minimum - or electricity_consumption > elec_maximum - ): - message = f"Electricity consumption per 100 km is incorrect: {electricity_consumption * 100}." - self.log_issue( - ds, - "electricity consumption too high", - message, - issue_type="major", - ) - - fuel_consumption = sum( - [ - x["amount"] - for x in ds["exchanges"] - if x["name"].startswith("market for diesel") - or x["name"].startswith("market for petrol") - and x["type"] == "technosphere" - ] - ) - - if fuel_consumption == 0: - - fuel_consumption += sum( - [ - x["amount"] - * (47.5 if x["unit"] == "kilogram" else 36) - / 42.6 - for x in ds["exchanges"] - if x["name"].startswith("market for natural gas") - or x["name"].startswith("market group for natural gas") - and x["type"] == "technosphere" - ] - ) - - if fuel_consumption > 0: - if ( - fuel_consumption < fossil_minimum - or fuel_consumption > fossil_maximum - ): - message = f"Fuel consumption per 100 km is incorrect: {fuel_consumption * 100}." - self.log_issue( - ds, - "fuel consumption incorrect", - message, - issue_type="major", - ) - - # sum the amounts of Carbon dioxide (fossil and non-fossil) - # and make sure it is roughly equal to 3.15 kg CO2/kg diesel - co2 = sum( - [ - x["amount"] - for x in ds["exchanges"] - if x["name"].startswith("Carbon dioxide") - and x["type"] == "biosphere" - and x.get("categories", [None])[0] == "air" - ] - ) - if not math.isclose(co2, 3.15 * fuel_consumption, rel_tol=0.1): - message = f"CO2 emissions per km are incorrect: {co2} instead of {3.15 * fuel_consumption}." - self.log_issue( - ds, - "CO2 emissions incorrect", - message, - issue_type="major", - ) - - def run_transport_checks(self): - self.check_transport_markets() - self.check_vehicles() - self.check_vehicle_efficiency( - vehicle_name="transport, freight, lorry", - fossil_minimum=0.0, - fossil_maximum=0.5, - elec_minimum=0.1, - elec_maximum=0.5, - ) - self.check_vehicle_efficiency( - vehicle_name="transport, freight train", - fossil_minimum=0.0, - fossil_maximum=0.5, - elec_minimum=0.0, - elec_maximum=0.5, - ) - self.save_log()