This package works along with RTE’s adequacy software ANTARES : https://antares-simulator.org/
antaresViz
is a package which proposes relevant graphs and maps to vizualize the results of an ANTARES study, with numerous settings and possible customizations.
library(antaresViz)
The data from an ANTARES study can be imported and easily manipulated using the antaresRead package.
The examples presented below have been build on a fictionnal study whose output have been loaded with antaresRead. They contains different types of elements :
load("data_for_antaresViz_vignette_extralight.Rdata")
The aim of this vignette is to give a quick overview of the possibilities offered by the package antaresViz. The data with which the following graphs have been plotted are fictionnal.
plot
functionThe plot()
function, used with an antaresDataList object (i.e. an object returned by the antaresRead::readAntares()
function) offers different possible vizualisations.
Moreover, this function is really easy to use. It opens a shiny interface which let the user decide :
plot(data_hourly_synthesis)
Note that all the interface manipulation can also be set directly in the arguments of the plot
function. Some examples of the multiple graphs that can be returned by this function are given below.
plot(
data_annual_synthesis, table = "districts",
variable = "LOLD",
type = "barplot",
elements = c("00_a", "00_b", "00_c", "00_d",
"00_e", "00_f", "00_g", "00_h", "00_i"),
interactive = FALSE,
width = "100%",
height = 400
)
plot(
data_hourly_allmc,table = "areas",
variable = "LOAD",
type = "ts",
elements = "23_b",
confInt = 0.95,
dateRange = c("2018-01-08", "2018-01-14"),
width = "100%",
height = 400,
interactive = FALSE
)
plot(
data_hourly_synthesis, table = "areas",
variable = "WIND",
type = "density",
elements = c("01_a", "02_a"),
interactive = FALSE,
width = "100%",
height = 400
)
plot(
data_hourly_synthesis_1year, table = "links",
variable = "CONG. PROB +",
type = "heatmap",
elements = "25_c - 26_d",
interactive = FALSE,
width = "100%",
height = 400,
main = "Congestion probability"
)
Note that the plot()
function also contains a compare
argument which allows comparisons between :
The prodStack
function builds a graph which contains the time series of demand in one area (or the sum of the demand of a set of areas) along with the generation of this area (or set of areas), divided between the different fuel types (e.g. nuclear, gas, wind, etc).
prodStack(data_hourly_synthesis)
Once again, this function is easy to use and opens a shiny interface which let the user manipulate the selected areas and time range. Some settings can also be passed to the function through its (optionnal) arguments.
prodStack(
data_hourly_synthesis, stack = "eco2mix",
areas = "37_h",
dateRange = c("2018-01-08", "2018-01-21"),
main = "Production stack",
unit = "GWh",
interactive = FALSE,
width = "100%",
height = 500
)
The graphical template used by default is the one of the RTE’s application eco2mix. This template can though be redefined completely by the user with the function setProdStackAlias()
.
The exchangesStack()
function proposes similar graphs with a superposition of all the imports and exports of an area.
exchangesStack(
data_hourly_synthesis, area = "37_h",
dateRange = c("2018-01-08", "2018-01-21"),
main = "Import/Export of area 37_h",
unit = "GWh",
interactive = FALSE,
width = "100%",
height = 500
)
Last but not least, antaresViz
proposes several function to vizualise the results of a study on a map.
To do so, the first function to use is mapLayout()
. This function launches an interactive application that let the user place areas of the ANTARES study on a map.
<- antaresRead::readLayout(opts = antaresRead::setSimulationPath(study_path))
antares_layout <- mapLayout(layout = antares_layout) map_layout
(Once again : the study presented here is fictionnal !)
The function plotMap()
then generates an interactive map that let the user visually explore the results of an Antares simulation. By default the function starts a Shiny gadget that let the user choose :
plotMap(data_hourly_synthesis, map_layout)
Some examples of results returned by the plotMap()
function are depicted below.
This first map depicts the annual CO2 emissions of all the areas of the ANTARES study.
plotMap(
data_annual_filtered, map_layout, showLabels = TRUE,
sizeAreaVar = "CO2 EMIS.",
interactive = FALSE,
labelAreaVar = "CO2 EMIS.",
colAreaVar = "CO2 EMIS.",
type = "avg",
options = plotMapOptions(
areaDefaultSize = 30,
labelMaxSize = 8,
labelMinSize = 14,
areaColorScaleOpts = colorScaleOptions(
zeroCol = "white",
posCol = "red2"
)
), width = "100%",
height = 600
)
This map illustrates the annual balance (MWh exported if positive - or imported if negative - during an hour) of each area and the annual flows of each link.
plotMap(
data_annual_synthesis,
map_layout,showLabels = TRUE,
colAreaVar = "BALANCE",
interactive = FALSE,
labelAreaVar = "BALANCE",
sizeLinkVar = "FLOW LIN.",
type = "avg",
options = plotMapOptions(
areaDefaultSize = 30,
labelMaxSize = 10,
labelMinSize = 8,
areaColorScaleOpts = colorScaleOptions(
negCol = "tomato3",
zeroCol = "white",
posCol = "blue3"
)
),width = "100%",
height = 600
)
The proportion of each energy type in the annual production of each area is illustrated on this next map. The actual generated energies (in MWh) can be known by clicking on the pie charts.
$areas <- data_annual_synthesis$areas[, `:=`(
data_annual_synthesisTHERMAL = NUCLEAR + LIGNITE + COAL + GAS + OIL + `MIX. FUEL` + `MISC. DTG`, HYDRO =`H. ROR` + `H. STOR`
)]
plotMap(
data_annual_synthesis,
map_layout,interactive = FALSE,
sizeAreaVars = c("HYDRO", "SOLAR", "WIND", "THERMAL"),
popupAreaVars = c("HYDRO", "SOLAR", "WIND", "THERMAL"),
areaChartType = "pie", type = "avg",
options = plotMapOptions(
areaDefaultSize = 25
),width = "100%",
height = 600
)
The antaresViz
package is available on the CRAN and can be installed with :
install.packages("antaresViz")