---
title: "Compare scenarios Transport"
output:
  html_document:
    df_print: paged
---

```{r, echo=FALSE, message=FALSE, warning=FALSE}
require(ggplot2)
require(moinput)
require(data.table)
require(dplyr)
require(remind)
require(gdxdt)
require(gdx)
require(rmndt)
require(data.table)

require(edgeTrpLib)
```


```{r, echo=FALSE, warning=FALSE}

dem_shares <- list()
intensity <- list()
demand_km <- list()
demand_ej <- list()
sw_tech <- list()
prices_FV <- list()

datapath <- function(fname){
  file.path("./input_EDGE/", fname)
}

mapspath <- function(fname, scenariopath=""){
    file.path("../../modules/35_transport/edge_esm/input", fname)
}

## Load mappings
EDGE2CESmap <- fread(mapspath("mapping_CESnodes_EDGE.csv"))

REMIND2ISO_MAPPING <- fread("../../config/regionmappingH12.csv")[, .(iso = CountryCode,
                                                                         region = RegionCode)]

EDGE2teESmap <- fread(mapspath("mapping_EDGE_REMIND_transport_categories.csv"))

years <- c(1990,
           seq(2005, 2060, by = 5),
           seq(2070, 2110, by = 10),
           2130, 2150)

REMINDyears <- c(1990,
           seq(2005, 2060, by = 5),
           seq(2070, 2110, by = 10),
           2130, 2150)

## include the paths to the scenarios you want to compare
output_folders <- "./"

for(output_folder in output_folders){
  ## load gdx for fuel prices and demand
  gdx = file.path(output_folder, "fulldata.gdx")
  ## load policy scenario
  load(file.path(output_folder, "config.Rdata"))
  REMIND_scenario <- cfg$gms$cm_GDPscen
  EDGE_scenario <- cfg$gms$cm_EDGEtr_scen
  policy_scenario <- cfg$gms$c_expname
  
  scen <- paste0(REMIND_scenario, "-", EDGE_scenario, "-", policy_scenario)
  
  ## load demand
  ES_demand = readREMINDdemand(gdx, REMIND2ISO_MAPPING, EDGE2teESmap, years)

  ## load input data
  int_dat <- readRDS(datapath("harmonized_intensities.RDS"))
  nonfuel_costs <- readRDS(datapath("UCD_NEC_iso.RDS"))
  sw_data <- readRDS(datapath("SW.RDS"))
  vot_data <- readRDS(datapath("VOT_iso.RDS"))
  logit_params <- readRDS(datapath("logit_exp.RDS"))
  price_nonmot <- readRDS(datapath("price_nonmot.RDS"))
  
    ## FIXME: hotfix to make the (empty) vot_data$value_time_VS1 with the right column types. Probably there is another way to do that, did not look for it.
  vot_data$value_time_VS1$iso = as.character(vot_data$value_time_VS1$iso)
  vot_data$value_time_VS1$subsector_L1 = as.character(vot_data$value_time_VS1$subsector_L1)
  vot_data$value_time_VS1$vehicle_type = as.character(vot_data$value_time_VS1$vehicle_type)
  vot_data$value_time_VS1$year = as.numeric(vot_data$value_time_VS1$year)
  vot_data$value_time_VS1$time_price = as.numeric(vot_data$value_time_VS1$time_price)
  
  ## calculate prices
  REMIND_prices <- merge_prices(
    gdx = gdx,
    REMINDmapping = REMIND2ISO_MAPPING,
    REMINDyears = REMINDyears,
    intensity_data = int_dat,
    nonfuel_costs = nonfuel_costs)

  ## calculates logit
  logit_data <- calculate_logit(
    REMIND_prices[tot_price > 0],
    REMIND2ISO_MAPPING,
    vot_data = vot_data,
    sw_data = sw_data,
    logit_params = logit_params,
    intensity_data = int_dat,
    price_nonmot = price_nonmot)


  shares <- logit_data[["share_list"]] ## shares of alternatives for each level of the logit function
  mj_km_data <- logit_data[["mj_km_data"]] ## energy intensity at a technology level
  prices_FV[[scen]] <- REMIND_prices[, EDGE_scenario := scen] ## prices at each level of the logit function, 1990USD/pkm

  ## calculate energy intensity and FE demand at a REMIND-region level for the desired level of aggregation
  res <- shares_intensity_and_demand(
    logit_shares=shares,
    MJ_km_base=mj_km_data,
    REMIND2ISO_MAPPING=REMIND2ISO_MAPPING,
    EDGE2CESmap=EDGE2CESmap,
    REMINDyears=REMINDyears,
    demand_input=ES_demand)

  dem_shares[[scen]] <- res$demand[, EDGE_scenario := scen]
  intensity[[scen]] <- res$demandI[, EDGE_scenario := scen]
  demand_km[[scen]] <- res$demandF_plot_pkm[, EDGE_scenario := scen]
  demand_ej[[scen]] <- res$demandF_plot_EJ[, EDGE_scenario := scen]
  sw_tech[[scen]] <- sw_data$FV_final_SW[, EDGE_scenario := scen]
}

dem_shares <- rbindlist(dem_shares)
intensity <- rbindlist(intensity)
demand_km <- rbindlist(demand_km)
demand_ej <- rbindlist(demand_ej)
sw_tech <- rbindlist(sw_tech)
prices_FV <- rbindlist(prices_FV)
```



```{r, echo=FALSE}
## plot settings
years_plot = c(2010,2015,2020,2025,2030,2040,2050) ## in bar charts, these are the time steps that are represented
year_single = 2050
region_plot = "NEU" ## in case is a region specific plot, this region is represented
sector_plot ="trn_pass" ## in case is a sector specific plot, this sector is represented


##conversion rate 2005->1990 USD
CONV_2005USD_1990USD=0.67

# print(paste0("Scenario: ", REMIND_scenario))
print(paste0("Regional plots are about ",region_plot))
print(paste0("Sectoral plots are about ",sector_plot))

## maps
cesmap <- data.table(CES_parent=c("_p_sm", "_p_lo", "_f_lo", "_f_sm"),
                     CES_label=c("Passenger, Short-to-Medium Distances",
                                 "Passenger, Long Distances",
                                 "Freight, Long Distances",
                                 "Freight, Short-to-Medium Distances"))

EDGE_sectormap <- data.table(sector=c("trn_pass", "trn_freight", "trn_aviation_intl", "trn_shipping_intl"),
                     CES_label=c("Passenger, Short-to-Medium Distances",
                                 "Passenger, Long Distances",
                                 "Freight, Long Distances",
                                 "Freight, Short-to-Medium Distances"))

```


```{r, echo=FALSE}
## aggregate demands to REMIND regions
demandF_plot_EJ <- demand_ej[,c("EDGE_scenario", "sector","subsector_L3","subsector_L2",
                                "subsector_L1","vehicle_type","technology", "iso","year","demand_EJ")]
demandF_plot_pkm <- demand_km[,c("EDGE_scenario", "sector","subsector_L3","subsector_L2",
                                 "subsector_L1","vehicle_type","technology","iso","year","demand_F")]

demandF_plot_EJ=aggregate_dt(demandF_plot_EJ,REMIND2ISO_MAPPING,
                             datacols = c("EDGE_scenario", "sector", "subsector_L3", "subsector_L2", "subsector_L1",
                                          "vehicle_type", "technology"),
                             valuecol = "demand_EJ")

demandF_plot_pkm=aggregate_dt(demandF_plot_pkm,REMIND2ISO_MAPPING,
                              datacol = c("EDGE_scenario", "sector","subsector_L3","subsector_L2",
                                          "subsector_L1","vehicle_type","technology"),
                              valuecol = "demand_F")
## add GLO
glo <- demandF_plot_pkm[,.(region="GLO", demand_F=sum(demand_F)),
                        by=eval(names(demandF_plot_pkm)[2:9])]
demandF_plot_pkm <- rbind(demandF_plot_pkm, glo)
glo <- demandF_plot_EJ[,.(region="GLO", demand_EJ=sum(demand_EJ)),
                        by=eval(names(demandF_plot_EJ)[2:9])]
demandF_plot_EJ <- rbind(demandF_plot_EJ, glo)

```

## ES


```{r, echo=FALSE}
##chunk of code that plots the ES
ES_modes_bar1=function(demandpkm){
  #group by subsector_L3 and summarise the demand
  df=demandpkm[, .(demand_F=sum(demand_F)
                   ), by = c("EDGE_scenario", "region", "year","sector","subsector_L1")]
  df[,demand_F:=demand_F   ## in millionkm
     *1e-6                 ## in trillion km
     ]
  df=df[order(year)]
  # #filter only 2020, 2050 and 2100
  df=df[year %in% years_plot,]
  #separate into passenger and freight categories
  pass=c("trn_pass","trn_aviation_intl")
  freight=c("trn_freight","trn_shipping_intl")
  ## give proper names to the categories  
  df=merge(df, edgeTrpLib::L1mapping, all.x=TRUE, by="subsector_L1")
  #plot
  plot_p=ggplot()+
    geom_bar(data=df%>%filter(sector %in% pass, year %in% years_plot, region == region_plot),
             aes(x=year,y=demand_F,group=mode,fill=mode),position=position_stack(),stat="identity")+
    facet_wrap(~EDGE_scenario)+
    ggtitle("Energy Services Demand - Passenger Transport Modes")+
    theme_light()+
    theme(axis.text.x = element_text(angle = 90, hjust = 1))+
    scale_x_continuous(breaks=years_plot)+
    xlab("Year")+
    ylab("Energy Services Demand (trillion pkm)")+ 
    guides(fill=guide_legend(title="Transport mode"))+
    theme(axis.text.x = element_text(angle = 90, hjust = 1),
          axis.text = element_text(size=13),
          title = element_text(size=13),
          legend.text = element_text(size=13))
  
  plot_f=ggplot()+
    geom_bar(data=df%>%filter(sector %in% freight,year %in% years_plot, region == region_plot),
             aes(x=year,y=demand_F,group=mode,fill=mode),position=position_stack(),stat="identity")+
    facet_wrap(~EDGE_scenario)+
    ggtitle("Energy Services Demand - Freight Transport Modes")+
    theme_light()+
    theme(axis.text.x = element_text(angle = 90, hjust = 1))+
    scale_x_continuous(breaks=years_plot)+
    xlab("Year")+
    ylab("Energy Services Demand (trillion tkm)")+ 
    guides(fill=guide_legend(title="Transport mode"))+
    theme(axis.text.x = element_text(angle = 90, hjust = 1),
          axis.text = element_text(size=13),
          title = element_text(size=13),
          legend.text = element_text(size=13))
  
  plot=list(plot_p,plot_f)
  return(plot)
}

p=ES_modes_bar1(demandpkm=demandF_plot_pkm)
p[[1]]
p[[2]]

```

```{r, echo=FALSE}
##chunk of code that plots the ES
ES_modes_bar=function(demandpkm){
  demandpkm[technology == "LA-BEV", technology := "BEV"]
  ## use proper non-fuel mode names
  demandpkm[technology %in% c("Cycle_tmp_technology", "Walk_tmp_technology"), technology := "Human Powered"]
  #group by subsector_L3 and summarise the demand
  df=demandpkm[, .(demand_F=sum(demand_F)),
               by = c("EDGE_scenario", "region", "year","sector","subsector_L1", "technology")]
  df[,demand_F:=demand_F   ## in millionkm
     *1e-6                 ## in trillion km
     ]
  df=df[order(year)]
  #separate into passenger and freight categories
  pass=c("trn_pass","trn_aviation_intl")
  freight=c("trn_freight","trn_shipping_intl")
  ## give proper names to the categories
  df=merge(df, edgeTrpLib::L1mapping, all.x=TRUE, by="subsector_L1")
  #plot
  plot_p=ggplot()+
    geom_bar(data=df%>%filter(sector %in% pass,year %in% years_plot,region==region_plot),
             aes(x=year,y=demand_F,group=technology,fill=technology),
             position=position_stack(),stat="identity")+
    ggtitle("Energy Services Demand by Technology, Passenger Transport, EUR")+
    theme_light()+
    facet_wrap(~EDGE_scenario)+
    scale_x_continuous(breaks=years_plot)+
    xlab("Year")+
    ylab("Energy Services Demand (trillion pkm)")+ 
    guides(fill=guide_legend(title="Technology"))+
    theme(axis.text.x = element_text(angle = 90, hjust = 1),
          axis.text = element_text(size=13),
          title = element_text(size=13),
          legend.text = element_text(size=13))
  
  plot_f=ggplot()+
    geom_bar(data=df%>%filter(sector %in% freight,year %in% years_plot, region==region_plot),
             aes(x=year,y=demand_F, group=technology, fill=technology),
             position=position_stack(),stat="identity")+
    ggtitle(paste0("Energy Services Demand by Technology, Freight Transport, ", region_plot))+
    facet_wrap(~EDGE_scenario) +
    theme_light()+
    scale_x_continuous(breaks=years_plot)+
    xlab("Year")+
    ylab("Energy Services Demand (trllion tkm)")+ 
    guides(fill=guide_legend(title="Technology"))+
    theme(axis.text.x = element_text(angle = 90, hjust = 1),
          axis.text = element_text(size=13),
          title = element_text(size=13),
          legend.text = element_text(size=13))
  
  plot=list(plot_p,plot_f)
  return(plot)
}

p=ES_modes_bar(demandpkm=demandF_plot_pkm)
p[[1]]
p[[2]]

```

```{r, echo=FALSE}
## plot ES for LDVs only divided by fuel
ES_modes_LDV_bar=function(demandpkm){
  demandpkm[technology == "LA-BEV", technology := "BEV"]
  ## use proper non-fuel mode names
  demandpkm[technology %in% c("Cycle_tmp_technology", "Walk_tmp_technology"), technology := "Human Powered"]
  #group by subsector_L3 and summarise the demand
  df=demandpkm[, .(demand_F=sum(demand_F)),
               by = c("EDGE_scenario", "region", "year","sector","subsector_L1", "technology")]
  df[,demand_F:=demand_F   ## in millionkm
     *1e-6                 ## in trillion km
     ]
  df=df[order(year)]
  ## give proper names to the categories
  df=merge(df, edgeTrpLib::L1mapping, all.x=TRUE, by="subsector_L1")
  
  
  ## select order of facets
  df$technology = factor(df$technology, levels=c("Liquids","Hybrid Liquids","NG","BEV","FCEV"))
  
  #plot
  plot_LDV=ggplot()+
    geom_bar(data=df%>%filter(year %in% years_plot,region==region_plot, mode %in% c("4W","2W")),
             aes(x=year,y=demand_F,group=technology,fill=technology), alpha = 0.9,
             position=position_stack(),stat="identity")+
    ggtitle(paste0("Energy Services Demand by Technology, LDVs", region_plot))+
    theme_light()+
    facet_wrap(~EDGE_scenario)+
    theme(axis.text.x = element_text(angle = 90, hjust = 1))+
    xlab("Year")+
    ylab("Energy Services Demand (trillion pkm)")+ 
    guides(fill=guide_legend(title="Technology"))+
    theme(axis.text.x = element_text(angle = 90, hjust = 1),
          axis.text = element_text(size=13),
          title = element_text(size=13),
          legend.text = element_text(size=13),
          strip.text.x = element_text(size = 13, color = "black"),
          strip.background=element_rect(fill="white"))+
    scale_x_continuous(breaks=years_plot)+
    scale_fill_brewer(palette = "Set1")
    
  
  return(plot_LDV)
}

p=ES_modes_LDV_bar(demandpkm=demandF_plot_pkm)

p

```

## FE

```{r, echo=FALSE}
FE_modes_bar=function(demandEJ){
  #group by subsector_L1 and summarise the demand
  df=demandEJ[, .(demand_EJ=sum(demand_EJ)),
              by = c("EDGE_scenario", "region", "year","subsector_L1","subsector_L3","sector")]
  df=df[order(year)]
  df=df[year %in% years_plot,]
  #separate into passenger and freight categories
  pass=c("trn_pass","trn_aviation_intl")
  freight=c("trn_freight","trn_shipping_intl")
  ## give proper names to the categories
  df <- merge(df, edgeTrpLib::L1mapping, all.x=TRUE, by="subsector_L1")
  #plot
  plot_p=ggplot()+
    geom_bar(data=df%>%filter(sector %in% pass, region==region_plot),
             aes(x=year,y=demand_EJ,group=mode,fill=mode),position=position_stack(),stat="identity",color="black")+
    facet_wrap(~EDGE_scenario)+
    ylab("Energy (EJ)") +
    ggtitle(paste0("Final Energy Demand by Mode, Passenger, ", region_plot))+
    theme(axis.text.x = element_text(angle = 90))+
    scale_x_continuous(breaks=years_plot)
  
  plot_f=ggplot()+
    geom_bar(data=df%>%filter(sector %in% freight,region==region_plot),
             aes(x=year,y=demand_EJ,group=mode,fill=mode),position=position_stack(),stat="identity",color="black")+
    facet_wrap(~EDGE_scenario) +
    ggtitle(paste0("Final Energy Demand by Mode, Freight, ", region_plot))+
    ylab("Energy (EJ)") +
    theme(axis.text.x = element_text(angle = 90))+
    scale_x_continuous(breaks=years_plot)
  
  plot=list(plot_p,plot_f)
  return(plot)
}

p=FE_modes_bar(demandEJ = demandF_plot_EJ)
p[[1]]
p[[2]]
```

```{r, echo=FALSE}
## function that calculates FE split and splits out the liquids by source
FE_modes_bar_oilcomponent=function(demandEJ, msect="trn_pass", region_plot){
  if(msect == "trn_pass")
    sector_display = "Passenger"
  if(msect == "trn_freight")
    sector_display = "Freight"
    
  #group by subsector_L1 and summarise the demand
  df=demandEJ[, .(demand_EJ=sum(demand_EJ)),
              by = c("EDGE_scenario", "region", "year","subsector_L1","subsector_L3","sector","technology")]
  df=df[order(year)]
  df=df[year %in% years_plot,]
  ## give proper names to the categories
  df=merge(df, edgeTrpLib::L1mapping, all.x=TRUE, by="subsector_L1")
  
  df[,technology := ifelse(technology == "LA-BEV", "BEV", technology)]
  df[,technology := ifelse(technology == "Electric", "El. Trains", technology)]
  ## select order of facerts
  df$technology = factor(df$technology, levels=c("BEV","FCEV","Hybrid Liquids", "El. Trains", "NG","Liquids", "Coal"))

  #plot
  plot_psm = ggplot()+
    geom_bar(data=df%>%filter(sector == msect, region == region_plot),
             aes(x=year,y=demand_EJ,group=technology,fill=technology),
             position=position_stack(),stat="identity", alpha = 0.9)+
    theme_light()+
    ggtitle(paste0("Final Energy Demand by Tech, ", sector_display, ", ", region_plot))+
    theme(axis.text.x = element_text(angle = 90),
        strip.text.x = element_text(size = 13, color = "black"))+
    scale_x_continuous(breaks=years_plot)+
    scale_fill_brewer(palette = "Set1")+
    xlab("Year")+
    ylab("Final energy demand [EJ]")+ 
    facet_wrap(~EDGE_scenario) +
    guides(fill=guide_legend(title="Technology"))
  
    plot_psm_LDV = ggplot()+
    geom_bar(data=df%>%filter(sector == msect, region == region_plot, mode == "4W"),
             aes(x=year,y=demand_EJ,group=technology,fill=technology),
             position=position_stack(),stat="identity", alpha = 0.9)+
    theme_light()+
    ggtitle(paste0("Final Energy Demand by Tech, LDVs, ", region_plot))+
    theme(axis.text.x = element_text(angle = 90),
          strip.text.x = element_text(size = 13, color = "black"),
          strip.background=element_rect(fill="white"),
          axis.text = element_text(size=13),
          title = element_text(size=13),
          legend.text = element_text(size=13))+
    scale_x_continuous(breaks=years_plot)+
    scale_fill_brewer(palette = "Set1")+
    xlab("Year")+
    ylab("Final energy demand [EJ]")+ 
    facet_wrap(~EDGE_scenario) +
    guides(fill=guide_legend(title="Technology"))  
  
    plot_list = list(plot_psm, plot_psm_LDV)
  return(plot_list)
}



FE_modes_bar_oilcomponent(demandEJ = demandF_plot_EJ, msect="trn_pass", region=region_plot)
FE_modes_bar_oilcomponent(demandEJ = demandF_plot_EJ, msect="trn_pass", region="GLO")

```


```{r, echo=FALSE}
FE_modes_bar1=function(demandEJ, msect="trn_pass", region_plot){
  if(msect == "trn_pass")
    sector_display = "Passenger"
  if(msect == "trn_freight")
    sector_display = "Freight"

  ## group by subsector_L1 and summarise the demand
  df=demandEJ[, .(demand_EJ=sum(demand_EJ)),
              by = c("EDGE_scenario", "region", "year","subsector_L1","sector")]
  df=df[order(year) & year %in% years_plot]
  ## give proper names to the categories
  df=merge(df, edgeTrpLib::L1mapping, all.x=TRUE, by="subsector_L1")
  #plot
  plot_p=ggplot()+
    geom_bar(data=df%>%filter(sector == msect, region == region_plot),
             aes(x=year,y=demand_EJ,group=mode,fill=mode),
             position=position_stack(),stat="identity",color="black")+
    facet_wrap(~EDGE_scenario) +
    ylab("Energy (EJ)") +
    ggtitle(paste0("Final Energy Demand by Mode, ", sector_display, ", ", region_plot))+
    theme(axis.text.x = element_text(angle = 90))+
    scale_x_continuous(breaks=years_plot)
  
  return(plot_p)
}

FE_modes_bar1(demandEJ = demandF_plot_EJ, region_plot = region_plot)
```



```{r, echo=FALSE}
FE_modes_bar_oilVSelec=function(demandEJ, region_plot){
  sector_display = "Total transport"
  ## group by subsector_L1 and summarise the demand
  df=demandEJ[, .(demand_EJ=sum(demand_EJ)),
              by = c("EDGE_scenario", "region", "year","subsector_L1","sector","technology")]
  df[, tech_plot := ifelse(technology %in% c("BEV","Electric"), "Electriciy", NA)]
  df[, tech_plot := ifelse(technology %in% c("Liquids", "Hybrid Liquids"), "Liquids", tech_plot)]
  df=df[!is.na(tech_plot),] ## only liquids and electric driven entries interesting
  df=df[order(year) & year %in% years_plot]
  ## give proper names to the categories
  df=merge(df, edgeTrpLib::L1mapping, all.x=TRUE, by="subsector_L1")
  df[,short_names:=ifelse(mode %in% c("Buses","Rail Passenger","High Speed Rail"),"Other Passenger",NA)]
  df[,short_names:=ifelse(mode %in% c("2W","4W","Three Wheelers"),"LDV",short_names)]
  df[,short_names:=ifelse(mode %in% c("Domestic Aviation","International Aviation"),"Aviation",short_names)]
  df[,short_names:=ifelse(mode %in% c("International Shipping","Domestic Shipping"),"Shipping",short_names)]
  df[,short_names:=ifelse(mode %in% c("Road Freight","Rail Freight"),"Road and Rail Freight",short_names)]
  
  #plot
  plot_p=ggplot()+
    geom_bar(data=df%>%filter(region == region_plot, year ==2050),
             aes(x=tech_plot,y=demand_EJ,group=short_names,fill=short_names),
             position=position_stack(),stat="identity",alpha=0.95)+
    facet_wrap(~EDGE_scenario) +
    ylab("Energy (EJ)") +
    ggtitle(paste0("Final Energy Demand by Mode in 2050, total transport ", region_plot))+
    theme_light()+
    theme(axis.text.x = element_text(angle = 90),
          axis.title.x = element_blank(),
          strip.text.x = element_text(size = 13, color = "black"),
          strip.background=element_rect(fill="white"),
          axis.text = element_text(size=13),
          title = element_text(size=13),
          legend.text = element_text(size=13))+
    scale_fill_brewer(palette = "Set2")+
    guides(fill=guide_legend(title="Transport mode"))
  
  return(plot_p)
}

FE_modes_bar_oilVSelec(demandEJ = demandF_plot_EJ, region_plot = region_plot)
```


## FE composition

