diff --git a/scripts/iterative/EDGE_transport.R b/scripts/iterative/EDGE_transport.R index 286be15e68935dcc5f4b9fa05048d12174fd2722..1f04d9bee2e958f34e69e914955f2757548f3f36 100644 --- a/scripts/iterative/EDGE_transport.R +++ b/scripts/iterative/EDGE_transport.R @@ -255,7 +255,6 @@ if (opt$reporting) { saveRDS(shares, file = datapath("shares.RDS")) saveRDS(logit_data$EF_shares, file = datapath("EF_shares.RDS")) saveRDS(logit_data$mj_km_data, file = datapath("mj_km_data.RDS")) - saveRDS(logit_data$inconv_cost, file=datapath("inco_costs.RDS")) saveRDS(shares_int_dem$demandF_plot_EJ, file=datapath("demandF_plot_EJ.RDS")) saveRDS(shares_int_dem$demandF_plot_pkm, @@ -317,7 +316,16 @@ for (i in names(finalInputs)) { ## calculate shares finalInputs$shFeCes = finalInputs$demByTech[, value := value/sum(value), by = c("tall", "all_regi", "all_in")] - +## 7 decimals the lowest accepted value +finalInputs$shFeCes[, value := round(value, digits = 7)] +finalInputs$shFeCes[, value := ifelse(value == 0, 1e-7, value)] +finalInputs$shFeCes[, sumvalue := sum(value), by = c("tall", "all_regi", "all_in")] +finalInputs$shFeCes[, maxtech := ifelse(value == max(value), TRUE, FALSE), by =c("tall", "all_regi", "all_in")] + +## attribute the variation to the maximum share value +finalInputs$shFeCes[sumvalue!=1 & maxtech==TRUE, value := value + (1-sumvalue), by = c("tall", "all_regi")] +## remove temporary columns +finalInputs$shFeCes[, c("sumvalue", "maxtech") := NULL] ## CapCosts writegdx.parameter("p35_esCapCost.gdx", finalInputs$capCost, "p35_esCapCost",