From a53e3fb6ade12cb77c792a0ef24474f7ee7b7e29 Mon Sep 17 00:00:00 2001 From: Hanspeter85 Date: Mon, 27 Apr 2020 17:59:27 +0200 Subject: [PATCH] Restructured the folders in settings and concordances. One data feed creates problems, testing underway. --- ...ditional_Root2Mother_Sec_Ind30Pro39v1.xlsx | Bin 0 -> 35141 bytes .../IRP/20200426_IRP_Extraction_SecConc.xlsx | Bin 0 -> 20578 bytes ...20200426_30Industries_SectorAggregator.csv | 76 ++ .../20200426_39Products_SectorAggregator.csv | 266 +++++ ...20200421_30Industries_SectorAggregator.csv | 76 ++ .../20200421_39Products_SectorAggregator.csv | 266 +++++ .../WSA/20200426_WSA_Source2Root_Industry.csv | 27 + .../WSA/20200426_WSA_Source2Root_Product.csv | 27 + .../20200421_WSA_Source2Root_Industry.csv | 27 + .../20200421_WSA_Source2Root_Product.csv | 27 + .../WSA/WSA_Source2Root_WithLabelsV4.xlsx | Bin 0 -> 51305 bytes .../Archive/Ind20Pro22v1_InitialEstimate.m | 49 + .../Archive/Ind30Pro40v1_InitialEstimate.m | 49 + IEfeeds_code/IEsettings/IE_longnames.txt | 1 - IEfeeds_code/IEsettings/IE_shortnames.txt | 1 - .../datafeed_PIOLab_InitialEstimate.m | 4 - .../Archive/Ind20Pro22v1_InitialEstimate.R | 173 +++ .../Archive/Ind30Pro40v1_InitialEstimate.R | 232 ++++ .../IEDataProcessing_PIOLab_AligningData.R | 148 +++ ...Processing_PIOLab_BuildingDomesticTables.R | 396 +++++++ ...ataProcessing_PIOLab_WasteMFAIOExtension.R | 149 +++ ...DataProcessing_PIOLab_WasteMFAIOModelRun.R | 141 +++ .../Archive/IEFeed_PIOLab_EXIOWasteMFAIO.R | 146 +++ .../IEDataProcessing_PIOLab_AligningData.R | 197 ++-- ...essing_PIOLab_BuildS8fromSupplyUseTables.R | 2 - ...Processing_PIOLab_BuildingDomesticTables.R | 1023 +++++++++++------ ...ataProcessing_PIOLab_BuildingTradeBlocks.R | 25 +- ...ataProcessing_PIOLab_WasteMFAIOExtension.R | 366 ++++-- ...DataProcessing_PIOLab_WasteMFAIOModelRun.R | 49 +- .../IE_subroutines/IEFeed_PIOLab_BACI.R | 3 +- .../IE_subroutines/IEFeed_PIOLab_Cullen.R | 2 - .../IE_subroutines/IEFeed_PIOLab_EOL.R | 3 - .../IEFeed_PIOLab_EXIOWasteMFAIO.R | 357 ++++-- .../IE_subroutines/IEFeed_PIOLab_Grades.R | 2 - .../IE_subroutines/IEFeed_PIOLab_IEA.R | 2 - .../IE_subroutines/IEFeed_PIOLab_IRP.R | 2 - .../IEFeed_PIOLab_SteelIndustryYields.R | 3 +- .../IE_subroutines/IEFeed_PIOLab_WSA.R | 1 - .../Ind30Pro39v1_InitialEstimate.R | 79 +- Rscripts/Subroutines/InitializationR.R | 17 +- .../Subroutines/Load_Root2Mother_sectors.R | 26 +- .../Subroutines/Read_BaseClassification.R | 26 +- .../concfeed_Root2Mother_sectors.R | 24 +- .../concfeed_WSA_Source2Root_sectors.R | 5 +- .../Archive/datafeed_PIOLab_IRPexports.R | 137 +++ .../Archive/datafeed_PIOLab_IRPimports.R | 139 +++ .../datafeeds_code/datafeed_PIOLab_BACI.R | 11 +- .../datafeed_PIOLab_IRPextraction.R | 25 +- .../CreateALANGforWSAdata.R | 32 +- .../Base/002_BaseRegionClassification.xlsx | Bin 0 -> 8648 bytes .../Base/005_BaseRegionClassification.xlsx | Bin 0 -> 8690 bytes .../Base/049_BaseRegionClassification.xlsx | Bin 0 -> 10791 bytes ...Ind20Pro22v1_BaseSectorClassification.xlsx | Bin 0 -> 10321 bytes ...Ind30Pro40v1_BaseSectorClassification.xlsx | Bin 0 -> 23985 bytes .../PIOLab_RootClassification_OLD.xlsx | Bin 0 -> 40027 bytes Settings/Base/IE_settings.xlsx | Bin 0 -> 11137 bytes ...Ind30Pro39v1_BaseSectorClassification.xlsx | Bin 0 -> 25873 bytes .../Legends/Archive/._RootRegionLegend.xlsx | Bin 0 -> 4096 bytes .../Legends/Archive/._RootSectorLegend.xlsx | Bin 0 -> 4096 bytes .../Archive/.~lock.RootRegionLegend.xlsx# | 1 + .../Legends/Archive/RootRegionLegend.xlsx | Bin 0 -> 31572 bytes .../Legends/Archive/RootSectorLegend.xlsx | Bin 0 -> 281795 bytes .../Legends/PIOLab_RootClassification.xlsx | Bin 0 -> 45199 bytes Settings/datafeeds_settings/IRP_settings.xlsx | Bin 0 -> 8162 bytes Settings/datafeeds_settings/WSA_settings.xlsx | Bin 11372 -> 10684 bytes .../datafeeds_settings/df_RSE_settings.xlsx | Bin 0 -> 9809 bytes .../Archive/datafeed_PIOLab_IRPexports.m | 5 + .../Archive/datafeed_PIOLab_IRPimports.m | 5 + 68 files changed, 3931 insertions(+), 919 deletions(-) create mode 100644 ConcordanceLibrary/Additional/20200426_Additional_Root2Mother_Sec_Ind30Pro39v1.xlsx create mode 100644 ConcordanceLibrary/IRP/20200426_IRP_Extraction_SecConc.xlsx create mode 100644 ConcordanceLibrary/Sector Aggregators/20200426_30Industries_SectorAggregator.csv create mode 100644 ConcordanceLibrary/Sector Aggregators/20200426_39Products_SectorAggregator.csv create mode 100644 ConcordanceLibrary/Sector Aggregators/Archive/20200421_30Industries_SectorAggregator.csv create mode 100644 ConcordanceLibrary/Sector Aggregators/Archive/20200421_39Products_SectorAggregator.csv create mode 100644 ConcordanceLibrary/WSA/20200426_WSA_Source2Root_Industry.csv create mode 100644 ConcordanceLibrary/WSA/20200426_WSA_Source2Root_Product.csv create mode 100644 ConcordanceLibrary/WSA/Archive/20200421_WSA_Source2Root_Industry.csv create mode 100644 ConcordanceLibrary/WSA/Archive/20200421_WSA_Source2Root_Product.csv create mode 100644 ConcordanceLibrary/WSA/WSA_Source2Root_WithLabelsV4.xlsx create mode 100644 IEfeeds_code/Archive/Ind20Pro22v1_InitialEstimate.m create mode 100644 IEfeeds_code/Archive/Ind30Pro40v1_InitialEstimate.m create mode 100644 Rscripts/IEfeeds_code/Archive/Ind20Pro22v1_InitialEstimate.R create mode 100644 Rscripts/IEfeeds_code/Archive/Ind30Pro40v1_InitialEstimate.R create mode 100644 Rscripts/IEfeeds_code/IE_subroutines/Archive/IEDataProcessing_PIOLab_AligningData.R create mode 100644 Rscripts/IEfeeds_code/IE_subroutines/Archive/IEDataProcessing_PIOLab_BuildingDomesticTables.R create mode 100644 Rscripts/IEfeeds_code/IE_subroutines/Archive/IEDataProcessing_PIOLab_WasteMFAIOExtension.R create mode 100644 Rscripts/IEfeeds_code/IE_subroutines/Archive/IEDataProcessing_PIOLab_WasteMFAIOModelRun.R create mode 100644 Rscripts/IEfeeds_code/IE_subroutines/Archive/IEFeed_PIOLab_EXIOWasteMFAIO.R create mode 100644 Rscripts/datafeeds_code/Archive/datafeed_PIOLab_IRPexports.R create mode 100644 Rscripts/datafeeds_code/Archive/datafeed_PIOLab_IRPimports.R create mode 100644 Settings/Base/002_BaseRegionClassification.xlsx create mode 100644 Settings/Base/005_BaseRegionClassification.xlsx create mode 100644 Settings/Base/049_BaseRegionClassification.xlsx create mode 100644 Settings/Base/Archive/Ind20Pro22v1_BaseSectorClassification.xlsx create mode 100644 Settings/Base/Archive/Ind30Pro40v1_BaseSectorClassification.xlsx create mode 100644 Settings/Base/Archive/PIOLab_RootClassification_OLD.xlsx create mode 100644 Settings/Base/IE_settings.xlsx create mode 100644 Settings/Base/Ind30Pro39v1_BaseSectorClassification.xlsx create mode 100644 Settings/Root/Legends/Archive/._RootRegionLegend.xlsx create mode 100644 Settings/Root/Legends/Archive/._RootSectorLegend.xlsx create mode 100644 Settings/Root/Legends/Archive/.~lock.RootRegionLegend.xlsx# create mode 100644 Settings/Root/Legends/Archive/RootRegionLegend.xlsx create mode 100644 Settings/Root/Legends/Archive/RootSectorLegend.xlsx create mode 100644 Settings/Root/Legends/PIOLab_RootClassification.xlsx create mode 100644 Settings/datafeeds_settings/IRP_settings.xlsx create mode 100644 Settings/datafeeds_settings/df_RSE_settings.xlsx create mode 100644 datafeeds_code/Archive/datafeed_PIOLab_IRPexports.m create mode 100644 datafeeds_code/Archive/datafeed_PIOLab_IRPimports.m diff --git a/ConcordanceLibrary/Additional/20200426_Additional_Root2Mother_Sec_Ind30Pro39v1.xlsx b/ConcordanceLibrary/Additional/20200426_Additional_Root2Mother_Sec_Ind30Pro39v1.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..5e6fc1890716e39c510518a82fd54b487f8395ee GIT binary patch literal 35141 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 YzM3K`d>$Ym;K3gi@HrA5{_E(!0D`H8;{X5v literal 0 HcmV?d00001 diff --git a/ConcordanceLibrary/IRP/20200426_IRP_Extraction_SecConc.xlsx b/ConcordanceLibrary/IRP/20200426_IRP_Extraction_SecConc.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..fc3248d0ba36ee9df193291dad43b3edc363d447 GIT binary patch literal 20578 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

-WMCUa@yRwzO@qy3icyPCse4l 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 size(RegMap,2) % check orientation of aggregator + RegMap = RegMap'; + end + + reg_proxy = ones(size(RegMap,2),1); + RegMap = prorate(RegMap,'col_proxy',reg_proxy); + + % Product aggregator + ProdMap = csvread(handles.sectoraggprod); + + if size(ProdMap,1) > size(ProdMap,2) % check orientation of aggregator + ProdMap = ProdMap'; + end + + prod_proxy = ones(size(ProdMap,2),1); + ProdMap = prorate(ProdMap,'col_proxy',prod_proxy); + + % Industry aggregator + IndMap = csvread(handles.sectoragg); + + if size(IndMap,1) > size(IndMap,2) % check orientation of aggregator + IndMap = IndMap'; + end + + ind_proxy = ones(size(IndMap,2),1); + IndMap = prorate(IndMap,'col_proxy',ind_proxy); + + command = 'Rscript /import/emily1/isa/IELab/Roots/PIOLab/Rscripts/IEfeeds_code/Ind20Pro22v1_InitialEstimate.R'; + system(command,'-echo'); + + end \ No newline at end of file diff --git a/IEfeeds_code/Archive/Ind30Pro40v1_InitialEstimate.m b/IEfeeds_code/Archive/Ind30Pro40v1_InitialEstimate.m new file mode 100644 index 0000000..7db8a82 --- /dev/null +++ b/IEfeeds_code/Archive/Ind30Pro40v1_InitialEstimate.m @@ -0,0 +1,49 @@ +function [RegMap,IndMap,ProdMap]=Ind30Pro40v1_InitialEstimate(handles) + + disp('Launching initial estimate for the extended PIOT version 1'); + + % Write handles variables into mat-file for R to read + % Working directory + filename = [handles.processeddatadir,'WorkingDirectory4R.mat']; + out = handles.motherALANGdir; + save(filename,'out'); + + % Write region aggregator to file + filename = [handles.processeddatadir,'RegionAggFile4R.mat']; + out = handles.regionaggfile; + save(filename,'out'); + + % Region aggregator + RegMap = csvread(handles.regionagg); + + if size(RegMap,1) > size(RegMap,2) % check orientation of aggregator + RegMap = RegMap'; + end + + reg_proxy = ones(size(RegMap,2),1); + RegMap = prorate(RegMap,'col_proxy',reg_proxy); + + % Product aggregator + ProdMap = csvread(handles.sectoraggprod); + + if size(ProdMap,1) > size(ProdMap,2) % check orientation of aggregator + ProdMap = ProdMap'; + end + + prod_proxy = ones(size(ProdMap,2),1); + ProdMap = prorate(ProdMap,'col_proxy',prod_proxy); + + % Industry aggregator + IndMap = csvread(handles.sectoragg); + + if size(IndMap,1) > size(IndMap,2) % check orientation of aggregator + IndMap = IndMap'; + end + + ind_proxy = ones(size(IndMap,2),1); + IndMap = prorate(IndMap,'col_proxy',ind_proxy); + + command = 'Rscript /import/emily1/isa/IELab/Roots/PIOLab/Rscripts/IEfeeds_code/Ind30Pro40v1_InitialEstimate.R'; + system(command,'-echo'); + + end \ No newline at end of file diff --git a/IEfeeds_code/IEsettings/IE_longnames.txt b/IEfeeds_code/IEsettings/IE_longnames.txt index 31b7c0c..eba8d88 100644 --- a/IEfeeds_code/IEsettings/IE_longnames.txt +++ b/IEfeeds_code/IEsettings/IE_longnames.txt @@ -1,2 +1 @@ -IE feed from R for various regions with 20 industries and 22 products IE feed from R for various regions with 30 industries and 39 products \ No newline at end of file diff --git a/IEfeeds_code/IEsettings/IE_shortnames.txt b/IEfeeds_code/IEsettings/IE_shortnames.txt index ae1da5f..fc19c2b 100644 --- a/IEfeeds_code/IEsettings/IE_shortnames.txt +++ b/IEfeeds_code/IEsettings/IE_shortnames.txt @@ -1,2 +1 @@ -Ind20Pro22v1 Ind30Pro39v1 \ No newline at end of file diff --git a/IEfeeds_code/datafeed_PIOLab_InitialEstimate.m b/IEfeeds_code/datafeed_PIOLab_InitialEstimate.m index 08b4ba8..563952e 100644 --- a/IEfeeds_code/datafeed_PIOLab_InitialEstimate.m +++ b/IEfeeds_code/datafeed_PIOLab_InitialEstimate.m @@ -3,10 +3,6 @@ % Master file for IE feeds if handles.nonsurvey == 1 - - [RegMap,IndMap,ProdMap]=Ind20Pro22v1_InitialEstimate(handles); - - elseif handles.nonsurvey == 2 [RegMap,IndMap,ProdMap]=Ind30Pro39v1_InitialEstimate(handles); diff --git a/Rscripts/IEfeeds_code/Archive/Ind20Pro22v1_InitialEstimate.R b/Rscripts/IEfeeds_code/Archive/Ind20Pro22v1_InitialEstimate.R new file mode 100644 index 0000000..80fa928 --- /dev/null +++ b/Rscripts/IEfeeds_code/Archive/Ind20Pro22v1_InitialEstimate.R @@ -0,0 +1,173 @@ +############################################### +# # +# This is the IE data feed for processing # +# raw data of the iron and steel PIOT # +# it covers 20 processes and 22 products # +# # +############################################### +# IE feed for 20 industries/processes and 22 products base classifications +# hanspeter.wieland@wu.ac.at (c) +# 02.19.2020 + +# In case the code is executed not on the server (and the GUI) for debugging, +# the user can choose the desired region aggregator by setting the following variable +# either to 5,35 or 49. If test_regagg is not defined it will be set automatically to +# 5 regions later on in the code. +# test_regagg <- "049" + +################################################################################ +# 1. Set up environment for building the initial estimate + +IEdatafeed_name <- "Ind20Pro22v1" +print(paste0("Start of ",IEdatafeed_name," InitialEstimate.")) + +# Set library path when running on suphys server +if(Sys.info()[1] == "Linux"){ + .libPaths("/suphys/hwie3321/R/x86_64-redhat-linux-gnu-library/3.5") + # Define location for root directory + root_folder <- "/import/emily1/isa/IELab/Roots/PIOLab/"}else{ + root_folder <- "C:/Users/hwieland/Github workspace/PIOLab/"} + +# Initializing R script (load R packages and set paths to folders etc.) +source(paste0(root_folder,"Rscripts/Subroutines/InitializationR.R")) + +# Read base regions, products and codes from mat-file if available +source(paste0(path$root,"Rscripts/Subroutines/Read_BaseClassification.R")) + +# Read region aggregation from classification to set the right path for the IE data +if(max(base$region$Code) < 10) {regagg <- paste0("00",max(base$region$Code))} else +{regagg <- paste0("0",max(base$region$Code))} + +# Set additional paths that are specific to the present run +path[["IE_Subroutines"]] <- paste0(path$root,"Rscripts/IEfeeds_code/IE_subroutines") +path[["IE_Processed"]] <- paste0(path$root,"ProcessedData/",IEdatafeed_name,"/",regagg) +path[["Agg_Processed"]] <- paste0(path$root,"ProcessedData/",IEdatafeed_name) + +remove(regagg) + +# Check whether output folder for processed data for the present initial estimate exists, if not then create it +if(!dir.exists(path$Agg_Processed)) dir.create(path$Agg_Processed) + +# Check whether output folder for processed data for the specific aggregation exists, if yes, delete it +if(dir.exists(path$IE_Processed)) unlink(path$IE_Processed,recursive = TRUE) +dir.create(path$IE_Processed) + +# Check if ALANG files of old initial estimate exist and delete +source(paste0(path$Subroutines,"/DeleteALANGfilesOfOldIEfeeds.R")) + +################################################################################ +# 2. Commencing data feeds + +# Loading production values for semi- and finished steel + information on yields +source(paste0(path$IE_Subroutines,"/IEFeed_PIOLab_WSA.R")) +IEFeed_PIOLab_WSA(year,path) +source(paste0(path$IE_Subroutines,"/IEFeed_PIOLab_SteelIndustryYields.R")) +IEFeed_PIOLab_SteelIndustryYields(path) + +# Loading the trade data +source(paste0(path$IE_Subroutines,"/IEFeed_PIOLab_BACI.R")) +IEFeed_PIOLab_BACI(year,path) + +# The extraction and ore grade feed +source(paste0(path$IE_Subroutines,"/IEFeed_PIOLab_IRP.R")) +IEFeed_PIOLab_IRP(year,path) +source(paste0(path$IE_Subroutines,"/IEFeed_PIOLab_Grades.R")) +IEFeed_PIOLab_Grades(path) + +# Loading end-of-life steel scrap +source(paste0(path$IE_Subroutines,"/IEFeed_PIOLab_EOL.R")) +IEFeed_PIOLab_EOL(year,path) + +# Loading energy data +source(paste0(path$IE_Subroutines,"/IEFeed_PIOLab_IEA.R")) +IEFeed_PIOLab_IEA(year,path) + +# Loading and aggregating EXIOBASE Waste-MFA IO version +source(paste0(path$IE_Subroutines,"/IEFeed_PIOLab_EXIOWasteMFAIO.R")) +IEFeed_PIOLab_EXIOWasteMFAIO(year,path) + +# Loading fabrication yields taken from Cullen et al 2012 +source(paste0(path$IE_Subroutines,"/IEFeed_PIOLab_Cullen.R")) +IEFeed_PIOLab_Cullen(path) + +################################################################################ +# 3. Commencing data processing + +# Aligning WSA and IEA data and filling gaps in WSA accounts. +# Moreover, remove BACI trade flows of iron ores for regions where IRP reports no extraction +source(paste0(path$IE_Subroutines,"/IEDataProcessing_PIOLab_AligningData.R")) +IEDataProcessing_PIOLab_AligningData(year,path) + +# Compile extension for the MFA-Waste IO Model and estimate fabrication scrap +source(paste0(path$IE_Subroutines,"/IEDataProcessing_PIOLab_WasteMFAIOExtension.R")) +IEDataProcessing_PIOLab_WasteMFAIOExtension(year,path) + +# Run Waste-IO Model calculation +source(paste0(path$IE_Subroutines,"/IEDataProcessing_PIOLab_WasteMFAIOModelRun.R")) +IEDataProcessing_PIOLab_WasteMFAIOModelRun(year,path) + +# Compile domestic SUTs +source(paste0(path$IE_Subroutines,"/IEDataProcessing_PIOLab_BuildingDomesticTables.R")) +IEDataProcessing_PIOLab_BuildingDomesticTables(year,path) + +# Compiling trade blocks +source(paste0(path$IE_Subroutines,"/IEDataProcessing_PIOLab_BuildingTradeBlocks.R")) +IEDataProcessing_PIOLab_BuildingTradeBlocks(year,path) + +################################################################################ +# 4. Create S8 files (see AISHA manual annex for further information) for easy data import to AISHA + +source(paste0(path$IE_Subroutines,"/IEDataProcessing_PIOLab_BuildS8fromSupplyUseTables.R")) +IEDataProcessing_PIOLab_BuildS8fromSupplyUseTables(year,path) + +################################################################################ +# 5. Write ALANG commands +print("Start writing ALANG commands.") + +# Set up wrapper for adding rows to ALANG +NewALANG <- function(name,SE,ALANG) +{ + file <- paste0("S8 ",path$mother,"Data/IE/",gsub("-","",Sys.Date()), + "_PIOLab_AllCountriesS8File_",name,year,".csv") + + ALANG <- add_row(ALANG,'1' = name,Coef1 = file, S.E. = SE, + Value = "I",Incl = "Y",Parts = "1",'Row parent' = "",'Row child' = "", + 'Row grandchild' = "",'Column parent' = "",'Column child' = "", + 'Column grandchild' = "",Years = "",Margin = "",'Pre-map' = "",'Post-map' = "", + 'Pre-Map' = "",'Post-Map' = "") + + return(ALANG) +} + +n_reg <- nrow(base$region) +# Create empty file with header +source(paste0(path$Subroutines,"/makeALANGheadline.R")) + +# Write ALANG commands +ALANG <- NewALANG("Supply","E MX1;MN10;",ALANG) +ALANG <- NewALANG("Use","E MX1;MN10;CN1;",ALANG) +ALANG <- NewALANG("FinalDemand","E MX1;MN10;",ALANG) +ALANG <- NewALANG("Extraction","E MX1;MN10;",ALANG) +ALANG <- NewALANG("EolScrap","E MX1;MN10;",ALANG) +ALANG <- NewALANG("OtherInput","E MX1;MN10;",ALANG) +ALANG <- NewALANG("Waste","E MX1;MN10;",ALANG) +ALANG <- NewALANG("Zero","E CN1;",ALANG) + +ALANG$`#` <- as.character(1:nrow(ALANG)) + +# Write data frame with ALANG commands as tab-delimited txt-file to root and working directory (mother) +# Note HP: This is probably not the normal procedure, meaning no IE ALANG's in the root +filename <- paste0(path$root,"ALANGfiles/",gsub("-","",Sys.Date()), + "_PIOLab_SUT_000_InitialEstimate-",year,"_000_S8filesForAllRegionsAndFlows.txt") + +write.table(ALANG,file = filename,row.names = FALSE, quote = F,sep = "\t") +# Check if the mother directory really exists +if(file.exists(path$mother)) +{ + filename <- paste0(path$mother,gsub("-","",Sys.Date()), + "_PIOLab_SUT_000_InitialEstimate-",year,"_000_S8filesForAllRegionsAndFlows.txt") + + write.table(ALANG,file = filename,row.names = FALSE, quote = F,sep = "\t") +} + +print(paste0("End of ",IEdatafeed_name," InitialEstimate.")) diff --git a/Rscripts/IEfeeds_code/Archive/Ind30Pro40v1_InitialEstimate.R b/Rscripts/IEfeeds_code/Archive/Ind30Pro40v1_InitialEstimate.R new file mode 100644 index 0000000..8bf59d0 --- /dev/null +++ b/Rscripts/IEfeeds_code/Archive/Ind30Pro40v1_InitialEstimate.R @@ -0,0 +1,232 @@ +############################################### +# # +# This is the IE data feed for processing # +# raw data of the iron and steel PIOT # +# it covers 20 processes and 22 products # +# # +############################################### +# IE feed for 20 industries/processes and 22 products base classifications +# hanspeter.wieland@wu.ac.at (c) +# 02.19.2020 + +# In case the code is executed not on the server (and the GUI) for debugging, +# the user can choose the desired region aggregator by setting the following variable +# either to 5,35 or 49. If test_regagg is not defined it will be set automatically to +# 5 regions later on in the code. +# test_regagg <- "049" + +################################################################################ +# 1. Set up environment for building the initial estimate + +IEdatafeed_name <- "Ind30Pro40v1" + +print(paste0("Start of ",IEdatafeed_name," InitialEstimate.")) + +# Set library path when running on suphys server +if(Sys.info()[1] == "Linux"){ + .libPaths("/suphys/hwie3321/R/x86_64-redhat-linux-gnu-library/3.5") + # Define location for root directory + root_folder <- "/import/emily1/isa/IELab/Roots/PIOLab/"}else{ + root_folder <- "C:/Users/hwieland/Github workspace/PIOLab/"} + +# Initializing R script (load R packages and set paths to folders etc.) + +source(paste0(root_folder,"Rscripts/Subroutines/InitializationR.R")) + +# Read base regions, products and codes from mat-file if available + +source(paste0(path$root,"Rscripts/Subroutines/Read_BaseClassification.R")) + +# Read region aggregation from classification to set the right path for the IE data + +if(max(base$region$Code) < 10) + { + regagg <- paste0("00",max(base$region$Code)) + } else + { + regagg <- paste0("0",max(base$region$Code)) + } + +# Set additional paths that are specific to the present run +path[["IE_Subroutines"]] <- paste0(path$root,"Rscripts/IEfeeds_code/IE_subroutines") +path[["IE_Processed"]] <- paste0(path$root,"ProcessedData/",IEdatafeed_name,"/",regagg) +path[["Agg_Processed"]] <- paste0(path$root,"ProcessedData/",IEdatafeed_name) + +remove(regagg) + +# Check whether output folder for processed data for the present initial estimate exists, if not then create it + +if(!dir.exists(path$Agg_Processed)) dir.create(path$Agg_Processed) + +# Check whether output folder for processed data for the specific aggregation exists, if yes, delete it + +if(dir.exists(path$IE_Processed)) unlink(path$IE_Processed,recursive = TRUE) + +dir.create(path$IE_Processed) + +# Check if ALANG files of old initial estimate exist and delete + +source(paste0(path$Subroutines,"/DeleteALANGfilesOfOldIEfeeds.R")) + +# Functions to process raw data for Initial Estimate + +IE_fun <- list("/IEFeed_PIOLab_WSA.R", + "/IEFeed_PIOLab_SteelIndustryYields.R", + "/IEFeed_PIOLab_BACI.R", + "/IEFeed_PIOLab_IRP.R", + "/IEFeed_PIOLab_Grades.R", + "/IEFeed_PIOLab_EOL.R", + "/IEFeed_PIOLab_IEA.R", + "/IEFeed_PIOLab_EXIOWasteMFAIOV2.R", + "/IEFeed_PIOLab_Cullen.R", + "/IEDataProcessing_PIOLab_AligningDataV2.R", + "/IEDataProcessing_PIOLab_WasteMFAIOExtensionV2.R", + "/IEDataProcessing_PIOLab_WasteMFAIOModelRunV2.R", + "/IEDataProcessing_PIOLab_BuildingDomesticTablesV2.R", + "/IEDataProcessing_PIOLab_BuildingTradeBlocks.R", + "/IEDataProcessing_PIOLab_BuildS8fromSupplyUseTables.R") + +IE_fun <- paste0(path$IE_Subroutines,IE_fun) # Add path to functions + +lapply(IE_fun,source) # Load functions into workspace + + +# 2. Commencing data pre-processing (from source to root classification) + +IEFeed_PIOLab_WSA(year,path) # WSA production numbers + +IEFeed_PIOLab_SteelIndustryYields(path) # Yield information + +IEFeed_PIOLab_BACI(year,path) # Trade data + +IEFeed_PIOLab_IRP(year,path) # Extraction data + +IEFeed_PIOLab_Grades(path) # Ore grades + +IEFeed_PIOLab_EOL(year,path) # end-of-life i.e. old scrap + +IEFeed_PIOLab_IEA(year,path) # IEA energy data + +IEFeed_PIOLab_EXIOWasteMFAIOV2(year,path) # Aggregate EXIOBASE Waste-MFA IO model (WIO) + +IEFeed_PIOLab_Cullen(path) # Fabrication yields from Cullen et al. 2012 + + +# 3. Commencing data processing + +IEDataProcessing_PIOLab_AligningDataV2(year,path) # Align WSA, IRP extraction + +IEDataProcessing_PIOLab_WasteMFAIOExtensionV2(year,path) # Compile extension for WIO + +IEDataProcessing_PIOLab_WasteMFAIOModelRunV2(year,path) # Run WIO Model calculation + + + +# Compile domestic SUTs + +IEDataProcessing_PIOLab_BuildingDomesticTablesV2(year,path) + +# Compiling trade blocks + +IEDataProcessing_PIOLab_BuildingTradeBlocks(year,path) + +################################################################################ +# 4. Create S8 files (see AISHA manual annex for further information) for easy data import to AISHA + +IEDataProcessing_PIOLab_BuildS8fromSupplyUseTables(year,path) + +################################################################################ +# 5. Write ALANG commands +print("Start writing ALANG commands.") + +# Set up wrapper for adding rows to ALANG +NewALANG <- function(name,SE,ALANG) +{ + file <- paste0("S8 ",path$mother,"Data/IE/",gsub("-","",Sys.Date()), + "_PIOLab_AllCountriesS8File_",name,year,".csv") + + ALANG <- add_row(ALANG,'1' = name,Coef1 = file, S.E. = SE, + Value = "I",Incl = "Y",Parts = "1",'Row parent' = "",'Row child' = "", + 'Row grandchild' = "",'Column parent' = "",'Column child' = "", + 'Column grandchild' = "",Years = "",Margin = "",'Pre-map' = "",'Post-map' = "", + 'Pre-Map' = "",'Post-Map' = "") + + return(ALANG) +} + +# n_reg <- nrow(base$region) +# Create empty file with header +source(paste0(path$Subroutines,"/makeALANGheadline.R")) + +RSE <- read.xlsx(xlsxFile = paste0(path$Settings,"/datafeeds_settings/IE_RSE_settings.xlsx")) + +# Write ALANG commands + +name <- "Supply" +RSE_sel <- RSE[RSE$item == name,] +ALANG <- NewALANG(name, + paste0("E MX",RSE_sel$MX,";MN",RSE_sel$MN,";"), + ALANG) + +name <- "Use" +RSE_sel <- RSE[RSE$item == name,] +ALANG <- NewALANG(name, + paste0("E MX",RSE_sel$MX,";MN",RSE_sel$MN,";CN",RSE_sel$CN,";"), + ALANG) + +name <- "FinalOutput" +RSE_sel <- RSE[RSE$item == name,] +ALANG <- NewALANG(name, + paste0("E MX",RSE_sel$MX,";MN",RSE_sel$MN,";"), + ALANG) + +name <- "Extraction" +RSE_sel <- RSE[RSE$item == name,] +ALANG <- NewALANG(name, + paste0("E MX",RSE_sel$MX,";MN",RSE_sel$MN,";"), + ALANG) + +name <- "EolScrap" +RSE_sel <- RSE[RSE$item == name,] +ALANG <- NewALANG(name, + paste0("E MX",RSE_sel$MX,";MN",RSE_sel$MN,";"), + ALANG) + +name <- "OtherInput" +RSE_sel <- RSE[RSE$item == name,] +ALANG <- NewALANG(name, + paste0("E MX",RSE_sel$MX,";MN",RSE_sel$MN,";"), + ALANG) + +name <- "Waste" +RSE_sel <- RSE[RSE$item == name,] +ALANG <- NewALANG(name, + paste0("E MX",RSE_sel$MX,";MN",RSE_sel$MN,";"), + ALANG) + +name <- "Zero" +RSE_sel <- RSE[RSE$item == name,] +ALANG <- NewALANG(name, + paste0("E CN",RSE_sel$CN,";"), + ALANG) + +ALANG$`#` <- as.character(1:nrow(ALANG)) + +# Write data frame with ALANG commands as tab-delimited txt-file to root and working directory (mother) +# Note HP: This is probably not the normal procedure, meaning no IE ALANG's in the root +filename <- paste0(path$root,"ALANGfiles/",gsub("-","",Sys.Date()), + "_PIOLab_SUT_000_InitialEstimate-",year,"_000_S8filesForAllRegionsAndFlows.txt") + +write.table(ALANG,file = filename,row.names = FALSE, quote = F,sep = "\t") + +# Check if the mother directory really exists + +if(file.exists(path$mother)) +{ + filename <- paste0(path$mother,gsub("-","",Sys.Date()), + "_PIOLab_SUT_000_InitialEstimate-",year,"_000_S8filesForAllRegionsAndFlows.txt") + + write.table(ALANG,file = filename,row.names = FALSE, quote = F,sep = "\t") +} + +print(paste0("End of ",IEdatafeed_name," InitialEstimate.")) diff --git a/Rscripts/IEfeeds_code/IE_subroutines/Archive/IEDataProcessing_PIOLab_AligningData.R b/Rscripts/IEfeeds_code/IE_subroutines/Archive/IEDataProcessing_PIOLab_AligningData.R new file mode 100644 index 0000000..faa4c52 --- /dev/null +++ b/Rscripts/IEfeeds_code/IE_subroutines/Archive/IEDataProcessing_PIOLab_AligningData.R @@ -0,0 +1,148 @@ +########################################### +# # +# This function fills the gap of the # +# of the WorldSteels (WSA) production # +# numbers using the IEA energy data. # +# Moreover, BACI trade data is aligned # +# with IRP ore extraction data # +# # +########################################### + +IEDataProcessing_PIOLab_AligningData <- function(year,path) +{ + print("IEDataProcessing_PIOLab_AligningData initiated.") + + ############################################################################## + + # 1. Loading data + + # Loading processed WSA production numbers + + Pig <- read.csv(paste0(path$IE_Processed,"/WSA/WSA_",year,"_PigIron.csv")) + + Flat <- read.csv(paste0(path$IE_Processed,"/WSA/WSA_",year,"_FlatRolledProducts.csv")) + + colnames(Flat)[2] <- "Flat" + + Long <- read.csv(paste0(path$IE_Processed,"/WSA/WSA_",year,"_LongRolledProducts.csv")) + + colnames(Long)[2] <- "Long" + + BOF_steel <- read.csv(paste0(path$IE_Processed,"/WSA/WSA_",year,"_SteelOxygenBlownConverters.csv")) + + EAF_steel <- read.csv(paste0(path$IE_Processed,"/WSA/WSA_",year,"_SteelElectricFurnaces.csv")) + + colnames(EAF_steel)[2] <- "EAF" + + + # Loading IE_Processed IEA energy data + BF_gas <- read.csv(paste0(path$IE_Processed,"/IEA/IEA_",year,"_BlastFurnaceGas.csv")) + colnames(BF_gas)[2] <- "Energy" + BOF_gas <- read.csv(paste0(path$IE_Processed,"/IEA/IEA_",year,"_BlastOxygenFurnaceGas.csv")) + colnames(BOF_gas)[2] <- "Energy" + Energy_con <- read.csv(paste0(path$IE_Processed,"/IEA/IEA_",year,"_SteelIndustryEnergyConsumption.csv")) + + # Loading BACI trade data on iron ores and IRP extraction accounts + BACI <- read.csv(file = paste0(path$IE_Processed,"/BACI/BACI_",year,".csv")) + IronOre_Extraction <- read.csv(file = paste0(path$IE_Processed,"/IRP/IRP_",year,".csv")) + + ############################################################################## + # 2. Filling gaps in WSA production accounts by checking IEA energy data + # 2.1 WSA pig iron production vs. production of (IEA) blast furnace gas + + # Following the WSA publication "Energy use in the steel industry" (p98) between + # 4.3 and 7.2 GJ of blast furnace gas is produced per ton of pig iron. + # In the following we fill the gaps assuming an average intensity of 5.7 GJ/t + + # Merge the two data sets and filter for missing production values + Pig_vs_BF <- full_join(Pig,BF_gas,c("base"),copy = FALSE) %>% + mutate(Intensity = Energy/Quantity) + Pig_vs_BF_gap <- Pig_vs_BF %>% filter(Quantity == 0 & Energy != 0) + + # Fill in values and save new pig iron production data + if(length(Pig_vs_BF_gap) > 0) { + Pig_vs_BF$Quantity[Pig_vs_BF$base %in% Pig_vs_BF_gap$base] <- Pig_vs_BF_gap$Energy / 5.7 + Pig <- Pig_vs_BF %>% select(base,Quantity) + write.csv(Pig, file = paste0(path$IE_Processed,"/WSA/WSA_",year,"_PigIron.csv"),row.names = FALSE)} + + remove(Pig_vs_BF,Pig_vs_BF_gap,Pig,BF_gas) + + # 2.2 BOF steel production vs. BOF gas production + + # Again according to the WSA report on energy, the blown oxygen furnace steelmaking + # process produces gases of approx. 0.234 GJ per crude steel (p101). Please note that the + # WSA case studies (p104) showed values betwene 0.4 and 0.8 GJ per ton + + Steel_vs_BOF <- full_join(BOF_steel,BOF_gas,c("base"),copy = FALSE) %>% + mutate(Intensity = Energy/Quantity) + Steel_vs_BOF_gap <- Steel_vs_BOF %>% filter(Quantity == 0 & Energy != 0) + + # Fill in values and save new BOF steel production data + if(nrow(Steel_vs_BOF_gap) > 0) { + Steel_vs_BOF$Quantity[Steel_vs_BOF$base %in% Steel_vs_BOF_gap$base] <- Steel_vs_BOF_gap$Energy / 0.234 + BOF_steel <- Steel_vs_BOF %>% select(base,Quantity) + write.csv(BOF_steel, file = paste0(path$IE_Processed,"/WSA/WSA_",year,"_SteelOxygenBlownConverters.csv"),row.names = FALSE)} + + remove(Steel_vs_BOF,Steel_vs_BOF_gap,BOF_gas) + colnames(BOF_steel)[2] <- "BOF" + + # 2.3 Filling gaps for rolled steel products + Steel_vs_energy <- full_join(Energy_con,Flat,c("base"),copy = FALSE) + Steel_vs_energy <- full_join(Steel_vs_energy,Long,c("base"),copy = FALSE) + Steel_vs_energy <- full_join(Steel_vs_energy,BOF_steel,c("base"),copy = FALSE) + Steel_vs_energy <- full_join(Steel_vs_energy,EAF_steel,c("base"),copy = FALSE) + Steel_vs_energy[is.na(Steel_vs_energy)] <- 0 + Steel_vs_energy <- mutate(Steel_vs_energy,Rolled = Flat+Long,Intensity = Value/Rolled) + Steel_vs_energy$Intensity[Steel_vs_energy$Intensity == Inf] <- 0 + + # The reference plant, of the WSA report, has an average energy intensity for + # long rolled products of approx. 20 GJ per ton and 9.5 GJ per ton for scrap based long products + # WSA referenced flat rolling plate mill has an energy intensity of 24 GJ per ton of product (p120-122) + # Please note that these numbers refer to the total energy requirement including + # upstream energy use for steel and iron making. Direct energy use in rolling mills is much smaller at around 2-7 GJ/t + + # 2.3.1 Filter for countries with inconsistent data + # No flat rolling reported but BOF steel is produced + Gap <- Steel_vs_energy %>% filter(Flat == 0 & BOF != 0) + if(nrow(Gap) > 0) Steel_vs_energy$Flat[Steel_vs_energy$base %in% Gap$base] <- Gap$BOF + + # No long rolling reported but EAF steel is porduced + Gap <- Steel_vs_energy %>% filter(Long == 0 & EAF != 0) + if(nrow(Gap) > 0) Steel_vs_energy$Long[Steel_vs_energy$base %in% Gap$base] <- Gap$EAF + + # BOF steel reported but flat rolled products + energy intensity is below the threshold + Gap <- Steel_vs_energy %>% filter(BOF == 0 & Flat != 0 & Intensity < 20) + if(nrow(Gap) > 0) Steel_vs_energy$BOF[Steel_vs_energy$base %in% Gap$base] <- Gap$Flat + + # No flat and long rolling reported but energy use data available + Gap <- Steel_vs_energy %>% filter(Flat == 0 & Long == 0 & Value != 0) + if(nrow(Gap) > 0) { + # Assuming 18 GJ/ton + filling <- Gap$Value/18 + Steel_vs_energy[Steel_vs_energy$base %in% Gap$base,c("Flat","Long","BOF","EAF")] <- filling/2 } + + ############################################################################## + # 3. Delete BACI trade flows of iron ores where IRP reports no extraction + colnames(IronOre_Extraction)[2] <- "Extraction" + # Code of countries with no extraction + sel <- setdiff(base$region$Code,IronOre_Extraction$base) + # Set zero + BACI$Quantity[BACI$From %in% sel & BACI$Product == 1] <- 0 + BACI <- BACI[BACI$Quantity != 0,] + ############################################################################## + # 4. Writing manipulated data to folder + Flat <- select(Steel_vs_energy,base,Flat) + Long <- select(Steel_vs_energy,base,Long) + BOF <- select(Steel_vs_energy,base,BOF) + EAF <- select(Steel_vs_energy,base,EAF) + colnames(Flat)[2] <- colnames(Long)[2] <- colnames(BOF)[2] <- colnames(EAF)[2] <- "Quantity" + + write.csv(Flat,file = paste0(path$IE_Processed,"/WSA/WSA_",year,"_FlatRolledProducts.csv"),row.names = FALSE) + write.csv(Long,file = paste0(path$IE_Processed,"/WSA/WSA_",year,"_LongRolledProducts.csv"),row.names = FALSE) + write.csv(BOF,file = paste0(path$IE_Processed,"/WSA/WSA_",year,"_SteelOxygenBlownConverters.csv"),row.names = FALSE) + write.csv(EAF,file = paste0(path$IE_Processed,"/WSA/WSA_",year,"_SteelElectricFurnaces.csv"),row.names = FALSE) + write.csv(BACI,file = paste0(path$IE_Processed,"/BACI/BACI_",year,".csv"),row.names = FALSE) + + print("IEDataProcessing_PIOLab_AligningData finished.") + +} \ No newline at end of file diff --git a/Rscripts/IEfeeds_code/IE_subroutines/Archive/IEDataProcessing_PIOLab_BuildingDomesticTables.R b/Rscripts/IEfeeds_code/IE_subroutines/Archive/IEDataProcessing_PIOLab_BuildingDomesticTables.R new file mode 100644 index 0000000..5084b04 --- /dev/null +++ b/Rscripts/IEfeeds_code/IE_subroutines/Archive/IEDataProcessing_PIOLab_BuildingDomesticTables.R @@ -0,0 +1,396 @@ +##################################### +# # +# This code writes the data # +# into the domestic SUTs that # +# can be used as an input for # +# AISHA # +# # +##################################### + + +IEDataProcessing_PIOLab_BuildingDomesticTables <- function(year,path) +{ + print("IEDataProcessing_PIOLab_BuildingDomesticTables initiated.") + # Load region aggregator + source(paste0(path$Subroutines,"/Root2Base_RegionAggregator.R")) + reg_agg <- Root2Base_RegionAggregator(RegionAggregator) + # Load function to compile end use map + source(paste0(path$Subroutines,"/makeEndUseMap.R")) + # Load slag rate of blast furnace and coefficient per ton of pig iron output + WSA_yield <- read.csv(paste0(path$IE_Processed,"/WSA/SteelIndustryYields.csv")) %>% + select(Process,Average) + # Load extension of the WasteMFAIO model and IO codes + load(paste0(path$IE_Processed,"/EXIOWasteMFAIO/",year,"_Q.RData")) + load(paste0(path$IE_Processed,"/EXIOWasteMFAIO/IO.codes.RData")) + # Load trade data + BACI <- read.csv(paste0(path$IE_Processed,"/BACI/BACI_",year,".csv")) + # Load allocation function + source(paste0(path$Subroutines,"/AllocateSupply2Use.R")) + + # Define general variables + n_pro <- nrow(base$product) + n_ind <- nrow(base$industry) + n_reg <- nrow(base$region) + n_va <- 5 + n_fd <- 3 + + for(i in 1:n_reg) + { + print(i) + # Create empty SUT + SUT <- data.frame(matrix(0,(n_pro+n_ind+n_va),(n_pro+n_ind+n_fd))) + colnames(SUT) <- c(base$industry$Name,base$product$Name, + "FinalConsumption","Landfill","Atmosphere") + rownames(SUT) <- c(base$industry$Name,base$product$Name, + "FerrousMinerals","EOLScrap","Limestone","Coke","Air") + SUT <- as.matrix(SUT) + ############################################################################ + # 1. Writing boundary inputs of iron ore extraction and end-of-life scrap to table + + # 1.1 EoL scrap + data <- read.csv(paste0(path$IE_Processed,"/EOL/EOL_",year,".csv")) + if(i %in% data$base) { + value <- data$Quantity[data$base == i] + SUT["EOLScrap","Scrap preparation"] <- value } + + # 1.2 IRP iron ore extraction i.e. inputs from nature + data <- read.csv(paste0(path$IE_Processed,"/IRP/IRP_",year,".csv")) + if(i %in% data$base) { + value <- data$Quantity[data$base == i] + SUT["FerrousMinerals","Mining"] <- value } + + ############################################################################ + # 2. Writing production values into supply table + + # 2.1 Waste (gangue) output of mining + # Read iron ore grades and assume beneficiation to 60% of ore grade + data <- read.csv(paste0(path$IE_Processed,"/Grades/IronOreGrades.csv")) + + # if no ore grades are available for a region, assume 0.6 + if(i %in% data$base) + {concen <- data$Concentration[data$base == i]}else + {concen <- 0.6} + + if(SUT["FerrousMinerals","Mining"] > 0) { + iron <- SUT["FerrousMinerals","Mining"]*concen + # iron ore weight with 60% grade, when concentration is higher than 0.6, leave it like it is + if(concen <= 0.6) {value_new <- iron/0.6} else + {value_new <- iron/concen} + # Calculate waste flow to landfill + waste <- value-value_new + # Allocate output of iron ore (now 60% grade) to mining + SUT["Mining","Iron ore"] <- value_new + # Allocate boundary outputs of waste to the supply-side of mining, that is landfill + SUT["Mining","Landfill"] <- waste } + + # 2.2 Write pig iron production and use yields to estimate waste/slag flows + data <- read.csv(paste0(path$IE_Processed,"/WSA/WSA_",year,"_PigIron.csv")) + + if(i %in% data$base) { + value <- data$Quantity[data$base == i] + SUT["Blast furnace","Pig iron"] <- value + # Take slag rate from WSA + yield <- WSA_yield$Average[WSA_yield$Process == 'BF slag rate']/1000 + # Estimate slag output and allocate to landfill (final use) + SUT["Blast furnace","Landfill"] <- value * yield + # Estimate output of top gas (1.7 tons per ton oig iron) + SUT["Blast furnace","Atmosphere"] <- value *1.7} + + # 2.3 Sponge iron + data <- read.csv(paste0(path$IE_Processed,"/WSA/WSA_",year,"_SpongeIron.csv")) + if(i %in% data$base) { + value <- data$Quantity[data$base == i] + SUT["Direct reduction","Sponge iron"] <- value + # Allocate slag output assuming losses of 5% of sponge iron output + #yield <- 0.05 + #waste <- value * yield + # Alternatively allocate losses including gangue by assuming waste of 600 kg per ton of useful output + SUT["Direct reduction","Landfill"] <- value * 0.6 } + + # 2.4 Write steel production of BOF & OHF + data_1 <- read.csv(paste0(path$IE_Processed,"/WSA/WSA_",year,"_SteelOxygenBlownConverters.csv")) + data_2 <- read.csv(paste0(path$IE_Processed,"/WSA/WSA_",year,"_SteelOpenHearthFurnaces.csv")) + data <- rbind(data_1,data_2) %>% group_by(base) %>% summarise(Quantity = sum(Quantity)) + remove(data_1,data_2) + + if(i %in% data$base) { + value <- data$Quantity[data$base == i] + SUT["Oxygen blown & open hearth furnace","Liquid steel (OBF/OHF)"] <- value + # Calculate waste + yield <- WSA_yield$Average[WSA_yield$Process == 'BOF yield'] + waste <- (value/yield)-value + SUT["Oxygen blown & open hearth furnace","Landfill"] <- waste } + + # 2.5 Write steel production of EAF + data <- read.csv(paste0(path$IE_Processed,"/WSA/WSA_",year,"_SteelElectricFurnaces.csv")) + + if(i %in% data$base) { + value <- data$Quantity[data$base == i] + SUT["Electric arc furnace","Liquid steel (EAF)"] <- value + # Calculate waste + yield <- WSA_yield$Average[WSA_yield$Process == 'EAF yield'] + waste <- (value/yield)-value + SUT["Electric arc furnace","Landfill"] <- waste } + + # 2.6 Write flat rolling production and forming scrap + data <- read.csv(paste0(path$IE_Processed,"/WSA/WSA_",year,"_FlatRolledProducts.csv")) + + if(i %in% data$base) { + value <- data$Quantity[data$base == i] + SUT["Flat rolling","Flat rolled products"] <- value + # Calculate waste + yield <- WSA_yield$Average[WSA_yield$Process == 'Slab caster yield'] + waste <- (value/yield)-value + SUT["Flat rolling","Forming & fabrication scrap"] <- waste } + + # 2.7 Write long rolling production and forming scrap + data <- read.csv(paste0(path$IE_Processed,"/WSA/WSA_",year,"_LongRolledProducts.csv")) + + if(i %in% data$base) { + value <- data$Quantity[data$base == i] + SUT["Long rolling","Long rolled products"] <- value + # Calculate waste + yield <- WSA_yield$Average[WSA_yield$Process == 'Bloom caster yield'] + waste <- (value/yield)-value + SUT["Long rolling","Forming & fabrication scrap"] <- waste } + + # 2.8 Write production of ingots and subsequently fill the gap of the casting + # process with slabs (because all feeds into flat rolling) + data <- read.csv(paste0(path$IE_Processed,"/WSA/WSA_",year,"_Ingots.csv")) + + if(i %in% data$base) { + value <- data$Quantity[data$base == i] + SUT["Casting of ingots & slabs","Ingots"] <- value + value <- SUT["Flat rolling","Flat rolled products"] - SUT["Casting of ingots & slabs","Ingots"] + SUT["Casting of ingots & slabs","Slabs"] <- value + yield <- WSA_yield$Average[WSA_yield$Process == 'Slab caster yield'] + value <- SUT["Flat rolling","Flat rolled products"] + waste <- (value/yield)-value + SUT["Casting of ingots & slabs","Forming & fabrication scrap"] <- waste } + + # 2.9 For the production value of billets and blooms use the value of long rolling + value <- sum(SUT["Long rolling",c("Long rolled products","Forming & fabrication scrap")]) + SUT["Casting of billets & blooms","Billets & blooms"] <- value + # Estimate scrap flows using yield data + yield <- WSA_yield$Average[WSA_yield$Process == 'Bloom caster yield'] + waste <- (value/yield)-value + SUT["Casting of billets & blooms","Forming & fabrication scrap"] <- waste + + # 2.10 Fabrication i.e. manufacturing output + data <- read.csv(paste0(path$IE_Processed,"/EXIOWasteMFAIO/",year,"_FabricationToFinalDemand.csv")) %>% + filter(From.Region == i) %>% select(From.Product,Quantity) %>% group_by(From.Product) %>% + summarise(Quantity = sum(Quantity)) + # Set up index to write values directly into cells + index <- cbind(base$industry$Name[11:20],base$product$Name[13:22]) + SUT[index] <- data$Quantity + + # 2.11 Fabrication scarp + data <- read.csv(paste0(path$IE_Processed,"/FabricationScrap/FabricationScrap_",year,".csv")) %>% + filter(base == i) + data <- data.frame("commodity" = as.character(data$commodity), + "Quantity" = data$Quantity, + stringsAsFactors = FALSE) + index <- as.data.frame(index,stringsAsFactors = FALSE) + colnames(index) <- c("Industry","Product") + data <- left_join(index,data,c("Product" = "commodity"),copy = FALSE) + + SUT[data$Industry,"Forming & fabrication scrap"] <- data$Quantity + + # 2.12 Estimate production of scrap steel by summing over "forming and fabrication scrap" + # and EoL scrap supply + + value <- sum(SUT[,"Forming & fabrication scrap"]) + SUT["EOLScrap","Scrap preparation"] + SUT["Scrap preparation","Scrap steel"] <- value + + ############################################################################ + # 3. Filling use table + # IMPORTANT: The allocation follows the logic to source data on exports from the + # BACI data set and subtract this value from the domestic production of the upstream process + # to get an estimate for the domestic inputs of each process. Where this results in negative values + # for domestic use, we assume that inputs are 50% from foreign source + + # 3.1 Steel in final demand + data <- read.csv(paste0(path$IE_Processed,"/EXIOWasteMFAIO/",year,"_SteelInFinalDemand.csv")) %>% + filter(From.Region == i & To.Region == i) + index <- base$product$Name[base$product$Code %in% data$Product] + SUT[index,"FinalConsumption"] <- data$Quantity + + # 3.2.1 Flat Rolled products used in fabrication + item <- "Flat rolled products" + # Load map to allocate to end use (fabrication) + map <- makeEndUseMap(i,"Flat") + map <- map[order(map$index),] + share <- map$Share + ############################################ + # The following command may cause problems # + ############################################ + users <- base$industry$Code[11:20][map$index] + # Load trade data + data <- filter(BACI,Product == base$product$Code[base$product$Name == item]) %>% select(From,To,Quantity) + # Read domestic production + pro <- SUT["Flat rolling","Flat rolled products"] + # Read domestic use + use <- sum(Q["Flat",IO.codes$index[IO.codes$base == i]]) + + # Execute function for estimation script to write values + SUT <- AllocateSupply2Use(SUT,item,share,users,data,pro,use,i) + + # 3.3.2 Long Rolled products used in fabrication + item <- "Long rolled products" + # Load map to allocate to end use (fabrication) + map <- makeEndUseMap(i,"Long") + map <- map[order(map$index),] + share <- map$Share + users <- base$industry$Code[11:20][map$index] + # Load trade data + data <- filter(BACI,Product == base$product$Code[base$product$Name == item]) %>% select(From,To,Quantity) + # Read domestic production + pro <- SUT["Long rolling",item] + # Read domestic use + use <- sum(Q["Long",IO.codes$index[IO.codes$base == i]]) + + # Execute function for estimation script to write values + SUT <- AllocateSupply2Use(SUT,item,share,users,data,pro,use,i) + + # 3.4 Use of forming and fabrication scrap by scrap preparation + SUT["Forming & fabrication scrap","Scrap preparation"] <- sum(SUT[,"Forming & fabrication scrap"]) + + # 3.5 Use of billets and blooms by long rolling + # Load number for exports of billets and blooms + item <- "Billets & blooms" + users <- "Long rolling" + share <- 1 + data <- filter(BACI,Product == base$product$Code[base$product$Name == item]) %>% select(From,To,Quantity) + pro <- SUT["Casting of billets & blooms",item] + use <- sum(SUT[users,]) + + # Execute function for estimation script to write values + SUT <- AllocateSupply2Use(SUT,item,share,users,data,pro,use,i) + + # 3.6 Use of ingots and slabs by flat rolling + # 3.6.1 Ingots + export <- filter(BACI,Product == base$product$Code[base$product$Name == "Ingots"]) %>% + select(From,To,Quantity) %>% filter(From == i) + value <- SUT["Casting of ingots & slabs","Ingots"] - sum(export$Quantity) + # In case value is negative, assume that 5% of inputs is coming from domestic ingots + if(value > 0) {SUT["Ingots","Flat rolling"] <- value} else + {SUT["Ingots","Flat rolling"] <- sum(SUT["Flat rolling",]) * 0.05} + + # 3.6.2 Slabs + export <- filter(BACI,Product == base$product$Code[base$product$Name == "Slabs"]) %>% + select(From,To,Quantity) %>% filter(From == i) + # Domestic production of slabs minus exports = domestic use + value <- SUT["Casting of ingots & slabs","Slabs"] - sum(export$Quantity) + if(value > 0) {SUT["Slabs","Flat rolling"] <- value} else + {SUT["Slabs","Flat rolling"] <- sum(SUT["Flat rolling",]) * 0.45} + + # 3.7 Casting of billets and blooms and casting of ingots and slabs + # The only input to casting is liquid steel which is not a traded commodity, + # The inputs to casting are therefor estimated by using the production/output value + # of the respective furnace + + # Steel from Electric arc furnace + SUT["Liquid steel (EAF)","Casting of billets & blooms"] <- SUT["Electric arc furnace","Liquid steel (EAF)"] + # Fill remaining gap with OBF steel + gap <- sum(SUT["Casting of billets & blooms",]) - SUT["Liquid steel (EAF)","Casting of billets & blooms"] + if(gap > 0) SUT["Liquid steel (OBF/OHF)","Casting of billets & blooms"] <- gap + + # Steel from oxygen blown converter + SUT["Liquid steel (OBF/OHF)","Casting of ingots & slabs"] <- sum(SUT["Casting of ingots & slabs",]) + + # 3.8 Sponge iron used by EAF + export <- filter(BACI,Product == base$product$Code[base$product$Name == "Sponge iron"],From == i) + + if(SUT["Direct reduction","Sponge iron"] != 0) + { + value <- SUT["Direct reduction","Sponge iron"] - sum(export$Quantity) + if(value > 0) {SUT["Sponge iron","Electric arc furnace"] <- value} else + {SUT["Sponge iron","Electric arc furnace"] <- sum(SUT["Direct reduction","Sponge iron"])/2} + } + + # 3.9 Allocating iron ores used by direct reduction + SUT["Iron ore","Direct reduction"] <- sum(SUT["Direct reduction",]) + + # 3.10 Allocate iron ores used by Blast furnace + export <- filter(BACI,Product == base$product$Code[base$product$Name == "Iron ore"],From == i) + value <- SUT["Mining","Iron ore"] - sum(export$Quantity) + if(value > 0) {SUT["Iron ore","Blast furnace"] <- value} else + {SUT["Iron ore","Blast furnace"] <- sum(SUT["Blast furnace",])/2} + + # 3.10.1 + # Allocate other inputs used by blast furnace + if(SUT["Blast furnace","Pig iron"] > 0) + { + pro <- SUT["Blast furnace","Pig iron"] + # Limestone and fluxes assuming 300 kg per ton of pig iron + SUT["Limestone","Blast furnace"] <- pro *0.3 + # 600 kg coke or coal per ton pig iron + SUT["Coke","Blast furnace"] <- pro * 0.6 + # (Hot) air of approx. 800 kg per ton + SUT["Air","Blast furnace"] <- pro * 0.8 + } + + # 3.11 Allocating pig iron to BOF + export <- filter(BACI,Product == base$product$Code[base$product$Name == "Pig iron"],From == i) + value <- SUT["Blast furnace","Pig iron"] - sum(export$Quantity) + if(value > 0) {SUT["Pig iron","Oxygen blown & open hearth furnace"] <- value} else + {SUT["Pig iron","Oxygen blown & open hearth furnace"] <- sum(SUT["Oxygen blown & open hearth furnace",])*0.4} + + # 3.12 Allocate Scrap steel to BOF and EAF + SUT["Scrap steel","Oxygen blown & open hearth furnace"] <- sum(SUT["Oxygen blown & open hearth furnace",])*0.15 + SUT["Scrap steel","Electric arc furnace"] <- sum(SUT["Electric arc furnace",]) - SUT["Direct reduction","Electric arc furnace"] + + # 4. Save SUT + # Check if subfolder in processed data exists and if not create it + path_set <- paste0(path$IE_Processed,"/SUT") + if(!dir.exists(path_set)) dir.create(path_set) + # Setting decimals to two digits + SUT <- round(SUT,2) + print(min(SUT)) + # Decompose SUT into single elements, that is supply, use, final demand, inputs from nature and eol scrap + Use <- SUT[base$product$Name,base$industry$Name] + Supply <- SUT[base$industry$Name,base$product$Name] + # What is final demand in monetary IO is called hereafter boundary output + BoundaryOutput <- SUT[c(base$industry$Name,base$product$Name),c("FinalConsumption","Landfill","Atmosphere")] + + # What is value added in monetary IO is called hereafter boundary input + pi <- c("FerrousMinerals","EOLScrap","Air","Limestone","Coke") + BoundaryInput <- matrix(SUT[pi,base$industry$Name],length(pi),nrow(base$industry)) + + # Remove all column and row names + colnames(Use) <- NULL + rownames(Use) <- NULL + colnames(Supply) <- NULL + rownames(Supply) <- NULL + colnames(BoundaryOutput) <- NULL + rownames(BoundaryOutput) <- NULL + colnames(BoundaryInput) <- NULL + rownames(BoundaryInput) <- NULL + + # Write Supply, Use, In- and Output to root folder, note that because write.csv will always export colnames + # had to use the write.tabel function. + + write.table(Supply,file = paste0(path_set,"/",year,"_DomesticSupply_Region",i,".csv"), + col.names = FALSE, + row.names = FALSE, + sep = ",") + + write.table(Use,file = paste0(path_set,"/",year,"_DomesticUse_Region",i,".csv"), + col.names = FALSE, + row.names = FALSE, + sep = ",") + + write.table(BoundaryOutput,file = paste0(path_set,"/",year,"_BoundaryOutput_Region",i,".csv"), + col.names = FALSE, + row.names = FALSE, + sep = ",") + + write.table(BoundaryInput,file = paste0(path_set,"/",year,"_BoundaryInput_Region",i,".csv"), + col.names = FALSE, + row.names = FALSE, + sep = ",") + + print(paste0("Minimum value: ",min(SUT))) + } + print("IEDataProcessing_PIOLab_BuildingDomesticTables finished.") +} diff --git a/Rscripts/IEfeeds_code/IE_subroutines/Archive/IEDataProcessing_PIOLab_WasteMFAIOExtension.R b/Rscripts/IEfeeds_code/IE_subroutines/Archive/IEDataProcessing_PIOLab_WasteMFAIOExtension.R new file mode 100644 index 0000000..de6c7c4 --- /dev/null +++ b/Rscripts/IEfeeds_code/IE_subroutines/Archive/IEDataProcessing_PIOLab_WasteMFAIOExtension.R @@ -0,0 +1,149 @@ +############################################### +# # +# This code uses the data on fabrication # +# yields and products flows to end-use to # +# build the IO extension and estimate # +# the amount of fabrication scrap # +# # +############################################### + + +IEDataProcessing_PIOLab_WasteMFAIOExtension <- function(year,path) +{ + print("IEDataProcessing_PIOLab_WasteMFAIOExtension initiated.") + ############################################################################# + + # Load IO codes of aggregated EXIOBASE data + load(paste0(path$IE_Processed,"/EXIOWasteMFAIO/IO.codes.RData")) + + # Load function to create allocation map + source(paste0(path$Subroutines,"/makeEndUseMap.R")) + # 1. Defining functions + + # aggregation function + Agg <- function(x) + { + x <- as.matrix(x) %*% sapply(unique(colnames(x)),"==",colnames(x)) + return(x) + } + + # Writing values of rolled products into arrays (extension and fabrication scrap) + WriteValues2Array <- function(data,name,Q,Scrap) + { + for(i in 1:nrow(data)) + { + #print(i) + reg <- data$base[i] + + # call function to create specific map + map <- makeEndUseMap(reg,name) + + map <- map %>% mutate(Value = Share * data$Quantity[data$base == reg]) %>% + select(index,IO,Yield.Sector,Value) + + map <- left_join(map,Yields,c("Yield.Sector"),copy = FALSE) %>% mutate(EndUse = Value*Yield.Factor,Scrap = Value - EndUse) %>% + select(index,IO,EndUse,Scrap) + + index <- map$index+((reg-1)*10) + + if(name == "Flat") + { + Q[1,index] <<- map$EndUse + Scrap[1,index] <<- map$Scrap + }else + { + Q[2,index] <<- map$EndUse + Scrap[2,index] <<- map$Scrap + } + } + + } + + # Load processed data from Cullen et al 2012 + Yields <- read.csv(paste0(path$IE_Processed,"/Cullen/FabricationYields.csv")) + + ############################################################################## + # 1. The first section calculates the net use of rolled steel products in regions + # by adding imports and subtracting exports from the WSA production values + + BACI <- read.csv(paste0(path$IE_Processed,"/BACI/BACI_",year,".csv")) # Load trade data + + # Load finished steel production + Flat <- read.csv(paste0(path$IE_Processed,"/WSA/WSA_",year,"_FlatRolledProducts.csv")) + Long <- read.csv(paste0(path$IE_Processed,"/WSA/WSA_",year,"_LongRolledProducts.csv")) + + + + Flat_trade <- BACI %>% filter(Product == base$product$Code[base$product$Name == "Flat rolled products"]) %>% + select(From,To,Quantity) + + Long_trade <- BACI %>% filter(Product == base$product$Code[base$product$Name == "Long rolled products"]) %>% + select(From,To,Quantity) + + # Estimate the net-use of products in countries + Flat_import <- Flat_trade %>% group_by(To) %>% summarise(Quantity = sum(Quantity)) + Flat_export <- Flat_trade %>% group_by(From) %>% summarise(Quantity = sum(Quantity)) + Flat_trade <- full_join(Flat_import,Flat_export,c("To" = "From"),copy = FALSE) + colnames(Flat_trade) <- c("base","import","export") + # Regional production + imports - exports = net-use + Flat <- full_join(Flat,Flat_trade,c("base"),copy = FALSE) + Flat[is.na(Flat)] <- 0 + + Flat <- Flat %>% mutate(NetUse = Quantity + import - export) + + ##################################### + # When negatives: set net use to import value + Flat$NetUse[Flat$NetUse < 0] <- Flat$import[Flat$NetUse < 0] + Flat <- Flat %>% select(base,NetUse) + colnames(Flat)[2] <- "Quantity" + ##################################### + + Long_import <- Long_trade %>% group_by(To) %>% summarise(Quantity = sum(Quantity)) + Long_export <- Long_trade %>% group_by(From) %>% summarise(Quantity = sum(Quantity)) + Long_trade <- full_join(Long_import,Long_export,c("To" = "From"),copy = FALSE) + colnames(Long_trade) <- c("base","import","export") + # Regional production + imports - exports = net-use + Long <- full_join(Long,Long_trade,c("base"),copy = FALSE) + Long[is.na(Long)] <- 0 + + Long <- Long %>% mutate(NetUse = Quantity + import - export) + ##################################### + # When negatives: set net use to import value + Long$NetUse[Long$NetUse < 0] <- Long$import[Long$NetUse < 0] + ##################################### + Long <- Long %>% select(base,NetUse) + colnames(Long)[2] <- "Quantity" + + ############################################################################## + # 3. Start processing + + # Create two empty arrays for steel for the extension (Q) and for the fabrication scrap + Scrap <- Q <- as.data.frame(matrix(0,2,nrow(IO.codes))) + rownames(Scrap) <- rownames(Q) <- c("Flat","Long") + + # Execute functions + # Warnings are turned of for the run. + options(warn = -1) + WriteValues2Array(Flat,"Flat",Q,Scrap) + WriteValues2Array(Long,"Long",Q,Scrap) + options(warn = 0) + + # Save extension of the MFA-Waste-IO Model + save(Q,file = paste0(path$IE_Processed,"/EXIOWasteMFAIO/",year,"_Q.RData")) + + # Prepate fabrication scrap data for export + Scrap <- colSums(Scrap) + Scrap <- data.frame(IO.codes, + "Quantity" = Scrap, + stringsAsFactors = FALSE) + + # Check if subfolder in processed data exists and if not create it + path_set <- paste0(path$IE_Processed,"/FabricationScrap") + if(!dir.exists(path_set)) dir.create(path_set) + + # Write to folder + write.csv(Scrap,file = paste0(path_set,"/FabricationScrap_",year,".csv"),row.names = FALSE) + + print("IEDataProcessing_PIOLab_WasteMFAIOExtension finished.") + +} \ No newline at end of file diff --git a/Rscripts/IEfeeds_code/IE_subroutines/Archive/IEDataProcessing_PIOLab_WasteMFAIOModelRun.R b/Rscripts/IEfeeds_code/IE_subroutines/Archive/IEDataProcessing_PIOLab_WasteMFAIOModelRun.R new file mode 100644 index 0000000..85ec43c --- /dev/null +++ b/Rscripts/IEfeeds_code/IE_subroutines/Archive/IEDataProcessing_PIOLab_WasteMFAIOModelRun.R @@ -0,0 +1,141 @@ +######################################### +# # +# This code runs the Waste-IO model # +# and saves the data in the # +# appropriate folders # +# # +######################################### + +IEDataProcessing_PIOLab_WasteMFAIOModelRunV2 <- function(year,path) +{ + + print("IEDataProcessing_PIOLab_WasteMFAIOModelRunV2 initiated.") + + + # Load codes and indices of model: + + IO.codes <- read.csv( paste0(path$IE_Processed,"/EXIOWasteMFAIO/IO_codes.csv")) + + IO.codes["Key"] <- paste0(IO.codes$base,"-",IO.codes$sector) + + Y.codes <- read.csv( paste0(path$IE_Processed,"/EXIOWasteMFAIO/Y_codes.csv")) + + Y.codes["Key"] <- paste0(Y.codes$base,"-",Y.codes$sector) + + + # Load model variables: + + Q <- as.matrix( read.csv(paste0(path$IE_Processed,"/EXIOWasteMFAIO/",year,"_Q.csv"), + header = FALSE) ) + + L <- as.matrix( read.csv(paste0(path$IE_Processed,"/EXIOWasteMFAIO/",year,"_L.csv"), + header = FALSE) ) + + Y <- as.matrix( read.csv(paste0(path$IE_Processed,"/EXIOWasteMFAIO/",year,"_Y.csv"), + header = FALSE) ) + + x <- rowSums( L %*% Y ) # Calculate gross output + + # Calculate multipliers + + E <- colSums(Q)/x + + E[is.na(E)] <- 0 + + MP <- L*E + + # 1. Estimate flows from fabrication to final product + + FP <- MP %*% diag( rowSums(Y) ) + + colnames(FP) <- rownames(FP) <- IO.codes$Key + + FP <- melt(FP) # Transfrom from wide to long format (pivot-like list) + + colnames(FP) <- c("From","To","Quantity") + + FP[,c("From","To")] <- apply(FP[,c("From","To")], c(2), as.character) + + + # Differentiate sector and region codes (from and to): + + FP <- left_join( x = FP, y = select(IO.codes,base,sector,Key), + by = c("From" = "Key"), + copy = FALSE, + suffix = c(".from",".to") ) + + FP <- left_join( x = FP, y = select(IO.codes,base,sector,Key), + by = c("To" = "Key"), + copy = FALSE, + suffix = c(".from",".to") ) + + Fabrication2Final <- select(FP,-From,-To) # Remove key (not needed anymore) + + + # 2. Estimate steel in final demand + + + FP <- Y # Create object to store data + + # Set col and row names: + + colnames(FP) <- paste0(Y.codes$base,"-",Y.codes$demand) + + rownames(FP) <- paste0(IO.codes$base,"-",IO.codes$sector) + + FP[1:nrow(Y),1:ncol(Y)] <- 0 # Set values to zero + + + # Calculate flows: + + for( i in 1:ncol(Y) ) FP[,i] <- rowSums( t(MP)*Y[,i] ) + + + FP <- melt(FP) # Transfrom from wide to long format (pivot-like list) + + colnames(FP) <- c("From","To","Quantity") + + FP[,c("From","To")] <- apply(FP[,c("From","To")], c(2), as.character) + + + # Differentiate sector and region codes (from and to): + + FP <- left_join( x = FP, y = select(IO.codes,base,sector,Key), + by = c("From" = "Key"), + copy = FALSE, + suffix = c(".from",".to") ) + + FP <- left_join( x = FP, y = select(IO.codes,base,sector,Key), + by = c("To" = "Key"), + copy = FALSE, + suffix = c(".from",".to") ) + + Fabrication2Final <- select(FP,-From,-To) # Remove key (not needed anymore) + + + + + colSums(SteelInFinalDemand)/1000000 + + + sum(SteelInFinalDemand) + + SteelInFinalDemand <- tibble::rownames_to_column(SteelInFinalDemand, "Key") + SteelInFinalDemand <- melt(SteelInFinalDemand,id.vars = "Key") + colnames(SteelInFinalDemand) <- c("Key","To.Region","Quantity") + # Warning messages are turned off for the following join + options(warn = -1) + SteelInFinalDemand <- left_join(SteelInFinalDemand,IO.codes,c("Key"),copy = FALSE) %>% + select(base,To.Region,commodity,Quantity) + options(warn = 0) + colnames(SteelInFinalDemand)[c(1,3)] <- c("From.Region","Commodity") + SteelInFinalDemand <- left_join(SteelInFinalDemand,base$product,c("Commodity" = "Name"),copy = FALSE) %>% + select(From.Region,To.Region,Code,Quantity) + colnames(SteelInFinalDemand)[3] <- "Product" + + # 4. Save results to folder + write.csv(FabricationToFinal,file = paste0(path$IE_Processed,"/EXIOWasteMFAIO/",year,"_FabricationToFinalDemand.csv"),row.names = FALSE) + write.csv(SteelInFinalDemand,file = paste0(path$IE_Processed,"/EXIOWasteMFAIO/",year,"_SteelInFinalDemand.csv"),row.names = FALSE) + + print("DataProcessing_PIOLab_WasteMFAIOModelRun finished.") +} \ No newline at end of file diff --git a/Rscripts/IEfeeds_code/IE_subroutines/Archive/IEFeed_PIOLab_EXIOWasteMFAIO.R b/Rscripts/IEfeeds_code/IE_subroutines/Archive/IEFeed_PIOLab_EXIOWasteMFAIO.R new file mode 100644 index 0000000..baf9954 --- /dev/null +++ b/Rscripts/IEfeeds_code/IE_subroutines/Archive/IEFeed_PIOLab_EXIOWasteMFAIO.R @@ -0,0 +1,146 @@ +################################################# +# # +# This Feed takes EXIOBASE 3.6 and aggregating # +# the database in order to apply the # +# MFA-Waste-IO approach # +# # +################################################# + + +IEFeed_PIOLab_EXIOWasteMFAIO <- function(year,path) +{ + print("IEFeed_PIOLab_EXIOWasteMFAIO initiated.") + # Function for aggregating the IOT + Agg <- function(x) + { + x <- as.matrix(x) %*% sapply(unique(colnames(x)),"==",colnames(x)) + return(x) + } + + # 1. Loading the original EXIOBASE 3.6 variables + # Transaction matrix: + load(paste0(path$Raw,"/EXIOWasteMFAIO/",year,"_Z.RData")) + # Final demand: + load(paste0(path$Raw,"/EXIOWasteMFAIO/",year,"_Y.RData")) + # IO sector codes: + load(paste0(path$Raw,"/EXIOWasteMFAIO/","IO.codes.RData")) + IO.codes <- IO.codes %>% select(Index,Product.Name,Country.Code) + regions <- unique(IO.codes$Country.Code) + # Final demand codes + load(paste0(path$Raw,"/EXIOWasteMFAIO/","Y.codes.RData")) + + # Load the root classifciation + root_class <- root$region %>% select(Code,ISO2digitCode) + + # Load region aggregator + source(paste0(path$Subroutines,"/Root2Base_RegionAggregator.R")) + + # Load source-to-root and calculate Source2Base concordances + Source2Root <- read.csv(paste0(path$Concordance,"/EXIOBASE/Source2Root_Region_EXIOBASE.csv"), + header = FALSE) + + Root2Base <- as.matrix(RegionAggregator) + + Source2Root <- as.matrix(Source2Root) + # Create map from concordance + Source2Root <- Source2Root/rowSums(Source2Root) + Root2Base <- as.matrix(Root2Base) + # Create Source-to-base matrix + Source2Base <- Source2Root %*% Root2Base + + # Create concordance + Source2Base <- t(Source2Base)*(1:ncol(Source2Base)) + rownames(Source2Base) <- NULL + Source2Base <- melt(Source2Base) + Source2Base <- filter(Source2Base,value > 0) %>% select(-value) + colnames(Source2Base) <- c("base","root") + + IO.codes <- data.frame(IO.codes,"NewProducts" = "NEC",stringsAsFactors = FALSE) + IO.codes["base"] <- rep(Source2Base$base,each = 200) + + # select steel containing commodities + steel.id <- c(117:125,150) + IO.codes$NewProducts[IO.codes$Product.Name %in% IO.codes$Product.Name[steel.id]] <- IO.codes$Product.Name[IO.codes$Product.Name %in% IO.codes$Product.Name[steel.id]] + + # Create key for aggregation + IO.codes <- data.frame(IO.codes, + "Key" = paste0(as.character(IO.codes$base),"§",IO.codes$NewProducts), + stringsAsFactors = FALSE) + + # Aggregate transaction matrix + colnames(Z) <- IO.codes$Key + Z <- Agg(Z) + Z <- t(Z) + colnames(Z) <- IO.codes$Key + Z <- Agg(Z) + Z <- t(Z) + + # Aggregate final demand + Y.codes["base"] <- rep(Source2Base$base,each = 7) + colnames(Y) <- Y.codes$base + Y <- Agg(Y) + Y <- t(Y) + colnames(Y) <- IO.codes$Key + Y <- Agg(Y) + Y <- t(Y) + # Rearrange columns so that the region code of the base table is in increasing order + Y <- Y[,as.character(1:max(Source2Base$base))] + + # Create new IO.codes to rearrange the variables so that base region codes increases + IO.codes <- colnames(Z) + IO.codes <- as.data.frame(str_split_fixed(IO.codes, "§", 2),stringsAsFactors = FALSE) + colnames(IO.codes) <- c("base","commodity") + storage.mode(IO.codes$base) <- "numeric" + IO.codes <- IO.codes[order(IO.codes$base),] + IO.codes$index <- 1:nrow(IO.codes) + IO.codes$Key <- paste0(as.character(IO.codes$base),"§",IO.codes$commodity) + IO.codes <- IO.codes[,c("index","base","commodity","Key")] + + # New Y.codes + Y.codes <- data.frame("base" = 1:max(Source2Base$base), + "Region.Name" = base$region$Name, + stringsAsFactors = FALSE) + + # Rearrange Z & Y (if necessary) + Z <- Z[,IO.codes$Key] + Z <- t(Z) + Z <- Z[,IO.codes$Key] + Y <- t(Y) + Y <- Y[,IO.codes$Key] + Y <- t(Y) + + # Compute new variables of the aggreagted table + x <- rowSums(Z) + rowSums(Y) + A <- t(t(Z)/x) + A[is.na(A)] <- 0 + + # Delete input/flows not containing steel + A[IO.codes$index[IO.codes$commodity == "NEC"],] <- 0 + A[,IO.codes$index[IO.codes$commodity == "NEC"]] <- 0 + L <- solve(diag(nrow(A))-A) + + # Construct new final demand (now only steel-containing products) + Y[IO.codes$index[IO.codes$commodity == "NEC"],] <- 0 + + # Remove NEC product from WIO model + L <- L[IO.codes$index[IO.codes$commodity != "NEC"],IO.codes$index[IO.codes$commodity != "NEC"]] + Y <- Y[IO.codes$index[IO.codes$commodity != "NEC"],] + x <- rowSums(L%*%Y) + IO.codes <- IO.codes[IO.codes$commodity != "NEC",] + IO.codes$index <- 1:nrow(IO.codes) + IO.codes$WIOcode <- 1:length(unique(IO.codes$commodity)) + IO.codes$base.product <- base$product$Code[base$product$Name %in% IO.codes$commodity] + + # Check if subfolder in processed data exists and if not create it + path_set <- paste0(path$IE_Processed,"/EXIOWasteMFAIO") + if(!dir.exists(path_set)) dir.create(path_set) + + write.table(L,file = paste0(path_set,"/",year,"_L.csv"),row.names = FALSE,col.names = FALSE,sep = ",") + write.table(Y,file = paste0(path_set,"/",year,"_Y.csv"),row.names = FALSE,col.names = FALSE,sep = ",") + write.table(x,file = paste0(path_set,"/",year,"_x.csv"),row.names = FALSE,col.names = FALSE,sep = ",") + save(IO.codes,file = paste0(path_set,"/IO.codes.RData")) + save(Y.codes,file = paste0(path_set,"/Y.codes.RData")) + + print("IEFeed_PIOLab_EXIOWasteMFAIO finished.") + +} \ No newline at end of file diff --git a/Rscripts/IEfeeds_code/IE_subroutines/IEDataProcessing_PIOLab_AligningData.R b/Rscripts/IEfeeds_code/IE_subroutines/IEDataProcessing_PIOLab_AligningData.R index faa4c52..2237f78 100644 --- a/Rscripts/IEfeeds_code/IE_subroutines/IEDataProcessing_PIOLab_AligningData.R +++ b/Rscripts/IEfeeds_code/IE_subroutines/IEDataProcessing_PIOLab_AligningData.R @@ -1,148 +1,89 @@ -########################################### -# # -# This function fills the gap of the # -# of the WorldSteels (WSA) production # -# numbers using the IEA energy data. # -# Moreover, BACI trade data is aligned # -# with IRP ore extraction data # -# # -########################################### +################################################################################ +# This function uses WSA data to estimate forging output and +# aligns trade data with IRP extraction +# It differs from version 1 in not filling the gaps in WSA by comparing with IEA +# Author: hanspeter.wieland@wu.ac.at +# Date: 26.03.2020 IEDataProcessing_PIOLab_AligningData <- function(year,path) { + print("IEDataProcessing_PIOLab_AligningData initiated.") - ############################################################################## + # Loading BACI trade data and IRP extraction accounts: + + BACI <- read.csv(file = paste0(path$IE_Processed,"/BACI/BACI_",year,".csv")) - # 1. Loading data + IronOre <- read.csv(file = paste0(path$IE_Processed,"/IRP/IRP_",year,".csv")) - # Loading processed WSA production numbers + colnames(IronOre)[2] <- "Extraction" - Pig <- read.csv(paste0(path$IE_Processed,"/WSA/WSA_",year,"_PigIron.csv")) + sel <- setdiff(base$region$Code,IronOre$base) # Countries with no extraction - Flat <- read.csv(paste0(path$IE_Processed,"/WSA/WSA_",year,"_FlatRolledProducts.csv")) + BACI$Quantity[BACI$From %in% sel & BACI$Product == 1] <- 0 # Set zero - colnames(Flat)[2] <- "Flat" + BACI <- BACI[BACI$Quantity != 0,] # Filter regions with non-zero values - Long <- read.csv(paste0(path$IE_Processed,"/WSA/WSA_",year,"_LongRolledProducts.csv")) + # Write to folder: - colnames(Long)[2] <- "Long" + write.csv(BACI,file = paste0(path$IE_Processed,"/BACI/BACI_",year,".csv"), + row.names = FALSE) - BOF_steel <- read.csv(paste0(path$IE_Processed,"/WSA/WSA_",year,"_SteelOxygenBlownConverters.csv")) + remove(IronOre,sel) # Delete objects not needed anymore - EAF_steel <- read.csv(paste0(path$IE_Processed,"/WSA/WSA_",year,"_SteelElectricFurnaces.csv")) - colnames(EAF_steel)[2] <- "EAF" + # 2. Estimate forgings - # Loading IE_Processed IEA energy data - BF_gas <- read.csv(paste0(path$IE_Processed,"/IEA/IEA_",year,"_BlastFurnaceGas.csv")) - colnames(BF_gas)[2] <- "Energy" - BOF_gas <- read.csv(paste0(path$IE_Processed,"/IEA/IEA_",year,"_BlastOxygenFurnaceGas.csv")) - colnames(BOF_gas)[2] <- "Energy" - Energy_con <- read.csv(paste0(path$IE_Processed,"/IEA/IEA_",year,"_SteelIndustryEnergyConsumption.csv")) + # Read settings list for WSA data feeds: + + Settings <- read.xlsx(paste0(path$Settings,"/datafeeds_settings/WSA_settings.xlsx")) + + # Read production, import and export of ingots from WSA and BACI: + + Ingots <- list("Production" = read.csv(paste0(path$IE_Processed,"/WSA/WSA_",year,"_Ingots.csv"))) + + Ingots[["Code"]] <- filter(base$flow, Name == "Ingots") %>% pull(Code) + + Ingots[["Export"]] <- filter(BACI, Product == Ingots$Code) %>% select(-Product) %>% + group_by(From) %>% summarise(Quantity = sum(Quantity)) %>% ungroup(From) + + Ingots[["Import"]] <- filter(BACI, Product == Ingots$Code) %>% select(-Product) %>% + group_by(To) %>% summarise(Quantity = sum(Quantity)) %>% ungroup(To) + + # Estimate forging output: + + Forgings <- data.frame("base" = 1:nrow(base$region), + "Quantity" = 0, + "In_pro" = 0, + "In_im" = 0, + "In_ex" = 0) + + Forgings$In_pro[Ingots$Production$base] <- Ingots$Production$Quantity + + Forgings$In_im[Ingots$Import$To] <- Ingots$Import$Quantity + + Forgings$In_ex[Ingots$Export$From] <- Ingots$Export$Quantity + + Forgings$Quantity <- Forgings$In_pro - Forgings$In_ex + Forgings$In_im + + Forgings$Quantity[Forgings$Quantity < 0] <- Forgings$In_im[Forgings$Quantity < 0] + + Forgings <- select(Forgings, base, Quantity) + + + # Check if folder with processed data exists and in case delete: + + df_Processed <- paste0(path$IE_Processed,"/AligningData") + + if(dir.exists(df_Processed)) unlink(df_Processed,recursive = TRUE) + + dir.create(df_Processed) # Create new (empty) folder + + # Write data to folder + + write.csv(Forgings,file = paste0(df_Processed,"/Forgings_",year,".csv"), + row.names = FALSE) - # Loading BACI trade data on iron ores and IRP extraction accounts - BACI <- read.csv(file = paste0(path$IE_Processed,"/BACI/BACI_",year,".csv")) - IronOre_Extraction <- read.csv(file = paste0(path$IE_Processed,"/IRP/IRP_",year,".csv")) - - ############################################################################## - # 2. Filling gaps in WSA production accounts by checking IEA energy data - # 2.1 WSA pig iron production vs. production of (IEA) blast furnace gas - - # Following the WSA publication "Energy use in the steel industry" (p98) between - # 4.3 and 7.2 GJ of blast furnace gas is produced per ton of pig iron. - # In the following we fill the gaps assuming an average intensity of 5.7 GJ/t - - # Merge the two data sets and filter for missing production values - Pig_vs_BF <- full_join(Pig,BF_gas,c("base"),copy = FALSE) %>% - mutate(Intensity = Energy/Quantity) - Pig_vs_BF_gap <- Pig_vs_BF %>% filter(Quantity == 0 & Energy != 0) - - # Fill in values and save new pig iron production data - if(length(Pig_vs_BF_gap) > 0) { - Pig_vs_BF$Quantity[Pig_vs_BF$base %in% Pig_vs_BF_gap$base] <- Pig_vs_BF_gap$Energy / 5.7 - Pig <- Pig_vs_BF %>% select(base,Quantity) - write.csv(Pig, file = paste0(path$IE_Processed,"/WSA/WSA_",year,"_PigIron.csv"),row.names = FALSE)} - - remove(Pig_vs_BF,Pig_vs_BF_gap,Pig,BF_gas) - - # 2.2 BOF steel production vs. BOF gas production - - # Again according to the WSA report on energy, the blown oxygen furnace steelmaking - # process produces gases of approx. 0.234 GJ per crude steel (p101). Please note that the - # WSA case studies (p104) showed values betwene 0.4 and 0.8 GJ per ton - - Steel_vs_BOF <- full_join(BOF_steel,BOF_gas,c("base"),copy = FALSE) %>% - mutate(Intensity = Energy/Quantity) - Steel_vs_BOF_gap <- Steel_vs_BOF %>% filter(Quantity == 0 & Energy != 0) - - # Fill in values and save new BOF steel production data - if(nrow(Steel_vs_BOF_gap) > 0) { - Steel_vs_BOF$Quantity[Steel_vs_BOF$base %in% Steel_vs_BOF_gap$base] <- Steel_vs_BOF_gap$Energy / 0.234 - BOF_steel <- Steel_vs_BOF %>% select(base,Quantity) - write.csv(BOF_steel, file = paste0(path$IE_Processed,"/WSA/WSA_",year,"_SteelOxygenBlownConverters.csv"),row.names = FALSE)} - - remove(Steel_vs_BOF,Steel_vs_BOF_gap,BOF_gas) - colnames(BOF_steel)[2] <- "BOF" - - # 2.3 Filling gaps for rolled steel products - Steel_vs_energy <- full_join(Energy_con,Flat,c("base"),copy = FALSE) - Steel_vs_energy <- full_join(Steel_vs_energy,Long,c("base"),copy = FALSE) - Steel_vs_energy <- full_join(Steel_vs_energy,BOF_steel,c("base"),copy = FALSE) - Steel_vs_energy <- full_join(Steel_vs_energy,EAF_steel,c("base"),copy = FALSE) - Steel_vs_energy[is.na(Steel_vs_energy)] <- 0 - Steel_vs_energy <- mutate(Steel_vs_energy,Rolled = Flat+Long,Intensity = Value/Rolled) - Steel_vs_energy$Intensity[Steel_vs_energy$Intensity == Inf] <- 0 - - # The reference plant, of the WSA report, has an average energy intensity for - # long rolled products of approx. 20 GJ per ton and 9.5 GJ per ton for scrap based long products - # WSA referenced flat rolling plate mill has an energy intensity of 24 GJ per ton of product (p120-122) - # Please note that these numbers refer to the total energy requirement including - # upstream energy use for steel and iron making. Direct energy use in rolling mills is much smaller at around 2-7 GJ/t - - # 2.3.1 Filter for countries with inconsistent data - # No flat rolling reported but BOF steel is produced - Gap <- Steel_vs_energy %>% filter(Flat == 0 & BOF != 0) - if(nrow(Gap) > 0) Steel_vs_energy$Flat[Steel_vs_energy$base %in% Gap$base] <- Gap$BOF - - # No long rolling reported but EAF steel is porduced - Gap <- Steel_vs_energy %>% filter(Long == 0 & EAF != 0) - if(nrow(Gap) > 0) Steel_vs_energy$Long[Steel_vs_energy$base %in% Gap$base] <- Gap$EAF - - # BOF steel reported but flat rolled products + energy intensity is below the threshold - Gap <- Steel_vs_energy %>% filter(BOF == 0 & Flat != 0 & Intensity < 20) - if(nrow(Gap) > 0) Steel_vs_energy$BOF[Steel_vs_energy$base %in% Gap$base] <- Gap$Flat - - # No flat and long rolling reported but energy use data available - Gap <- Steel_vs_energy %>% filter(Flat == 0 & Long == 0 & Value != 0) - if(nrow(Gap) > 0) { - # Assuming 18 GJ/ton - filling <- Gap$Value/18 - Steel_vs_energy[Steel_vs_energy$base %in% Gap$base,c("Flat","Long","BOF","EAF")] <- filling/2 } - - ############################################################################## - # 3. Delete BACI trade flows of iron ores where IRP reports no extraction - colnames(IronOre_Extraction)[2] <- "Extraction" - # Code of countries with no extraction - sel <- setdiff(base$region$Code,IronOre_Extraction$base) - # Set zero - BACI$Quantity[BACI$From %in% sel & BACI$Product == 1] <- 0 - BACI <- BACI[BACI$Quantity != 0,] - ############################################################################## - # 4. Writing manipulated data to folder - Flat <- select(Steel_vs_energy,base,Flat) - Long <- select(Steel_vs_energy,base,Long) - BOF <- select(Steel_vs_energy,base,BOF) - EAF <- select(Steel_vs_energy,base,EAF) - colnames(Flat)[2] <- colnames(Long)[2] <- colnames(BOF)[2] <- colnames(EAF)[2] <- "Quantity" - - write.csv(Flat,file = paste0(path$IE_Processed,"/WSA/WSA_",year,"_FlatRolledProducts.csv"),row.names = FALSE) - write.csv(Long,file = paste0(path$IE_Processed,"/WSA/WSA_",year,"_LongRolledProducts.csv"),row.names = FALSE) - write.csv(BOF,file = paste0(path$IE_Processed,"/WSA/WSA_",year,"_SteelOxygenBlownConverters.csv"),row.names = FALSE) - write.csv(EAF,file = paste0(path$IE_Processed,"/WSA/WSA_",year,"_SteelElectricFurnaces.csv"),row.names = FALSE) - write.csv(BACI,file = paste0(path$IE_Processed,"/BACI/BACI_",year,".csv"),row.names = FALSE) - - print("IEDataProcessing_PIOLab_AligningData finished.") } \ No newline at end of file diff --git a/Rscripts/IEfeeds_code/IE_subroutines/IEDataProcessing_PIOLab_BuildS8fromSupplyUseTables.R b/Rscripts/IEfeeds_code/IE_subroutines/IEDataProcessing_PIOLab_BuildS8fromSupplyUseTables.R index 73b93c1..1241381 100644 --- a/Rscripts/IEfeeds_code/IE_subroutines/IEDataProcessing_PIOLab_BuildS8fromSupplyUseTables.R +++ b/Rscripts/IEfeeds_code/IE_subroutines/IEDataProcessing_PIOLab_BuildS8fromSupplyUseTables.R @@ -171,8 +171,6 @@ IEDataProcessing_PIOLab_BuildS8fromSupplyUseTables <- function(year,path) write_file(zero,"Zero") write_file(S8,"AllInOne") - print(paste0("IEDataProcessing_PIOLab_BuildS8fromSupplyUseTables finished")) - } diff --git a/Rscripts/IEfeeds_code/IE_subroutines/IEDataProcessing_PIOLab_BuildingDomesticTables.R b/Rscripts/IEfeeds_code/IE_subroutines/IEDataProcessing_PIOLab_BuildingDomesticTables.R index 5084b04..a060e52 100644 --- a/Rscripts/IEfeeds_code/IE_subroutines/IEDataProcessing_PIOLab_BuildingDomesticTables.R +++ b/Rscripts/IEfeeds_code/IE_subroutines/IEDataProcessing_PIOLab_BuildingDomesticTables.R @@ -10,387 +10,712 @@ IEDataProcessing_PIOLab_BuildingDomesticTables <- function(year,path) { + # !diagnostics off + print("IEDataProcessing_PIOLab_BuildingDomesticTables initiated.") - # Load region aggregator - source(paste0(path$Subroutines,"/Root2Base_RegionAggregator.R")) - reg_agg <- Root2Base_RegionAggregator(RegionAggregator) - # Load function to compile end use map - source(paste0(path$Subroutines,"/makeEndUseMap.R")) - # Load slag rate of blast furnace and coefficient per ton of pig iron output - WSA_yield <- read.csv(paste0(path$IE_Processed,"/WSA/SteelIndustryYields.csv")) %>% - select(Process,Average) - # Load extension of the WasteMFAIO model and IO codes - load(paste0(path$IE_Processed,"/EXIOWasteMFAIO/",year,"_Q.RData")) - load(paste0(path$IE_Processed,"/EXIOWasteMFAIO/IO.codes.RData")) - # Load trade data - BACI <- read.csv(paste0(path$IE_Processed,"/BACI/BACI_",year,".csv")) + + # Add path to IE classification setting file: + + path[["IE_classification"]] <- paste0(path$Settings,"/Base/",IEdatafeed_name,"_BaseSectorClassification.xlsx") + + # Load prorating function and Number2File: + + source(paste0(path$Subroutines,"/Prorate.R")) + + source(paste0(path$Subroutines,"/Numbers2File.R")) + + + Codes <- list( "WIO" = read.csv(file = paste0(path$IE_Processed,"/EXIOWasteMFAIO/IO_codes.csv") ) ) + + Setting <- list( "WSA" = read.xlsx(xlsxFile = paste0(path$Settings,"/datafeeds_settings/WSA_settings.xlsx"), sheet = 1 ), + "IE" = read.xlsx(xlsxFile = paste0(path$Settings,"/Base/IE_settings.xlsx"), sheet = 1 )) + + Setting$WSA["path"] <- paste0(path$IE_Processed,"/WSA/WSA_",year,"_",Setting$WSA$FeedName,".csv") + + + # Load flow data where all regions are included in one object: + + data <- list( "FinalDemand" = read.csv( paste0(path$IE_Processed,"/EXIOWasteMFAIO/",year,"_","FinalDemand.csv") ), + "Fab2Demand" = read.csv( paste0(path$IE_Processed,"/EXIOWasteMFAIO/",year,"_","Fabrication2FinalDemand.csv") ), + "BACI" = read.csv(paste0(path$IE_Processed,"/BACI/BACI_",year,".csv") ), + "Eol" = read.csv(paste0(path$IE_Processed,"/EOL/EOL_",year,".csv") ), + "IRP" = read.csv(paste0(path$IE_Processed,"/IRP/IRP_",year,".csv") ), + "Grade" = read.csv(paste0(path$IE_Processed,"/Grades/IronOreGrades.csv") ), + "Yield" = select(read.csv(paste0(path$IE_Processed,"/WSA/SteelIndustryYields.csv")),Process,Average), + "WSA" = lapply(X = Setting$WSA$path, FUN = read.csv), + "Forgings" = read.csv(paste0(path$IE_Processed,"/AligningData/Forgings_",year,".csv") ) + ) + + # Load WSA Source2Root concordances + + set <- read.xlsx(xlsxFile = paste0(path$Settings,"/Base/IE_settings.xlsx"),sheet = 2) + + path_sel <- list("flow" = paste0(path$Concordance,"/WSA/", + set$date[set$aggregator == "sector"],"_WSA_Source2Root_Product.csv"), + "process" = paste0(path$Concordance,"/WSA/", + set$date[set$aggregator == "sector"],"_WSA_Source2Root_Industry.csv") + ) + + S2R <- list( "WSA" = list( "industry" = as.matrix( read.csv(path_sel$process,header = FALSE) ), + "product" = as.matrix( read.csv(path_sel$flow,header = FALSE) ) + ) + ) + + # Store root to mother concordances in list object: + + R2M_sel <- list( "WSA" = list( "industry" = R2M$process, + "product" = R2M$flow + ) + ) + + # Normalize source to root concordances (create maps) + + for(j in 1:2) S2R$WSA[[j]] <- as.matrix( S2R$WSA[[j]] / rowSums(S2R$WSA[[j]]) ) + + S2M <- list("WSA" = list()) # Create empty list to store source to mother maps + + # Create Source to mother map: + + for(j in 1:2) S2M$WSA[[j]] <- S2R$WSA[[j]] %*% R2M_sel$WSA[[j]] + + # Load SUT templates + + SUT_temp <- list( "Supply" = as.matrix( read.xlsx(path$IE_classification, sheet = 5,rowNames = TRUE) ), + "Use" = as.matrix( read.xlsx(path$IE_classification, sheet = 6,rowNames = TRUE) ) + ) + # Load allocation function - source(paste0(path$Subroutines,"/AllocateSupply2Use.R")) - # Define general variables - n_pro <- nrow(base$product) - n_ind <- nrow(base$industry) - n_reg <- nrow(base$region) - n_va <- 5 - n_fd <- 3 + # source(paste0(path$Subroutines,"/AllocateSupply2Use.R")) - for(i in 1:n_reg) + # Define general variables: + + # num <- list("pro" = nrow(base$product), + # "ind" = nrow(base$industry), + # "reg" = nrow(base$region), + # "va" = nrow(base$input), + # "fd" = nrow(base$demand) ) + + for(i in 1:num$reg) { - print(i) - # Create empty SUT - SUT <- data.frame(matrix(0,(n_pro+n_ind+n_va),(n_pro+n_ind+n_fd))) - colnames(SUT) <- c(base$industry$Name,base$product$Name, - "FinalConsumption","Landfill","Atmosphere") - rownames(SUT) <- c(base$industry$Name,base$product$Name, - "FerrousMinerals","EOLScrap","Limestone","Coke","Air") - SUT <- as.matrix(SUT) - ############################################################################ - # 1. Writing boundary inputs of iron ore extraction and end-of-life scrap to table - - # 1.1 EoL scrap - data <- read.csv(paste0(path$IE_Processed,"/EOL/EOL_",year,".csv")) - if(i %in% data$base) { - value <- data$Quantity[data$base == i] - SUT["EOLScrap","Scrap preparation"] <- value } - - # 1.2 IRP iron ore extraction i.e. inputs from nature - data <- read.csv(paste0(path$IE_Processed,"/IRP/IRP_",year,".csv")) - if(i %in% data$base) { - value <- data$Quantity[data$base == i] - SUT["FerrousMinerals","Mining"] <- value } - - ############################################################################ - # 2. Writing production values into supply table - - # 2.1 Waste (gangue) output of mining - # Read iron ore grades and assume beneficiation to 60% of ore grade - data <- read.csv(paste0(path$IE_Processed,"/Grades/IronOreGrades.csv")) - - # if no ore grades are available for a region, assume 0.6 - if(i %in% data$base) - {concen <- data$Concentration[data$base == i]}else - {concen <- 0.6} - - if(SUT["FerrousMinerals","Mining"] > 0) { - iron <- SUT["FerrousMinerals","Mining"]*concen - # iron ore weight with 60% grade, when concentration is higher than 0.6, leave it like it is - if(concen <= 0.6) {value_new <- iron/0.6} else - {value_new <- iron/concen} - # Calculate waste flow to landfill - waste <- value-value_new - # Allocate output of iron ore (now 60% grade) to mining - SUT["Mining","Iron ore"] <- value_new - # Allocate boundary outputs of waste to the supply-side of mining, that is landfill - SUT["Mining","Landfill"] <- waste } - - # 2.2 Write pig iron production and use yields to estimate waste/slag flows - data <- read.csv(paste0(path$IE_Processed,"/WSA/WSA_",year,"_PigIron.csv")) - - if(i %in% data$base) { - value <- data$Quantity[data$base == i] - SUT["Blast furnace","Pig iron"] <- value - # Take slag rate from WSA - yield <- WSA_yield$Average[WSA_yield$Process == 'BF slag rate']/1000 - # Estimate slag output and allocate to landfill (final use) - SUT["Blast furnace","Landfill"] <- value * yield - # Estimate output of top gas (1.7 tons per ton oig iron) - SUT["Blast furnace","Atmosphere"] <- value *1.7} - - # 2.3 Sponge iron - data <- read.csv(paste0(path$IE_Processed,"/WSA/WSA_",year,"_SpongeIron.csv")) - if(i %in% data$base) { - value <- data$Quantity[data$base == i] - SUT["Direct reduction","Sponge iron"] <- value - # Allocate slag output assuming losses of 5% of sponge iron output - #yield <- 0.05 - #waste <- value * yield - # Alternatively allocate losses including gangue by assuming waste of 600 kg per ton of useful output - SUT["Direct reduction","Landfill"] <- value * 0.6 } + print(paste("Compiling",base$region$Name[i])) + + # Create empty SUT: + + SUT <- data.frame(matrix(0,(num$flow + num$process + num$input),(num$flow + num$process + num$demand))) + + colnames(SUT) <- c(base$process$Name, + base$flow$Name, + base$demand$Name) + + rownames(SUT) <- c(base$process$Name, + base$flow$Name, + base$input$Name) + + SUT <- as.matrix(SUT) # Transform to matrix write numbers using matrix indices + + + ### Flows associated with fabrication ### + + + # Load data on fabrication use: + + data_sel <- read.csv(paste0(path$IE_Processed,"/Cullen/FabricationUse_", + year,"_",base$region$Name[i],".csv"), + header = FALSE) + + # Store matrix index in list: + + index <- list("row" = num$process + filter(base$flow,Type == "Finished") %>% pull(Code), + "col" = filter(base$process,Type == "Final") %>% pull(Code)) + + SUT[index$row,index$col] <- as.matrix(data_sel) # Write into table + + # Load data on fabrication scrap output + + data_sel <- read.csv(paste0(path$IE_Processed,"/Cullen/FabricationScrap_", + year,"_",base$region$Name[i],".csv")) + + # Matrix indices in list: + + index <- list("row" = data_sel$base, + "col" = num$process + filter(base$flow, Name == "Fabrication scrap") %>% pull(Code)) + + SUT[index$row,index$col] <- data_sel$Quantity # Write scrap flows into table + + # Read data for useful fabrication output + + data_sel <- select(data$Fab2Demand,base.from,sector.from,Quantity) %>% filter(base.from == i) %>% + group_by(base.from,sector.from) %>% summarise(Quantity = sum(Quantity)) %>% ungroup(base.from,sector.from) + + # Store matrix index in list: + + index <- as.matrix(data.frame("row" = filter(base$process,Type == "Final") %>% pull(Code), + "col" = num$process + filter(base$flow,Type == "Final") %>% pull(Code) + ) + ) + + SUT[index] <- data_sel$Quantity # Write fab output to table + + + # Read data on intermediate use of manufacturing output + + data_sel <- data$Fab2Demand %>% filter(base.from == i,base.to == i) %>% + select(sector.from,sector.to,Quantity) %>% group_by(sector.from,sector.to) %>% + summarise(Quantity = sum(Quantity)) %>% ungroup(sector.from,sector.from) + + # Read base sector codes: + + index <-data.frame( "row" = num$process + filter(base$flow,Type == "Final") %>% pull(Code), + "col" = filter(base$process,Type == "Final") %>% pull(Code) ) + + data_sel$sector.from <- index$row[data_sel$sector.from] # Exchange WIO codes with base row codes + + data_sel$sector.to <- index$col[data_sel$sector.to] # Exchange WIO codes with base col codes + + # Copy base codes into data frame and transform into matrix: + + index <- as.matrix(data_sel[,c("sector.from","sector.to")]) + + SUT[index] <- data_sel$Quantity + + + # Read flows from final production sector (manuf.) to final demand category: + + data_sel <- data$FinalDemand %>% filter(base.from == i,base.to == i) %>% + select(sector,demand,Quantity) %>% group_by(sector,demand) %>% + summarise(Quantity = sum(Quantity)) %>% ungroup(sector,sector,demand) + + # Read base sector codes: + + index <-data.frame( "row" = filter(base$process,Type == "Final") %>% pull(Code)) + + data_sel$sector <- index$row[data_sel$sector] # Exchange WIO code with base sector code + + data_sel$demand <- data_sel$demand + num$process + num$flow # Exchange WIO with base sector code + + index <- as.matrix( data_sel[,c("sector","demand")] ) # Create matrix for indices + + SUT[index] <- data_sel$Quantity + + + ### Output of steelmaking sector ### + + # Read WSA id's of processed data that is relevant: + + Code_sel <- Setting$WSA %>% filter(Type %in% c("Primary","Secondary","Finished")) %>% + select(id, FeedName, Type) + + # Use id to extract a list containing the processed data: + + data_sel <- data$WSA[Code_sel$id] + + # Create vector in list to store the data for country i: + + Value <- list( "Source" = vector( mode="integer", length= length(data_sel) ) ) + + # Write production numbers in vector: + + for( j in 1:nrow(Code_sel) ) + { + if(i %in% data_sel[[j]]$base) Value$Source[j] <- filter(data_sel[[j]],base == i) %>% pull(Quantity) + } + + # Map raw data to mother product classification: + + Value[["Mother"]] <- colSums( S2M$WSA[[2]][Code_sel$id,] * Value$Source ) + + # Read indices of steelmaking sector outputs + + index <- list( "row" = filter(base$process,Type %in% c("Primary","Secondary","Finished")) %>% pull(Code), + "col" = filter(base$flow,Type %in% c("Primary","Secondary","Finished")) %>% pull(Code) + ) + + Value[["Supply"]] <- SUT_temp$Supply %*% diag(Value$Mother) # Allocate products to industries + + # Write values into SUT (note addition of number of industries to column indices): + + SUT[index$row, num$process + index$col] <- Value$Supply[index$row,index$col] + + ### Add forging production ### + + if(i %in% data$Forgings$base) + { + SUT["Steel casting and forging","Forgings"] <- filter(data$Forgings,base == i) %>% pull(Quantity) + } + + # Read indices of secondary i.e. crude steel: + + index <- data.frame("industry" = filter(base$process,Name %in% paste("Continuous casting of",c("slabs","billets","blooms"))) %>% pull(Code), + "product" = filter(base$flow,Name %in% c("Slabs","Billets","Blooms")) %>% pull(Code) + ) + + + # Create map to calculate crude steel (secondary) output by estimating demand of downstream processes: + + Map <- t( SUT_temp$Use[index$product,] ) / colSums( SUT_temp$Use[index$product,] ) + + Map[is.na(Map)] <- 0 + + # Estimate crude steel demand/output: + + Value <- colSums( Map * rowSums(SUT[base$process$Code, num$process + base$flow$Code]) ) + + index$product <- index$product + num$process # Change product (col) code to write in SUT + + SUT[as.matrix(index)] <- Value # Write value + + + ### Estimate forming scrap ### + + # indices of forming processes: + + index <- list( "industry" = filter(base$process, Type == "Finished") %>% pull(Code) ) + + # Output of forming processes: + + Value <- rowSums(SUT[index$industry, num$process + base$flow$Code]) + + # Scrap = ( Useful output / yield ) - Useful output: + + Value <- ( Value / filter(data$Yield, Process == "Hot rolling yield") %>% pull(Average) ) - Value + + SUT[index$industry,"Forming scrap"] <- Value # Write values in SUT + + ############################################## + ### Estimate final outputs of steel sector ### + ############################################## + + # Read process factor for top gas per pig iron: + + factor <- filter(Setting$IE, item == "TopGasPerPigIron") %>% pull(value) + + + # Write emissions in final output quadrant: + + SUT["Blast furnace","Atmosphere"] <- SUT["Blast furnace","Pig iron"] * factor + + + # Read slag per unit pig iron and allocate amount to output to landfill + + factor <- filter(Setting$IE, item == "SlagPerPigIron") %>% pull(value) + + SUT["Blast furnace","Landfill"] <- SUT["Blast furnace","Pig iron"] * factor + + + # Read gangue per unit sponge iron factor and add amount to landfill: + + factor <- filter(Setting$IE, item == "GanguePerSpongeIron") %>% pull(value) + + SUT["Direct reduction","Landfill"] <- SUT["Direct reduction","Sponge iron"] * factor + + + # Read oxygen blown furnace yield and use this for both OBF and open hearth furnace: + + factor <- filter(data$Yield,Process == "BOF yield") %>% pull(Average) + + # Read sector indices: + + index <- data.frame("industry" = filter(base$process, Name %in% c("Basic oxygen converter","Open hearth furnace")) %>% pull(Code), + "product" = num$process + filter(base$flow, Name %in% c("Liquid steel OBF","Liquid steel OHF")) %>% pull(Code) + ) + + # Write flow to landfill: + + SUT[index$industry,"Landfill"] <- ( SUT[as.matrix(index)] / factor ) - SUT[as.matrix(index)] + + + # Read electric arc furnace yield and estimate waste flow: + + factor <- filter(data$Yield,Process == "EAF yield") %>% pull(Average) + + Value <- SUT["Electric arc furnace","Liquid steel EAF"] # EAF steel production + + SUT["Electric arc furnace","Landfill"] <- ( Value / factor ) - Value + + + # Read slab and billet caster yields: + + factor <- filter( data$Yield,Process %in% c("Slab caster yield","Billet caster yield") ) %>% pull(Average) + + index <- data.frame("industry" = filter(base$process,Name %in% paste("Continuous casting of",c("slabs","billets"))) %>% pull(Code), + "product" = num$process + filter(base$flow,Name %in% c("Slabs","Billets") ) %>% pull(Code) + ) + + + SUT[index$industry,"Forming scrap"] <- ( SUT[as.matrix(index)] / factor ) - SUT[as.matrix(index)] + + + # Read bloom caster yield and use this for both blooms and ingost: + + factor <- filter( data$Yield,Process == "Bloom caster yield" ) %>% pull(Average) + + index <- data.frame("industry" = filter(base$process,Name %in% c("Continuous casting of blooms","Ingot casting")) %>% pull(Code), + "product" = num$process + filter(base$flow,Name %in% c("Blooms","Ingots") ) %>% pull(Code) + ) + + SUT[index$industry,"Forming scrap"] <- ( SUT[as.matrix(index)] / factor ) - SUT[as.matrix(index)] + + + ######################################################## + ### Fill use table of forming processes (= Finished) ### + ######################################################## + + + # Read indices of products that are used by these processes + # Note: Hot rolled coil-sheet-strip is handled separatly: + + index <- list( "product" = filter( base$flow, Name %in% c("Slabs","Billets","Blooms","Ingots") ) %>% pull(Code), + "industry" = filter( base$process, Type == "Finished" ) %>% pull(Code), + "interind" = filter( base$process, Type == "Secondary" ) %>% pull(Code) + ) + + # Read domestic output of intermediate inputs and of process: + + DomOut <- list( "Process" = rowSums(SUT[index$industry,]), + "Intermed" = rowSums(SUT[index$interind,]) + ) + + # Read use structure from template and create map: + + Map <- SUT_temp$Use[index$product, index$industry] + + # Create prorated map: + + Map <- Prorate(Map, DomOut$Process) + + Map[is.na(Map)] <- 0 + + + # Read export of intermediates: + + export <- filter(data$BACI,From == i,Product %in% index$product) %>% select(Product,Quantity) %>% + group_by(Product) %>% summarise(Quantity = sum(Quantity)) %>% ungroup(Product) + + + offset <- min(index$product)-1 # Offset product codes to write in Map + + if(length(export) >= 1) + { + Value <- DomOut$Intermed + Value[export$Product-offset] <- DomOut$Intermed[export$Product-offset] - export$Quantity + } + + # Check if exports are unavailable and if so set to zero: + + if( length(export) == 0 ) + { + Value <- DomOut$Intermed + } + + + + # Check if negatives exists and replace them with domestic production: + + for(j in 1:length(Value)) if(Value[j] < 0) Value[j] <- DomOut$Intermed[j] + + # Mulitply with map and write in use table + + SUT[num$process + index$product, index$industry] <- Map * Value + + + # Estimate use of hot rolled coil-sheet-strip products: + # Note that the use of hot rolled CSS by manufacturing is already accounted for by the WIO model extension + + index <- list( "product" = filter( base$flow, Name == "Hot rolled coil-sheet-strip" ) %>% pull(Code), + "rolling" = filter( base$process, Name %in% c("Tube welding","Cold rolling mill") ) %>% pull(Code), + "manufacturing" = filter( base$process, Type == "Final" ) %>% pull(Code), + "interind" = filter( base$process, Name == "Hot strip mill" ) %>% pull(Code) + ) + + # Read domestic output of intermediate inputs (product) and of relevant processes: + + DomOut <- list( "rolling" = rowSums(SUT[index$rolling,]), + "interind" = sum(SUT[index$interind,]), + "manufacturing" = sum(SUT[index$interind,]) + ) + + SUT[num$process + index$product, index$rolling] <- DomOut$rolling + + + # Estimate liquid steel use of casting: + + index <- list( "product" = filter( base$flow, Name %in% paste("Liquid steel",c("OBF","OHF","EAF")) ) %>% pull(Code), + "industry" = filter( base$process, Type == "Secondary" ) %>% pull(Code), + "interind" = filter( base$process, Name %in% c("Basic oxygen converter","Open hearth furnace","Electric arc furnace") ) %>% pull(Code) + ) + + # Read domestic output of intermediate inputs and of process: + + DomOut <- list( "industry" = rowSums(SUT[index$industry,]), + "Interind" = rowSums(SUT[index$interind,]) + ) + + # Read use structure from template and create map: + + Map <- SUT_temp$Use[index$product, index$industry] + + Map[is.na(Map)] <- 0 + + Map <- Prorate( Map, DomOut$industry) # Prorate map + + Value <- Map * DomOut$Interind # Multiply map with steel production + + SUT[num$process + index$product,index$industry] <- Value # Write into table + + + ### Primary inputs ### + + factor <- filter(Setting$IE, item == "AirPerPigIron") %>% pull(value) + + SUT["Air","Blast furnace"] <- SUT["Blast furnace","Pig iron"] * factor + + factor <- filter(Setting$IE, item == "CokePerPigIron") %>% pull(value) + + SUT["Coke","Blast furnace"] <- SUT["Blast furnace","Pig iron"] * factor + + factor <- filter(Setting$IE, item == "FluxPerPigIron") %>% pull(value) + + SUT["Flux","Blast furnace"] <- SUT["Blast furnace","Pig iron"] * factor + + # EoL scrap: + + if(i %in% data$Eol$base) SUT["End-of-Life Scrap","Scrap preparation"] <- data$Eol$Quantity[data$Eol$base == i] + + # IRP iron ore extraction + + if(i %in% data$IRP$base) + { + crude <- data$IRP$Quantity[data$IRP$base == i] - # 2.4 Write steel production of BOF & OHF - data_1 <- read.csv(paste0(path$IE_Processed,"/WSA/WSA_",year,"_SteelOxygenBlownConverters.csv")) - data_2 <- read.csv(paste0(path$IE_Processed,"/WSA/WSA_",year,"_SteelOpenHearthFurnaces.csv")) - data <- rbind(data_1,data_2) %>% group_by(base) %>% summarise(Quantity = sum(Quantity)) - remove(data_1,data_2) - - if(i %in% data$base) { - value <- data$Quantity[data$base == i] - SUT["Oxygen blown & open hearth furnace","Liquid steel (OBF/OHF)"] <- value - # Calculate waste - yield <- WSA_yield$Average[WSA_yield$Process == 'BOF yield'] - waste <- (value/yield)-value - SUT["Oxygen blown & open hearth furnace","Landfill"] <- waste } - - # 2.5 Write steel production of EAF - data <- read.csv(paste0(path$IE_Processed,"/WSA/WSA_",year,"_SteelElectricFurnaces.csv")) - - if(i %in% data$base) { - value <- data$Quantity[data$base == i] - SUT["Electric arc furnace","Liquid steel (EAF)"] <- value - # Calculate waste - yield <- WSA_yield$Average[WSA_yield$Process == 'EAF yield'] - waste <- (value/yield)-value - SUT["Electric arc furnace","Landfill"] <- waste } - - # 2.6 Write flat rolling production and forming scrap - data <- read.csv(paste0(path$IE_Processed,"/WSA/WSA_",year,"_FlatRolledProducts.csv")) - - if(i %in% data$base) { - value <- data$Quantity[data$base == i] - SUT["Flat rolling","Flat rolled products"] <- value - # Calculate waste - yield <- WSA_yield$Average[WSA_yield$Process == 'Slab caster yield'] - waste <- (value/yield)-value - SUT["Flat rolling","Forming & fabrication scrap"] <- waste } - - # 2.7 Write long rolling production and forming scrap - data <- read.csv(paste0(path$IE_Processed,"/WSA/WSA_",year,"_LongRolledProducts.csv")) - - if(i %in% data$base) { - value <- data$Quantity[data$base == i] - SUT["Long rolling","Long rolled products"] <- value - # Calculate waste - yield <- WSA_yield$Average[WSA_yield$Process == 'Bloom caster yield'] - waste <- (value/yield)-value - SUT["Long rolling","Forming & fabrication scrap"] <- waste } - - # 2.8 Write production of ingots and subsequently fill the gap of the casting - # process with slabs (because all feeds into flat rolling) - data <- read.csv(paste0(path$IE_Processed,"/WSA/WSA_",year,"_Ingots.csv")) - - if(i %in% data$base) { - value <- data$Quantity[data$base == i] - SUT["Casting of ingots & slabs","Ingots"] <- value - value <- SUT["Flat rolling","Flat rolled products"] - SUT["Casting of ingots & slabs","Ingots"] - SUT["Casting of ingots & slabs","Slabs"] <- value - yield <- WSA_yield$Average[WSA_yield$Process == 'Slab caster yield'] - value <- SUT["Flat rolling","Flat rolled products"] - waste <- (value/yield)-value - SUT["Casting of ingots & slabs","Forming & fabrication scrap"] <- waste } - - # 2.9 For the production value of billets and blooms use the value of long rolling - value <- sum(SUT["Long rolling",c("Long rolled products","Forming & fabrication scrap")]) - SUT["Casting of billets & blooms","Billets & blooms"] <- value - # Estimate scrap flows using yield data - yield <- WSA_yield$Average[WSA_yield$Process == 'Bloom caster yield'] - waste <- (value/yield)-value - SUT["Casting of billets & blooms","Forming & fabrication scrap"] <- waste + SUT["Crude Ore","Mining"] <- crude - # 2.10 Fabrication i.e. manufacturing output - data <- read.csv(paste0(path$IE_Processed,"/EXIOWasteMFAIO/",year,"_FabricationToFinalDemand.csv")) %>% - filter(From.Region == i) %>% select(From.Product,Quantity) %>% group_by(From.Product) %>% - summarise(Quantity = sum(Quantity)) - # Set up index to write values directly into cells - index <- cbind(base$industry$Name[11:20],base$product$Name[13:22]) - SUT[index] <- data$Quantity + # if no ore grades are available for a region, assume 0.6: - # 2.11 Fabrication scarp - data <- read.csv(paste0(path$IE_Processed,"/FabricationScrap/FabricationScrap_",year,".csv")) %>% - filter(base == i) - data <- data.frame("commodity" = as.character(data$commodity), - "Quantity" = data$Quantity, - stringsAsFactors = FALSE) - index <- as.data.frame(index,stringsAsFactors = FALSE) - colnames(index) <- c("Industry","Product") - data <- left_join(index,data,c("Product" = "commodity"),copy = FALSE) - - SUT[data$Industry,"Forming & fabrication scrap"] <- data$Quantity - - # 2.12 Estimate production of scrap steel by summing over "forming and fabrication scrap" - # and EoL scrap supply - - value <- sum(SUT[,"Forming & fabrication scrap"]) + SUT["EOLScrap","Scrap preparation"] - SUT["Scrap preparation","Scrap steel"] <- value - - ############################################################################ - # 3. Filling use table - # IMPORTANT: The allocation follows the logic to source data on exports from the - # BACI data set and subtract this value from the domestic production of the upstream process - # to get an estimate for the domestic inputs of each process. Where this results in negative values - # for domestic use, we assume that inputs are 50% from foreign source - - # 3.1 Steel in final demand - data <- read.csv(paste0(path$IE_Processed,"/EXIOWasteMFAIO/",year,"_SteelInFinalDemand.csv")) %>% - filter(From.Region == i & To.Region == i) - index <- base$product$Name[base$product$Code %in% data$Product] - SUT[index,"FinalConsumption"] <- data$Quantity - - # 3.2.1 Flat Rolled products used in fabrication - item <- "Flat rolled products" - # Load map to allocate to end use (fabrication) - map <- makeEndUseMap(i,"Flat") - map <- map[order(map$index),] - share <- map$Share - ############################################ - # The following command may cause problems # - ############################################ - users <- base$industry$Code[11:20][map$index] - # Load trade data - data <- filter(BACI,Product == base$product$Code[base$product$Name == item]) %>% select(From,To,Quantity) - # Read domestic production - pro <- SUT["Flat rolling","Flat rolled products"] - # Read domestic use - use <- sum(Q["Flat",IO.codes$index[IO.codes$base == i]]) - - # Execute function for estimation script to write values - SUT <- AllocateSupply2Use(SUT,item,share,users,data,pro,use,i) - - # 3.3.2 Long Rolled products used in fabrication - item <- "Long rolled products" - # Load map to allocate to end use (fabrication) - map <- makeEndUseMap(i,"Long") - map <- map[order(map$index),] - share <- map$Share - users <- base$industry$Code[11:20][map$index] - # Load trade data - data <- filter(BACI,Product == base$product$Code[base$product$Name == item]) %>% select(From,To,Quantity) - # Read domestic production - pro <- SUT["Long rolling",item] - # Read domestic use - use <- sum(Q["Long",IO.codes$index[IO.codes$base == i]]) - - # Execute function for estimation script to write values - SUT <- AllocateSupply2Use(SUT,item,share,users,data,pro,use,i) - - # 3.4 Use of forming and fabrication scrap by scrap preparation - SUT["Forming & fabrication scrap","Scrap preparation"] <- sum(SUT[,"Forming & fabrication scrap"]) - - # 3.5 Use of billets and blooms by long rolling - # Load number for exports of billets and blooms - item <- "Billets & blooms" - users <- "Long rolling" - share <- 1 - data <- filter(BACI,Product == base$product$Code[base$product$Name == item]) %>% select(From,To,Quantity) - pro <- SUT["Casting of billets & blooms",item] - use <- sum(SUT[users,]) - - # Execute function for estimation script to write values - SUT <- AllocateSupply2Use(SUT,item,share,users,data,pro,use,i) - - # 3.6 Use of ingots and slabs by flat rolling - # 3.6.1 Ingots - export <- filter(BACI,Product == base$product$Code[base$product$Name == "Ingots"]) %>% - select(From,To,Quantity) %>% filter(From == i) - value <- SUT["Casting of ingots & slabs","Ingots"] - sum(export$Quantity) - # In case value is negative, assume that 5% of inputs is coming from domestic ingots - if(value > 0) {SUT["Ingots","Flat rolling"] <- value} else - {SUT["Ingots","Flat rolling"] <- sum(SUT["Flat rolling",]) * 0.05} - - # 3.6.2 Slabs - export <- filter(BACI,Product == base$product$Code[base$product$Name == "Slabs"]) %>% - select(From,To,Quantity) %>% filter(From == i) - # Domestic production of slabs minus exports = domestic use - value <- SUT["Casting of ingots & slabs","Slabs"] - sum(export$Quantity) - if(value > 0) {SUT["Slabs","Flat rolling"] <- value} else - {SUT["Slabs","Flat rolling"] <- sum(SUT["Flat rolling",]) * 0.45} - - # 3.7 Casting of billets and blooms and casting of ingots and slabs - # The only input to casting is liquid steel which is not a traded commodity, - # The inputs to casting are therefor estimated by using the production/output value - # of the respective furnace - - # Steel from Electric arc furnace - SUT["Liquid steel (EAF)","Casting of billets & blooms"] <- SUT["Electric arc furnace","Liquid steel (EAF)"] - # Fill remaining gap with OBF steel - gap <- sum(SUT["Casting of billets & blooms",]) - SUT["Liquid steel (EAF)","Casting of billets & blooms"] - if(gap > 0) SUT["Liquid steel (OBF/OHF)","Casting of billets & blooms"] <- gap - - # Steel from oxygen blown converter - SUT["Liquid steel (OBF/OHF)","Casting of ingots & slabs"] <- sum(SUT["Casting of ingots & slabs",]) - - # 3.8 Sponge iron used by EAF - export <- filter(BACI,Product == base$product$Code[base$product$Name == "Sponge iron"],From == i) - - if(SUT["Direct reduction","Sponge iron"] != 0) + if(i %in% data$Grade$base) concen <- data$Grade$Concentration[data$Grade$base == i] + + if(!i %in% data$Grade$base) concen <- 0.6 + + # Calculate iron content: + + iron <- crude * concen + + if(concen <= 0.6) ore <- iron / 0.6 # iron ore weight when 60% grade (ready for shipping) + + if(concen > 0.6) ore <- iron / concen # when concentration is > 0.6: not change + + SUT["Mining","Landfill"] <- crude - ore # Waste to landfill (supply-side of mining) + + SUT["Mining","Iron ore"] <- ore # Supply of iron ore (now 60% grade) by mining + } + + + ### Allocate iron ore use to ironmaking ### + + index <- list( "supply" = data.frame("industry" = filter(base$process, Name %in% c("Blast furnace","Direct reduction")) %>% pull(Code), + "product" = num$process + filter(base$flow, Name %in% c("Pig iron","Sponge iron")) %>% pull(Code) + ), + "use" = data.frame("industry" = filter(base$process, Name == "Mining") %>% pull(Code), + "product" = num$process + filter(base$flow, Name == "Iron ore") %>% pull(Code) + ) + ) + + # Read factors for iron ore inputs: + + factor <- filter(Setting$IE, item %in% c("OrePerPigIron","OrePerSpongeIron") ) %>% pull(value) + + # Read primary iron output and estimate total iron ore input with factors: + + TotIn <- SUT[ as.matrix(index$supply) ] * factor + + DomOut <- SUT[as.matrix(index$use)] # Read domestic production of iron ore + + if(DomOut > 0) { - value <- SUT["Direct reduction","Sponge iron"] - sum(export$Quantity) - if(value > 0) {SUT["Sponge iron","Electric arc furnace"] <- value} else - {SUT["Sponge iron","Electric arc furnace"] <- sum(SUT["Direct reduction","Sponge iron"])/2} + # Read export of iron ore: + + export <- filter(data$BACI,From == i,Product %in% (index$use$product-num$process) ) %>% select(Product,Quantity) %>% + group_by(Product) %>% summarise(Quantity = sum(Quantity)) %>% ungroup(Product) %>% pull(Quantity) + + if( length(export) == 0 ) export <- 0 # Check if exports are unavailable and if so set to zero + + Value <- DomOut - export + + if(Value < 0) Value <- DomOut # Set to domestic production if exports too large + + Map <- (TotIn/sum(TotIn)) # Create map + + Map[is.na(Map)] <- 1 # Set 1 if NA + + # Write values into table using map: + + SUT[index$use$product,index$supply$industry] <- Map * Value + } - # 3.9 Allocating iron ores used by direct reduction - SUT["Iron ore","Direct reduction"] <- sum(SUT["Direct reduction",]) + ### Add forming and scrap use by steelmaking ### + + steel <- data.frame("ind" = filter(base$process, Name %in% c("Basic oxygen converter","Electric arc furnace")) %>% pull(Code), + "pro" = num$process + filter(base$flow, Name %in% paste("Liquid steel",c("OBF","EAF"))) %>% pull(Code) + ) + + # Read scrap per unit output factors: + + factor <- filter(Setting$IE, item %in% c("ScrapPerBOFsteel","ScrapPerEAFsteel") ) %>% pull(value) + + # Create map from output values: + + Map <- ( SUT[as.matrix(steel)] * factor ) / sum(SUT[as.matrix(steel)] * factor) + + Map[is.na(Map)] <- 0 + + # Multiply with forming scrap supply and write in table + + SUT["Forming scrap",steel$ind] <- Map * sum(SUT[,"Forming scrap"]) + + - # 3.10 Allocate iron ores used by Blast furnace - export <- filter(BACI,Product == base$product$Code[base$product$Name == "Iron ore"],From == i) - value <- SUT["Mining","Iron ore"] - sum(export$Quantity) - if(value > 0) {SUT["Iron ore","Blast furnace"] <- value} else - {SUT["Iron ore","Blast furnace"] <- sum(SUT["Blast furnace",])/2} + ### Write fabrication scrap use of waste management (scrap preparation) ### - # 3.10.1 - # Allocate other inputs used by blast furnace - if(SUT["Blast furnace","Pig iron"] > 0) + SUT["Fabrication scrap","Scrap preparation"] <- sum(SUT[,"Fabrication scrap"]) + + + ### Write steel scrap output in supply table ### + + SUT["Scrap preparation","Steel scrap"] <- sum(SUT[,"Scrap preparation"]) + + + ### Write steel scrap use by steelmaking ### + + # Read exports of steel scrap: + + index <- list("industry" = filter(base$process, Name %in% c("Basic oxygen converter","Electric arc furnace")) %>% pull(Code), + "product" = num$process + filter(base$flow, Name == "Steel scrap") %>% pull(Code) + ) + + DomOut <- SUT["Scrap preparation","Steel scrap"] # Read domestic production of steel scrap + + export <- filter(data$BACI,From == i,Product %in% (index$product-num$process) ) %>% select(Product,Quantity) %>% + group_by(Product) %>% summarise(Quantity = sum(Quantity)) %>% ungroup(Product) %>% pull(Quantity) + + + + if(length(export) >= 1) { - pro <- SUT["Blast furnace","Pig iron"] - # Limestone and fluxes assuming 300 kg per ton of pig iron - SUT["Limestone","Blast furnace"] <- pro *0.3 - # 600 kg coke or coal per ton pig iron - SUT["Coke","Blast furnace"] <- pro * 0.6 - # (Hot) air of approx. 800 kg per ton - SUT["Air","Blast furnace"] <- pro * 0.8 + Value <- DomOut - export } - # 3.11 Allocating pig iron to BOF - export <- filter(BACI,Product == base$product$Code[base$product$Name == "Pig iron"],From == i) - value <- SUT["Blast furnace","Pig iron"] - sum(export$Quantity) - if(value > 0) {SUT["Pig iron","Oxygen blown & open hearth furnace"] <- value} else - {SUT["Pig iron","Oxygen blown & open hearth furnace"] <- sum(SUT["Oxygen blown & open hearth furnace",])*0.4} + if( length(export) == 0 ) # Check if exports are unavailable and if so set to zero + { + Value <- DomOut + } + + if(Value < 0) Value <- DomOut # Check if exports are larger + + SUT[index$product,index$industry] <- Map * Value # Write into table + + + ### Allocate pig and sponge iron to steelmaking ### + + index <- list("industry" = filter(base$process, Name %in% c("Basic oxygen converter","Open hearth furnace","Electric arc furnace")) %>% pull(Code), + "product" = filter(base$flow, Name %in% c("Pig iron","Sponge iron") ) %>% pull(Code) + ) - # 3.12 Allocate Scrap steel to BOF and EAF - SUT["Scrap steel","Oxygen blown & open hearth furnace"] <- sum(SUT["Oxygen blown & open hearth furnace",])*0.15 - SUT["Scrap steel","Electric arc furnace"] <- sum(SUT["Electric arc furnace",]) - SUT["Direct reduction","Electric arc furnace"] + steel <- data.frame("ind" = filter(base$process, Name %in% c("Basic oxygen converter","Open hearth furnace","Electric arc furnace")) %>% pull(Code), + "pro" = num$process + filter(base$flow, Name %in% paste("Liquid steel",c("OBF","OHF","EAF"))) %>% pull(Code) + ) + + iron <- data.frame("ind" = filter(base$process, Name %in% c("Blast furnace","Direct reduction") ) %>% pull(Code), + "pro" = num$process + filter(base$flow, Name %in% c("Pig iron","Sponge iron") ) %>% pull(Code) + ) + + # Estimate steel and iron outputs: + + DomOut <- list("steel" = SUT[as.matrix(steel)], + "iron" = SUT[as.matrix(iron)] + ) + + # Read export of pig iron and sponge iron: + + export <- filter(data$BACI,From == i,Product %in% (iron$pro - num$process) ) %>% select(Product,Quantity) %>% + group_by(Product) %>% summarise(Quantity = sum(Quantity)) %>% ungroup(Product) + + offset <- min(iron$pro - num$process)-1 + + if(length(export) >= 1) + { + Value <- DomOut$iron + Value[export$Product-offset] <- DomOut$iron[export$Product-offset] - export$Quantity + } + + # Check if exports are unavailable and if so set to zero: + + if( length(export) == 0 ) + { + Value <- DomOut$iron + } + + for(j in 1:length(Value)) if(Value[j] < 0) Value[j] <- DomOut$iron[j] + + factor <- filter(Setting$IE, item %in% c("PigIronPerBOFsteel","SpongeIronPerEAFsteel") ) %>% pull(value) + + Map <- SUT_temp$Use[index$pro,index$ind] # Create map for allocation + + Demand <- DomOut$steel * c( factor[1],1,factor[2] ) # Estimate iron demand + + Map <- Prorate(Map,Demand) # prorate the map + + Value <- Map * Value # Allocate values with map to use + + SUT[(index$pro + num$process), index$industry] <- Value # Write value in table + + + ### Save SUT ### - # 4. Save SUT # Check if subfolder in processed data exists and if not create it + path_set <- paste0(path$IE_Processed,"/SUT") + if(!dir.exists(path_set)) dir.create(path_set) + # Setting decimals to two digits + SUT <- round(SUT,2) + print(min(SUT)) + # Decompose SUT into single elements, that is supply, use, final demand, inputs from nature and eol scrap - Use <- SUT[base$product$Name,base$industry$Name] - Supply <- SUT[base$industry$Name,base$product$Name] - # What is final demand in monetary IO is called hereafter boundary output - BoundaryOutput <- SUT[c(base$industry$Name,base$product$Name),c("FinalConsumption","Landfill","Atmosphere")] - # What is value added in monetary IO is called hereafter boundary input - pi <- c("FerrousMinerals","EOLScrap","Air","Limestone","Coke") - BoundaryInput <- matrix(SUT[pi,base$industry$Name],length(pi),nrow(base$industry)) + Use <- SUT[base$flow$Name,base$process$Name] + + Supply <- SUT[base$process$Name,base$flow$Name] + + # Final output (= final demand + landfill + atmosphere): + + FinalOutput <- SUT[base$process$Name,base$demand$Name] + + # Primary inputs: + + PrimaryInput <- SUT[base$input$Name,base$process$Name] + + # Remove all column and row names: - # Remove all column and row names colnames(Use) <- NULL rownames(Use) <- NULL colnames(Supply) <- NULL rownames(Supply) <- NULL - colnames(BoundaryOutput) <- NULL - rownames(BoundaryOutput) <- NULL - colnames(BoundaryInput) <- NULL - rownames(BoundaryInput) <- NULL - - # Write Supply, Use, In- and Output to root folder, note that because write.csv will always export colnames - # had to use the write.tabel function. - - write.table(Supply,file = paste0(path_set,"/",year,"_DomesticSupply_Region",i,".csv"), - col.names = FALSE, - row.names = FALSE, - sep = ",") - - write.table(Use,file = paste0(path_set,"/",year,"_DomesticUse_Region",i,".csv"), - col.names = FALSE, - row.names = FALSE, - sep = ",") - - write.table(BoundaryOutput,file = paste0(path_set,"/",year,"_BoundaryOutput_Region",i,".csv"), - col.names = FALSE, - row.names = FALSE, - sep = ",") - - write.table(BoundaryInput,file = paste0(path_set,"/",year,"_BoundaryInput_Region",i,".csv"), - col.names = FALSE, - row.names = FALSE, - sep = ",") + colnames(FinalOutput) <- NULL + rownames(FinalOutput) <- NULL + colnames(PrimaryInput) <- NULL + rownames(PrimaryInput) <- NULL + + # Write tables to folder: + + Numbers2File(Supply, paste0(path_set,"/",year,"_Supply_Region",i,".csv") ) + Numbers2File(Use, paste0(path_set,"/",year,"_Use_Region",i,".csv") ) + Numbers2File(FinalOutput, paste0(path_set,"/",year,"_FinalOutput_Region",i,".csv") ) + Numbers2File(PrimaryInput, paste0(path_set,"/",year,"_PrimaryInput_Region",i,".csv") ) print(paste0("Minimum value: ",min(SUT))) } - print("IEDataProcessing_PIOLab_BuildingDomesticTables finished.") } diff --git a/Rscripts/IEfeeds_code/IE_subroutines/IEDataProcessing_PIOLab_BuildingTradeBlocks.R b/Rscripts/IEfeeds_code/IE_subroutines/IEDataProcessing_PIOLab_BuildingTradeBlocks.R index b8f98a8..493114f 100644 --- a/Rscripts/IEfeeds_code/IE_subroutines/IEDataProcessing_PIOLab_BuildingTradeBlocks.R +++ b/Rscripts/IEfeeds_code/IE_subroutines/IEDataProcessing_PIOLab_BuildingTradeBlocks.R @@ -9,30 +9,20 @@ IEDataProcessing_PIOLab_BuildingTradeBlocks <- function(year,path) { print("IEDataProcessing_PIOLab_BuildingTradeBlocks initiated.") - path[["IE_classification"]] <- paste0(path$Concordance,"/LabelsAndCodes/",IEdatafeed_name,"_BaseSectorClassification.xlsx") + path[["IE_classification"]] <- paste0(path$Settings,"/Base/",IEdatafeed_name,"_BaseSectorClassification.xlsx") - # Define general variables: - - # num <- list("pro" = nrow(base$product), - # "ind" = nrow(base$industry), - # "reg" = nrow(base$region), - # "va" = nrow(base$input), - # "fd" = nrow(base$demand) ) - # Load WSA settings (for codes and feed names): - Settings <- read.xlsx(paste0(path$Settings,"/datafeeds_settings/WSA_settings.xlsx")) # Load prorating function and Number2File: source(paste0(path$Subroutines,"/Prorate.R")) - source(paste0(path$Subroutines,"/Numbers2File.R")) - Setting <- list( "WSA" = read.xlsx(xlsxFile = paste0(path$Settings,"/datafeeds_settings/WSA_settings.xlsx"), sheet = 1 ), - "IE" = read.xlsx(xlsxFile = paste0(path$Settings,"/datafeeds_settings/IE_settings.xlsx"), sheet = 1 ) - ) + # Setting <- list( "WSA" = read.xlsx(xlsxFile = paste0(path$Settings,"/datafeeds_settings/WSA_settings.xlsx"), sheet = 1 ), + # "IE" = read.xlsx(xlsxFile = paste0(path$Settings,"/datafeeds_settings/IE_settings.xlsx"), sheet = 1 ) + # ) # Load flow data where all regions are included in one object: @@ -59,12 +49,12 @@ IEDataProcessing_PIOLab_BuildingTradeBlocks <- function(year,path) # Run syntax to load Source2Root maps: - set <- read.xlsx(xlsxFile = paste0(path$Settings,"/datafeeds_settings/WSA_settings.xlsx"),sheet = 2) + set <- read.xlsx(xlsxFile = paste0(path$Settings,"/Base/IE_settings.xlsx"),sheet = 2) path_sel <- list("flow" = paste0(path$Concordance,"/WSA/", - set$date[set$aggregator == "product"],"_WSA_Source2Root_Product.csv"), + set$date[set$aggregator == "sector"],"_WSA_Source2Root_Product.csv"), "process" = paste0(path$Concordance,"/WSA/", - set$date[set$aggregator == "industry"],"_WSA_Source2Root_Industry.csv") + set$date[set$aggregator == "sector"],"_WSA_Source2Root_Industry.csv") ) Source2Root <- list("WSA" = as.matrix( read.csv(path_sel$flow,header = FALSE) )) @@ -274,5 +264,4 @@ IEDataProcessing_PIOLab_BuildingTradeBlocks <- function(year,path) } } - print("End of IEDataProcessing_PIOLab_BuildingTradeBlocks.") } diff --git a/Rscripts/IEfeeds_code/IE_subroutines/IEDataProcessing_PIOLab_WasteMFAIOExtension.R b/Rscripts/IEfeeds_code/IE_subroutines/IEDataProcessing_PIOLab_WasteMFAIOExtension.R index de6c7c4..fc989df 100644 --- a/Rscripts/IEfeeds_code/IE_subroutines/IEDataProcessing_PIOLab_WasteMFAIOExtension.R +++ b/Rscripts/IEfeeds_code/IE_subroutines/IEDataProcessing_PIOLab_WasteMFAIOExtension.R @@ -10,140 +10,276 @@ IEDataProcessing_PIOLab_WasteMFAIOExtension <- function(year,path) { + print("IEDataProcessing_PIOLab_WasteMFAIOExtension initiated.") - ############################################################################# + + + # Load sector codes of aggregated EXIOBASE data + + IO.codes <- read.csv(file = paste0(path$IE_Processed,"/EXIOWasteMFAIO/IO_codes.csv"), + row.names = NULL) + + # Load variables and calculate gross output (x): - # Load IO codes of aggregated EXIOBASE data - load(paste0(path$IE_Processed,"/EXIOWasteMFAIO/IO.codes.RData")) + L <- as.matrix( read.csv(paste0(path$IE_Processed,"/EXIOWasteMFAIO/",year,"_L.csv"), + row.names = NULL, + header = FALSE) + ) + + Y <- as.matrix( read.csv(paste0(path$IE_Processed,"/EXIOWasteMFAIO/",year,"_Y.csv"), + row.names = NULL, + header = FALSE) + ) + + x <- rowSums( L %*% Y ) # Calculate total output and create vector + + source(paste0(path$Subroutines,"/Numbers2File.R")) # Load fun. to write arrays to files - # Load function to create allocation map - source(paste0(path$Subroutines,"/makeEndUseMap.R")) # 1. Defining functions - # aggregation function - Agg <- function(x) - { - x <- as.matrix(x) %*% sapply(unique(colnames(x)),"==",colnames(x)) - return(x) - } + # Load WSA settings (for codes and feed names): + + Settings <- read.xlsx(paste0(path$Settings,"/datafeeds_settings/WSA_settings.xlsx")) + + + # Select codes for finished steel: + + Code <- list("base" = list("Finished" = filter(base$flow,Type == 'Finished') %>% pull(Code), + "Final" = filter(base$flow,Type == 'Final') %>% pull(Code), + "Forgings" = base$flow$Code[base$flow$Name == 'Forgings'], + "CoilSheetStrip" = base$flow$Code[base$flow$Name == "Hot rolled coil-sheet-strip"]), + "WSA" = Settings %>% filter(Type == 'Finished') %>% pull(id) ) + + + # Run syntax to load Source2Root maps: + + set <- read.xlsx(xlsxFile = paste0(path$Settings,"/Base/IE_settings.xlsx"),sheet = 2) + + paste0(path$Concordance,"/WSA/",set$date[set$aggregator == "sector"],"_WSA_Source2Root_Product.csv") + + path_sel <- list("flow" = paste0(path$Concordance,"/WSA/", + set$date[set$aggregator == "sector"],"_WSA_Source2Root_Product.csv"), + "process" = paste0(path$Concordance,"/WSA/", + set$date[set$aggregator == "sector"],"_WSA_Source2Root_Industry.csv") + ) + + Source2Root <-list("WSA" = as.matrix( read.csv(path_sel$flow,header = FALSE) )) + + Source2Root$WSA <- Source2Root$WSA[Code$WSA,] # Select only finished steel + + Source2Root$WSA <- Source2Root$WSA / rowSums(Source2Root$WSA) # Create map (normalized concordance) + + Source2Root[["Cullen"]] <- list("Product" = as.matrix( read.csv(paste0(path$Concordance,"/Cullen/Cullen_Source2Root_Product.csv"),header = FALSE) ), + "EndUse" = as.matrix( read.csv(paste0(path$Concordance,"/Cullen/Cullen_Source2Root_EndUse.csv"),header = FALSE) )) + + # Compile Source to mother concordance for finished steel products + + Source2Mother <- list("WSA" = Source2Root$WSA %*% as.matrix(R2M$flow[,Code$base$Finished]) ) + + # Load WSA Source2Source map for estimate final use of hot rolled coil-sheet-strip + + Source2Source <- list("WSA" = as.matrix(read.csv(paste0(path$Concordance,"/WSA/WSA_Source2Source.csv"),header = FALSE)) ) + + Source2Source$WSA <- Source2Source$WSA[Code$WSA,Code$WSA] + + + # Create map to allocate mother to source: + + Mother2Source_Map <- list("WSA" = t(Source2Mother$WSA) / colSums(Source2Mother$WSA) ) + + Mother2Source_Map$WSA[is.na(Mother2Source_Map$WSA)] <- 0 # Because forgings is not form WSA, set NA to 0 + + # Create mother2mother concordance = parent to child processes + + Mother2Mother <- list("WSA" = Mother2Source_Map$WSA %*% Source2Source$WSA %*% Source2Mother$WSA ) + + colnames(Mother2Mother$WSA) <- rownames(Mother2Mother$WSA) <- Code$base$Finished + + + # Load products to end-use map from Cullen et al 2012 + + Products2EndUse <- read.csv(paste0(path$IE_Processed,"/Cullen/ProductsToEndUse.csv")) + + rownames(Products2EndUse) <- Products2EndUse$X # Write products names to row names + + Products2EndUse$X <- NULL # Delete product name column + + Products2EndUse <- as.matrix(Products2EndUse) + + # Create Source to Root and Source to mother maps: + + Source2Root_Map <- list("Cullen" = list("EndUse" = (Source2Root$Cullen$EndUse / rowSums(Source2Root$Cullen$EndUse) ), + "Product" = (Source2Root$Cullen$Product / rowSums(Source2Root$Cullen$Product) ) + ) + ) + + Source2Mother[["Cullen"]] <- list("EndUse" = Source2Root_Map$Cullen$EndUse %*% as.matrix(R2M$flow[,Code$base$Final]), + "Product" = Source2Root_Map$Cullen$Product %*% as.matrix(R2M$flow[,Code$base$Finished]) + ) + + Source2Mother$Cullen$Yields <- Source2Mother$Cullen$EndUse # Add concordance for yields + + Source2Mother$Cullen$Yields[Source2Mother$Cullen$Yields > 0] <- 1 # Set shares to 1 for yields + + + # Add mother sector names to maps: + + colnames(Source2Mother$Cullen$EndUse) <- base$product$Name[Code$base$Final] + + colnames(Source2Mother$Cullen$Product) <- base$product$Name[Code$base$Finished] + + # Translate product to end-use map to base classification of mother table: + + Products2EndUse <- t(Source2Mother$Cullen$Product) %*% Products2EndUse %*% Source2Mother$Cullen$EndUse + + rownames(Products2EndUse) <- Code$base$Finished + + # Load Yield data from Cullen et al.: + + Yields <- read.csv(paste0(path$IE_Processed,"/Cullen/FabricationYields.csv")) + + Yields <- Yields[Yields$Yield.Sector != "All products",] # Remove average yield + + Yields <- Source2Mother$Cullen$Yields * Yields$Yield.Factor # Distribute yields to base sectors + + Yields <- apply(Yields, 2, function(x) max(x, na.rm = TRUE)) # Select largest yields available + + + # Load BACI trade data: + + BACI <- read.csv(paste0(path$IE_Processed,"/BACI/BACI_",year,".csv")) + + + # Create two empty arrays for steel for the extension (Q) and for the fabrication total use (R) + + Q <- R <- as.data.frame(matrix(0,length(Code$base$Finished),nrow(IO.codes))) + + rownames(Q) <- rownames(R) <- base$flow$Name[Code$base$Finished] - # Writing values of rolled products into arrays (extension and fabrication scrap) - WriteValues2Array <- function(data,name,Q,Scrap) + + # Loop over base regions: + + for(r in base$region$Code) { - for(i in 1:nrow(data)) + + map <- Source2Mother$WSA # Create Map for base region and finished steel + + colnames(map) <- Code$base$Finished + + # Loop over finished steel data feeds: + + for(p in 1:length(Code$WSA)) { - #print(i) - reg <- data$base[i] - - # call function to create specific map - map <- makeEndUseMap(reg,name) - - map <- map %>% mutate(Value = Share * data$Quantity[data$base == reg]) %>% - select(index,IO,Yield.Sector,Value) - map <- left_join(map,Yields,c("Yield.Sector"),copy = FALSE) %>% mutate(EndUse = Value*Yield.Factor,Scrap = Value - EndUse) %>% - select(index,IO,EndUse,Scrap) + data <- read.csv(paste0(path$IE_Processed,"/WSA/WSA_",year,"_",Settings$FeedName[Code$WSA[p]],".csv")) - index <- map$index+((reg-1)*10) + vec <- rep(1,nrow(map)) # create empty vector - if(name == "Flat") + if(r %in% data$base) # Check if region exists in production account { - Q[1,index] <<- map$EndUse - Scrap[1,index] <<- map$Scrap - }else - { - Q[2,index] <<- map$EndUse - Scrap[2,index] <<- map$Scrap + vec[p] <- filter(data,base == r) %>% pull(Quantity) # Write value in vector } + + map <- map * vec # Add value to map + } - } - - # Load processed data from Cullen et al 2012 - Yields <- read.csv(paste0(path$IE_Processed,"/Cullen/FabricationYields.csv")) - - ############################################################################## - # 1. The first section calculates the net use of rolled steel products in regions - # by adding imports and subtracting exports from the WSA production values - - BACI <- read.csv(paste0(path$IE_Processed,"/BACI/BACI_",year,".csv")) # Load trade data - - # Load finished steel production - Flat <- read.csv(paste0(path$IE_Processed,"/WSA/WSA_",year,"_FlatRolledProducts.csv")) - Long <- read.csv(paste0(path$IE_Processed,"/WSA/WSA_",year,"_LongRolledProducts.csv")) + # Load forging production + data <- read.csv(paste0(path$IE_Processed,"/AligningData/Forgings_",year,".csv")) + + if(r %in% data$base) # Check if region exists in production account + { + value <- filter(data,base == r) %>% pull(Quantity) + } + + map <- rbind(map,0) # Add empty row + + map[nrow(map),colnames(map) == Code$base$Forgings] <- value + + # Aggregate across sources and transform in data table: + + df <- data.frame("Code" = Code$base$Finished, + "Production" = colSums(map), + "Import" = 0, + "Export" = 0, + "Use" = 0) + + # Read and aggregate exports and imports across trade partners: + + BACI_export <- filter(BACI,From == r) %>% select(Product,Quantity) %>% + group_by(Product) %>% summarise(Quantity = sum(Quantity)) %>% + ungroup(Product) %>% filter(Product %in% Code$base$Finished) + + BACI_import <- filter(BACI,To == r) %>% select(Product,Quantity) %>% + group_by(Product) %>% summarise(Quantity = sum(Quantity)) %>% + ungroup(Product) %>% filter(Product %in% Code$base$Finished) + + + # Write trade flows into data frame and estimate domestic use: + + df$Import[df$Code %in% BACI_import$Product] <- BACI_import$Quantity + + df$Export[df$Code %in% BACI_export$Product] <- BACI_export$Quantity + + df$Use <- df$Production + df$Import - df$Export + - - - Flat_trade <- BACI %>% filter(Product == base$product$Code[base$product$Name == "Flat rolled products"]) %>% - select(From,To,Quantity) - - Long_trade <- BACI %>% filter(Product == base$product$Code[base$product$Name == "Long rolled products"]) %>% - select(From,To,Quantity) - - # Estimate the net-use of products in countries - Flat_import <- Flat_trade %>% group_by(To) %>% summarise(Quantity = sum(Quantity)) - Flat_export <- Flat_trade %>% group_by(From) %>% summarise(Quantity = sum(Quantity)) - Flat_trade <- full_join(Flat_import,Flat_export,c("To" = "From"),copy = FALSE) - colnames(Flat_trade) <- c("base","import","export") - # Regional production + imports - exports = net-use - Flat <- full_join(Flat,Flat_trade,c("base"),copy = FALSE) - Flat[is.na(Flat)] <- 0 - - Flat <- Flat %>% mutate(NetUse = Quantity + import - export) - - ##################################### - # When negatives: set net use to import value - Flat$NetUse[Flat$NetUse < 0] <- Flat$import[Flat$NetUse < 0] - Flat <- Flat %>% select(base,NetUse) - colnames(Flat)[2] <- "Quantity" - ##################################### - - Long_import <- Long_trade %>% group_by(To) %>% summarise(Quantity = sum(Quantity)) - Long_export <- Long_trade %>% group_by(From) %>% summarise(Quantity = sum(Quantity)) - Long_trade <- full_join(Long_import,Long_export,c("To" = "From"),copy = FALSE) - colnames(Long_trade) <- c("base","import","export") - # Regional production + imports - exports = net-use - Long <- full_join(Long,Long_trade,c("base"),copy = FALSE) - Long[is.na(Long)] <- 0 - - Long <- Long %>% mutate(NetUse = Quantity + import - export) - ##################################### - # When negatives: set net use to import value - Long$NetUse[Long$NetUse < 0] <- Long$import[Long$NetUse < 0] - ##################################### - Long <- Long %>% select(base,NetUse) - colnames(Long)[2] <- "Quantity" - - ############################################################################## - # 3. Start processing - - # Create two empty arrays for steel for the extension (Q) and for the fabrication scrap - Scrap <- Q <- as.data.frame(matrix(0,2,nrow(IO.codes))) - rownames(Scrap) <- rownames(Q) <- c("Flat","Long") - - # Execute functions - # Warnings are turned of for the run. - options(warn = -1) - WriteValues2Array(Flat,"Flat",Q,Scrap) - WriteValues2Array(Long,"Long",Q,Scrap) - options(warn = 0) + # Subtract production values of cold rolled products from hot rolled coil-sheet-strip + + Subtract <- sum(Mother2Mother$WSA[rownames(Mother2Mother$WSA) == Code$base$CoilSheetStrip,] * df$Production) + + df$Use[df$Code == Code$base$CoilSheetStrip] <- df$Use[df$Code == Code$base$CoilSheetStrip] - Subtract + + print("minimum values before adjustment to domestic production:") + print(df[df$Use < 0,]) + + df$Use[df$Use < 0] <- df$Production[df$Use < 0] # Set use to production where negative + + + print(paste0("Minimum of ",base$region$Name[r],": ",min(df$Use))) # Check min. + + + x_filter <- diag(x[IO.codes$index[IO.codes$base == r]]) # Read production of region r + + x_filter[x_filter > 0] <- 1 # Set non-zero values to 1 for filtering + + map <- Products2EndUse %*% x_filter # Apply filter + + colnames(map) <- IO.codes$commodity[IO.codes$base == r] + - # Save extension of the MFA-Waste-IO Model - save(Q,file = paste0(path$IE_Processed,"/EXIOWasteMFAIO/",year,"_Q.RData")) - - # Prepate fabrication scrap data for export - Scrap <- colSums(Scrap) - Scrap <- data.frame(IO.codes, - "Quantity" = Scrap, - stringsAsFactors = FALSE) + map[rownames(map) == Code$base$Forgings, c(1,2,7,8)] <- 1 # Add forgings (no information) + + map <- ( map / rowSums(map) ) * df$Use # Create map and add material use + + Scrap <- colSums(map) * (1-Yields) # Estimate scrap flows + + # Write into data frame with base industry codes + + Scrap <- data.frame("base" = base$process$Code[base$process$Type == "Final"], + "Quantity" = Scrap) + + rownames(Scrap) <- NULL + + # Write Scrap data to folder + + write.csv(Scrap,file = paste0(path$IE_Processed,"/Cullen/FabricationScrap_", + year,"_",base$region$Name[r],".csv"),row.names = FALSE) + + # Write fabrication-use data to folder + + Numbers2File(map,paste0(path$IE_Processed,"/Cullen/FabricationUse_",year, + "_",base$region$Name[r],".csv")) + + map <- map %*% diag(Yields) # Estimate useful output + + Q[,IO.codes$index[IO.codes$base == r]] <- map # Write values into extension + + } - # Check if subfolder in processed data exists and if not create it - path_set <- paste0(path$IE_Processed,"/FabricationScrap") - if(!dir.exists(path_set)) dir.create(path_set) - # Write to folder - write.csv(Scrap,file = paste0(path_set,"/FabricationScrap_",year,".csv"),row.names = FALSE) + # Save extension of the MFA-Waste-IO Model - print("IEDataProcessing_PIOLab_WasteMFAIOExtension finished.") + Numbers2File( Q, paste0(path$IE_Processed,"/EXIOWasteMFAIO/",year,"_Q.csv") ) } \ No newline at end of file diff --git a/Rscripts/IEfeeds_code/IE_subroutines/IEDataProcessing_PIOLab_WasteMFAIOModelRun.R b/Rscripts/IEfeeds_code/IE_subroutines/IEDataProcessing_PIOLab_WasteMFAIOModelRun.R index 85ec43c..7a37a63 100644 --- a/Rscripts/IEfeeds_code/IE_subroutines/IEDataProcessing_PIOLab_WasteMFAIOModelRun.R +++ b/Rscripts/IEfeeds_code/IE_subroutines/IEDataProcessing_PIOLab_WasteMFAIOModelRun.R @@ -6,10 +6,10 @@ # # ######################################### -IEDataProcessing_PIOLab_WasteMFAIOModelRunV2 <- function(year,path) +IEDataProcessing_PIOLab_WasteMFAIOModelRun <- function(year,path) { - print("IEDataProcessing_PIOLab_WasteMFAIOModelRunV2 initiated.") + print("IEDataProcessing_PIOLab_WasteMFAIOModelRun initiated.") # Load codes and indices of model: @@ -20,7 +20,7 @@ IEDataProcessing_PIOLab_WasteMFAIOModelRunV2 <- function(year,path) Y.codes <- read.csv( paste0(path$IE_Processed,"/EXIOWasteMFAIO/Y_codes.csv")) - Y.codes["Key"] <- paste0(Y.codes$base,"-",Y.codes$sector) + Y.codes["Key"] <- paste0(Y.codes$base,"-",Y.codes$demand) # Load model variables: @@ -36,13 +36,13 @@ IEDataProcessing_PIOLab_WasteMFAIOModelRunV2 <- function(year,path) x <- rowSums( L %*% Y ) # Calculate gross output - # Calculate multipliers - E <- colSums(Q)/x + + E <- colSums(Q)/x # Calculate direct intensity E[is.na(E)] <- 0 - MP <- L*E + MP <- L*E # Calculate material mulitplier # 1. Estimate flows from fabrication to final product @@ -79,9 +79,9 @@ IEDataProcessing_PIOLab_WasteMFAIOModelRunV2 <- function(year,path) # Set col and row names: - colnames(FP) <- paste0(Y.codes$base,"-",Y.codes$demand) + colnames(FP) <- Y.codes$Key - rownames(FP) <- paste0(IO.codes$base,"-",IO.codes$sector) + rownames(FP) <- IO.codes$Key FP[1:nrow(Y),1:ncol(Y)] <- 0 # Set values to zero @@ -105,37 +105,22 @@ IEDataProcessing_PIOLab_WasteMFAIOModelRunV2 <- function(year,path) copy = FALSE, suffix = c(".from",".to") ) - FP <- left_join( x = FP, y = select(IO.codes,base,sector,Key), + FP <- left_join( x = FP, y = select(Y.codes,base,demand,Key), by = c("To" = "Key"), copy = FALSE, suffix = c(".from",".to") ) - Fabrication2Final <- select(FP,-From,-To) # Remove key (not needed anymore) - - - - - colSums(SteelInFinalDemand)/1000000 + FinalDemand <- select(FP,-From,-To) # Remove key (not needed anymore) + # 4. Save results to folder - sum(SteelInFinalDemand) + write.csv(Fabrication2Final, + file = paste0(path$IE_Processed,"/EXIOWasteMFAIO/",year,"_Fabrication2FinalDemand.csv"), + row.names = FALSE) - SteelInFinalDemand <- tibble::rownames_to_column(SteelInFinalDemand, "Key") - SteelInFinalDemand <- melt(SteelInFinalDemand,id.vars = "Key") - colnames(SteelInFinalDemand) <- c("Key","To.Region","Quantity") - # Warning messages are turned off for the following join - options(warn = -1) - SteelInFinalDemand <- left_join(SteelInFinalDemand,IO.codes,c("Key"),copy = FALSE) %>% - select(base,To.Region,commodity,Quantity) - options(warn = 0) - colnames(SteelInFinalDemand)[c(1,3)] <- c("From.Region","Commodity") - SteelInFinalDemand <- left_join(SteelInFinalDemand,base$product,c("Commodity" = "Name"),copy = FALSE) %>% - select(From.Region,To.Region,Code,Quantity) - colnames(SteelInFinalDemand)[3] <- "Product" + write.csv(FinalDemand, + file = paste0(path$IE_Processed,"/EXIOWasteMFAIO/",year,"_FinalDemand.csv"), + row.names = FALSE) - # 4. Save results to folder - write.csv(FabricationToFinal,file = paste0(path$IE_Processed,"/EXIOWasteMFAIO/",year,"_FabricationToFinalDemand.csv"),row.names = FALSE) - write.csv(SteelInFinalDemand,file = paste0(path$IE_Processed,"/EXIOWasteMFAIO/",year,"_SteelInFinalDemand.csv"),row.names = FALSE) - print("DataProcessing_PIOLab_WasteMFAIOModelRun finished.") } \ No newline at end of file diff --git a/Rscripts/IEfeeds_code/IE_subroutines/IEFeed_PIOLab_BACI.R b/Rscripts/IEfeeds_code/IE_subroutines/IEFeed_PIOLab_BACI.R index 0e9f2e5..d6e0b95 100644 --- a/Rscripts/IEfeeds_code/IE_subroutines/IEFeed_PIOLab_BACI.R +++ b/Rscripts/IEfeeds_code/IE_subroutines/IEFeed_PIOLab_BACI.R @@ -36,8 +36,7 @@ IEFeed_PIOLab_BACI <- function(year,path) write.csv(data_clean,file = paste0(path_set,"BACI_",year,".csv"),row.names = FALSE) # Note that trade flows are measured in metric tons of material - - print("IEFeed_PIOLab_BACI finished.") + } diff --git a/Rscripts/IEfeeds_code/IE_subroutines/IEFeed_PIOLab_Cullen.R b/Rscripts/IEfeeds_code/IE_subroutines/IEFeed_PIOLab_Cullen.R index 401397a..5584ed7 100644 --- a/Rscripts/IEfeeds_code/IE_subroutines/IEFeed_PIOLab_Cullen.R +++ b/Rscripts/IEfeeds_code/IE_subroutines/IEFeed_PIOLab_Cullen.R @@ -80,6 +80,4 @@ IEFeed_PIOLab_Cullen <- function(path) # Write to file write.csv(Conco,file = paste0(path_set,"/ProductsToEndUse.csv")) - - print("IEFeed_PIOLab_Cullen finished.") } \ No newline at end of file diff --git a/Rscripts/IEfeeds_code/IE_subroutines/IEFeed_PIOLab_EOL.R b/Rscripts/IEfeeds_code/IE_subroutines/IEFeed_PIOLab_EOL.R index 86d389d..8445905 100644 --- a/Rscripts/IEfeeds_code/IE_subroutines/IEFeed_PIOLab_EOL.R +++ b/Rscripts/IEfeeds_code/IE_subroutines/IEFeed_PIOLab_EOL.R @@ -35,9 +35,6 @@ IEFeed_PIOLab_EOL <- function(year,path) write.csv(data_clean, file = paste0(path_set,"/EOL_",year,".csv"), row.names = FALSE) - - print("IEFeed_PIOLab_EOL finished.") - } diff --git a/Rscripts/IEfeeds_code/IE_subroutines/IEFeed_PIOLab_EXIOWasteMFAIO.R b/Rscripts/IEfeeds_code/IE_subroutines/IEFeed_PIOLab_EXIOWasteMFAIO.R index baf9954..b9df14b 100644 --- a/Rscripts/IEfeeds_code/IE_subroutines/IEFeed_PIOLab_EXIOWasteMFAIO.R +++ b/Rscripts/IEfeeds_code/IE_subroutines/IEFeed_PIOLab_EXIOWasteMFAIO.R @@ -9,138 +9,263 @@ IEFeed_PIOLab_EXIOWasteMFAIO <- function(year,path) { + print("IEFeed_PIOLab_EXIOWasteMFAIO initiated.") - # Function for aggregating the IOT - Agg <- function(x) - { - x <- as.matrix(x) %*% sapply(unique(colnames(x)),"==",colnames(x)) - return(x) - } - - # 1. Loading the original EXIOBASE 3.6 variables - # Transaction matrix: - load(paste0(path$Raw,"/EXIOWasteMFAIO/",year,"_Z.RData")) - # Final demand: - load(paste0(path$Raw,"/EXIOWasteMFAIO/",year,"_Y.RData")) - # IO sector codes: - load(paste0(path$Raw,"/EXIOWasteMFAIO/","IO.codes.RData")) - IO.codes <- IO.codes %>% select(Index,Product.Name,Country.Code) - regions <- unique(IO.codes$Country.Code) - # Final demand codes - load(paste0(path$Raw,"/EXIOWasteMFAIO/","Y.codes.RData")) - - # Load the root classifciation - root_class <- root$region %>% select(Code,ISO2digitCode) - - # Load region aggregator + + + # Set path tpo functions: + + fun <- list(paste0(path$Subroutines,"/Root2Base_RegionAggregator.R"), + paste0(path$Subroutines,"/Agg.R"), + paste0(path$Subroutines,"/Numbers2File.R")) + + lapply(fun,source) # Load functions + + source(paste0(path$Subroutines,"/Root2Base_RegionAggregator.R")) # Load source-to-root and calculate Source2Base concordances + Source2Root <- read.csv(paste0(path$Concordance,"/EXIOBASE/Source2Root_Region_EXIOBASE.csv"), header = FALSE) - Root2Base <- as.matrix(RegionAggregator) - + # Root2Mother <- as.matrix(RegionAggregator) + Source2Root <- as.matrix(Source2Root) - # Create map from concordance - Source2Root <- Source2Root/rowSums(Source2Root) - Root2Base <- as.matrix(Root2Base) + + + + Source2Root <- Source2Root/rowSums(Source2Root) # Create map from concordance + + # Root2Mother <- as.matrix(Root2Mother) + # Create Source-to-base matrix - Source2Base <- Source2Root %*% Root2Base + + Source2Mother <- Source2Root %*% R2M$region # Create concordance - Source2Base <- t(Source2Base)*(1:ncol(Source2Base)) - rownames(Source2Base) <- NULL - Source2Base <- melt(Source2Base) - Source2Base <- filter(Source2Base,value > 0) %>% select(-value) - colnames(Source2Base) <- c("base","root") - - IO.codes <- data.frame(IO.codes,"NewProducts" = "NEC",stringsAsFactors = FALSE) - IO.codes["base"] <- rep(Source2Base$base,each = 200) - - # select steel containing commodities - steel.id <- c(117:125,150) - IO.codes$NewProducts[IO.codes$Product.Name %in% IO.codes$Product.Name[steel.id]] <- IO.codes$Product.Name[IO.codes$Product.Name %in% IO.codes$Product.Name[steel.id]] - - # Create key for aggregation - IO.codes <- data.frame(IO.codes, - "Key" = paste0(as.character(IO.codes$base),"§",IO.codes$NewProducts), - stringsAsFactors = FALSE) - - # Aggregate transaction matrix - colnames(Z) <- IO.codes$Key - Z <- Agg(Z) - Z <- t(Z) - colnames(Z) <- IO.codes$Key - Z <- Agg(Z) - Z <- t(Z) - - # Aggregate final demand - Y.codes["base"] <- rep(Source2Base$base,each = 7) - colnames(Y) <- Y.codes$base - Y <- Agg(Y) - Y <- t(Y) - colnames(Y) <- IO.codes$Key - Y <- Agg(Y) - Y <- t(Y) - # Rearrange columns so that the region code of the base table is in increasing order - Y <- Y[,as.character(1:max(Source2Base$base))] - - # Create new IO.codes to rearrange the variables so that base region codes increases - IO.codes <- colnames(Z) - IO.codes <- as.data.frame(str_split_fixed(IO.codes, "§", 2),stringsAsFactors = FALSE) - colnames(IO.codes) <- c("base","commodity") - storage.mode(IO.codes$base) <- "numeric" - IO.codes <- IO.codes[order(IO.codes$base),] - IO.codes$index <- 1:nrow(IO.codes) - IO.codes$Key <- paste0(as.character(IO.codes$base),"§",IO.codes$commodity) - IO.codes <- IO.codes[,c("index","base","commodity","Key")] - - # New Y.codes - Y.codes <- data.frame("base" = 1:max(Source2Base$base), - "Region.Name" = base$region$Name, - stringsAsFactors = FALSE) - - # Rearrange Z & Y (if necessary) - Z <- Z[,IO.codes$Key] - Z <- t(Z) - Z <- Z[,IO.codes$Key] - Y <- t(Y) - Y <- Y[,IO.codes$Key] - Y <- t(Y) - - # Compute new variables of the aggreagted table - x <- rowSums(Z) + rowSums(Y) - A <- t(t(Z)/x) - A[is.na(A)] <- 0 - - # Delete input/flows not containing steel - A[IO.codes$index[IO.codes$commodity == "NEC"],] <- 0 - A[,IO.codes$index[IO.codes$commodity == "NEC"]] <- 0 - L <- solve(diag(nrow(A))-A) - - # Construct new final demand (now only steel-containing products) - Y[IO.codes$index[IO.codes$commodity == "NEC"],] <- 0 + + Source2Mother <- t(Source2Mother)*(1:ncol(Source2Mother)) + + rownames(Source2Mother) <- NULL + + Source2Mother <- melt(Source2Mother) + + Source2Mother <- filter(Source2Mother,value > 0) %>% select(-value) + + colnames(Source2Mother) <- c("MotherRegion","SourceRegion") + + + # Loading IO codes: + + Code <- list("Source" = list("Product" = read.csv(paste0(path$Raw,"/EXIOWasteMFAIO/IO_product_codes.csv")), + "Industry" = read.csv(paste0(path$Raw,"/EXIOWasteMFAIO/IO_industry_codes.csv")), + "Demand" = read.csv(paste0(path$Raw,"/EXIOWasteMFAIO/IO_finaldemand_codes.csv")) + ) + ) + + + Code$Source$Product <- left_join(Code$Source$Product,Source2Mother,by = c("RegionCode" = "SourceRegion")) + + Code$Source$Industry <- left_join(Code$Source$Industry,Source2Mother,by = c("RegionCode" = "SourceRegion")) + + Code$Source$Demand <- left_join(Code$Source$Demand,Source2Mother,by = c("RegionCode" = "SourceRegion")) + + + n_pro <- max(Code$Source$Product$MotherProductCode) # Number of manufactured products + + n_ind <- max(Code$Source$Industry$MotherIndustryCode) # Number of manufacturing industries + + n_reg <- ncol(R2M$region) # Number of regions + + + # 1. Load EXIOBASE 3.6 mrSUTs + + # Supply table (products by industry): + + S <- read.csv(paste0(path$Raw,"/EXIOWasteMFAIO/MRSUT_",year,"/supply.csv"),header = FALSE) + + S <- as.matrix(S) # Transform into matrix + + # Aggregate from source to mother classification: + + S <- Agg(S,paste0(Code$Source$Industry$MotherRegion,"-",Code$Source$Industry$MotherIndustryCode),2) + + S <- Agg(S,paste0(Code$Source$Product$MotherRegion,"-",Code$Source$Product$MotherProductCode),1) + + # Use table (products by industry): + + U <- read.csv(paste0(path$Raw,"/EXIOWasteMFAIO/MRSUT_",year,"/use.csv"),header = FALSE) + + U <- as.matrix(U) # Transform into matrix + + # Aggregate from source to mother: + + U <- Agg(U,paste0(Code$Source$Industry$MotherRegion,"-",Code$Source$Industry$MotherIndustryCode),2) + + U <- Agg(U,paste0(Code$Source$Product$MotherRegion,"-",Code$Source$Product$MotherProductCode),1) + + + # Final demand block (product by final demand category) + + Y <- read.csv(paste0(path$Raw,"/EXIOWasteMFAIO/MRSUT_",year,"/final_demand.csv"),header = FALSE) + + Y <- as.matrix(Y) # Transform into matrix + + # Aggregate from source to mother: + + Y <- Agg(Y,paste0(Code$Source$Demand$MotherRegion,"-",Code$Source$Demand$FinalDemandCode),2) + + Y <- Agg(Y,paste0(Code$Source$Product$MotherRegion,"-",Code$Source$Product$MotherProductCode),1) + + + x <- colSums(S) # Gross production of all industry - # Remove NEC product from WIO model - L <- L[IO.codes$index[IO.codes$commodity != "NEC"],IO.codes$index[IO.codes$commodity != "NEC"]] - Y <- Y[IO.codes$index[IO.codes$commodity != "NEC"],] - x <- rowSums(L%*%Y) - IO.codes <- IO.codes[IO.codes$commodity != "NEC",] - IO.codes$index <- 1:nrow(IO.codes) - IO.codes$WIOcode <- 1:length(unique(IO.codes$commodity)) - IO.codes$base.product <- base$product$Code[base$product$Name %in% IO.codes$commodity] + q <- rowSums(S) # Gross production of all products + + + D <- t(S/q) # Matrix of all commodity output proportions (industry by product) + + D[is.na(D)] <- 0 # Set NaN (due to zero gross output) to zero + + C <- t(t(S)/x) # Matrix of all industry output proportions (product by industry) + + C[is.na(C)] <- 0 # Set NaN (due to zero gross output) to zero + + + B <- t(t(U)/x) # All commodity by industry coefficient matrix + + B[is.na(B)] <- 0 # Set NaN (due to zero gross output) to zero + + A <- B %*% D # Calculate pro-by-pro technology matrix + + + filter <- rep(c(0,rep(1,n_pro)),n_reg) # Create filter vector + + A_f <- diag(filter) %*% A %*% diag(filter) # Apply filter + + I <- diag( rep(1, (n_pro+1) * n_reg ) ) # Create Identity matrix + + + # Filter mrSUTs for steel containing sectors and recalculate market share matrices: + + S_f <- diag(filter) %*% S %*% diag(filter) # Filter supply table + + x_f <- colSums(S_f) # Filter industry output + + q_f <- rowSums(S_f) # Filter product output + + + D_f <- t(S_f/q_f) # Matrix of all commodity output proportions (industry by product) + + D_f[is.na(D_f)] <- 0 # Set NaN (due to zero gross output) to zero + + C_f <- t(t(S_f)/x_f) # Matrix of all industry output proportions (product by industry) + + C_f[is.na(C_f)] <- 0 # Set NaN (due to zero gross output) to zero + + + + TRM_f <- solve( I - A_f ) %*% C_f # Calculate pro-by-ind total requirement matrix + + Y_f <- D_f %*% diag(filter) %*% Y # Filter and calculate final demand by industry output + + print( sum(TRM_f %*% rowSums(Y_f)) / sum(x) ) # Share of manuf. steel in production + + + Code[["Mother"]] <- list( "Sector" = colnames(A), + "Demand" = colnames(Y) ) # Create new codes for WIO-MFA model + + + # Split colname string into region and sector code: + + Code$Mother$Sector <- as.data.frame(str_split_fixed(Code$Mother$Sector, "-", 2),stringsAsFactors = FALSE) + + Code$Mother$Demand <- as.data.frame(str_split_fixed(Code$Mother$Demand, "-", 2),stringsAsFactors = FALSE) + + # Change storage mode to numeric: + + Code$Mother$Sector <- as.data.frame(apply(Code$Mother$Sector, c(2),as.numeric)) + + Code$Mother$Demand <- as.data.frame(apply(Code$Mother$Demand, c(2),as.numeric)) + + # Add indices: + + Code$Mother$Sector["index"] <- 1:nrow(Code$Mother$Sector) + + Code$Mother$Demand["index"] <- 1:nrow(Code$Mother$Demand) + + + # Set colnames: + + colnames(Code$Mother$Sector) <- c("base","sector","index") + + colnames(Code$Mother$Demand) <- c("base","demand","index") + + + # Remove NEC sectors and export demand category (which is always zero): + + Code$Mother$Sector <- Code$Mother$Sector[Code$Mother$Sector$sector != 0,] + + Code$Mother$Demand <- Code$Mother$Demand[Code$Mother$Demand$demand != 7,] + + + # Re-order region list: + + Code$Mother$Sector <- Code$Mother$Sector[order(Code$Mother$Sector$base),] + + Code$Mother$Demand <- Code$Mother$Demand[order(Code$Mother$Demand$base),] + + + remove(A,x,q,Y,S,U) # Remove tables not needed + + + # Filter only WIO-MFA sectors: + + A <- A_f[Code$Mother$Sector$index,Code$Mother$Sector$index] + + S <- S_f[Code$Mother$Sector$index,Code$Mother$Sector$index] + + TRM <- TRM_f[Code$Mother$Sector$index,Code$Mother$Sector$index] + + Y <- Y_f[Code$Mother$Sector$index,Code$Mother$Demand$index] + + + # Adapt indices to new model classification: + + Code$Mother$Sector$index <- 1:nrow(Code$Mother$Sector) + + Code$Mother$Demand$index <- 1:nrow(Code$Mother$Demand) + # Check if subfolder in processed data exists and if not create it + path_set <- paste0(path$IE_Processed,"/EXIOWasteMFAIO") + if(!dir.exists(path_set)) dir.create(path_set) - write.table(L,file = paste0(path_set,"/",year,"_L.csv"),row.names = FALSE,col.names = FALSE,sep = ",") - write.table(Y,file = paste0(path_set,"/",year,"_Y.csv"),row.names = FALSE,col.names = FALSE,sep = ",") - write.table(x,file = paste0(path_set,"/",year,"_x.csv"),row.names = FALSE,col.names = FALSE,sep = ",") - save(IO.codes,file = paste0(path_set,"/IO.codes.RData")) - save(Y.codes,file = paste0(path_set,"/Y.codes.RData")) - print("IEFeed_PIOLab_EXIOWasteMFAIO finished.") + # Write codes and tables to folder: + + write.csv(x = Code$Mother$Sector, + file = paste0(path$IE_Processed,"/EXIOWasteMFAIO/IO_codes.csv"), + row.names = FALSE) + + write.csv(x = Code$Mother$Demand, + file = paste0(path$IE_Processed,"/EXIOWasteMFAIO/Y_codes.csv"), + row.names = FALSE ) + + + Numbers2File(Y,paste0(path$IE_Processed,"/EXIOWasteMFAIO/",year,"_Y.csv")) + + Numbers2File(A,paste0(path$IE_Processed,"/EXIOWasteMFAIO/",year,"_A.csv")) + + Numbers2File(TRM,paste0(path$IE_Processed,"/EXIOWasteMFAIO/",year,"_L.csv")) + + + + print(paste0( "Share of final demand in total gross production: ", + round( sum(Y)/sum(TRM %*% Y),digits = 2) ) + ) -} \ No newline at end of file +} diff --git a/Rscripts/IEfeeds_code/IE_subroutines/IEFeed_PIOLab_Grades.R b/Rscripts/IEfeeds_code/IE_subroutines/IEFeed_PIOLab_Grades.R index b43a693..f44c961 100644 --- a/Rscripts/IEfeeds_code/IE_subroutines/IEFeed_PIOLab_Grades.R +++ b/Rscripts/IEfeeds_code/IE_subroutines/IEFeed_PIOLab_Grades.R @@ -40,6 +40,4 @@ IEFeed_PIOLab_Grades <- function(path) if(!dir.exists(path_set)) dir.create(path_set) write.csv(data_clean,file = paste0(path_set,"/IronOreGrades.csv"),row.names = FALSE) - - print("IEFeed_PIOLab_Grades finished.") } \ No newline at end of file diff --git a/Rscripts/IEfeeds_code/IE_subroutines/IEFeed_PIOLab_IEA.R b/Rscripts/IEfeeds_code/IE_subroutines/IEFeed_PIOLab_IEA.R index 519d209..239c536 100644 --- a/Rscripts/IEfeeds_code/IE_subroutines/IEFeed_PIOLab_IEA.R +++ b/Rscripts/IEfeeds_code/IE_subroutines/IEFeed_PIOLab_IEA.R @@ -76,6 +76,4 @@ IEFeed_PIOLab_IEA <- function(year,path) file = paste0(path_set,"/IEA_",year,"_SteelIndustryEnergyConsumption.csv"), row.names = FALSE) - print("IEFeed_PIOLab_IEA finished.") - } \ No newline at end of file diff --git a/Rscripts/IEfeeds_code/IE_subroutines/IEFeed_PIOLab_IRP.R b/Rscripts/IEfeeds_code/IE_subroutines/IEFeed_PIOLab_IRP.R index 3e8f8b7..a9fe0b5 100644 --- a/Rscripts/IEfeeds_code/IE_subroutines/IEFeed_PIOLab_IRP.R +++ b/Rscripts/IEfeeds_code/IE_subroutines/IEFeed_PIOLab_IRP.R @@ -24,6 +24,4 @@ IEFeed_PIOLab_IRP <- function(year,path) # Export data to folder (note that the unit is metric tons) write.csv(data,file = paste0(path_set,"/IRP_",year,".csv"),row.names = FALSE) - - print("IEFeed_PIOLab_IRP finished") } \ No newline at end of file diff --git a/Rscripts/IEfeeds_code/IE_subroutines/IEFeed_PIOLab_SteelIndustryYields.R b/Rscripts/IEfeeds_code/IE_subroutines/IEFeed_PIOLab_SteelIndustryYields.R index 708929f..a6b6a03 100644 --- a/Rscripts/IEfeeds_code/IE_subroutines/IEFeed_PIOLab_SteelIndustryYields.R +++ b/Rscripts/IEfeeds_code/IE_subroutines/IEFeed_PIOLab_SteelIndustryYields.R @@ -16,6 +16,5 @@ IEFeed_PIOLab_SteelIndustryYields <- function(path) # Write to folder write.csv(data,file = paste0(path$IE_Processed,"/WSA/SteelIndustryYields.csv"),row.names = FALSE) - - print("IEFeed_PIOLab_SteelIndustryYields finished.") + } \ No newline at end of file diff --git a/Rscripts/IEfeeds_code/IE_subroutines/IEFeed_PIOLab_WSA.R b/Rscripts/IEfeeds_code/IE_subroutines/IEFeed_PIOLab_WSA.R index ab30554..f748bb2 100644 --- a/Rscripts/IEfeeds_code/IE_subroutines/IEFeed_PIOLab_WSA.R +++ b/Rscripts/IEfeeds_code/IE_subroutines/IEFeed_PIOLab_WSA.R @@ -41,5 +41,4 @@ IEFeed_PIOLab_WSA <- function(year,path) file = paste0(path_set,"/WSA_",year,"_",item_name,".csv"), row.names = FALSE) } - print("IEFeed_PIOLab_WSA finished.") } diff --git a/Rscripts/IEfeeds_code/Ind30Pro39v1_InitialEstimate.R b/Rscripts/IEfeeds_code/Ind30Pro39v1_InitialEstimate.R index a10abe1..b2e4203 100644 --- a/Rscripts/IEfeeds_code/Ind30Pro39v1_InitialEstimate.R +++ b/Rscripts/IEfeeds_code/Ind30Pro39v1_InitialEstimate.R @@ -7,7 +7,7 @@ ############################################### # IE feed for 20 industries/processes and 22 products base classifications # hanspeter.wieland@wu.ac.at (c) -# 02.19.2020 +# 04.16.2020 # In case the code is executed not on the server (and the GUI) for debugging, # the user can choose the desired region aggregator by setting the following variable @@ -16,7 +16,7 @@ # test_regagg <- "049" ################################################################################ -# 1. Set up environment for building the initial estimate +### 1. Set up workplace for building the initial estimate IEdatafeed_name <- "Ind30Pro39v1" @@ -38,10 +38,6 @@ source(paste0(path$root,"Rscripts/Subroutines/Read_BaseClassification.R")) # Read root to mother sector aggregators source(paste0(path$root,"Rscripts/Subroutines/Load_Root2Mother_sectors.R")) -# Read root to mother region aggregator (from mat-file if available) -# source(paste0(path$root,"Rscripts/Subroutines/Load_Root2Mother_regions.R")) - - # Read region aggregation from classification to set the right path for the IE data if(max(base$region$Code) < 10) @@ -64,13 +60,10 @@ remove(regagg) if(!dir.exists(path$Agg_Processed)) dir.create(path$Agg_Processed) # Check whether output folder for processed data for the specific aggregation exists, if yes, delete it - if(dir.exists(path$IE_Processed)) unlink(path$IE_Processed,recursive = TRUE) - dir.create(path$IE_Processed) # Check if ALANG files of old initial estimate exist and delete - source(paste0(path$Subroutines,"/DeleteALANGfilesOfOldIEfeeds.R")) # Functions to process raw data for Initial Estimate @@ -82,68 +75,48 @@ IE_fun <- list("/IEFeed_PIOLab_WSA.R", "/IEFeed_PIOLab_Grades.R", "/IEFeed_PIOLab_EOL.R", "/IEFeed_PIOLab_IEA.R", - "/IEFeed_PIOLab_EXIOWasteMFAIOV2.R", + "/IEFeed_PIOLab_EXIOWasteMFAIO.R", "/IEFeed_PIOLab_Cullen.R", - "/IEDataProcessing_PIOLab_AligningDataV2.R", - "/IEDataProcessing_PIOLab_WasteMFAIOExtensionV2.R", - "/IEDataProcessing_PIOLab_WasteMFAIOModelRunV2.R", - "/IEDataProcessing_PIOLab_BuildingDomesticTablesV2.R", + "/IEDataProcessing_PIOLab_AligningData.R", + "/IEDataProcessing_PIOLab_WasteMFAIOExtension.R", + "/IEDataProcessing_PIOLab_WasteMFAIOModelRun.R", + "/IEDataProcessing_PIOLab_BuildingDomesticTables.R", "/IEDataProcessing_PIOLab_BuildingTradeBlocks.R", "/IEDataProcessing_PIOLab_BuildS8fromSupplyUseTables.R") IE_fun <- paste0(path$IE_Subroutines,IE_fun) # Add path to functions - -lapply(IE_fun,source) # Load functions into workspace +lapply(IE_fun,source) # Load functions into workspace -# 2. Commencing data pre-processing (from source to root classification) - -IEFeed_PIOLab_WSA(year,path) # WSA production numbers +### 2. Commencing data pre-processing (from source to root classification) +IEFeed_PIOLab_WSA(year,path) # WSA production numbers IEFeed_PIOLab_SteelIndustryYields(path) # Yield information +IEFeed_PIOLab_BACI(year,path) # Trade data +IEFeed_PIOLab_IRP(year,path) # Extraction data +IEFeed_PIOLab_Grades(path) # Ore grades +IEFeed_PIOLab_EOL(year,path) # end-of-life i.e. old scrap +IEFeed_PIOLab_IEA(year,path) # IEA energy data +IEFeed_PIOLab_EXIOWasteMFAIO(year,path) # Aggregate EXIOBASE Waste-MFA IO model (WIO) +IEFeed_PIOLab_Cullen(path) # Fabrication yields from Cullen et al. 2012 -IEFeed_PIOLab_BACI(year,path) # Trade data - -IEFeed_PIOLab_IRP(year,path) # Extraction data - -IEFeed_PIOLab_Grades(path) # Ore grades - -IEFeed_PIOLab_EOL(year,path) # end-of-life i.e. old scrap - -IEFeed_PIOLab_IEA(year,path) # IEA energy data - -IEFeed_PIOLab_EXIOWasteMFAIOV2(year,path) # Aggregate EXIOBASE Waste-MFA IO model (WIO) -IEFeed_PIOLab_Cullen(path) # Fabrication yields from Cullen et al. 2012 +### 3. Commencing data processing +IEDataProcessing_PIOLab_AligningData(year,path) # Align WSA, IRP extraction +IEDataProcessing_PIOLab_WasteMFAIOExtension(year,path) # Compile extension for WIO +IEDataProcessing_PIOLab_WasteMFAIOModelRun(year,path) # Run WIO Model calculation -# 3. Commencing data processing - -IEDataProcessing_PIOLab_AligningDataV2(year,path) # Align WSA, IRP extraction - -IEDataProcessing_PIOLab_WasteMFAIOExtensionV2(year,path) # Compile extension for WIO - -IEDataProcessing_PIOLab_WasteMFAIOModelRunV2(year,path) # Run WIO Model calculation - - -# Compile domestic SUTs - -IEDataProcessing_PIOLab_BuildingDomesticTablesV2(year,path) - -# Compiling trade blocks +### 4. Compile domestic SUTs, trade blocks and S8 files thereof +IEDataProcessing_PIOLab_BuildingDomesticTables(year,path) IEDataProcessing_PIOLab_BuildingTradeBlocks(year,path) - -################################################################################ -# 4. Create S8 files (see AISHA manual annex for further information) for easy data import to AISHA - IEDataProcessing_PIOLab_BuildS8fromSupplyUseTables(year,path) -################################################################################ -# 5. Write ALANG commands -print("Start writing ALANG commands.") +### 5. Write ALANG commands # Set up wrapper for adding rows to ALANG + NewALANG <- function(name,SE,ALANG) { file <- paste0("S8 ",path$mother,"Data/IE/",gsub("-","",Sys.Date()), @@ -162,7 +135,7 @@ NewALANG <- function(name,SE,ALANG) # Create empty file with header source(paste0(path$Subroutines,"/makeALANGheadline.R")) -RSE <- read.xlsx(xlsxFile = paste0(path$Settings,"/datafeeds_settings/IE_RSE_settings.xlsx")) +RSE <- read.xlsx( paste0(path$Settings,"/Base/IE_settings.xlsx"), sheet = 3 ) # Write ALANG commands diff --git a/Rscripts/Subroutines/InitializationR.R b/Rscripts/Subroutines/InitializationR.R index fb298dc..5b92678 100644 --- a/Rscripts/Subroutines/InitializationR.R +++ b/Rscripts/Subroutines/InitializationR.R @@ -57,14 +57,21 @@ path <- list("Raw" = paste0(root_folder,"RawDataRepository"), "root" = root_folder, "mother" = mother, "Settings" = paste0(root_folder,"Settings"), - "RSE_settings" = paste0(root_folder,"Settings/datafeeds_settings/RSE_settings.xlsx")) + "RSE_settings" = paste0(root_folder,"Settings/datafeeds_settings/df_RSE_settings.xlsx")) # Set the year year <- 2008 # Read root region, industry and products -root <- list("region" = read.xlsx(paste0(path$Concordance,"/LabelsAndCodes/PIOLab_RootClassification.xlsx"),sheet = 1), - "process" = read.xlsx(paste0(path$Concordance,"/LabelsAndCodes/PIOLab_RootClassification.xlsx"),sheet = 2)[,1:2], - "flow" = read.xlsx(paste0(path$Concordance,"/LabelsAndCodes/PIOLab_RootClassification.xlsx"),sheet = 3)) -remove(mother,OnServer,root_folder) +path_rootclass <- paste0(path$Settings,"/Root/Legends/PIOLab_RootClassification.xlsx") + +root <- list("region" = read.xlsx(path_rootclass,sheet = 1), + "process" = read.xlsx(path_rootclass,sheet = 2)[,1:2], + "flow" = read.xlsx(path_rootclass,sheet = 3), + "demand" = read.xlsx(path_rootclass,sheet = 4), + "input" = read.xlsx(path_rootclass,sheet = 5) ) + + + +remove(mother,OnServer,root_folder, path_rootclass) diff --git a/Rscripts/Subroutines/Load_Root2Mother_sectors.R b/Rscripts/Subroutines/Load_Root2Mother_sectors.R index e3fa544..245c1e4 100644 --- a/Rscripts/Subroutines/Load_Root2Mother_sectors.R +++ b/Rscripts/Subroutines/Load_Root2Mother_sectors.R @@ -2,35 +2,15 @@ # Load root to mother sector aggregators - -if(IEdatafeed_name == "Ind20Pro22v1") -{ - ProductAggregator <- read.csv(paste0(path$Concordance,"/Sector Aggregators/22ProV1_SectorAggregatorProducts.csv"), - stringsAsFactors=FALSE, sep = ",",header = FALSE) - - IndustryAggregator <- read.csv(paste0(path$Concordance,"/Sector Aggregators/20IndV1_SectorAggregatorIndustries.csv"), - stringsAsFactors=FALSE, sep = ",",header = FALSE) -} - -if(IEdatafeed_name == "Ind30Pro40v1") -{ - - ProductAggregator <- read.csv(paste0(path$Concordance,"/Sector Aggregators/40ProV1_SectorAggregatorProducts.csv"), - stringsAsFactors=FALSE, sep = ",",header = FALSE) - - IndustryAggregator <- read.csv(paste0(path$Concordance,"/Sector Aggregators/30IndV1_SectorAggregatorIndustries.csv"), - stringsAsFactors=FALSE, sep = ",",header = FALSE) -} - if(IEdatafeed_name == "Ind30Pro39v1") { - set <- read.xlsx(xlsxFile = paste0(path$Settings,"/datafeeds_settings/IE_settings.xlsx"),sheet = 2) + set <- read.xlsx(xlsxFile = paste0(path$Settings,"/Base/IE_settings.xlsx"),sheet = 2) path_sel <- list("flow" = paste0(path$Concordance,"/Sector Aggregators/", - set$date[set$aggregator == "product"],"_",num$flow,"Products_SectorAggregator.csv"), + set$date[set$aggregator == "sector"],"_",num$flow,"Products_SectorAggregator.csv"), "process" = paste0(path$Concordance,"/Sector Aggregators/", - set$date[set$aggregator == "industry"],"_",num$process,"Industries_SectorAggregator.csv") + set$date[set$aggregator == "sector"],"_",num$process,"Industries_SectorAggregator.csv") ) diff --git a/Rscripts/Subroutines/Read_BaseClassification.R b/Rscripts/Subroutines/Read_BaseClassification.R index ef65ffd..0c7e893 100644 --- a/Rscripts/Subroutines/Read_BaseClassification.R +++ b/Rscripts/Subroutines/Read_BaseClassification.R @@ -16,11 +16,14 @@ if(file.exists(reg_path)) # Read the number of regions from the name of the aggregator RegionAgg <- substr(reg_map,nchar(reg_map)-23,nchar(reg_map)-21) - base <- list("region" = read.xlsx(paste0(path$Concordance,"/LabelsAndCodes/",RegionAgg,"_BaseRegionClassification.xlsx"),sheet = 1), - "process" = read.xlsx(paste0(path$Concordance,"/LabelsAndCodes/",IEdatafeed_name,"_BaseSectorClassification.xlsx"),sheet = 1), - "flow" = read.xlsx(paste0(path$Concordance,"/LabelsAndCodes/",IEdatafeed_name,"_BaseSectorClassification.xlsx"),sheet = 2), - "demand" = read.xlsx(paste0(path$Concordance,"/LabelsAndCodes/",IEdatafeed_name,"_BaseSectorClassification.xlsx"),sheet = 3), - "input" = read.xlsx(paste0(path$Concordance,"/LabelsAndCodes/",IEdatafeed_name,"_BaseSectorClassification.xlsx"),sheet = 4)) + path_base_reg <- paste0(path$Settings,"/Base/",RegionAgg,"_BaseRegionClassification.xlsx") + path_base_sec <- paste0(path$Settings,"/Base/",IEdatafeed_name,"_BaseSectorClassification.xlsx") + + base <<- list("region" = read.xlsx(path_base_reg,sheet = 1), + "process" = read.xlsx(path_base_sec,sheet = 1), + "flow" = read.xlsx(path_base_sec,sheet = 2), + "demand" = read.xlsx(path_base_sec,sheet = 3), + "input" = read.xlsx(path_base_sec,sheet = 4)) remove(reg_map,RegionAgg) @@ -37,11 +40,14 @@ if(file.exists(reg_path)) ) ) - base <<- list("region" = read.xlsx(paste0(path$Concordance,"/LabelsAndCodes/",test_regagg,"_BaseRegionClassification.xlsx"),sheet = 1), - "process" = read.xlsx(paste0(path$Concordance,"/LabelsAndCodes/",IEdatafeed_name,"_BaseSectorClassification.xlsx"),sheet = 1), - "flow" = read.xlsx(paste0(path$Concordance,"/LabelsAndCodes/",IEdatafeed_name,"_BaseSectorClassification.xlsx"),sheet = 2), - "demand" = read.xlsx(paste0(path$Concordance,"/LabelsAndCodes/",IEdatafeed_name,"_BaseSectorClassification.xlsx"),sheet = 3), - "input" = read.xlsx(paste0(path$Concordance,"/LabelsAndCodes/",IEdatafeed_name,"_BaseSectorClassification.xlsx"),sheet = 4)) + path_base_reg <- paste0(path$Settings,"/Base/",test_regagg,"_BaseRegionClassification.xlsx") + path_base_sec <- paste0(path$Settings,"/Base/",IEdatafeed_name,"_BaseSectorClassification.xlsx") + + base <<- list("region" = read.xlsx(path_base_reg,sheet = 1), + "process" = read.xlsx(path_base_sec,sheet = 1), + "flow" = read.xlsx(path_base_sec,sheet = 2), + "demand" = read.xlsx(path_base_sec,sheet = 3), + "input" = read.xlsx(path_base_sec,sheet = 4)) remove(test_regagg) } diff --git a/Rscripts/concfeeds_code/concfeed_Root2Mother_sectors.R b/Rscripts/concfeeds_code/concfeed_Root2Mother_sectors.R index a698719..3282fa7 100644 --- a/Rscripts/concfeeds_code/concfeed_Root2Mother_sectors.R +++ b/Rscripts/concfeeds_code/concfeed_Root2Mother_sectors.R @@ -14,7 +14,7 @@ if(Sys.info()[1] == "Linux"){ .libPaths("/suphys/hwie3321/R/x86_64-redhat-linux-gnu-library/3.5") # Define location for root directory root_folder <- "/import/emily1/isa/IELab/Roots/PIOLab/"}else{ - root_folder <- "C:/Users/hwieland/Github workspace/PIOLab/"} + root_folder <- "C:/Users/hwieland/Github workspace/PIOLab/"} # Initializing R script (load R packages and set paths to folders etc.) source(paste0(root_folder,"Rscripts/Subroutines/InitializationR.R")) @@ -25,18 +25,24 @@ source(paste0(path$root,"Rscripts/Subroutines/Read_BaseClassification.R")) # Load function to write tables to file source(paste0(path$root,"Rscripts/Subroutines/Numbers2File.R")) +set <- read.xlsx(paste0(path$Settings,"/Base/IE_settings.xlsx"),sheet = 2) + # Load Source to root sector aggregator of (i) WSA and (ii) IRP accounts # and (iii) additionally pseudo S2R where no raw data is available # Note that all tables are transposed (i.e. in root to source format): -S2R <- list("WSA" = list("process" = read.xlsx(paste0(path$Concordance,"/WSA/WSA_Source2Root_WithLabelsV3.xlsx"), sheet = 1), - "flow" = read.xlsx(paste0(path$Concordance,"/WSA/WSA_Source2Root_WithLabelsV3.xlsx"), sheet = 2) +path_wsa <- paste0(path$Concordance,"/WSA/WSA_Source2Root_WithLabels",set$date[set$aggregator == "WSA"],".xlsx") +path_IRP <- paste0(path$Concordance,"/IRP/",set$date[set$aggregator == "sector"],"_IRP_Extraction_SecConc.xlsx") +path_add <- paste0(path$Concordance,"/Additional/",set$date[set$aggregator == "Additional"],"_Additional_Root2Mother_Sec_Ind30Pro39v1.xlsx") + +S2R <- list("WSA" = list("process" = read.xlsx(path_wsa, sheet = 1), + "flow" = read.xlsx(path_wsa, sheet = 2) ), - "IRP" = list("process" = read.xlsx(paste0(path$Concordance,"/IRP/20200420_IRP_Extraction_SecConc.xlsx"), sheet = 1), - "flow" = read.xlsx(paste0(path$Concordance,"/IRP/20200420_IRP_Extraction_SecConc.xlsx"), sheet = 2) + "IRP" = list("process" = read.xlsx(path_IRP, sheet = 1), + "flow" = read.xlsx(path_IRP, sheet = 2) ), - "Add" = list("process" = read.xlsx(paste0(path$Concordance,"/Additional/20200420_Additional_Root2Mother_Sec_Ind30Pro39v1.xlsx"), sheet = 1), - "flow" = read.xlsx(paste0(path$Concordance,"/Additional/20200420_Additional_Root2Mother_Sec_Ind30Pro39v1.xlsx"), sheet = 2) + "Add" = list("process" = read.xlsx(path_add, sheet = 1), + "flow" = read.xlsx(path_add, sheet = 2) ) ) @@ -56,7 +62,7 @@ Code <- list("WSA" = base$flow[base$flow$feed %in% colnames(S2R$WSA$flow), ], # Extract Source to root concordances (just to make sure the right subset is selected) Conco <- list("WSA" = as.matrix( S2R$WSA$flow[1:nrow(root$flow), Code$WSA$feed] ), - "IRP" = S2R$IRP$flow$IRPextraction, + "IRP" = S2R$IRP$flow$binary, "Add" = as.matrix( S2R$Add$flow[1:nrow(root$flow), as.character( Code$Add$Code )] ) ) @@ -90,7 +96,7 @@ Code <- list("WSA" = base_sel[base_sel$feed_1 %in% colnames(S2R$WSA$process), ], # Extract Source to root concordances (just to make sure the right subset is selected) Conco <- list("WSA" = as.matrix( S2R$WSA$process[1:nrow(root$process), Code$WSA$feed_1] ), - "IRP" = S2R$IRP$process$IRPextraction, + "IRP" = S2R$IRP$process$binary, "Add" = as.matrix( S2R$Add$process[1:nrow(root$process), as.character( Code$Add$Code )] ) ) diff --git a/Rscripts/concfeeds_code/concfeed_WSA_Source2Root_sectors.R b/Rscripts/concfeeds_code/concfeed_WSA_Source2Root_sectors.R index 1dd98ef..66900b8 100644 --- a/Rscripts/concfeeds_code/concfeed_WSA_Source2Root_sectors.R +++ b/Rscripts/concfeeds_code/concfeed_WSA_Source2Root_sectors.R @@ -19,9 +19,8 @@ source(paste0(root_folder,"Rscripts/Subroutines/InitializationR.R")) # Load function to write tables to file source(paste0(path$root,"Rscripts/Subroutines/Numbers2File.R")) -S2R <- list("process" = read.xlsx(paste0(path$Concordance,"/WSA/WSA_Source2Root_WithLabelsV3.xlsx"), sheet = 1), - "flow" = read.xlsx(paste0(path$Concordance,"/WSA/WSA_Source2Root_WithLabelsV3.xlsx"), sheet = 2) - ) +S2R <- list("process" = read.xlsx(paste0(path$Concordance,"/WSA/WSA_Source2Root_WithLabelsV4.xlsx"), sheet = 1), + "flow" = read.xlsx(paste0(path$Concordance,"/WSA/WSA_Source2Root_WithLabelsV4.xlsx"), sheet = 2) ) # Read WSA settings to get exact number of feeds Settings <- read.xlsx(paste0(path$Settings,"/datafeeds_settings/WSA_settings.xlsx")) diff --git a/Rscripts/datafeeds_code/Archive/datafeed_PIOLab_IRPexports.R b/Rscripts/datafeeds_code/Archive/datafeed_PIOLab_IRPexports.R new file mode 100644 index 0000000..e932152 --- /dev/null +++ b/Rscripts/datafeeds_code/Archive/datafeed_PIOLab_IRPexports.R @@ -0,0 +1,137 @@ +################################################################################ + +datafeed_name <- "IRPexports" +print(paste0("datafeed_PIOLab_",datafeed_name," initiated.")) + +################################################################################ +# Set library path when running on suphys server +if(Sys.info()[1] == "Linux"){ + .libPaths("/suphys/hwie3321/R/x86_64-redhat-linux-gnu-library/3.5") + # Define location for root directory + root_folder <- "/import/emily1/isa/IELab/Roots/PIOLab/"}else{ + root_folder <- "C:/Users/hwieland/Github workspace/PIOLab/"} +################################################################################ + +# Initializing R script (load R packages and set paths to folders etc.) +source(paste0(root_folder,"Rscripts/Subroutines/InitializationR.R")) + +path["df_Processed"] <- paste0(path$Processed,"/",datafeed_name) + +# Load function to write arrays to files +source(paste0(path$Subroutines,"/Numbers2File.R")) + +# Check if folder with processed data exists, in case delete and create empty one + +if(dir.exists(path$df_Processed)) unlink(path$df_Processed,recursive = TRUE) + +dir.create(path$df_Processed) + +# Loading raw data +data <- read.csv(paste0(path$Raw,"/IRP/all_CCC_Exp_ResearchDB.csv"),stringsAsFactors=FALSE) +colnames(data)[6:49] <- 1970:2013 +data <- data %>% filter(CCC_IEATrade_Name == "Iron ores") %>% select(Country,AlphaNumISO,as.character(year)) +# Remove NA +data <- data[!is.na(data$`2008`),] + +# transform 3-digit ISO codes and translate into root classification, first load the root +data <- data %>% separate(AlphaNumISO, into = c('ISOCode', 'num'), sep = 3) %>% select(-num) +colnames(data)[ncol(data)] <- "Quantity" +data <- filter(data,Quantity > 0) +# Look up root codes +data <- left_join(data,root$region[,c("Code","RootCountryAbbreviation")],by = c("ISOCode" = "RootCountryAbbreviation"),copy = FALSE) + +# No root codes for Faroe Islands and Mayotte (remove for now and talk Manfred/Arne) +data <- data[!is.na(data$Code),] + +# Remove Yugoslavia and USSR from data +data <- data %>% filter(!Code %in% c(233,242)) + +data <- data[!is.na(data$Code),] # Mayotte and Farour Isl. are not in root (tbc) + +n_reg <- nrow(root$region) + +# Read standard errors: + +RSE <- filter(read.xlsx(path$RSE_settings),Item == datafeed_name) + +data_new <- data.frame("code" = 1:n_reg,"RHS" = 0) + +data_new$RHS[data$Code] <- data$Quantity + +data <- data_new + +remove(data_new) + + +ConcoReg <- diag(nrow(root$region)) # Create pseudo aggregator (for columns) + +# Set names and paths to data and concordances: + +filename <- list("RHS" = paste0("/",datafeed_name,"/",datafeed_name,"_RHS_",year,".csv"), + "ConcoReg" = "/Root2Root_Reg_Concordance.csv") + +Numbers2File( t(data$RHS), paste0(path$Processed,filename$RHS)) # Save S2R reg aggregator + +Numbers2File( ConcoReg, paste0(path$Concordance,filename$ConcoReg)) # Save S2R reg aggregator + + +# Create empty ALANG table with header: + +source(paste0(path$Subroutines,"/makeALANGheadline.R")) # Create ALANG header + +ALANG <- ALANG[,c(1:19,11:19)] # Extend table with additional columns + +ALANG <- add_row(ALANG,'1' = "DataFeed IRP export") # Create command + +ALANG$Value <- paste0("DATAPATH",filename$RHS) + +ALANG$S.E. <- paste0("E MX",RSE$Maximum,"; MN",RSE$Minimum,";") + + +# Write first 8-tuple (sum of domestic use and imports for each region) + +ALANG$Coef1 <- "-1" + +ALANG$Years <- "1" +ALANG$Margin <- "1" + +ALANG$`Row parent` <- paste0("1:e a CONCPATH",filename$ConcoReg) +ALANG$`Row child` <- "2" +ALANG$`Row grandchild` <- "1-e" + +ALANG$`Column parent` <- "1:e~3" +ALANG$`Column child` <- "1" +ALANG$`Column grandchild` <- "1-e" + +# Write second 8-tuple (subtract sum of domestic use table) + +ALANG$Coef1.1 <- "1" + +ALANG$Years.1 <- "1" +ALANG$Margin.1 <- "1" + +ALANG$`Row parent.1` <- "1:e" +ALANG$`Row child.1` <- "2" +ALANG$`Row grandchild.1` <- "1-e" + +ALANG$`Column parent.1` <- "1-e" +ALANG$`Column child.1` <- "1-e" +ALANG$`Column grandchild.1` <- "1-e" + +ALANG$`#` <- as.character(1:nrow(ALANG)) +ALANG$Incl <- "Y" +ALANG$Parts <- "2" + +ALANG$`Pre-map` <- "" +ALANG$`Post-map` <- "" +ALANG$`Pre-Map` <- "" +ALANG$`Post-Map` <- "" + + +# Call script that writes the ALANG file to the repsective folder in the root +source(paste0(path$root,"Rscripts/datafeeds_code/datafeed_subroutines/WriteALANG2Folder.R")) + +print(paste0("datafeed_PIOLab_",datafeed_name," finished.")) + +rm(list = ls()) # clear workspace + diff --git a/Rscripts/datafeeds_code/Archive/datafeed_PIOLab_IRPimports.R b/Rscripts/datafeeds_code/Archive/datafeed_PIOLab_IRPimports.R new file mode 100644 index 0000000..1fb93bc --- /dev/null +++ b/Rscripts/datafeeds_code/Archive/datafeed_PIOLab_IRPimports.R @@ -0,0 +1,139 @@ +################################################################################ + +datafeed_name <- "IRPimports" +print(paste0("datafeed_PIOLab_",datafeed_name," initiated.")) + +################################################################################ +# Set library path when running on suphys server +if(Sys.info()[1] == "Linux"){ + .libPaths("/suphys/hwie3321/R/x86_64-redhat-linux-gnu-library/3.5") + # Define location for root directory + root_folder <- "/import/emily1/isa/IELab/Roots/PIOLab/"}else{ + root_folder <- "C:/Users/hwieland/Github workspace/PIOLab/"} +################################################################################ + +# Initializing R script (load R packages and set paths to folders etc.) + +source(paste0(root_folder,"Rscripts/Subroutines/InitializationR.R")) + +path["df_Processed"] <- paste0(path$Processed,"/",datafeed_name) + +source(paste0(path$Subroutines,"/Numbers2File.R")) # Load fun. to write arrays to files + + +# Check if folder with processed data exists, in case delete and create empty one + +if(dir.exists(path$df_Processed)) unlink(path$df_Processed,recursive = TRUE) + +dir.create(path$df_Processed) + + +# Loading raw data +data <- read.csv(paste0(path$Raw,"/IRP/all_CCC_Imp_ResearchDB.csv"),stringsAsFactors=FALSE) +colnames(data)[6:49] <- 1970:2013 +data <- data %>% filter(CCC_IEATrade_Name == "Iron ores") %>% select(Country,AlphaNumISO,as.character(year)) +# Remove NA +data <- data[!is.na(data$`2008`),] + +data <- data %>% separate(AlphaNumISO, into = c('ISOCode', 'num'), sep = 3) %>% + select(-num) + +colnames(data)[ncol(data)] <- "Quantity" +data <- filter(data,Quantity > 0) + +# Remove Yugoslavia and USSR from data +data <- data %>% filter(!ISOCode %in% c("YUG","SUN")) + +# Look up root codes +data <- left_join(data,root$region[,c("Code","RootCountryAbbreviation")], + by = c("ISOCode" = "RootCountryAbbreviation"),copy = FALSE) %>% + select(Code,Quantity) + +data <- data[!is.na(data$Code),] # Mayotte and Farour Isl. are not in root (tbc) + +RSE <- filter(read.xlsx(path$RSE_settings),Item == datafeed_name) # Import RSE + +# # Add standard errors +# source(paste0(path$Subroutines,"/SE_LogRegression.R")) +# data <- SE_LogRegression(data,RSE$Minimum,RSE$Maximum) + +n_reg <- nrow(root$region) # Read number of root regions + +data_new <- data.frame("code" = 1:n_reg,"RHS" = 0) + +data_new$RHS[data$Code] <- data$Quantity + +data <- data_new + +remove(data_new) + + +ConcoReg <- diag(nrow(root$region)) # Create pseudo aggregator (for columns) + +# Set names and paths to data and concordances: + +filename <- list("RHS" = paste0("/",datafeed_name,"/",datafeed_name,"_RHS_",year,".csv"), + "ConcoReg" = "/Root2Root_Reg_Concordance.csv") + +Numbers2File( t(data$RHS), paste0(path$Processed,filename$RHS)) # Save S2R reg aggregator + +Numbers2File( ConcoReg, paste0(path$Concordance,filename$ConcoReg)) # Save S2R reg aggregator + + +source(paste0(path$Subroutines,"/makeALANGheadline.R")) # Create ALANG header + +ALANG <- ALANG[,c(1:19,11:19)] # Extend table with additional columns + +ALANG <- add_row(ALANG,'1' = "DataFeed IRP imports") # Create command + +ALANG$Value <- paste0("DATAPATH",filename$RHS) + +ALANG$S.E. <- paste0("E MX",RSE$Maximum,"; MN",RSE$Minimum,";") + +# Write first 8-tuple (sum of domestic use and imports for each region) + +ALANG$Coef1 <- "-1" + +ALANG$Years <- "1" +ALANG$Margin <- "1" + +ALANG$`Row parent` <- paste0("1:e a CONCPATH",filename$ConcoReg) +ALANG$`Row child` <- "2" +ALANG$`Row grandchild` <- "1-e" + +ALANG$`Column parent` <- "1:e~3" +ALANG$`Column child` <- "1" +ALANG$`Column grandchild` <- "1-e" + +# Write second 8-tuple (subtract sum of domestic use table) + +ALANG$Coef1.1 <- "1" + +ALANG$Years.1 <- "1" +ALANG$Margin.1 <- "1" + +ALANG$`Row parent.1` <- "1-e" +ALANG$`Row child.1` <- "2" +ALANG$`Row grandchild.1` <- "1-e" + +ALANG$`Column parent.1` <- "1:e" +ALANG$`Column child.1` <- "1" +ALANG$`Column grandchild.1` <- "1-e" + +ALANG$`#` <- as.character(1:nrow(ALANG)) +ALANG$Incl <- "Y" +ALANG$Parts <- "2" + +ALANG$`Pre-map` <- "" +ALANG$`Post-map` <- "" +ALANG$`Pre-Map` <- "" +ALANG$`Post-Map` <- "" + +# Call script that writes the ALANG file to the repsective folder in the root + +source(paste0(path$root,"Rscripts/datafeeds_code/datafeed_subroutines/WriteALANG2Folder.R")) + +print(paste0("datafeed_PIOLab_",datafeed_name," finished.")) + +rm(list = ls()) # clear workspace + diff --git a/Rscripts/datafeeds_code/datafeed_PIOLab_BACI.R b/Rscripts/datafeeds_code/datafeed_PIOLab_BACI.R index e3b0879..5a23e2d 100644 --- a/Rscripts/datafeeds_code/datafeed_PIOLab_BACI.R +++ b/Rscripts/datafeeds_code/datafeed_PIOLab_BACI.R @@ -88,8 +88,10 @@ ALANG$RHS$Value <- paste0("DATAPATH/",datafeed_name,"/",ALANG$RHS$`1`,".csv") ALANG$SE$S.E. <- paste0("DATAPATH/",datafeed_name,"/",ALANG$SE$`1`,".csv") vec <- data.frame("pro" = 1:pro_max, - "RHS" = NA, - "SE" = NA) + "RHS" = 0, + "SE" = 0) + +vec[256:266,2:3] <- NA ### 2. Write commands by looping over export regions: @@ -113,11 +115,10 @@ for( i in 1:nrow(index) ) } - ### 3. Merge ALANG sheets and complete missing entries -ALANG <- rbind(ALANG$RHS,ALANG$SE) # Combine SE and RHS commands -ALANG$`#` <- 1:nrow(ALANG) # Add index +ALANG <- rbind(ALANG$RHS,ALANG$SE) # Combine SE and RHS commands +ALANG$`#` <- 1:nrow(ALANG) # Add index ALANG[] <- lapply(ALANG,as.character) # Convert all entries to character ### 4. Call script that writes the ALANG file to the repsective folder in the root diff --git a/Rscripts/datafeeds_code/datafeed_PIOLab_IRPextraction.R b/Rscripts/datafeeds_code/datafeed_PIOLab_IRPextraction.R index d3964d5..898a62d 100644 --- a/Rscripts/datafeeds_code/datafeed_PIOLab_IRPextraction.R +++ b/Rscripts/datafeeds_code/datafeed_PIOLab_IRPextraction.R @@ -13,11 +13,17 @@ if(Sys.info()[1] == "Linux"){ ################################################################################ # Initializing R script (load R packages and set paths to folders etc.) source(paste0(root_folder,"Rscripts/Subroutines/InitializationR.R")) - -path["df_Processed"] <- paste0(path$Processed,"/",datafeed_name) +path["df_Processed"] <- paste0(path$Processed,"/",datafeed_name) # Add datafeed specific path for output data +path["df_conco"] <- paste0(path$Concordance,"/IRP/") # Add datafeed specific path for S2R concordance # Load function to write arrays to files -source(paste0(path$Subroutines,"/Numbers2File.R")) +source( paste0(path$Subroutines,"/Numbers2File.R") ) + +# Read date of concordance for sourc2root industries and products +set <- read.xlsx(xlsxFile = paste0(path$Settings,"/datafeeds_settings/IRP_settings.xlsx"),sheet = 1) + +Conco <- list("process" = read.xlsx(xlsxFile = paste0(path$df_conco,set$date,"_IRP_Extraction_SecConc.xlsx"),sheet = 1), + "flow" = read.xlsx(xlsxFile = paste0(path$df_conco,set$date,"_IRP_Extraction_SecConc.xlsx"),sheet = 2) ) # Loading raw data source(paste0(path$Subroutines,"/Read_ExtractionIRP.R")) @@ -57,17 +63,17 @@ ALANG <- add_row(ALANG, S.E. = paste0("E MX",RSE$Maximum,"; MN",RSE$Minimum,";") ) ALANG$`#` <- 1:nrow(ALANG) -ALANG$Coef1 <- "1" -ALANG$Years <- "1" -ALANG$Margin <- "1" +ALANG$Coef1 <- 1 +ALANG$Years <- 1 +ALANG$Margin <- 1 ALANG$`Row parent` <- "1-e" -ALANG$`Row child` <- "3" -ALANG$`Row grandchild` <- "4" +ALANG$`Row child` <- 3 +ALANG$`Row grandchild` <- root$input$Code[ root$input$Name == "Hematite & Magnetite" ] ALANG$`Column parent` <- "1:e t2 CONCPATH/Root2Root_Reg_Concordance.csv" ALANG$`Column child` <- "1" -ALANG$`Column grandchild` <- "1-4" +ALANG$`Column grandchild` <- paste( Conco$process$Code[Conco$process$binary == 1] , collapse = "," ) ALANG$Incl <- "Y" ALANG$Parts <- "1" @@ -80,3 +86,4 @@ ALANG$`Post-Map` <- "" source(paste0(path$root,"Rscripts/datafeeds_code/datafeed_subroutines/WriteALANG2Folder.R")) print(paste0("datafeed_PIOLab_",datafeed_name," finished.")) + diff --git a/Rscripts/datafeeds_code/datafeed_subroutines/CreateALANGforWSAdata.R b/Rscripts/datafeeds_code/datafeed_subroutines/CreateALANGforWSAdata.R index 91029ec..d8814a2 100644 --- a/Rscripts/datafeeds_code/datafeed_subroutines/CreateALANGforWSAdata.R +++ b/Rscripts/datafeeds_code/datafeed_subroutines/CreateALANGforWSAdata.R @@ -6,36 +6,27 @@ # Initializing R script (R packages, folders etc.): - source(paste0(root_folder,"Rscripts/Subroutines/InitializationR.R")) - path["df_Processed"] <- paste0(path$Processed,"/",datafeed_name) # Add path for processed data print(paste0("datafeed_PIOLab_",datafeed_name," initiated.")) source(paste0(path$Subroutines,"/Numbers2File.R")) # Load fun. to write arrays to files - source(paste0(path$Subroutines,"/Read_ProductionWSA.R")) # Fun. to align data with root classification - # Check if folder with processed data exists and in case delete: - if(dir.exists(path$df_Processed)) unlink(path$df_Processed,recursive = TRUE) - dir.create(path$df_Processed) # Create new (empty) folder # Get relative standard error for smallest and largest values in the data set: - RSE <- filter(read.xlsx(path$RSE_settings),Item == datafeed_name) # Read settings (e.g. page in the specific yearbook) for WSA data feeds: - Settings <- read.xlsx(paste0(path$Settings,"/datafeeds_settings/WSA_settings.xlsx")) - Settings <- Settings[Settings$FeedName == datafeed_name,] # Select which feed @@ -74,12 +65,12 @@ concord <- read.xlsx(xlsxFile = paste0(path$Concordance,"/WSA/WSA_RegionConcorda # Load concordance for sourc2root industries and products -set <- read.xlsx(xlsxFile = paste0(path$Settings,"/datafeeds_settings/WSA_settings.xlsx"),sheet = 2) +set <- read.xlsx(xlsxFile = paste0(path$Settings,"/Base/IE_settings.xlsx"),sheet = 2) path_sel <- list("flow" = paste0(path$Concordance,"/WSA/", - set$date[set$aggregator == "product"],"_WSA_Source2Root_Product.csv"), + set$date[set$aggregator == "sector"],"_WSA_Source2Root_Product.csv"), "process" = paste0(path$Concordance,"/WSA/", - set$date[set$aggregator == "industry"],"_WSA_Source2Root_Industry.csv") + set$date[set$aggregator == "sector"],"_WSA_Source2Root_Industry.csv") ) ConcoInd <- read.table(path_sel$process,sep = ",") @@ -104,7 +95,7 @@ RHS <- matrix(0,nrow = 1,ncol = n_reg) # vector for RHS values all root regions RHS[1,data$Code] <- data$Quantity # Write right-hand-side in vector -ConcoReg <- diag(nrow(root$region)) # Create pseudo aggregator +# ConcoReg <- diag(nrow(root$region)) # Create pseudo aggregator # Set names and paths to data and concordances: @@ -114,7 +105,7 @@ filename <- list("RHS" = paste0("/",datafeed_name,"/",datafeed_name,"_RHS_",year "ConcoInd" = paste0("/WSA_Source2Root_Industry_",datafeed_name,".csv"), "ConcoPro" = paste0("/WSA_Source2Root_Product_",datafeed_name,".csv")) -Numbers2File( ConcoReg, paste0(path$Concordance,filename$ConcoReg)) # Save region aggregator +# Numbers2File( ConcoReg, paste0(path$Concordance,filename$ConcoReg)) # Save region aggregator Numbers2File( RHS, paste0(path$Processed, filename$RHS)) # Write data to folder @@ -134,13 +125,14 @@ ALANG$`Column parent` <- paste0("1:e t2 CONCPATH",filename$ConcoReg) # Write command for elements that are zero: -ALANG <- add_row(ALANG,'1' = paste(datafeed_name,year, "Zero elements")) # Create entry - -ALANG$Value[2] <- paste0("0") -ALANG$S.E.[2] <- paste0("0") -ALANG$`Row grandchild`[2] <- ConcoInd$Zero -ALANG$`Column parent`[2] <- paste0("1-e") +# ALANG <- add_row(ALANG,'1' = paste(datafeed_name,year, "Zero elements")) # Create entry +# +# ALANG$Value[2] <- paste0("0") +# ALANG$S.E.[2] <- paste0("0") +# ALANG$`Row grandchild`[2] <- ConcoInd$Zero +# ALANG$`Column parent`[2] <- paste0("1-e") +# Write other variables ALANG$`Row parent` <- "1-e" ALANG$`Row child` <- "1" diff --git a/Settings/Base/002_BaseRegionClassification.xlsx b/Settings/Base/002_BaseRegionClassification.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..884a165c24019245a13ade93d3f1c213d577aebd GIT binary patch literal 8648 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

`;_eZ6bGtEpN zw8a=Gjtr?jWr2EL&MzQAiGlXE)i!ei=WlZfhn+)nAln#_zy>3wq!H8$39WZq8&1$B&d!+ab7^t=o5{GLY_PgqL zgifgr?00%TKqvfO@Ilz$oe3L7UcJSe?I9c_)5wVI>KqTO3f#YY$0SxUiuc0Hi*eg+ z8){1x5ZBd?xFfx;Zez7OXp=IHSOFOg7nUMK6BH}^T#Q>o86vw5ojQH&GIL?@(9+OX zl~hWQ6^7(}9JY%OZ5F4%f8+l*hX>`c=ptRc-!;P^8$vG1(kI%==xJc^JcUZKT`{R5 z;kuKusvg7ieTOU<_iyGcS5HVqC9FrN>5rPr>pE8hDWrQuJQj;wF3#~w>+fM%SHoG= zp6Ap*I%%}33daf?OF4e{HN82sf1kdlmW`MV)=FT$rLyDhE*9flc=wSXA+H15M9E|! z3p?uJ!6}L{mLItkp;P%fmUj&zg%d(vWUVO-JK(Og4ka=2f79c0BQ*&m6(ui3Obl8- ze3>U|(0xZ9msQjARl5H?rbE2O^TH7-u~3vwR<|+NNpYG*`KVn{0nfse%3!TPf>8vO zgTdg)EIJl@TCv*Y(|a(qeV?fZQDw?97@rKoJS;6El{my+KNne&np39pC3PL zqSM`_?$-Lga#&p}cjkF-)E={B-UVsnG`@*0@PkhWaCSYuWnaFQe-PL8aPgadw+Li~ z)SMa!>^i`$gvQ4stzJ)eU{4e_C@aL8I66|?x!uDn(pPaw+J1d;jH#bWXnPh zGAM;>+LC_QYyUT_Fdk+{6Xmzd#{e--w*&h?VTth85(N529U=?)g~8u!>kI|I!RtcE zWuCsn?!yEVc(-dM$a%=&Niv^g6#IoN-Q+Bi7K5&^_qLhh6xLDW_*o;%3hvo1Zrt=9 zpb8*SL@f-APS-h&7X}i%l@ zm)q5U#J{BF1@G>wJiB6OLnM8fUt}w_(lMsXsBqTqR z(A?Gae;h=U?~e_Z@8OKQrOiw5@(vRyyR|qtO-ifvHbDk$#1QRvW;FFY(}fp-2VvGX(n?cLi16y7x+_+v z_$(*`L!z-CDp2uKmPr%f52ZNg>e(qcDSof8F%`HW0!@H~^`>n#ONnM{=af;mAf>sD zxQenO;=JM)Wp=Bc!x{7gfs9W$R1yZ#3$ZfsgH*cJaVKpfgjy~fJdWX0&o5`}-a<69 zAw^TUW_cZfd;ID>MqK!+;#!jfY$O-DB;L7StSeGulw*mgZ`mI6tFEO@`ogR3q~-Q; z8@|cYCc06d5f3MsO#}@nGQ8Bm2vK$=i|b*6*}thg=lvWO0s))5fFN2cbd^H3O!HG* zlm{5d^HiTFH+>ahFNNMqO^=B$$`XM;xVaD+ei31>&qx4v5LcdA&Vgsb#}+xmyYz>l z7V|~8lqTJ7TYZps`4I}U+1$X@I;~qmd%#Pe&rPWinAzZ=i8wvSHr(oJbpH8Mr&>VfBoZE zoL^<|zmWFOe+&3U6#v!uSLyOEV;}q<#{Up9e?|CJ9Q+HxklL#)AfI(xWA(OJ+%IX0RYU=00938w7;7FeNz0{+??(w^FO9Y WEmbV^=mG$E=uZebmJ2X^Kl?wvRO`wB literal 0 HcmV?d00001 diff --git a/Settings/Base/005_BaseRegionClassification.xlsx b/Settings/Base/005_BaseRegionClassification.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..6c843403020f29bd3ed4c6e5f83a6eda476e20bd GIT binary patch literal 8690 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 literal 0 HcmV?d00001 diff --git a/Settings/Base/049_BaseRegionClassification.xlsx b/Settings/Base/049_BaseRegionClassification.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..4051d0facffc806cf95e16261c96b4e44c8ae783 GIT binary patch literal 10791 zcmeHtg02%-Qpan=i3>ek3vu6>xT)U_(nIvCaMhYgsHMajx%ne?P2R_(d2^qw+2 z$1IE~cR74~BcJ&sFt1EIraCU_K^7VI{yxfhEvjhvw&0& zQ_}bfky9+B0IXeU7n_;0Xy9e(9L_>UjwJO`${`NrE!@t2{6GY#{l!dcwRq@H;Mh}! z|BDGXQxg|UdoVZG-S_{@^S{_8|D<|Zg38lQ9<0!P`RlMx=aUO@cv4CplJXyDHGTaR z=5cFdav3NW+L(cOniN5Za(*qo*L`yfqA}Z_XwOyz%AyE}9?{o%l!vBXy>LTiV{%E6 zeNndDh3`IjI(Y_>Q}kkSZ+XpD+EA3O1Y4w+9Y2(*#2e<)p+G0h2ZoY7h6L#MsOWt$ zyQsJ~DW$Pj9{RriVb*ryaJt`gO2HPkc(}0g?ihsl6WGl9bH%Gq_Oz#$6j~ZK!l3tN zZ(T&_yi6?Y+mB_^+X!!7ajHT;J);vKxZoR>>t)P3_0z8rIPA~x>UxOYS^DV!78pfc z^abv*{%#}zVo9mT@DXW(8wmvf?VhJS_rL7K!^y?Y%*n~_&YS()X70gV8l202_f_^x zMX3wEq+{NO@pz=W6XSn&<)+)!+QCJG)v(Sn(enGAEK;&H8R0+yXk8lg6=70ox%SH$GeN2vr{(GyOGR{jY*GcFO~6>g#FJSgqE6G)m8%p=1Vn zQI8&zqbrDFdjUo_CurF(I-Z=N9W`HDsdx?9b>v=QtpQ7w?w34x{3_IyChU_OwI6E& zcr6F=L2G~6RqA^mYunrrNB_yb)mK>WcuSqlOyj2g?h zJi+m>wrXq;5=eM;&pbq%JVsSYQR0OWM(yBc=gkM0Fyj=j7GE*3#R*!9F~?%7-frz@ zV*PzI1eWyC*+xNZgnm1lH;+d-S*|re<2+$X)!6oS{>gPH&M{akJWyn8!blvnVlV8_ z3bu}A{o{&zYbbb#3Bt;YQ#rNt`kf|-(>&EXv*^<*QFtM7AE~_66e-?1)+thI%X56k zQ<1ZPw)#6FJ)GU{%b?NZVYtls!h)4!!{XIg6dc?e;Qn#;jNa~=Gl2kBW{~<(5;988 zb$Z_y^G!v|c5qjldO{a1c8Yj@!-KrwNVlFL$-d)u~)iGas1(RF**oTnGK0eHh;ThAJZT{7s6-s8MShr^Z>YN(L4&bv%#{ z>#8_c;}#vo7T(kK3N#8bY5*N&Oy3Bvlc9jPwHn75XRaYUyZPIGwAia}a{&qz8071I z1a*dptF`AVo*@ zFgFsEs_m;ceXxXz4Uo-bLQs_@QIHd4j-RF)d@wm8{mt2eLhI*^;m}r_0h>$(yY(xAfAhMPqd~k;Y@faSK6a5Q_U>j2xOA8HG z7m%Yh_-^TPO)+qqmB0&GWIq+x^>tFYQqv;F3qb5zer6#JIu@KEY>sSEI!93O^+_#w zmiKrlS9}->dCYIz=yx+AI2uuluZXi!I@}^;rdOi)sgvf5V?kzXcYGxSyKT}}$?E~8 z*89HKBM*CI#dOjn4Gp}n-!c@GH8LLSQR!Vh#8s@fxXBe`STBOGY4Fe0DYTxvG)YVe zj?R514Dwm{q6HLYy%kbj{Pf%CK0aY;kwjH!5|Xj>I=ZTpzMJO*NKnz0PwSUkVB z20hL7B4(HQG*F&Cvr;_o70y~zuDB6ep_Jek`SvsmbZZF6Dz8}EqB6>W*~eq#iB<8v z2E00V26c<>IxC;8kzmdWEuB@n{PIV5p6TpP=-Z^$6=ce+6mBaOHp5%^T6NEKD{>ka zhZSp0b3I%cSmG1%Fi(Qd9LZyqb`K`a zhv*VzL1|^F_89RYiM)jMA-|@v)RZlLPg%T#_AUJYTh<1`HEa9EXQ7GDfx{klZ?-T# zu`qxSys#J$GuGazF{A3pNsP_$*df*me&De}zHjx=bl@@6E(~eCHb`%`Ap6LXJYm%L z-Q|fa;g4~?Ys`Pb=_3a|r4BegrQp7k{?~#Dwz0Hy1^?l0e?IX3$JqwI?uh)zL-gbv z@mAW?J8>!mOIqV0U4zyJqS@6f%3NyPInj-GHPEtsZOwUjO)&ktXfdS~PCUm%6GF&W zb5fi42i~)sZIYEj+w(-|oT722<6Nz2h^nfJ5xsG`#F&*K>I^qzoxWY4D`U}%X_R$B!4sr1r7uK$7ksOGy-m75Ktlt01!=aw`2b4GF)ve9W1$je*aW^ zSI;17PL{}*`$QbA2^PG;f6Sjy4mlM{?=PrfwA0NS^%!~u9vXc}YSiq?T`+{NDr~AS zS8iO?fTP-DFO{G-*YW_ElvdG+tjH8zg;c-5xc)7F;k9^ExVucS`L4guM-R2RnBX`2 zN&T;|2E$FBgQ4x!tV-q#OM)56%&a0PZM>Y*Y{^+b`h*76Kr?4=9}!0LU95a150ACx zr^|x)hJw+cmo!G^ol>UEVOkMOO83Vmgr#csq{Io`MZ3;}chtI&MQuJ1pKhdhaHou_ zI?8mD7z{dQ-MW03f9|5I;ZsmO+N3dj+>%v&_70$Fzj77hJAylPO9Y7N>MwcBHfnjD>ONKIDm-Cpd`*XE0gcQmwet@A7yeITCHQL%uqt*< zCgBxOOciEWv+%T|v{dq~xVQV!!4|C38ZFZC{#Ge(jy<$CYSP8~m=^Ty*1 z?!~rO*KSj%AkpbVZr`hwZl|`kzQ@rGXx+z7Z<{@@zFyXw+#ar)N1dxi%8I;_Hyg;X zyO?Q&nUQ6Mh~Lk5vf_=#PRHjzof1ClY-AsL;Eus&j%aK=|DfT%%$5|M z(y&hM4B#8T><5lol%aDDrl&outM+WrM_pTVX4tT}=x8an=!!V9qpBMGU`@)(&ux3I zp*6b4r4%RQLwtGXS#%Wkt>JDrZLoO}x>2l5xCqk@wjwgLR z3XqHF@J$*iuS{^EZ>4-~ za`SX?)hlk1Ex;zwZ-g+^@I{XxZA=zZL!s6c22T{RU-A)^)@Nsp+O)nlRKgd|#}*h( z4rCg7F^9b^291dsZQfHgUBpd21lor6BXj5Q3yD%j33x9r%IdANl0NRr#0Fg+T|H@Q!gBLGQ9YJ}56;p=X@+KIY>+{itYHcT9{-P{?U9 zpP%>p8VgMMb4dYVcUjl?FEVOozPW6OLbSkGzY;wGW~3qhX({cA#o`FoRHGXS^+~m< z*iBKX%jldaFBBcRrh?pWQ@kVJj(DXd9!d+P!O+h#tQV>aZOMgI1fqn;)rf`dX1h;r zRE{W0%?KXoT8@?1VKw_EBmWjigm$myk>@ALa_mny4B1?VG zMlAuT>aGyKm+E_znIpDqqF9&t(uv?WVv&Z66TXpkSOQ|i_%Tlo20 z1oy}iD_S)1wI~Umakt&M6Wl}necOX0AvQk=k2VcZ0RZfO`7p4nm%ZiBFtb?;cDLzi z`MK#~*SBx1qh&2xMMH}tK~6wu86&VHT&9b2Wvkz8^C;@pj>}VdmPKkO1Z>s&G9V=E zgd}&aNm*bK*;x&sXT#LuYg9R$o|{iMx8R6pTvi+-qAu##`25`?q7qfr$vsIQ32!XV z)7qis#7ASdh-O`RQuCuqehm#t?8}{WeT`=n=km_t7=aLOw8RE!-N+S2n!wEuK6}K9 z6J1rk|m z8GJ%>_9Q8Zo!&?#k^a7^-rA#ShDNn=kYj?7Xi+ntl{lrx3#M9Se_ zPno9JCvll3p@>j{GuV`b$~ls>s`rL`%1f3#a?3(u`x6r4%M*ehF@=)00Jeydjwv5H zE|#FqsDykq{`%24nKiV-4TwX>Fcw8+?BRT2UW4O}^e7v_IQ8QOc*_No&| z75rs$lAItp?shc=_NtAuGf&7$;&nudJvUALmu<`sI&~rPhYGFkR768i+}RmBL=8-n znrV)1ac&)IlAV6hqxBBkZz{|JXC#NVd)?zvlP@#416dj_9_WYuc#kpHjXg-9ni|^q zal)s{=ini;QKVcL*R{Jl&F+icC>xSj(Vgx6%#xcb))wCetrKVZS9$b@3rhQiUdvVX zIvKVGP=|INIehd4L9(E*fYN~MN)q|NRqBKTRHp0kHnTIzf5N}RyQ4`tcnl{;4FHh+ zEsFgWza~MHoO0!fLeA+2{Umnh1aZYJKTOgRs*upvG9Bv@8rG?|cLTfz-(`ApQ;`A- z@-(?~gv5Yiq-*bNY`>qDb2O7`J#1{ZU_tCpF9xq6h*58bp zz1%N3Z2RVS3;JHNQ@CEHxuf2h|M_yGu3T^&l$fCf5hOG!#%uvkxIyYps>D>%OSHEn zaoD0jLg}0ZmT4x}6{Z?~1=7^7y$T%N&J0VG=8`8$0(SxBego2_dRZ@Zj`L5A>s>8h0_DHg|GXkKb20t*zm&?gc;H$T(IlB z8+rjj{b zO)*1Ihuk}fA7%O)M{Kn7dkzD|0NDYT*ECNM2tKwucjGa9jL#0w7U;#5HzQ5Zm8YXw zj--Vlga#9!bitc0@3$9j3>r$90hTey2*_%K=|a1J;xu{+RS&0Q6{mDSTqcmB&%7rLO4-uB>d<~_mBPFa33|f2+fFcn! zj&X3j#fHi#f$paPwAeX2E7ARhmZLi=X9S(cIP;NFL)ba}`Sqi&`iyjwD20Sm#{z?< zl1bVn=U((g$3AHeNc3Xm6xuWf-2-agx5kR?ZVgEEg;Q9bg95mPD-@x;LL|tjsyGET zOIacL$g-$=z2rgW_%D_$%oH(knsoI6sKlS(l*$)NdFF5mhMxYC*)m%bbiag3smW{X<-R}gFgHX)&d?^+Q#~2 zKoLC%Tu1Gc6j~hB^I-mUGreCllJ*Yb41Sbev$YXeUlIwhrm6;jQ?YrcBzu^u_MMW+ z`N+=BPd4Bqs4MJJ#RnfjxD3)zvV9a`b7v0iSZJ9ts3&5iZww(fh+V|GLWn&onf^{# z=R2Cv!4J_`GK#q%^m=B(jHKMr>WIV62)upnoYo{A5>`3YX9YD_IEs4u&$pxBCZFUt zSII-(<}`}dZ{-2Alk$;CT${ChnBQ@z#zLXWAabB*U7hx3(a)Fov_-TgtyD%s#u68zZ;)$acZE zIcremn~&NacufnGza4gMGP|9>JnE*Jo?KPje9UfC@0M2Y+N$C^b9s7`J?Gx+7_bj7 zJ2={8F=EYl%pm2>!;sVVE#jUxm}!F;k*0 zte8WFoaIT+Ry#Cm(1>Qu@;;WeV_Q}-*8TZtvygayLqRj|ff)sMkJfX4s9$}1NXO3unWz0Rmur}8r1c}w)q{2)!JXtCKS z=zV%n8T8vz5uUNPz|G_c4Q z_wIYdkfkKb=M}u&Re`fk2XvkmeYOX@e4_Cmw5A4{tlLhtkXIZ%Tvle*7B|_kaRbm^ z$%|-;u=JnYW*cS&b}`_X6EIaLOn zB66`SmhQX4#^3hhn8Hz9SB z4}AEo^kS3JG?tKToS#TrvGfI~jw}<1F~C(oxzU*()fZ@fs+CzWs=7#HQw@MN4dvg2HH_M+6;I zr>8Pd8vO~~IOS)}&<(Aut(?9C-s@8;jyMKAv;cHb@j-oWkkRDfZ?JI-&d}-NJqqekjAN3nuse8gQ@iG9`l&Ui8N=Xv@uPXcNkGbpfKBt>; zs4X>M^}efqm>WH0e(!$W2bjxAod4_54!VuY_Yqd_sA+?F`}G6uHuLDSkP(C#`{p!q zrU}>vN)@lQt*~@ExcZZ+@mCSnuO3_ySnXq9VpwfZT@ne-@D@WV8Mh#n=>H%VCblWS|l%sa&Zk~DZFU0bC{A;?)eZnXf52|4l*IH z=bS0H_Bjl)L{BbFI>o`L3+t*_o8~qn_VEu#c_vH3MO-F{g*lYyn56}hb&$)L?bW8u zf6?z_M2TH*+*Y#`XR>}t97Yvbn$?6RCoL$#C30N`T5}stz2E0U^PE-jbze#WG6d6C zu}cMQ$|gjh<=W2m1UCKVW)}25@M(Hr(R7wcPKVDvuS&N*JEoF|+EgDC-nAy4N7j{P zMN))9Bn~N+%?Yp4dh(PPtcp1~tCvH!Fh?B+y*@PthBp_-(z6Xs;vSm1#D;+rrC)P5mzpgJfD+!$w4y(2E=E^L>8rSz~e8RaCEN( zS?W_?Q+D81UYO5=XM@KU*@8Q@hoj6EiqMFSx?b$`1~%k|$j+s6P_EUfQ3>o*-cWjy ziTguM29KPCjrQ}HF1CvMf54~aUx2=czzHv>{qteBe^21Q@BeW0O-<>q4E}ly=ieRg z?uBqG`O~4C-#h;GXu_X64#2me|L=nezw`OMUj2*H4|w75x9aupoqw+}{^}eKul2w? z|E=QqJBQz^KfgHe;QZ(H|G!$$?+kx0ru<^a2lrZVk$x|&{LbL_Ox7<3XT<-~=|6d` z-@E>v1o%@|cuwGtvHU}sUnzm#x%@Sn`^5tQ0K=0De~ayY@BX_N{>9*m_NNfP`QU%_ o$-guG>(c#;CHzL>)zO%6-*!Ui=!|46?wenR>dF~{7Tae^!PE#A)WQ&I73l~2 z0T*;clLG8Asdl_xjH=0;rRzoAq^rUFP!T~kxfpH5E^K?NZ-r6epraQ(dNJq{ylE*< zYCa~Ssbsff@SByv6;%qWhl}9UZ@pd3@{=pb_tA^K^c4Rt6xqRRhq1yHz2oLh6+0Z` zPi95Cn(yO-$+M|higFV{>ayJf=WR~3wtCAI`j*(mK47x6!e*L{3q*?$1N3}jF`NJ3 zyg_B_JfD-njO!R&4{@+Mhq>Rw13W_>3_)$~#{hJd6CzgQEAqW3%TFQD3pJaW9HHcEU9MO=S) zQJ)s?AA^fa+!4F|B$sO}W#O1$F0wk8@}Q&}J11mn3j0J6yRxs{Po1YPrY}=OCEQ*) zw?t8wek#h599SU}nLH7y#2BMj!F~KJA3q3-C&gF2S4wSJ|N95HX#s_U@}P?PH`%*! zV`)CKi3K}oydfNr{m&`S`yKR6=0AA$TasK{<0>hba+p=5wLQD@ zq?1nXmnUVx{Qi1OwC`p1g^zj-%gIoNTlbsCU8ViU1AgH|Ma!@}^>-(cC@#>ufvt!r zJOF?TK!J0$WcZh#xY*cR=-b#>{LEqh@fkQ+B7>p)cOT8MBj(+Vz<{H`R{x0>yV!f# zK~4{v9Or8UWKPReud4778W++= zYoBOe$*5crhtx7RUZFpSidB@;Gq8=#SxCzmHt~@bv&-wIbos|CYT&aNz0H

h0rq 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 a9dBhN5n&wpxfcl)&HX_Wu9_+4e{P literal 0 HcmV?d00001 diff --git a/Settings/Base/Archive/Ind30Pro40v1_BaseSectorClassification.xlsx b/Settings/Base/Archive/Ind30Pro40v1_BaseSectorClassification.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..a04fac4d474aa28aaf53008e41f186412326dcdf GIT binary patch literal 23985 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 A+yDRo literal 0 HcmV?d00001 diff --git a/Settings/Base/Archive/PIOLab_RootClassification_OLD.xlsx b/Settings/Base/Archive/PIOLab_RootClassification_OLD.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..390d01318b46670ab933155c894061435f494c59 GIT binary patch literal 40027 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 literal 0 HcmV?d00001 diff --git a/Settings/Base/IE_settings.xlsx b/Settings/Base/IE_settings.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..ad85d11d2fd2610b1d523f466039b85054a78bcb GIT binary patch literal 11137 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 F{{dYyKFt6C literal 0 HcmV?d00001 diff --git a/Settings/Root/Legends/Archive/._RootSectorLegend.xlsx b/Settings/Root/Legends/Archive/._RootSectorLegend.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..4478dc50afebc6244d1774efe161f749bdf84096 GIT binary patch literal 4096 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDJkFz{^v(m+1nBL)UWIUt(=a103vn(DUk zG(-o(0ibd{G%X<0LE-`o3{uJYxq68O1v#mDIf=z3rNyZ!DTyVi$^pSpJr{s9&{k1| zy28@LqQtzC%)C^FZuwKOAa!30{|SO<0|N^qYtxjZG&2*+G;80?VLRbWEkZB G{|5jWoIj5M literal 0 HcmV?d00001 diff --git a/Settings/Root/Legends/Archive/.~lock.RootRegionLegend.xlsx# b/Settings/Root/Legends/Archive/.~lock.RootRegionLegend.xlsx# new file mode 100644 index 0000000..80fff98 --- /dev/null +++ b/Settings/Root/Legends/Archive/.~lock.RootRegionLegend.xlsx# @@ -0,0 +1 @@ +,hwie3321,gateway.physics.usyd.edu.au,26.02.2020 13:19,file:///suphys/hwie3321/.config/libreoffice/4; \ No newline at end of file diff --git a/Settings/Root/Legends/Archive/RootRegionLegend.xlsx b/Settings/Root/Legends/Archive/RootRegionLegend.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..40e765e4f459c800c5393c3c1a5add8913256831 GIT binary patch literal 31572 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 literal 0 HcmV?d00001 diff --git a/Settings/Root/Legends/Archive/RootSectorLegend.xlsx b/Settings/Root/Legends/Archive/RootSectorLegend.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..6ad69b840bcc10805891137ef8c35350a0b876fe GIT binary patch literal 281795 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넫w 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 z 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 literal 0 HcmV?d00001 diff --git a/Settings/Root/Legends/PIOLab_RootClassification.xlsx b/Settings/Root/Legends/PIOLab_RootClassification.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..2c298f17826e066ec568c453c478076da5a63694 GIT binary patch literal 45199 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

Q*C)krA-Wgs0 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

kh07z)9>FuKgvn#QGH~}Ue}h+MjK-m9 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 bHUB+3f|XDay9)r^MSNZ$D!B6fAHV(&k?{&R literal 0 HcmV?d00001 diff --git a/Settings/datafeeds_settings/WSA_settings.xlsx b/Settings/datafeeds_settings/WSA_settings.xlsx index 1448156f0c41c2d2105836efd92f0be2ebbc2a71..ca3c754c7b899f233b4ad48c6abf89da5122c25b 100644 GIT binary patch delta 5362 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 JUUB?=`X33&!nOba delta 6026 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 G0r($K)$U^e literal 0 HcmV?d00001 diff --git a/datafeeds_code/Archive/datafeed_PIOLab_IRPexports.m b/datafeeds_code/Archive/datafeed_PIOLab_IRPexports.m new file mode 100644 index 0000000..468137a --- /dev/null +++ b/datafeeds_code/Archive/datafeed_PIOLab_IRPexports.m @@ -0,0 +1,5 @@ +function datafeed_PIOLab_IRPexports(handles) + +system('Rscript /import/emily1/isa/IELab/Roots/PIOLab/Rscripts/datafeeds_code/datafeed_PIOLab_IRPexports.R','-echo'); + +end \ No newline at end of file diff --git a/datafeeds_code/Archive/datafeed_PIOLab_IRPimports.m b/datafeeds_code/Archive/datafeed_PIOLab_IRPimports.m new file mode 100644 index 0000000..7ec22a9 --- /dev/null +++ b/datafeeds_code/Archive/datafeed_PIOLab_IRPimports.m @@ -0,0 +1,5 @@ +function datafeed_PIOLab_IRPimports(handles) + +system('Rscript /import/emily1/isa/IELab/Roots/PIOLab/Rscripts/datafeeds_code/datafeed_PIOLab_IRPimports.R','-echo'); + +end \ No newline at end of file