```{r, echo=FALSE}

FE_modeshares_area=function(demandEJ){
  #group by subsector_L3 and summarise the demand
  df=demandEJ[, .(demand_EJ=sum(demand_EJ)),
              by = c("EDGE_scenario", "region", "year","subsector_L3")]
  #order by year
  df=df[order(year)]
  df=df[year>=2005,]
  #plot
  plot=ggplot()+
    geom_area(data=df %>% filter(year <= max(years_plot), region == region_plot),
              aes(x=year,y=demand_EJ,group=subsector_L3,fill=subsector_L3),
              color="black")+
    facet_wrap(~EDGE_scenario)+
    ylab("Energy (EJ)") +
    ggtitle("Final Energy Demand, Mode composition")+
    theme(axis.text.x = element_text(angle = 90, hjust = 1))
  
  return(plot)
}

p=FE_modeshares_area(demandEJ = demandF_plot_EJ)
p
## ggsave("FE_modeshares.png")
```



```{r, echo=FALSE}
## fuel use by sector
fuel_shares_area=function(demandEJ, msect="trn_pass", region_plot){
  if(msect == "trn_pass")
    sector_display = "Passenger"
  if(msect == "trn_freight")
    sector_display = "Freight"
  ##group by sector and technology and summarise demand
  df=demandEJ[, .(demand_EJ=sum(demand_EJ)),
              by = c("EDGE_scenario", "region", "year","technology","sector")]

  df=df[order(year) & year>=2005,]
  #plot
  plot1=ggplot()+
    geom_area(data=df%>%filter(sector == msect, year <= max(years_plot), region == region_plot),
              aes(x=year,y=demand_EJ,group=technology,fill=technology),position="fill")+
    facet_wrap(~EDGE_scenario)+
    ggtitle(paste0("Final Energy Demand, ", sector_display, ", Fuel Composition"))+
    ylab("Share")
    theme(axis.text.x = element_text(angle = 90, hjust = 1))
    
  return(plot1)
}

p=fuel_shares_area(demandEJ = demandF_plot_EJ, region_plot = region_plot)
p

```


```{r, echo=FALSE}

SW_trend_plot = function(FV_SW,sector_plot){
  if (sector_plot == "trn_pass") {
  FV_SW=FV_SW[iso=="DEU" & vehicle_type =="Large Car and SUV",]
  } else if (sector_plot =="trn_freight"){
  FV_SW=FV_SW[iso=="DEU" & vehicle_type =="Truck (16-32t)",]
  } else if (sector_plot =="trn_aviation_intl"){
  FV_SW=FV_SW[iso=="DEU" & subsector_L3 =="International Aviation",]
  } else if (sector_plot =="trn_shipping_intl"){
  FV_SW=FV_SW[iso=="DEU" & subsector_L3 =="International Ship",]
  }
  FV_SW[,type:=ifelse(technology=="Liquids", "Conventional ICE (Liquid fuels)",NA)]
  FV_SW[,type:=ifelse(technology=="NG", "Natural Gas ICE",type)]
  FV_SW[,type:=ifelse(technology=="BEV", "Alternative fuels: BEV",type)]
  FV_SW[,type:=ifelse(technology=="FCEV", "Alternative fuels: FCEV",type)]
  FV_SW[,type:=ifelse(technology=="Hybrid Liquids", "Unconventional ICE (Hybrid)",type)]
  
  p=ggplot()+
    geom_line(data=FV_SW%>%filter(year>= min(years_plot), year<=max(years_plot)),aes(x=year,y=sw,group=type,color=type),alpha = 0.8,size=1.5)+
    theme_light()+
    facet_wrap(~EDGE_scenario)+
    theme(axis.text.x = element_text(angle = 90, hjust = 1),
          axis.text = element_text(size=13),
          title = element_text(size=14),
          legend.text = element_text(size=13))+
    scale_x_continuous(breaks=years_plot)+
    xlab("Year")+
    ylab ("Preference factors tech. types [-]")+
    ggtitle(paste0("Preference factors trend for tech. types for ", sector_plot, " [-]"))+
    theme(strip.text.x = element_text(size=13,color="black"),
          strip.background = element_rect(fill="white",color = "black"))+
    scale_color_discrete(name="Technology type")
  return(p)
  }

p=SW_trend_plot(FV_SW=sw_tech,sector_plot)
p
```