class: center, middle, back2

options(htmltools.dir.version = FALSE)
# packages
library( antaresViz )
library( antaresWeeklyMargin )
library( data.table )
library( dygraphs )
library( magrittr )
# datas
marge_seul_fr <- readRDS(file = "datas/marge_seul_fr.Rdata")
marge_seul_fr_e <- marge_seul_fr[, c(1, sample.int(n = 2040, size = 200) + 1)]
data_fr <- readRDS("datas/data_fr.Rdata")

corr_time <- data.table(
  timeId = seq_len(168),
  time = as.POSIXct(
    format(seq(as.POSIXct("2016-11-05"), by=("+1 hour"), length.out = 168)),
    format="%Y-%m-%d %H:%M:%S", tz="UTC"
  )
)
data_fr <- data_fr[, time := NULL]
data_fr <- merge(x = data_fr, y = corr_time)

marge_inter_fr <- readRDS(file = "datas/marge_inter_fr.Rdata")
marge_inter_fr_e <- marge_inter_fr[, c(1, sample.int(n = 2040, size = 200) + 1)]
data_all <- readRDS(file = "datas/data_all_mc1199_B.Rdata")
mono_cwe <- readRDS(file = "datas/mono_cwe.rds")
mono_cwe_20161110 <- readRDS(file = "datas/mono_cwe_20161110.rds")
mono_france <- readRDS(file = "datas/mono_france.rds")
load("datas/ml.rda")
num_scenario <- 1199


Hypothesis


Load

draw_series(data_fr, "LOAD")

51 Forecast scenarios Meteologica


Wind Production

draw_series(data_fr, "WIND")

51 Forecast scenarios Meteologica


Solar Production

draw_series(data_fr, "SOLAR")

51 Forecast scenarios Meteologica


class: center, middle, back2

background-image: url(imgs/fond_2.png) background-color: #00A6D9 background-size: cover; color: #000


Results : margins analysis


Initial Remaining Capacity - FR

draw_upward_margin(
  upward_margin = marge_seul_fr_e, 
  area = "fr",
  type = "seul",
  nb_MC = ncol(marge_seul_fr_e) - 1, 
  num_week = 45
)

Table of quantiles

marg <- margins_quantiles(marge_seul_fr)
ft_margins_quantiles(marg, layout = "horizontal", language = "en")

Final Remaining Capacity - FR

draw_upward_margin(
  upward_margin = marge_inter_fr_e, 
  area = "fr",
  type = "inter",
  nb_MC = ncol(marge_inter_fr_e) - 1, 
  num_week = 45
)

Table of quantiles

marg <- margins_quantiles(marge_inter_fr)
ft_margins_quantiles(marg, layout = "vertical", language = "en")

Remaining Capacity Analysis - FR

Risk of unserved energy in France.

draw_stack_hist(marge_seul_fr, marge_inter_fr, "fr")

available power in the country > needs - imports are required - power still available in the country, but final remaining capacity = 0 - imports are required & final remaining capacity = 0 - inadequacy


class: center, middle, back2

background-image: url(imgs/fond_2.png) background-color: #00A6D9 background-size: cover; color: #000


Detailed results : scenarii analysis


Monotone échanges

draw_mono(mono_cwe_20161110, main = "Monotone des flux vers CWE, 10/11/2016 17:00 UTC")

Imports / Exports

draw_mono(mono_france, main = "Monotone des flux imports/exports pour France, 10/11/2016 17:00 UTC")

Flux FR -> CW

draw_mono(mono_cwe, main = "Monotone des flux FR - CWE")

class: center, middle, back2

background-image: url(imgs/fond_2.png) background-color: #EC775C background-size: cover; color: #000


Example of scenario r num_scenario


Analysis scenario r num_scenario – Flows

wzxhzdk:12
  • France exports during the weekend.
  • During the weekdays France is a net importer.
  • During the day France exports to Belgium, except during hours of inadequacy as it was the case of 10 Nov 2016 17:00 UTC (no more flows between the 2 countries)

Analysis scenario r num_scenario – Production

wzxhzdk:13
  • In France, thermal production is low because of unavailability of nuclear plants.
  • Because of that, France is a net importer during the weekdays.
  • We can also observe time steps where there are unsupplied energy.
  • Water is pumped during off-peak hours but it is not enough to avoid inadequacy.

Analysis scenario r num_scenario - Map

plotMap(
  x = data_all, mapLayout = ml, interactive = FALSE,
  colLinkVar = "abs_loadFactor", sizeLinkVar = "FLOW LIN.",
  colAreaVar = "marges_inter", labelAreaVar = "marges_inter",
  options = plotMapOptions(
    areaDefaultSize = 50,
    areaColorScaleOpts = colorScaleOptions(
      breaks = c(-3000, 0, 0.1, 70000),
      colors = c("#ff0000", "#cd853f", "#008000", "#008000")
    ),
    linkColorScaleOpts = colorScaleOptions(
      breaks = c(0, 0.25, 0.5, 0.75, 0.999, 1),
      colors = c("#88cc8a","#a4ce3b","#ffff30", "#f49518", "#ff0000")
    )
  )
)


rte-antares-rpackage/antaresWeeklyMargin documentation built on July 25, 2019, 8:23 p.m.