UKCarbonIntensityData

Documentation for UKCarbonIntensityData.

Retrieving Data

We can use this package to retrieve the recorded carbon intensity (measured in gCO₂/kWh) over a specified date range.

National data

using UKCarbonIntensityData
using Plots
using TimeZones
using Dates

start_date = ZonedDateTime(2022, 01, 01, tz"UTC")
end_date = ZonedDateTime(2022, 01, 10, tz"UTC")

# get national level intensity data for the given period
national_data = get_carbon_intensity(start_date, end_date)
first(national_data, 5)
5×5 DataFrame
Rowfromtoactualforecastindex
DateTimeDateTimeAnyAnyAny
12021-12-31T23:30:002022-01-01T00:00:007183low
22022-01-01T00:00:002022-01-01T00:30:007474low
32022-01-01T00:30:002022-01-01T01:00:007570low
42022-01-01T01:00:002022-01-01T01:30:007370low
52022-01-01T01:30:002022-01-01T02:00:006861low

Regional data

We can also retrieve the forecasted carbon intensity at the regional level

regional_data = get_regional_data(end_date - Day(5), end_date)
regional_intensity = regional_data.intensity;
regional_mix = regional_data.generation;
display(first(regional_mix))

Todays forecast

We can also grab the forecast data for the next 48 hours, at both national or regional levels.

national_data = get_todays_forecast()
first(national_data)
DataFrameRow (5 columns)
Rowfromtoactualforecastindex
DateTimeDateTimeAnyAnyAny
12026-09-09T23:30:002026-09-10T00:00:00153162moderate
regional_data = get_todays_forecast(regional = true)
first(regional_data)
DataFrameRow (8 columns)
Rowfromtoregionidgenerationmixshortnamednoregionforecastindex
DateTimeDateTimeAnyAnyAnyAnyAnyAny
12026-09-09T23:30:002026-09-10T00:00:001Any[Dict{String, Any}("fuel"=>"biomass", "perc"=>0), Dict{String, Any}("fuel"=>"coal", "perc"=>0), Dict{String, Any}("fuel"=>"imports", "perc"=>0), Dict{String, Any}("fuel"=>"gas", "perc"=>0), Dict{String, Any}("fuel"=>"nuclear", "perc"=>0), Dict{String, Any}("fuel"=>"other", "perc"=>0), Dict{String, Any}("fuel"=>"hydro", "perc"=>0), Dict{String, Any}("fuel"=>"solar", "perc"=>0), Dict{String, Any}("fuel"=>"wind", "perc"=>100)]North ScotlandScottish Hydro Electric Power Distribution0very low

Plotting Data

This package also exports some recipes to plot the data. Below shows how we can retrieve the 48 hour forecast data, for the nation as a whole,

todays_plot()

or for a specific region

todays_plot(region = "South Scotland")
todays_plot(region = "North West England")

We can also view the recorded carbon intensity over a given time period

carbon_intensity(start_date, end_date)