Data Retrieval¶
This notebook outlines the retrieval of data from Electric Insights and Energy Charts using the moepy
library. This data will be used in later user-guide notebooks.
Imports¶
from moepy import retrieval, eda
Electric Insights¶
To download data from all of the electric insights streams is as simple as calling get_EI_data
and specifying the start and end dates. The data will be retrieved in 3 month batches as this is the maximum limit currently allowed by the API, you can change the freq
parameter to adjust this.
Please save data once downloaded to avoid needless calls to the API.
start_date = '2010-01-01'
end_date = '2020-12-31'
df_EI = retrieval.get_EI_data(start_date, end_date)
df_EI.to_csv('../data/ug/electric_insights.csv')
df_EI.head()
100%|██████████████████████████████████████████████████████████████████████████████████| 45/45 [08:51<00:00, 11.81s/it]
local_datetime | day_ahead_price | SP | imbalance_price | valueSum | temperature | TCO2_per_h | gCO2_per_kWh | nuclear | biomass | coal | ... | demand | pumped_storage | wind_onshore | wind_offshore | belgian | dutch | french | ireland | northern_ireland | irish |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2010-01-01 00:00:00+00:00 | 32.91 | 1 | 55.77 | 55.77 | 1.1 | 16268 | 429 | 7.897 | 0 | 9.902 | ... | 37.948 | -0.435 | None | None | 0 | 0 | 1.963 | 0 | 0 | -0.234 |
2010-01-01 00:30:00+00:00 | 33.25 | 2 | 59.89 | 59.89 | 1.1 | 16432 | 430 | 7.897 | 0 | 10.074 | ... | 38.227 | -0.348 | None | None | 0 | 0 | 1.974 | 0 | 0 | -0.236 |
2010-01-01 01:00:00+00:00 | 32.07 | 3 | 53.15 | 53.15 | 1.1 | 16318 | 431 | 7.893 | 0 | 10.049 | ... | 37.898 | -0.424 | None | None | 0 | 0 | 1.983 | 0 | 0 | -0.236 |
2010-01-01 01:30:00+00:00 | 31.99 | 4 | 38.48 | 38.48 | 1.1 | 15768 | 427 | 7.896 | 0 | 9.673 | ... | 36.918 | -0.575 | None | None | 0 | 0 | 1.983 | 0 | 0 | -0.236 |
2010-01-01 02:00:00+00:00 | 31.47 | 5 | 37.7 | 37.7 | 1.1 | 15250 | 424 | 7.9 | 0 | 9.37 | ... | 35.961 | -0.643 | None | None | 0 | 0 | 1.983 | 0 | 0 | -0.236 |
We'll visualise the time-series of output by fuel in the style of this paper, the author of which was also a creator of the Electric Insights site.
df_EI_plot = eda.clean_EI_df_for_plot(df_EI, freq='7D')
eda.stacked_fuel_plot(df_EI_plot, dpi=250)
<AxesSubplot:ylabel='Generation (GW)'>
Energy Charts¶
To download fuel generation data from the energy charts site call get_EC_data
and specify the start and end dates.
As before, please save data once downloaded.
df_EC = retrieval.get_EC_data(start_date, end_date)
df_EC.head()
100%|████████████████████████████████████████████████████████████████████████████████| 576/576 [05:02<00:00, 1.91it/s]
local_datetime | Biomass | Brown Coal | Gas | Hard Coal | Hydro Power | Oil | Others | Pumped Storage | Seasonal Storage | Solar | Uranium | Wind | Net Balance |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2010-01-04 00:00:00+01:00 | 3.637 | 16.533 | 4.726 | 10.078 | 2.331 | 0 | 0 | 0.052 | 0.068 | 0 | 16.826 | 0.635 | -1.229 |
2010-01-04 01:00:00+01:00 | 3.637 | 16.544 | 4.856 | 8.816 | 2.293 | 0 | 0 | 0.038 | 0.003 | 0 | 16.841 | 0.528 | -1.593 |
2010-01-04 02:00:00+01:00 | 3.637 | 16.368 | 5.275 | 7.954 | 2.299 | 0 | 0 | 0.032 | 0 | 0 | 16.846 | 0.616 | -1.378 |
2010-01-04 03:00:00+01:00 | 3.637 | 15.837 | 5.354 | 7.681 | 2.299 | 0 | 0 | 0.027 | 0 | 0 | 16.699 | 0.63 | -1.624 |
2010-01-04 04:00:00+01:00 | 3.637 | 15.452 | 5.918 | 7.498 | 2.301 | 0.003 | 0 | 0.02 | 0 | 0 | 16.635 | 0.713 | -0.731 |
Once again we'll visualise the long-term average output time-series separated by fuel-type
df_EC_plot = eda.clean_EC_df_for_plot(df_EC)
eda.stacked_fuel_plot(df_EC_plot, dpi=250)
<AxesSubplot:ylabel='Generation (GW)'>