From c33e765301e64fb898e48cfb3a3d682bcfca73d8 Mon Sep 17 00:00:00 2001 From: Jack Burgess Date: Wed, 20 May 2026 15:04:06 +0100 Subject: [PATCH 1/6] feat: added afp latest update and timeseries --- CONTRIBUTING.md | 4 +- README.md | 2 +- docs/css/custom.css | 5 + docs/scripts/serve_docs.sh | 2 + mkdocs.yml | 12 ++ pydocmd.yml | 17 ++- ...freight_pricing_latest_update_timestamp.py | 7 ++ ...ywhere_freight_pricing_price_timeseries.py | 55 +++++++++ vortexasdk/__init__.py | 4 + vortexasdk/endpoints/__init__.py | 8 ++ ...where_freight_pricing_get_price_details.py | 7 ++ ...freight_pricing_latest_update_timestamp.py | 63 ++++++++++ ...here_freight_pricing_post_price_details.py | 7 ++ ...ywhere_freight_pricing_price_timeseries.py | 115 ++++++++++++++++++ ...freight_pricing_price_timeseries_result.py | 61 ++++++++++ ...e_freight_pricing_top_ports_destination.py | 7 ++ ...ywhere_freight_pricing_top_ports_origin.py | 7 ++ ..._freight_pricing_vessel_classes_details.py | 7 ++ vortexasdk/endpoints/endpoints.py | 3 + 19 files changed, 389 insertions(+), 4 deletions(-) create mode 100644 docs/css/custom.css create mode 100644 tests/endpoints/test_anywhere_freight_pricing_latest_update_timestamp.py create mode 100644 tests/endpoints/test_anywhere_freight_pricing_price_timeseries.py create mode 100644 vortexasdk/endpoints/anywhere_freight_pricing_get_price_details.py create mode 100644 vortexasdk/endpoints/anywhere_freight_pricing_latest_update_timestamp.py create mode 100644 vortexasdk/endpoints/anywhere_freight_pricing_post_price_details.py create mode 100644 vortexasdk/endpoints/anywhere_freight_pricing_price_timeseries.py create mode 100644 vortexasdk/endpoints/anywhere_freight_pricing_price_timeseries_result.py create mode 100644 vortexasdk/endpoints/anywhere_freight_pricing_top_ports_destination.py create mode 100644 vortexasdk/endpoints/anywhere_freight_pricing_top_ports_origin.py create mode 100644 vortexasdk/endpoints/anywhere_freight_pricing_vessel_classes_details.py diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index bcca56f1e..f7bcaade0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -46,10 +46,10 @@ pip install -e '.[tests]' To run the live tests, you'll need to have the `VORTEXA_API_KEY` environment variable set - `export VORTEXA_API_KEY=xyz` -run tests +run all tests ```bash -python setup.py test +pytest ``` If you're just looking to run tests in a single module (`test_vessels` in this case), you can do like this: diff --git a/README.md b/README.md index a3a4e60f9..b6685bb32 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Data Scientists, Analysts and Developers efficiently explore the world’s waterborne oil movements, and to build custom models & reports with minimum setup cost. -The SDK sits as a thin python wrapper around +The SDK!! sits as a thin python wrapper around [Vortexa's API](https://docs.vortexa.com), giving you immediate access to pandas DataFrames. diff --git a/docs/css/custom.css b/docs/css/custom.css new file mode 100644 index 000000000..5d01ba70f --- /dev/null +++ b/docs/css/custom.css @@ -0,0 +1,5 @@ +/* Fix long module names overflowing */ +h1, h2, h3, h4, h5, h6 { + word-wrap: break-word; + overflow-wrap: break-word; +} diff --git a/docs/scripts/serve_docs.sh b/docs/scripts/serve_docs.sh index f24229ac1..a544addf0 100755 --- a/docs/scripts/serve_docs.sh +++ b/docs/scripts/serve_docs.sh @@ -4,5 +4,7 @@ set -e . venv/bin/activate rm -rf ./_build mkdir -p ./_build/pydocmd/examples +mkdir -p ./_build/pydocmd/css +cp -r docs/css/* ./_build/pydocmd/css/ python docs/autogen.py pydocmd serve diff --git a/mkdocs.yml b/mkdocs.yml index c070a07db..78e501016 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -24,6 +24,16 @@ pages: Products: endpoints/products.md Vessels: endpoints/vessels.md Fixtures: endpoints/fixtures.md + Anywhere Freight Pricing: + Latest Update: endpoints/anywhere_freight_pricing_latest_update_timestamp.md + Time-series: endpoints/anywhere_freight_pricing_price_timeseries.md + Price: + Get Prices: endpoints/anywhere_freight_pricing_get_price_details.md + Post Prices: endpoints/anywhere_freight_pricing_post_price_details.md + Top Ports: + Origin: endpoints/anywhere_freight_pricing_top_ports_origin.md + Destination: endpoints/anywhere_freight_pricing_top_ports_destination.md + Vessel Classes: endpoints/anywhere_freight_pricing_vessel_classes_details.md Vessel Availability: Search: endpoints/vessel_availability_search.md Time Series: endpoints/vessel_availability_timeseries.md @@ -75,3 +85,5 @@ theme: custom_dir: custom_theme/ name: readthedocs search_index_only: false +extra_css: + - css/custom.css diff --git a/pydocmd.yml b/pydocmd.yml index 90f04d512..161ce7ccd 100644 --- a/pydocmd.yml +++ b/pydocmd.yml @@ -93,8 +93,23 @@ generate: - endpoints/voyages_routes_breakdown.md: vortexasdk.endpoints.voyages_routes_breakdown++ - endpoints/voyages_top_hits.md: vortexasdk.endpoints.voyages_top_hits++ - endpoints/voyages_congestion_breakdown.md: vortexasdk.endpoints.voyages_congestion_breakdown++ - - endpoints/refineries.md: + - endpoints/refineries.md: - vortexasdk.endpoints.refineries++ + - endpoints/anywhere_freight_pricing_latest_update_timestamp.md: + - vortexasdk.endpoints.anywhere_freight_pricing_latest_update_timestamp++ + - endpoints/anywhere_freight_pricing_price_timeseries.md: + - vortexasdk.endpoints.anywhere_freight_pricing_price_timeseries++ + - vortexasdk.endpoints.anywhere_freight_pricing_price_timeseries_result++ + - endpoints/anywhere_freight_pricing_get_price_details.md: + - vortexasdk.endpoints.anywhere_freight_pricing_get_price_details++ + - endpoints/anywhere_freight_pricing_post_price_details.md: + - vortexasdk.endpoints.anywhere_freight_pricing_post_price_details++ + - endpoints/anywhere_freight_pricing_top_ports_origin.md: + - vortexasdk.endpoints.anywhere_freight_pricing_top_ports_origin++ + - endpoints/anywhere_freight_pricing_top_ports_destination.md: + - vortexasdk.endpoints.anywhere_freight_pricing_top_ports_destination++ + - endpoints/anywhere_freight_pricing_vessel_classes_details.md: + - vortexasdk.endpoints.anywhere_freight_pricing_vessel_classes_details++ pages: - Home: index.md << README.md - Endpoints: diff --git a/tests/endpoints/test_anywhere_freight_pricing_latest_update_timestamp.py b/tests/endpoints/test_anywhere_freight_pricing_latest_update_timestamp.py new file mode 100644 index 000000000..3f64236bf --- /dev/null +++ b/tests/endpoints/test_anywhere_freight_pricing_latest_update_timestamp.py @@ -0,0 +1,7 @@ +from tests.testcases import TestCaseUsingRealAPI +from vortexasdk import AnywhereFreightPricingLatestUpdateTimestamp + +class TestAnywhereFreightPricingLatestUpdateTimestamp(TestCaseUsingRealAPI): + def test_search_returns_timestamp(self): + result = AnywhereFreightPricingLatestUpdateTimestamp().search() + assert "timestamp" in result \ No newline at end of file diff --git a/tests/endpoints/test_anywhere_freight_pricing_price_timeseries.py b/tests/endpoints/test_anywhere_freight_pricing_price_timeseries.py new file mode 100644 index 000000000..a4e91e6f6 --- /dev/null +++ b/tests/endpoints/test_anywhere_freight_pricing_price_timeseries.py @@ -0,0 +1,55 @@ +from datetime import datetime + +from tests.testcases import TestCaseUsingRealAPI +from vortexasdk import AnywhereFreightPricingPriceTimeseries + + +class TestAnywhereFreightPricingPriceTimeseries(TestCaseUsingRealAPI): + def test_search_returns_data(self): + routes = [ + { + "origin_port": "68faf65af1345067f11dc6723b8da32f00e304a6f33c000118fccd81947deb4e", + "destination_port": "ea4921c8ad4fddb5fe3e7a4f834c1aa5863e43283c73da5f02d93bbc5dba72eb", + "product": "clean", + "vessel_class": "oil_handymax_mr2", + } + ] + + result = AnywhereFreightPricingPriceTimeseries().search( + routes=routes, + time_min=datetime(2026, 2, 20), + time_max=datetime(2026, 5, 20), + frequency="month", + unit="usd_per_tonne", + ) + + result_list = result.to_list() + assert len(result_list) > 0 + assert "origin_port" in result_list[0] + assert "destination_port" in result_list[0] + assert "prices" in result_list[0] + + def test_search_to_df(self): + routes = [ + { + "origin_port": "68faf65af1345067f11dc6723b8da32f00e304a6f33c000118fccd81947deb4e", + "destination_port": "ea4921c8ad4fddb5fe3e7a4f834c1aa5863e43283c73da5f02d93bbc5dba72eb", + "product": "clean", + "vessel_class": "oil_handymax_mr2", + } + ] + + result = AnywhereFreightPricingPriceTimeseries().search( + routes=routes, + time_min=datetime(2026, 2, 20), + time_max=datetime(2026, 5, 20), + frequency="month", + unit="usd_per_tonne", + ) + + df = result.to_df() + assert len(df) > 0 + assert "origin_port" in df.columns + assert "destination_port" in df.columns + assert "date" in df.columns + assert "price" in df.columns diff --git a/vortexasdk/__init__.py b/vortexasdk/__init__.py index fc28ab343..f1505ae0a 100644 --- a/vortexasdk/__init__.py +++ b/vortexasdk/__init__.py @@ -40,6 +40,8 @@ VesselSummary, VesselPositions, Refineries, + AnywhereFreightPricingLatestUpdateTimestamp, + AnywhereFreightPricingPriceTimeseries, ) # noinspection PyUnresolvedReferences @@ -88,6 +90,8 @@ "VesselSummary", "VesselPositions", "Refineries", + "AnywhereFreightPricingLatestUpdateTimestamp", + "AnywhereFreightPricingPriceTimeseries", "__version__", "run_all_checks", ] diff --git a/vortexasdk/endpoints/__init__.py b/vortexasdk/endpoints/__init__.py index 8db54fc8c..5963f85ed 100644 --- a/vortexasdk/endpoints/__init__.py +++ b/vortexasdk/endpoints/__init__.py @@ -68,6 +68,12 @@ from vortexasdk.endpoints.vessel_positions import VesselPositions from vortexasdk.endpoints.refineries import Refineries +from vortexasdk.endpoints.anywhere_freight_pricing_latest_update_timestamp import ( + AnywhereFreightPricingLatestUpdateTimestamp, +) +from vortexasdk.endpoints.anywhere_freight_pricing_price_timeseries import ( + AnywhereFreightPricingPriceTimeseries, +) # Explicitly list all exported classes, to help MyPy know what is available __all__ = [ @@ -109,4 +115,6 @@ "VesselSummary", "VesselPositions", "Refineries", + "AnywhereFreightPricingLatestUpdateTimestamp", + "AnywhereFreightPricingPriceTimeseries", ] diff --git a/vortexasdk/endpoints/anywhere_freight_pricing_get_price_details.py b/vortexasdk/endpoints/anywhere_freight_pricing_get_price_details.py new file mode 100644 index 000000000..aebd9a03f --- /dev/null +++ b/vortexasdk/endpoints/anywhere_freight_pricing_get_price_details.py @@ -0,0 +1,7 @@ +"""Anywhere Freight Pricing - Get Price Details.""" + + +class AnywhereFreightPricingGetPriceDetails: + """Anywhere Freight Pricing Get Price Details endpoint.""" + + pass diff --git a/vortexasdk/endpoints/anywhere_freight_pricing_latest_update_timestamp.py b/vortexasdk/endpoints/anywhere_freight_pricing_latest_update_timestamp.py new file mode 100644 index 000000000..53a672cdf --- /dev/null +++ b/vortexasdk/endpoints/anywhere_freight_pricing_latest_update_timestamp.py @@ -0,0 +1,63 @@ +# TODO: Check if we want a try me now Binder notebook + +from typing import Dict + +from vortexasdk.client import default_client +from vortexasdk.endpoints.endpoints import ANYWHERE_FREIGHT_PRICING_LATEST_UPDATE +from vortexasdk.logger import get_logger +from vortexasdk.retry_session import retry_get + +logger = get_logger(__name__) + + +class AnywhereFreightPricingLatestUpdateTimestamp: + """ + Anywhere Freight Pricing Latest Update Timestamp endpoint. + + Please note: you will require a subscription to our Anywhere Freight Pricing + module to access this endpoint. + """ + + def __init__(self) -> None: + self._resource = ANYWHERE_FREIGHT_PRICING_LATEST_UPDATE + + def search(self) -> Dict[str, str]: + """ + Get the time the predicted route prices were last updated. + + # Returns + A dictionary containing a `timestamp` key with the ISO 8601 formatted + date-time string of when the pricing predictions were last updated. + + # Example + _Get the latest update timestamp for Anywhere Freight Pricing._ + + ```python + >>> from vortexasdk import AnywhereFreightPricingLatestUpdateTimestamp + >>> result = AnywhereFreightPricingLatestUpdateTimestamp().search() + + ``` + + Returns: + + ``` + { + 'timestamp': '2025-01-30T14:40:06.803Z' + } + ``` + + """ + logger.info("Fetching Anywhere Freight Pricing latest update timestamp") + + client = default_client() + url = client._create_url(self._resource) + response = retry_get(url) + + if not response.ok: + logger.error(response.reason) + raise ValueError( + f"[{response.status_code} {response.reason}] " + f"Failed to fetch latest update timestamp" + ) + + return response.json() diff --git a/vortexasdk/endpoints/anywhere_freight_pricing_post_price_details.py b/vortexasdk/endpoints/anywhere_freight_pricing_post_price_details.py new file mode 100644 index 000000000..09d7bf4f8 --- /dev/null +++ b/vortexasdk/endpoints/anywhere_freight_pricing_post_price_details.py @@ -0,0 +1,7 @@ +"""Anywhere Freight Pricing - Post Price Details.""" + + +class AnywhereFreightPricingPostPriceDetails: + """Anywhere Freight Pricing Post Price Details endpoint.""" + + pass diff --git a/vortexasdk/endpoints/anywhere_freight_pricing_price_timeseries.py b/vortexasdk/endpoints/anywhere_freight_pricing_price_timeseries.py new file mode 100644 index 000000000..cdffac365 --- /dev/null +++ b/vortexasdk/endpoints/anywhere_freight_pricing_price_timeseries.py @@ -0,0 +1,115 @@ +from datetime import datetime +from typing import Any, Dict, List + +from vortexasdk.endpoints.endpoints import ANYWHERE_FREIGHT_PRICING_PRICE_TIMESERIES +from vortexasdk.endpoints.anywhere_freight_pricing_price_timeseries_result import ( + AnywhereFreightPricingPriceTimeseriesResult, +) +from vortexasdk.logger import get_logger +from vortexasdk.operations import Search + +logger = get_logger(__name__) + + +def _to_date_string(dt: datetime) -> str: + """Convert datetime to YYYY-MM-DD date string as required by AFP API.""" + return dt.strftime("%Y-%m-%d") + + +class AnywhereFreightPricingPriceTimeseries(Search): + """ + Anywhere Freight Pricing Price Timeseries endpoint. + + Please note: you will require a subscription to our Anywhere Freight Pricing + module to access this endpoint. + """ + + def __init__(self) -> None: + Search.__init__(self, ANYWHERE_FREIGHT_PRICING_PRICE_TIMESERIES) + + def search( + self, + routes: List[Dict[str, Any]], + time_min: datetime, + time_max: datetime, + frequency: str = "month", + unit: str = "usd_per_tonne", + ) -> AnywhereFreightPricingPriceTimeseriesResult: + """ + Get historical pricing over time for multiple routes. + + Given a set of details about multiple routes (origin, destination, etc), + a time period and frequency, this returns historical pricing over time + bucketed by the chosen frequency. + + # Arguments + + routes: A list of route dictionaries. Each route must contain: + - `origin_port` (str, required): Geographical ID of the origin port. + - `destination_port` (str, required): Geographical ID of the destination port. + - `product` (str, required): One of `'clean'`, `'dirty'`, `'crude'`. + - `vessel_class` (str, required): One of `'oil_coastal'`, `'oil_specialised'`, + `'oil_handysize_mr1'`, `'oil_handymax_mr2'`, `'oil_panamax_lr1'`, + `'oil_aframax_lr2'`, `'oil_suezmax_lr3'`, `'oil_vlcc'`. + - `avoid_zone` (list, optional): Routing zones to avoid. Options: + `'Panama Canal'`, `'Suez Canal'`. + - `suggested_tonnage` (float, optional): Suggested tonnage for the route. + + time_min: The UTC start date of the time filter. + + time_max: The UTC end date of the time filter. + + frequency: Frequency denoting the granularity of the time series. + Must be one of: `'day'`, `'week'`, `'doe_week'`, `'month'`, `'quarter'`, `'year'`. + + unit: The unit for pricing. Must be one of: `'usd_per_tonne'`, `'usd_per_barrel'`. + + # Returns + `AnywhereFreightPricingPriceTimeseriesResult` + + # Example + _Get daily pricing for a Handymax MR2 clean route from Rotterdam to New York._ + + ```python + >>> from vortexasdk import AnywhereFreightPricingPriceTimeseries + >>> from datetime import datetime + >>> routes = [ + ... { + ... "origin_port": "68faf65af1345067f11dc6723b8da32f00e304a6f33c000118fccd81947deb4e", + ... "destination_port": "ea4921c8ad4fddb5fe3e7a4f834c1aa5863e43283c73da5f02d93bbc5dba72eb", + ... "product": "clean", + ... "vessel_class": "oil_handymax_mr2", + ... } + ... ] + >>> result = AnywhereFreightPricingPriceTimeseries().search( + ... routes=routes, + ... time_min=datetime(2026, 2, 20), + ... time_max=datetime(2026, 5, 20), + ... frequency="day", + ... unit="usd_per_tonne", + ... ) + >>> df = result.to_df() + + ``` + + Returns a DataFrame with columns: + + | | origin_port | destination_port | vessel_class | product | date | price | price_lower | price_upper | voyage_price | + |---:|:------------|:-----------------|:---------------------|:--------|:-----------|------:|------------:|------------:|-------------- :| + | 0 | 68faf65a... | ea4921c8... | oil_handymax_mr2 | clean | 2026-02-20 | 15.50 | 14.00 | 17.00 | 16.223888 | + | 1 | 68faf65a... | ea4921c8... | oil_handymax_mr2 | clean | 2026-02-21 | 16.20 | 14.80 | 17.60 | 16.223888 | + + """ + api_params: Dict[str, Any] = { + "routes": routes, + "time_min": _to_date_string(time_min) if time_min else None, + "time_max": _to_date_string(time_max) if time_max else None, + "frequency": frequency, + "unit": unit, + } + + response = super().search_with_client(response_type="breakdown", **api_params) + + return AnywhereFreightPricingPriceTimeseriesResult( + records=response["data"], reference=response.get("reference", {}) + ) diff --git a/vortexasdk/endpoints/anywhere_freight_pricing_price_timeseries_result.py b/vortexasdk/endpoints/anywhere_freight_pricing_price_timeseries_result.py new file mode 100644 index 000000000..8a7526433 --- /dev/null +++ b/vortexasdk/endpoints/anywhere_freight_pricing_price_timeseries_result.py @@ -0,0 +1,61 @@ +from typing import Any, Dict, List + +import pandas as pd +from pydantic import Field + +from vortexasdk.api.search_result import Result +from vortexasdk.logger import get_logger + +logger = get_logger(__name__) + + +class AnywhereFreightPricingPriceTimeseriesResult(Result): + """Container class that holds the result from the AFP Price Timeseries endpoint.""" + + records: List = Field(default_factory=list) + reference: Dict[str, Any] = Field(default_factory=dict) + + def to_list(self) -> List[Dict[str, Any]]: + """ + Represent the results as a list of route pricing records. + + Each record contains route details (origin_port, destination_port, + vessel_class, product) and a list of prices over time. + """ + return self.records + + def to_df(self) -> pd.DataFrame: + """ + Represent the results as a flattened DataFrame. + + Each row represents a single price point for a route on a specific date. + """ + flattened_records = [] + + for record in self.records: + base_info = { + "origin_port": record.get("origin_port"), + "destination_port": record.get("destination_port"), + "vessel_class": record.get("vessel_class"), + "product": record.get("product"), + "avoid_zone": record.get("avoid_zone"), + "suggested_tonnage": record.get("suggested_tonnage"), + } + + for price_entry in record.get("prices", []): + row = { + **base_info, + "date": price_entry.get("date"), + "price": price_entry.get("price"), + "price_lower": price_entry.get("price_lower"), + "price_upper": price_entry.get("price_upper"), + "voyage_price": price_entry.get("voyage_price"), + } + flattened_records.append(row) + + df = pd.DataFrame(flattened_records) + + if "date" in df.columns: + df["date"] = pd.to_datetime(df["date"]) + + return df diff --git a/vortexasdk/endpoints/anywhere_freight_pricing_top_ports_destination.py b/vortexasdk/endpoints/anywhere_freight_pricing_top_ports_destination.py new file mode 100644 index 000000000..3bb1036d4 --- /dev/null +++ b/vortexasdk/endpoints/anywhere_freight_pricing_top_ports_destination.py @@ -0,0 +1,7 @@ +"""Anywhere Freight Pricing - Top Ports Destination.""" + + +class AnywhereFreightPricingTopPortsDestination: + """Anywhere Freight Pricing Top Ports Destination endpoint.""" + + pass diff --git a/vortexasdk/endpoints/anywhere_freight_pricing_top_ports_origin.py b/vortexasdk/endpoints/anywhere_freight_pricing_top_ports_origin.py new file mode 100644 index 000000000..2d6014bbe --- /dev/null +++ b/vortexasdk/endpoints/anywhere_freight_pricing_top_ports_origin.py @@ -0,0 +1,7 @@ +"""Anywhere Freight Pricing - Top Ports Origin.""" + + +class AnywhereFreightPricingTopPortsOrigin: + """Anywhere Freight Pricing Top Ports Origin endpoint.""" + + pass diff --git a/vortexasdk/endpoints/anywhere_freight_pricing_vessel_classes_details.py b/vortexasdk/endpoints/anywhere_freight_pricing_vessel_classes_details.py new file mode 100644 index 000000000..e6bd816a4 --- /dev/null +++ b/vortexasdk/endpoints/anywhere_freight_pricing_vessel_classes_details.py @@ -0,0 +1,7 @@ +"""Anywhere Freight Pricing - Vessel Classes Details.""" + + +class AnywhereFreightPricingVesselClassesDetails: + """Anywhere Freight Pricing Vessel Classes Details endpoint.""" + + pass diff --git a/vortexasdk/endpoints/endpoints.py b/vortexasdk/endpoints/endpoints.py index 3a60a1c4f..cb1a0cc55 100644 --- a/vortexasdk/endpoints/endpoints.py +++ b/vortexasdk/endpoints/endpoints.py @@ -33,6 +33,9 @@ FREIGHT_PRICING_SEARCH = "/v5/freight-outlook/rates" FREIGHT_PRICING_TIMESERIES = "/v5/freight-outlook/timeseries" +ANYWHERE_FREIGHT_PRICING_LATEST_UPDATE = "/v5/anywhere-freight-pricing/latest-update-timestamp" +ANYWHERE_FREIGHT_PRICING_PRICE_TIMESERIES = "/v5/anywhere-freight-pricing/price-timeseries" + VOYAGES_SEARCH_ENRICHED = "/v5/voyages/search-enriched" VOYAGES_TOP_HITS = "/v5/voyages/top-hits" VOYAGES_CONGESTION_BREAKDOWN = "/v5/voyages/congestion-breakdown" From e2387c19ea7ceb5293c8b1b1569ee7de602e16e0 Mon Sep 17 00:00:00 2001 From: Jack Burgess Date: Thu, 21 May 2026 14:08:05 +0100 Subject: [PATCH 2/6] feat: added afp endpoints --- Untitled.ipynb | 70 ++++++++ pydocmd.yml | 3 +- scripts/Untitled.ipynb | 71 +++++++++ ...where_freight_pricing_get_price_details.py | 57 +++++++ ...here_freight_pricing_post_price_details.py | 101 ++++++++++++ ...ywhere_freight_pricing_price_timeseries.py | 4 +- ...e_freight_pricing_top_ports_destination.py | 45 ++++++ ...ywhere_freight_pricing_top_ports_origin.py | 45 ++++++ ..._freight_pricing_vessel_classes_details.py | 24 +++ vortexasdk/__init__.py | 10 ++ vortexasdk/endpoints/__init__.py | 20 +++ ...where_freight_pricing_get_price_details.py | 149 +++++++++++++++++- ...freight_pricing_latest_update_timestamp.py | 2 - ...here_freight_pricing_post_price_details.py | 118 +++++++++++++- ...ywhere_freight_pricing_price_timeseries.py | 10 +- ...freight_pricing_price_timeseries_result.py | 61 ------- .../anywhere_freight_pricing_result.py | 32 ++++ ...e_freight_pricing_top_ports_destination.py | 113 ++++++++++++- ...ywhere_freight_pricing_top_ports_origin.py | 113 ++++++++++++- ..._freight_pricing_vessel_classes_details.py | 72 ++++++++- vortexasdk/endpoints/endpoints.py | 4 + 21 files changed, 1037 insertions(+), 87 deletions(-) create mode 100644 Untitled.ipynb create mode 100644 scripts/Untitled.ipynb create mode 100644 tests/endpoints/test_anywhere_freight_pricing_get_price_details.py create mode 100644 tests/endpoints/test_anywhere_freight_pricing_post_price_details.py create mode 100644 tests/endpoints/test_anywhere_freight_pricing_top_ports_destination.py create mode 100644 tests/endpoints/test_anywhere_freight_pricing_top_ports_origin.py create mode 100644 tests/endpoints/test_anywhere_freight_pricing_vessel_classes_details.py delete mode 100644 vortexasdk/endpoints/anywhere_freight_pricing_price_timeseries_result.py create mode 100644 vortexasdk/endpoints/anywhere_freight_pricing_result.py diff --git a/Untitled.ipynb b/Untitled.ipynb new file mode 100644 index 000000000..342706da8 --- /dev/null +++ b/Untitled.ipynb @@ -0,0 +1,70 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "ee736f5c-71be-45c1-b50b-ab9312c66f3c", + "metadata": {}, + "outputs": [], + "source": [ + "from vortexasdk import AnywhereFreightPricingVesselClassesDetails\n", + "result = AnywhereFreightPricingVesselClassesDetails().search()\n", + "df = result.to_df()" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "16775683-741d-4713-b38b-6caf7e3a507f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " name suggested_tonnage min_tonnage max_tonnage\n", + "0 oil_handymax_mr2 37000.0 18000.0 54000.0\n", + "1 oil_panamax_lr1 60000.0 30000.0 79000.0\n", + "2 oil_aframax_lr2 85000.0 42000.0 119000.0\n", + "3 oil_handysize_mr1 30000.0 15000.0 39000.0\n", + "4 oil_suezmax_lr3 125000.0 62000.0 199000.0\n", + "5 oil_vlcc 270000.0 135000.0 350000.0\n", + "6 oil_specialised 15000.0 7000.0 24000.0\n" + ] + } + ], + "source": [ + "print(result.to_df())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8ff76440-c06d-4ec9-866e-d511cc773947", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/pydocmd.yml b/pydocmd.yml index 161ce7ccd..c59aeb072 100644 --- a/pydocmd.yml +++ b/pydocmd.yml @@ -97,9 +97,10 @@ generate: - vortexasdk.endpoints.refineries++ - endpoints/anywhere_freight_pricing_latest_update_timestamp.md: - vortexasdk.endpoints.anywhere_freight_pricing_latest_update_timestamp++ + - endpoints/anywhere_freight_pricing_result.md: + - vortexasdk.endpoints.anywhere_freight_pricing_result++ - endpoints/anywhere_freight_pricing_price_timeseries.md: - vortexasdk.endpoints.anywhere_freight_pricing_price_timeseries++ - - vortexasdk.endpoints.anywhere_freight_pricing_price_timeseries_result++ - endpoints/anywhere_freight_pricing_get_price_details.md: - vortexasdk.endpoints.anywhere_freight_pricing_get_price_details++ - endpoints/anywhere_freight_pricing_post_price_details.md: diff --git a/scripts/Untitled.ipynb b/scripts/Untitled.ipynb new file mode 100644 index 000000000..db29d7135 --- /dev/null +++ b/scripts/Untitled.ipynb @@ -0,0 +1,71 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 3, + "id": "181db90d-375f-4043-89a1-7daca5650916", + "metadata": {}, + "outputs": [], + "source": [ + "from vortexasdk import AnywhereFreightPricingGetPriceDetails\n", + "from datetime import datetime\n", + "result = AnywhereFreightPricingGetPriceDetails().search(\n", + " time_min=datetime(2024, 1, 1),\n", + " time_max=datetime(2024, 12, 31),\n", + " origin_port=\"7f314ba0a498c36359b1c88781e94a73e19dcc9bbb030ec6b82f944a73d4da2f\",\n", + " destination_port=\"68faf65af1345067f11dc6723b8da32f00e304a6f33c000118fccd81947deb4e\",\n", + " vessel_class=\"oil_aframax_lr2\",\n", + " product=\"crude\",\n", + " unit=\"usd_per_tonne\",\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "9a0e979c-6436-4ce7-aee9-3a5dd3c6750c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[{'vessel_class': 'oil_aframax_lr2', 'max_dwt': 119999.0, 'suggested_tonnage': 85000.0, 'suggested_tonnage_overridden': False, 'origin_port': {'id': '7f314ba0a498c36359b1c88781e94a73e19dcc9bbb030ec6b82f944a73d4da2f', 'lat': 29.71926, 'lon': -95.14733}, 'destination_port': {'id': '68faf65af1345067f11dc6723b8da32f00e304a6f33c000118fccd81947deb4e', 'lat': 51.90924, 'lon': 4.27941}, 'avoid_zone': None, 'via_waypoint': None, 'rates': [{'date': '2024-01-01', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.08209303613282}, {'date': '2024-01-02', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.71669081445313}, {'date': '2024-01-03', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 45.2116668581543}, {'date': '2024-01-04', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 53.66426161523438}, {'date': '2024-01-05', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 55.7420852541504}, {'date': '2024-01-06', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 55.7420852541504}, {'date': '2024-01-07', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 55.7420852541504}, {'date': '2024-01-08', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 57.49601439233399}, {'date': '2024-01-09', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 61.21355894799805}, {'date': '2024-01-10', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 61.1270721315918}, {'date': '2024-01-11', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 60.89009932275391}, {'date': '2024-01-12', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 58.68510893579102}, {'date': '2024-01-13', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 58.68510893579102}, {'date': '2024-01-14', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 58.68510893579102}, {'date': '2024-01-15', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 60.27659300561524}, {'date': '2024-01-16', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 61.260815417724615}, {'date': '2024-01-17', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 59.86363676782227}, {'date': '2024-01-18', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 52.482285296875006}, {'date': '2024-01-19', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 48.24264601464844}, {'date': '2024-01-20', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 48.24264601464844}, {'date': '2024-01-21', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 48.24264601464844}, {'date': '2024-01-22', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 47.08617094750977}, {'date': '2024-01-23', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 43.20050123925782}, {'date': '2024-01-24', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 42.032753741699224}, {'date': '2024-01-25', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 42.44755247827149}, {'date': '2024-01-26', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 42.50366286035157}, {'date': '2024-01-27', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 42.50366286035157}, {'date': '2024-01-28', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 42.50366286035157}, {'date': '2024-01-29', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 42.3493621706543}, {'date': '2024-01-30', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 39.681713855224615}, {'date': '2024-01-31', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 38.28048399682618}, {'date': '2024-02-01', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.51054075952149}, {'date': '2024-02-02', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.41557387109376}, {'date': '2024-02-03', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.41557387109376}, {'date': '2024-02-04', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.41557387109376}, {'date': '2024-02-05', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.00422743554688}, {'date': '2024-02-06', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.41365126367188}, {'date': '2024-02-07', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.55873183007813}, {'date': '2024-02-08', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.565651690917974}, {'date': '2024-02-09', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 39.27383116479493}, {'date': '2024-02-10', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 39.27383116479493}, {'date': '2024-02-11', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 39.27383116479493}, {'date': '2024-02-12', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 40.10672453637696}, {'date': '2024-02-13', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 40.269211566406256}, {'date': '2024-02-14', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 40.6942108034668}, {'date': '2024-02-15', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 40.760136401611334}, {'date': '2024-02-16', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 40.78485945458985}, {'date': '2024-02-17', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 40.78485945458985}, {'date': '2024-02-18', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 40.78485945458985}, {'date': '2024-02-19', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 40.83939055200196}, {'date': '2024-02-20', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 40.89413145776368}, {'date': '2024-02-21', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 40.68193892236329}, {'date': '2024-02-22', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 40.10672072167969}, {'date': '2024-02-23', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 38.39669874902344}, {'date': '2024-02-24', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 38.39669874902344}, {'date': '2024-02-25', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 38.39669874902344}, {'date': '2024-02-26', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.711552417236334}, {'date': '2024-02-27', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.536232745605474}, {'date': '2024-02-28', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.76778868432618}, {'date': '2024-02-29', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.014572894531256}, {'date': '2024-03-01', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.54411772485352}, {'date': '2024-03-02', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.54411772485352}, {'date': '2024-03-03', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.54411772485352}, {'date': '2024-03-04', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.03822783227539}, {'date': '2024-03-05', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.518139636474615}, {'date': '2024-03-06', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 38.13870314355469}, {'date': '2024-03-07', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 38.849777972656256}, {'date': '2024-03-08', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 39.10635832543946}, {'date': '2024-03-09', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 39.10635832543946}, {'date': '2024-03-10', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 39.10635832543946}, {'date': '2024-03-11', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 39.31216887231446}, {'date': '2024-03-12', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 38.72900465722657}, {'date': '2024-03-13', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.38909224267579}, {'date': '2024-03-14', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.71597746606446}, {'date': '2024-03-15', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.60619047875977}, {'date': '2024-03-16', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.60619047875977}, {'date': '2024-03-17', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.60619047875977}, {'date': '2024-03-18', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.022595202880865}, {'date': '2024-03-19', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 33.64241102929688}, {'date': '2024-03-20', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 33.27875784631348}, {'date': '2024-03-21', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.441540515380854}, {'date': '2024-03-22', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.963803088623045}, {'date': '2024-03-23', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.963803088623045}, {'date': '2024-03-24', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.963803088623045}, {'date': '2024-03-25', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.69361571069336}, {'date': '2024-03-26', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.547842776733397}, {'date': '2024-03-27', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.7098186373291}, {'date': '2024-03-28', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.47538260217285}, {'date': '2024-03-29', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.47538260217285}, {'date': '2024-03-30', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.47538260217285}, {'date': '2024-03-31', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.47538260217285}, {'date': '2024-04-01', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.502695834594725}, {'date': '2024-04-02', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.06048468347168}, {'date': '2024-04-03', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.754303729492182}, {'date': '2024-04-04', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 33.96869543786622}, {'date': '2024-04-05', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.37431792016602}, {'date': '2024-04-06', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.37431792016602}, {'date': '2024-04-07', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.37431792016602}, {'date': '2024-04-08', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.31845549340821}, {'date': '2024-04-09', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 41.733132159667974}, {'date': '2024-04-10', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 46.81390455957032}, {'date': '2024-04-11', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 46.23729399438477}, {'date': '2024-04-12', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 45.218220508056646}, {'date': '2024-04-13', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 45.218220508056646}, {'date': '2024-04-14', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 45.218220508056646}, {'date': '2024-04-15', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 44.44833449121094}, {'date': '2024-04-16', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 41.83054808374024}, {'date': '2024-04-17', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 38.942829883056646}, {'date': '2024-04-18', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.96589735742188}, {'date': '2024-04-19', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.89201048608399}, {'date': '2024-04-20', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.89201048608399}, {'date': '2024-04-21', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.89201048608399}, {'date': '2024-04-22', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 34.701340472656256}, {'date': '2024-04-23', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.75481489892578}, {'date': '2024-04-24', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 34.13366774316407}, {'date': '2024-04-25', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.20382765527344}, {'date': '2024-04-26', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.59060744042969}, {'date': '2024-04-27', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.59060744042969}, {'date': '2024-04-28', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.59060744042969}, {'date': '2024-04-29', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.913471972900396}, {'date': '2024-04-30', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.64727858300782}, {'date': '2024-05-01', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.408467090087896}, {'date': '2024-05-02', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.30630186791993}, {'date': '2024-05-03', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.83972243066407}, {'date': '2024-05-04', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.83972243066407}, {'date': '2024-05-05', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.83972243066407}, {'date': '2024-05-06', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 38.33987883325196}, {'date': '2024-05-07', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 38.08846739526368}, {'date': '2024-05-08', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.474716937500006}, {'date': '2024-05-09', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.245304858642584}, {'date': '2024-05-10', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.974995410400396}, {'date': '2024-05-11', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.974995410400396}, {'date': '2024-05-12', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.974995410400396}, {'date': '2024-05-13', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 34.55965307946778}, {'date': '2024-05-14', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 33.69086722131348}, {'date': '2024-05-15', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.948822772460936}, {'date': '2024-05-16', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 33.46171072717286}, {'date': '2024-05-17', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 33.682547366577154}, {'date': '2024-05-18', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 33.682547366577154}, {'date': '2024-05-19', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 33.682547366577154}, {'date': '2024-05-20', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 33.87207678552247}, {'date': '2024-05-21', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.9334457277832}, {'date': '2024-05-22', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 33.3991783022461}, {'date': '2024-05-23', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.47208479638672}, {'date': '2024-05-24', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.41255263085937}, {'date': '2024-05-25', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.41255263085937}, {'date': '2024-05-26', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.41255263085937}, {'date': '2024-05-27', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.975868976074217}, {'date': '2024-05-28', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.571675097900396}, {'date': '2024-05-29', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.693135058837896}, {'date': '2024-05-30', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 38.59721449609376}, {'date': '2024-05-31', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 39.61638334985352}, {'date': '2024-06-01', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 39.61638334985352}, {'date': '2024-06-02', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 39.61638334985352}, {'date': '2024-06-03', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 39.7813690065918}, {'date': '2024-06-04', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 39.96368483300782}, {'date': '2024-06-05', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 41.48185042138672}, {'date': '2024-06-06', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 41.38309172387696}, {'date': '2024-06-07', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 43.67062071557618}, {'date': '2024-06-08', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 43.67062071557618}, {'date': '2024-06-09', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 43.67062071557618}, {'date': '2024-06-10', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 44.22587279077149}, {'date': '2024-06-11', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 45.00427321191407}, {'date': '2024-06-12', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 45.56237868066407}, {'date': '2024-06-13', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 45.82071379418946}, {'date': '2024-06-14', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 42.87213972802735}, {'date': '2024-06-15', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 42.87213972802735}, {'date': '2024-06-16', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 42.87213972802735}, {'date': '2024-06-17', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 42.58379439111329}, {'date': '2024-06-18', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 41.863266742187506}, {'date': '2024-06-19', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 41.4078338503418}, {'date': '2024-06-20', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 41.059155261474615}, {'date': '2024-06-21', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 38.63278654809571}, {'date': '2024-06-22', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 38.63278654809571}, {'date': '2024-06-23', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 38.63278654809571}, {'date': '2024-06-24', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.69808272119141}, {'date': '2024-06-25', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.14590910668946}, {'date': '2024-06-26', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.465763843017584}, {'date': '2024-06-27', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 34.69274977441407}, {'date': '2024-06-28', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 34.40630797143555}, {'date': '2024-06-29', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 34.40630797143555}, {'date': '2024-06-30', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 34.40630797143555}, {'date': '2024-07-01', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.97103384729004}, {'date': '2024-07-02', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 33.27943686242676}, {'date': '2024-07-03', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 33.67605665917969}, {'date': '2024-07-04', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 33.85325125451661}, {'date': '2024-07-05', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 34.785683429199224}, {'date': '2024-07-06', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 34.785683429199224}, {'date': '2024-07-07', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 34.785683429199224}, {'date': '2024-07-08', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.298298633056646}, {'date': '2024-07-09', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.28056029077149}, {'date': '2024-07-10', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.564457690673834}, {'date': '2024-07-11', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.111218249755865}, {'date': '2024-07-12', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.785839831787115}, {'date': '2024-07-13', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.785839831787115}, {'date': '2024-07-14', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.785839831787115}, {'date': '2024-07-15', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.14907530541993}, {'date': '2024-07-16', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.16098479028321}, {'date': '2024-07-17', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.362309253173834}, {'date': '2024-07-18', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.21527937646485}, {'date': '2024-07-19', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.270607745605474}, {'date': '2024-07-20', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.270607745605474}, {'date': '2024-07-21', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.270607745605474}, {'date': '2024-07-22', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.226460254150396}, {'date': '2024-07-23', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 33.50531843896485}, {'date': '2024-07-24', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.5396640657959}, {'date': '2024-07-25', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.218651568847655}, {'date': '2024-07-26', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.2012737154541}, {'date': '2024-07-27', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.2012737154541}, {'date': '2024-07-28', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.2012737154541}, {'date': '2024-07-29', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.618969714599608}, {'date': '2024-07-30', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.232477939086912}, {'date': '2024-07-31', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 26.920407092529295}, {'date': '2024-08-01', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.73910788293457}, {'date': '2024-08-02', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.865814959960936}, {'date': '2024-08-03', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.865814959960936}, {'date': '2024-08-04', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.865814959960936}, {'date': '2024-08-05', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.763016498046873}, {'date': '2024-08-06', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.482542788940428}, {'date': '2024-08-07', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.390389239746092}, {'date': '2024-08-08', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.151934421020503}, {'date': '2024-08-09', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 24.65237120385742}, {'date': '2024-08-10', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 24.65237120385742}, {'date': '2024-08-11', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 24.65237120385742}, {'date': '2024-08-12', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 24.24880102868652}, {'date': '2024-08-13', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 23.82265166040039}, {'date': '2024-08-14', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 23.65704993005371}, {'date': '2024-08-15', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 24.33635023828125}, {'date': '2024-08-16', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.985434329467772}, {'date': '2024-08-17', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.985434329467772}, {'date': '2024-08-18', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.985434329467772}, {'date': '2024-08-19', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 26.35379484887695}, {'date': '2024-08-20', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 26.400225436645503}, {'date': '2024-08-21', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 26.961325442749025}, {'date': '2024-08-22', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 27.11214903588867}, {'date': '2024-08-23', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 26.822071826416018}, {'date': '2024-08-24', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 26.822071826416018}, {'date': '2024-08-25', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 26.822071826416018}, {'date': '2024-08-26', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 26.820126330810545}, {'date': '2024-08-27', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 26.854691302734373}, {'date': '2024-08-28', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 26.191885745483397}, {'date': '2024-08-29', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 26.171215808349608}, {'date': '2024-08-30', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.947348391967772}, {'date': '2024-08-31', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.947348391967772}, {'date': '2024-09-01', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.947348391967772}, {'date': '2024-09-02', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.940180575805662}, {'date': '2024-09-03', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.8068588137207}, {'date': '2024-09-04', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.53563765283203}, {'date': '2024-09-05', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.228438174682616}, {'date': '2024-09-06', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 24.66515425439453}, {'date': '2024-09-07', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 24.66515425439453}, {'date': '2024-09-08', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 24.66515425439453}, {'date': '2024-09-09', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 24.1926067232666}, {'date': '2024-09-10', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 24.298336780029295}, {'date': '2024-09-11', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 24.048146045166018}, {'date': '2024-09-12', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 23.96690253015137}, {'date': '2024-09-13', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 23.71549490686035}, {'date': '2024-09-14', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 23.71549490686035}, {'date': '2024-09-15', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 23.71549490686035}, {'date': '2024-09-16', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 23.23156241174316}, {'date': '2024-09-17', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 21.786215579467772}, {'date': '2024-09-18', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 21.082649981933592}, {'date': '2024-09-19', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 20.843949115234373}, {'date': '2024-09-20', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 20.66081694360351}, {'date': '2024-09-21', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 20.66081694360351}, {'date': '2024-09-22', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 20.66081694360351}, {'date': '2024-09-23', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 20.503809726196287}, {'date': '2024-09-24', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 20.318266665893553}, {'date': '2024-09-25', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 20.280413424926756}, {'date': '2024-09-26', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 20.399718081909175}, {'date': '2024-09-27', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 20.58981589074707}, {'date': '2024-09-28', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 20.58981589074707}, {'date': '2024-09-29', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 20.58981589074707}, {'date': '2024-09-30', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 21.043103015380854}, {'date': '2024-10-01', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 24.78057936425781}, {'date': '2024-10-02', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.82883146997071}, {'date': '2024-10-03', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 43.97749403710938}, {'date': '2024-10-04', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 44.3640220522461}, {'date': '2024-10-05', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 44.3640220522461}, {'date': '2024-10-06', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 44.3640220522461}, {'date': '2024-10-07', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 42.87289885278321}, {'date': '2024-10-08', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 39.33402708764649}, {'date': '2024-10-09', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.14181212182618}, {'date': '2024-10-10', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.74978712792969}, {'date': '2024-10-11', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.14379957910157}, {'date': '2024-10-12', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.14379957910157}, {'date': '2024-10-13', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.14379957910157}, {'date': '2024-10-14', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 34.92736128564454}, {'date': '2024-10-15', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 34.77790144677735}, {'date': '2024-10-16', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 34.346434390502935}, {'date': '2024-10-17', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 34.406208789306646}, {'date': '2024-10-18', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.743778979736334}, {'date': '2024-10-19', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.743778979736334}, {'date': '2024-10-20', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.743778979736334}, {'date': '2024-10-21', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.18744734521485}, {'date': '2024-10-22', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.074108874755865}, {'date': '2024-10-23', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 34.47048071618653}, {'date': '2024-10-24', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 33.16644934411622}, {'date': '2024-10-25', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.255259311157225}, {'date': '2024-10-26', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.255259311157225}, {'date': '2024-10-27', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.255259311157225}, {'date': '2024-10-28', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.45647505517578}, {'date': '2024-10-29', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.651161944824217}, {'date': '2024-10-30', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.949345385986327}, {'date': '2024-10-31', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.13674048181152}, {'date': '2024-11-01', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.885866916137697}, {'date': '2024-11-02', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.885866916137697}, {'date': '2024-11-03', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.885866916137697}, {'date': '2024-11-04', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.652579104858397}, {'date': '2024-11-05', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.250317370849608}, {'date': '2024-11-06', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 29.40622214074707}, {'date': '2024-11-07', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 27.08997992272949}, {'date': '2024-11-08', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.6315658449707}, {'date': '2024-11-09', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.6315658449707}, {'date': '2024-11-10', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.6315658449707}, {'date': '2024-11-11', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 24.70374182458496}, {'date': '2024-11-12', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 23.541399753051756}, {'date': '2024-11-13', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 22.358244693237303}, {'date': '2024-11-14', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 21.7685344576416}, {'date': '2024-11-15', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 22.68092802758789}, {'date': '2024-11-16', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 22.68092802758789}, {'date': '2024-11-17', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 22.68092802758789}, {'date': '2024-11-18', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 26.4261215090332}, {'date': '2024-11-19', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 26.13679388757324}, {'date': '2024-11-20', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 26.1001937746582}, {'date': '2024-11-21', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 26.096453463989256}, {'date': '2024-11-22', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.293541705566405}, {'date': '2024-11-23', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.293541705566405}, {'date': '2024-11-24', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.293541705566405}, {'date': '2024-11-25', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 24.63562086816406}, {'date': '2024-11-26', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 23.67536047692871}, {'date': '2024-11-27', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 23.75920943017578}, {'date': '2024-11-28', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 23.896387851196287}, {'date': '2024-11-29', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.002348697143553}, {'date': '2024-11-30', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.002348697143553}, {'date': '2024-12-01', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.002348697143553}, {'date': '2024-12-02', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 23.84197882409668}, {'date': '2024-12-03', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.667885577636717}, {'date': '2024-12-04', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.336199557739256}, {'date': '2024-12-05', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.860974109130865}, {'date': '2024-12-06', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.070881640869146}, {'date': '2024-12-07', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.070881640869146}, {'date': '2024-12-08', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.070881640869146}, {'date': '2024-12-09', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.8704803347168}, {'date': '2024-12-10', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.614697253662115}, {'date': '2024-12-11', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.033676898437506}, {'date': '2024-12-12', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.14202193017579}, {'date': '2024-12-13', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.95595816369629}, {'date': '2024-12-14', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.95595816369629}, {'date': '2024-12-15', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.95595816369629}, {'date': '2024-12-16', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 34.35825995202637}, {'date': '2024-12-17', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.25672987695313}, {'date': '2024-12-18', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.62442473168946}, {'date': '2024-12-19', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 33.76103094812012}, {'date': '2024-12-20', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.44259909387207}, {'date': '2024-12-21', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.44259909387207}, {'date': '2024-12-22', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.44259909387207}, {'date': '2024-12-23', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.454628741699217}, {'date': '2024-12-24', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.178896701293944}, {'date': '2024-12-25', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.178896701293944}, {'date': '2024-12-26', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.178896701293944}, {'date': '2024-12-27', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.178896701293944}, {'date': '2024-12-28', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.178896701293944}, {'date': '2024-12-29', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.178896701293944}, {'date': '2024-12-30', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.178896701293944}, {'date': '2024-12-31', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.178896701293944}], 'lumpsums': [{'date': '2024-01-01', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3066977.9080712893}, {'date': '2024-01-02', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3205918.719228516}, {'date': '2024-01-03', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3842991.6829431155}, {'date': '2024-01-04', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 4561462.237294923}, {'date': '2024-01-05', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 4738077.246602784}, {'date': '2024-01-06', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 4738077.246602784}, {'date': '2024-01-07', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 4738077.246602784}, {'date': '2024-01-08', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 4887161.223348389}, {'date': '2024-01-09', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 5203152.510579835}, {'date': '2024-01-10', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 5195801.131185303}, {'date': '2024-01-11', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 5175658.442434083}, {'date': '2024-01-12', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 4988234.259542237}, {'date': '2024-01-13', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 4988234.259542237}, {'date': '2024-01-14', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 4988234.259542237}, {'date': '2024-01-15', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 5123510.405477296}, {'date': '2024-01-16', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 5207169.3105065925}, {'date': '2024-01-17', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 5088409.125264893}, {'date': '2024-01-18', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 4460994.250234376}, {'date': '2024-01-19', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 4100624.9112451174}, {'date': '2024-01-20', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 4100624.9112451174}, {'date': '2024-01-21', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 4100624.9112451174}, {'date': '2024-01-22', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 4002324.5305383303}, {'date': '2024-01-23', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3672042.6053369143}, {'date': '2024-01-24', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3572784.068044434}, {'date': '2024-01-25', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3608041.9606530764}, {'date': '2024-01-26', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3612811.343129883}, {'date': '2024-01-27', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3612811.343129883}, {'date': '2024-01-28', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3612811.343129883}, {'date': '2024-01-29', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3599695.7845056155}, {'date': '2024-01-30', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3372945.677694092}, {'date': '2024-01-31', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3253841.139730225}, {'date': '2024-02-01', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3188395.9645593264}, {'date': '2024-02-02', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3180323.77904297}, {'date': '2024-02-03', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3180323.77904297}, {'date': '2024-02-04', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3180323.77904297}, {'date': '2024-02-05', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3145359.3320214846}, {'date': '2024-02-06', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3095160.3574121096}, {'date': '2024-02-07', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3107492.205556641}, {'date': '2024-02-08', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3193080.3937280276}, {'date': '2024-02-09', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3338275.6490075686}, {'date': '2024-02-10', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3338275.6490075686}, {'date': '2024-02-11', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3338275.6490075686}, {'date': '2024-02-12', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3409071.5855920413}, {'date': '2024-02-13', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3422882.9831445315}, {'date': '2024-02-14', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3459007.918294678}, {'date': '2024-02-15', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3464611.594136963}, {'date': '2024-02-16', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3466713.053640137}, {'date': '2024-02-17', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3466713.053640137}, {'date': '2024-02-18', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3466713.053640137}, {'date': '2024-02-19', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3471348.1969201663}, {'date': '2024-02-20', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3476001.1739099124}, {'date': '2024-02-21', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3457964.808400879}, {'date': '2024-02-22', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3409071.2613427737}, {'date': '2024-02-23', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3263719.3936669924}, {'date': '2024-02-24', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3263719.3936669924}, {'date': '2024-02-25', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3263719.3936669924}, {'date': '2024-02-26', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3205481.955465088}, {'date': '2024-02-27', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3190579.783376465}, {'date': '2024-02-28', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3125262.038167725}, {'date': '2024-02-29', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3146238.6960351565}, {'date': '2024-03-01', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3106250.006612549}, {'date': '2024-03-02', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3106250.006612549}, {'date': '2024-03-03', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3106250.006612549}, {'date': '2024-03-04', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3063249.365743408}, {'date': '2024-03-05', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3189041.869100342}, {'date': '2024-03-06', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3241789.7672021487}, {'date': '2024-03-07', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3302231.1276757815}, {'date': '2024-03-08', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3324040.4576623538}, {'date': '2024-03-09', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3324040.4576623538}, {'date': '2024-03-10', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3324040.4576623538}, {'date': '2024-03-11', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3341534.3541467288}, {'date': '2024-03-12', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3291965.395864258}, {'date': '2024-03-13', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3178072.8406274416}, {'date': '2024-03-14', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3120858.0846154788}, {'date': '2024-03-15', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3111526.1906945803}, {'date': '2024-03-16', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3111526.1906945803}, {'date': '2024-03-17', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3111526.1906945803}, {'date': '2024-03-18', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3061920.5922448733}, {'date': '2024-03-19', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2859604.9374902346}, {'date': '2024-03-20', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2828694.4169366457}, {'date': '2024-03-21', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2672530.943807373}, {'date': '2024-03-22', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2631923.2625329588}, {'date': '2024-03-23', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2631923.2625329588}, {'date': '2024-03-24', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2631923.2625329588}, {'date': '2024-03-25', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2693957.335408936}, {'date': '2024-03-26', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2681566.6360223386}, {'date': '2024-03-27', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2610334.5841729734}, {'date': '2024-03-28', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2590407.521184692}, {'date': '2024-03-29', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2590407.521184692}, {'date': '2024-03-30', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2590407.521184692}, {'date': '2024-03-31', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2590407.521184692}, {'date': '2024-04-01', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2592729.1459405515}, {'date': '2024-04-02', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2555141.198095093}, {'date': '2024-04-03', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2699115.8170068357}, {'date': '2024-04-04', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2887339.112218628}, {'date': '2024-04-05', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3091817.0232141116}, {'date': '2024-04-06', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3091817.0232141116}, {'date': '2024-04-07', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3091817.0232141116}, {'date': '2024-04-08', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3172068.7169396975}, {'date': '2024-04-09', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3547316.2335717776}, {'date': '2024-04-10', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3979181.887563477}, {'date': '2024-04-11', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3930169.9895227053}, {'date': '2024-04-12', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3843548.7431848147}, {'date': '2024-04-13', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3843548.7431848147}, {'date': '2024-04-14', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3843548.7431848147}, {'date': '2024-04-15', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3778108.43175293}, {'date': '2024-04-16', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3555596.58711792}, {'date': '2024-04-17', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3310140.5400598147}, {'date': '2024-04-18', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3227101.2753808596}, {'date': '2024-04-19', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3050820.891317139}, {'date': '2024-04-20', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3050820.891317139}, {'date': '2024-04-21', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3050820.891317139}, {'date': '2024-04-22', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2949613.9401757815}, {'date': '2024-04-23', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2784159.266408691}, {'date': '2024-04-24', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2901361.7581689456}, {'date': '2024-04-25', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2992325.3506982424}, {'date': '2024-04-26', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3110201.6324365237}, {'date': '2024-04-27', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3110201.6324365237}, {'date': '2024-04-28', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3110201.6324365237}, {'date': '2024-04-29', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3052645.1176965334}, {'date': '2024-04-30', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3030018.6795556643}, {'date': '2024-05-01', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3009719.702657471}, {'date': '2024-05-02', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3001035.6587731936}, {'date': '2024-05-03', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3216376.4066064456}, {'date': '2024-05-04', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3216376.4066064456}, {'date': '2024-05-05', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3216376.4066064456}, {'date': '2024-05-06', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3258889.7008264163}, {'date': '2024-05-07', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3237519.7285974124}, {'date': '2024-05-08', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3185350.9396875002}, {'date': '2024-05-09', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3080850.9129846194}, {'date': '2024-05-10', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3057874.6098840334}, {'date': '2024-05-11', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3057874.6098840334}, {'date': '2024-05-12', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3057874.6098840334}, {'date': '2024-05-13', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2937570.511754761}, {'date': '2024-05-14', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2863723.7138116457}, {'date': '2024-05-15', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2800649.9356591795}, {'date': '2024-05-16', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2844245.4118096926}, {'date': '2024-05-17', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2863016.526159058}, {'date': '2024-05-18', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2863016.526159058}, {'date': '2024-05-19', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2863016.526159058}, {'date': '2024-05-20', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2879126.5267694094}, {'date': '2024-05-21', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2799342.886861572}, {'date': '2024-05-22', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2838930.155690918}, {'date': '2024-05-23', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2760127.207692871}, {'date': '2024-05-24', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2755066.9736230467}, {'date': '2024-05-25', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2755066.9736230467}, {'date': '2024-05-26', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2755066.9736230467}, {'date': '2024-05-27', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2717948.8629663084}, {'date': '2024-05-28', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3023592.3833215334}, {'date': '2024-05-29', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3033916.480001221}, {'date': '2024-05-30', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3280763.23216797}, {'date': '2024-05-31', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3367392.584737549}, {'date': '2024-06-01', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3367392.584737549}, {'date': '2024-06-02', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3367392.584737549}, {'date': '2024-06-03', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3381416.365560303}, {'date': '2024-06-04', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3396913.2108056643}, {'date': '2024-06-05', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3525957.285817871}, {'date': '2024-06-06', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3517562.7965295413}, {'date': '2024-06-07', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3712002.760823975}, {'date': '2024-06-08', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3712002.760823975}, {'date': '2024-06-09', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3712002.760823975}, {'date': '2024-06-10', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3759199.1872155764}, {'date': '2024-06-11', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3825363.2230126956}, {'date': '2024-06-12', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3872802.1878564456}, {'date': '2024-06-13', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3894760.6725061038}, {'date': '2024-06-14', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3644131.8768823245}, {'date': '2024-06-15', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3644131.8768823245}, {'date': '2024-06-16', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3644131.8768823245}, {'date': '2024-06-17', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3619622.523244629}, {'date': '2024-06-18', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3558377.6730859377}, {'date': '2024-06-19', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3519665.877279053}, {'date': '2024-06-20', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3490028.197225342}, {'date': '2024-06-21', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3283786.856588135}, {'date': '2024-06-22', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3283786.856588135}, {'date': '2024-06-23', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3283786.856588135}, {'date': '2024-06-24', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3204337.03130127}, {'date': '2024-06-25', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3072402.2740686038}, {'date': '2024-06-26', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3014589.9266564944}, {'date': '2024-06-27', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2948883.7308251956}, {'date': '2024-06-28', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2924536.1775720217}, {'date': '2024-06-29', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2924536.1775720217}, {'date': '2024-06-30', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2924536.1775720217}, {'date': '2024-07-01', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2802537.877019653}, {'date': '2024-07-02', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2828752.1333062747}, {'date': '2024-07-03', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2862464.8160302737}, {'date': '2024-07-04', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2877526.3566339114}, {'date': '2024-07-05', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2956783.091481934}, {'date': '2024-07-06', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2956783.091481934}, {'date': '2024-07-07', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2956783.091481934}, {'date': '2024-07-08', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3000355.3838098147}, {'date': '2024-07-09', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2998847.6247155764}, {'date': '2024-07-10', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3022978.9037072756}, {'date': '2024-07-11', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3069453.5512292483}, {'date': '2024-07-12', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3126796.3857019045}, {'date': '2024-07-13', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3126796.3857019045}, {'date': '2024-07-14', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3126796.3857019045}, {'date': '2024-07-15', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3157671.4009606936}, {'date': '2024-07-16', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3158683.7071740725}, {'date': '2024-07-17', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3175796.2865197756}, {'date': '2024-07-18', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3163298.746999512}, {'date': '2024-07-19', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3083001.658376465}, {'date': '2024-07-20', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3083001.658376465}, {'date': '2024-07-21', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3083001.658376465}, {'date': '2024-07-22', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2994249.1216027834}, {'date': '2024-07-23', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2847952.067312012}, {'date': '2024-07-24', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2765871.445592651}, {'date': '2024-07-25', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2738585.3833520506}, {'date': '2024-07-26', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2652108.2658135984}, {'date': '2024-07-27', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2652108.2658135984}, {'date': '2024-07-28', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2652108.2658135984}, {'date': '2024-07-29', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2602612.4257409666}, {'date': '2024-07-30', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2569760.6248223875}, {'date': '2024-07-31', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2288234.60286499}, {'date': '2024-08-01', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2187824.1700494383}, {'date': '2024-08-02', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2198594.2715966795}, {'date': '2024-08-03', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2198594.2715966795}, {'date': '2024-08-04', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2198594.2715966795}, {'date': '2024-08-05', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2189856.402333984}, {'date': '2024-08-06', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2166016.1370599363}, {'date': '2024-08-07', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2158183.0853784177}, {'date': '2024-08-08', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2137914.425786743}, {'date': '2024-08-09', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2095451.5523278806}, {'date': '2024-08-10', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2095451.5523278806}, {'date': '2024-08-11', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2095451.5523278806}, {'date': '2024-08-12', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2061148.087438354}, {'date': '2024-08-13', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2024925.391134033}, {'date': '2024-08-14', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2010849.2440545652}, {'date': '2024-08-15', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2068589.770253906}, {'date': '2024-08-16', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2208761.9180047605}, {'date': '2024-08-17', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2208761.9180047605}, {'date': '2024-08-18', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2208761.9180047605}, {'date': '2024-08-19', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2240072.562154541}, {'date': '2024-08-20', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2244019.162114868}, {'date': '2024-08-21', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2291712.6626336672}, {'date': '2024-08-22', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2304532.668050537}, {'date': '2024-08-23', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2279876.1052453616}, {'date': '2024-08-24', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2279876.1052453616}, {'date': '2024-08-25', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2279876.1052453616}, {'date': '2024-08-26', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2279710.7381188963}, {'date': '2024-08-27', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2282648.7607324217}, {'date': '2024-08-28', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2226310.2883660886}, {'date': '2024-08-29', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2224553.3437097166}, {'date': '2024-08-30', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2205524.6133172605}, {'date': '2024-08-31', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2205524.6133172605}, {'date': '2024-09-01', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2205524.6133172605}, {'date': '2024-09-02', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2204915.348943481}, {'date': '2024-09-03', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2193582.9991662595}, {'date': '2024-09-04', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2170529.2004907224}, {'date': '2024-09-05', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2144417.2448480222}, {'date': '2024-09-06', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2096538.111623535}, {'date': '2024-09-07', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2096538.111623535}, {'date': '2024-09-08', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2096538.111623535}, {'date': '2024-09-09', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2056371.571477661}, {'date': '2024-09-10', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2065358.62630249}, {'date': '2024-09-11', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2044092.4138391116}, {'date': '2024-09-12', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2037186.7150628665}, {'date': '2024-09-13', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2015817.0670831297}, {'date': '2024-09-14', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2015817.0670831297}, {'date': '2024-09-15', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2015817.0670831297}, {'date': '2024-09-16', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1974682.8049981685}, {'date': '2024-09-17', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1851828.3242547605}, {'date': '2024-09-18', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1792025.2484643552}, {'date': '2024-09-19', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1771735.6747949217}, {'date': '2024-09-20', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1756169.4402062984}, {'date': '2024-09-21', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1756169.4402062984}, {'date': '2024-09-22', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1756169.4402062984}, {'date': '2024-09-23', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1742823.8267266843}, {'date': '2024-09-24', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1727052.666600952}, {'date': '2024-09-25', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1723835.1411187742}, {'date': '2024-09-26', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1733976.0369622798}, {'date': '2024-09-27', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1750134.3507135008}, {'date': '2024-09-28', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1750134.3507135008}, {'date': '2024-09-29', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1750134.3507135008}, {'date': '2024-09-30', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1788663.7563073726}, {'date': '2024-10-01', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2106349.245961914}, {'date': '2024-10-02', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3130450.67494751}, {'date': '2024-10-03', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3738086.993154297}, {'date': '2024-10-04', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3770941.874440918}, {'date': '2024-10-05', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3770941.874440918}, {'date': '2024-10-06', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3770941.874440918}, {'date': '2024-10-07', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3644196.4024865725}, {'date': '2024-10-08', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3343392.3024499514}, {'date': '2024-10-09', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3072054.030355225}, {'date': '2024-10-10', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3038731.9058740237}, {'date': '2024-10-11', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2987222.964223633}, {'date': '2024-10-12', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2987222.964223633}, {'date': '2024-10-13', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2987222.964223633}, {'date': '2024-10-14', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2968825.7092797854}, {'date': '2024-10-15', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2956121.6229760745}, {'date': '2024-10-16', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2919446.9231927493}, {'date': '2024-10-17', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2924527.7470910647}, {'date': '2024-10-18', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3038221.213277588}, {'date': '2024-10-19', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3038221.213277588}, {'date': '2024-10-20', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3038221.213277588}, {'date': '2024-10-21', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3075933.024343262}, {'date': '2024-10-22', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3066299.2543542483}, {'date': '2024-10-23', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2929990.8608758547}, {'date': '2024-10-24', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2819148.194249878}, {'date': '2024-10-25', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2741697.041448364}, {'date': '2024-10-26', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2741697.041448364}, {'date': '2024-10-27', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2741697.041448364}, {'date': '2024-10-28', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2673800.379689941}, {'date': '2024-10-29', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2605348.7653100584}, {'date': '2024-10-30', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2630694.3578088377}, {'date': '2024-10-31', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2646622.9409539793}, {'date': '2024-11-01', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2625298.6878717043}, {'date': '2024-11-02', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2625298.6878717043}, {'date': '2024-11-03', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2625298.6878717043}, {'date': '2024-11-04', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2605469.2239129636}, {'date': '2024-11-05', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2571276.9765222166}, {'date': '2024-11-06', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2499528.8819635008}, {'date': '2024-11-07', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2302648.2934320066}, {'date': '2024-11-08', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2178683.0968225095}, {'date': '2024-11-09', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2178683.0968225095}, {'date': '2024-11-10', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2178683.0968225095}, {'date': '2024-11-11', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2099818.0550897215}, {'date': '2024-11-12', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2001018.9790093992}, {'date': '2024-11-13', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1900450.7989251707}, {'date': '2024-11-14', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1850325.428899536}, {'date': '2024-11-15', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1927878.8823449705}, {'date': '2024-11-16', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1927878.8823449705}, {'date': '2024-11-17', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1927878.8823449705}, {'date': '2024-11-18', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2246220.328267822}, {'date': '2024-11-19', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2221627.4804437254}, {'date': '2024-11-20', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2218516.470845947}, {'date': '2024-11-21', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2218198.5444390867}, {'date': '2024-11-22', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2149951.0449731443}, {'date': '2024-11-23', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2149951.0449731443}, {'date': '2024-11-24', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2149951.0449731443}, {'date': '2024-11-25', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2094027.773793945}, {'date': '2024-11-26', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2012405.6405389402}, {'date': '2024-11-27', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2019532.8015649412}, {'date': '2024-11-28', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2031192.9673516843}, {'date': '2024-11-29', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2125199.639257202}, {'date': '2024-11-30', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2125199.639257202}, {'date': '2024-12-01', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2125199.639257202}, {'date': '2024-12-02', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2026568.200048218}, {'date': '2024-12-03', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2181770.274099121}, {'date': '2024-12-04', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2748576.9624078367}, {'date': '2024-12-05', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3133182.7992761233}, {'date': '2024-12-06', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3151024.939473877}, {'date': '2024-12-07', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3151024.939473877}, {'date': '2024-12-08', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3151024.939473877}, {'date': '2024-12-09', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3133990.828450928}, {'date': '2024-12-10', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3112249.2665612795}, {'date': '2024-12-11', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3062862.5363671877}, {'date': '2024-12-12', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2987071.8640649416}, {'date': '2024-12-13', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2801256.4439141843}, {'date': '2024-12-14', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2801256.4439141843}, {'date': '2024-12-15', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2801256.4439141843}, {'date': '2024-12-16', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2920452.0959222415}, {'date': '2024-12-17', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3166822.039541016}, {'date': '2024-12-18', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3028076.1021936038}, {'date': '2024-12-19', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2869687.63059021}, {'date': '2024-12-20', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2757620.9229791258}, {'date': '2024-12-21', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2757620.9229791258}, {'date': '2024-12-22', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2757620.9229791258}, {'date': '2024-12-23', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2673643.4430444334}, {'date': '2024-12-24', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2650206.219609985}, {'date': '2024-12-25', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2650206.219609985}, {'date': '2024-12-26', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2650206.219609985}, {'date': '2024-12-27', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2650206.219609985}, {'date': '2024-12-28', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2650206.219609985}, {'date': '2024-12-29', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2650206.219609985}, {'date': '2024-12-30', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2650206.219609985}, {'date': '2024-12-31', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2650206.219609985}], 'confidences': [{'date': '2024-01-01', 'value': 2}, {'date': '2024-01-02', 'value': 2}, {'date': '2024-01-03', 'value': 2}, {'date': '2024-01-04', 'value': 2}, {'date': '2024-01-05', 'value': 2}, {'date': '2024-01-06', 'value': 2}, {'date': '2024-01-07', 'value': 2}, {'date': '2024-01-08', 'value': 2}, {'date': '2024-01-09', 'value': 2}, {'date': '2024-01-10', 'value': 2}, {'date': '2024-01-11', 'value': 2}, {'date': '2024-01-12', 'value': 2}, {'date': '2024-01-13', 'value': 2}, {'date': '2024-01-14', 'value': 2}, {'date': '2024-01-15', 'value': 2}, {'date': '2024-01-16', 'value': 2}, {'date': '2024-01-17', 'value': 2}, {'date': '2024-01-18', 'value': 2}, {'date': '2024-01-19', 'value': 2}, {'date': '2024-01-20', 'value': 2}, {'date': '2024-01-21', 'value': 2}, {'date': '2024-01-22', 'value': 2}, {'date': '2024-01-23', 'value': 2}, {'date': '2024-01-24', 'value': 2}, {'date': '2024-01-25', 'value': 2}, {'date': '2024-01-26', 'value': 2}, {'date': '2024-01-27', 'value': 2}, {'date': '2024-01-28', 'value': 2}, {'date': '2024-01-29', 'value': 2}, {'date': '2024-01-30', 'value': 2}, {'date': '2024-01-31', 'value': 2}, {'date': '2024-02-01', 'value': 2}, {'date': '2024-02-02', 'value': 2}, {'date': '2024-02-03', 'value': 2}, {'date': '2024-02-04', 'value': 2}, {'date': '2024-02-05', 'value': 2}, {'date': '2024-02-06', 'value': 2}, {'date': '2024-02-07', 'value': 2}, {'date': '2024-02-08', 'value': 2}, {'date': '2024-02-09', 'value': 2}, {'date': '2024-02-10', 'value': 2}, {'date': '2024-02-11', 'value': 2}, {'date': '2024-02-12', 'value': 2}, {'date': '2024-02-13', 'value': 2}, {'date': '2024-02-14', 'value': 2}, {'date': '2024-02-15', 'value': 2}, {'date': '2024-02-16', 'value': 2}, {'date': '2024-02-17', 'value': 2}, {'date': '2024-02-18', 'value': 2}, {'date': '2024-02-19', 'value': 2}, {'date': '2024-02-20', 'value': 2}, {'date': '2024-02-21', 'value': 2}, {'date': '2024-02-22', 'value': 2}, {'date': '2024-02-23', 'value': 2}, {'date': '2024-02-24', 'value': 2}, {'date': '2024-02-25', 'value': 2}, {'date': '2024-02-26', 'value': 2}, {'date': '2024-02-27', 'value': 2}, {'date': '2024-02-28', 'value': 2}, {'date': '2024-02-29', 'value': 2}, {'date': '2024-03-01', 'value': 2}, {'date': '2024-03-02', 'value': 2}, {'date': '2024-03-03', 'value': 2}, {'date': '2024-03-04', 'value': 2}, {'date': '2024-03-05', 'value': 2}, {'date': '2024-03-06', 'value': 2}, {'date': '2024-03-07', 'value': 2}, {'date': '2024-03-08', 'value': 2}, {'date': '2024-03-09', 'value': 2}, {'date': '2024-03-10', 'value': 2}, {'date': '2024-03-11', 'value': 2}, {'date': '2024-03-12', 'value': 2}, {'date': '2024-03-13', 'value': 2}, {'date': '2024-03-14', 'value': 2}, {'date': '2024-03-15', 'value': 2}, {'date': '2024-03-16', 'value': 2}, {'date': '2024-03-17', 'value': 2}, {'date': '2024-03-18', 'value': 2}, {'date': '2024-03-19', 'value': 2}, {'date': '2024-03-20', 'value': 2}, {'date': '2024-03-21', 'value': 2}, {'date': '2024-03-22', 'value': 2}, {'date': '2024-03-23', 'value': 2}, {'date': '2024-03-24', 'value': 2}, {'date': '2024-03-25', 'value': 2}, {'date': '2024-03-26', 'value': 2}, {'date': '2024-03-27', 'value': 2}, {'date': '2024-03-28', 'value': 2}, {'date': '2024-03-29', 'value': 2}, {'date': '2024-03-30', 'value': 2}, {'date': '2024-03-31', 'value': 2}, {'date': '2024-04-01', 'value': 2}, {'date': '2024-04-02', 'value': 2}, {'date': '2024-04-03', 'value': 2}, {'date': '2024-04-04', 'value': 2}, {'date': '2024-04-05', 'value': 2}, {'date': '2024-04-06', 'value': 2}, {'date': '2024-04-07', 'value': 2}, {'date': '2024-04-08', 'value': 2}, {'date': '2024-04-09', 'value': 2}, {'date': '2024-04-10', 'value': 2}, {'date': '2024-04-11', 'value': 2}, {'date': '2024-04-12', 'value': 2}, {'date': '2024-04-13', 'value': 2}, {'date': '2024-04-14', 'value': 2}, {'date': '2024-04-15', 'value': 2}, {'date': '2024-04-16', 'value': 2}, {'date': '2024-04-17', 'value': 2}, {'date': '2024-04-18', 'value': 2}, {'date': '2024-04-19', 'value': 2}, {'date': '2024-04-20', 'value': 2}, {'date': '2024-04-21', 'value': 2}, {'date': '2024-04-22', 'value': 2}, {'date': '2024-04-23', 'value': 2}, {'date': '2024-04-24', 'value': 2}, {'date': '2024-04-25', 'value': 2}, {'date': '2024-04-26', 'value': 2}, {'date': '2024-04-27', 'value': 2}, {'date': '2024-04-28', 'value': 2}, {'date': '2024-04-29', 'value': 2}, {'date': '2024-04-30', 'value': 2}, {'date': '2024-05-01', 'value': 2}, {'date': '2024-05-02', 'value': 2}, {'date': '2024-05-03', 'value': 2}, {'date': '2024-05-04', 'value': 2}, {'date': '2024-05-05', 'value': 2}, {'date': '2024-05-06', 'value': 2}, {'date': '2024-05-07', 'value': 2}, {'date': '2024-05-08', 'value': 2}, {'date': '2024-05-09', 'value': 2}, {'date': '2024-05-10', 'value': 2}, {'date': '2024-05-11', 'value': 2}, {'date': '2024-05-12', 'value': 2}, {'date': '2024-05-13', 'value': 2}, {'date': '2024-05-14', 'value': 2}, {'date': '2024-05-15', 'value': 2}, {'date': '2024-05-16', 'value': 2}, {'date': '2024-05-17', 'value': 2}, {'date': '2024-05-18', 'value': 2}, {'date': '2024-05-19', 'value': 2}, {'date': '2024-05-20', 'value': 2}, {'date': '2024-05-21', 'value': 2}, {'date': '2024-05-22', 'value': 2}, {'date': '2024-05-23', 'value': 2}, {'date': '2024-05-24', 'value': 2}, {'date': '2024-05-25', 'value': 2}, {'date': '2024-05-26', 'value': 2}, {'date': '2024-05-27', 'value': 2}, {'date': '2024-05-28', 'value': 2}, {'date': '2024-05-29', 'value': 2}, {'date': '2024-05-30', 'value': 2}, {'date': '2024-05-31', 'value': 2}, {'date': '2024-06-01', 'value': 2}, {'date': '2024-06-02', 'value': 2}, {'date': '2024-06-03', 'value': 2}, {'date': '2024-06-04', 'value': 2}, {'date': '2024-06-05', 'value': 2}, {'date': '2024-06-06', 'value': 2}, {'date': '2024-06-07', 'value': 2}, {'date': '2024-06-08', 'value': 2}, {'date': '2024-06-09', 'value': 2}, {'date': '2024-06-10', 'value': 2}, {'date': '2024-06-11', 'value': 2}, {'date': '2024-06-12', 'value': 2}, {'date': '2024-06-13', 'value': 2}, {'date': '2024-06-14', 'value': 2}, {'date': '2024-06-15', 'value': 2}, {'date': '2024-06-16', 'value': 2}, {'date': '2024-06-17', 'value': 2}, {'date': '2024-06-18', 'value': 2}, {'date': '2024-06-19', 'value': 2}, {'date': '2024-06-20', 'value': 2}, {'date': '2024-06-21', 'value': 2}, {'date': '2024-06-22', 'value': 2}, {'date': '2024-06-23', 'value': 2}, {'date': '2024-06-24', 'value': 2}, {'date': '2024-06-25', 'value': 2}, {'date': '2024-06-26', 'value': 2}, {'date': '2024-06-27', 'value': 2}, {'date': '2024-06-28', 'value': 2}, {'date': '2024-06-29', 'value': 2}, {'date': '2024-06-30', 'value': 2}, {'date': '2024-07-01', 'value': 2}, {'date': '2024-07-02', 'value': 2}, {'date': '2024-07-03', 'value': 2}, {'date': '2024-07-04', 'value': 2}, {'date': '2024-07-05', 'value': 2}, {'date': '2024-07-06', 'value': 2}, {'date': '2024-07-07', 'value': 2}, {'date': '2024-07-08', 'value': 2}, {'date': '2024-07-09', 'value': 2}, {'date': '2024-07-10', 'value': 2}, {'date': '2024-07-11', 'value': 2}, {'date': '2024-07-12', 'value': 2}, {'date': '2024-07-13', 'value': 2}, {'date': '2024-07-14', 'value': 2}, {'date': '2024-07-15', 'value': 2}, {'date': '2024-07-16', 'value': 2}, {'date': '2024-07-17', 'value': 2}, {'date': '2024-07-18', 'value': 2}, {'date': '2024-07-19', 'value': 2}, {'date': '2024-07-20', 'value': 2}, {'date': '2024-07-21', 'value': 2}, {'date': '2024-07-22', 'value': 2}, {'date': '2024-07-23', 'value': 2}, {'date': '2024-07-24', 'value': 2}, {'date': '2024-07-25', 'value': 2}, {'date': '2024-07-26', 'value': 2}, {'date': '2024-07-27', 'value': 2}, {'date': '2024-07-28', 'value': 2}, {'date': '2024-07-29', 'value': 2}, {'date': '2024-07-30', 'value': 2}, {'date': '2024-07-31', 'value': 2}, {'date': '2024-08-01', 'value': 2}, {'date': '2024-08-02', 'value': 2}, {'date': '2024-08-03', 'value': 2}, {'date': '2024-08-04', 'value': 2}, {'date': '2024-08-05', 'value': 2}, {'date': '2024-08-06', 'value': 2}, {'date': '2024-08-07', 'value': 2}, {'date': '2024-08-08', 'value': 2}, {'date': '2024-08-09', 'value': 2}, {'date': '2024-08-10', 'value': 2}, {'date': '2024-08-11', 'value': 2}, {'date': '2024-08-12', 'value': 2}, {'date': '2024-08-13', 'value': 2}, {'date': '2024-08-14', 'value': 2}, {'date': '2024-08-15', 'value': 2}, {'date': '2024-08-16', 'value': 2}, {'date': '2024-08-17', 'value': 2}, {'date': '2024-08-18', 'value': 2}, {'date': '2024-08-19', 'value': 2}, {'date': '2024-08-20', 'value': 2}, {'date': '2024-08-21', 'value': 2}, {'date': '2024-08-22', 'value': 2}, {'date': '2024-08-23', 'value': 2}, {'date': '2024-08-24', 'value': 2}, {'date': '2024-08-25', 'value': 2}, {'date': '2024-08-26', 'value': 2}, {'date': '2024-08-27', 'value': 2}, {'date': '2024-08-28', 'value': 2}, {'date': '2024-08-29', 'value': 2}, {'date': '2024-08-30', 'value': 2}, {'date': '2024-08-31', 'value': 2}, {'date': '2024-09-01', 'value': 2}, {'date': '2024-09-02', 'value': 2}, {'date': '2024-09-03', 'value': 2}, {'date': '2024-09-04', 'value': 2}, {'date': '2024-09-05', 'value': 2}, {'date': '2024-09-06', 'value': 2}, {'date': '2024-09-07', 'value': 2}, {'date': '2024-09-08', 'value': 2}, {'date': '2024-09-09', 'value': 2}, {'date': '2024-09-10', 'value': 2}, {'date': '2024-09-11', 'value': 2}, {'date': '2024-09-12', 'value': 2}, {'date': '2024-09-13', 'value': 2}, {'date': '2024-09-14', 'value': 2}, {'date': '2024-09-15', 'value': 2}, {'date': '2024-09-16', 'value': 2}, {'date': '2024-09-17', 'value': 2}, {'date': '2024-09-18', 'value': 2}, {'date': '2024-09-19', 'value': 2}, {'date': '2024-09-20', 'value': 2}, {'date': '2024-09-21', 'value': 2}, {'date': '2024-09-22', 'value': 2}, {'date': '2024-09-23', 'value': 2}, {'date': '2024-09-24', 'value': 2}, {'date': '2024-09-25', 'value': 2}, {'date': '2024-09-26', 'value': 2}, {'date': '2024-09-27', 'value': 2}, {'date': '2024-09-28', 'value': 2}, {'date': '2024-09-29', 'value': 2}, {'date': '2024-09-30', 'value': 2}, {'date': '2024-10-01', 'value': 2}, {'date': '2024-10-02', 'value': 2}, {'date': '2024-10-03', 'value': 2}, {'date': '2024-10-04', 'value': 2}, {'date': '2024-10-05', 'value': 2}, {'date': '2024-10-06', 'value': 2}, {'date': '2024-10-07', 'value': 2}, {'date': '2024-10-08', 'value': 2}, {'date': '2024-10-09', 'value': 2}, {'date': '2024-10-10', 'value': 2}, {'date': '2024-10-11', 'value': 2}, {'date': '2024-10-12', 'value': 2}, {'date': '2024-10-13', 'value': 2}, {'date': '2024-10-14', 'value': 2}, {'date': '2024-10-15', 'value': 2}, {'date': '2024-10-16', 'value': 2}, {'date': '2024-10-17', 'value': 2}, {'date': '2024-10-18', 'value': 2}, {'date': '2024-10-19', 'value': 2}, {'date': '2024-10-20', 'value': 2}, {'date': '2024-10-21', 'value': 2}, {'date': '2024-10-22', 'value': 2}, {'date': '2024-10-23', 'value': 2}, {'date': '2024-10-24', 'value': 2}, {'date': '2024-10-25', 'value': 2}, {'date': '2024-10-26', 'value': 2}, {'date': '2024-10-27', 'value': 2}, {'date': '2024-10-28', 'value': 2}, {'date': '2024-10-29', 'value': 2}, {'date': '2024-10-30', 'value': 2}, {'date': '2024-10-31', 'value': 2}, {'date': '2024-11-01', 'value': 2}, {'date': '2024-11-02', 'value': 2}, {'date': '2024-11-03', 'value': 2}, {'date': '2024-11-04', 'value': 2}, {'date': '2024-11-05', 'value': 2}, {'date': '2024-11-06', 'value': 2}, {'date': '2024-11-07', 'value': 2}, {'date': '2024-11-08', 'value': 2}, {'date': '2024-11-09', 'value': 2}, {'date': '2024-11-10', 'value': 2}, {'date': '2024-11-11', 'value': 2}, {'date': '2024-11-12', 'value': 2}, {'date': '2024-11-13', 'value': 2}, {'date': '2024-11-14', 'value': 2}, {'date': '2024-11-15', 'value': 2}, {'date': '2024-11-16', 'value': 2}, {'date': '2024-11-17', 'value': 2}, {'date': '2024-11-18', 'value': 2}, {'date': '2024-11-19', 'value': 2}, {'date': '2024-11-20', 'value': 2}, {'date': '2024-11-21', 'value': 2}, {'date': '2024-11-22', 'value': 2}, {'date': '2024-11-23', 'value': 2}, {'date': '2024-11-24', 'value': 2}, {'date': '2024-11-25', 'value': 2}, {'date': '2024-11-26', 'value': 2}, {'date': '2024-11-27', 'value': 2}, {'date': '2024-11-28', 'value': 2}, {'date': '2024-11-29', 'value': 2}, {'date': '2024-11-30', 'value': 2}, {'date': '2024-12-01', 'value': 2}, {'date': '2024-12-02', 'value': 2}, {'date': '2024-12-03', 'value': 2}, {'date': '2024-12-04', 'value': 2}, {'date': '2024-12-05', 'value': 2}, {'date': '2024-12-06', 'value': 2}, {'date': '2024-12-07', 'value': 2}, {'date': '2024-12-08', 'value': 2}, {'date': '2024-12-09', 'value': 2}, {'date': '2024-12-10', 'value': 2}, {'date': '2024-12-11', 'value': 2}, {'date': '2024-12-12', 'value': 2}, {'date': '2024-12-13', 'value': 2}, {'date': '2024-12-14', 'value': 2}, {'date': '2024-12-15', 'value': 2}, {'date': '2024-12-16', 'value': 2}, {'date': '2024-12-17', 'value': 2}, {'date': '2024-12-18', 'value': 2}, {'date': '2024-12-19', 'value': 2}, {'date': '2024-12-20', 'value': 2}, {'date': '2024-12-21', 'value': 2}, {'date': '2024-12-22', 'value': 2}, {'date': '2024-12-23', 'value': 2}, {'date': '2024-12-24', 'value': 2}, {'date': '2024-12-25', 'value': 2}, {'date': '2024-12-26', 'value': 2}, {'date': '2024-12-27', 'value': 2}, {'date': '2024-12-28', 'value': 2}, {'date': '2024-12-29', 'value': 2}, {'date': '2024-12-30', 'value': 2}, {'date': '2024-12-31', 'value': 2}], 'product': 'crude'}]\n" + ] + } + ], + "source": [ + "print(result.to_list())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ee505605-ac13-421c-8ec2-077bba69c72a", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/tests/endpoints/test_anywhere_freight_pricing_get_price_details.py b/tests/endpoints/test_anywhere_freight_pricing_get_price_details.py new file mode 100644 index 000000000..3905558d0 --- /dev/null +++ b/tests/endpoints/test_anywhere_freight_pricing_get_price_details.py @@ -0,0 +1,57 @@ +from datetime import datetime + +from tests.testcases import TestCaseUsingRealAPI +from vortexasdk import AnywhereFreightPricingGetPriceDetails + + +class TestAnywhereFreightPricingGetPriceDetails(TestCaseUsingRealAPI): + def test_search_returns_data(self): + result = AnywhereFreightPricingGetPriceDetails().search( + time_min=datetime(2024, 1, 1), + time_max=datetime(2024, 1, 31), + origin_port="7f314ba0a498c36359b1c88781e94a73e19dcc9bbb030ec6b82f944a73d4da2f", + destination_port="68faf65af1345067f11dc6723b8da32f00e304a6f33c000118fccd81947deb4e", + vessel_class="oil_aframax_lr2", + product="crude", + unit="usd_per_tonne", + ) + + result_list = result.to_list() + assert len(result_list) > 0 + assert "origin_port" in result_list[0] + assert "destination_port" in result_list[0] + assert "vessel_class" in result_list[0] + assert "rates" in result_list[0] + + def test_search_to_df(self): + result = AnywhereFreightPricingGetPriceDetails().search( + time_min=datetime(2024, 1, 1), + time_max=datetime(2024, 1, 31), + origin_port="7f314ba0a498c36359b1c88781e94a73e19dcc9bbb030ec6b82f944a73d4da2f", + destination_port="68faf65af1345067f11dc6723b8da32f00e304a6f33c000118fccd81947deb4e", + vessel_class="oil_aframax_lr2", + product="crude", + unit="usd_per_tonne", + ) + + df = result.to_df() + assert len(df) > 0 + # pd.json_normalize uses dot notation for nested keys + assert "origin_port.id" in df.columns + assert "destination_port.id" in df.columns + assert "vessel_class" in df.columns + + def test_search_with_avoid_zone(self): + result = AnywhereFreightPricingGetPriceDetails().search( + time_min=datetime(2024, 1, 1), + time_max=datetime(2024, 1, 31), + origin_port="7f314ba0a498c36359b1c88781e94a73e19dcc9bbb030ec6b82f944a73d4da2f", + destination_port="68faf65af1345067f11dc6723b8da32f00e304a6f33c000118fccd81947deb4e", + vessel_class="oil_aframax_lr2", + product="crude", + unit="usd_per_tonne", + avoid_zone=["Suez Canal"], + ) + + result_list = result.to_list() + assert len(result_list) > 0 diff --git a/tests/endpoints/test_anywhere_freight_pricing_post_price_details.py b/tests/endpoints/test_anywhere_freight_pricing_post_price_details.py new file mode 100644 index 000000000..20423acfb --- /dev/null +++ b/tests/endpoints/test_anywhere_freight_pricing_post_price_details.py @@ -0,0 +1,101 @@ +from datetime import datetime + +from tests.testcases import TestCaseUsingRealAPI +from vortexasdk import AnywhereFreightPricingPostPriceDetails + + +class TestAnywhereFreightPricingPostPriceDetails(TestCaseUsingRealAPI): + def test_search_returns_data(self): + routes = [ + { + "origin_port": "7f314ba0a498c36359b1c88781e94a73e19dcc9bbb030ec6b82f944a73d4da2f", + "destination_port": "68faf65af1345067f11dc6723b8da32f00e304a6f33c000118fccd81947deb4e", + "product": "crude", + "vessel_class": "oil_aframax_lr2", + } + ] + + result = AnywhereFreightPricingPostPriceDetails().search( + routes=routes, + time_min=datetime(2024, 1, 1), + time_max=datetime(2024, 1, 31), + unit="usd_per_tonne", + ) + + result_list = result.to_list() + assert len(result_list) > 0 + assert "origin_port" in result_list[0] + assert "destination_port" in result_list[0] + assert "vessel_class" in result_list[0] + assert "rates" in result_list[0] + + def test_search_to_df(self): + routes = [ + { + "origin_port": "7f314ba0a498c36359b1c88781e94a73e19dcc9bbb030ec6b82f944a73d4da2f", + "destination_port": "68faf65af1345067f11dc6723b8da32f00e304a6f33c000118fccd81947deb4e", + "product": "crude", + "vessel_class": "oil_aframax_lr2", + } + ] + + result = AnywhereFreightPricingPostPriceDetails().search( + routes=routes, + time_min=datetime(2024, 1, 1), + time_max=datetime(2024, 1, 31), + unit="usd_per_tonne", + ) + + df = result.to_df() + assert len(df) > 0 + # pd.json_normalize uses dot notation for nested keys + assert "origin_port.id" in df.columns + assert "destination_port.id" in df.columns + assert "vessel_class" in df.columns + + def test_search_multiple_routes(self): + routes = [ + { + "origin_port": "7f314ba0a498c36359b1c88781e94a73e19dcc9bbb030ec6b82f944a73d4da2f", + "destination_port": "68faf65af1345067f11dc6723b8da32f00e304a6f33c000118fccd81947deb4e", + "product": "crude", + "vessel_class": "oil_aframax_lr2", + }, + { + "origin_port": "68faf65af1345067f11dc6723b8da32f00e304a6f33c000118fccd81947deb4e", + "destination_port": "ea4921c8ad4fddb5fe3e7a4f834c1aa5863e43283c73da5f02d93bbc5dba72eb", + "product": "clean", + "vessel_class": "oil_handymax_mr2", + }, + ] + + result = AnywhereFreightPricingPostPriceDetails().search( + routes=routes, + time_min=datetime(2024, 1, 1), + time_max=datetime(2024, 1, 31), + unit="usd_per_tonne", + ) + + result_list = result.to_list() + assert len(result_list) >= 2 + + def test_search_with_avoid_zone(self): + routes = [ + { + "origin_port": "7f314ba0a498c36359b1c88781e94a73e19dcc9bbb030ec6b82f944a73d4da2f", + "destination_port": "68faf65af1345067f11dc6723b8da32f00e304a6f33c000118fccd81947deb4e", + "product": "crude", + "vessel_class": "oil_aframax_lr2", + "avoid_zone": ["Suez Canal"], + } + ] + + result = AnywhereFreightPricingPostPriceDetails().search( + routes=routes, + time_min=datetime(2024, 1, 1), + time_max=datetime(2024, 1, 31), + unit="usd_per_tonne", + ) + + result_list = result.to_list() + assert len(result_list) > 0 diff --git a/tests/endpoints/test_anywhere_freight_pricing_price_timeseries.py b/tests/endpoints/test_anywhere_freight_pricing_price_timeseries.py index a4e91e6f6..6355ac53e 100644 --- a/tests/endpoints/test_anywhere_freight_pricing_price_timeseries.py +++ b/tests/endpoints/test_anywhere_freight_pricing_price_timeseries.py @@ -49,7 +49,7 @@ def test_search_to_df(self): df = result.to_df() assert len(df) > 0 + # Top-level keys preserved, nested arrays like prices stay as lists assert "origin_port" in df.columns assert "destination_port" in df.columns - assert "date" in df.columns - assert "price" in df.columns + assert "vessel_class" in df.columns diff --git a/tests/endpoints/test_anywhere_freight_pricing_top_ports_destination.py b/tests/endpoints/test_anywhere_freight_pricing_top_ports_destination.py new file mode 100644 index 000000000..2955f0473 --- /dev/null +++ b/tests/endpoints/test_anywhere_freight_pricing_top_ports_destination.py @@ -0,0 +1,45 @@ +from tests.testcases import TestCaseUsingRealAPI +from vortexasdk import AnywhereFreightPricingTopPortsDestination + + +class TestAnywhereFreightPricingTopPortsDestination(TestCaseUsingRealAPI): + def test_search_returns_data(self): + result = AnywhereFreightPricingTopPortsDestination().search( + origin_id="7f314ba0a498c36359b1c88781e94a73e19dcc9bbb030ec6b82f944a73d4da2f", + vessel_class="oil_handymax_mr2", + product="clean", + unit="usd_per_tonne", + ) + + result_list = result.to_list() + assert len(result_list) > 0 + assert "geography" in result_list[0] + assert "price_details" in result_list[0] + assert "id" in result_list[0]["geography"] + assert "name" in result_list[0]["geography"] + + def test_search_to_df(self): + result = AnywhereFreightPricingTopPortsDestination().search( + origin_id="7f314ba0a498c36359b1c88781e94a73e19dcc9bbb030ec6b82f944a73d4da2f", + vessel_class="oil_handymax_mr2", + product="clean", + unit="usd_per_tonne", + ) + + df = result.to_df() + assert len(df) > 0 + # pd.json_normalize uses dot notation for nested keys + assert "geography.id" in df.columns + assert "geography.name" in df.columns + + def test_search_with_avoid_zone(self): + result = AnywhereFreightPricingTopPortsDestination().search( + origin_id="7f314ba0a498c36359b1c88781e94a73e19dcc9bbb030ec6b82f944a73d4da2f", + vessel_class="oil_handymax_mr2", + product="clean", + unit="usd_per_tonne", + avoid_zone=["Suez Canal"], + ) + + result_list = result.to_list() + assert len(result_list) > 0 diff --git a/tests/endpoints/test_anywhere_freight_pricing_top_ports_origin.py b/tests/endpoints/test_anywhere_freight_pricing_top_ports_origin.py new file mode 100644 index 000000000..7e698ab1d --- /dev/null +++ b/tests/endpoints/test_anywhere_freight_pricing_top_ports_origin.py @@ -0,0 +1,45 @@ +from tests.testcases import TestCaseUsingRealAPI +from vortexasdk import AnywhereFreightPricingTopPortsOrigin + + +class TestAnywhereFreightPricingTopPortsOrigin(TestCaseUsingRealAPI): + def test_search_returns_data(self): + result = AnywhereFreightPricingTopPortsOrigin().search( + destination_id="68faf65af1345067f11dc6723b8da32f00e304a6f33c000118fccd81947deb4e", + vessel_class="oil_handymax_mr2", + product="clean", + unit="usd_per_tonne", + ) + + result_list = result.to_list() + assert len(result_list) > 0 + assert "geography" in result_list[0] + assert "price_details" in result_list[0] + assert "id" in result_list[0]["geography"] + assert "name" in result_list[0]["geography"] + + def test_search_to_df(self): + result = AnywhereFreightPricingTopPortsOrigin().search( + destination_id="68faf65af1345067f11dc6723b8da32f00e304a6f33c000118fccd81947deb4e", + vessel_class="oil_handymax_mr2", + product="clean", + unit="usd_per_tonne", + ) + + df = result.to_df() + assert len(df) > 0 + # pd.json_normalize uses dot notation for nested keys + assert "geography.id" in df.columns + assert "geography.name" in df.columns + + def test_search_with_avoid_zone(self): + result = AnywhereFreightPricingTopPortsOrigin().search( + destination_id="68faf65af1345067f11dc6723b8da32f00e304a6f33c000118fccd81947deb4e", + vessel_class="oil_handymax_mr2", + product="clean", + unit="usd_per_tonne", + avoid_zone=["Suez Canal"], + ) + + result_list = result.to_list() + assert len(result_list) > 0 diff --git a/tests/endpoints/test_anywhere_freight_pricing_vessel_classes_details.py b/tests/endpoints/test_anywhere_freight_pricing_vessel_classes_details.py new file mode 100644 index 000000000..4e4dbc8e3 --- /dev/null +++ b/tests/endpoints/test_anywhere_freight_pricing_vessel_classes_details.py @@ -0,0 +1,24 @@ +from tests.testcases import TestCaseUsingRealAPI +from vortexasdk import AnywhereFreightPricingVesselClassesDetails + + +class TestAnywhereFreightPricingVesselClassesDetails(TestCaseUsingRealAPI): + def test_search_returns_data(self): + result = AnywhereFreightPricingVesselClassesDetails().search() + + result_list = result.to_list() + assert len(result_list) > 0 + assert "name" in result_list[0] + assert "suggested_tonnage" in result_list[0] + assert "min_tonnage" in result_list[0] + assert "max_tonnage" in result_list[0] + + def test_search_to_df(self): + result = AnywhereFreightPricingVesselClassesDetails().search() + + df = result.to_df() + assert len(df) > 0 + assert "name" in df.columns + assert "suggested_tonnage" in df.columns + assert "min_tonnage" in df.columns + assert "max_tonnage" in df.columns diff --git a/vortexasdk/__init__.py b/vortexasdk/__init__.py index f1505ae0a..076409e6d 100644 --- a/vortexasdk/__init__.py +++ b/vortexasdk/__init__.py @@ -42,6 +42,11 @@ Refineries, AnywhereFreightPricingLatestUpdateTimestamp, AnywhereFreightPricingPriceTimeseries, + AnywhereFreightPricingGetPriceDetails, + AnywhereFreightPricingPostPriceDetails, + AnywhereFreightPricingTopPortsDestination, + AnywhereFreightPricingTopPortsOrigin, + AnywhereFreightPricingVesselClassesDetails, ) # noinspection PyUnresolvedReferences @@ -92,6 +97,11 @@ "Refineries", "AnywhereFreightPricingLatestUpdateTimestamp", "AnywhereFreightPricingPriceTimeseries", + "AnywhereFreightPricingGetPriceDetails", + "AnywhereFreightPricingPostPriceDetails", + "AnywhereFreightPricingTopPortsDestination", + "AnywhereFreightPricingTopPortsOrigin", + "AnywhereFreightPricingVesselClassesDetails", "__version__", "run_all_checks", ] diff --git a/vortexasdk/endpoints/__init__.py b/vortexasdk/endpoints/__init__.py index 5963f85ed..e35aaca15 100644 --- a/vortexasdk/endpoints/__init__.py +++ b/vortexasdk/endpoints/__init__.py @@ -74,6 +74,21 @@ from vortexasdk.endpoints.anywhere_freight_pricing_price_timeseries import ( AnywhereFreightPricingPriceTimeseries, ) +from vortexasdk.endpoints.anywhere_freight_pricing_get_price_details import ( + AnywhereFreightPricingGetPriceDetails, +) +from vortexasdk.endpoints.anywhere_freight_pricing_post_price_details import ( + AnywhereFreightPricingPostPriceDetails, +) +from vortexasdk.endpoints.anywhere_freight_pricing_top_ports_destination import ( + AnywhereFreightPricingTopPortsDestination, +) +from vortexasdk.endpoints.anywhere_freight_pricing_top_ports_origin import ( + AnywhereFreightPricingTopPortsOrigin, +) +from vortexasdk.endpoints.anywhere_freight_pricing_vessel_classes_details import ( + AnywhereFreightPricingVesselClassesDetails, +) # Explicitly list all exported classes, to help MyPy know what is available __all__ = [ @@ -117,4 +132,9 @@ "Refineries", "AnywhereFreightPricingLatestUpdateTimestamp", "AnywhereFreightPricingPriceTimeseries", + "AnywhereFreightPricingGetPriceDetails", + "AnywhereFreightPricingPostPriceDetails", + "AnywhereFreightPricingTopPortsDestination", + "AnywhereFreightPricingTopPortsOrigin", + "AnywhereFreightPricingVesselClassesDetails", ] diff --git a/vortexasdk/endpoints/anywhere_freight_pricing_get_price_details.py b/vortexasdk/endpoints/anywhere_freight_pricing_get_price_details.py index aebd9a03f..1310b6834 100644 --- a/vortexasdk/endpoints/anywhere_freight_pricing_get_price_details.py +++ b/vortexasdk/endpoints/anywhere_freight_pricing_get_price_details.py @@ -1,7 +1,150 @@ -"""Anywhere Freight Pricing - Get Price Details.""" +from datetime import datetime +from typing import Any, Dict, List, Optional +from urllib.parse import urlencode + +from vortexasdk.client import default_client +from vortexasdk.endpoints.endpoints import ANYWHERE_FREIGHT_PRICING_PRICE_DETAILS +from vortexasdk.endpoints.anywhere_freight_pricing_result import ( + AnywhereFreightPricingResult, +) +from vortexasdk.logger import get_logger +from vortexasdk.retry_session import retry_get + +logger = get_logger(__name__) + + +def _to_date_string(dt: datetime) -> str: + """Convert datetime to YYYY-MM-DD date string as required by AFP API.""" + return dt.strftime("%Y-%m-%d") class AnywhereFreightPricingGetPriceDetails: - """Anywhere Freight Pricing Get Price Details endpoint.""" + """ + Anywhere Freight Pricing Get Price Details endpoint. + + Given a set of details about a single route (origin, destination, etc), + this will find rates, lumpsums and prediction confidence of the route. + + Please note: you will require a subscription to our Anywhere Freight Pricing + module to access this endpoint. + """ + + def __init__(self) -> None: + self._resource = ANYWHERE_FREIGHT_PRICING_PRICE_DETAILS + + def search( + self, + time_min: datetime, + time_max: datetime, + origin_port: str, + destination_port: str, + vessel_class: str, + product: str, + unit: str = "usd_per_tonne", + avoid_zone: Optional[List[str]] = None, + suggested_tonnage: Optional[float] = None, + ) -> AnywhereFreightPricingResult: + """ + List prices of a route. + + Given a set of details about a single route (origin, destination, etc), + this will find rates, lumpsums and prediction confidence of the route. + + # Arguments + + time_min: The UTC start date of the time filter. + + time_max: The UTC end date of the time filter. + + origin_port: Geographic ID of the origin port. + + destination_port: Geographic ID of the destination port. + + vessel_class: The vessel class for the route. Must be one of: + `'oil_coastal'`, `'oil_specialised'`, `'oil_handysize_mr1'`, + `'oil_handymax_mr2'`, `'oil_panamax_lr1'`, `'oil_aframax_lr2'`, + `'oil_suezmax_lr3'`, `'oil_vlcc'`. + + product: The product type. Must be one of: `'clean'`, `'dirty'`, `'crude'`. + + unit: The unit for pricing. Must be one of: `'usd_per_tonne'`, `'usd_per_barrel'`. + Defaults to `'usd_per_tonne'`. + + avoid_zone: Routing zones to avoid for this route. Options: + `'Panama Canal'`, `'Suez Canal'`. + + suggested_tonnage: Override the default suggested tonnage Vortexa will + suggest based on the vessel class. + + # Returns + `AnywhereFreightPricingResult` + + # Example + _Get price details for an Aframax LR2 crude route from Houston to Rotterdam._ + + ```python + >>> from vortexasdk import AnywhereFreightPricingGetPriceDetails + >>> from datetime import datetime + >>> result = AnywhereFreightPricingGetPriceDetails().search( + ... time_min=datetime(2024, 1, 1), + ... time_max=datetime(2024, 12, 31), + ... origin_port="7f314ba0a498c36359b1c88781e94a73e19dcc9bbb030ec6b82f944a73d4da2f", + ... destination_port="68faf65af1345067f11dc6723b8da32f00e304a6f33c000118fccd81947deb4e", + ... vessel_class="oil_aframax_lr2", + ... product="crude", + ... unit="usd_per_tonne", + ... ) + >>> df = result.to_df() + + ``` + + Returns a DataFrame with columns including rates, lumpsums, and confidence values: + + | | date | rate | lumpsum | confidence | + |---:|:-----------|------:|----------:|-----------:| + | 0 | 2024-01-01 | 12.50 | 1250000.0 | 0.85 | + | 1 | 2024-01-02 | 12.75 | 1275000.0 | 0.87 | + + """ + logger.info( + f"Fetching Anywhere Freight Pricing price details for route " + f"{origin_port} -> {destination_port}" + ) + + params: Dict[str, Any] = { + "time_min": _to_date_string(time_min), + "time_max": _to_date_string(time_max), + "origin_port": origin_port, + "destination_port": destination_port, + "vessel_class": vessel_class, + "product": product, + "unit": unit, + } + + if avoid_zone: + params["avoid_zone"] = avoid_zone + + if suggested_tonnage is not None: + params["suggested_tonnage"] = suggested_tonnage + + client = default_client() + url = client._create_url(self._resource) + + # Use doseq=True to handle list parameters (avoid_zone) + query_string = urlencode(params, doseq=True) + url = f"{url}&{query_string}" + + response = retry_get(url) + + if not response.ok: + logger.error(response.reason) + raise ValueError( + f"[{response.status_code} {response.reason}] " + f"Failed to fetch price details" + ) - pass + data = response.json() + return AnywhereFreightPricingResult( + records=data.get("data", []), + reference=data.get("metadata", {}), + ) diff --git a/vortexasdk/endpoints/anywhere_freight_pricing_latest_update_timestamp.py b/vortexasdk/endpoints/anywhere_freight_pricing_latest_update_timestamp.py index 53a672cdf..90ebf7a01 100644 --- a/vortexasdk/endpoints/anywhere_freight_pricing_latest_update_timestamp.py +++ b/vortexasdk/endpoints/anywhere_freight_pricing_latest_update_timestamp.py @@ -1,5 +1,3 @@ -# TODO: Check if we want a try me now Binder notebook - from typing import Dict from vortexasdk.client import default_client diff --git a/vortexasdk/endpoints/anywhere_freight_pricing_post_price_details.py b/vortexasdk/endpoints/anywhere_freight_pricing_post_price_details.py index 09d7bf4f8..0cbde3fcc 100644 --- a/vortexasdk/endpoints/anywhere_freight_pricing_post_price_details.py +++ b/vortexasdk/endpoints/anywhere_freight_pricing_post_price_details.py @@ -1,7 +1,117 @@ -"""Anywhere Freight Pricing - Post Price Details.""" +from datetime import datetime +from typing import Any, Dict, List +from vortexasdk.endpoints.endpoints import ANYWHERE_FREIGHT_PRICING_PRICE_DETAILS +from vortexasdk.endpoints.anywhere_freight_pricing_result import ( + AnywhereFreightPricingResult, +) +from vortexasdk.logger import get_logger +from vortexasdk.operations import Search -class AnywhereFreightPricingPostPriceDetails: - """Anywhere Freight Pricing Post Price Details endpoint.""" +logger = get_logger(__name__) - pass + +def _to_date_string(dt: datetime) -> str: + """Convert datetime to YYYY-MM-DD date string as required by AFP API.""" + return dt.strftime("%Y-%m-%d") + + +class AnywhereFreightPricingPostPriceDetails(Search): + """ + Anywhere Freight Pricing Post Price Details endpoint. + + Given a set of details about multiple routes (origin, destination, etc), + this will find rates, lumpsums and prediction confidence for each route. + + Please note: you will require a subscription to our Anywhere Freight Pricing + module to access this endpoint. + """ + + def __init__(self) -> None: + Search.__init__(self, ANYWHERE_FREIGHT_PRICING_PRICE_DETAILS) + + def search( + self, + routes: List[Dict[str, Any]], + time_min: datetime, + time_max: datetime, + unit: str = "usd_per_tonne", + ) -> AnywhereFreightPricingResult: + """ + List prices for multiple routes. + + Given a set of details about multiple routes (origin, destination, etc), + this will find rates, lumpsums and prediction confidence for each route. + + # Arguments + + routes: A list of route dictionaries. Each route must contain: + - `origin_port` (str, required): Geographical ID of the origin port. + - `destination_port` (str, required): Geographical ID of the destination port. + - `product` (str, required): One of `'clean'`, `'dirty'`, `'crude'`. + - `vessel_class` (str, required): One of `'oil_coastal'`, `'oil_specialised'`, + `'oil_handysize_mr1'`, `'oil_handymax_mr2'`, `'oil_panamax_lr1'`, + `'oil_aframax_lr2'`, `'oil_suezmax_lr3'`, `'oil_vlcc'`. + - `avoid_zone` (list, optional): Routing zones to avoid. Options: + `'Panama Canal'`, `'Suez Canal'`. + - `suggested_tonnage` (float, optional): Suggested tonnage for the route. + + time_min: The UTC start date of the time filter. + + time_max: The UTC end date of the time filter. + + unit: The unit for pricing. Must be one of: `'usd_per_tonne'`, `'usd_per_barrel'`. + + # Returns + `AnywhereFreightPricingResult` + + # Example + _Get price details for multiple routes._ + + ```python + >>> from vortexasdk import AnywhereFreightPricingPostPriceDetails + >>> from datetime import datetime + >>> routes = [ + ... { + ... "origin_port": "7f314ba0a498c36359b1c88781e94a73e19dcc9bbb030ec6b82f944a73d4da2f", + ... "destination_port": "68faf65af1345067f11dc6723b8da32f00e304a6f33c000118fccd81947deb4e", + ... "product": "crude", + ... "vessel_class": "oil_aframax_lr2", + ... }, + ... { + ... "origin_port": "68faf65af1345067f11dc6723b8da32f00e304a6f33c000118fccd81947deb4e", + ... "destination_port": "ea4921c8ad4fddb5fe3e7a4f834c1aa5863e43283c73da5f02d93bbc5dba72eb", + ... "product": "clean", + ... "vessel_class": "oil_handymax_mr2", + ... } + ... ] + >>> result = AnywhereFreightPricingPostPriceDetails().search( + ... routes=routes, + ... time_min=datetime(2024, 1, 1), + ... time_max=datetime(2024, 1, 31), + ... unit="usd_per_tonne", + ... ) + >>> df = result.to_df() + + ``` + + Returns a DataFrame with columns including rates, lumpsums, and confidence values: + + | | date | rate | lumpsum | confidence | + |---:|:-----------|------:|----------:|-----------:| + | 0 | 2024-01-01 | 12.50 | 1250000.0 | 0.85 | + | 1 | 2024-01-02 | 12.75 | 1275000.0 | 0.87 | + + """ + api_params: Dict[str, Any] = { + "routes": routes, + "time_min": _to_date_string(time_min) if time_min else None, + "time_max": _to_date_string(time_max) if time_max else None, + "unit": unit, + } + + response = super().search_with_client(response_type="breakdown", **api_params) + + return AnywhereFreightPricingResult( + records=response["data"], reference=response.get("reference", {}) + ) diff --git a/vortexasdk/endpoints/anywhere_freight_pricing_price_timeseries.py b/vortexasdk/endpoints/anywhere_freight_pricing_price_timeseries.py index cdffac365..a7cbfaeaf 100644 --- a/vortexasdk/endpoints/anywhere_freight_pricing_price_timeseries.py +++ b/vortexasdk/endpoints/anywhere_freight_pricing_price_timeseries.py @@ -2,8 +2,8 @@ from typing import Any, Dict, List from vortexasdk.endpoints.endpoints import ANYWHERE_FREIGHT_PRICING_PRICE_TIMESERIES -from vortexasdk.endpoints.anywhere_freight_pricing_price_timeseries_result import ( - AnywhereFreightPricingPriceTimeseriesResult, +from vortexasdk.endpoints.anywhere_freight_pricing_result import ( + AnywhereFreightPricingResult, ) from vortexasdk.logger import get_logger from vortexasdk.operations import Search @@ -34,7 +34,7 @@ def search( time_max: datetime, frequency: str = "month", unit: str = "usd_per_tonne", - ) -> AnywhereFreightPricingPriceTimeseriesResult: + ) -> AnywhereFreightPricingResult: """ Get historical pricing over time for multiple routes. @@ -65,7 +65,7 @@ def search( unit: The unit for pricing. Must be one of: `'usd_per_tonne'`, `'usd_per_barrel'`. # Returns - `AnywhereFreightPricingPriceTimeseriesResult` + `AnywhereFreightPricingResult` # Example _Get daily pricing for a Handymax MR2 clean route from Rotterdam to New York._ @@ -110,6 +110,6 @@ def search( response = super().search_with_client(response_type="breakdown", **api_params) - return AnywhereFreightPricingPriceTimeseriesResult( + return AnywhereFreightPricingResult( records=response["data"], reference=response.get("reference", {}) ) diff --git a/vortexasdk/endpoints/anywhere_freight_pricing_price_timeseries_result.py b/vortexasdk/endpoints/anywhere_freight_pricing_price_timeseries_result.py deleted file mode 100644 index 8a7526433..000000000 --- a/vortexasdk/endpoints/anywhere_freight_pricing_price_timeseries_result.py +++ /dev/null @@ -1,61 +0,0 @@ -from typing import Any, Dict, List - -import pandas as pd -from pydantic import Field - -from vortexasdk.api.search_result import Result -from vortexasdk.logger import get_logger - -logger = get_logger(__name__) - - -class AnywhereFreightPricingPriceTimeseriesResult(Result): - """Container class that holds the result from the AFP Price Timeseries endpoint.""" - - records: List = Field(default_factory=list) - reference: Dict[str, Any] = Field(default_factory=dict) - - def to_list(self) -> List[Dict[str, Any]]: - """ - Represent the results as a list of route pricing records. - - Each record contains route details (origin_port, destination_port, - vessel_class, product) and a list of prices over time. - """ - return self.records - - def to_df(self) -> pd.DataFrame: - """ - Represent the results as a flattened DataFrame. - - Each row represents a single price point for a route on a specific date. - """ - flattened_records = [] - - for record in self.records: - base_info = { - "origin_port": record.get("origin_port"), - "destination_port": record.get("destination_port"), - "vessel_class": record.get("vessel_class"), - "product": record.get("product"), - "avoid_zone": record.get("avoid_zone"), - "suggested_tonnage": record.get("suggested_tonnage"), - } - - for price_entry in record.get("prices", []): - row = { - **base_info, - "date": price_entry.get("date"), - "price": price_entry.get("price"), - "price_lower": price_entry.get("price_lower"), - "price_upper": price_entry.get("price_upper"), - "voyage_price": price_entry.get("voyage_price"), - } - flattened_records.append(row) - - df = pd.DataFrame(flattened_records) - - if "date" in df.columns: - df["date"] = pd.to_datetime(df["date"]) - - return df diff --git a/vortexasdk/endpoints/anywhere_freight_pricing_result.py b/vortexasdk/endpoints/anywhere_freight_pricing_result.py new file mode 100644 index 000000000..d0b9ecb2d --- /dev/null +++ b/vortexasdk/endpoints/anywhere_freight_pricing_result.py @@ -0,0 +1,32 @@ +from typing import Any, Dict, List + +import pandas as pd +from pydantic import Field + +from vortexasdk.api.search_result import Result + + +class AnywhereFreightPricingResult(Result): + """Container class that holds results from Anywhere Freight Pricing endpoints.""" + + records: List = Field(default_factory=list) + reference: Dict[str, Any] = Field(default_factory=dict) + + def to_list(self) -> List[Dict[str, Any]]: + """ + Represent the results as a list of records. + + Returns the raw API response data. + """ + return self.records + + def to_df(self) -> pd.DataFrame: + """ + Represent the results as a DataFrame. + + Uses pd.json_normalize to flatten nested structures. + """ + if not self.records: + return pd.DataFrame() + + return pd.json_normalize(self.records) diff --git a/vortexasdk/endpoints/anywhere_freight_pricing_top_ports_destination.py b/vortexasdk/endpoints/anywhere_freight_pricing_top_ports_destination.py index 3bb1036d4..724fd046b 100644 --- a/vortexasdk/endpoints/anywhere_freight_pricing_top_ports_destination.py +++ b/vortexasdk/endpoints/anywhere_freight_pricing_top_ports_destination.py @@ -1,7 +1,114 @@ -"""Anywhere Freight Pricing - Top Ports Destination.""" +from typing import Any, Dict, List, Optional + +from vortexasdk.client import default_client +from vortexasdk.endpoints.endpoints import ANYWHERE_FREIGHT_PRICING_TOP_PORTS_DESTINATION +from vortexasdk.endpoints.anywhere_freight_pricing_result import ( + AnywhereFreightPricingResult, +) +from vortexasdk.logger import get_logger +from vortexasdk.retry_session import retry_post + +logger = get_logger(__name__) class AnywhereFreightPricingTopPortsDestination: - """Anywhere Freight Pricing Top Ports Destination endpoint.""" + """ + Anywhere Freight Pricing Top Ports Destination endpoint. + + List top destination ports. A top destination port refers to the port + with the greatest volume of incoming voyages from vessels in a specified class. + + Please note: you will require a subscription to our Anywhere Freight Pricing + module to access this endpoint. + """ + + def __init__(self) -> None: + self._resource = ANYWHERE_FREIGHT_PRICING_TOP_PORTS_DESTINATION + + def search( + self, + origin_id: str, + vessel_class: str, + product: str, + unit: str = "usd_per_tonne", + avoid_zone: Optional[List[str]] = None + ) -> AnywhereFreightPricingResult: + """ + List top destination ports from a given origin. + + A top destination port refers to the port with the greatest volume of + incoming voyages from vessels in a specified class. + + # Arguments + + origin_id: Geographical ID of the origin port. + + vessel_class: The vessel class for the route. Must be one of: + `'oil_coastal'`, `'oil_specialised'`, `'oil_handysize_mr1'`, + `'oil_handymax_mr2'`, `'oil_panamax_lr1'`, `'oil_aframax_lr2'`, + `'oil_suezmax_lr3'`, `'oil_vlcc'`. + + product: The product type. Must be one of: `'clean'`, `'dirty'`, `'crude'`. + + unit: The unit for pricing. Must be one of: `'usd_per_tonne'`, `'usd_per_barrel'`. + Defaults to `'usd_per_tonne'`. + + avoid_zone: Routing zones to avoid. Options: `'Panama Canal'`, `'Suez Canal'`. + + # Returns + `AnywhereFreightPricingResult` + + # Example + _Get top destination ports for clean products from Houston using MR2 vessels._ + + ```python + >>> from vortexasdk import AnywhereFreightPricingTopPortsDestination + >>> result = AnywhereFreightPricingTopPortsDestination().search( + ... origin_id="7f314ba0a498c36359b1c88781e94a73e19dcc9bbb030ec6b82f944a73d4da2f", + ... vessel_class="oil_handymax_mr2", + ... product="clean", + ... unit="usd_per_tonne", + ... ) + >>> df = result.to_df() + + ``` + + Returns a DataFrame with columns including geography info, rates, lumpsums, + and confidence values: + + | | geography_name | date | rate | lumpsum | confidence | + |---:|:---------------|:-----------|------:|------------:|-----------:| + | 0 | Callao [PE] | 2024-01-01 | 63.55 | 2351511.83 | 2 | + + """ + logger.info( + f"Fetching Anywhere Freight Pricing top destination ports for origin {origin_id}" + ) + + payload: Dict[str, Any] = { + "origin_id": origin_id, + "vessel_class": vessel_class, + "product": product, + "unit": unit, + } + + if avoid_zone is not None: + payload["avoid_zone"] = avoid_zone + + client = default_client() + url = client._create_url(self._resource) + + response = retry_post(url, json=payload) + + if not response.ok: + logger.error(response.reason) + raise ValueError( + f"[{response.status_code} {response.reason}] " + f"Failed to fetch top destination ports" + ) - pass + data = response.json() + return AnywhereFreightPricingResult( + records=data.get("data", []), + reference=data.get("metadata", {}), + ) diff --git a/vortexasdk/endpoints/anywhere_freight_pricing_top_ports_origin.py b/vortexasdk/endpoints/anywhere_freight_pricing_top_ports_origin.py index 2d6014bbe..435804526 100644 --- a/vortexasdk/endpoints/anywhere_freight_pricing_top_ports_origin.py +++ b/vortexasdk/endpoints/anywhere_freight_pricing_top_ports_origin.py @@ -1,7 +1,114 @@ -"""Anywhere Freight Pricing - Top Ports Origin.""" +from typing import Any, Dict, List, Optional + +from vortexasdk.client import default_client +from vortexasdk.endpoints.endpoints import ANYWHERE_FREIGHT_PRICING_TOP_PORTS_ORIGIN +from vortexasdk.endpoints.anywhere_freight_pricing_result import ( + AnywhereFreightPricingResult, +) +from vortexasdk.logger import get_logger +from vortexasdk.retry_session import retry_post + +logger = get_logger(__name__) class AnywhereFreightPricingTopPortsOrigin: - """Anywhere Freight Pricing Top Ports Origin endpoint.""" + """ + Anywhere Freight Pricing Top Ports Origin endpoint. + + List top origin ports. A top origin port refers to the port + with the greatest volume of outgoing voyages from vessels in a specified class. + + Please note: you will require a subscription to our Anywhere Freight Pricing + module to access this endpoint. + """ + + def __init__(self) -> None: + self._resource = ANYWHERE_FREIGHT_PRICING_TOP_PORTS_ORIGIN + + def search( + self, + destination_id: str, + vessel_class: str, + product: str, + unit: str = "usd_per_tonne", + avoid_zone: Optional[List[str]] = None + ) -> AnywhereFreightPricingResult: + """ + List top origin ports for a given destination. + + A top origin port refers to the port with the greatest volume of + outgoing voyages from vessels in a specified class. + + # Arguments + + destination_id: Geographical ID of the destination port. + + vessel_class: The vessel class for the route. Must be one of: + `'oil_coastal'`, `'oil_specialised'`, `'oil_handysize_mr1'`, + `'oil_handymax_mr2'`, `'oil_panamax_lr1'`, `'oil_aframax_lr2'`, + `'oil_suezmax_lr3'`, `'oil_vlcc'`. + + product: The product type. Must be one of: `'clean'`, `'dirty'`, `'crude'`. + + unit: The unit for pricing. Must be one of: `'usd_per_tonne'`, `'usd_per_barrel'`. + Defaults to `'usd_per_tonne'`. + + avoid_zone: Routing zones to avoid. Options: `'Panama Canal'`, `'Suez Canal'`. + + # Returns + `AnywhereFreightPricingResult` + + # Example + _Get top origin ports for clean products to Rotterdam using MR2 vessels._ + + ```python + >>> from vortexasdk import AnywhereFreightPricingTopPortsOrigin + >>> result = AnywhereFreightPricingTopPortsOrigin().search( + ... destination_id="68faf65af1345067f11dc6723b8da32f00e304a6f33c000118fccd81947deb4e", + ... vessel_class="oil_handymax_mr2", + ... product="clean", + ... unit="usd_per_tonne", + ... ) + >>> df = result.to_df() + + ``` + + Returns a DataFrame with columns including geography info, rates, lumpsums, + and confidence values: + + | | geography_name | date | rate | lumpsum | confidence | + |---:|:---------------|:-----------|------:|------------:|-----------:| + | 0 | Houston [US] | 2024-01-01 | 63.55 | 2351511.83 | 2 | + + """ + logger.info( + f"Fetching Anywhere Freight Pricing top origin ports for destination {destination_id}" + ) + + payload: Dict[str, Any] = { + "destination_id": destination_id, + "vessel_class": vessel_class, + "product": product, + "unit": unit, + } + + if avoid_zone is not None: + payload["avoid_zone"] = avoid_zone + + client = default_client() + url = client._create_url(self._resource) + + response = retry_post(url, json=payload) + + if not response.ok: + logger.error(response.reason) + raise ValueError( + f"[{response.status_code} {response.reason}] " + f"Failed to fetch top origin ports" + ) - pass + data = response.json() + return AnywhereFreightPricingResult( + records=data.get("data", []), + reference=data.get("metadata", {}), + ) diff --git a/vortexasdk/endpoints/anywhere_freight_pricing_vessel_classes_details.py b/vortexasdk/endpoints/anywhere_freight_pricing_vessel_classes_details.py index e6bd816a4..f1e2fda61 100644 --- a/vortexasdk/endpoints/anywhere_freight_pricing_vessel_classes_details.py +++ b/vortexasdk/endpoints/anywhere_freight_pricing_vessel_classes_details.py @@ -1,7 +1,73 @@ -"""Anywhere Freight Pricing - Vessel Classes Details.""" +from vortexasdk.client import default_client +from vortexasdk.endpoints.endpoints import ANYWHERE_FREIGHT_PRICING_VESSEL_CLASSES_DETAILS +from vortexasdk.endpoints.anywhere_freight_pricing_result import ( + AnywhereFreightPricingResult, +) +from vortexasdk.logger import get_logger +from vortexasdk.retry_session import retry_get + +logger = get_logger(__name__) class AnywhereFreightPricingVesselClassesDetails: - """Anywhere Freight Pricing Vessel Classes Details endpoint.""" + """ + Anywhere Freight Pricing Vessel Classes Details endpoint. + + Lists all the vessel classes supported for Anywhere Freight Pricing + and the tonnages they can carry. + + Please note: you will require a subscription to our Anywhere Freight Pricing + module to access this endpoint. + """ + + def __init__(self) -> None: + self._resource = ANYWHERE_FREIGHT_PRICING_VESSEL_CLASSES_DETAILS + + def search(self) -> AnywhereFreightPricingResult: + """ + List vessel classes with tonnages. + + Lists all the vessel classes supported for Anywhere Freight Pricing + and the tonnages they can carry. + + # Returns + `AnywhereFreightPricingResult` + + # Example + _Get all supported vessel classes and their tonnage ranges._ + + ```python + >>> from vortexasdk import AnywhereFreightPricingVesselClassesDetails + >>> result = AnywhereFreightPricingVesselClassesDetails().search() + >>> df = result.to_df() + + ``` + + Returns a DataFrame with vessel class details: + + | | name | suggested_tonnage | min_tonnage | max_tonnage | + |---:|:------------------|------------------:|------------:|------------:| + | 0 | oil_handymax_mr2 | 37000.0 | 18000.0 | 54000.0 | + | 1 | oil_panamax_lr1 | 60000.0 | 30000.0 | 79000.0 | + | 2 | oil_aframax_lr2 | 85000.0 | 42000.0 | 119000.0 | + + """ + logger.info("Fetching Anywhere Freight Pricing vessel classes details") + + client = default_client() + url = client._create_url(self._resource) + + response = retry_get(url) + + if not response.ok: + logger.error(response.reason) + raise ValueError( + f"[{response.status_code} {response.reason}] " + f"Failed to fetch vessel classes details" + ) - pass + data = response.json() + return AnywhereFreightPricingResult( + records=data.get("data", []), + reference=data.get("metadata", {}), + ) diff --git a/vortexasdk/endpoints/endpoints.py b/vortexasdk/endpoints/endpoints.py index cb1a0cc55..4fcceb1da 100644 --- a/vortexasdk/endpoints/endpoints.py +++ b/vortexasdk/endpoints/endpoints.py @@ -35,6 +35,10 @@ ANYWHERE_FREIGHT_PRICING_LATEST_UPDATE = "/v5/anywhere-freight-pricing/latest-update-timestamp" ANYWHERE_FREIGHT_PRICING_PRICE_TIMESERIES = "/v5/anywhere-freight-pricing/price-timeseries" +ANYWHERE_FREIGHT_PRICING_PRICE_DETAILS = "/v5/anywhere-freight-pricing/price/details" +ANYWHERE_FREIGHT_PRICING_TOP_PORTS_DESTINATION = "/v5/anywhere-freight-pricing/top-ports/destination" +ANYWHERE_FREIGHT_PRICING_TOP_PORTS_ORIGIN = "/v5/anywhere-freight-pricing/top-ports/origin" +ANYWHERE_FREIGHT_PRICING_VESSEL_CLASSES_DETAILS = "/v5/anywhere-freight-pricing/vessel-classes-details" VOYAGES_SEARCH_ENRICHED = "/v5/voyages/search-enriched" VOYAGES_TOP_HITS = "/v5/voyages/top-hits" From 50ccd2287cec677b245280c8277490a585defda5 Mon Sep 17 00:00:00 2001 From: Jack Burgess Date: Thu, 21 May 2026 14:22:47 +0100 Subject: [PATCH 3/6] fix: comments --- docs/autogen.py | 14 ++++++++++++++ ...here_freight_pricing_latest_update_timestamp.py | 1 + .../anywhere_freight_pricing_get_price_details.py | 11 ++--------- ...here_freight_pricing_latest_update_timestamp.py | 11 ++--------- ...ywhere_freight_pricing_top_ports_destination.py | 11 ++--------- .../anywhere_freight_pricing_top_ports_origin.py | 11 ++--------- ...where_freight_pricing_vessel_classes_details.py | 11 ++--------- 7 files changed, 25 insertions(+), 45 deletions(-) diff --git a/docs/autogen.py b/docs/autogen.py index adca3723a..93cecc463 100644 --- a/docs/autogen.py +++ b/docs/autogen.py @@ -53,6 +53,20 @@ def copy_examples(examples_dir: str, destination_dir: str) -> None: f_out.write("```") +def copy_css(source_dir: str, destination_dir: str) -> None: + """Copy CSS files to the documentation build directory.""" + pathlib.Path(destination_dir).mkdir(parents=True, exist_ok=True) + for file in os.listdir(source_dir): + if file.endswith(".css"): + source_path = os.path.join(source_dir, file) + dest_path = os.path.join(destination_dir, file) + with open(source_path, "r", encoding="utf-8") as f_in: + content = f_in.read() + with open(dest_path, "w", encoding="utf-8") as f_out: + f_out.write(content) + + if __name__ == "__main__": print(os.getcwd()) copy_examples("./docs/examples", "./_build/pydocmd/examples") + copy_css("./docs/css", "./_build/pydocmd/css") diff --git a/tests/endpoints/test_anywhere_freight_pricing_latest_update_timestamp.py b/tests/endpoints/test_anywhere_freight_pricing_latest_update_timestamp.py index 3f64236bf..70e18a241 100644 --- a/tests/endpoints/test_anywhere_freight_pricing_latest_update_timestamp.py +++ b/tests/endpoints/test_anywhere_freight_pricing_latest_update_timestamp.py @@ -1,6 +1,7 @@ from tests.testcases import TestCaseUsingRealAPI from vortexasdk import AnywhereFreightPricingLatestUpdateTimestamp + class TestAnywhereFreightPricingLatestUpdateTimestamp(TestCaseUsingRealAPI): def test_search_returns_timestamp(self): result = AnywhereFreightPricingLatestUpdateTimestamp().search() diff --git a/vortexasdk/endpoints/anywhere_freight_pricing_get_price_details.py b/vortexasdk/endpoints/anywhere_freight_pricing_get_price_details.py index 1310b6834..6112ddb68 100644 --- a/vortexasdk/endpoints/anywhere_freight_pricing_get_price_details.py +++ b/vortexasdk/endpoints/anywhere_freight_pricing_get_price_details.py @@ -2,7 +2,7 @@ from typing import Any, Dict, List, Optional from urllib.parse import urlencode -from vortexasdk.client import default_client +from vortexasdk.client import default_client, _handle_response from vortexasdk.endpoints.endpoints import ANYWHERE_FREIGHT_PRICING_PRICE_DETAILS from vortexasdk.endpoints.anywhere_freight_pricing_result import ( AnywhereFreightPricingResult, @@ -136,14 +136,7 @@ def search( response = retry_get(url) - if not response.ok: - logger.error(response.reason) - raise ValueError( - f"[{response.status_code} {response.reason}] " - f"Failed to fetch price details" - ) - - data = response.json() + data = _handle_response(response) return AnywhereFreightPricingResult( records=data.get("data", []), reference=data.get("metadata", {}), diff --git a/vortexasdk/endpoints/anywhere_freight_pricing_latest_update_timestamp.py b/vortexasdk/endpoints/anywhere_freight_pricing_latest_update_timestamp.py index 90ebf7a01..de34a514a 100644 --- a/vortexasdk/endpoints/anywhere_freight_pricing_latest_update_timestamp.py +++ b/vortexasdk/endpoints/anywhere_freight_pricing_latest_update_timestamp.py @@ -1,6 +1,6 @@ from typing import Dict -from vortexasdk.client import default_client +from vortexasdk.client import default_client, _handle_response from vortexasdk.endpoints.endpoints import ANYWHERE_FREIGHT_PRICING_LATEST_UPDATE from vortexasdk.logger import get_logger from vortexasdk.retry_session import retry_get @@ -51,11 +51,4 @@ def search(self) -> Dict[str, str]: url = client._create_url(self._resource) response = retry_get(url) - if not response.ok: - logger.error(response.reason) - raise ValueError( - f"[{response.status_code} {response.reason}] " - f"Failed to fetch latest update timestamp" - ) - - return response.json() + return _handle_response(response) diff --git a/vortexasdk/endpoints/anywhere_freight_pricing_top_ports_destination.py b/vortexasdk/endpoints/anywhere_freight_pricing_top_ports_destination.py index 724fd046b..477a8d0e6 100644 --- a/vortexasdk/endpoints/anywhere_freight_pricing_top_ports_destination.py +++ b/vortexasdk/endpoints/anywhere_freight_pricing_top_ports_destination.py @@ -1,6 +1,6 @@ from typing import Any, Dict, List, Optional -from vortexasdk.client import default_client +from vortexasdk.client import default_client, _handle_response from vortexasdk.endpoints.endpoints import ANYWHERE_FREIGHT_PRICING_TOP_PORTS_DESTINATION from vortexasdk.endpoints.anywhere_freight_pricing_result import ( AnywhereFreightPricingResult, @@ -100,14 +100,7 @@ def search( response = retry_post(url, json=payload) - if not response.ok: - logger.error(response.reason) - raise ValueError( - f"[{response.status_code} {response.reason}] " - f"Failed to fetch top destination ports" - ) - - data = response.json() + data = _handle_response(response) return AnywhereFreightPricingResult( records=data.get("data", []), reference=data.get("metadata", {}), diff --git a/vortexasdk/endpoints/anywhere_freight_pricing_top_ports_origin.py b/vortexasdk/endpoints/anywhere_freight_pricing_top_ports_origin.py index 435804526..33505c800 100644 --- a/vortexasdk/endpoints/anywhere_freight_pricing_top_ports_origin.py +++ b/vortexasdk/endpoints/anywhere_freight_pricing_top_ports_origin.py @@ -1,6 +1,6 @@ from typing import Any, Dict, List, Optional -from vortexasdk.client import default_client +from vortexasdk.client import default_client, _handle_response from vortexasdk.endpoints.endpoints import ANYWHERE_FREIGHT_PRICING_TOP_PORTS_ORIGIN from vortexasdk.endpoints.anywhere_freight_pricing_result import ( AnywhereFreightPricingResult, @@ -100,14 +100,7 @@ def search( response = retry_post(url, json=payload) - if not response.ok: - logger.error(response.reason) - raise ValueError( - f"[{response.status_code} {response.reason}] " - f"Failed to fetch top origin ports" - ) - - data = response.json() + data = _handle_response(response) return AnywhereFreightPricingResult( records=data.get("data", []), reference=data.get("metadata", {}), diff --git a/vortexasdk/endpoints/anywhere_freight_pricing_vessel_classes_details.py b/vortexasdk/endpoints/anywhere_freight_pricing_vessel_classes_details.py index f1e2fda61..f25281165 100644 --- a/vortexasdk/endpoints/anywhere_freight_pricing_vessel_classes_details.py +++ b/vortexasdk/endpoints/anywhere_freight_pricing_vessel_classes_details.py @@ -1,4 +1,4 @@ -from vortexasdk.client import default_client +from vortexasdk.client import default_client, _handle_response from vortexasdk.endpoints.endpoints import ANYWHERE_FREIGHT_PRICING_VESSEL_CLASSES_DETAILS from vortexasdk.endpoints.anywhere_freight_pricing_result import ( AnywhereFreightPricingResult, @@ -59,14 +59,7 @@ def search(self) -> AnywhereFreightPricingResult: response = retry_get(url) - if not response.ok: - logger.error(response.reason) - raise ValueError( - f"[{response.status_code} {response.reason}] " - f"Failed to fetch vessel classes details" - ) - - data = response.json() + data = _handle_response(response) return AnywhereFreightPricingResult( records=data.get("data", []), reference=data.get("metadata", {}), From fc0ce8aefac835e9971e598382172c84f82f1572 Mon Sep 17 00:00:00 2001 From: Jack Burgess Date: Thu, 21 May 2026 15:02:12 +0100 Subject: [PATCH 4/6] fix: comments --- README.md | 2 +- Untitled.ipynb | 70 ------------------- ...freight_pricing_latest_update_timestamp.py | 2 +- ...where_freight_pricing_get_price_details.py | 14 ++-- ...freight_pricing_latest_update_timestamp.py | 8 ++- ...here_freight_pricing_post_price_details.py | 18 ++--- ...ywhere_freight_pricing_price_timeseries.py | 20 +++--- .../anywhere_freight_pricing_result.py | 6 +- ...e_freight_pricing_top_ports_destination.py | 6 +- ...ywhere_freight_pricing_top_ports_origin.py | 6 +- ..._freight_pricing_vessel_classes_details.py | 4 +- vortexasdk/endpoints/endpoints.py | 24 +++++-- vortexasdk/utils.py | 5 ++ 13 files changed, 69 insertions(+), 116 deletions(-) delete mode 100644 Untitled.ipynb diff --git a/README.md b/README.md index b6685bb32..a3a4e60f9 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Data Scientists, Analysts and Developers efficiently explore the world’s waterborne oil movements, and to build custom models & reports with minimum setup cost. -The SDK!! sits as a thin python wrapper around +The SDK sits as a thin python wrapper around [Vortexa's API](https://docs.vortexa.com), giving you immediate access to pandas DataFrames. diff --git a/Untitled.ipynb b/Untitled.ipynb deleted file mode 100644 index 342706da8..000000000 --- a/Untitled.ipynb +++ /dev/null @@ -1,70 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "ee736f5c-71be-45c1-b50b-ab9312c66f3c", - "metadata": {}, - "outputs": [], - "source": [ - "from vortexasdk import AnywhereFreightPricingVesselClassesDetails\n", - "result = AnywhereFreightPricingVesselClassesDetails().search()\n", - "df = result.to_df()" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "16775683-741d-4713-b38b-6caf7e3a507f", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " name suggested_tonnage min_tonnage max_tonnage\n", - "0 oil_handymax_mr2 37000.0 18000.0 54000.0\n", - "1 oil_panamax_lr1 60000.0 30000.0 79000.0\n", - "2 oil_aframax_lr2 85000.0 42000.0 119000.0\n", - "3 oil_handysize_mr1 30000.0 15000.0 39000.0\n", - "4 oil_suezmax_lr3 125000.0 62000.0 199000.0\n", - "5 oil_vlcc 270000.0 135000.0 350000.0\n", - "6 oil_specialised 15000.0 7000.0 24000.0\n" - ] - } - ], - "source": [ - "print(result.to_df())" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8ff76440-c06d-4ec9-866e-d511cc773947", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.13.13" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/tests/endpoints/test_anywhere_freight_pricing_latest_update_timestamp.py b/tests/endpoints/test_anywhere_freight_pricing_latest_update_timestamp.py index 70e18a241..03fae85e3 100644 --- a/tests/endpoints/test_anywhere_freight_pricing_latest_update_timestamp.py +++ b/tests/endpoints/test_anywhere_freight_pricing_latest_update_timestamp.py @@ -5,4 +5,4 @@ class TestAnywhereFreightPricingLatestUpdateTimestamp(TestCaseUsingRealAPI): def test_search_returns_timestamp(self): result = AnywhereFreightPricingLatestUpdateTimestamp().search() - assert "timestamp" in result \ No newline at end of file + assert "timestamp" in result diff --git a/vortexasdk/endpoints/anywhere_freight_pricing_get_price_details.py b/vortexasdk/endpoints/anywhere_freight_pricing_get_price_details.py index 6112ddb68..b6cb12aac 100644 --- a/vortexasdk/endpoints/anywhere_freight_pricing_get_price_details.py +++ b/vortexasdk/endpoints/anywhere_freight_pricing_get_price_details.py @@ -3,21 +3,19 @@ from urllib.parse import urlencode from vortexasdk.client import default_client, _handle_response -from vortexasdk.endpoints.endpoints import ANYWHERE_FREIGHT_PRICING_PRICE_DETAILS +from vortexasdk.endpoints.endpoints import ( + ANYWHERE_FREIGHT_PRICING_PRICE_DETAILS, +) from vortexasdk.endpoints.anywhere_freight_pricing_result import ( AnywhereFreightPricingResult, ) from vortexasdk.logger import get_logger from vortexasdk.retry_session import retry_get +from vortexasdk.utils import to_date_string logger = get_logger(__name__) -def _to_date_string(dt: datetime) -> str: - """Convert datetime to YYYY-MM-DD date string as required by AFP API.""" - return dt.strftime("%Y-%m-%d") - - class AnywhereFreightPricingGetPriceDetails: """ Anywhere Freight Pricing Get Price Details endpoint. @@ -112,8 +110,8 @@ def search( ) params: Dict[str, Any] = { - "time_min": _to_date_string(time_min), - "time_max": _to_date_string(time_max), + "time_min": to_date_string(time_min), + "time_max": to_date_string(time_max), "origin_port": origin_port, "destination_port": destination_port, "vessel_class": vessel_class, diff --git a/vortexasdk/endpoints/anywhere_freight_pricing_latest_update_timestamp.py b/vortexasdk/endpoints/anywhere_freight_pricing_latest_update_timestamp.py index de34a514a..fc3375dd9 100644 --- a/vortexasdk/endpoints/anywhere_freight_pricing_latest_update_timestamp.py +++ b/vortexasdk/endpoints/anywhere_freight_pricing_latest_update_timestamp.py @@ -1,7 +1,9 @@ from typing import Dict from vortexasdk.client import default_client, _handle_response -from vortexasdk.endpoints.endpoints import ANYWHERE_FREIGHT_PRICING_LATEST_UPDATE +from vortexasdk.endpoints.endpoints import ( + ANYWHERE_FREIGHT_PRICING_LATEST_UPDATE, +) from vortexasdk.logger import get_logger from vortexasdk.retry_session import retry_get @@ -45,7 +47,9 @@ def search(self) -> Dict[str, str]: ``` """ - logger.info("Fetching Anywhere Freight Pricing latest update timestamp") + logger.info( + "Fetching Anywhere Freight Pricing latest update timestamp" + ) client = default_client() url = client._create_url(self._resource) diff --git a/vortexasdk/endpoints/anywhere_freight_pricing_post_price_details.py b/vortexasdk/endpoints/anywhere_freight_pricing_post_price_details.py index 0cbde3fcc..4db95e86d 100644 --- a/vortexasdk/endpoints/anywhere_freight_pricing_post_price_details.py +++ b/vortexasdk/endpoints/anywhere_freight_pricing_post_price_details.py @@ -1,21 +1,19 @@ from datetime import datetime from typing import Any, Dict, List -from vortexasdk.endpoints.endpoints import ANYWHERE_FREIGHT_PRICING_PRICE_DETAILS +from vortexasdk.endpoints.endpoints import ( + ANYWHERE_FREIGHT_PRICING_PRICE_DETAILS, +) from vortexasdk.endpoints.anywhere_freight_pricing_result import ( AnywhereFreightPricingResult, ) from vortexasdk.logger import get_logger from vortexasdk.operations import Search +from vortexasdk.utils import to_date_string logger = get_logger(__name__) -def _to_date_string(dt: datetime) -> str: - """Convert datetime to YYYY-MM-DD date string as required by AFP API.""" - return dt.strftime("%Y-%m-%d") - - class AnywhereFreightPricingPostPriceDetails(Search): """ Anywhere Freight Pricing Post Price Details endpoint. @@ -105,12 +103,14 @@ def search( """ api_params: Dict[str, Any] = { "routes": routes, - "time_min": _to_date_string(time_min) if time_min else None, - "time_max": _to_date_string(time_max) if time_max else None, + "time_min": to_date_string(time_min) if time_min else None, + "time_max": to_date_string(time_max) if time_max else None, "unit": unit, } - response = super().search_with_client(response_type="breakdown", **api_params) + response = super().search_with_client( + response_type="breakdown", **api_params + ) return AnywhereFreightPricingResult( records=response["data"], reference=response.get("reference", {}) diff --git a/vortexasdk/endpoints/anywhere_freight_pricing_price_timeseries.py b/vortexasdk/endpoints/anywhere_freight_pricing_price_timeseries.py index a7cbfaeaf..1bd864f1b 100644 --- a/vortexasdk/endpoints/anywhere_freight_pricing_price_timeseries.py +++ b/vortexasdk/endpoints/anywhere_freight_pricing_price_timeseries.py @@ -1,21 +1,19 @@ from datetime import datetime from typing import Any, Dict, List -from vortexasdk.endpoints.endpoints import ANYWHERE_FREIGHT_PRICING_PRICE_TIMESERIES +from vortexasdk.endpoints.endpoints import ( + ANYWHERE_FREIGHT_PRICING_PRICE_TIMESERIES, +) from vortexasdk.endpoints.anywhere_freight_pricing_result import ( AnywhereFreightPricingResult, ) from vortexasdk.logger import get_logger from vortexasdk.operations import Search +from vortexasdk.utils import to_date_string logger = get_logger(__name__) -def _to_date_string(dt: datetime) -> str: - """Convert datetime to YYYY-MM-DD date string as required by AFP API.""" - return dt.strftime("%Y-%m-%d") - - class AnywhereFreightPricingPriceTimeseries(Search): """ Anywhere Freight Pricing Price Timeseries endpoint. @@ -98,17 +96,19 @@ def search( |---:|:------------|:-----------------|:---------------------|:--------|:-----------|------:|------------:|------------:|-------------- :| | 0 | 68faf65a... | ea4921c8... | oil_handymax_mr2 | clean | 2026-02-20 | 15.50 | 14.00 | 17.00 | 16.223888 | | 1 | 68faf65a... | ea4921c8... | oil_handymax_mr2 | clean | 2026-02-21 | 16.20 | 14.80 | 17.60 | 16.223888 | - + """ api_params: Dict[str, Any] = { "routes": routes, - "time_min": _to_date_string(time_min) if time_min else None, - "time_max": _to_date_string(time_max) if time_max else None, + "time_min": to_date_string(time_min) if time_min else None, + "time_max": to_date_string(time_max) if time_max else None, "frequency": frequency, "unit": unit, } - response = super().search_with_client(response_type="breakdown", **api_params) + response = super().search_with_client( + response_type="breakdown", **api_params + ) return AnywhereFreightPricingResult( records=response["data"], reference=response.get("reference", {}) diff --git a/vortexasdk/endpoints/anywhere_freight_pricing_result.py b/vortexasdk/endpoints/anywhere_freight_pricing_result.py index d0b9ecb2d..0771b6e5e 100644 --- a/vortexasdk/endpoints/anywhere_freight_pricing_result.py +++ b/vortexasdk/endpoints/anywhere_freight_pricing_result.py @@ -1,12 +1,10 @@ from typing import Any, Dict, List import pandas as pd -from pydantic import Field +from pydantic import BaseModel, Field -from vortexasdk.api.search_result import Result - -class AnywhereFreightPricingResult(Result): +class AnywhereFreightPricingResult(BaseModel): """Container class that holds results from Anywhere Freight Pricing endpoints.""" records: List = Field(default_factory=list) diff --git a/vortexasdk/endpoints/anywhere_freight_pricing_top_ports_destination.py b/vortexasdk/endpoints/anywhere_freight_pricing_top_ports_destination.py index 477a8d0e6..be0a05225 100644 --- a/vortexasdk/endpoints/anywhere_freight_pricing_top_ports_destination.py +++ b/vortexasdk/endpoints/anywhere_freight_pricing_top_ports_destination.py @@ -1,7 +1,9 @@ from typing import Any, Dict, List, Optional from vortexasdk.client import default_client, _handle_response -from vortexasdk.endpoints.endpoints import ANYWHERE_FREIGHT_PRICING_TOP_PORTS_DESTINATION +from vortexasdk.endpoints.endpoints import ( + ANYWHERE_FREIGHT_PRICING_TOP_PORTS_DESTINATION, +) from vortexasdk.endpoints.anywhere_freight_pricing_result import ( AnywhereFreightPricingResult, ) @@ -31,7 +33,7 @@ def search( vessel_class: str, product: str, unit: str = "usd_per_tonne", - avoid_zone: Optional[List[str]] = None + avoid_zone: Optional[List[str]] = None, ) -> AnywhereFreightPricingResult: """ List top destination ports from a given origin. diff --git a/vortexasdk/endpoints/anywhere_freight_pricing_top_ports_origin.py b/vortexasdk/endpoints/anywhere_freight_pricing_top_ports_origin.py index 33505c800..da7b12e02 100644 --- a/vortexasdk/endpoints/anywhere_freight_pricing_top_ports_origin.py +++ b/vortexasdk/endpoints/anywhere_freight_pricing_top_ports_origin.py @@ -1,7 +1,9 @@ from typing import Any, Dict, List, Optional from vortexasdk.client import default_client, _handle_response -from vortexasdk.endpoints.endpoints import ANYWHERE_FREIGHT_PRICING_TOP_PORTS_ORIGIN +from vortexasdk.endpoints.endpoints import ( + ANYWHERE_FREIGHT_PRICING_TOP_PORTS_ORIGIN, +) from vortexasdk.endpoints.anywhere_freight_pricing_result import ( AnywhereFreightPricingResult, ) @@ -31,7 +33,7 @@ def search( vessel_class: str, product: str, unit: str = "usd_per_tonne", - avoid_zone: Optional[List[str]] = None + avoid_zone: Optional[List[str]] = None, ) -> AnywhereFreightPricingResult: """ List top origin ports for a given destination. diff --git a/vortexasdk/endpoints/anywhere_freight_pricing_vessel_classes_details.py b/vortexasdk/endpoints/anywhere_freight_pricing_vessel_classes_details.py index f25281165..b74ed587b 100644 --- a/vortexasdk/endpoints/anywhere_freight_pricing_vessel_classes_details.py +++ b/vortexasdk/endpoints/anywhere_freight_pricing_vessel_classes_details.py @@ -1,5 +1,7 @@ from vortexasdk.client import default_client, _handle_response -from vortexasdk.endpoints.endpoints import ANYWHERE_FREIGHT_PRICING_VESSEL_CLASSES_DETAILS +from vortexasdk.endpoints.endpoints import ( + ANYWHERE_FREIGHT_PRICING_VESSEL_CLASSES_DETAILS, +) from vortexasdk.endpoints.anywhere_freight_pricing_result import ( AnywhereFreightPricingResult, ) diff --git a/vortexasdk/endpoints/endpoints.py b/vortexasdk/endpoints/endpoints.py index 4fcceb1da..8d125c7bb 100644 --- a/vortexasdk/endpoints/endpoints.py +++ b/vortexasdk/endpoints/endpoints.py @@ -33,12 +33,24 @@ FREIGHT_PRICING_SEARCH = "/v5/freight-outlook/rates" FREIGHT_PRICING_TIMESERIES = "/v5/freight-outlook/timeseries" -ANYWHERE_FREIGHT_PRICING_LATEST_UPDATE = "/v5/anywhere-freight-pricing/latest-update-timestamp" -ANYWHERE_FREIGHT_PRICING_PRICE_TIMESERIES = "/v5/anywhere-freight-pricing/price-timeseries" -ANYWHERE_FREIGHT_PRICING_PRICE_DETAILS = "/v5/anywhere-freight-pricing/price/details" -ANYWHERE_FREIGHT_PRICING_TOP_PORTS_DESTINATION = "/v5/anywhere-freight-pricing/top-ports/destination" -ANYWHERE_FREIGHT_PRICING_TOP_PORTS_ORIGIN = "/v5/anywhere-freight-pricing/top-ports/origin" -ANYWHERE_FREIGHT_PRICING_VESSEL_CLASSES_DETAILS = "/v5/anywhere-freight-pricing/vessel-classes-details" +ANYWHERE_FREIGHT_PRICING_LATEST_UPDATE = ( + "/v5/anywhere-freight-pricing/latest-update-timestamp" +) +ANYWHERE_FREIGHT_PRICING_PRICE_TIMESERIES = ( + "/v5/anywhere-freight-pricing/price-timeseries" +) +ANYWHERE_FREIGHT_PRICING_PRICE_DETAILS = ( + "/v5/anywhere-freight-pricing/price/details" +) +ANYWHERE_FREIGHT_PRICING_TOP_PORTS_DESTINATION = ( + "/v5/anywhere-freight-pricing/top-ports/destination" +) +ANYWHERE_FREIGHT_PRICING_TOP_PORTS_ORIGIN = ( + "/v5/anywhere-freight-pricing/top-ports/origin" +) +ANYWHERE_FREIGHT_PRICING_VESSEL_CLASSES_DETAILS = ( + "/v5/anywhere-freight-pricing/vessel-classes-details" +) VOYAGES_SEARCH_ENRICHED = "/v5/voyages/search-enriched" VOYAGES_TOP_HITS = "/v5/voyages/top-hits" diff --git a/vortexasdk/utils.py b/vortexasdk/utils.py index 1bc00e3a3..9b1c57e4e 100644 --- a/vortexasdk/utils.py +++ b/vortexasdk/utils.py @@ -93,6 +93,11 @@ def filter_empty_values(data: Dict) -> Dict: } +def to_date_string(dt: datetime) -> str: + """Convert datetime to YYYY-MM-DD date string as required by AFP API.""" + return dt.strftime("%Y-%m-%d") + + def sts_param_value(param: Optional[bool]) -> Dict[str, bool]: """ If sts filter is True, apply cross filter. From fe24e413c32a70cc0cd825a9afa08320669e567a Mon Sep 17 00:00:00 2001 From: Jack Burgess Date: Thu, 21 May 2026 16:12:41 +0100 Subject: [PATCH 5/6] fix: comment --- .../endpoints/anywhere_freight_pricing_post_price_details.py | 4 ++-- .../endpoints/anywhere_freight_pricing_price_timeseries.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/vortexasdk/endpoints/anywhere_freight_pricing_post_price_details.py b/vortexasdk/endpoints/anywhere_freight_pricing_post_price_details.py index 4db95e86d..a478af55c 100644 --- a/vortexasdk/endpoints/anywhere_freight_pricing_post_price_details.py +++ b/vortexasdk/endpoints/anywhere_freight_pricing_post_price_details.py @@ -103,8 +103,8 @@ def search( """ api_params: Dict[str, Any] = { "routes": routes, - "time_min": to_date_string(time_min) if time_min else None, - "time_max": to_date_string(time_max) if time_max else None, + "time_min": to_date_string(time_min), + "time_max": to_date_string(time_max), "unit": unit, } diff --git a/vortexasdk/endpoints/anywhere_freight_pricing_price_timeseries.py b/vortexasdk/endpoints/anywhere_freight_pricing_price_timeseries.py index 1bd864f1b..4c88f6b74 100644 --- a/vortexasdk/endpoints/anywhere_freight_pricing_price_timeseries.py +++ b/vortexasdk/endpoints/anywhere_freight_pricing_price_timeseries.py @@ -100,8 +100,8 @@ def search( """ api_params: Dict[str, Any] = { "routes": routes, - "time_min": to_date_string(time_min) if time_min else None, - "time_max": to_date_string(time_max) if time_max else None, + "time_min": to_date_string(time_min), + "time_max": to_date_string(time_max), "frequency": frequency, "unit": unit, } From 71a9a1167dee8c12de8dc6accef77af68b95265b Mon Sep 17 00:00:00 2001 From: Jack Burgess Date: Thu, 21 May 2026 16:16:29 +0100 Subject: [PATCH 6/6] fix: removed workbook --- scripts/Untitled.ipynb | 71 ------------------------------------------ 1 file changed, 71 deletions(-) delete mode 100644 scripts/Untitled.ipynb diff --git a/scripts/Untitled.ipynb b/scripts/Untitled.ipynb deleted file mode 100644 index db29d7135..000000000 --- a/scripts/Untitled.ipynb +++ /dev/null @@ -1,71 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 3, - "id": "181db90d-375f-4043-89a1-7daca5650916", - "metadata": {}, - "outputs": [], - "source": [ - "from vortexasdk import AnywhereFreightPricingGetPriceDetails\n", - "from datetime import datetime\n", - "result = AnywhereFreightPricingGetPriceDetails().search(\n", - " time_min=datetime(2024, 1, 1),\n", - " time_max=datetime(2024, 12, 31),\n", - " origin_port=\"7f314ba0a498c36359b1c88781e94a73e19dcc9bbb030ec6b82f944a73d4da2f\",\n", - " destination_port=\"68faf65af1345067f11dc6723b8da32f00e304a6f33c000118fccd81947deb4e\",\n", - " vessel_class=\"oil_aframax_lr2\",\n", - " product=\"crude\",\n", - " unit=\"usd_per_tonne\",\n", - " )" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "9a0e979c-6436-4ce7-aee9-3a5dd3c6750c", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[{'vessel_class': 'oil_aframax_lr2', 'max_dwt': 119999.0, 'suggested_tonnage': 85000.0, 'suggested_tonnage_overridden': False, 'origin_port': {'id': '7f314ba0a498c36359b1c88781e94a73e19dcc9bbb030ec6b82f944a73d4da2f', 'lat': 29.71926, 'lon': -95.14733}, 'destination_port': {'id': '68faf65af1345067f11dc6723b8da32f00e304a6f33c000118fccd81947deb4e', 'lat': 51.90924, 'lon': 4.27941}, 'avoid_zone': None, 'via_waypoint': None, 'rates': [{'date': '2024-01-01', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.08209303613282}, {'date': '2024-01-02', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.71669081445313}, {'date': '2024-01-03', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 45.2116668581543}, {'date': '2024-01-04', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 53.66426161523438}, {'date': '2024-01-05', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 55.7420852541504}, {'date': '2024-01-06', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 55.7420852541504}, {'date': '2024-01-07', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 55.7420852541504}, {'date': '2024-01-08', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 57.49601439233399}, {'date': '2024-01-09', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 61.21355894799805}, {'date': '2024-01-10', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 61.1270721315918}, {'date': '2024-01-11', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 60.89009932275391}, {'date': '2024-01-12', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 58.68510893579102}, {'date': '2024-01-13', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 58.68510893579102}, {'date': '2024-01-14', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 58.68510893579102}, {'date': '2024-01-15', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 60.27659300561524}, {'date': '2024-01-16', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 61.260815417724615}, {'date': '2024-01-17', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 59.86363676782227}, {'date': '2024-01-18', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 52.482285296875006}, {'date': '2024-01-19', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 48.24264601464844}, {'date': '2024-01-20', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 48.24264601464844}, {'date': '2024-01-21', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 48.24264601464844}, {'date': '2024-01-22', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 47.08617094750977}, {'date': '2024-01-23', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 43.20050123925782}, {'date': '2024-01-24', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 42.032753741699224}, {'date': '2024-01-25', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 42.44755247827149}, {'date': '2024-01-26', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 42.50366286035157}, {'date': '2024-01-27', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 42.50366286035157}, {'date': '2024-01-28', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 42.50366286035157}, {'date': '2024-01-29', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 42.3493621706543}, {'date': '2024-01-30', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 39.681713855224615}, {'date': '2024-01-31', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 38.28048399682618}, {'date': '2024-02-01', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.51054075952149}, {'date': '2024-02-02', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.41557387109376}, {'date': '2024-02-03', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.41557387109376}, {'date': '2024-02-04', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.41557387109376}, {'date': '2024-02-05', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.00422743554688}, {'date': '2024-02-06', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.41365126367188}, {'date': '2024-02-07', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.55873183007813}, {'date': '2024-02-08', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.565651690917974}, {'date': '2024-02-09', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 39.27383116479493}, {'date': '2024-02-10', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 39.27383116479493}, {'date': '2024-02-11', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 39.27383116479493}, {'date': '2024-02-12', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 40.10672453637696}, {'date': '2024-02-13', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 40.269211566406256}, {'date': '2024-02-14', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 40.6942108034668}, {'date': '2024-02-15', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 40.760136401611334}, {'date': '2024-02-16', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 40.78485945458985}, {'date': '2024-02-17', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 40.78485945458985}, {'date': '2024-02-18', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 40.78485945458985}, {'date': '2024-02-19', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 40.83939055200196}, {'date': '2024-02-20', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 40.89413145776368}, {'date': '2024-02-21', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 40.68193892236329}, {'date': '2024-02-22', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 40.10672072167969}, {'date': '2024-02-23', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 38.39669874902344}, {'date': '2024-02-24', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 38.39669874902344}, {'date': '2024-02-25', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 38.39669874902344}, {'date': '2024-02-26', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.711552417236334}, {'date': '2024-02-27', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.536232745605474}, {'date': '2024-02-28', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.76778868432618}, {'date': '2024-02-29', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.014572894531256}, {'date': '2024-03-01', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.54411772485352}, {'date': '2024-03-02', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.54411772485352}, {'date': '2024-03-03', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.54411772485352}, {'date': '2024-03-04', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.03822783227539}, {'date': '2024-03-05', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.518139636474615}, {'date': '2024-03-06', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 38.13870314355469}, {'date': '2024-03-07', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 38.849777972656256}, {'date': '2024-03-08', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 39.10635832543946}, {'date': '2024-03-09', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 39.10635832543946}, {'date': '2024-03-10', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 39.10635832543946}, {'date': '2024-03-11', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 39.31216887231446}, {'date': '2024-03-12', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 38.72900465722657}, {'date': '2024-03-13', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.38909224267579}, {'date': '2024-03-14', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.71597746606446}, {'date': '2024-03-15', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.60619047875977}, {'date': '2024-03-16', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.60619047875977}, {'date': '2024-03-17', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.60619047875977}, {'date': '2024-03-18', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.022595202880865}, {'date': '2024-03-19', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 33.64241102929688}, {'date': '2024-03-20', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 33.27875784631348}, {'date': '2024-03-21', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.441540515380854}, {'date': '2024-03-22', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.963803088623045}, {'date': '2024-03-23', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.963803088623045}, {'date': '2024-03-24', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.963803088623045}, {'date': '2024-03-25', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.69361571069336}, {'date': '2024-03-26', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.547842776733397}, {'date': '2024-03-27', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.7098186373291}, {'date': '2024-03-28', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.47538260217285}, {'date': '2024-03-29', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.47538260217285}, {'date': '2024-03-30', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.47538260217285}, {'date': '2024-03-31', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.47538260217285}, {'date': '2024-04-01', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.502695834594725}, {'date': '2024-04-02', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.06048468347168}, {'date': '2024-04-03', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.754303729492182}, {'date': '2024-04-04', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 33.96869543786622}, {'date': '2024-04-05', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.37431792016602}, {'date': '2024-04-06', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.37431792016602}, {'date': '2024-04-07', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.37431792016602}, {'date': '2024-04-08', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.31845549340821}, {'date': '2024-04-09', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 41.733132159667974}, {'date': '2024-04-10', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 46.81390455957032}, {'date': '2024-04-11', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 46.23729399438477}, {'date': '2024-04-12', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 45.218220508056646}, {'date': '2024-04-13', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 45.218220508056646}, {'date': '2024-04-14', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 45.218220508056646}, {'date': '2024-04-15', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 44.44833449121094}, {'date': '2024-04-16', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 41.83054808374024}, {'date': '2024-04-17', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 38.942829883056646}, {'date': '2024-04-18', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.96589735742188}, {'date': '2024-04-19', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.89201048608399}, {'date': '2024-04-20', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.89201048608399}, {'date': '2024-04-21', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.89201048608399}, {'date': '2024-04-22', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 34.701340472656256}, {'date': '2024-04-23', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.75481489892578}, {'date': '2024-04-24', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 34.13366774316407}, {'date': '2024-04-25', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.20382765527344}, {'date': '2024-04-26', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.59060744042969}, {'date': '2024-04-27', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.59060744042969}, {'date': '2024-04-28', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.59060744042969}, {'date': '2024-04-29', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.913471972900396}, {'date': '2024-04-30', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.64727858300782}, {'date': '2024-05-01', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.408467090087896}, {'date': '2024-05-02', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.30630186791993}, {'date': '2024-05-03', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.83972243066407}, {'date': '2024-05-04', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.83972243066407}, {'date': '2024-05-05', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.83972243066407}, {'date': '2024-05-06', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 38.33987883325196}, {'date': '2024-05-07', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 38.08846739526368}, {'date': '2024-05-08', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.474716937500006}, {'date': '2024-05-09', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.245304858642584}, {'date': '2024-05-10', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.974995410400396}, {'date': '2024-05-11', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.974995410400396}, {'date': '2024-05-12', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.974995410400396}, {'date': '2024-05-13', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 34.55965307946778}, {'date': '2024-05-14', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 33.69086722131348}, {'date': '2024-05-15', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.948822772460936}, {'date': '2024-05-16', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 33.46171072717286}, {'date': '2024-05-17', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 33.682547366577154}, {'date': '2024-05-18', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 33.682547366577154}, {'date': '2024-05-19', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 33.682547366577154}, {'date': '2024-05-20', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 33.87207678552247}, {'date': '2024-05-21', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.9334457277832}, {'date': '2024-05-22', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 33.3991783022461}, {'date': '2024-05-23', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.47208479638672}, {'date': '2024-05-24', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.41255263085937}, {'date': '2024-05-25', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.41255263085937}, {'date': '2024-05-26', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.41255263085937}, {'date': '2024-05-27', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.975868976074217}, {'date': '2024-05-28', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.571675097900396}, {'date': '2024-05-29', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.693135058837896}, {'date': '2024-05-30', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 38.59721449609376}, {'date': '2024-05-31', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 39.61638334985352}, {'date': '2024-06-01', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 39.61638334985352}, {'date': '2024-06-02', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 39.61638334985352}, {'date': '2024-06-03', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 39.7813690065918}, {'date': '2024-06-04', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 39.96368483300782}, {'date': '2024-06-05', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 41.48185042138672}, {'date': '2024-06-06', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 41.38309172387696}, {'date': '2024-06-07', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 43.67062071557618}, {'date': '2024-06-08', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 43.67062071557618}, {'date': '2024-06-09', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 43.67062071557618}, {'date': '2024-06-10', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 44.22587279077149}, {'date': '2024-06-11', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 45.00427321191407}, {'date': '2024-06-12', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 45.56237868066407}, {'date': '2024-06-13', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 45.82071379418946}, {'date': '2024-06-14', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 42.87213972802735}, {'date': '2024-06-15', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 42.87213972802735}, {'date': '2024-06-16', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 42.87213972802735}, {'date': '2024-06-17', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 42.58379439111329}, {'date': '2024-06-18', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 41.863266742187506}, {'date': '2024-06-19', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 41.4078338503418}, {'date': '2024-06-20', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 41.059155261474615}, {'date': '2024-06-21', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 38.63278654809571}, {'date': '2024-06-22', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 38.63278654809571}, {'date': '2024-06-23', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 38.63278654809571}, {'date': '2024-06-24', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.69808272119141}, {'date': '2024-06-25', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.14590910668946}, {'date': '2024-06-26', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.465763843017584}, {'date': '2024-06-27', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 34.69274977441407}, {'date': '2024-06-28', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 34.40630797143555}, {'date': '2024-06-29', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 34.40630797143555}, {'date': '2024-06-30', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 34.40630797143555}, {'date': '2024-07-01', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.97103384729004}, {'date': '2024-07-02', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 33.27943686242676}, {'date': '2024-07-03', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 33.67605665917969}, {'date': '2024-07-04', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 33.85325125451661}, {'date': '2024-07-05', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 34.785683429199224}, {'date': '2024-07-06', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 34.785683429199224}, {'date': '2024-07-07', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 34.785683429199224}, {'date': '2024-07-08', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.298298633056646}, {'date': '2024-07-09', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.28056029077149}, {'date': '2024-07-10', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.564457690673834}, {'date': '2024-07-11', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.111218249755865}, {'date': '2024-07-12', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.785839831787115}, {'date': '2024-07-13', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.785839831787115}, {'date': '2024-07-14', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.785839831787115}, {'date': '2024-07-15', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.14907530541993}, {'date': '2024-07-16', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.16098479028321}, {'date': '2024-07-17', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.362309253173834}, {'date': '2024-07-18', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.21527937646485}, {'date': '2024-07-19', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.270607745605474}, {'date': '2024-07-20', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.270607745605474}, {'date': '2024-07-21', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.270607745605474}, {'date': '2024-07-22', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.226460254150396}, {'date': '2024-07-23', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 33.50531843896485}, {'date': '2024-07-24', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.5396640657959}, {'date': '2024-07-25', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.218651568847655}, {'date': '2024-07-26', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.2012737154541}, {'date': '2024-07-27', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.2012737154541}, {'date': '2024-07-28', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.2012737154541}, {'date': '2024-07-29', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.618969714599608}, {'date': '2024-07-30', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.232477939086912}, {'date': '2024-07-31', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 26.920407092529295}, {'date': '2024-08-01', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.73910788293457}, {'date': '2024-08-02', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.865814959960936}, {'date': '2024-08-03', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.865814959960936}, {'date': '2024-08-04', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.865814959960936}, {'date': '2024-08-05', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.763016498046873}, {'date': '2024-08-06', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.482542788940428}, {'date': '2024-08-07', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.390389239746092}, {'date': '2024-08-08', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.151934421020503}, {'date': '2024-08-09', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 24.65237120385742}, {'date': '2024-08-10', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 24.65237120385742}, {'date': '2024-08-11', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 24.65237120385742}, {'date': '2024-08-12', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 24.24880102868652}, {'date': '2024-08-13', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 23.82265166040039}, {'date': '2024-08-14', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 23.65704993005371}, {'date': '2024-08-15', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 24.33635023828125}, {'date': '2024-08-16', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.985434329467772}, {'date': '2024-08-17', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.985434329467772}, {'date': '2024-08-18', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.985434329467772}, {'date': '2024-08-19', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 26.35379484887695}, {'date': '2024-08-20', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 26.400225436645503}, {'date': '2024-08-21', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 26.961325442749025}, {'date': '2024-08-22', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 27.11214903588867}, {'date': '2024-08-23', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 26.822071826416018}, {'date': '2024-08-24', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 26.822071826416018}, {'date': '2024-08-25', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 26.822071826416018}, {'date': '2024-08-26', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 26.820126330810545}, {'date': '2024-08-27', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 26.854691302734373}, {'date': '2024-08-28', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 26.191885745483397}, {'date': '2024-08-29', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 26.171215808349608}, {'date': '2024-08-30', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.947348391967772}, {'date': '2024-08-31', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.947348391967772}, {'date': '2024-09-01', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.947348391967772}, {'date': '2024-09-02', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.940180575805662}, {'date': '2024-09-03', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.8068588137207}, {'date': '2024-09-04', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.53563765283203}, {'date': '2024-09-05', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.228438174682616}, {'date': '2024-09-06', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 24.66515425439453}, {'date': '2024-09-07', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 24.66515425439453}, {'date': '2024-09-08', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 24.66515425439453}, {'date': '2024-09-09', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 24.1926067232666}, {'date': '2024-09-10', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 24.298336780029295}, {'date': '2024-09-11', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 24.048146045166018}, {'date': '2024-09-12', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 23.96690253015137}, {'date': '2024-09-13', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 23.71549490686035}, {'date': '2024-09-14', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 23.71549490686035}, {'date': '2024-09-15', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 23.71549490686035}, {'date': '2024-09-16', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 23.23156241174316}, {'date': '2024-09-17', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 21.786215579467772}, {'date': '2024-09-18', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 21.082649981933592}, {'date': '2024-09-19', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 20.843949115234373}, {'date': '2024-09-20', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 20.66081694360351}, {'date': '2024-09-21', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 20.66081694360351}, {'date': '2024-09-22', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 20.66081694360351}, {'date': '2024-09-23', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 20.503809726196287}, {'date': '2024-09-24', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 20.318266665893553}, {'date': '2024-09-25', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 20.280413424926756}, {'date': '2024-09-26', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 20.399718081909175}, {'date': '2024-09-27', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 20.58981589074707}, {'date': '2024-09-28', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 20.58981589074707}, {'date': '2024-09-29', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 20.58981589074707}, {'date': '2024-09-30', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 21.043103015380854}, {'date': '2024-10-01', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 24.78057936425781}, {'date': '2024-10-02', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.82883146997071}, {'date': '2024-10-03', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 43.97749403710938}, {'date': '2024-10-04', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 44.3640220522461}, {'date': '2024-10-05', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 44.3640220522461}, {'date': '2024-10-06', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 44.3640220522461}, {'date': '2024-10-07', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 42.87289885278321}, {'date': '2024-10-08', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 39.33402708764649}, {'date': '2024-10-09', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.14181212182618}, {'date': '2024-10-10', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.74978712792969}, {'date': '2024-10-11', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.14379957910157}, {'date': '2024-10-12', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.14379957910157}, {'date': '2024-10-13', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.14379957910157}, {'date': '2024-10-14', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 34.92736128564454}, {'date': '2024-10-15', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 34.77790144677735}, {'date': '2024-10-16', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 34.346434390502935}, {'date': '2024-10-17', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 34.406208789306646}, {'date': '2024-10-18', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.743778979736334}, {'date': '2024-10-19', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.743778979736334}, {'date': '2024-10-20', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.743778979736334}, {'date': '2024-10-21', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.18744734521485}, {'date': '2024-10-22', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.074108874755865}, {'date': '2024-10-23', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 34.47048071618653}, {'date': '2024-10-24', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 33.16644934411622}, {'date': '2024-10-25', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.255259311157225}, {'date': '2024-10-26', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.255259311157225}, {'date': '2024-10-27', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.255259311157225}, {'date': '2024-10-28', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.45647505517578}, {'date': '2024-10-29', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.651161944824217}, {'date': '2024-10-30', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.949345385986327}, {'date': '2024-10-31', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.13674048181152}, {'date': '2024-11-01', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.885866916137697}, {'date': '2024-11-02', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.885866916137697}, {'date': '2024-11-03', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.885866916137697}, {'date': '2024-11-04', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.652579104858397}, {'date': '2024-11-05', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 30.250317370849608}, {'date': '2024-11-06', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 29.40622214074707}, {'date': '2024-11-07', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 27.08997992272949}, {'date': '2024-11-08', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.6315658449707}, {'date': '2024-11-09', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.6315658449707}, {'date': '2024-11-10', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.6315658449707}, {'date': '2024-11-11', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 24.70374182458496}, {'date': '2024-11-12', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 23.541399753051756}, {'date': '2024-11-13', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 22.358244693237303}, {'date': '2024-11-14', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 21.7685344576416}, {'date': '2024-11-15', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 22.68092802758789}, {'date': '2024-11-16', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 22.68092802758789}, {'date': '2024-11-17', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 22.68092802758789}, {'date': '2024-11-18', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 26.4261215090332}, {'date': '2024-11-19', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 26.13679388757324}, {'date': '2024-11-20', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 26.1001937746582}, {'date': '2024-11-21', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 26.096453463989256}, {'date': '2024-11-22', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.293541705566405}, {'date': '2024-11-23', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.293541705566405}, {'date': '2024-11-24', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.293541705566405}, {'date': '2024-11-25', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 24.63562086816406}, {'date': '2024-11-26', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 23.67536047692871}, {'date': '2024-11-27', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 23.75920943017578}, {'date': '2024-11-28', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 23.896387851196287}, {'date': '2024-11-29', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.002348697143553}, {'date': '2024-11-30', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.002348697143553}, {'date': '2024-12-01', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.002348697143553}, {'date': '2024-12-02', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 23.84197882409668}, {'date': '2024-12-03', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 25.667885577636717}, {'date': '2024-12-04', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.336199557739256}, {'date': '2024-12-05', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.860974109130865}, {'date': '2024-12-06', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.070881640869146}, {'date': '2024-12-07', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.070881640869146}, {'date': '2024-12-08', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.070881640869146}, {'date': '2024-12-09', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.8704803347168}, {'date': '2024-12-10', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.614697253662115}, {'date': '2024-12-11', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 36.033676898437506}, {'date': '2024-12-12', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.14202193017579}, {'date': '2024-12-13', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.95595816369629}, {'date': '2024-12-14', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.95595816369629}, {'date': '2024-12-15', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.95595816369629}, {'date': '2024-12-16', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 34.35825995202637}, {'date': '2024-12-17', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 37.25672987695313}, {'date': '2024-12-18', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 35.62442473168946}, {'date': '2024-12-19', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 33.76103094812012}, {'date': '2024-12-20', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.44259909387207}, {'date': '2024-12-21', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.44259909387207}, {'date': '2024-12-22', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 32.44259909387207}, {'date': '2024-12-23', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.454628741699217}, {'date': '2024-12-24', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.178896701293944}, {'date': '2024-12-25', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.178896701293944}, {'date': '2024-12-26', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.178896701293944}, {'date': '2024-12-27', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.178896701293944}, {'date': '2024-12-28', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.178896701293944}, {'date': '2024-12-29', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.178896701293944}, {'date': '2024-12-30', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.178896701293944}, {'date': '2024-12-31', 'breakdown': [{'type': 'load', 'rate': 1.128029625}, {'type': 'discharge', 'rate': 1.458992}, {'type': 'canal', 'rate': 0.0}], 'value': 31.178896701293944}], 'lumpsums': [{'date': '2024-01-01', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3066977.9080712893}, {'date': '2024-01-02', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3205918.719228516}, {'date': '2024-01-03', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3842991.6829431155}, {'date': '2024-01-04', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 4561462.237294923}, {'date': '2024-01-05', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 4738077.246602784}, {'date': '2024-01-06', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 4738077.246602784}, {'date': '2024-01-07', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 4738077.246602784}, {'date': '2024-01-08', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 4887161.223348389}, {'date': '2024-01-09', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 5203152.510579835}, {'date': '2024-01-10', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 5195801.131185303}, {'date': '2024-01-11', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 5175658.442434083}, {'date': '2024-01-12', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 4988234.259542237}, {'date': '2024-01-13', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 4988234.259542237}, {'date': '2024-01-14', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 4988234.259542237}, {'date': '2024-01-15', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 5123510.405477296}, {'date': '2024-01-16', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 5207169.3105065925}, {'date': '2024-01-17', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 5088409.125264893}, {'date': '2024-01-18', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 4460994.250234376}, {'date': '2024-01-19', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 4100624.9112451174}, {'date': '2024-01-20', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 4100624.9112451174}, {'date': '2024-01-21', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 4100624.9112451174}, {'date': '2024-01-22', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 4002324.5305383303}, {'date': '2024-01-23', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3672042.6053369143}, {'date': '2024-01-24', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3572784.068044434}, {'date': '2024-01-25', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3608041.9606530764}, {'date': '2024-01-26', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3612811.343129883}, {'date': '2024-01-27', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3612811.343129883}, {'date': '2024-01-28', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3612811.343129883}, {'date': '2024-01-29', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3599695.7845056155}, {'date': '2024-01-30', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3372945.677694092}, {'date': '2024-01-31', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3253841.139730225}, {'date': '2024-02-01', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3188395.9645593264}, {'date': '2024-02-02', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3180323.77904297}, {'date': '2024-02-03', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3180323.77904297}, {'date': '2024-02-04', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3180323.77904297}, {'date': '2024-02-05', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3145359.3320214846}, {'date': '2024-02-06', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3095160.3574121096}, {'date': '2024-02-07', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3107492.205556641}, {'date': '2024-02-08', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3193080.3937280276}, {'date': '2024-02-09', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3338275.6490075686}, {'date': '2024-02-10', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3338275.6490075686}, {'date': '2024-02-11', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3338275.6490075686}, {'date': '2024-02-12', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3409071.5855920413}, {'date': '2024-02-13', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3422882.9831445315}, {'date': '2024-02-14', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3459007.918294678}, {'date': '2024-02-15', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3464611.594136963}, {'date': '2024-02-16', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3466713.053640137}, {'date': '2024-02-17', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3466713.053640137}, {'date': '2024-02-18', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3466713.053640137}, {'date': '2024-02-19', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3471348.1969201663}, {'date': '2024-02-20', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3476001.1739099124}, {'date': '2024-02-21', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3457964.808400879}, {'date': '2024-02-22', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3409071.2613427737}, {'date': '2024-02-23', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3263719.3936669924}, {'date': '2024-02-24', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3263719.3936669924}, {'date': '2024-02-25', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3263719.3936669924}, {'date': '2024-02-26', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3205481.955465088}, {'date': '2024-02-27', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3190579.783376465}, {'date': '2024-02-28', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3125262.038167725}, {'date': '2024-02-29', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3146238.6960351565}, {'date': '2024-03-01', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3106250.006612549}, {'date': '2024-03-02', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3106250.006612549}, {'date': '2024-03-03', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3106250.006612549}, {'date': '2024-03-04', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3063249.365743408}, {'date': '2024-03-05', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3189041.869100342}, {'date': '2024-03-06', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3241789.7672021487}, {'date': '2024-03-07', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3302231.1276757815}, {'date': '2024-03-08', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3324040.4576623538}, {'date': '2024-03-09', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3324040.4576623538}, {'date': '2024-03-10', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3324040.4576623538}, {'date': '2024-03-11', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3341534.3541467288}, {'date': '2024-03-12', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3291965.395864258}, {'date': '2024-03-13', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3178072.8406274416}, {'date': '2024-03-14', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3120858.0846154788}, {'date': '2024-03-15', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3111526.1906945803}, {'date': '2024-03-16', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3111526.1906945803}, {'date': '2024-03-17', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3111526.1906945803}, {'date': '2024-03-18', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3061920.5922448733}, {'date': '2024-03-19', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2859604.9374902346}, {'date': '2024-03-20', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2828694.4169366457}, {'date': '2024-03-21', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2672530.943807373}, {'date': '2024-03-22', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2631923.2625329588}, {'date': '2024-03-23', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2631923.2625329588}, {'date': '2024-03-24', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2631923.2625329588}, {'date': '2024-03-25', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2693957.335408936}, {'date': '2024-03-26', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2681566.6360223386}, {'date': '2024-03-27', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2610334.5841729734}, {'date': '2024-03-28', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2590407.521184692}, {'date': '2024-03-29', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2590407.521184692}, {'date': '2024-03-30', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2590407.521184692}, {'date': '2024-03-31', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2590407.521184692}, {'date': '2024-04-01', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2592729.1459405515}, {'date': '2024-04-02', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2555141.198095093}, {'date': '2024-04-03', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2699115.8170068357}, {'date': '2024-04-04', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2887339.112218628}, {'date': '2024-04-05', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3091817.0232141116}, {'date': '2024-04-06', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3091817.0232141116}, {'date': '2024-04-07', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3091817.0232141116}, {'date': '2024-04-08', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3172068.7169396975}, {'date': '2024-04-09', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3547316.2335717776}, {'date': '2024-04-10', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3979181.887563477}, {'date': '2024-04-11', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3930169.9895227053}, {'date': '2024-04-12', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3843548.7431848147}, {'date': '2024-04-13', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3843548.7431848147}, {'date': '2024-04-14', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3843548.7431848147}, {'date': '2024-04-15', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3778108.43175293}, {'date': '2024-04-16', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3555596.58711792}, {'date': '2024-04-17', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3310140.5400598147}, {'date': '2024-04-18', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3227101.2753808596}, {'date': '2024-04-19', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3050820.891317139}, {'date': '2024-04-20', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3050820.891317139}, {'date': '2024-04-21', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3050820.891317139}, {'date': '2024-04-22', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2949613.9401757815}, {'date': '2024-04-23', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2784159.266408691}, {'date': '2024-04-24', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2901361.7581689456}, {'date': '2024-04-25', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2992325.3506982424}, {'date': '2024-04-26', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3110201.6324365237}, {'date': '2024-04-27', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3110201.6324365237}, {'date': '2024-04-28', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3110201.6324365237}, {'date': '2024-04-29', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3052645.1176965334}, {'date': '2024-04-30', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3030018.6795556643}, {'date': '2024-05-01', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3009719.702657471}, {'date': '2024-05-02', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3001035.6587731936}, {'date': '2024-05-03', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3216376.4066064456}, {'date': '2024-05-04', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3216376.4066064456}, {'date': '2024-05-05', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3216376.4066064456}, {'date': '2024-05-06', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3258889.7008264163}, {'date': '2024-05-07', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3237519.7285974124}, {'date': '2024-05-08', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3185350.9396875002}, {'date': '2024-05-09', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3080850.9129846194}, {'date': '2024-05-10', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3057874.6098840334}, {'date': '2024-05-11', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3057874.6098840334}, {'date': '2024-05-12', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3057874.6098840334}, {'date': '2024-05-13', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2937570.511754761}, {'date': '2024-05-14', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2863723.7138116457}, {'date': '2024-05-15', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2800649.9356591795}, {'date': '2024-05-16', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2844245.4118096926}, {'date': '2024-05-17', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2863016.526159058}, {'date': '2024-05-18', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2863016.526159058}, {'date': '2024-05-19', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2863016.526159058}, {'date': '2024-05-20', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2879126.5267694094}, {'date': '2024-05-21', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2799342.886861572}, {'date': '2024-05-22', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2838930.155690918}, {'date': '2024-05-23', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2760127.207692871}, {'date': '2024-05-24', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2755066.9736230467}, {'date': '2024-05-25', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2755066.9736230467}, {'date': '2024-05-26', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2755066.9736230467}, {'date': '2024-05-27', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2717948.8629663084}, {'date': '2024-05-28', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3023592.3833215334}, {'date': '2024-05-29', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3033916.480001221}, {'date': '2024-05-30', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3280763.23216797}, {'date': '2024-05-31', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3367392.584737549}, {'date': '2024-06-01', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3367392.584737549}, {'date': '2024-06-02', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3367392.584737549}, {'date': '2024-06-03', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3381416.365560303}, {'date': '2024-06-04', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3396913.2108056643}, {'date': '2024-06-05', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3525957.285817871}, {'date': '2024-06-06', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3517562.7965295413}, {'date': '2024-06-07', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3712002.760823975}, {'date': '2024-06-08', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3712002.760823975}, {'date': '2024-06-09', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3712002.760823975}, {'date': '2024-06-10', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3759199.1872155764}, {'date': '2024-06-11', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3825363.2230126956}, {'date': '2024-06-12', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3872802.1878564456}, {'date': '2024-06-13', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3894760.6725061038}, {'date': '2024-06-14', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3644131.8768823245}, {'date': '2024-06-15', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3644131.8768823245}, {'date': '2024-06-16', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3644131.8768823245}, {'date': '2024-06-17', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3619622.523244629}, {'date': '2024-06-18', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3558377.6730859377}, {'date': '2024-06-19', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3519665.877279053}, {'date': '2024-06-20', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3490028.197225342}, {'date': '2024-06-21', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3283786.856588135}, {'date': '2024-06-22', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3283786.856588135}, {'date': '2024-06-23', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3283786.856588135}, {'date': '2024-06-24', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3204337.03130127}, {'date': '2024-06-25', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3072402.2740686038}, {'date': '2024-06-26', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3014589.9266564944}, {'date': '2024-06-27', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2948883.7308251956}, {'date': '2024-06-28', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2924536.1775720217}, {'date': '2024-06-29', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2924536.1775720217}, {'date': '2024-06-30', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2924536.1775720217}, {'date': '2024-07-01', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2802537.877019653}, {'date': '2024-07-02', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2828752.1333062747}, {'date': '2024-07-03', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2862464.8160302737}, {'date': '2024-07-04', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2877526.3566339114}, {'date': '2024-07-05', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2956783.091481934}, {'date': '2024-07-06', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2956783.091481934}, {'date': '2024-07-07', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2956783.091481934}, {'date': '2024-07-08', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3000355.3838098147}, {'date': '2024-07-09', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2998847.6247155764}, {'date': '2024-07-10', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3022978.9037072756}, {'date': '2024-07-11', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3069453.5512292483}, {'date': '2024-07-12', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3126796.3857019045}, {'date': '2024-07-13', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3126796.3857019045}, {'date': '2024-07-14', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3126796.3857019045}, {'date': '2024-07-15', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3157671.4009606936}, {'date': '2024-07-16', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3158683.7071740725}, {'date': '2024-07-17', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3175796.2865197756}, {'date': '2024-07-18', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3163298.746999512}, {'date': '2024-07-19', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3083001.658376465}, {'date': '2024-07-20', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3083001.658376465}, {'date': '2024-07-21', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3083001.658376465}, {'date': '2024-07-22', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2994249.1216027834}, {'date': '2024-07-23', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2847952.067312012}, {'date': '2024-07-24', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2765871.445592651}, {'date': '2024-07-25', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2738585.3833520506}, {'date': '2024-07-26', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2652108.2658135984}, {'date': '2024-07-27', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2652108.2658135984}, {'date': '2024-07-28', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2652108.2658135984}, {'date': '2024-07-29', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2602612.4257409666}, {'date': '2024-07-30', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2569760.6248223875}, {'date': '2024-07-31', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2288234.60286499}, {'date': '2024-08-01', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2187824.1700494383}, {'date': '2024-08-02', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2198594.2715966795}, {'date': '2024-08-03', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2198594.2715966795}, {'date': '2024-08-04', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2198594.2715966795}, {'date': '2024-08-05', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2189856.402333984}, {'date': '2024-08-06', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2166016.1370599363}, {'date': '2024-08-07', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2158183.0853784177}, {'date': '2024-08-08', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2137914.425786743}, {'date': '2024-08-09', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2095451.5523278806}, {'date': '2024-08-10', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2095451.5523278806}, {'date': '2024-08-11', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2095451.5523278806}, {'date': '2024-08-12', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2061148.087438354}, {'date': '2024-08-13', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2024925.391134033}, {'date': '2024-08-14', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2010849.2440545652}, {'date': '2024-08-15', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2068589.770253906}, {'date': '2024-08-16', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2208761.9180047605}, {'date': '2024-08-17', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2208761.9180047605}, {'date': '2024-08-18', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2208761.9180047605}, {'date': '2024-08-19', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2240072.562154541}, {'date': '2024-08-20', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2244019.162114868}, {'date': '2024-08-21', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2291712.6626336672}, {'date': '2024-08-22', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2304532.668050537}, {'date': '2024-08-23', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2279876.1052453616}, {'date': '2024-08-24', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2279876.1052453616}, {'date': '2024-08-25', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2279876.1052453616}, {'date': '2024-08-26', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2279710.7381188963}, {'date': '2024-08-27', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2282648.7607324217}, {'date': '2024-08-28', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2226310.2883660886}, {'date': '2024-08-29', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2224553.3437097166}, {'date': '2024-08-30', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2205524.6133172605}, {'date': '2024-08-31', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2205524.6133172605}, {'date': '2024-09-01', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2205524.6133172605}, {'date': '2024-09-02', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2204915.348943481}, {'date': '2024-09-03', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2193582.9991662595}, {'date': '2024-09-04', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2170529.2004907224}, {'date': '2024-09-05', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2144417.2448480222}, {'date': '2024-09-06', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2096538.111623535}, {'date': '2024-09-07', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2096538.111623535}, {'date': '2024-09-08', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2096538.111623535}, {'date': '2024-09-09', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2056371.571477661}, {'date': '2024-09-10', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2065358.62630249}, {'date': '2024-09-11', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2044092.4138391116}, {'date': '2024-09-12', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2037186.7150628665}, {'date': '2024-09-13', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2015817.0670831297}, {'date': '2024-09-14', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2015817.0670831297}, {'date': '2024-09-15', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2015817.0670831297}, {'date': '2024-09-16', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1974682.8049981685}, {'date': '2024-09-17', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1851828.3242547605}, {'date': '2024-09-18', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1792025.2484643552}, {'date': '2024-09-19', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1771735.6747949217}, {'date': '2024-09-20', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1756169.4402062984}, {'date': '2024-09-21', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1756169.4402062984}, {'date': '2024-09-22', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1756169.4402062984}, {'date': '2024-09-23', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1742823.8267266843}, {'date': '2024-09-24', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1727052.666600952}, {'date': '2024-09-25', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1723835.1411187742}, {'date': '2024-09-26', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1733976.0369622798}, {'date': '2024-09-27', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1750134.3507135008}, {'date': '2024-09-28', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1750134.3507135008}, {'date': '2024-09-29', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1750134.3507135008}, {'date': '2024-09-30', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1788663.7563073726}, {'date': '2024-10-01', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2106349.245961914}, {'date': '2024-10-02', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3130450.67494751}, {'date': '2024-10-03', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3738086.993154297}, {'date': '2024-10-04', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3770941.874440918}, {'date': '2024-10-05', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3770941.874440918}, {'date': '2024-10-06', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3770941.874440918}, {'date': '2024-10-07', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3644196.4024865725}, {'date': '2024-10-08', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3343392.3024499514}, {'date': '2024-10-09', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3072054.030355225}, {'date': '2024-10-10', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3038731.9058740237}, {'date': '2024-10-11', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2987222.964223633}, {'date': '2024-10-12', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2987222.964223633}, {'date': '2024-10-13', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2987222.964223633}, {'date': '2024-10-14', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2968825.7092797854}, {'date': '2024-10-15', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2956121.6229760745}, {'date': '2024-10-16', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2919446.9231927493}, {'date': '2024-10-17', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2924527.7470910647}, {'date': '2024-10-18', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3038221.213277588}, {'date': '2024-10-19', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3038221.213277588}, {'date': '2024-10-20', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3038221.213277588}, {'date': '2024-10-21', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3075933.024343262}, {'date': '2024-10-22', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3066299.2543542483}, {'date': '2024-10-23', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2929990.8608758547}, {'date': '2024-10-24', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2819148.194249878}, {'date': '2024-10-25', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2741697.041448364}, {'date': '2024-10-26', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2741697.041448364}, {'date': '2024-10-27', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2741697.041448364}, {'date': '2024-10-28', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2673800.379689941}, {'date': '2024-10-29', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2605348.7653100584}, {'date': '2024-10-30', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2630694.3578088377}, {'date': '2024-10-31', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2646622.9409539793}, {'date': '2024-11-01', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2625298.6878717043}, {'date': '2024-11-02', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2625298.6878717043}, {'date': '2024-11-03', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2625298.6878717043}, {'date': '2024-11-04', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2605469.2239129636}, {'date': '2024-11-05', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2571276.9765222166}, {'date': '2024-11-06', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2499528.8819635008}, {'date': '2024-11-07', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2302648.2934320066}, {'date': '2024-11-08', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2178683.0968225095}, {'date': '2024-11-09', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2178683.0968225095}, {'date': '2024-11-10', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2178683.0968225095}, {'date': '2024-11-11', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2099818.0550897215}, {'date': '2024-11-12', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2001018.9790093992}, {'date': '2024-11-13', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1900450.7989251707}, {'date': '2024-11-14', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1850325.428899536}, {'date': '2024-11-15', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1927878.8823449705}, {'date': '2024-11-16', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1927878.8823449705}, {'date': '2024-11-17', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 1927878.8823449705}, {'date': '2024-11-18', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2246220.328267822}, {'date': '2024-11-19', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2221627.4804437254}, {'date': '2024-11-20', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2218516.470845947}, {'date': '2024-11-21', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2218198.5444390867}, {'date': '2024-11-22', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2149951.0449731443}, {'date': '2024-11-23', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2149951.0449731443}, {'date': '2024-11-24', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2149951.0449731443}, {'date': '2024-11-25', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2094027.773793945}, {'date': '2024-11-26', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2012405.6405389402}, {'date': '2024-11-27', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2019532.8015649412}, {'date': '2024-11-28', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2031192.9673516843}, {'date': '2024-11-29', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2125199.639257202}, {'date': '2024-11-30', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2125199.639257202}, {'date': '2024-12-01', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2125199.639257202}, {'date': '2024-12-02', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2026568.200048218}, {'date': '2024-12-03', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2181770.274099121}, {'date': '2024-12-04', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2748576.9624078367}, {'date': '2024-12-05', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3133182.7992761233}, {'date': '2024-12-06', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3151024.939473877}, {'date': '2024-12-07', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3151024.939473877}, {'date': '2024-12-08', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3151024.939473877}, {'date': '2024-12-09', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3133990.828450928}, {'date': '2024-12-10', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3112249.2665612795}, {'date': '2024-12-11', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3062862.5363671877}, {'date': '2024-12-12', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2987071.8640649416}, {'date': '2024-12-13', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2801256.4439141843}, {'date': '2024-12-14', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2801256.4439141843}, {'date': '2024-12-15', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2801256.4439141843}, {'date': '2024-12-16', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2920452.0959222415}, {'date': '2024-12-17', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3166822.039541016}, {'date': '2024-12-18', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 3028076.1021936038}, {'date': '2024-12-19', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2869687.63059021}, {'date': '2024-12-20', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2757620.9229791258}, {'date': '2024-12-21', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2757620.9229791258}, {'date': '2024-12-22', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2757620.9229791258}, {'date': '2024-12-23', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2673643.4430444334}, {'date': '2024-12-24', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2650206.219609985}, {'date': '2024-12-25', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2650206.219609985}, {'date': '2024-12-26', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2650206.219609985}, {'date': '2024-12-27', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2650206.219609985}, {'date': '2024-12-28', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2650206.219609985}, {'date': '2024-12-29', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2650206.219609985}, {'date': '2024-12-30', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2650206.219609985}, {'date': '2024-12-31', 'breakdown': [{'type': 'load', 'value': 95882.51812499999}, {'type': 'discharge', 'value': 124014.32}, {'type': 'canal', 'value': 0.0}], 'value': 2650206.219609985}], 'confidences': [{'date': '2024-01-01', 'value': 2}, {'date': '2024-01-02', 'value': 2}, {'date': '2024-01-03', 'value': 2}, {'date': '2024-01-04', 'value': 2}, {'date': '2024-01-05', 'value': 2}, {'date': '2024-01-06', 'value': 2}, {'date': '2024-01-07', 'value': 2}, {'date': '2024-01-08', 'value': 2}, {'date': '2024-01-09', 'value': 2}, {'date': '2024-01-10', 'value': 2}, {'date': '2024-01-11', 'value': 2}, {'date': '2024-01-12', 'value': 2}, {'date': '2024-01-13', 'value': 2}, {'date': '2024-01-14', 'value': 2}, {'date': '2024-01-15', 'value': 2}, {'date': '2024-01-16', 'value': 2}, {'date': '2024-01-17', 'value': 2}, {'date': '2024-01-18', 'value': 2}, {'date': '2024-01-19', 'value': 2}, {'date': '2024-01-20', 'value': 2}, {'date': '2024-01-21', 'value': 2}, {'date': '2024-01-22', 'value': 2}, {'date': '2024-01-23', 'value': 2}, {'date': '2024-01-24', 'value': 2}, {'date': '2024-01-25', 'value': 2}, {'date': '2024-01-26', 'value': 2}, {'date': '2024-01-27', 'value': 2}, {'date': '2024-01-28', 'value': 2}, {'date': '2024-01-29', 'value': 2}, {'date': '2024-01-30', 'value': 2}, {'date': '2024-01-31', 'value': 2}, {'date': '2024-02-01', 'value': 2}, {'date': '2024-02-02', 'value': 2}, {'date': '2024-02-03', 'value': 2}, {'date': '2024-02-04', 'value': 2}, {'date': '2024-02-05', 'value': 2}, {'date': '2024-02-06', 'value': 2}, {'date': '2024-02-07', 'value': 2}, {'date': '2024-02-08', 'value': 2}, {'date': '2024-02-09', 'value': 2}, {'date': '2024-02-10', 'value': 2}, {'date': '2024-02-11', 'value': 2}, {'date': '2024-02-12', 'value': 2}, {'date': '2024-02-13', 'value': 2}, {'date': '2024-02-14', 'value': 2}, {'date': '2024-02-15', 'value': 2}, {'date': '2024-02-16', 'value': 2}, {'date': '2024-02-17', 'value': 2}, {'date': '2024-02-18', 'value': 2}, {'date': '2024-02-19', 'value': 2}, {'date': '2024-02-20', 'value': 2}, {'date': '2024-02-21', 'value': 2}, {'date': '2024-02-22', 'value': 2}, {'date': '2024-02-23', 'value': 2}, {'date': '2024-02-24', 'value': 2}, {'date': '2024-02-25', 'value': 2}, {'date': '2024-02-26', 'value': 2}, {'date': '2024-02-27', 'value': 2}, {'date': '2024-02-28', 'value': 2}, {'date': '2024-02-29', 'value': 2}, {'date': '2024-03-01', 'value': 2}, {'date': '2024-03-02', 'value': 2}, {'date': '2024-03-03', 'value': 2}, {'date': '2024-03-04', 'value': 2}, {'date': '2024-03-05', 'value': 2}, {'date': '2024-03-06', 'value': 2}, {'date': '2024-03-07', 'value': 2}, {'date': '2024-03-08', 'value': 2}, {'date': '2024-03-09', 'value': 2}, {'date': '2024-03-10', 'value': 2}, {'date': '2024-03-11', 'value': 2}, {'date': '2024-03-12', 'value': 2}, {'date': '2024-03-13', 'value': 2}, {'date': '2024-03-14', 'value': 2}, {'date': '2024-03-15', 'value': 2}, {'date': '2024-03-16', 'value': 2}, {'date': '2024-03-17', 'value': 2}, {'date': '2024-03-18', 'value': 2}, {'date': '2024-03-19', 'value': 2}, {'date': '2024-03-20', 'value': 2}, {'date': '2024-03-21', 'value': 2}, {'date': '2024-03-22', 'value': 2}, {'date': '2024-03-23', 'value': 2}, {'date': '2024-03-24', 'value': 2}, {'date': '2024-03-25', 'value': 2}, {'date': '2024-03-26', 'value': 2}, {'date': '2024-03-27', 'value': 2}, {'date': '2024-03-28', 'value': 2}, {'date': '2024-03-29', 'value': 2}, {'date': '2024-03-30', 'value': 2}, {'date': '2024-03-31', 'value': 2}, {'date': '2024-04-01', 'value': 2}, {'date': '2024-04-02', 'value': 2}, {'date': '2024-04-03', 'value': 2}, {'date': '2024-04-04', 'value': 2}, {'date': '2024-04-05', 'value': 2}, {'date': '2024-04-06', 'value': 2}, {'date': '2024-04-07', 'value': 2}, {'date': '2024-04-08', 'value': 2}, {'date': '2024-04-09', 'value': 2}, {'date': '2024-04-10', 'value': 2}, {'date': '2024-04-11', 'value': 2}, {'date': '2024-04-12', 'value': 2}, {'date': '2024-04-13', 'value': 2}, {'date': '2024-04-14', 'value': 2}, {'date': '2024-04-15', 'value': 2}, {'date': '2024-04-16', 'value': 2}, {'date': '2024-04-17', 'value': 2}, {'date': '2024-04-18', 'value': 2}, {'date': '2024-04-19', 'value': 2}, {'date': '2024-04-20', 'value': 2}, {'date': '2024-04-21', 'value': 2}, {'date': '2024-04-22', 'value': 2}, {'date': '2024-04-23', 'value': 2}, {'date': '2024-04-24', 'value': 2}, {'date': '2024-04-25', 'value': 2}, {'date': '2024-04-26', 'value': 2}, {'date': '2024-04-27', 'value': 2}, {'date': '2024-04-28', 'value': 2}, {'date': '2024-04-29', 'value': 2}, {'date': '2024-04-30', 'value': 2}, {'date': '2024-05-01', 'value': 2}, {'date': '2024-05-02', 'value': 2}, {'date': '2024-05-03', 'value': 2}, {'date': '2024-05-04', 'value': 2}, {'date': '2024-05-05', 'value': 2}, {'date': '2024-05-06', 'value': 2}, {'date': '2024-05-07', 'value': 2}, {'date': '2024-05-08', 'value': 2}, {'date': '2024-05-09', 'value': 2}, {'date': '2024-05-10', 'value': 2}, {'date': '2024-05-11', 'value': 2}, {'date': '2024-05-12', 'value': 2}, {'date': '2024-05-13', 'value': 2}, {'date': '2024-05-14', 'value': 2}, {'date': '2024-05-15', 'value': 2}, {'date': '2024-05-16', 'value': 2}, {'date': '2024-05-17', 'value': 2}, {'date': '2024-05-18', 'value': 2}, {'date': '2024-05-19', 'value': 2}, {'date': '2024-05-20', 'value': 2}, {'date': '2024-05-21', 'value': 2}, {'date': '2024-05-22', 'value': 2}, {'date': '2024-05-23', 'value': 2}, {'date': '2024-05-24', 'value': 2}, {'date': '2024-05-25', 'value': 2}, {'date': '2024-05-26', 'value': 2}, {'date': '2024-05-27', 'value': 2}, {'date': '2024-05-28', 'value': 2}, {'date': '2024-05-29', 'value': 2}, {'date': '2024-05-30', 'value': 2}, {'date': '2024-05-31', 'value': 2}, {'date': '2024-06-01', 'value': 2}, {'date': '2024-06-02', 'value': 2}, {'date': '2024-06-03', 'value': 2}, {'date': '2024-06-04', 'value': 2}, {'date': '2024-06-05', 'value': 2}, {'date': '2024-06-06', 'value': 2}, {'date': '2024-06-07', 'value': 2}, {'date': '2024-06-08', 'value': 2}, {'date': '2024-06-09', 'value': 2}, {'date': '2024-06-10', 'value': 2}, {'date': '2024-06-11', 'value': 2}, {'date': '2024-06-12', 'value': 2}, {'date': '2024-06-13', 'value': 2}, {'date': '2024-06-14', 'value': 2}, {'date': '2024-06-15', 'value': 2}, {'date': '2024-06-16', 'value': 2}, {'date': '2024-06-17', 'value': 2}, {'date': '2024-06-18', 'value': 2}, {'date': '2024-06-19', 'value': 2}, {'date': '2024-06-20', 'value': 2}, {'date': '2024-06-21', 'value': 2}, {'date': '2024-06-22', 'value': 2}, {'date': '2024-06-23', 'value': 2}, {'date': '2024-06-24', 'value': 2}, {'date': '2024-06-25', 'value': 2}, {'date': '2024-06-26', 'value': 2}, {'date': '2024-06-27', 'value': 2}, {'date': '2024-06-28', 'value': 2}, {'date': '2024-06-29', 'value': 2}, {'date': '2024-06-30', 'value': 2}, {'date': '2024-07-01', 'value': 2}, {'date': '2024-07-02', 'value': 2}, {'date': '2024-07-03', 'value': 2}, {'date': '2024-07-04', 'value': 2}, {'date': '2024-07-05', 'value': 2}, {'date': '2024-07-06', 'value': 2}, {'date': '2024-07-07', 'value': 2}, {'date': '2024-07-08', 'value': 2}, {'date': '2024-07-09', 'value': 2}, {'date': '2024-07-10', 'value': 2}, {'date': '2024-07-11', 'value': 2}, {'date': '2024-07-12', 'value': 2}, {'date': '2024-07-13', 'value': 2}, {'date': '2024-07-14', 'value': 2}, {'date': '2024-07-15', 'value': 2}, {'date': '2024-07-16', 'value': 2}, {'date': '2024-07-17', 'value': 2}, {'date': '2024-07-18', 'value': 2}, {'date': '2024-07-19', 'value': 2}, {'date': '2024-07-20', 'value': 2}, {'date': '2024-07-21', 'value': 2}, {'date': '2024-07-22', 'value': 2}, {'date': '2024-07-23', 'value': 2}, {'date': '2024-07-24', 'value': 2}, {'date': '2024-07-25', 'value': 2}, {'date': '2024-07-26', 'value': 2}, {'date': '2024-07-27', 'value': 2}, {'date': '2024-07-28', 'value': 2}, {'date': '2024-07-29', 'value': 2}, {'date': '2024-07-30', 'value': 2}, {'date': '2024-07-31', 'value': 2}, {'date': '2024-08-01', 'value': 2}, {'date': '2024-08-02', 'value': 2}, {'date': '2024-08-03', 'value': 2}, {'date': '2024-08-04', 'value': 2}, {'date': '2024-08-05', 'value': 2}, {'date': '2024-08-06', 'value': 2}, {'date': '2024-08-07', 'value': 2}, {'date': '2024-08-08', 'value': 2}, {'date': '2024-08-09', 'value': 2}, {'date': '2024-08-10', 'value': 2}, {'date': '2024-08-11', 'value': 2}, {'date': '2024-08-12', 'value': 2}, {'date': '2024-08-13', 'value': 2}, {'date': '2024-08-14', 'value': 2}, {'date': '2024-08-15', 'value': 2}, {'date': '2024-08-16', 'value': 2}, {'date': '2024-08-17', 'value': 2}, {'date': '2024-08-18', 'value': 2}, {'date': '2024-08-19', 'value': 2}, {'date': '2024-08-20', 'value': 2}, {'date': '2024-08-21', 'value': 2}, {'date': '2024-08-22', 'value': 2}, {'date': '2024-08-23', 'value': 2}, {'date': '2024-08-24', 'value': 2}, {'date': '2024-08-25', 'value': 2}, {'date': '2024-08-26', 'value': 2}, {'date': '2024-08-27', 'value': 2}, {'date': '2024-08-28', 'value': 2}, {'date': '2024-08-29', 'value': 2}, {'date': '2024-08-30', 'value': 2}, {'date': '2024-08-31', 'value': 2}, {'date': '2024-09-01', 'value': 2}, {'date': '2024-09-02', 'value': 2}, {'date': '2024-09-03', 'value': 2}, {'date': '2024-09-04', 'value': 2}, {'date': '2024-09-05', 'value': 2}, {'date': '2024-09-06', 'value': 2}, {'date': '2024-09-07', 'value': 2}, {'date': '2024-09-08', 'value': 2}, {'date': '2024-09-09', 'value': 2}, {'date': '2024-09-10', 'value': 2}, {'date': '2024-09-11', 'value': 2}, {'date': '2024-09-12', 'value': 2}, {'date': '2024-09-13', 'value': 2}, {'date': '2024-09-14', 'value': 2}, {'date': '2024-09-15', 'value': 2}, {'date': '2024-09-16', 'value': 2}, {'date': '2024-09-17', 'value': 2}, {'date': '2024-09-18', 'value': 2}, {'date': '2024-09-19', 'value': 2}, {'date': '2024-09-20', 'value': 2}, {'date': '2024-09-21', 'value': 2}, {'date': '2024-09-22', 'value': 2}, {'date': '2024-09-23', 'value': 2}, {'date': '2024-09-24', 'value': 2}, {'date': '2024-09-25', 'value': 2}, {'date': '2024-09-26', 'value': 2}, {'date': '2024-09-27', 'value': 2}, {'date': '2024-09-28', 'value': 2}, {'date': '2024-09-29', 'value': 2}, {'date': '2024-09-30', 'value': 2}, {'date': '2024-10-01', 'value': 2}, {'date': '2024-10-02', 'value': 2}, {'date': '2024-10-03', 'value': 2}, {'date': '2024-10-04', 'value': 2}, {'date': '2024-10-05', 'value': 2}, {'date': '2024-10-06', 'value': 2}, {'date': '2024-10-07', 'value': 2}, {'date': '2024-10-08', 'value': 2}, {'date': '2024-10-09', 'value': 2}, {'date': '2024-10-10', 'value': 2}, {'date': '2024-10-11', 'value': 2}, {'date': '2024-10-12', 'value': 2}, {'date': '2024-10-13', 'value': 2}, {'date': '2024-10-14', 'value': 2}, {'date': '2024-10-15', 'value': 2}, {'date': '2024-10-16', 'value': 2}, {'date': '2024-10-17', 'value': 2}, {'date': '2024-10-18', 'value': 2}, {'date': '2024-10-19', 'value': 2}, {'date': '2024-10-20', 'value': 2}, {'date': '2024-10-21', 'value': 2}, {'date': '2024-10-22', 'value': 2}, {'date': '2024-10-23', 'value': 2}, {'date': '2024-10-24', 'value': 2}, {'date': '2024-10-25', 'value': 2}, {'date': '2024-10-26', 'value': 2}, {'date': '2024-10-27', 'value': 2}, {'date': '2024-10-28', 'value': 2}, {'date': '2024-10-29', 'value': 2}, {'date': '2024-10-30', 'value': 2}, {'date': '2024-10-31', 'value': 2}, {'date': '2024-11-01', 'value': 2}, {'date': '2024-11-02', 'value': 2}, {'date': '2024-11-03', 'value': 2}, {'date': '2024-11-04', 'value': 2}, {'date': '2024-11-05', 'value': 2}, {'date': '2024-11-06', 'value': 2}, {'date': '2024-11-07', 'value': 2}, {'date': '2024-11-08', 'value': 2}, {'date': '2024-11-09', 'value': 2}, {'date': '2024-11-10', 'value': 2}, {'date': '2024-11-11', 'value': 2}, {'date': '2024-11-12', 'value': 2}, {'date': '2024-11-13', 'value': 2}, {'date': '2024-11-14', 'value': 2}, {'date': '2024-11-15', 'value': 2}, {'date': '2024-11-16', 'value': 2}, {'date': '2024-11-17', 'value': 2}, {'date': '2024-11-18', 'value': 2}, {'date': '2024-11-19', 'value': 2}, {'date': '2024-11-20', 'value': 2}, {'date': '2024-11-21', 'value': 2}, {'date': '2024-11-22', 'value': 2}, {'date': '2024-11-23', 'value': 2}, {'date': '2024-11-24', 'value': 2}, {'date': '2024-11-25', 'value': 2}, {'date': '2024-11-26', 'value': 2}, {'date': '2024-11-27', 'value': 2}, {'date': '2024-11-28', 'value': 2}, {'date': '2024-11-29', 'value': 2}, {'date': '2024-11-30', 'value': 2}, {'date': '2024-12-01', 'value': 2}, {'date': '2024-12-02', 'value': 2}, {'date': '2024-12-03', 'value': 2}, {'date': '2024-12-04', 'value': 2}, {'date': '2024-12-05', 'value': 2}, {'date': '2024-12-06', 'value': 2}, {'date': '2024-12-07', 'value': 2}, {'date': '2024-12-08', 'value': 2}, {'date': '2024-12-09', 'value': 2}, {'date': '2024-12-10', 'value': 2}, {'date': '2024-12-11', 'value': 2}, {'date': '2024-12-12', 'value': 2}, {'date': '2024-12-13', 'value': 2}, {'date': '2024-12-14', 'value': 2}, {'date': '2024-12-15', 'value': 2}, {'date': '2024-12-16', 'value': 2}, {'date': '2024-12-17', 'value': 2}, {'date': '2024-12-18', 'value': 2}, {'date': '2024-12-19', 'value': 2}, {'date': '2024-12-20', 'value': 2}, {'date': '2024-12-21', 'value': 2}, {'date': '2024-12-22', 'value': 2}, {'date': '2024-12-23', 'value': 2}, {'date': '2024-12-24', 'value': 2}, {'date': '2024-12-25', 'value': 2}, {'date': '2024-12-26', 'value': 2}, {'date': '2024-12-27', 'value': 2}, {'date': '2024-12-28', 'value': 2}, {'date': '2024-12-29', 'value': 2}, {'date': '2024-12-30', 'value': 2}, {'date': '2024-12-31', 'value': 2}], 'product': 'crude'}]\n" - ] - } - ], - "source": [ - "print(result.to_list())" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ee505605-ac13-421c-8ec2-077bba69c72a", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.13.13" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -}