From fbd7a7766ab371040d56b08fc4fdff4c0172cadb Mon Sep 17 00:00:00 2001 From: Vishal Date: Thu, 22 Jan 2026 21:47:46 +0530 Subject: [PATCH 1/4] Remove rounding before scaling in substation forecast route --- src/quartz_api/internal/service/substations/router.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/quartz_api/internal/service/substations/router.py b/src/quartz_api/internal/service/substations/router.py index d28176dc..170e3832 100644 --- a/src/quartz_api/internal/service/substations/router.py +++ b/src/quartz_api/internal/service/substations/router.py @@ -120,7 +120,7 @@ async def get_all_substation_forecast_at_one_timestamp( continue scale_factor = substation.capacity_kW / \ (gsp_region.region_metadata["effective_capacity_watts"] / 1000) - substation_forecast_value = round(gsp_forecast_value * scale_factor,3) + substation_forecast_value = gsp_forecast_value * scale_factor # assign to substation forecasts.forecast_values_kW[str(substation.substation_uuid)] = substation_forecast_value From a467c740beb484171f0a0a4d0aa6560999c27c6d Mon Sep 17 00:00:00 2001 From: Vishal Date: Thu, 22 Jan 2026 22:20:35 +0530 Subject: [PATCH 2/4] Round substation forecast values after scaling --- src/quartz_api/internal/backends/dataplatform/client.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/quartz_api/internal/backends/dataplatform/client.py b/src/quartz_api/internal/backends/dataplatform/client.py index 5f020f78..1d4de55a 100644 --- a/src/quartz_api/internal/backends/dataplatform/client.py +++ b/src/quartz_api/internal/backends/dataplatform/client.py @@ -277,7 +277,7 @@ async def get_substation_forecast( # Scale the forecast to the substation capacity scale_factor: float = substation.effective_capacity_watts / gsp.effective_capacity_watts for value in forecast: - value.power_kW = value.power_kW * scale_factor + value.power_kW = round(value.power_kW * scale_factor, 2) log.debug( "gsp=%s, substation=%s, scalefactor=%s, scaling GSP to substation", From 2a4a3583a87d288e4017bf9553d4dfe17af1fc9e Mon Sep 17 00:00:00 2001 From: Vishal Date: Fri, 23 Jan 2026 20:48:17 +0530 Subject: [PATCH 3/4] Fix substation forecast scaling and rounding precision --- src/quartz_api/internal/backends/dataplatform/client.py | 2 +- src/quartz_api/internal/service/substations/router.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/quartz_api/internal/backends/dataplatform/client.py b/src/quartz_api/internal/backends/dataplatform/client.py index 1d4de55a..8f71bb18 100644 --- a/src/quartz_api/internal/backends/dataplatform/client.py +++ b/src/quartz_api/internal/backends/dataplatform/client.py @@ -277,7 +277,7 @@ async def get_substation_forecast( # Scale the forecast to the substation capacity scale_factor: float = substation.effective_capacity_watts / gsp.effective_capacity_watts for value in forecast: - value.power_kW = round(value.power_kW * scale_factor, 2) + value.power_kW = round(value.power_kW * scale_factor, 3) log.debug( "gsp=%s, substation=%s, scalefactor=%s, scaling GSP to substation", diff --git a/src/quartz_api/internal/service/substations/router.py b/src/quartz_api/internal/service/substations/router.py index 170e3832..7e784ce6 100644 --- a/src/quartz_api/internal/service/substations/router.py +++ b/src/quartz_api/internal/service/substations/router.py @@ -120,7 +120,7 @@ async def get_all_substation_forecast_at_one_timestamp( continue scale_factor = substation.capacity_kW / \ (gsp_region.region_metadata["effective_capacity_watts"] / 1000) - substation_forecast_value = gsp_forecast_value * scale_factor + substation_forecast_value = round(gsp_forecast_value * scale_factor, 3) # assign to substation forecasts.forecast_values_kW[str(substation.substation_uuid)] = substation_forecast_value From c2cb6f8bf18fe496f477146b67e2931e2a9b2893 Mon Sep 17 00:00:00 2001 From: Vishal Date: Wed, 4 Feb 2026 20:58:04 +0530 Subject: [PATCH 4/4] Fix newline at EOF for lint --- src/quartz_api/internal/service/substations/router.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/quartz_api/internal/service/substations/router.py b/src/quartz_api/internal/service/substations/router.py index 4a891ccd..a1f2ebd8 100644 --- a/src/quartz_api/internal/service/substations/router.py +++ b/src/quartz_api/internal/service/substations/router.py @@ -190,4 +190,4 @@ async def get_all_substation_forecast_at_one_timestamp( forecast_values_kW=out_dict, ) - return out \ No newline at end of file + return out