
#### 0_2 Merging Z-variables ####
#### Import data from previous notice ####
load(file = "./Data/geo_variables.Rdata")
load(file = "./Data/costs_t_2.Rdata")

# Defining variables that are summed for all merging companies
harm.var_sum = c("ldz_n.mgc_sum")

# Defining variables weighted with number of map grid cells
dat_geo <- dat_geo %>% dplyr::rename(y = y.cb)
dat_geo$id.y <- paste(dat_geo$id, dat_geo$y, sep="")
ldz_harm.var_gc <- startsWith(colnames(dat_geo), prefix = "ldz")
ldz_harm.var_gc <- colnames(dat_geo)[ldz_harm.var_gc]

# Defining merging companies
fusjon_KrødsheradEverktilNorefjellNettAS = c(824701482,971030658)
fusjon_STRYNENERGIASTILMØRENETTAS = c(912631532,976626192)
fusjon_FlesbergElektrisitetsverkAStilMidtnettAS = c(917856222,982677386)
fusjon_SVORKAENERGIAStilSNETTAS = c(923819177,919763159)
fusjon_SUNNDALENERGIKFTILSUNETTAS = c(924330678,971029102)
fusjon_SOGNEKRAFTASTILSYGNIRAS = c(924619260,916069634,925174343,925906182)
fusjon_NORDKYNKRAFTLAGSATILLEGANETTAS = c(924868759,956740134)
fusjon_LUOSTEJOKKRAFTLAGSAtilLUOSTEJOKKRAFTLAGNETTAS = c(924934867,938260494)
fusjon_RAULANDKRAFTFORSYNINGSLAGSATILRKNETTAS = c(925017809,915317898)
fusjon_AltrakraftlagtilAlutAS = c(925336637,971029390)
fusjon_SYKKYLVENENERGIASTILSTRAUMENNETTAS = c(925354813,979918224)
fusjon_NEASAStilMELLOMAS = c(925668389,960684737)
fusjon_VEST_TELEMARKKRAFTLAGAStilVEST_TELEMARKKRAFTLAGNETTAS = c(925803375,955996836)
fusjon_RAUMAENERGIASTILROMSDALSNETTAS = c(926377841,970974253)
fusjon_NESSETKRAFTAStilELINETTAS = c(979379455,981375521)
fusjon_PORSAKRAFTLAGtilLUCERNATidligereHammerfest = c(982897327,915231640)
fusjon_NORDKRAFTNETTASTILHÅLOGALANDKRAFTNETTAS = c(985411131,983099807)

list <- list() 

