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

start_date = ZonedDateTime(2022, 01, 01, tz"UTC")
end_date = ZonedDateTime(2022, 02, 28, 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 rows × 5 columns

fromtoforecastactualindex
DateTimeDateTimeAnyAnyAny
12021-12-31T23:30:002022-01-01T00:00:008371low
22022-01-01T00:00:002022-01-01T00:30:007474low
32022-01-01T00:30:002022-01-01T01:00:007075low
42022-01-01T01:00:002022-01-01T01:30:007073low
52022-01-01T01:30:002022-01-01T02:00:006168low

Regional data

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

regional_data = get_regional_data(start_date, 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)

fromtoforecastactualindex
DateTimeDateTimeAnyAnyAny
12022-04-28T23:30:002022-04-29T00:00:00268273high
regional_data = get_todays_forecast(regional = true)
first(regional_data)

DataFrameRow (8 columns)

fromtoshortnamednoregionregionidgenerationmixforecastindex
DateTimeDateTimeAnyAnyAnyAnyAnyAny
12022-04-28T23:30:002022-04-29T00:00:00North ScotlandScottish Hydro Electric Power Distribution1[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"=>84.6), Dict{String, Any}("fuel"=>"nuclear", "perc"=>0), Dict{String, Any}("fuel"=>"other", "perc"=>0), Dict{String, Any}("fuel"=>"hydro", "perc"=>5.6), Dict{String, Any}("fuel"=>"solar", "perc"=>0), Dict{String, Any}("fuel"=>"wind", "perc"=>9.8)]333very high

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)