diff --git a/.all-contributorsrc b/.all-contributorsrc
index 50fe2da4..a69bf6bf 100644
--- a/.all-contributorsrc
+++ b/.all-contributorsrc
@@ -217,6 +217,33 @@
"contributions": [
"code"
]
+ },
+ {
+ "login": "sumana-2705",
+ "name": "Sumana Sree Angajala",
+ "avatar_url": "https://avatars.githubusercontent.com/u/110307215?v=4",
+ "profile": "https://github.com/sumana-2705",
+ "contributions": [
+ "code"
+ ]
+ },
+ {
+ "login": "EmilyIsCoding",
+ "name": "Emily",
+ "avatar_url": "https://avatars.githubusercontent.com/u/98443131?v=4",
+ "profile": "https://github.com/EmilyIsCoding",
+ "contributions": [
+ "test"
+ ]
+ },
+ {
+ "login": "sergejlazuk",
+ "name": "sergejla",
+ "avatar_url": "https://avatars.githubusercontent.com/u/33606741?v=4",
+ "profile": "https://github.com/sergejlazuk",
+ "contributions": [
+ "question"
+ ]
}
],
"contributorsPerLine": 7,
diff --git a/.bumpversion.cfg b/.bumpversion.cfg
index 624a97f3..497d82d9 100644
--- a/.bumpversion.cfg
+++ b/.bumpversion.cfg
@@ -1,7 +1,7 @@
[bumpversion]
commit = True
tag = True
-current_version = 1.0.75
+current_version = 1.0.81
message = Bump version: {current_version} → {new_version} [skip ci]
[bumpversion:file:pyproject.toml]
diff --git a/.env.example b/.env.example
index 38c52a3b..2aea5fda 100644
--- a/.env.example
+++ b/.env.example
@@ -19,6 +19,10 @@ SOLIS_CLOUD_API_PORT = '13333'
# User needs to add their GivEnergy API details
GIVENERGY_API_KEY = 'user_givenergy_api_key'
+# To connect to a Victron system use the environment variables below to set the username and password
+#VICTRON_USER=username
+#VICTRON_PASS=password
+
# User needs to add their GivEnergy API details
SOLARMAN_API_URL = 'https://home.solarmanpv.com/maintain-s/history/power'
SOLARMAN_TOKEN = 'user_solarman_token'
diff --git a/.github/workflows/pytest.yaml b/.github/workflows/pytest.yaml
index f22565b3..ec5addb6 100644
--- a/.github/workflows/pytest.yaml
+++ b/.github/workflows/pytest.yaml
@@ -10,7 +10,7 @@ on:
types: [opened, synchronize, reopened, ready_for_review]
jobs:
call-run-python-tests:
- uses: openclimatefix/.github/.github/workflows/python-test.yml@main
+ uses: openclimatefix/.github/.github/workflows/python-test.yml@issue/pip-all
with:
# pytest-cov looks at this folder
pytest_cov_dir: "quartz_solar_forecast"
diff --git a/README.md b/README.md
index b1fd94ae..a5a23500 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,16 @@
# Quartz Solar Forecast
-[![All Contributors](https://img.shields.io/badge/all_contributors-23-orange.svg?style=flat-square)](#contributors-)
+[![All Contributors](https://img.shields.io/badge/all_contributors-26-orange.svg?style=flat-square)](#contributors-)
+![image](https://github.com/user-attachments/assets/6563849b-b355-4842-93e4-61c15a9a9ebf)
+[![tags badge](https://img.shields.io/github/v/tag/openclimatefix/open-source-quartz-solar-forecast?include_prereleases&sort=semver&color=FFAC5F)](https://github.com/openclimatefix/open-source-quartz-solar-forecast/tags)
+[![pypi badge](https://img.shields.io/pypi/v/quartz-solar-forecast?&color=07BCDF)](https://pypi.org/project/quartz-solar-forecast/)
+[![ease of contribution: easy](https://img.shields.io/badge/ease%20of%20contribution:%20easy-32bd50)](https://github.com/openclimatefix/ocf-meta-repo?tab=readme-ov-file#overview-of-ocfs-nowcasting-repositories)
+[![Python package tests](https://github.com/openclimatefix/open-source-quartz-solar-forecast/actions/workflows/pytest.yaml/badge.svg)](https://github.com/openclimatefix/open-source-quartz-solar-forecast/actions/workflows/pytest.yaml)
+
+
The aim of the project is to build an open source PV forecast that is free and easy to use.
The forecast provides the expected generation in `kw` for 0 to 48 hours for a single PV site.
@@ -35,16 +42,10 @@ A colab notebook providing some examples can be found [here](https://colab.resea
To generate solar forecasts and save them into a CSV file, follow these steps:
-1. Navigate to the scripts directory
-
-```bash
-cd scripts
-```
-
-2. Run the forecast_csv.py script with desired inputs
+- Run the forecast_csv.py script with desired inputs
```bash
-python forecast_csv.py
+python scripts/forecast_csv.py
```
Replace the --init_time_freq, --start_datetime, --end_datetime, and --site_name with your desired forecast initialization frequency (in hours), start datetime, end datetime, and the name of the forecast or site, respectively.
@@ -258,6 +259,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
aayush 📖 |
Rohan Singh 💻 |
+ Sumana Sree Angajala 💻 |
+ Emily ⚠️ |
+ sergejla 💬 |
diff --git a/examples/inverter_example.py b/examples/inverter_example.py
index ec82bd49..fc950f37 100644
--- a/examples/inverter_example.py
+++ b/examples/inverter_example.py
@@ -14,7 +14,7 @@ def main(save_outputs: bool = False):
ts = pd.to_datetime(timestamp_str)
# make input data with live enphase, solis, givenergy, or solarman data
- site_live = PVSite(latitude=51.75, longitude=-1.25, capacity_kwp=1.25, inverter_type="enphase") # inverter_type="enphase", "solis", "givenergy", or "solarman"
+ site_live = PVSite(latitude=51.75, longitude=-1.25, capacity_kwp=1.25, inverter_type="enphase") # inverter_type="enphase", "solis", "givenergy", "solarman" or "victron"
# make input data with nan data
site_no_live = PVSite(latitude=51.75, longitude=-1.25, capacity_kwp=1.25)
diff --git a/pyproject.toml b/pyproject.toml
index c292fc95..cc21213b 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "quartz_solar_forecast"
-version = "1.0.75"
+version = "1.0.81"
description = "Open Source Solar Forecasting for a Site"
authors = [
{ name = "Peter Dudfield", email = "info@openclimatefix.org" }
@@ -43,6 +43,9 @@ package-data = { "quartz_solar_forecast" = ["*"] }
[project.optional-dependencies]
dev = []
+# additional vendor-specific dependencies for connecting to inverter APIs
+inverters = ["ocf_vrmapi"] # victron
+all = ["ocf_vrmapi"]
[tool.mypy]
diff --git a/quartz_solar_forecast/forecast.py b/quartz_solar_forecast/forecast.py
index 7cc7f2dd..a75647b0 100644
--- a/quartz_solar_forecast/forecast.py
+++ b/quartz_solar_forecast/forecast.py
@@ -1,4 +1,5 @@
from datetime import datetime, timedelta
+import logging
import pandas as pd
@@ -6,6 +7,7 @@
from quartz_solar_forecast.forecasts import forecast_v1_tilt_orientation, TryolabsSolarPowerPredictor
from quartz_solar_forecast.pydantic_models import PVSite
+log = logging.getLogger(__name__)
def predict_ocf(
site: PVSite, model=None, ts: datetime | str = None, nwp_source: str = "icon"
@@ -25,6 +27,16 @@ def predict_ocf(
if isinstance(ts, str):
ts = datetime.fromisoformat(ts)
+ if site.capacity_kwp > 4:
+ log.warning("Your site capacity is greater than 4kWp, "
+ "however the model is trained on sites with capacity <= 4kWp."
+ "We therefore will run the model with a capacity of 4 kWp, "
+ "and we'll scale the results afterwards.")
+ capacity_kwp_original = site.capacity_kwp
+ site.capacity_kwp = 4
+ else:
+ capacity_kwp_original = site.capacity_kwp
+
# make pv and nwp data from nwp_source
nwp_xr = get_nwp(site=site, ts=ts, nwp_source=nwp_source)
pv_xr = make_pv_data(site=site, ts=ts)
@@ -32,6 +44,10 @@ def predict_ocf(
# load and run models
pred_df = forecast_v1_tilt_orientation(nwp_source, nwp_xr, pv_xr, ts, model=model)
+ # scale the results if the capacity is different
+ if capacity_kwp_original != site.capacity_kwp:
+ pred_df["power_kw"] = pred_df["power_kw"] * capacity_kwp_original / site.capacity_kwp
+
return pred_df
diff --git a/quartz_solar_forecast/inverters/victron.py b/quartz_solar_forecast/inverters/victron.py
new file mode 100644
index 00000000..3414f132
--- /dev/null
+++ b/quartz_solar_forecast/inverters/victron.py
@@ -0,0 +1,48 @@
+from typing import Callable
+
+import pandas as pd
+from datetime import datetime, timedelta
+from quartz_solar_forecast.inverters.inverter import AbstractInverter
+from pydantic import Field
+from pydantic_settings import BaseSettings, SettingsConfigDict
+try:
+ from ocf_vrmapi.vrm import VRM_API
+except:
+ print("Tried to import ocf_vrmapi but couldnt, Victron Inverter functions won't work")
+
+class VictronSettings(BaseSettings):
+ model_config = SettingsConfigDict(env_file='.env', extra='ignore')
+
+ username: str = Field(alias="VICTRON_USER")
+ password: str = Field(alias="VICTRON_PASS")
+
+
+class VictronInverter(AbstractInverter):
+
+ def __init__(self, get_sites: Callable, get_kwh_stats: Callable):
+ self.__get_sites = get_sites
+ self.__get_kwh_stats = get_kwh_stats
+
+ @classmethod
+ def from_settings(cls, settings: VictronSettings):
+ api = VRM_API(username=settings.username, password=settings.password)
+ get_sites = lambda: api.get_user_sites(api.user_id)
+ end = datetime.now()
+ start = end - timedelta(weeks=1)
+ get_kwh_stats = lambda site_id: api.get_kwh_stats(site_id, start=start, end=end)
+ return cls(get_sites, get_kwh_stats)
+
+ def get_data(self, ts: pd.Timestamp) -> pd.DataFrame:
+ sites = self.__get_sites()
+ # get first site (bit of a guess)
+ first_site_id = sites["records"][0]["idSite"]
+
+ stats = self.__get_kwh_stats(first_site_id)
+
+ kwh = stats["records"]["kwh"]
+
+ df = pd.DataFrame(kwh)
+
+ df[0] = pd.to_datetime(df[0], unit='ms')
+ df.columns = ["timestamp", "power_kw"]
+ return df
diff --git a/quartz_solar_forecast/pydantic_models.py b/quartz_solar_forecast/pydantic_models.py
index e362e8c3..7dd2b307 100644
--- a/quartz_solar_forecast/pydantic_models.py
+++ b/quartz_solar_forecast/pydantic_models.py
@@ -6,6 +6,7 @@
from quartz_solar_forecast.inverters.mock import MockInverter
from quartz_solar_forecast.inverters.solarman import SolarmanSettings, SolarmanInverter
from quartz_solar_forecast.inverters.solis import SolisSettings, SolisInverter
+from quartz_solar_forecast.inverters.victron import VictronSettings, VictronInverter
class PVSite(BaseModel):
@@ -41,6 +42,8 @@ def get_inverter(self):
return GivEnergyInverter(GivEnergySettings())
elif self.inverter_type == 'solarman':
return SolarmanInverter(SolarmanSettings())
+ elif self.inverter_type == 'victron':
+ return VictronInverter.from_settings(VictronSettings())
else:
return MockInverter()
diff --git a/quartz_solar_forecast/utils/forecast_csv.py b/quartz_solar_forecast/utils/forecast_csv.py
index 7bfdf1be..748b7bb7 100644
--- a/quartz_solar_forecast/utils/forecast_csv.py
+++ b/quartz_solar_forecast/utils/forecast_csv.py
@@ -3,45 +3,56 @@
from datetime import datetime, timedelta
from quartz_solar_forecast.forecast import run_forecast
from quartz_solar_forecast.pydantic_models import PVSite
-import unittest
-from unittest.mock import patch
def generate_all_forecasts(
- init_time_freq: int,
- start: datetime,
- end: datetime,
- latitude: float,
- longitude: float,
- capacity_kwp: float) -> pd.DataFrame:
+ init_time_freq: int,
+ start: datetime,
+ end: datetime,
+ latitude: float,
+ longitude: float,
+ capacity_kwp: float,
+) -> pd.DataFrame:
all_forecasts = pd.DataFrame()
init_time = start
while init_time <= end:
print(f"Running forecast for initialization time: {init_time}")
- predictions_df = forecast_for_site(latitude, longitude, capacity_kwp, init_time=init_time)
- predictions_df['forecast_init_time'] = init_time
+ predictions_df = forecast_for_site(
+ latitude, longitude, capacity_kwp, init_time=init_time
+ )
+ predictions_df["forecast_init_time"] = init_time
all_forecasts = pd.concat([all_forecasts, predictions_df])
init_time += timedelta(hours=init_time_freq)
return all_forecasts
-def forecast_for_site(latitude: float,
- longitude: float,
- capacity_kwp: float,
- model: str = "gb",
- init_time: datetime = None) -> pd.DataFrame:
+def forecast_for_site(
+ latitude: float,
+ longitude: float,
+ capacity_kwp: float,
+ model: str = "gb",
+ init_time: datetime = None,
+) -> pd.DataFrame:
site = PVSite(latitude=latitude, longitude=longitude, capacity_kwp=capacity_kwp)
predictions_df = run_forecast(site=site, model=model, ts=init_time)
predictions_df.reset_index(inplace=True)
- predictions_df.rename(columns={'index': 'datetime'}, inplace=True)
+ predictions_df.rename(columns={"index": "datetime"}, inplace=True)
return predictions_df
-def write_out_forecasts(init_time_freq, start_datetime, end_datetime, site_name, latitude, longitude, capacity_kwp):
+def write_out_forecasts(
+ init_time_freq,
+ start_datetime,
+ end_datetime,
+ site_name,
+ latitude,
+ longitude,
+ capacity_kwp,
+):
"""
Generates forecasts at specified intervals and saves them into a CSV file.
@@ -58,9 +69,11 @@ def write_out_forecasts(init_time_freq, start_datetime, end_datetime, site_name,
start_date = start.date()
end = datetime.strptime(end_datetime, "%Y-%m-%d %H:%M:%S")
end_date = end.date()
- all_forecasts = generate_all_forecasts(init_time_freq, start, end, latitude, longitude, capacity_kwp)
+ all_forecasts = generate_all_forecasts(
+ init_time_freq, start, end, latitude, longitude, capacity_kwp
+ )
- output_dir = os.path.join(os.getcwd(), 'csv_forecasts')
+ output_dir = os.path.join(os.getcwd(), "csv_forecasts")
if not os.path.exists(output_dir):
os.makedirs(output_dir)
output_file_name = f"forecast_{site_name}_{start_date}_{end_date}.csv"
@@ -68,54 +81,3 @@ def write_out_forecasts(init_time_freq, start_datetime, end_datetime, site_name,
all_forecasts.to_csv(output_file_path, index=False)
print(f"Forecasts saved to {output_file_path}")
-if __name__ == "__main__":
- # please change the site name, start_datetime and end_datetime, latitude, longitude and capacity_kwp as per your requirement
- write_out_forecasts(
- init_time_freq=6,
- start_datetime="2024-03-10 00:00:00",
- end_datetime="2024-03-11 00:00:00",
- site_name="Test",
- latitude=51.75,
- longitude=-1.25,
- capacity_kwp=1.25
- )
-
-class TestGenerateForecast(unittest.TestCase):
- def setUp(self):
- self.site_name = "TestCase"
- self.latitude = 51.75
- self.longitude = -1.25
- self.capacity_kwp = 1.25
- self.start_datetime = "2024-03-10 00:00:00"
- self.end_datetime = "2024-03-11 00:00:00"
- self.init_time_freq = 6
- self.output_dir = os.path.join(os.getcwd(), 'csv_forecasts')
- self.output_file_name = f"forecast_{self.site_name}_{self.start_datetime[:10]}_{self.end_datetime[:10]}.csv"
- self.output_file_path = os.path.join(self.output_dir, self.output_file_name)
-
- @patch('forecast_csv.run_forecast')
- def test_generate_forecast(self, mock_run_forecast):
- mock_df = pd.DataFrame({
- 'datetime': [datetime(2024, 3, 10, 0, 0) + timedelta(hours=6 * i) for i in range(4)],
- 'power_kw': [0.1, 0.5, 0.8, 0.6],
- 'forecast_init_time': [datetime(2024, 3, 10, 0, 0)] * 4
- })
- mock_run_forecast.return_value = mock_df
-
- if not os.path.exists(self.output_dir):
- os.makedirs(self.output_dir)
-
- write_out_forecasts(self.init_time_freq,
- self.start_datetime,
- self.end_datetime,
- self.site_name,
- self.latitude,
- self.longitude,
- self.capacity_kwp
- )
-
- self.assertTrue(os.path.exists(self.output_file_path))
- os.remove(self.output_file_path)
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/scripts/forecast_csv.py b/scripts/forecast_csv.py
new file mode 100644
index 00000000..4d10fa13
--- /dev/null
+++ b/scripts/forecast_csv.py
@@ -0,0 +1,11 @@
+if __name__ == "__main__":
+ # please change the site name, start_datetime and end_datetime, latitude, longitude and capacity_kwp as per your requirement
+ write_out_forecasts(
+ init_time_freq=6,
+ start_datetime="2024-03-10 00:00:00",
+ end_datetime="2024-03-11 00:00:00",
+ site_name="Test",
+ latitude=51.75,
+ longitude=-1.25,
+ capacity_kwp=1.25
+ )
\ No newline at end of file
diff --git a/tests/inverters/test_victron.py b/tests/inverters/test_victron.py
new file mode 100644
index 00000000..44206d1e
--- /dev/null
+++ b/tests/inverters/test_victron.py
@@ -0,0 +1,1460 @@
+import pandas as pd
+
+from quartz_solar_forecast.inverters.victron import VictronInverter
+
+
+def test_get_data():
+ inverter = VictronInverter(lambda: site_data, get_kwh_data)
+
+ ts = pd.Timestamp.now()
+ df = inverter.get_data(ts)
+ assert df.shape == (543, 2)
+ assert list(df.columns) == ["timestamp", "power_kw"]
+
+
+site_data = {
+ 'success': True,
+ 'records': [
+ {'idSite': 1234, 'accessLevel': 1, 'owner': True, 'is_admin': True, 'name': 'Rooftop Solar',
+ 'identifier': 'd83add039270', 'idUser': 1234, 'pvMax': 0, 'timezone': 'Europe/London', 'phonenumber': None,
+ 'notes': '',
+ 'geofence': '{"type":"circle","radius":744.8847524459488,"center":{"lat":50.928066,"lng":-1.410089}}',
+ 'geofenceEnabled': False, 'realtimeUpdates': True, 'hasMains': 1, 'hasGenerator': 0,
+ 'noDataAlarmTimeout': None, 'alarmMonitoring': 1, 'invalidVRMAuthTokenUsedInLogRequest': 0,
+ 'syscreated': 1677237828, 'isPaygo': 0, 'paygoCurrency': None, 'paygoTotalAmount': None, 'idCurrency': 12,
+ 'currencyCode': 'GBP', 'currencySign': '£', 'currencyName': 'Sterling', 'inverterChargerControl': 1,
+ 'shared': False, 'device_icon': 'battery', 'dashboard_variations': {'only_grid_meter': False}}]}
+
+
+def get_kwh_data(site_id: int):
+ assert site_id is 1234
+ return kwh_data
+
+
+kwh_data = {
+ 'success': True,
+ 'records': {
+ 'Bc': [[1726263854000, 0.0181884765625],
+ [1726264754000, 0.018218994140625],
+ [1726265654000, 0.0182037353515625],
+ [1726266554000, 0.036408424377441406],
+ [1726268354000, 0.0182037353515625],
+ [1726269254000, 0.0182037353515625],
+ [1726270154000, 0.0182037353515625],
+ [1726271954000, 0.036408424377441406],
+ [1726272854000, 0.0182037353515625],
+ [1726273754000, 0.0182037353515625],
+ [1726274654000, 0.0182037353515625],
+ [1726286354000, 0.0182037353515625],
+ [1726287254000, 0.018204212188720703],
+ [1726288154000, 0.0182037353515625],
+ [1726289054000, 0.0182037353515625],
+ [1726289954000, 0.0182037353515625],
+ [1726290854000, 0.0182037353515625],
+ [1726292654000, 0.0182037353515625],
+ [1726325054000, 0.018204212188720703],
+ [1726325954000, 0.05486755445599556],
+ [1726326854000, 0.08229465782642365],
+ [1726327754000, 0.009478759951889515],
+ [1726328654000, 0.018204689025878906],
+ [1726329554000, 0.10049791634082794],
+ [1726330454000, 0.01870117150247097],
+ [1726331354000, 0.018204212188720703],
+ [1726332254000, 0.10972080379724503],
+ [1726333154000, 0.018204212188720703],
+ [1726334054000, 0.027939796447753906],
+ [1726334954000, 0.018204689025878906],
+ [1726335854000, 0.14612731337547302],
+ [1726336754000, 0.018204689025878906],
+ [1726337654000, 0.0182037353515625],
+ [1726338554000, 0.0182037353515625], [1726339454000, 0.018218994140625],
+ [1726340354000, 0.0182037353515625], [1726342154000, 0.036407470703125],
+ [1726343954000, 0.0182037353515625],
+ [1726344854000, 0.0182037353515625],
+ [1726345754000, 0.0182037353515625],
+ [1726346654000, 0.036408424377441406],
+ [1726347554000, 0.0182037353515625],
+ [1726348454000, 0.0182037353515625],
+ [1726349354000, 0.0182037353515625],
+ [1726351154000, 0.0182037353515625], [1726352054000, 0.036407470703125],
+ [1726352954000, 0.018204689025878906],
+ [1726353854000, 0.0182037353515625],
+ [1726354754000, 0.0182037353515625],
+ [1726356554000, 0.0182037353515625],
+ [1726357454000, 0.0182037353515625],
+ [1726358354000, 0.0364079475402832],
+ [1726360154000, 0.0182037353515625],
+ [1726361054000, 0.0182037353515625], [1726372754000, 0.018218994140625],
+ [1726373654000, 0.0364079475402832],
+ [1726374554000, 0.0182037353515625],
+ [1726376354000, 0.0182037353515625],
+ [1726377254000, 0.0182037353515625],
+ [1726378154000, 0.036408424377441406],
+ [1726379054000, 0.0182037353515625],
+ [1726410554000, 0.0182037353515625],
+ [1726412354000, 0.018204212188720703],
+ [1726413254000, 0.0004974365001544356],
+ [1726414154000, 0.055109597742557526],
+ [1726415054000, 0.07331285625696182],
+ [1726415954000, 0.018204689025878906],
+ [1726416854000, 0.07331285625696182],
+ [1726417754000, 0.055109597742557526],
+ [1726418654000, 0.018204689025878906],
+ [1726419554000, 0.09151611477136612],
+ [1726420454000, 0.05510864406824112],
+ [1726421354000, 0.12792548537254333],
+ [1726422254000, 0.0461430549621582], [1726423154000, 0.07281494140625],
+ [1726424054000, 0.0182037353515625],
+ [1726424954000, 0.0182037353515625],
+ [1726425854000, 0.0182037353515625],
+ [1726426754000, 0.0182037353515625],
+ [1726427654000, 0.0182037353515625],
+ [1726428554000, 0.0182037353515625],
+ [1726429454000, 0.0182037353515625],
+ [1726430354000, 0.0364079475402832],
+ [1726432154000, 0.0182037353515625],
+ [1726433054000, 0.0182037353515625],
+ [1726433954000, 0.0182037353515625],
+ [1726434854000, 0.0182037353515625],
+ [1726435754000, 0.0182037353515625],
+ [1726436654000, 0.0182037353515625],
+ [1726437554000, 0.0182037353515625],
+ [1726438454000, 0.0182037353515625],
+ [1726439354000, 0.0182037353515625],
+ [1726440254000, 0.018204689025878906],
+ [1726441154000, 0.0182037353515625],
+ [1726442054000, 0.0182037353515625], [1726442954000, 0.018218994140625],
+ [1726443854000, 0.0182037353515625],
+ [1726444754000, 0.018204689025878906],
+ [1726445654000, 0.0182037353515625],
+ [1726446554000, 0.0182037353515625],
+ [1726448354000, 0.0182037353515625],
+ [1726459154000, 0.0182037353515625],
+ [1726460954000, 0.0364079475402832],
+ [1726461854000, 0.0182037353515625], [1726463654000, 0.036407470703125],
+ [1726464554000, 0.0182037353515625],
+ [1726466354000, 0.0182037353515625],
+ [1726468154000, 0.0182037353515625],
+ [1726470854000, 0.018204689025878906],
+ [1726488854000, 0.0182037353515625],
+ [1726515854000, 0.018204445019364357],
+ [1726516754000, 0.018204445019364357],
+ [1726517654000, 0.018204443156719208],
+ [1726518554000, 0.018204446882009506],
+ [1726520354000, 0.018204443156719208],
+ [1726521254000, 0.036408886313438416],
+ [1726522154000, 0.018204450607299805],
+ [1726523954000, 0.01820443570613861],
+ [1726524854000, 0.03640889376401901],
+ [1726526654000, 0.036408886313438416],
+ [1726528454000, 0.01820443570613861],
+ [1726529354000, 0.018204450607299805],
+ [1726530254000, 0.018204445019364357],
+ [1726531154000, 0.018204450607299805],
+ [1726532054000, 0.018204450607299805],
+ [1726532954000, 0.018204420804977417],
+ [1726533854000, 0.018204450607299805],
+ [1726545554000, 0.03640889376401901],
+ [1726546454000, 0.018204450607299805],
+ [1726547354000, 0.018204450607299805],
+ [1726549154000, 0.018204420804977417],
+ [1726550054000, 0.018204450607299805],
+ [1726550954000, 0.03640889748930931],
+ [1726551854000, 0.018204450607299805],
+ [1726585154000, 0.12768001854419708],
+ [1726586054000, 0.009475541301071644],
+ [1726586954000, 0.1187022402882576],
+ [1726587854000, 0.018204443156719208],
+ [1726588754000, 0.018702244386076927],
+ [1726589654000, 0.055111028254032135],
+ [1726590554000, 0.07331570237874985],
+ [1726591454000, 0.018204450607299805],
+ [1726592354000, 0.02792881429195404],
+ [1726593254000, 0.10972438007593155],
+ [1726594154000, 0.027929052710533142],
+ [1726595054000, 0.04613327980041504],
+ [1726595954000, 0.018204450607299805],
+ [1726596854000, 0.018204689025878906],
+ [1726597754000, 0.018204212188720703],
+ [1726598654000, 0.018204212188720703],
+ [1726599554000, 0.018204689025878906],
+ [1726600454000, 0.018204212188720703],
+ [1726601354000, 0.018204689025878906],
+ [1726602254000, 0.018204689025878906],
+ [1726603154000, 0.018204212188720703],
+ [1726604054000, 0.018204212188720703],
+ [1726604954000, 0.018204689025878906],
+ [1726605854000, 0.03640913963317871],
+ [1726606754000, 0.0182037353515625],
+ [1726607654000, 0.018204689025878906],
+ [1726608554000, 0.018204689025878906],
+ [1726609454000, 0.018204212188720703],
+ [1726610354000, 0.018204689025878906],
+ [1726612154000, 0.018204212188720703],
+ [1726613054000, 0.018204689025878906],
+ [1726613954000, 0.018204212188720703],
+ [1726614854000, 0.03640910983085632],
+ [1726616654000, 0.018204689025878906],
+ [1726617554000, 0.0182037353515625],
+ [1726618454000, 0.018204689025878906],
+ [1726619354000, 0.018204689025878906],
+ [1726620254000, 0.03640866279602051],
+ [1726631954000, 0.018204212188720703],
+ [1726632854000, 0.018204689025878906],
+ [1726633754000, 0.018204689025878906],
+ [1726635554000, 0.03640866279602051],
+ [1726636454000, 0.018204689025878906],
+ [1726638254000, 0.036408424377441406],
+ [1726671554000, 0.018204450607299805],
+ [1726672454000, 0.06408901512622833],
+ [1726673354000, 0.05511078983545303],
+ [1726674254000, 0.05511123687028885],
+ [1726675154000, 0.07331547886133194],
+ [1726676054000, 0.05511126667261124],
+ [1726676954000, 0.018204450607299805],
+ [1726677854000, 0.09151966124773026],
+ [1726678754000, 0.03690776973962784],
+ [1726679654000, 0.018204450607299805],
+ [1726680554000, 0.04613375663757324],
+ [1726681454000, 0.12792810797691345],
+ [1726682354000, 0.10922694206237793],
+ [1726683254000, 0.018204689025878906],
+ [1726684154000, 0.018204689025878906],
+ [1726685054000, 0.0182037353515625],
+ [1726685954000, 0.018204689025878906],
+ [1726686854000, 0.018204689025878906],
+ [1726687754000, 0.0182037353515625],
+ [1726689554000, 0.03640937805175781],
+ [1726690454000, 0.036408185958862305],
+ [1726691354000, 0.018205642700195312],
+ [1726693154000, 0.0182037353515625],
+ [1726694054000, 0.03640937805175781],
+ [1726694954000, 0.0182037353515625],
+ [1726696754000, 0.018204689025878906],
+ [1726697654000, 0.03640913963317871],
+ [1726698554000, 0.018204689025878906],
+ [1726699454000, 0.0182037353515625],
+ [1726700354000, 0.018204689025878906],
+ [1726701254000, 0.018204689025878906],
+ [1726703054000, 0.036409080028533936],
+ [1726703954000, 0.036408424377441406],
+ [1726705754000, 0.018204689025878906],
+ [1726706654000, 0.018204689025878906],
+ [1726718354000, 0.0182037353515625],
+ [1726719254000, 0.018204450607299805],
+ [1726720154000, 0.018205642700195312],
+ [1726721054000, 0.0182037353515625],
+ [1726721954000, 0.0182037353515625],
+ [1726722854000, 0.018205642700195312],
+ [1726723754000, 0.03640824556350708],
+ [1726725554000, 0.0182037353515625],
+ [1726757954000, 0.07306747138500214],
+ [1726758854000, 0.06408871710300446],
+ [1726759754000, 0.10049815475940704],
+ [1726760654000, 0.0004974365001544356],
+ [1726761554000, 0.03690753132104874],
+ [1726762454000, 0.05511031299829483],
+ [1726763354000, 0.09151969105005264],
+ [1726764254000, 0.01820439100265503],
+ [1726765154000, 0.0279272198677063],
+ [1726766054000, 0.10972438007593155],
+ [1726766954000, 0.027929961681365967],
+ [1726767854000, 0.04613381624221802],
+ [1726768754000, 0.05461311340332031],
+ [1726769654000, 0.018205642700195312],
+ [1726770554000, 0.018201828002929688],
+ [1726771454000, 0.03641003370285034],
+ [1726772354000, 0.018205642700195312],
+ [1726773254000, 0.018201828002929688],
+ [1726774154000, 0.018205642700195312],
+ [1726775054000, 0.018205642700195312],
+ [1726775954000, 0.0182037353515625],
+ [1726776854000, 0.0182037353515625],
+ [1726777754000, 0.018205642700195312],
+ [1726778654000, 0.0182037353515625],
+ [1726780454000, 0.018205642700195312],
+ [1726781354000, 0.0182037353515625],
+ [1726782254000, 0.0182037353515625],
+ [1726783154000, 0.018205642700195312],
+ [1726784054000, 0.036408185958862305],
+ [1726785854000, 0.018205642700195312],
+ [1726786754000, 0.036407470703125],
+ [1726788554000, 0.018205642700195312],
+ [1726789454000, 0.036408185958862305],
+ [1726790354000, 0.018205642700195312],
+ [1726791254000, 0.0182037353515625],
+ [1726792154000, 0.0182037353515625],
+ [1726804754000, 0.018205642700195312],
+ [1726805654000, 0.0182037353515625],
+ [1726806554000, 0.03641009330749512],
+ [1726807454000, 0.0182037353515625],
+ [1726808354000, 0.0182037353515625],
+ [1726809254000, 0.018205642700195312],
+ [1726811054000, 0.0182037353515625],
+ [1726811954000, 0.018204450607299805],
+ [1726813754000, 0.0182037353515625],
+ [1726844354000, 0.036660004407167435],
+ [1726845254000, 0.08229251205921173],
+ [1726846154000, 0.009476852603256702],
+ [1726847054000, 0.01820439100265503],
+ [1726847954000, 0.0369056835770607],
+ [1726848854000, 0.09151867777109146],
+ [1726849754000, 0.04613375663757324],
+ [1726850654000, 0.04613375663757324],
+ [1726851554000, 0.027930021286010742],
+ [1726852454000, 0.02792811393737793],
+ [1726853354000, 0.04613375663757324],
+ [1726854254000, 0.02792811393737793],
+ [1726855154000, 0.07281684875488281],
+ [1726856054000, 0.018205642700195312],
+ [1726856954000, 0.036408066749572754],
+ [1726857854000, 0.018205642700195312],
+ [1726858754000, 0.0182037353515625],
+ [1726859654000, 0.0182037353515625],
+ [1726860554000, 0.018205642700195312],
+ [1726861454000, 0.0182037353515625],
+ [1726863254000, 0.018205642700195312],
+ [1726864154000, 0.036407470703125],
+ [1726865054000, 0.018205642700195312],
+ [1726866854000, 0.0182037353515625],
+ [1726867754000, 0.0182037353515625]],
+ 'Gc': [[1726276454000, 0.10000000149011612],
+ [1726281854000, 0.10000000149011612],
+ [1726317854000, 0.10000000149011612],
+ [1726366454000, 0.10000000149011612],
+ [1726371854000, 0.10000000149011612],
+ [1726451054000, 0.10000000149011612],
+ [1726456454000, 0.10000000149011612],
+ [1726495154000, 0.10000000149011612],
+ [1726510454000, 0.10000000149011612],
+ [1726539254000, 0.10000000149011612],
+ [1726543754000, 0.10000000149011612],
+ [1726624754000, 0.10000000149011612],
+ [1726630154000, 0.10000000149011612],
+ [1726710254000, 0.10000000149011612],
+ [1726715654000, 0.10000000149011612],
+ [1726794854000, 0.10000000149011612],
+ [1726800254000, 0.10000000149011612],
+ [1726822754000, 0.0905250534415245]],
+ 'Pb': [[1726294454000, 0.07281494140625], [1726295354000, 0.1820526123046875],
+ [1726296254000, 0.20000000298023224],
+ [1726297154000, 0.3276824951171875],
+ [1726298054000, 0.20000000298023224], [1726298954000, 0.34588623046875],
+ [1726299854000, 0.382293701171875], [1726300754000, 0.4004974365234375],
+ [1726301654000, 0.418701171875], [1726302554000, 0.4004974365234375],
+ [1726303454000, 0.418701171875], [1726304354000, 0.4004974365234375],
+ [1726305254000, 0.418701171875], [1726306154000, 0.4004974365234375],
+ [1726307054000, 0.4187164306640625],
+ [1726307954000, 0.4004974365234375],
+ [1726308854000, 0.3458709716796875], [1726309754000, 0.309478759765625],
+ [1726310654000, 0.3640899658203125],
+ [1726311554000, 0.2184600830078125], [1726312454000, 0.1456298828125],
+ [1726313354000, 0.1638336181640625],
+ [1726314254000, 0.1820526123046875],
+ [1726315154000, 0.2912750244140625], [1726316054000, 0.182037353515625],
+ [1726316954000, 0.20025634765625], [1726317854000, 0.291259765625],
+ [1726318754000, 0.091033935546875], [1726319654000, 0.0182037353515625],
+ [1726325054000, 0.0182037353515625], [1726380854000, 0.07281494140625],
+ [1726381754000, 0.1638336181640625],
+ [1726382654000, 0.20000000298023224],
+ [1726383554000, 0.2912750244140625],
+ [1726384454000, 0.3640899658203125],
+ [1726385354000, 0.3640899658203125],
+ [1726386254000, 0.2366485595703125],
+ [1726387154000, 0.30000001192092896],
+ [1726388054000, 0.4004974365234375], [1726388954000, 0.418701171875],
+ [1726389854000, 0.4004974365234375], [1726390754000, 0.418701171875],
+ [1726391654000, 0.4004974365234375],
+ [1726392554000, 0.2184600830078125],
+ [1726393454000, 0.1638336181640625],
+ [1726394354000, 0.4004974365234375], [1726395254000, 0.34588623046875],
+ [1726396154000, 0.309478759765625], [1726397054000, 0.382293701171875],
+ [1726397954000, 0.382293701171875], [1726398854000, 0.3276824951171875],
+ [1726399754000, 0.418701171875], [1726400654000, 0.3640899658203125],
+ [1726401554000, 0.3094635009765625],
+ [1726402454000, 0.0364227294921875],
+ [1726403354000, 0.0182037353515625],
+ [1726404254000, 0.0182037353515625],
+ [1726470854000, 0.0182037353515625],
+ [1726472654000, 0.0910186767578125],
+ [1726473554000, 0.1820526123046875],
+ [1726474454000, 0.4004974365234375],
+ [1726475354000, 0.4004974365234375], [1726476254000, 0.400482177734375],
+ [1726477154000, 0.4187164306640625],
+ [1726478054000, 0.4004974365234375],
+ [1726478954000, 0.4004974365234375], [1726479854000, 0.418701171875],
+ [1726480754000, 0.4004974365234375], [1726481654000, 0.418701171875],
+ [1726482554000, 0.3276824951171875],
+ [1726483454000, 0.4004974365234375], [1726484354000, 0.418701171875],
+ [1726485254000, 0.327667236328125], [1726486154000, 0.418701171875],
+ [1726487054000, 0.34588623046875], [1726487954000, 0.4004974365234375],
+ [1726488854000, 0.2730712890625], [1726489754000, 0.4004974365234375],
+ [1726490654000, 0.3640899658203125], [1726491554000, 0.382293701171875],
+ [1726492454000, 0.2002410888671875],
+ [1726493354000, 0.1092376708984375],
+ [1726494254000, 0.0182037353515625],
+ [1726497854000, 0.0182037353515625],
+ [1726501454000, 0.0182037353515625],
+ [1726553654000, 0.10000000149011612],
+ [1726554554000, 0.20000000298023224],
+ [1726555454000, 0.2730666995048523],
+ [1726556354000, 0.30947554111480713],
+ [1726557254000, 0.21845322847366333],
+ [1726558154000, 0.018204569816589355],
+ [1726559054000, 0.018204450607299805],
+ [1726567154000, 0.018204450607299805],
+ [1726574354000, 0.018204450607299805],
+ [1726576154000, 0.018204331398010254],
+ [1726578854000, 0.018204450607299805],
+ [1726580654000, 0.018204450607299805],
+ [1726583354000, 0.018204569816589355],
+ [1726640954000, 0.09102225303649902],
+ [1726642754000, 0.018204450607299805],
+ [1726644554000, 0.07281768321990967],
+ [1726645454000, 0.09102225303649902],
+ [1726646354000, 0.2184532880783081],
+ [1726647254000, 0.30000001192092896],
+ [1726648154000, 0.4004976749420166],
+ [1726649054000, 0.4004979133605957],
+ [1726649954000, 0.4004979133605957],
+ [1726650854000, 0.3822929859161377],
+ [1726651754000, 0.4004983901977539],
+ [1726652654000, 0.4004974365234375],
+ [1726653554000, 0.4187021255493164],
+ [1726654454000, 0.4004979133605957],
+ [1726655354000, 0.4187021255493164],
+ [1726656254000, 0.4004974365234375],
+ [1726657154000, 0.4187021255493164],
+ [1726658054000, 0.4004983901977539],
+ [1726658954000, 0.4187021255493164],
+ [1726659854000, 0.4004974365234375],
+ [1726660754000, 0.4004974365234375],
+ [1726661654000, 0.4004983901977539],
+ [1726662554000, 0.3640890121459961],
+ [1726663454000, 0.3458843231201172],
+ [1726664354000, 0.07281780242919922],
+ [1726666154000, 0.018204689025878906],
+ [1726728254000, 0.018204689025878906],
+ [1726730054000, 0.05461311340332031],
+ [1726730954000, 0.05461311340332031],
+ [1726731854000, 0.10000000149011612],
+ [1726732754000, 0.16384029388427734],
+ [1726733654000, 0.20000000298023224],
+ [1726734554000, 0.3276796340942383],
+ [1726735454000, 0.3276796340942383],
+ [1726736354000, 0.3276805877685547],
+ [1726737254000, 0.3458833694458008], [1726738154000, 0.382293701171875],
+ [1726739054000, 0.4004974365234375],
+ [1726739954000, 0.4187021255493164],
+ [1726740854000, 0.4004983901977539],
+ [1726741754000, 0.4187021255493164],
+ [1726742654000, 0.4004974365234375],
+ [1726743554000, 0.4187021255493164],
+ [1726744454000, 0.4004983901977539],
+ [1726745354000, 0.4004974365234375], [1726746254000, 0.382293701171875],
+ [1726747154000, 0.4187021255493164], [1726748054000, 0.382293701171875],
+ [1726748954000, 0.382293701171875], [1726749854000, 0.3276786804199219],
+ [1726750754000, 0.3094749450683594],
+ [1726751654000, 0.2912712097167969],
+ [1726752554000, 0.14563751220703125],
+ [1726753454000, 0.018201828002929688],
+ [1726754354000, 0.018205642700195312],
+ [1726814654000, 0.09102249145507812],
+ [1726815554000, 0.10000000149011612],
+ [1726816454000, 0.18204498291015625],
+ [1726817354000, 0.23665618896484375],
+ [1726818254000, 0.2912712097167969],
+ [1726819154000, 0.30000001192092896],
+ [1726820054000, 0.2912712097167969],
+ [1726820954000, 0.2912712097167969],
+ [1726821854000, 0.2912712097167969],
+ [1726822754000, 0.30000001192092896],
+ [1726823654000, 0.2730674743652344],
+ [1726824554000, 0.14563560485839844],
+ [1726825454000, 0.10000000149011612],
+ [1726826354000, 0.05461311340332031],
+ [1726827254000, 0.25486183166503906],
+ [1726828154000, 0.2548637390136719],
+ [1726829054000, 0.20000000298023224],
+ [1726829954000, 0.14563560485839844],
+ [1726830854000, 0.10000000149011612],
+ [1726831754000, 0.09102249145507812],
+ [1726832654000, 0.10000000149011612],
+ [1726833554000, 0.14563560485839844],
+ [1726834454000, 0.14563560485839844],
+ [1726835354000, 0.20024871826171875],
+ [1726836254000, 0.382293701171875],
+ [1726837154000, 0.23665809631347656],
+ [1726838054000, 0.18204498291015625],
+ [1726838954000, 0.25486183166503906],
+ [1726839854000, 0.23665809631347656],
+ [1726840754000, 0.20024871826171875],
+ [1726841654000, 0.18204307556152344],
+ [1726842554000, 0.18204498291015625],
+ [1726843454000, 0.18204498291015625],
+ [1726844354000, 0.0182037353515625]],
+ 'Pc': [[1726294454000, 0.02718505822122097],
+ [1726295354000, 0.01794738695025444],
+ [1726296254000, 0.01796264573931694],
+ [1726297154000, 0.07231750339269638],
+ [1726298054000, 0.01796264573931694],
+ [1726298954000, 0.05411376804113388],
+ [1726299854000, 0.117706298828125], [1726300754000, 0.0995025634765625],
+ [1726301654000, 0.081298828125], [1726302554000, 0.03591003268957138],
+ [1726303454000, 0.081298828125], [1726304354000, 0.0995025634765625],
+ [1726305254000, 0.07231750339269638],
+ [1726306154000, 0.0995025634765625],
+ [1726307054000, 0.0812835693359375],
+ [1726307954000, 0.0995025634765625],
+ [1726308854000, 0.05412902683019638],
+ [1726309754000, 0.09052123874425888],
+ [1726310654000, 0.03591003268957138],
+ [1726311554000, 0.18153992295265198],
+ [1726312454000, 0.05437011644244194],
+ [1726313354000, 0.03616638109087944],
+ [1726314254000, 0.01794738695025444],
+ [1726315154000, 0.008724975399672985],
+ [1726316054000, 0.11796264350414276],
+ [1726316954000, 0.01794738695025444],
+ [1726317854000, 0.10874023288488388],
+ [1726318754000, 0.00896606408059597],
+ [1726319654000, 0.10000000149011612],
+ [1726320554000, 0.10000000149011612],
+ [1726321454000, 1.8118839761882555e-13],
+ [1726322354000, 0.20000000298023224],
+ [1726323254000, 1.829647544582258e-13],
+ [1726324154000, 0.10000000149011612],
+ [1726325954000, 5.453415496958769e-13],
+ [1726380854000, 0.02718505822122097],
+ [1726381754000, 0.03616638109087944],
+ [1726383554000, 0.008724975399672985],
+ [1726384454000, 0.03591003268957138],
+ [1726385354000, 0.03591003268957138],
+ [1726386254000, 0.06335143744945526],
+ [1726387154000, 0.02692871168255806],
+ [1726388054000, 0.01770629920065403], [1726388954000, 0.081298828125],
+ [1726389854000, 0.01770629920065403], [1726390754000, 0.081298828125],
+ [1726391654000, 0.0995025634765625],
+ [1726392554000, 0.08153991401195526],
+ [1726393454000, 0.03616638109087944],
+ [1726394354000, 0.0995025634765625], [1726395254000, 0.15411376953125],
+ [1726396154000, 0.02692871168255806],
+ [1726397054000, 0.117706298828125],
+ [1726397954000, 0.01770629920065403],
+ [1726398854000, 0.1723175048828125],
+ [1726399754000, 0.03616638109087944],
+ [1726400654000, 0.03591003268957138],
+ [1726401554000, 0.09053649753332138],
+ [1726402454000, 0.16357727348804474],
+ [1726403354000, 0.08179626613855362],
+ [1726404254000, 0.08179626613855362],
+ [1726405154000, 0.10000000149011612],
+ [1726406054000, 1.8118839761882555e-13],
+ [1726406954000, 0.10000000149011612],
+ [1726407854000, 0.10000000149011612],
+ [1726408754000, 0.10000000149011612],
+ [1726409654000, 0.10000000149011612],
+ [1726410554000, 0.10000000149011612],
+ [1726411454000, 0.10000000149011612],
+ [1726419554000, 5.471179065352771e-13],
+ [1726470854000, 0.08179626613855362],
+ [1726472654000, 0.00898132286965847],
+ [1726473554000, 0.01794738695025444],
+ [1726474454000, 0.0995025634765625],
+ [1726476254000, 0.03592529147863388],
+ [1726477154000, 0.0812835693359375],
+ [1726478054000, 0.0995025634765625],
+ [1726478954000, 0.0995025634765625], [1726479854000, 0.081298828125],
+ [1726480754000, 0.19950255751609802],
+ [1726481654000, 0.01770629920065403],
+ [1726482554000, 0.272317498922348], [1726483454000, 0.0995025634765625],
+ [1726484354000, 0.081298828125], [1726485254000, 0.07233276218175888],
+ [1726486154000, 0.081298828125], [1726487054000, 0.15411376953125],
+ [1726487954000, 0.19950255751609802],
+ [1726488854000, 0.12692871689796448],
+ [1726489754000, 0.0995025634765625],
+ [1726490654000, 0.03591003268957138],
+ [1726491554000, 0.117706298828125],
+ [1726492454000, 0.19975891709327698],
+ [1726494254000, 0.08179626613855362],
+ [1726495154000, 0.10000000149011612],
+ [1726496054000, 7.265299473147024e-13],
+ [1726496954000, 0.10000000149011612],
+ [1726497854000, 0.08179626613855362],
+ [1726498754000, 0.10000000149011612],
+ [1726499654000, 1.8118839761882555e-13],
+ [1726500554000, 0.10000000149011612],
+ [1726501454000, 5.453415496958769e-13],
+ [1726502354000, 0.10000000149011612],
+ [1726504154000, 0.10000000149011612],
+ [1726508654000, 0.10000000149011612],
+ [1726553654000, 0.008977776393294334],
+ [1726554554000, 0.017955545336008072],
+ [1726555454000, 0.026933301240205765],
+ [1726556354000, 0.09052445739507675],
+ [1726558154000, 0.08179543167352676],
+ [1726559054000, 1.8185453143360064e-13],
+ [1726559954000, 0.10000000149011612],
+ [1726560854000, 0.10000000149011612],
+ [1726561754000, 3.6415315207705135e-13],
+ [1726562654000, 5.46229728115577e-13],
+ [1726563554000, 0.10000000149011612],
+ [1726564454000, 1.8207657603852567e-13],
+ [1726565354000, 0.10000000149011612],
+ [1726567154000, 0.08179555088281631],
+ [1726568054000, 0.10000000149011612],
+ [1726568954000, 5.471179065352771e-13],
+ [1726569854000, 0.10000000149011612],
+ [1726571654000, 0.10000000149011612],
+ [1726572554000, 0.10000000149011612],
+ [1726573454000, 3.6415315207705135e-13],
+ [1726574354000, 0.08179555088281631],
+ [1726575254000, 0.10000000149011612],
+ [1726576154000, 0.08179567009210587],
+ [1726577054000, 0.20000000298023224],
+ [1726577954000, 0.10000000149011612],
+ [1726578854000, 0.08179555088281631],
+ [1726579754000, 0.10000000149011612],
+ [1726580654000, 0.08179555088281631],
+ [1726581554000, 0.10000000149011612],
+ [1726582454000, 0.10000000149011612],
+ [1726583354000, 0.08179543167352676],
+ [1726584254000, 0.10000000149011612],
+ [1726585154000, 1.8118839761882555e-13],
+ [1726640954000, 0.10897774994373322],
+ [1726642754000, 0.08179555088281631],
+ [1726644554000, 0.027182316407561302],
+ [1726645454000, 0.008977746590971947],
+ [1726646354000, 0.08154670894145966],
+ [1726647254000, 0.02693324163556099],
+ [1726648154000, 0.19950231909751892],
+ [1726649954000, 0.017706776037812233],
+ [1726650854000, 0.017707014456391335],
+ [1726651754000, 0.0995016098022461],
+ [1726652654000, 0.03591146320104599],
+ [1726653554000, 0.0995025634765625],
+ [1726654454000, 0.0995020866394043],
+ [1726655354000, 0.0812978744506836],
+ [1726656254000, 0.03591098636388779],
+ [1726657154000, 0.0812978744506836],
+ [1726658054000, 0.0995016098022461],
+ [1726658954000, 0.0812978744506836],
+ [1726659854000, 0.0995025634765625],
+ [1726660754000, 0.0995025634765625],
+ [1726661654000, 0.0995016098022461],
+ [1726662554000, 0.1359109878540039],
+ [1726663454000, 0.05411567538976669],
+ [1726664354000, 0.02718219719827175],
+ [1726665254000, 0.10000000149011612],
+ [1726666154000, 0.08179531246423721],
+ [1726667054000, 0.10000000149011612],
+ [1726667954000, 0.10000000149011612],
+ [1726668854000, 0.10000000149011612],
+ [1726669754000, 0.20000000298023224],
+ [1726670654000, 1.8118839761882555e-13],
+ [1726672454000, 0.10000000149011612],
+ [1726728254000, 0.08179531246423721],
+ [1726730054000, 0.04538688808679581],
+ [1726730954000, 0.04538688808679581],
+ [1726731854000, 0.008977508172392845],
+ [1726732754000, 0.0361597053706646],
+ [1726733654000, 0.01795501634478569],
+ [1726734554000, 0.04538688808679581],
+ [1726735454000, 0.0723203644156456],
+ [1726736354000, 0.00872879009693861],
+ [1726737254000, 0.0541166290640831],
+ [1726738154000, 0.05411472171545029],
+ [1726739054000, 0.0995025634765625],
+ [1726739954000, 0.0812978744506836],
+ [1726740854000, 0.05411472171545029],
+ [1726741754000, 0.017707252874970436],
+ [1726742654000, 0.0995025634765625],
+ [1726743554000, 0.01770629920065403],
+ [1726744454000, 0.0995016098022461],
+ [1726745354000, 0.0995025634765625], [1726746254000, 0.117706298828125],
+ [1726747154000, 0.0812978744506836], [1726748054000, 0.117706298828125],
+ [1726748954000, 0.01770629920065403],
+ [1726749854000, 0.17232131958007812],
+ [1726750754000, 0.0905250534415245],
+ [1726751654000, 0.00872879009693861],
+ [1726752554000, 0.1543624848127365],
+ [1726753454000, 0.08179817348718643],
+ [1726754354000, 0.18179436028003693],
+ [1726755254000, 1.8118839761882555e-13],
+ [1726756154000, 0.10000000149011612],
+ [1726757054000, 1.8118839761882555e-13],
+ [1726757954000, 1.829647544582258e-13],
+ [1726758854000, 5.453415496958769e-13],
+ [1726759754000, 5.453415496958769e-13],
+ [1726814654000, 0.10897751152515411],
+ [1726815554000, 0.008977508172392845],
+ [1726816454000, 0.01795501634478569],
+ [1726817354000, 0.06334380805492401],
+ [1726818254000, 0.00872879009693861],
+ [1726819154000, 0.008726882748305798],
+ [1726820054000, 0.108728788793087],
+ [1726820954000, 0.00872879009693861],
+ [1726821854000, 0.00872879009693861],
+ [1726822754000, 0.008726882748305798],
+ [1726823654000, 0.026932526379823685],
+ [1726824554000, 0.0543643943965435],
+ [1726825454000, 0.008977508172392845],
+ [1726826354000, 0.04538688808679581],
+ [1726827254000, 0.045138169080019],
+ [1726828154000, 0.045136261731386185],
+ [1726829054000, 0.017956923693418503],
+ [1726829954000, 0.0543643943965435],
+ [1726830854000, 0.008977508172392845],
+ [1726831754000, 0.008977508172392845],
+ [1726832654000, 0.008977508172392845],
+ [1726833554000, 0.0543643943965435],
+ [1726834454000, 0.0543643943965435],
+ [1726835354000, 0.09975127875804901],
+ [1726836254000, 0.01770629920065403],
+ [1726837154000, 0.0633419007062912],
+ [1726838054000, 0.11795501410961151],
+ [1726838954000, 0.045138169080019], [1726839854000, 0.0633419007062912],
+ [1726840754000, 0.09975127875804901],
+ [1726841654000, 0.017956923693418503],
+ [1726842554000, 0.11795501410961151],
+ [1726843454000, 0.11795501410961151]],
+ 'Pg': [[1726302554000, 0.0995025634765625],
+ [1726303454000, 0.10000000149011612],
+ [1726304354000, 0.10000000149011612],
+ [1726305254000, 0.18129882216453552],
+ [1726306154000, 0.19950255751609802],
+ [1726307054000, 0.10000000149011612],
+ [1726307954000, 0.20000000298023224],
+ [1726308854000, 0.10000000149011612],
+ [1726309754000, 0.10000000149011612],
+ [1726310654000, 0.20000000298023224],
+ [1726315154000, 0.10000000149011612],
+ [1726316954000, 0.09974364936351776],
+ [1726318754000, 0.4000000059604645],
+ [1726319654000, 0.28179627656936646],
+ [1726320554000, 0.4000000059604645],
+ [1726321454000, 0.20000000298023224],
+ [1726322354000, 0.20000000298023224],
+ [1726323254000, 0.20000000298023224],
+ [1726324154000, 0.30000001192092896],
+ [1726325054000, 0.28179627656936646],
+ [1726325954000, 0.20000000298023224],
+ [1726326854000, 0.20000000298023224],
+ [1726327754000, 0.20000000298023224],
+ [1726328654000, 0.10000000149011612],
+ [1726329554000, 0.20000000298023224],
+ [1726330454000, 0.10000000149011612],
+ [1726332254000, 0.10000000149011612],
+ [1726335854000, 0.10000000149011612],
+ [1726388054000, 0.0995025634765625],
+ [1726389854000, 0.0995025634765625],
+ [1726390754000, 0.10000000149011612],
+ [1726391654000, 0.10000000149011612],
+ [1726392554000, 0.10000000149011612],
+ [1726394354000, 0.20000000298023224],
+ [1726395254000, 0.10000000149011612],
+ [1726396154000, 0.09052123874425888], [1726399754000, 0.081298828125],
+ [1726401554000, 0.10000000149011612],
+ [1726402454000, 0.30000001192092896],
+ [1726403354000, 0.30000001192092896],
+ [1726404254000, 0.20000000298023224],
+ [1726405154000, 0.20000000298023224],
+ [1726406054000, 0.20000000298023224],
+ [1726406954000, 0.20000000298023224],
+ [1726407854000, 0.10000000149011612],
+ [1726408754000, 0.10000000149011612],
+ [1726412354000, 0.10000000149011612],
+ [1726413254000, 0.10000000149011612],
+ [1726414154000, 0.10000000149011612],
+ [1726415054000, 0.10000000149011612],
+ [1726416854000, 0.10000000149011612],
+ [1726417754000, 0.10000000149011612],
+ [1726419554000, 0.10000000149011612],
+ [1726421354000, 0.10000000149011612],
+ [1726474454000, 0.10000000149011612],
+ [1726475354000, 0.0995025634765625], [1726476254000, 0.099517822265625],
+ [1726477154000, 0.10000000149011612],
+ [1726478054000, 0.10000000149011612],
+ [1726478954000, 0.10000000149011612],
+ [1726479854000, 0.10000000149011612],
+ [1726480754000, 0.10000000149011612],
+ [1726481654000, 0.18129882216453552],
+ [1726483454000, 0.10000000149011612],
+ [1726484354000, 0.10000000149011612],
+ [1726485254000, 0.10000000149011612],
+ [1726486154000, 0.10000000149011612],
+ [1726487054000, 0.10000000149011612],
+ [1726488854000, 0.10000000149011612],
+ [1726493354000, 0.19076232612133026],
+ [1726494254000, 0.28179627656936646],
+ [1726495154000, 0.10000000149011612],
+ [1726496054000, 0.30000001192092896],
+ [1726496954000, 0.20000000298023224],
+ [1726497854000, 0.18179626762866974],
+ [1726498754000, 0.20000000298023224],
+ [1726499654000, 0.20000000298023224],
+ [1726500554000, 0.10000000149011612],
+ [1726501454000, 0.08179626613855362],
+ [1726503254000, 0.10000000149011612],
+ [1726557254000, 0.08154676854610443],
+ [1726558154000, 0.4000000059604645],
+ [1726559054000, 0.3817955553531647], [1726559954000, 0.5],
+ [1726560854000, 0.5], [1726561754000, 0.5],
+ [1726562654000, 0.6000000238418579], [1726563554000, 0.5],
+ [1726564454000, 0.6000000238418579],
+ [1726565354000, 0.6000000238418579],
+ [1726566254000, 0.6000000238418579],
+ [1726567154000, 0.5817955732345581],
+ [1726568054000, 0.6000000238418579],
+ [1726568954000, 0.6000000238418579], [1726569854000, 0.5],
+ [1726570754000, 0.6000000238418579], [1726571654000, 0.5],
+ [1726572554000, 0.5], [1726573454000, 0.5],
+ [1726574354000, 0.4817955493927002], [1726575254000, 0.5],
+ [1726576154000, 0.3817956745624542],
+ [1726577054000, 0.30000001192092896],
+ [1726577954000, 0.4000000059604645],
+ [1726578854000, 0.30000001192092896],
+ [1726579754000, 0.30000001192092896],
+ [1726580654000, 0.20000000298023224],
+ [1726581554000, 0.30000001192092896],
+ [1726582454000, 0.20000000298023224],
+ [1726583354000, 0.18179543316364288],
+ [1726584254000, 0.20000000298023224],
+ [1726585154000, 0.20000000298023224],
+ [1726586054000, 0.20000000298023224],
+ [1726586954000, 0.20000000298023224],
+ [1726587854000, 0.10000000149011612],
+ [1726588754000, 0.10000000149011612],
+ [1726589654000, 0.10000000149011612],
+ [1726590554000, 0.10000000149011612],
+ [1726593254000, 0.10000000149011612],
+ [1726649054000, 0.0995020866394043],
+ [1726649954000, 0.0995020866394043],
+ [1726650854000, 0.10000000149011612],
+ [1726651754000, 0.10000000149011612],
+ [1726652654000, 0.19950255751609802],
+ [1726653554000, 0.18129786849021912],
+ [1726654454000, 0.10000000149011612],
+ [1726655354000, 0.10000000149011612],
+ [1726656254000, 0.0995025634765625],
+ [1726657154000, 0.10000000149011612],
+ [1726664354000, 0.30000001192092896],
+ [1726665254000, 0.30000001192092896],
+ [1726666154000, 0.20000000298023224],
+ [1726667054000, 0.20000000298023224],
+ [1726667954000, 0.30000001192092896],
+ [1726668854000, 0.20000000298023224],
+ [1726669754000, 0.10000000149011612],
+ [1726670654000, 0.20000000298023224],
+ [1726671554000, 0.20000000298023224],
+ [1726672454000, 0.20000000298023224],
+ [1726673354000, 0.10000000149011612],
+ [1726674254000, 0.10000000149011612],
+ [1726675154000, 0.10000000149011612],
+ [1726676054000, 0.10000000149011612],
+ [1726677854000, 0.10000000149011612],
+ [1726681454000, 0.10000000149011612],
+ [1726734554000, 0.0723203644156456],
+ [1726736354000, 0.0723194107413292], [1726738154000, 0.117706298828125],
+ [1726739054000, 0.10000000149011612],
+ [1726739954000, 0.10000000149011612],
+ [1726740854000, 0.19950160384178162],
+ [1726741754000, 0.0812978744506836],
+ [1726742654000, 0.10000000149011612],
+ [1726743554000, 0.0812978744506836],
+ [1726752554000, 0.10000000149011612],
+ [1726753454000, 0.28179818391799927],
+ [1726754354000, 0.10000000149011612],
+ [1726755254000, 0.20000000298023224],
+ [1726756154000, 0.20000000298023224],
+ [1726757054000, 0.20000000298023224],
+ [1726757954000, 0.20000000298023224],
+ [1726758854000, 0.20000000298023224],
+ [1726759754000, 0.20000000298023224],
+ [1726760654000, 0.10000000149011612],
+ [1726761554000, 0.10000000149011612],
+ [1726762454000, 0.10000000149011612],
+ [1726763354000, 0.10000000149011612],
+ [1726766054000, 0.10000000149011612],
+ [1726836254000, 0.10000000149011612],
+ [1726844354000, 0.18179626762866974],
+ [1726845254000, 0.20000000298023224],
+ [1726846154000, 0.10000000149011612],
+ [1726847054000, 0.10000000149011612],
+ [1726847954000, 0.10000000149011612],
+ [1726848854000, 0.10000000149011612]],
+ 'Gb': [[1726317854000, 0.00922241248190403],
+ [1726822754000, 0.00947494525462389]],
+ 'Bg': [[1726325954000, 0.20000000298023224],
+ [1726326854000, 0.30000001192092896],
+ [1726327754000, 0.30000001192092896],
+ [1726328654000, 0.3640899658203125],
+ [1726329554000, 0.30000001192092896],
+ [1726330454000, 0.4000000059604645], [1726331354000, 0.455108642578125],
+ [1726332254000, 0.4000000059604645], [1726333154000, 0.49151611328125],
+ [1726334054000, 0.5], [1726334954000, 0.49151611328125],
+ [1726335854000, 0.4000000059604645], [1726336754000, 0.07281494140625],
+ [1726412354000, 0.34588623046875], [1726413254000, 0.4000000059604645],
+ [1726414154000, 0.4000000059604645],
+ [1726415054000, 0.4000000059604645], [1726415954000, 0.455108642578125],
+ [1726416854000, 0.4000000059604645],
+ [1726417754000, 0.4000000059604645], [1726418654000, 0.47332763671875],
+ [1726419554000, 0.4000000059604645],
+ [1726420454000, 0.4733123779296875],
+ [1726421354000, 0.4000000059604645], [1726422254000, 0.5],
+ [1726585154000, 0.20000000298023224],
+ [1726586054000, 0.30000001192092896],
+ [1726586954000, 0.30000001192092896],
+ [1726587854000, 0.36408889293670654],
+ [1726588754000, 0.4000000059604645],
+ [1726589654000, 0.4000000059604645],
+ [1726590554000, 0.4000000059604645],
+ [1726591454000, 0.4915199279785156], [1726592354000, 0.5],
+ [1726593254000, 0.4000000059604645], [1726594154000, 0.5],
+ [1726595054000, 0.5], [1726595954000, 0.07281780242919922],
+ [1726671554000, 0.27306699752807617],
+ [1726672454000, 0.30000001192092896],
+ [1726673354000, 0.4000000059604645],
+ [1726674254000, 0.4000000059604645],
+ [1726675154000, 0.4000000059604645],
+ [1726676054000, 0.4000000059604645],
+ [1726676954000, 0.4551105499267578],
+ [1726677854000, 0.4000000059604645],
+ [1726678754000, 0.49152088165283203],
+ [1726679654000, 0.4915199279785156], [1726680554000, 0.5],
+ [1726681454000, 0.4000000059604645],
+ [1726757954000, 0.20000000298023224],
+ [1726758854000, 0.30000001192092896],
+ [1726759754000, 0.30000001192092896],
+ [1726760654000, 0.4000000059604645],
+ [1726761554000, 0.4000000059604645],
+ [1726762454000, 0.4000000059604645],
+ [1726763354000, 0.4000000059604645],
+ [1726764254000, 0.49152088165283203], [1726765154000, 0.5],
+ [1726766054000, 0.4000000059604645], [1726766954000, 0.5],
+ [1726767854000, 0.5], [1726779554000, 0.0182037353515625],
+ [1726844354000, 0.21820373833179474],
+ [1726845254000, 0.30000001192092896],
+ [1726846154000, 0.3822917938232422],
+ [1726847054000, 0.3822956085205078],
+ [1726847954000, 0.4000000059604645],
+ [1726848854000, 0.4000000059604645], [1726849754000, 0.5],
+ [1726850654000, 0.5], [1726851554000, 0.5], [1726852454000, 0.5],
+ [1726853354000, 0.5], [1726854254000, 0.5]],
+ 'kwh': [[1726263854000, 0.0181884765625], [1726264754000, 0.018218994140625],
+ [1726265654000, 0.0182037353515625],
+ [1726266554000, 0.036408424377441406],
+ [1726268354000, 0.0182037353515625],
+ [1726269254000, 0.0182037353515625],
+ [1726270154000, 0.0182037353515625],
+ [1726271954000, 0.036408424377441406],
+ [1726272854000, 0.0182037353515625],
+ [1726273754000, 0.0182037353515625],
+ [1726274654000, 0.0182037353515625],
+ [1726276454000, 0.10000000149011612],
+ [1726281854000, 0.10000000149011612],
+ [1726286354000, 0.0182037353515625],
+ [1726287254000, 0.018204212188720703],
+ [1726288154000, 0.0182037353515625],
+ [1726289054000, 0.0182037353515625],
+ [1726289954000, 0.0182037353515625],
+ [1726290854000, 0.0182037353515625],
+ [1726292654000, 0.0182037353515625],
+ [1726294454000, 0.09999999962747097],
+ [1726295354000, 0.19999999925494194],
+ [1726296254000, 0.21796264871954918],
+ [1726297154000, 0.3999999985098839],
+ [1726298054000, 0.21796264871954918],
+ [1726298954000, 0.3999999985098839], [1726299854000, 0.5],
+ [1726300754000, 0.5], [1726301654000, 0.5],
+ [1726302554000, 0.5359100326895714],
+ [1726303454000, 0.6000000014901161],
+ [1726304354000, 0.6000000014901161],
+ [1726305254000, 0.6723174974322319],
+ [1726306154000, 0.699502557516098],
+ [1726307054000, 0.6000000014901161],
+ [1726307954000, 0.7000000029802322], [1726308854000, 0.5],
+ [1726309754000, 0.5], [1726310654000, 0.6000000014901161],
+ [1726311554000, 0.4000000059604645],
+ [1726312454000, 0.19999999925494194],
+ [1726313354000, 0.19999999925494194],
+ [1726314254000, 0.19999999925494194],
+ [1726315154000, 0.4000000013038516],
+ [1726316054000, 0.29999999701976776],
+ [1726316954000, 0.3179473839700222],
+ [1726317854000, 0.509222412481904],
+ [1726318754000, 0.5000000055879354],
+ [1726319654000, 0.4000000134110451],
+ [1726320554000, 0.5000000074505806],
+ [1726321454000, 0.20000000298041343],
+ [1726322354000, 0.4000000059604645],
+ [1726323254000, 0.2000000029804152],
+ [1726324154000, 0.4000000134110451],
+ [1726325054000, 0.31820422410964966],
+ [1726325954000, 0.4548675604170054],
+ [1726326854000, 0.5822946727275848],
+ [1726327754000, 0.5094787748530507],
+ [1726328654000, 0.4822946563363075],
+ [1726329554000, 0.6004979312419891],
+ [1726330454000, 0.5187011789530516],
+ [1726331354000, 0.4733128547668457],
+ [1726332254000, 0.6097208112478256],
+ [1726333154000, 0.5097203254699707],
+ [1726334054000, 0.5279397964477539],
+ [1726334954000, 0.5097208023071289],
+ [1726335854000, 0.6461273208260536],
+ [1726336754000, 0.0910196304321289],
+ [1726337654000, 0.0182037353515625],
+ [1726338554000, 0.0182037353515625],
+ [1726339454000, 0.018218994140625],
+ [1726340354000, 0.0182037353515625],
+ [1726342154000, 0.036407470703125],
+ [1726343954000, 0.0182037353515625],
+ [1726344854000, 0.0182037353515625],
+ [1726345754000, 0.0182037353515625],
+ [1726346654000, 0.036408424377441406],
+ [1726347554000, 0.0182037353515625],
+ [1726348454000, 0.0182037353515625],
+ [1726349354000, 0.0182037353515625],
+ [1726351154000, 0.0182037353515625],
+ [1726352054000, 0.036407470703125],
+ [1726352954000, 0.018204689025878906],
+ [1726353854000, 0.0182037353515625],
+ [1726354754000, 0.0182037353515625],
+ [1726356554000, 0.0182037353515625],
+ [1726357454000, 0.0182037353515625],
+ [1726358354000, 0.0364079475402832],
+ [1726360154000, 0.0182037353515625],
+ [1726361054000, 0.0182037353515625],
+ [1726366454000, 0.10000000149011612],
+ [1726371854000, 0.10000000149011612],
+ [1726372754000, 0.018218994140625],
+ [1726373654000, 0.0364079475402832],
+ [1726374554000, 0.0182037353515625],
+ [1726376354000, 0.0182037353515625],
+ [1726377254000, 0.0182037353515625],
+ [1726378154000, 0.036408424377441406],
+ [1726379054000, 0.0182037353515625],
+ [1726380854000, 0.09999999962747097],
+ [1726381754000, 0.19999999925494194],
+ [1726382654000, 0.20000000298023224],
+ [1726383554000, 0.2999999998137355],
+ [1726384454000, 0.3999999985098839],
+ [1726385354000, 0.3999999985098839],
+ [1726386254000, 0.29999999701976776],
+ [1726387154000, 0.326928723603487], [1726388054000, 0.517706299200654],
+ [1726388954000, 0.5], [1726389854000, 0.517706299200654],
+ [1726390754000, 0.6000000014901161],
+ [1726391654000, 0.6000000014901161],
+ [1726392554000, 0.3999999985098839],
+ [1726393454000, 0.19999999925494194],
+ [1726394354000, 0.7000000029802322],
+ [1726395254000, 0.6000000014901161],
+ [1726396154000, 0.42692871019244194], [1726397054000, 0.5],
+ [1726397954000, 0.40000000037252903], [1726398854000, 0.5],
+ [1726399754000, 0.5361663810908794],
+ [1726400654000, 0.3999999985098839], [1726401554000, 0.5],
+ [1726402454000, 0.5000000149011612],
+ [1726403354000, 0.4000000134110451],
+ [1726404254000, 0.30000000447034836],
+ [1726405154000, 0.30000000447034836],
+ [1726406054000, 0.20000000298041343],
+ [1726406954000, 0.30000000447034836],
+ [1726407854000, 0.20000000298023224],
+ [1726408754000, 0.20000000298023224],
+ [1726409654000, 0.10000000149011612],
+ [1726410554000, 0.11820373684167862],
+ [1726411454000, 0.10000000149011612],
+ [1726412354000, 0.4640904441475868],
+ [1726413254000, 0.500497443950735],
+ [1726414154000, 0.5551096051931381],
+ [1726415054000, 0.5733128637075424],
+ [1726415954000, 0.4733133316040039],
+ [1726416854000, 0.5733128637075424],
+ [1726417754000, 0.5551096051931381],
+ [1726418654000, 0.4915323257446289],
+ [1726419554000, 0.5915161222224938],
+ [1726420454000, 0.5284210219979286],
+ [1726421354000, 0.6279254928231239],
+ [1726422254000, 0.5461430549621582], [1726423154000, 0.07281494140625],
+ [1726424054000, 0.0182037353515625],
+ [1726424954000, 0.0182037353515625],
+ [1726425854000, 0.0182037353515625],
+ [1726426754000, 0.0182037353515625],
+ [1726427654000, 0.0182037353515625],
+ [1726428554000, 0.0182037353515625],
+ [1726429454000, 0.0182037353515625],
+ [1726430354000, 0.0364079475402832],
+ [1726432154000, 0.0182037353515625],
+ [1726433054000, 0.0182037353515625],
+ [1726433954000, 0.0182037353515625],
+ [1726434854000, 0.0182037353515625],
+ [1726435754000, 0.0182037353515625],
+ [1726436654000, 0.0182037353515625],
+ [1726437554000, 0.0182037353515625],
+ [1726438454000, 0.0182037353515625],
+ [1726439354000, 0.0182037353515625],
+ [1726440254000, 0.018204689025878906],
+ [1726441154000, 0.0182037353515625],
+ [1726442054000, 0.0182037353515625],
+ [1726442954000, 0.018218994140625],
+ [1726443854000, 0.0182037353515625],
+ [1726444754000, 0.018204689025878906],
+ [1726445654000, 0.0182037353515625],
+ [1726446554000, 0.0182037353515625],
+ [1726448354000, 0.0182037353515625],
+ [1726451054000, 0.10000000149011612],
+ [1726456454000, 0.10000000149011612],
+ [1726459154000, 0.0182037353515625],
+ [1726460954000, 0.0364079475402832],
+ [1726461854000, 0.0182037353515625],
+ [1726463654000, 0.036407470703125],
+ [1726464554000, 0.0182037353515625],
+ [1726466354000, 0.0182037353515625],
+ [1726468154000, 0.0182037353515625],
+ [1726470854000, 0.11820469051599503],
+ [1726472654000, 0.09999999962747097],
+ [1726473554000, 0.19999999925494194],
+ [1726474454000, 0.6000000014901161], [1726475354000, 0.5],
+ [1726476254000, 0.5359252914786339],
+ [1726477154000, 0.6000000014901161],
+ [1726478054000, 0.6000000014901161],
+ [1726478954000, 0.6000000014901161],
+ [1726479854000, 0.6000000014901161],
+ [1726480754000, 0.6999999955296516],
+ [1726481654000, 0.6177062932401896],
+ [1726482554000, 0.5999999940395355],
+ [1726483454000, 0.6000000014901161],
+ [1726484354000, 0.6000000014901161], [1726485254000, 0.5],
+ [1726486154000, 0.6000000014901161],
+ [1726487054000, 0.6000000014901161],
+ [1726487954000, 0.5999999940395355],
+ [1726488854000, 0.5182037428021431], [1726489754000, 0.5],
+ [1726490654000, 0.3999999985098839], [1726491554000, 0.5],
+ [1726492454000, 0.4000000059604645],
+ [1726493354000, 0.29999999701976776],
+ [1726494254000, 0.3817962780594826],
+ [1726495154000, 0.30000000447034836],
+ [1726496054000, 0.3000000119216555],
+ [1726496954000, 0.30000000447034836],
+ [1726497854000, 0.28179626911878586],
+ [1726498754000, 0.30000000447034836],
+ [1726499654000, 0.20000000298041343],
+ [1726500554000, 0.20000000298023224],
+ [1726501454000, 0.10000000149066146],
+ [1726502354000, 0.10000000149011612],
+ [1726503254000, 0.10000000149011612],
+ [1726504154000, 0.10000000149011612],
+ [1726508654000, 0.10000000149011612],
+ [1726510454000, 0.10000000149011612],
+ [1726515854000, 0.018204445019364357],
+ [1726516754000, 0.018204445019364357],
+ [1726517654000, 0.018204443156719208],
+ [1726518554000, 0.018204446882009506],
+ [1726520354000, 0.018204443156719208],
+ [1726521254000, 0.036408886313438416],
+ [1726522154000, 0.018204450607299805],
+ [1726523954000, 0.01820443570613861],
+ [1726524854000, 0.03640889376401901],
+ [1726526654000, 0.036408886313438416],
+ [1726528454000, 0.01820443570613861],
+ [1726529354000, 0.018204450607299805],
+ [1726530254000, 0.018204445019364357],
+ [1726531154000, 0.018204450607299805],
+ [1726532054000, 0.018204450607299805],
+ [1726532954000, 0.018204420804977417],
+ [1726533854000, 0.018204450607299805],
+ [1726539254000, 0.10000000149011612],
+ [1726543754000, 0.10000000149011612],
+ [1726545554000, 0.03640889376401901],
+ [1726546454000, 0.018204450607299805],
+ [1726547354000, 0.018204450607299805],
+ [1726549154000, 0.018204420804977417],
+ [1726550054000, 0.018204450607299805],
+ [1726550954000, 0.03640889748930931],
+ [1726551854000, 0.018204450607299805],
+ [1726553654000, 0.10897777788341045],
+ [1726554554000, 0.2179555483162403],
+ [1726555454000, 0.30000000074505806],
+ [1726556354000, 0.3999999985098839],
+ [1726557254000, 0.29999999701976776],
+ [1726558154000, 0.5000000074505806],
+ [1726559054000, 0.40000000596064633],
+ [1726559954000, 0.6000000014901161],
+ [1726560854000, 0.6000000014901161],
+ [1726561754000, 0.5000000000003642],
+ [1726562654000, 0.6000000238424041],
+ [1726563554000, 0.6000000014901161], [1726564454000, 0.60000002384204],
+ [1726565354000, 0.700000025331974],
+ [1726566254000, 0.6000000238418579],
+ [1726567154000, 0.6817955747246742],
+ [1726568054000, 0.700000025331974], [1726568954000, 0.600000023842405],
+ [1726569854000, 0.6000000014901161],
+ [1726570754000, 0.6000000238418579],
+ [1726571654000, 0.6000000014901161],
+ [1726572554000, 0.6000000014901161],
+ [1726573454000, 0.5000000000003642],
+ [1726574354000, 0.5817955508828163],
+ [1726575254000, 0.6000000014901161],
+ [1726576154000, 0.48179567605257034],
+ [1726577054000, 0.5000000149011612],
+ [1726577954000, 0.5000000074505806],
+ [1726578854000, 0.4000000134110451],
+ [1726579754000, 0.4000000134110451],
+ [1726580654000, 0.30000000447034836],
+ [1726581554000, 0.4000000134110451],
+ [1726582454000, 0.30000000447034836],
+ [1726583354000, 0.281795434653759],
+ [1726584254000, 0.30000000447034836],
+ [1726585154000, 0.5276800245048427],
+ [1726586054000, 0.5094755562022328],
+ [1726586954000, 0.6187022551894188],
+ [1726587854000, 0.48229333758354187],
+ [1726588754000, 0.5187022518366575],
+ [1726589654000, 0.5551110357046127],
+ [1726590554000, 0.5733157098293304],
+ [1726591454000, 0.5097243785858154],
+ [1726592354000, 0.527928814291954],
+ [1726593254000, 0.6097243875265121],
+ [1726594154000, 0.5279290527105331],
+ [1726595054000, 0.546133279800415],
+ [1726595954000, 0.09102225303649902],
+ [1726596854000, 0.018204689025878906],
+ [1726597754000, 0.018204212188720703],
+ [1726598654000, 0.018204212188720703],
+ [1726599554000, 0.018204689025878906],
+ [1726600454000, 0.018204212188720703],
+ [1726601354000, 0.018204689025878906],
+ [1726602254000, 0.018204689025878906],
+ [1726603154000, 0.018204212188720703],
+ [1726604054000, 0.018204212188720703],
+ [1726604954000, 0.018204689025878906],
+ [1726605854000, 0.03640913963317871],
+ [1726606754000, 0.0182037353515625],
+ [1726607654000, 0.018204689025878906],
+ [1726608554000, 0.018204689025878906],
+ [1726609454000, 0.018204212188720703],
+ [1726610354000, 0.018204689025878906],
+ [1726612154000, 0.018204212188720703],
+ [1726613054000, 0.018204689025878906],
+ [1726613954000, 0.018204212188720703],
+ [1726614854000, 0.03640910983085632],
+ [1726616654000, 0.018204689025878906],
+ [1726617554000, 0.0182037353515625],
+ [1726618454000, 0.018204689025878906],
+ [1726619354000, 0.018204689025878906],
+ [1726620254000, 0.03640866279602051],
+ [1726624754000, 0.10000000149011612],
+ [1726630154000, 0.10000000149011612],
+ [1726631954000, 0.018204212188720703],
+ [1726632854000, 0.018204689025878906],
+ [1726633754000, 0.018204689025878906],
+ [1726635554000, 0.03640866279602051],
+ [1726636454000, 0.018204689025878906],
+ [1726638254000, 0.036408424377441406],
+ [1726640954000, 0.20000000298023224],
+ [1726642754000, 0.10000000149011612],
+ [1726644554000, 0.09999999962747097],
+ [1726645454000, 0.09999999962747097],
+ [1726646354000, 0.29999999701976776],
+ [1726647254000, 0.32693325355648994],
+ [1726648154000, 0.5999999940395355], [1726649054000, 0.5],
+ [1726649954000, 0.5177067760378122],
+ [1726650854000, 0.5000000018626451],
+ [1726651754000, 0.6000000014901161],
+ [1726652654000, 0.6359114572405815],
+ [1726653554000, 0.699502557516098],
+ [1726654454000, 0.6000000014901161],
+ [1726655354000, 0.6000000014901161],
+ [1726656254000, 0.5359109863638878],
+ [1726657154000, 0.6000000014901161], [1726658054000, 0.5],
+ [1726658954000, 0.5], [1726659854000, 0.5], [1726660754000, 0.5],
+ [1726661654000, 0.5], [1726662554000, 0.5],
+ [1726663454000, 0.3999999985098839],
+ [1726664354000, 0.4000000115483999],
+ [1726665254000, 0.4000000134110451],
+ [1726666154000, 0.30000000447034836],
+ [1726667054000, 0.30000000447034836],
+ [1726667954000, 0.4000000134110451],
+ [1726668854000, 0.30000000447034836],
+ [1726669754000, 0.30000000447034836],
+ [1726670654000, 0.20000000298041343],
+ [1726671554000, 0.4912714511156082],
+ [1726672454000, 0.6640890315175056],
+ [1726673354000, 0.5551107972860336],
+ [1726674254000, 0.5551112443208694],
+ [1726675154000, 0.5733154863119125],
+ [1726676054000, 0.5551112741231918],
+ [1726676954000, 0.4733150005340576],
+ [1726677854000, 0.5915196686983109],
+ [1726678754000, 0.5284286513924599],
+ [1726679654000, 0.5097243785858154],
+ [1726680554000, 0.5461337566375732],
+ [1726681454000, 0.627928115427494],
+ [1726682354000, 0.10922694206237793],
+ [1726683254000, 0.018204689025878906],
+ [1726684154000, 0.018204689025878906],
+ [1726685054000, 0.0182037353515625],
+ [1726685954000, 0.018204689025878906],
+ [1726686854000, 0.018204689025878906],
+ [1726687754000, 0.0182037353515625],
+ [1726689554000, 0.03640937805175781],
+ [1726690454000, 0.036408185958862305],
+ [1726691354000, 0.018205642700195312],
+ [1726693154000, 0.0182037353515625],
+ [1726694054000, 0.03640937805175781],
+ [1726694954000, 0.0182037353515625],
+ [1726696754000, 0.018204689025878906],
+ [1726697654000, 0.03640913963317871],
+ [1726698554000, 0.018204689025878906],
+ [1726699454000, 0.0182037353515625],
+ [1726700354000, 0.018204689025878906],
+ [1726701254000, 0.018204689025878906],
+ [1726703054000, 0.036409080028533936],
+ [1726703954000, 0.036408424377441406],
+ [1726705754000, 0.018204689025878906],
+ [1726706654000, 0.018204689025878906],
+ [1726710254000, 0.10000000149011612],
+ [1726715654000, 0.10000000149011612],
+ [1726718354000, 0.0182037353515625],
+ [1726719254000, 0.018204450607299805],
+ [1726720154000, 0.018205642700195312],
+ [1726721054000, 0.0182037353515625],
+ [1726721954000, 0.0182037353515625],
+ [1726722854000, 0.018205642700195312],
+ [1726723754000, 0.03640824556350708],
+ [1726725554000, 0.0182037353515625],
+ [1726728254000, 0.10000000149011612],
+ [1726730054000, 0.10000000149011612],
+ [1726730954000, 0.10000000149011612],
+ [1726731854000, 0.10897750966250896],
+ [1726732754000, 0.19999999925494194],
+ [1726733654000, 0.21795501932501793],
+ [1726734554000, 0.4453868865966797],
+ [1726735454000, 0.3999999985098839],
+ [1726736354000, 0.4087287886068225],
+ [1726737254000, 0.3999999985098839],
+ [1726738154000, 0.5541147217154503],
+ [1726739054000, 0.6000000014901161],
+ [1726739954000, 0.6000000014901161],
+ [1726740854000, 0.6541147157549858],
+ [1726741754000, 0.5177072528749704],
+ [1726742654000, 0.6000000014901161],
+ [1726743554000, 0.517706299200654], [1726744454000, 0.5],
+ [1726745354000, 0.5], [1726746254000, 0.5], [1726747154000, 0.5],
+ [1726748054000, 0.5], [1726748954000, 0.40000000037252903],
+ [1726749854000, 0.5], [1726750754000, 0.3999999985098839],
+ [1726751654000, 0.2999999998137355],
+ [1726752554000, 0.3999999985098839],
+ [1726753454000, 0.3817981854081154],
+ [1726754354000, 0.30000000447034836],
+ [1726755254000, 0.20000000298041343],
+ [1726756154000, 0.30000000447034836],
+ [1726757054000, 0.20000000298041343],
+ [1726757954000, 0.4730674773456496],
+ [1726758854000, 0.564088732004711],
+ [1726759754000, 0.6004981696611136],
+ [1726760654000, 0.500497443950735],
+ [1726761554000, 0.5369075387716293],
+ [1726762454000, 0.5551103204488754],
+ [1726763354000, 0.5915196985006332],
+ [1726764254000, 0.5097252726554871],
+ [1726765154000, 0.5279272198677063],
+ [1726766054000, 0.6097243875265121],
+ [1726766954000, 0.527929961681366], [1726767854000, 0.546133816242218],
+ [1726768754000, 0.05461311340332031],
+ [1726769654000, 0.018205642700195312],
+ [1726770554000, 0.018201828002929688],
+ [1726771454000, 0.03641003370285034],
+ [1726772354000, 0.018205642700195312],
+ [1726773254000, 0.018201828002929688],
+ [1726774154000, 0.018205642700195312],
+ [1726775054000, 0.018205642700195312],
+ [1726775954000, 0.0182037353515625],
+ [1726776854000, 0.0182037353515625],
+ [1726777754000, 0.018205642700195312],
+ [1726778654000, 0.0182037353515625],
+ [1726779554000, 0.0182037353515625],
+ [1726780454000, 0.018205642700195312],
+ [1726781354000, 0.0182037353515625],
+ [1726782254000, 0.0182037353515625],
+ [1726783154000, 0.018205642700195312],
+ [1726784054000, 0.036408185958862305],
+ [1726785854000, 0.018205642700195312],
+ [1726786754000, 0.036407470703125],
+ [1726788554000, 0.018205642700195312],
+ [1726789454000, 0.036408185958862305],
+ [1726790354000, 0.018205642700195312],
+ [1726791254000, 0.0182037353515625],
+ [1726792154000, 0.0182037353515625],
+ [1726794854000, 0.10000000149011612],
+ [1726800254000, 0.10000000149011612],
+ [1726804754000, 0.018205642700195312],
+ [1726805654000, 0.0182037353515625],
+ [1726806554000, 0.03641009330749512],
+ [1726807454000, 0.0182037353515625],
+ [1726808354000, 0.0182037353515625],
+ [1726809254000, 0.018205642700195312],
+ [1726811054000, 0.0182037353515625],
+ [1726811954000, 0.018204450607299805],
+ [1726813754000, 0.0182037353515625],
+ [1726814654000, 0.20000000298023224],
+ [1726815554000, 0.10897750966250896],
+ [1726816454000, 0.19999999925494194],
+ [1726817354000, 0.29999999701976776],
+ [1726818254000, 0.2999999998137355],
+ [1726819154000, 0.30872689466923475],
+ [1726820054000, 0.3999999985098839],
+ [1726820954000, 0.2999999998137355],
+ [1726821854000, 0.2999999998137355],
+ [1726822754000, 0.40872689336538315],
+ [1726823654000, 0.30000000074505806],
+ [1726824554000, 0.19999999925494194],
+ [1726825454000, 0.10897750966250896],
+ [1726826354000, 0.10000000149011612],
+ [1726827254000, 0.30000000074505806],
+ [1726828154000, 0.30000000074505806],
+ [1726829054000, 0.21795692667365074],
+ [1726829954000, 0.19999999925494194],
+ [1726830854000, 0.10897750966250896],
+ [1726831754000, 0.09999999962747097],
+ [1726832654000, 0.10897750966250896],
+ [1726833554000, 0.19999999925494194],
+ [1726834454000, 0.19999999925494194],
+ [1726835354000, 0.29999999701976776],
+ [1726836254000, 0.5000000018626451],
+ [1726837154000, 0.29999999701976776],
+ [1726838054000, 0.29999999701976776],
+ [1726838954000, 0.30000000074505806],
+ [1726839854000, 0.29999999701976776],
+ [1726840754000, 0.29999999701976776],
+ [1726841654000, 0.19999999925494194],
+ [1726842554000, 0.29999999701976776],
+ [1726843454000, 0.29999999701976776],
+ [1726844354000, 0.4548637457191944],
+ [1726845254000, 0.5822925269603729],
+ [1726846154000, 0.491768647916615], [1726847054000, 0.500500001013279],
+ [1726847954000, 0.5369056910276413],
+ [1726848854000, 0.5915186852216721],
+ [1726849754000, 0.5461337566375732],
+ [1726850654000, 0.5461337566375732],
+ [1726851554000, 0.5279300212860107],
+ [1726852454000, 0.5279281139373779],
+ [1726853354000, 0.5461337566375732],
+ [1726854254000, 0.5279281139373779],
+ [1726855154000, 0.07281684875488281],
+ [1726856054000, 0.018205642700195312],
+ [1726856954000, 0.036408066749572754],
+ [1726857854000, 0.018205642700195312],
+ [1726858754000, 0.0182037353515625],
+ [1726859654000, 0.0182037353515625],
+ [1726860554000, 0.018205642700195312],
+ [1726861454000, 0.0182037353515625],
+ [1726863254000, 0.018205642700195312],
+ [1726864154000, 0.036407470703125],
+ [1726865054000, 0.018205642700195312],
+ [1726866854000, 0.0182037353515625],
+ [1726867754000, 0.0182037353515625]]},
+ 'totals': {'Bc': 8.57547284453176, 'Gc': 1.7905250787734985, 'Pb': 48.49291117489338,
+ 'Pc': 16.570437631577075, 'Pg': 34.48880581557751, 'Gb': 0.01869735773652792,
+ 'Bg': 29.35484167933464, 'kwh': 139.29169158242445}}
diff --git a/tests/test_forecast.py b/tests/test_forecast.py
index 975103aa..c2d0c70b 100644
--- a/tests/test_forecast.py
+++ b/tests/test_forecast.py
@@ -2,6 +2,9 @@
from quartz_solar_forecast.pydantic_models import PVSite
from datetime import datetime, timedelta
+import numpy as np
+
+
def test_run_forecast():
# make input data
site = PVSite(latitude=51.75, longitude=-1.25, capacity_kwp=1.25)
@@ -55,7 +58,22 @@ def test_run_forecast_historical():
print("\n Prediction based on UKMO NWP\n")
print(predications_df_ukmo)
print(f" Max: {predications_df_ukmo['power_kw'].max()}")
-
+
print("\n Prediction based on XGB\n")
print(predications_df_xgb)
+
+def test_large_capacity():
+
+ # make input data
+ site = PVSite(latitude=51.75, longitude=-1.25, capacity_kwp=4)
+ site_large = PVSite(latitude=51.75, longitude=-1.25, capacity_kwp=4000)
+ ts = datetime.today() - timedelta(weeks=2)
+
+ # run model with icon, gfs and ukmo nwp
+ predications_df = run_forecast(site=site, model="gb", ts=ts, nwp_source="gfs")
+ predications_df_large = run_forecast(site=site_large, model="gb", ts=ts, nwp_source="gfs")
+
+ assert np.round(predications_df["power_kw"].sum() * 1000, 8) == np.round(
+ predications_df_large["power_kw"].sum(), 8
+ )
diff --git a/tests/test_generate_forecast.py b/tests/test_generate_forecast.py
new file mode 100644
index 00000000..5c5c7aa4
--- /dev/null
+++ b/tests/test_generate_forecast.py
@@ -0,0 +1,55 @@
+import os
+import pandas as pd
+from datetime import datetime, timedelta
+import quartz_solar_forecast.forecast as forecast
+from quartz_solar_forecast.utils.forecast_csv import write_out_forecasts
+from quartz_solar_forecast.pydantic_models import PVSite
+
+def test_generate_forecast(monkeypatch):
+ site_name = "TestCase"
+ latitude = 51.75
+ longitude = -1.25
+ capacity_kwp = 1.25
+ start_datetime = "2024-03-10 00:00:00"
+ end_datetime = "2024-03-11 00:00:00"
+ init_time_freq = 6
+ output_dir = os.path.join(os.getcwd(), "csv_forecasts")
+ output_file_name = (
+ f"forecast_{site_name}_{start_datetime[:10]}_{end_datetime[:10]}.csv"
+ )
+ output_file_path = os.path.join(output_dir, output_file_name)
+
+ def mock_forecast(
+ site: PVSite,
+ model: str = "gb",
+ ts: datetime | str = None,
+ nwp_source: str = "icon",
+ ):
+ return pd.DataFrame(
+ {
+ "datetime": [
+ datetime(2024, 3, 10, 0, 0) + timedelta(hours=6 * i)
+ for i in range(4)
+ ],
+ "power_kw": [0.1, 0.5, 0.8, 0.6],
+ "forecast_init_time": [datetime(2024, 3, 10, 0, 0)] * 4,
+ }
+ )
+
+ monkeypatch.setattr(forecast, "run_forecast", mock_forecast)
+
+ if not os.path.exists(output_dir):
+ os.makedirs(output_dir)
+
+ write_out_forecasts(
+ init_time_freq,
+ start_datetime,
+ end_datetime,
+ site_name,
+ latitude,
+ longitude,
+ capacity_kwp,
+ )
+
+ assert os.path.exists(output_file_path)
+ os.remove(output_file_path)