list$KrødsheradEverktilNorefjellNettAS = merge_ldz_rdz(comps = fusjon_KrødsheradEverktilNorefjellNettAS, new.org = 824701482 , new.id = 95 , new.name = "fusjonert_KrødsheradEverktilNorefjellNettAS" , sum_variables = harm.var_sum, ldz_weighted.var = ldz_harm.var_gc, df =dat_geo)$mds
list$STRYNENERGIASTILMØRENETTAS = merge_ldz_rdz(comps = fusjon_STRYNENERGIASTILMØRENETTAS, new.org = 912631532 , new.id = 460 , new.name = "fusjonert_STRYNENERGIASTILMØRENETTAS" , sum_variables = harm.var_sum, ldz_weighted.var = ldz_harm.var_gc, df =dat_geo)$mds
list$FlesbergElektrisitetsverkAStilMidtnettAS = merge_ldz_rdz(comps = fusjon_FlesbergElektrisitetsverkAStilMidtnettAS, new.org = 917856222 , new.id = 591 , new.name = "fusjonert_FlesbergElektrisitetsverkAStilMidtnettAS" , sum_variables = harm.var_sum, ldz_weighted.var = ldz_harm.var_gc, df =dat_geo)$mds
list$SVORKAENERGIAStilSNETTAS = merge_ldz_rdz(comps = fusjon_SVORKAENERGIAStilSNETTAS, new.org = 923819177 , new.id = 274 , new.name = "fusjonert_SVORKAENERGIAStilS-NETTAS" , sum_variables = harm.var_sum, ldz_weighted.var = ldz_harm.var_gc, df =dat_geo)$mds
list$SUNNDALENERGIKFTILSUNETTAS = merge_ldz_rdz(comps = fusjon_SUNNDALENERGIKFTILSUNETTAS, new.org = 924330678 , new.id = 599 , new.name = "fusjonert_SUNNDALENERGIKFTILSUNETTAS" , sum_variables = harm.var_sum, ldz_weighted.var = ldz_harm.var_gc, df =dat_geo)$mds
list$SOGNEKRAFTASTILSYGNIRAS = merge_ldz_rdz(comps = fusjon_SOGNEKRAFTASTILSYGNIRAS, new.org = 924619260 , new.id = 197 , new.name = "fusjonert_SOGNEKRAFTASTILSYGNIRAS" , sum_variables = harm.var_sum, ldz_weighted.var = ldz_harm.var_gc, df =dat_geo)$mds
list$NORDKYNKRAFTLAGSATILLEGANETTAS = merge_ldz_rdz(comps = fusjon_NORDKYNKRAFTLAGSATILLEGANETTAS, new.org = 924868759 , new.id = 138 , new.name = "fusjonert_NORDKYNKRAFTLAGSATILLEGANETTAS" , sum_variables = harm.var_sum, ldz_weighted.var = ldz_harm.var_gc, df =dat_geo)$mds
list$LUOSTEJOKKRAFTLAGSAtilLUOSTEJOKKRAFTLAGNETTAS = merge_ldz_rdz(comps = fusjon_LUOSTEJOKKRAFTLAGSAtilLUOSTEJOKKRAFTLAGNETTAS, new.org = 924934867 , new.id = 103 , new.name = "fusjonert_LUOSTEJOKKRAFTLAGSAtilLUOSTEJOKKRAFTLAGNETTAS" , sum_variables = harm.var_sum, ldz_weighted.var = ldz_harm.var_gc, df =dat_geo)$mds
list$RAULANDKRAFTFORSYNINGSLAGSATILRKNETTAS = merge_ldz_rdz(comps = fusjon_RAULANDKRAFTFORSYNINGSLAGSATILRKNETTAS, new.org = 925017809 , new.id = 161 , new.name = "fusjonert_RAULANDKRAFTFORSYNINGSLAGSATILRKNETTAS" , sum_variables = harm.var_sum, ldz_weighted.var = ldz_harm.var_gc, df =dat_geo)$mds
list$AltrakraftlagtilAlutAS = merge_ldz_rdz(comps = fusjon_AltrakraftlagtilAlutAS, new.org = 925336637 , new.id = 7 , new.name = "fusjonert_AltrakraftlagtilAlutAS" , sum_variables = harm.var_sum, ldz_weighted.var = ldz_harm.var_gc, df =dat_geo)$mds
list$SYKKYLVENENERGIASTILSTRAUMENNETTAS = merge_ldz_rdz(comps = fusjon_SYKKYLVENENERGIASTILSTRAUMENNETTAS, new.org = 925354813 , new.id = 213 , new.name = "fusjonert_SYKKYLVENENERGIASTILSTRAUMENNETTAS" , sum_variables = harm.var_sum, ldz_weighted.var = ldz_harm.var_gc, df =dat_geo)$mds
list$NEASAStilMELLOMAS = merge_ldz_rdz(comps = fusjon_NEASAStilMELLOMAS, new.org = 925668389 , new.id = 311 , new.name = "fusjonert_NEASAStilMELLOMAS" , sum_variables = harm.var_sum, ldz_weighted.var = ldz_harm.var_gc, df =dat_geo)$mds
list$VESTTELEMARKKRAFTLAGAStilVESTTELEMARKKRAFTLAGNETTAS = merge_ldz_rdz(comps = fusjon_VEST_TELEMARKKRAFTLAGAStilVEST_TELEMARKKRAFTLAGNETTAS, new.org = 925803375 , new.id = 251 , new.name = "fusjonert_VEST_TELEMARKKRAFTLAGAStilVEST_TELEMARKKRAFTLAGNETTAS" , sum_variables = harm.var_sum, ldz_weighted.var = ldz_harm.var_gc, df =dat_geo)$mds
list$RAUMAENERGIASTILROMSDALSNETTAS = merge_ldz_rdz(comps = fusjon_RAUMAENERGIASTILROMSDALSNETTAS, new.org = 926377841 , new.id = 162 , new.name = "fusjonert_RAUMAENERGIASTILROMSDALSNETTAS" , sum_variables = harm.var_sum, ldz_weighted.var = ldz_harm.var_gc, df =dat_geo)$mds
list$NESSETKRAFTAStilELINETTAS = merge_ldz_rdz(comps = fusjon_NESSETKRAFTAStilELINETTAS, new.org = 979379455 , new.id = 86 , new.name = "fusjonert_NESSETKRAFTAStilELINETTAS" , sum_variables = harm.var_sum, ldz_weighted.var = ldz_harm.var_gc, df =dat_geo)$mds
list$PORSAKRAFTLAGtilLUCERNATidligereHammerfest = merge_ldz_rdz(comps = fusjon_PORSAKRAFTLAGtilLUCERNATidligereHammerfest, new.org = 982897327 , new.id = 65 , new.name = "fusjonert_PORSAKRAFTLAGtilLUCERNATidligereHammerfest" , sum_variables = harm.var_sum, ldz_weighted.var = ldz_harm.var_gc, df =dat_geo)$mds
list$NORDKRAFTNETTASTILHÅLOGALANDKRAFTNETTAS = merge_ldz_rdz(comps = fusjon_NORDKRAFTNETTASTILHÅLOGALANDKRAFTNETTAS, new.org = 985411131 , new.id = 433 , new.name = "fusjonert_NORDKRAFTNETTASTILHÅLOGALANDKRAFTNETTAS" , sum_variables = harm.var_sum, ldz_weighted.var = ldz_harm.var_gc, df =dat_geo)$mds

# Combining all rows in the list into one data frame 
merged_ldz <- do.call("rbind", list) 
#merged_ldz <- merged_ldz[,c(2,3,1,5,6,7,8,9,10,11,12,13,14,15,16,4)]

# Deleting companies who have merged (with IDs equal to IDs of merged companies)
dat_geo = dat_geo[!(dat_geo$id %in% merged_ldz$id),] 

# Adding newly merged companies 
merged_ldz = merged_ldz %>% select(-c(comp, name))
dat_geo <- dat_geo %>% select(-c(ap.t_2, pnl.rc))
dat_geo <- rbind(dat_geo, merged_ldz) 

# Merging data
dat_geo = dat_geo %>% select(-c(orgn, y, id.y))
dat <- merge.data.frame(dat, dat_geo, by = "id", all.x = T)

# Creating ldz_prod
ldz_prod = dat[dat$y == y.cb, c("orgn","ldz_innmat_midl","ldz_le")]
ldz_prod$ldz_prod = ldz_prod$ldz_innmat_midl /ldz_prod$ldz_le
ldz_prod$ldz_prod[!is.finite(ldz_prod$ldz_prod)] <- 0 # Removing NaN and Inf values
ldz_prod = ldz_prod %>% select(-c(ldz_innmat_midl, ldz_le))
dat <- merge.data.frame(dat, ldz_prod, by = "orgn", all.x = T )

print(unique(dat[is.na(dat$ldz_mgc), "comp" ]))
length(dat[is.na(dat)])

# Deleting NAs
dat[is.na(dat)] <- 0

# Sorting data
idasvector <- as.vector(dat$id)
dat <- dat[order(idasvector),]
rm(idasvector, ldz_prod, merged_ldz, list)

