From e95b8ca8e31167ad2acc6b09d5e763e5559314de Mon Sep 17 00:00:00 2001 From: mosc5 Date: Tue, 4 Nov 2025 22:41:34 +0100 Subject: [PATCH 1/3] fix rare errors in probability mode --- simbev/car.py | 2 +- simbev/trip.py | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/simbev/car.py b/simbev/car.py index e092cf5..8aa05c0 100644 --- a/simbev/car.py +++ b/simbev/car.py @@ -471,7 +471,7 @@ def charge( trip.simbev.hpc_data["soc_end_min"], trip.simbev.hpc_data["soc_end_max"] ) - if max_charging_time > trip.park_time: + if max_charging_time > trip.park_time and charging_type == "slow": max_charging_time = trip.park_time if power != 0: diff --git a/simbev/trip.py b/simbev/trip.py index dd8f43e..860f65c 100644 --- a/simbev/trip.py +++ b/simbev/trip.py @@ -549,10 +549,11 @@ def fit_trip_to_timerange(self): and not self.car.output["location"][index] == "driving" ): next_drive_timesteps = timestep + self.real_park_time = ( + self.park_time + next_drive_timesteps - replacement_day_timestep + ) break - self.real_park_time = ( - self.park_time + next_drive_timesteps - replacement_day_timestep - ) + elif self.simbev.input_type == "profile": next_drive_timesteps = self.car.driving_profile.loc[ self.car.driving_profile["time_step"] > replacement_day_timestep From 8d8a7b84221a2467ab65768b4be74290aae111bd Mon Sep 17 00:00:00 2001 From: mosc5 Date: Tue, 4 Nov 2025 23:53:51 +0100 Subject: [PATCH 2/3] update metadata creation --- simbev/__init__.py | 2 +- simbev/helpers/helpers.py | 5 +++-- simbev/simbev_class.py | 1 + 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/simbev/__init__.py b/simbev/__init__.py index ae73625..8c0d5d5 100644 --- a/simbev/__init__.py +++ b/simbev/__init__.py @@ -1 +1 @@ -__version__ = "0.1.3" +__version__ = "2.0.0" diff --git a/simbev/helpers/helpers.py b/simbev/helpers/helpers.py index dcb89be..0ef739e 100644 --- a/simbev/helpers/helpers.py +++ b/simbev/helpers/helpers.py @@ -72,12 +72,14 @@ def export_metadata(simbev, config): ] ] meta_dict = { - "simBEV_version": __version__, + "SimBEV_version": __version__, "scenario": simbev.name, "timestamp_start": simbev.timestamp, "timestamp_end": datetime.datetime.now().strftime("%Y-%m-%d_%H%M%S"), "config": config._sections, "tech_data": simbev.tech_data.to_dict(orient="index"), + "regions": simbev.region_data.to_dict(orient="index"), + "home_charging": simbev.home_parking.to_dict(), "charge_prob_slow": simbev.charging_probabilities["slow"].to_dict( orient="index" ), @@ -85,7 +87,6 @@ def export_metadata(simbev, config): orient="index" ), "car_sum": cars.sum().to_dict(), - "car_amounts": cars.to_dict(orient="index"), } outfile = Path(simbev.save_directory, "metadata_simbev_run.json") with open(outfile, "w") as f: diff --git a/simbev/simbev_class.py b/simbev/simbev_class.py index b862789..5517214 100644 --- a/simbev/simbev_class.py +++ b/simbev/simbev_class.py @@ -1007,6 +1007,7 @@ def from_config(cls, config_path): pathlib.Path(scenario_path, cfg["rampup_ev"]["rampup"]), sep=",", index_col=0, + dtype={"region_id":str} ) # read chargepoint probabilities From 0277ebcce09aeb8049daeaa10cc6b1ac7021d0c8 Mon Sep 17 00:00:00 2001 From: mosc5 Date: Wed, 5 Nov 2025 00:16:32 +0100 Subject: [PATCH 3/3] restore car_amounts in metadata for backwards compatibility --- simbev/helpers/helpers.py | 1 + 1 file changed, 1 insertion(+) diff --git a/simbev/helpers/helpers.py b/simbev/helpers/helpers.py index 0ef739e..dc2522f 100644 --- a/simbev/helpers/helpers.py +++ b/simbev/helpers/helpers.py @@ -87,6 +87,7 @@ def export_metadata(simbev, config): orient="index" ), "car_sum": cars.sum().to_dict(), + "car_amounts": cars.to_dict(orient="index"), } outfile = Path(simbev.save_directory, "metadata_simbev_run.json") with open(outfile, "w") as f: