From 68eb8cfc62a8c9279f147271bf257a9e5e40ad51 Mon Sep 17 00:00:00 2001 From: Falk Benke Date: Thu, 12 Mar 2026 15:09:24 +0100 Subject: [PATCH 01/16] use updated structure mapping and IEA postprocessing in calcEnergyBalancesOutputToIndustry --- R/calcEnergyBalancesOutputToIndustry.R | 21 +++------------------ 1 file changed, 3 insertions(+), 18 deletions(-) diff --git a/R/calcEnergyBalancesOutputToIndustry.R b/R/calcEnergyBalancesOutputToIndustry.R index 5ce6593d..a63429f1 100644 --- a/R/calcEnergyBalancesOutputToIndustry.R +++ b/R/calcEnergyBalancesOutputToIndustry.R @@ -5,8 +5,8 @@ calcEnergyBalancesOutputToIndustry <- function() { ieamatch <- toolGetMapping(type = "sectoral", - name = "structuremappingIO_outputs_Industry_subsectors.csv", - where = "mrindustry", + name = "structuremappingIO_outputs.csv", + where = "mrcommons", returnPathOnly = FALSE) target <- c("REMINDitems_in", "REMINDitems_out", "REMINDitems_tech") @@ -20,22 +20,7 @@ calcEnergyBalancesOutputToIndustry <- function() { data <- readSource("IEA", subtype = "EnergyBalances") * 4.1868e-5 # apply corrections to IEA data to cope with fragmentary time series - namesBefore <- getNames(data) - data <- tool_fix_IEA_data_for_Industry_subsectors(data) - - # warn if product flows not present in the mapping have been added to the data - newItems <- setdiff(getNames(data), namesBefore) - productFlows <- unique(pull(ieamatch, "product.flow")) - newProductFlows <- setdiff(newItems, productFlows) - - # FIXME: investigate, as these product flows mean potential losses after mapping - if (!rlang::is_empty(newProductFlows)) { - message("Product/flow combinations not present in mapping added by ", - "fix_IEA_data_for_Industry_subsectors():\n", - paste(newProductFlows, collapse = "\n") - ) - } - + data <- toolFixIEAdataForIndustrySubsectors(data, fixing = TRUE) reminditems <- do.call( mbind, From 31bf80e73e76a7664f1e41343d6dfb5e2a43a287 Mon Sep 17 00:00:00 2001 From: Falk Benke Date: Thu, 12 Mar 2026 15:25:04 +0100 Subject: [PATCH 02/16] remove no longer used industry IEA mapping --- ...emappingIO_outputs_Industry_subsectors.csv | 3405 ----------------- 1 file changed, 3405 deletions(-) delete mode 100755 inst/extdata/sectoral/structuremappingIO_outputs_Industry_subsectors.csv diff --git a/inst/extdata/sectoral/structuremappingIO_outputs_Industry_subsectors.csv b/inst/extdata/sectoral/structuremappingIO_outputs_Industry_subsectors.csv deleted file mode 100755 index 09af9b17..00000000 --- a/inst/extdata/sectoral/structuremappingIO_outputs_Industry_subsectors.csv +++ /dev/null @@ -1,3405 +0,0 @@ -iea_product;iea_flows;REMINDitems_in;REMINDitems_out;REMINDitems_tech;Weight;Comment -ADDITIVE;EXPORTS;;;;; -ADDITIVE;IMPORTS;;;;; -ADDITIVE;INDPROD;;;;; -ADDITIVE;NEINTREN;;;;; -ADDITIVE;NONENUSE;seliqfos;feli_chemicals;tdli_chemicals;1; -ADDITIVE;STATDIFF;;;;; -ADDITIVE;STOCKCHA;;;;; -ADDITIVE;TES;;;;; -ADDITIVE;TFC;peoil;seliqfos;refliq;1; -ADDITIVE;TOTTRANF;;;;; -ADDITIVE;TRANSFER;;;;; -ADDITIVE;TREFINER;;;;; -ANTCOAL;AGRICULT;sesofos;feso_otherInd;tdso_otherInd;1; -ANTCOAL;AUTOCHP;;;;; -ANTCOAL;AUTOELEC;;;;; -ANTCOAL;AUTOHEAT;;;;; -ANTCOAL;CHEMICAL;sesofos;feso_chemicals;tdso_chemicals;1; -ANTCOAL;COMMPUB;sesofos;fesob;tdfossob;1; -ANTCOAL;CONSTRUC;sesofos;feso_otherInd;tdso_otherInd;1; -ANTCOAL;DISTLOSS;pecoal;sesofos;coaltr;-1; -ANTCOAL;EBLASTFUR;sesofos;feso_steel;tdso_steel;-1; -ANTCOAL;ECOKEOVS;;;;; -ANTCOAL;ELAUTOC;pecoal;seel;coalchp;1; -ANTCOAL;ELAUTOE;pecoal;seel;pc;1; -ANTCOAL;ELMAINC;pecoal;seel;coalchp;1; -ANTCOAL;ELMAINE;pecoal;seel;pc;1; -ANTCOAL;ELOUTPUT;;;;; -ANTCOAL;EMINES;;;;; -ANTCOAL;ENONSPEC;;;;; -ANTCOAL;EPATFUEL;;;;; -ANTCOAL;EPOWERPLT;;;;; -ANTCOAL;EXPORTS;;;;; -ANTCOAL;FOODPRO;sesofos;feso_otherInd;tdso_otherInd;1; -ANTCOAL;HEATOUT;;;;; -ANTCOAL;HEAUTOC;pecoal;sehe;coalchp;1; -ANTCOAL;HEAUTOH;pecoal;sehe;coalhp;1; -ANTCOAL;HEMAINC;pecoal;sehe;coalchp;1; -ANTCOAL;HEMAINH;pecoal;sehe;coalhp;1; -ANTCOAL;IMPORTS;;;;; -ANTCOAL;INDPROD;;;;; -ANTCOAL;INONSPEC;sesofos;feso_otherInd;tdso_otherInd;1; -ANTCOAL;IRONSTL;sesofos;feso_steel;tdso_steel;1; -ANTCOAL;MACHINE;sesofos;feso_otherInd;tdso_otherInd;1; -ANTCOAL;MAINCHP;;;;; -ANTCOAL;MAINELEC;;;;; -ANTCOAL;MAINHEAT;;;;; -ANTCOAL;MANUFACT;;;;; -ANTCOAL;MINING;sesofos;feso_otherInd;tdso_otherInd;1; -ANTCOAL;NECHEM;;;;; -ANTCOAL;NEINTREN;;;;; -ANTCOAL;NEOTHER;;;;; -ANTCOAL;NONENUSE;sesofos;feso_chemicals;tdso_chemicals;1; -ANTCOAL;NONFERR;sesofos;feso_otherInd;tdso_otherInd;1; -ANTCOAL;NONMET;sesofos;feso_cement;tdso_cement;1; -ANTCOAL;ONONSPEC;sesofos;fesob;tdfossob;1; -ANTCOAL;PAPERPRO;sesofos;feso_otherInd;tdso_otherInd;1; -ANTCOAL;RAIL;sesofos;feso_otherInd;tdso_otherInd;1; -ANTCOAL;RESIDENT;sesofos;fesob;tdfossob;1; -ANTCOAL;STATDIFF;;;;; -ANTCOAL;STOCKCHA;;;;; -ANTCOAL;TBLASTFUR;pecoal;sesofos;coaltr;-1; -ANTCOAL;TBLASTFUR;sesofos;feso_steel;tdso_steel;-1; -ANTCOAL;TBLENDGAS;;;;; -ANTCOAL;TCOKEOVS;;;;; -ANTCOAL;TES;;;;; -ANTCOAL;TEXTILES;sesofos;feso_otherInd;tdso_otherInd;1; -ANTCOAL;TFC;pecoal;sesofos;coaltr;1; -ANTCOAL;TGASWKS;;;;; -ANTCOAL;TNONSPEC;;;;; -ANTCOAL;TOTENGY;;;;; -ANTCOAL;TOTIND;;;;; -ANTCOAL;TOTTRANF;;;;; -ANTCOAL;TOTTRANS;;;;; -ANTCOAL;TPATFUEL;;;;; -ANTCOAL;TRANSEQ;sesofos;feso_otherInd;tdso_otherInd;1; -ANTCOAL;TRANSFER;;;;; -ANTCOAL;TREFINER;;;;; -ANTCOAL;TRNONSPE;;;;; -ANTCOAL;WOODPRO;sesofos;feso_otherInd;tdso_otherInd;1; -AVGAS;AGRICULT;seliqfos;feli_otherInd;tdli_otherInd;1; -AVGAS;AVBUNK;peoil;seliqfos;refliq;-1; -AVGAS;AVBUNK;seliqfos;fedie;tdfosdie;-1; -AVGAS;CHEMICAL;seliqfos;feli_chemicals;tdli_chemicals;1; -AVGAS;COMMPUB;seliqfos;fehob;tdfoshob;1; -AVGAS;CONSTRUC;seliqfos;feli_otherInd;tdli_otherInd;1; -AVGAS;DISTLOSS;peoil;seliqfos;refliq;-1; -AVGAS;DOMESAIR;seliqfos;fedie;tdfosdie;1; -AVGAS;ENONSPEC;;;;; -AVGAS;EREFINER;;;;; -AVGAS;EXPORTS;;;;; -AVGAS;FOODPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -AVGAS;IMPORTS;;;;; -AVGAS;INONSPEC;seliqfos;feli_otherInd;tdli_otherInd;1; -AVGAS;IRONSTL;seliqfos;feli_steel;tdli_steel;1; -AVGAS;MACHINE;seliqfos;feli_otherInd;tdli_otherInd;1; -AVGAS;MANUFACT;;;;; -AVGAS;MARBUNK;peoil;seliqfos;refliq;-1; -AVGAS;MARBUNK;seliqfos;fedie;tdfosdie;-1; -AVGAS;MINING;seliqfos;feli_otherInd;tdli_otherInd;1; -AVGAS;NETRANS;;;;; -AVGAS;NONENUSE;seliqfos;feli_chemicals;tdli_chemicals;1; -AVGAS;NONFERR;seliqfos;feli_otherInd;tdli_otherInd;1; -AVGAS;NONMET;seliqfos;feli_cement;tdli_cement;1; -AVGAS;ONONSPEC;seliqfos;fehob;tdfoshob;1; -AVGAS;PAPERPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -AVGAS;ROAD;seliqfos;fedie;tdfosdie;1; -AVGAS;STATDIFF;;;;; -AVGAS;STOCKCHA;;;;; -AVGAS;TES;;;;; -AVGAS;TEXTILES;seliqfos;feli_otherInd;tdli_otherInd;1; -AVGAS;TFC;peoil;seliqfos;refliq;1; -AVGAS;TOTENGY;;;;; -AVGAS;TOTIND;;;;; -AVGAS;TOTTRANF;;;;; -AVGAS;TOTTRANS;;;;; -AVGAS;TRANSEQ;seliqfos;feli_otherInd;tdli_otherInd;1; -AVGAS;TRANSFER;;;;; -AVGAS;TREFINER;;;;; -AVGAS;TRNONSPE;seliqfos;fedie;tdfosdie;1; -AVGAS;WOODPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -BIODIESEL;AGRICULT;seliqbio;feli_otherInd;tdli_otherInd;1; -BIODIESEL;AUTOCHP;;;;; -BIODIESEL;AUTOELEC;;;;; -BIODIESEL;AUTOHEAT;;;;; -BIODIESEL;AVBUNK;seliqbio;fedie;tdbiodie;-1; -BIODIESEL;CHEMICAL;seliqbio;feli_chemicals;tdli_chemicals;1; -BIODIESEL;COMMPUB;seliqbio;fehob;tdbiohob;1; -BIODIESEL;CONSTRUC;seliqbio;feli_otherInd;tdli_otherInd;1; -BIODIESEL;DISTLOSS;;;;; -BIODIESEL;DOMESNAV;seliqbio;fedie;tdbiodie;1; -BIODIESEL;EBLASTFUR;seliqbio;feli_steel;tdli_steel;-1; -BIODIESEL;ELAUTOC;pebiolc;seel;biochp;1; -BIODIESEL;ELAUTOE;pebiolc;seel;bioigcc;1; -BIODIESEL;ELMAINC;pebiolc;seel;biochp;1; -BIODIESEL;ELMAINE;pebiolc;seel;bioigcc;1; -BIODIESEL;ELOUTPUT;;;;; -BIODIESEL;EMINES;;;;; -BIODIESEL;ENONSPEC;;;;; -BIODIESEL;EOILGASEX;;;;; -BIODIESEL;EREFINER;;;;; -BIODIESEL;EXPORTS;;;;; -BIODIESEL;FISHING;seliqbio;feli_otherInd;tdli_otherInd;1; -BIODIESEL;FOODPRO;seliqbio;feli_otherInd;tdli_otherInd;1; -BIODIESEL;HEATOUT;;;;; -BIODIESEL;HEAUTOC;pebiolc;sehe;biochp;1; -BIODIESEL;HEMAINC;pebiolc;sehe;biochp;1; -BIODIESEL;HEMAINH;pebiolc;sehe;biohp;1; -BIODIESEL;IMPORTS;;;;; -BIODIESEL;INDPROD;;;;; -BIODIESEL;INONSPEC;seliqbio;feli_otherInd;tdli_otherInd;1; -BIODIESEL;IRONSTL;seliqbio;feli_steel;tdli_steel;1; -BIODIESEL;MACHINE;seliqbio;feli_otherInd;tdli_otherInd;1; -BIODIESEL;MAINCHP;;;;; -BIODIESEL;MAINELEC;;;;; -BIODIESEL;MAINHEAT;;;;; -BIODIESEL;MANUFACT;;;;; -BIODIESEL;MARBUNK;seliqbio;fedie;tdbiodie;-1; -BIODIESEL;MINING;seliqbio;feli_otherInd;tdli_otherInd;1; -BIODIESEL;NONFERR;seliqbio;feli_otherInd;tdli_otherInd;1; -BIODIESEL;NONMET;seliqbio;feli_cement;tdli_cement;1; -BIODIESEL;ONONSPEC;seliqbio;fehob;tdbiohob;1; -BIODIESEL;PAPERPRO;seliqbio;feli_otherInd;tdli_otherInd;1; -BIODIESEL;RAIL;seliqbio;fedie;tdbiodie;1; -BIODIESEL;RESIDENT;seliqbio;fehob;tdbiohob;1; -BIODIESEL;ROAD;seliqbio;fedie;tdbiodie;1; -BIODIESEL;STATDIFF;;;;; -BIODIESEL;STOCKCHA;;;;; -BIODIESEL;TBLASTFUR;seliqbio;feli_steel;tdli_steel;-1; -BIODIESEL;TES;;;;; -BIODIESEL;TEXTILES;seliqbio;feli_otherInd;tdli_otherInd;1; -BIODIESEL;TFC;pebioil;seliqbio;biodiesel;1; -BIODIESEL;TGASWKS;seliqbio;feli_otherInd;tdli_otherInd;-1; -BIODIESEL;TNONSPEC;;;;; -BIODIESEL;TOTENGY;;;;; -BIODIESEL;TOTIND;;;;; -BIODIESEL;TOTTRANF;;;;; -BIODIESEL;TOTTRANS;;;;; -BIODIESEL;TPETCHEM;;;;; -BIODIESEL;TRANSEQ;seliqbio;feli_otherInd;tdli_otherInd;1; -BIODIESEL;TRANSFER;;;;; -BIODIESEL;TRNONSPE;seliqbio;fedie;tdbiodie;1; -BIODIESEL;WOODPRO;seliqbio;feli_otherInd;tdli_otherInd;1; -BIOGASES;AGRICULT;segabio;fega_otherInd;tdga_otherInd;1; -BIOGASES;AUTOCHP;;;;; -BIOGASES;AUTOELEC;;;;; -BIOGASES;AUTOHEAT;;;;; -BIOGASES;CHEMICAL;segabio;fega_chemicals;tdga_chemicals;1; -BIOGASES;COMMPUB;segabio;fegab;tdbiogab;1; -BIOGASES;CONSTRUC;segabio;fega_otherInd;tdga_otherInd;1; -BIOGASES;DISTLOSS;pebiolc;segabio;biogas;-1; -BIOGASES;DOMESNAV;segabio;fegat;tdbiogat;1; -BIOGASES;EBIOGAS;;;;; -BIOGASES;EGASWKS;;;;; -BIOGASES;ELAUTOC;pebiolc;seel;biochp;1; -BIOGASES;ELAUTOE;pebiolc;seel;bioigcc;1; -BIOGASES;ELMAINC;pebiolc;seel;biochp;1; -BIOGASES;ELMAINE;pebiolc;seel;bioigcc;1; -BIOGASES;ELOUTPUT;;;;; -BIOGASES;ENONSPEC;;;;; -BIOGASES;EPOWERPLT;;;;; -BIOGASES;EREFINER;segabio;fega_chemicals;tdga_chemicals;-1; -BIOGASES;EXPORTS;;;;; -BIOGASES;FISHING;segabio;fega_otherInd;tdga_otherInd;1; -BIOGASES;FOODPRO;segabio;fega_otherInd;tdga_otherInd;1; -BIOGASES;HEATOUT;;;;; -BIOGASES;HEAUTOC;pebiolc;sehe;biochp;1; -BIOGASES;HEAUTOH;pebiolc;sehe;biohp;1; -BIOGASES;HEMAINC;pebiolc;sehe;biochp;1; -BIOGASES;HEMAINH;pebiolc;sehe;biohp;1; -BIOGASES;IMPORTS;;;;; -BIOGASES;INDPROD;;;;; -BIOGASES;INONSPEC;segabio;fega_otherInd;tdga_otherInd;1; -BIOGASES;IRONSTL;segabio;fega_steel;tdga_steel;1; -BIOGASES;MACHINE;segabio;fega_otherInd;tdga_otherInd;1; -BIOGASES;MAINCHP;;;;; -BIOGASES;MAINELEC;;;;; -BIOGASES;MAINHEAT;;;;; -BIOGASES;MANUFACT;;;;; -BIOGASES;MINING;segabio;fega_otherInd;tdga_otherInd;1; -BIOGASES;NONFERR;segabio;fega_otherInd;tdga_otherInd;1; -BIOGASES;NONMET;segabio;fega_cement;tdga_cement;1; -BIOGASES;ONONSPEC;segabio;fegab;tdbiogab;1; -BIOGASES;PAPERPRO;segabio;fega_otherInd;tdga_otherInd;1; -BIOGASES;PIPELINE;;;;; -BIOGASES;RESIDENT;segabio;fegab;tdbiogab;1; -BIOGASES;ROAD;segabio;fegat;tdbiogat;1; -BIOGASES;STATDIFF;;;;; -BIOGASES;STOCKCHA;;;;; -BIOGASES;TBLENDGAS;;;;; -BIOGASES;TES;;;;; -BIOGASES;TEXTILES;segabio;fega_otherInd;tdga_otherInd;1; -BIOGASES;TFC;pebiolc;segabio;biogas;1; -BIOGASES;TNONSPEC;;;;; -BIOGASES;TOTENGY;;;;; -BIOGASES;TOTIND;;;;; -BIOGASES;TOTTRANF;;;;; -BIOGASES;TOTTRANS;;;;; -BIOGASES;TRANSEQ;segabio;fega_otherInd;tdga_otherInd;1; -BIOGASES;TRNONSPE;segabio;fegat;tdbiogat;1; -BIOGASES;WOODPRO;segabio;fega_otherInd;tdga_otherInd;1; -BIOGASOL;AGRICULT;seliqbio;feli_otherInd;tdli_otherInd;1; -BIOGASOL;AUTOELEC;;;;; -BIOGASOL;CHEMICAL;seliqbio;feli_chemicals;tdli_chemicals;1; -BIOGASOL;COMMPUB;seliqbio;fehob;tdbiohob;1; -BIOGASOL;CONSTRUC;seliqbio;feli_otherInd;tdli_otherInd;1; -BIOGASOL;DISTLOSS;;;;; -BIOGASOL;DOMESNAV;seliqbio;fedie;tdbiodie;1; -BIOGASOL;ELAUTOC;pebiolc;seel;biochp;1; -BIOGASOL;ELAUTOE;pebiolc;seel;bioigcc;1; -BIOGASOL;ELMAINC;pebiolc;seel;biochp;1; -BIOGASOL;ELMAINE;pebiolc;seel;bioigcc;1; -BIOGASOL;ELOUTPUT;;;;; -BIOGASOL;EXPORTS;;;;; -BIOGASOL;FISHING;seliqbio;feli_otherInd;tdli_otherInd;1; -BIOGASOL;FOODPRO;seliqbio;feli_otherInd;tdli_otherInd;1; -BIOGASOL;HEAUTOC;pebiolc;sehe;biochp;1; -BIOGASOL;HEMAINC;pebiolc;sehe;biochp;1; -BIOGASOL;IMPORTS;;;;; -BIOGASOL;INDPROD;;;;; -BIOGASOL;INONSPEC;seliqbio;feli_otherInd;tdli_otherInd;1; -BIOGASOL;IRONSTL;seliqbio;feli_steel;tdli_steel;1; -BIOGASOL;MACHINE;seliqbio;feli_otherInd;tdli_otherInd;1; -BIOGASOL;MAINELEC;;;;; -BIOGASOL;MANUFACT;;;;; -BIOGASOL;MINING;seliqbio;feli_otherInd;tdli_otherInd;1; -BIOGASOL;NONFERR;seliqbio;feli_otherInd;tdli_otherInd;1; -BIOGASOL;NONMET;seliqbio;feli_cement;tdli_cement;1; -BIOGASOL;ONONSPEC;seliqbio;fehob;tdbiohob;1; -BIOGASOL;PAPERPRO;seliqbio;feli_otherInd;tdli_otherInd;1; -BIOGASOL;RESIDENT;seliqbio;fehob;tdbiohob;1; -BIOGASOL;ROAD;seliqbio;fepet;tdbiopet;1; -BIOGASOL;STATDIFF;;;;; -BIOGASOL;STOCKCHA;;;;; -BIOGASOL;TES;;;;; -BIOGASOL;TEXTILES;seliqbio;feli_otherInd;tdli_otherInd;1; -BIOGASOL;TFC;pebios;seliqbio;bioeths;1; -BIOGASOL;TOTIND;;;;; -BIOGASOL;TOTTRANF;;;;; -BIOGASOL;TOTTRANS;;;;; -BIOGASOL;TRANSEQ;seliqbio;feli_otherInd;tdli_otherInd;1; -BIOGASOL;TRANSFER;;;;; -BIOGASOL;TRNONSPE;seliqbio;fedie;tdbiodie;1; -BIOGASOL;WOODPRO;seliqbio;feli_otherInd;tdli_otherInd;1; -BIOJETKERO;AVBUNK;;;;; -BIOJETKERO;DOMESAIR;;;;; -BIOJETKERO;EXPORTS;;;;; -BIOJETKERO;IMPORTS;;;;; -BIOJETKERO;INDPROD;;;;; -BIOJETKERO;STATDIFF;;;;; -BIOJETKERO;STOCKCHA;;;;; -BIOJETKERO;TES;;;;; -BIOJETKERO;TFC;;;;; -BIOJETKERO;TOTTRANS;;;;; -BITCOAL;AGRICULT;sesofos;feso_otherInd;tdso_otherInd;1; -BITCOAL;AUTOCHP;;;;; -BITCOAL;AUTOELEC;;;;; -BITCOAL;AUTOHEAT;;;;; -BITCOAL;CHEMICAL;sesofos;feso_chemicals;tdso_chemicals;1; -BITCOAL;COMMPUB;sesofos;fesob;tdfossob;1; -BITCOAL;CONSTRUC;sesofos;feso_otherInd;tdso_otherInd;1; -BITCOAL;DISTLOSS;pecoal;sesofos;coaltr;-1; -BITCOAL;DOMESNAV;;;;; -BITCOAL;EBLASTFUR;sesofos;feso_steel;tdso_steel;-1; -BITCOAL;ECOALLIQ;;;;; -BITCOAL;ECOKEOVS;;;;; -BITCOAL;EGASWKS;;;;; -BITCOAL;ELAUTOC;pecoal;seel;coalchp;1; -BITCOAL;ELAUTOE;pecoal;seel;pc;1; -BITCOAL;ELMAINC;pecoal;seel;coalchp;1; -BITCOAL;ELMAINE;pecoal;seel;pc;1; -BITCOAL;ELOUTPUT;;;;; -BITCOAL;EMINES;;;;; -BITCOAL;ENONSPEC;;;;; -BITCOAL;EPATFUEL;;;;; -BITCOAL;EPOWERPLT;;;;; -BITCOAL;EREFINER;;;;; -BITCOAL;EXPORTS;;;;; -BITCOAL;FISHING;sesofos;feso_otherInd;tdso_otherInd;1; -BITCOAL;FOODPRO;sesofos;feso_otherInd;tdso_otherInd;1; -BITCOAL;HEATOUT;;;;; -BITCOAL;HEAUTOC;pecoal;sehe;coalchp;1; -BITCOAL;HEAUTOH;pecoal;sehe;coalhp;1; -BITCOAL;HEMAINC;pecoal;sehe;coalchp;1; -BITCOAL;HEMAINH;pecoal;sehe;coalhp;1; -BITCOAL;IMPORTS;;;;; -BITCOAL;INDPROD;;;;; -BITCOAL;INONSPEC;sesofos;feso_otherInd;tdso_otherInd;1; -BITCOAL;IRONSTL;sesofos;feso_steel;tdso_steel;1; -BITCOAL;MACHINE;sesofos;feso_otherInd;tdso_otherInd;1; -BITCOAL;MAINCHP;;;;; -BITCOAL;MAINELEC;;;;; -BITCOAL;MAINHEAT;;;;; -BITCOAL;MANUFACT;;;;; -BITCOAL;MINING;sesofos;feso_otherInd;tdso_otherInd;1; -BITCOAL;NECHEM;;;;; -BITCOAL;NEINTREN;;;;; -BITCOAL;NEOTHER;;;;; -BITCOAL;NONENUSE;sesofos;feso_chemicals;tdso_chemicals;1; -BITCOAL;NONFERR;sesofos;feso_otherInd;tdso_otherInd;1; -BITCOAL;NONMET;sesofos;feso_cement;tdso_cement;1; -BITCOAL;ONONSPEC;sesofos;fesob;tdfossob;1; -BITCOAL;PAPERPRO;sesofos;feso_otherInd;tdso_otherInd;1; -BITCOAL;RAIL;sesofos;feso_otherInd;tdso_otherInd;1; -BITCOAL;RESIDENT;sesofos;fesob;tdfossob;1; -BITCOAL;STATDIFF;;;;; -BITCOAL;STOCKCHA;;;;; -BITCOAL;TBKB;;;;; -BITCOAL;TBLASTFUR;pecoal;sesofos;coaltr;-1; -BITCOAL;TBLASTFUR;sesofos;feso_steel;tdso_steel;-1; -BITCOAL;TBLENDGAS;;;;; -BITCOAL;TCOALLIQ;;;;; -BITCOAL;TCOKEOVS;;;;; -BITCOAL;TES;;;;; -BITCOAL;TEXTILES;sesofos;feso_otherInd;tdso_otherInd;1; -BITCOAL;TFC;pecoal;sesofos;coaltr;1; -BITCOAL;TGASWKS;;;;; -BITCOAL;TGTL;;;;; -BITCOAL;TNONSPEC;;;;; -BITCOAL;TOTENGY;;;;; -BITCOAL;TOTIND;;;;; -BITCOAL;TOTTRANF;;;;; -BITCOAL;TOTTRANS;;;;; -BITCOAL;TPATFUEL;;;;; -BITCOAL;TRANSEQ;sesofos;feso_otherInd;tdso_otherInd;1; -BITCOAL;TRANSFER;;;;; -BITCOAL;TREFINER;;;;; -BITCOAL;TRNONSPE;;;;; -BITCOAL;WOODPRO;sesofos;feso_otherInd;tdso_otherInd;1; -BITUMEN;AUTOELEC;;;;; -BITUMEN;CHEMICAL;seliqfos;feli_chemicals;tdli_chemicals;1; -BITUMEN;COMMPUB;seliqfos;fehob;tdfoshob;1; -BITUMEN;CONSTRUC;seliqfos;feli_otherInd;tdli_otherInd;1; -BITUMEN;DISTLOSS;peoil;seliqfos;refliq;-1; -BITUMEN;ELAUTOC;;;;; -BITUMEN;ELAUTOE;peoil;seel;dot;1; -BITUMEN;ELMAINC;;;;; -BITUMEN;ELMAINE;peoil;seel;dot;1; -BITUMEN;ELOUTPUT;;;;; -BITUMEN;ENONSPEC;;;;; -BITUMEN;EOILGASEX;;;;; -BITUMEN;EPOWERPLT;;;;; -BITUMEN;EREFINER;;;;; -BITUMEN;EXPORTS;;;;; -BITUMEN;FOODPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -BITUMEN;HEATOUT;;;;; -BITUMEN;HEAUTOC;;;;; -BITUMEN;HEMAINC;;;;; -BITUMEN;IMPORTS;;;;; -BITUMEN;INONSPEC;seliqfos;feli_otherInd;tdli_otherInd;1; -BITUMEN;IRONSTL;seliqfos;feli_steel;tdli_steel;1; -BITUMEN;MACHINE;seliqfos;feli_otherInd;tdli_otherInd;1; -BITUMEN;MAINELEC;;;;; -BITUMEN;MANUFACT;;;;; -BITUMEN;MARBUNK;peoil;seliqfos;refliq;-1; -BITUMEN;MARBUNK;seliqfos;fedie;tdfosdie;-1; -BITUMEN;MINING;seliqfos;feli_otherInd;tdli_otherInd;1; -BITUMEN;NECHEM;;;;; -BITUMEN;NECONSTRUC;;;;; -BITUMEN;NEFOODPRO;;;;; -BITUMEN;NEIND;;;;; -BITUMEN;NEINONSPEC;;;;; -BITUMEN;NEINTREN;;;;; -BITUMEN;NEIRONSTL;;;;; -BITUMEN;NEMACHINE;;;;; -BITUMEN;NEMINING;;;;; -BITUMEN;NENONFERR;;;;; -BITUMEN;NENONMET;;;;; -BITUMEN;NEOTHER;;;;; -BITUMEN;NEPAPERPRO;;;;; -BITUMEN;NETEXTILES;;;;; -BITUMEN;NETRANS;;;;; -BITUMEN;NETRANSEQ;;;;; -BITUMEN;NEWOODPRO;;;;; -BITUMEN;NONENUSE;seliqfos;fehoi_cs;tdhoi_cs;1; -BITUMEN;NONENUSE;seliqfos;feli_chemicals;tdli_chemicals;1; -BITUMEN;NONFERR;seliqfos;feli_otherInd;tdli_otherInd;1; -BITUMEN;NONMET;seliqfos;feli_cement;tdli_cement;1; -BITUMEN;ONONSPEC;seliqfos;fehob;tdfoshob;1; -BITUMEN;PAPERPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -BITUMEN;RESIDENT;seliqfos;fehob;tdfoshob;1; -BITUMEN;ROAD;seliqfos;fedie;tdfosdie;1; -BITUMEN;STATDIFF;;;;; -BITUMEN;STOCKCHA;;;;; -BITUMEN;TES;;;;; -BITUMEN;TEXTILES;seliqfos;feli_otherInd;tdli_otherInd;1; -BITUMEN;TFC;peoil;seliqfos;refliq;1; -BITUMEN;TNONSPEC;;;;; -BITUMEN;TOTENGY;;;;; -BITUMEN;TOTIND;;;;; -BITUMEN;TOTTRANF;;;;; -BITUMEN;TOTTRANS;;;;; -BITUMEN;TPATFUEL;;;;; -BITUMEN;TPETCHEM;;;;; -BITUMEN;TRANSEQ;seliqfos;feli_otherInd;tdli_otherInd;1; -BITUMEN;TRANSFER;;;;; -BITUMEN;TREFINER;;;;; -BITUMEN;WOODPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -BKB;AGRICULT;sesofos;feso_otherInd;tdso_otherInd;1; -BKB;AUTOCHP;;;;; -BKB;AUTOELEC;;;;; -BKB;AUTOHEAT;;;;; -BKB;CHEMICAL;sesofos;feso_chemicals;tdso_chemicals;1; -BKB;COMMPUB;sesofos;fesob;tdfossob;1; -BKB;CONSTRUC;sesofos;feso_otherInd;tdso_otherInd;1; -BKB;DISTLOSS;pecoal;sesofos;coaltr;-1; -BKB;DOMESNAV;;;;; -BKB;EBKB;;;;; -BKB;EBLASTFUR;sesofos;feso_steel;tdso_steel;-1; -BKB;ECOKEOVS;;;;; -BKB;EGASWKS;;;;; -BKB;ELAUTOC;pecoal;seel;coalchp;1; -BKB;ELAUTOE;pecoal;seel;pc;1; -BKB;ELMAINC;pecoal;seel;coalchp;1; -BKB;ELMAINE;pecoal;seel;pc;1; -BKB;ELOUTPUT;;;;; -BKB;EMINES;;;;; -BKB;ENONSPEC;;;;; -BKB;EREFINER;;;;; -BKB;EXPORTS;;;;; -BKB;FISHING;sesofos;feso_otherInd;tdso_otherInd;1; -BKB;FOODPRO;sesofos;feso_otherInd;tdso_otherInd;1; -BKB;HEATOUT;;;;; -BKB;HEAUTOC;pecoal;sehe;coalchp;1; -BKB;HEAUTOH;pecoal;sehe;coalhp;1; -BKB;HEMAINC;pecoal;sehe;coalchp;1; -BKB;HEMAINH;pecoal;sehe;coalhp;1; -BKB;IMPORTS;;;;; -BKB;INONSPEC;sesofos;feso_otherInd;tdso_otherInd;1; -BKB;IRONSTL;sesofos;feso_steel;tdso_steel;1; -BKB;MACHINE;sesofos;feso_otherInd;tdso_otherInd;1; -BKB;MAINCHP;;;;; -BKB;MAINELEC;;;;; -BKB;MAINHEAT;;;;; -BKB;MANUFACT;;;;; -BKB;MINING;sesofos;feso_otherInd;tdso_otherInd;1; -BKB;NEINTREN;;;;; -BKB;NEOTHER;;;;; -BKB;NONENUSE;sesofos;feso_chemicals;tdso_chemicals;1; -BKB;NONFERR;sesofos;feso_otherInd;tdso_otherInd;1; -BKB;NONMET;sesofos;feso_cement;tdso_cement;1; -BKB;ONONSPEC;sesofos;fesob;tdfossob;1; -BKB;PAPERPRO;sesofos;feso_otherInd;tdso_otherInd;1; -BKB;RAIL;sesofos;feso_otherInd;tdso_otherInd;1; -BKB;RESIDENT;sesofos;fesob;tdfossob;1; -BKB;STATDIFF;;;;; -BKB;STOCKCHA;;;;; -BKB;TBKB;;;;; -BKB;TBLASTFUR;pecoal;sesofos;coaltr;-1; -BKB;TBLASTFUR;sesofos;feso_steel;tdso_steel;-1; -BKB;TCOKEOVS;;;;; -BKB;TES;;;;; -BKB;TEXTILES;sesofos;feso_otherInd;tdso_otherInd;1; -BKB;TFC;pecoal;sesofos;coaltr;1; -BKB;TGASWKS;;;;; -BKB;TOTENGY;;;;; -BKB;TOTIND;;;;; -BKB;TOTTRANF;;;;; -BKB;TOTTRANS;;;;; -BKB;TPATFUEL;;;;; -BKB;TRANSEQ;sesofos;feso_otherInd;tdso_otherInd;1; -BKB;TRANSFER;;;;; -BKB;TREFINER;;;;; -BKB;WOODPRO;sesofos;feso_otherInd;tdso_otherInd;1; -BLFURGS;EBLASTFUR;pecoal;segafos;coalgas;1; -BLFURGS;MANUFACT;;;;; -BLFURGS;STATDIFF;;;;; -BLFURGS;TBLASTFUR;pecoal;segafos;coalgas;1; -BLFURGS;TES;;;;; -BROWN;AGRICULT;sesofos;feso_otherInd;tdso_otherInd;1; -BROWN;AUTOCHP;;;;; -BROWN;AUTOELEC;;;;; -BROWN;AUTOHEAT;;;;; -BROWN;CHEMICAL;sesofos;feso_chemicals;tdso_chemicals;1; -BROWN;COMMPUB;sesofos;fesob;tdfossob;1; -BROWN;CONSTRUC;sesofos;feso_otherInd;tdso_otherInd;1; -BROWN;DISTLOSS;pecoal;sesofos;coaltr;-1; -BROWN;DOMESNAV;;;;; -BROWN;EBKB;;;;; -BROWN;ECOKEOVS;;;;; -BROWN;ELAUTOC;pecoal;seel;coalchp;1; -BROWN;ELAUTOE;pecoal;seel;pc;1; -BROWN;ELMAINC;pecoal;seel;coalchp;1; -BROWN;ELMAINE;pecoal;seel;pc;1; -BROWN;ELOUTPUT;;;;; -BROWN;EMINES;;;;; -BROWN;ENONSPEC;;;;; -BROWN;EPOWERPLT;;;;; -BROWN;EREFINER;;;;; -BROWN;EXPORTS;;;;; -BROWN;FOODPRO;sesofos;feso_otherInd;tdso_otherInd;1; -BROWN;HEATOUT;;;;; -BROWN;HEAUTOC;pecoal;sehe;coalchp;1; -BROWN;HEAUTOH;pecoal;sehe;coalhp;1; -BROWN;HEMAINC;pecoal;sehe;coalchp;1; -BROWN;HEMAINH;pecoal;sehe;coalhp;1; -BROWN;IMPORTS;;;;; -BROWN;INDPROD;;;;; -BROWN;INONSPEC;sesofos;feso_otherInd;tdso_otherInd;1; -BROWN;IRONSTL;sesofos;feso_steel;tdso_steel;1; -BROWN;MACHINE;sesofos;feso_otherInd;tdso_otherInd;1; -BROWN;MAINCHP;;;;; -BROWN;MAINELEC;;;;; -BROWN;MAINHEAT;;;;; -BROWN;MANUFACT;;;;; -BROWN;MINING;sesofos;feso_otherInd;tdso_otherInd;1; -BROWN;NEINTREN;;;;; -BROWN;NONENUSE;sesofos;feso_chemicals;tdso_chemicals;1; -BROWN;NONFERR;sesofos;feso_otherInd;tdso_otherInd;1; -BROWN;NONMET;sesofos;feso_cement;tdso_cement;1; -BROWN;ONONSPEC;sesofos;fesob;tdfossob;1; -BROWN;PAPERPRO;sesofos;feso_otherInd;tdso_otherInd;1; -BROWN;RAIL;sesofos;feso_otherInd;tdso_otherInd;1; -BROWN;RESIDENT;sesofos;fesob;tdfossob;1; -BROWN;STATDIFF;;;;; -BROWN;STOCKCHA;;;;; -BROWN;TBKB;;;;; -BROWN;TCOKEOVS;;;;; -BROWN;TES;;;;; -BROWN;TEXTILES;sesofos;feso_otherInd;tdso_otherInd;1; -BROWN;TFC;pecoal;sesofos;coaltr;1; -BROWN;TGASWKS;;;;; -BROWN;TOTENGY;;;;; -BROWN;TOTIND;;;;; -BROWN;TOTTRANF;;;;; -BROWN;TOTTRANS;;;;; -BROWN;TPATFUEL;;;;; -BROWN;TRANSEQ;sesofos;feso_otherInd;tdso_otherInd;1; -BROWN;WOODPRO;sesofos;feso_otherInd;tdso_otherInd;1; -CHARCOAL;AGRICULT;sesobio;feso_otherInd;tdso_otherInd;1; -CHARCOAL;AUTOCHP;;;;; -CHARCOAL;AUTOELEC;;;;; -CHARCOAL;CHEMICAL;sesobio;feso_chemicals;tdso_chemicals;1; -CHARCOAL;COMMPUB;sesobio;fesob;tdbiosob;1; -CHARCOAL;CONSTRUC;sesobio;feso_otherInd;tdso_otherInd;1; -CHARCOAL;DISTLOSS;pebiolc;sesobio;biotr;-1; -CHARCOAL;EBLASTFUR;sesobio;feso_steel;tdso_steel;-1; -CHARCOAL;ECHARCOAL;;;;; -CHARCOAL;ELAUTOE;;;;; -CHARCOAL;ELMAINC;;;;; -CHARCOAL;ELMAINE;;;;; -CHARCOAL;ELOUTPUT;;;;; -CHARCOAL;ENONSPEC;pebiolc;sesobio;biotr;-1; -CHARCOAL;EXPORTS;;;;; -CHARCOAL;FISHING;sesobio;feso_otherInd;tdso_otherInd;1; -CHARCOAL;FOODPRO;sesobio;feso_otherInd;tdso_otherInd;1; -CHARCOAL;HEATOUT;;;;; -CHARCOAL;HEMAINC;;;;; -CHARCOAL;HEMAINH;;;;; -CHARCOAL;IMPORTS;;;;; -CHARCOAL;INONSPEC;sesobio;feso_otherInd;tdso_otherInd;1; -CHARCOAL;IRONSTL;sesobio;feso_steel;tdso_steel;1; -CHARCOAL;MACHINE;sesobio;feso_otherInd;tdso_otherInd;1; -CHARCOAL;MAINCHP;;;;; -CHARCOAL;MAINELEC;;;;; -CHARCOAL;MAINHEAT;;;;; -CHARCOAL;MANUFACT;;;;; -CHARCOAL;MINING;sesobio;feso_otherInd;tdso_otherInd;1; -CHARCOAL;NEOTHER;;;;; -CHARCOAL;NONENUSE;sesobio;feso_chemicals;tdso_chemicals;1; -CHARCOAL;NONFERR;sesobio;feso_otherInd;tdso_otherInd;1; -CHARCOAL;NONMET;sesobio;feso_cement;tdso_cement;1; -CHARCOAL;ONONSPEC;sesobio;fesob;tdbiosob;1; -CHARCOAL;PAPERPRO;sesobio;feso_otherInd;tdso_otherInd;1; -CHARCOAL;RESIDENT;sesobio;fesob;tdbiosob;1; -CHARCOAL;STATDIFF;;;;; -CHARCOAL;STOCKCHA;;;;; -CHARCOAL;TBLASTFUR;sesobio;feso_steel;tdso_steel;-1; -CHARCOAL;TCHARCOAL;;;;; -CHARCOAL;TES;;;;; -CHARCOAL;TEXTILES;sesobio;feso_otherInd;tdso_otherInd;1; -CHARCOAL;TFC;pebiolc;sesobio;biotr;1; -CHARCOAL;TNONSPEC;;;;; -CHARCOAL;TOTENGY;;;;; -CHARCOAL;TOTIND;;;;; -CHARCOAL;TOTTRANF;;;;; -CHARCOAL;TOTTRANS;;;;; -CHARCOAL;TRANSEQ;sesobio;feso_otherInd;tdso_otherInd;1; -CHARCOAL;TREFINER;;;;; -CHARCOAL;TRNONSPE;;;;; -CHARCOAL;WOODPRO;sesobio;feso_otherInd;tdso_otherInd;1; -COALTAR;CHEMICAL;;;;; -COALTAR;CONSTRUC;;;;; -COALTAR;DISTLOSS;pecoal;sesofos;coaltr;-1; -COALTAR;ECOKEOVS;;;;; -COALTAR;EXPORTS;;;;; -COALTAR;FOODPRO;;;;; -COALTAR;IMPORTS;;;;; -COALTAR;IRONSTL;;;;; -COALTAR;MACHINE;;;;; -COALTAR;MANUFACT;;;;; -COALTAR;MINING;;;;; -COALTAR;NONFERR;;;;; -COALTAR;NONMET;;;;; -COALTAR;STATDIFF;;;;; -COALTAR;STOCKCHA;;;;; -COALTAR;TCOKEOVS;;;;; -COALTAR;TES;;;;; -COALTAR;TFC;pecoal;sesofos;coaltr;1; -COALTAR;TOTENGY;;;;; -COALTAR;TOTIND;;;;; -COALTAR;TOTTRANF;;;;; -COALTAR;TRANSEQ;;;;; -COKCOAL;AGRICULT;sesofos;feso_otherInd;tdso_otherInd;1; -COKCOAL;AUTOCHP;;;;; -COKCOAL;AUTOELEC;;;;; -COKCOAL;AUTOHEAT;;;;; -COKCOAL;CHEMICAL;sesofos;feso_chemicals;tdso_chemicals;1; -COKCOAL;COMMPUB;sesofos;fesob;tdfossob;1; -COKCOAL;CONSTRUC;sesofos;feso_otherInd;tdso_otherInd;1; -COKCOAL;DISTLOSS;pecoal;sesofos;coaltr;-1; -COKCOAL;DOMESNAV;;;;; -COKCOAL;EBLASTFUR;sesofos;feso_steel;tdso_steel;-1; -COKCOAL;ECOKEOVS;;;;; -COKCOAL;EGASWKS;;;;; -COKCOAL;ELAUTOC;pecoal;seel;coalchp;1; -COKCOAL;ELAUTOE;pecoal;seel;pc;1; -COKCOAL;ELMAINC;pecoal;seel;coalchp;1; -COKCOAL;ELMAINE;pecoal;seel;pc;1; -COKCOAL;ELOUTPUT;;;;; -COKCOAL;EMINES;;;;; -COKCOAL;ENONSPEC;;;;; -COKCOAL;EPATFUEL;;;;; -COKCOAL;EPOWERPLT;;;;; -COKCOAL;EREFINER;;;;; -COKCOAL;EXPORTS;;;;; -COKCOAL;FOODPRO;sesofos;feso_otherInd;tdso_otherInd;1; -COKCOAL;HEATOUT;;;;; -COKCOAL;HEAUTOC;pecoal;sehe;coalchp;1; -COKCOAL;HEAUTOH;pecoal;sehe;coalhp;1; -COKCOAL;HEMAINC;pecoal;sehe;coalchp;1; -COKCOAL;HEMAINH;pecoal;sehe;coalhp;1; -COKCOAL;IMPORTS;;;;; -COKCOAL;INDPROD;;;;; -COKCOAL;INONSPEC;sesofos;feso_otherInd;tdso_otherInd;1; -COKCOAL;IRONSTL;sesofos;feso_steel;tdso_steel;1; -COKCOAL;MACHINE;sesofos;feso_otherInd;tdso_otherInd;1; -COKCOAL;MAINCHP;;;;; -COKCOAL;MAINELEC;;;;; -COKCOAL;MAINHEAT;;;;; -COKCOAL;MANUFACT;;;;; -COKCOAL;MINING;sesofos;feso_otherInd;tdso_otherInd;1; -COKCOAL;NECHEM;;;;; -COKCOAL;NEINTREN;;;;; -COKCOAL;NEOTHER;;;;; -COKCOAL;NONENUSE;sesofos;feso_chemicals;tdso_chemicals;1; -COKCOAL;NONFERR;sesofos;feso_otherInd;tdso_otherInd;1; -COKCOAL;NONMET;sesofos;feso_cement;tdso_cement;1; -COKCOAL;ONONSPEC;sesofos;fesob;tdfossob;1; -COKCOAL;PAPERPRO;sesofos;feso_otherInd;tdso_otherInd;1; -COKCOAL;RAIL;sesofos;feso_otherInd;tdso_otherInd;1; -COKCOAL;RESIDENT;sesofos;fesob;tdfossob;1; -COKCOAL;STATDIFF;;;;; -COKCOAL;STOCKCHA;;;;; -COKCOAL;TBKB;;;;; -COKCOAL;TBLASTFUR;pecoal;sesofos;coaltr;-1; -COKCOAL;TBLASTFUR;sesofos;feso_steel;tdso_steel;-1; -COKCOAL;TBLENDGAS;;;;; -COKCOAL;TCOALLIQ;;;;; -COKCOAL;TCOKEOVS;;;;; -COKCOAL;TES;;;;; -COKCOAL;TEXTILES;sesofos;feso_otherInd;tdso_otherInd;1; -COKCOAL;TFC;pecoal;sesofos;coaltr;1; -COKCOAL;TGASWKS;;;;; -COKCOAL;TGTL;;;;; -COKCOAL;TNONSPEC;;;;; -COKCOAL;TOTENGY;;;;; -COKCOAL;TOTIND;;;;; -COKCOAL;TOTTRANF;;;;; -COKCOAL;TOTTRANS;;;;; -COKCOAL;TPATFUEL;;;;; -COKCOAL;TRANSEQ;sesofos;feso_otherInd;tdso_otherInd;1; -COKCOAL;TRANSFER;;;;; -COKCOAL;TREFINER;;;;; -COKCOAL;TRNONSPE;;;;; -COKCOAL;WOODPRO;sesofos;feso_otherInd;tdso_otherInd;1; -COKEOVGS;ECOKEOVS;pecoal;segafos;coalgas;1; -COKEOVGS;MANUFACT;;;;; -COKEOVGS;STATDIFF;;;;; -COKEOVGS;TCOKEOVS;pecoal;segafos;coalgas;1; -COKEOVGS;TES;;;;; -CRNGFEED;CHEMICAL;seliqfos;feli_chemicals;tdli_chemicals;1; -CRNGFEED;CONSTRUC;seliqfos;feli_otherInd;tdli_otherInd;1; -CRNGFEED;EOILGASEX;;;;; -CRNGFEED;EXPORTS;;;;; -CRNGFEED;FOODPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -CRNGFEED;IMPORTS;;;;; -CRNGFEED;INDPROD;;;;; -CRNGFEED;INONSPEC;seliqfos;feli_otherInd;tdli_otherInd;1; -CRNGFEED;IRONSTL;seliqfos;feli_steel;tdli_steel;1; -CRNGFEED;MACHINE;seliqfos;feli_otherInd;tdli_otherInd;1; -CRNGFEED;MAINELEC;;;;; -CRNGFEED;MANUFACT;;;;; -CRNGFEED;MINING;seliqfos;feli_otherInd;tdli_otherInd;1; -CRNGFEED;NONFERR;seliqfos;feli_otherInd;tdli_otherInd;1; -CRNGFEED;NONMET;seliqfos;feli_cement;tdli_cement;1; -CRNGFEED;PAPERPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -CRNGFEED;STATDIFF;;;;; -CRNGFEED;STOCKCHA;;;;; -CRNGFEED;TCOALLIQ;;;;; -CRNGFEED;TES;;;;; -CRNGFEED;TEXTILES;seliqfos;feli_otherInd;tdli_otherInd;1; -CRNGFEED;TFC;peoil;seliqfos;refliq;1; -CRNGFEED;TGASWKS;seliqfos;feli_otherInd;tdli_otherInd;-1; -CRNGFEED;TNONSPEC;;;;; -CRNGFEED;TOTENGY;;;;; -CRNGFEED;TOTIND;;;;; -CRNGFEED;TOTTRANF;;;;; -CRNGFEED;TPETCHEM;;;;; -CRNGFEED;TRANSEQ;seliqfos;feli_otherInd;tdli_otherInd;1; -CRNGFEED;TRANSFER;;;;; -CRNGFEED;TREFINER;;;;; -CRNGFEED;WOODPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -CRUDEOIL;AGRICULT;seliqfos;feli_otherInd;tdli_otherInd;1; -CRUDEOIL;AUTOCHP;;;;; -CRUDEOIL;AUTOELEC;;;;; -CRUDEOIL;AUTOHEAT;;;;; -CRUDEOIL;CHEMICAL;seliqfos;feli_chemicals;tdli_chemicals;1; -CRUDEOIL;COMMPUB;seliqfos;fehob;tdfoshob;1; -CRUDEOIL;CONSTRUC;seliqfos;feli_otherInd;tdli_otherInd;1; -CRUDEOIL;DISTLOSS;peoil;seliqfos;refliq;-1; -CRUDEOIL;EGASWKS;;;;; -CRUDEOIL;ELAUTOC;;;;; -CRUDEOIL;ELAUTOE;peoil;seel;dot;1; -CRUDEOIL;ELMAINC;;;;; -CRUDEOIL;ELMAINE;peoil;seel;dot;1; -CRUDEOIL;ELOUTPUT;;;;; -CRUDEOIL;EMINES;;;;; -CRUDEOIL;ENONSPEC;;;;; -CRUDEOIL;EOILGASEX;;;;; -CRUDEOIL;EPOWERPLT;;;;; -CRUDEOIL;EREFINER;;;;; -CRUDEOIL;EXPORTS;;;;; -CRUDEOIL;FOODPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -CRUDEOIL;HEATOUT;;;;; -CRUDEOIL;HEAUTOC;;;;; -CRUDEOIL;HEAUTOH;;;;; -CRUDEOIL;HEMAINC;;;;; -CRUDEOIL;IMPORTS;;;;; -CRUDEOIL;INDPROD;;;;; -CRUDEOIL;INONSPEC;seliqfos;feli_otherInd;tdli_otherInd;1; -CRUDEOIL;IRONSTL;seliqfos;feli_steel;tdli_steel;1; -CRUDEOIL;MACHINE;seliqfos;feli_otherInd;tdli_otherInd;1; -CRUDEOIL;MAINCHP;;;;; -CRUDEOIL;MAINELEC;;;;; -CRUDEOIL;MANUFACT;;;;; -CRUDEOIL;MINING;seliqfos;feli_otherInd;tdli_otherInd;1; -CRUDEOIL;NECHEM;;;;; -CRUDEOIL;NECONSTRUC;;;;; -CRUDEOIL;NEIND;;;;; -CRUDEOIL;NEINONSPEC;;;;; -CRUDEOIL;NEINTREN;;;;; -CRUDEOIL;NEOTHER;;;;; -CRUDEOIL;NONENUSE;seliqfos;feli_chemicals;tdli_chemicals;1; -CRUDEOIL;NONFERR;seliqfos;feli_otherInd;tdli_otherInd;1; -CRUDEOIL;NONMET;seliqfos;feli_cement;tdli_cement;1; -CRUDEOIL;ONONSPEC;seliqfos;fehob;tdfoshob;1; -CRUDEOIL;PAPERPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -CRUDEOIL;PIPELINE;;;;; -CRUDEOIL;RESIDENT;seliqfos;fehob;tdfoshob;1; -CRUDEOIL;STATDIFF;;;;; -CRUDEOIL;STOCKCHA;;;;; -CRUDEOIL;TCOKEOVS;seliqfos;feli_steel;tdli_steel;-1; -CRUDEOIL;TES;;;;; -CRUDEOIL;TEXTILES;seliqfos;feli_otherInd;tdli_otherInd;1; -CRUDEOIL;TFC;peoil;seliqfos;refliq;1; -CRUDEOIL;TGASWKS;seliqfos;feli_otherInd;tdli_otherInd;-1; -CRUDEOIL;TOTENGY;;;;; -CRUDEOIL;TOTIND;;;;; -CRUDEOIL;TOTTRANF;;;;; -CRUDEOIL;TOTTRANS;;;;; -CRUDEOIL;TRANSEQ;seliqfos;feli_otherInd;tdli_otherInd;1; -CRUDEOIL;TRANSFER;;;;; -CRUDEOIL;TREFINER;;;;; -CRUDEOIL;TRNONSPE;seliqfos;fedie;tdfosdie;1; -CRUDEOIL;WOODPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -ELECTR;AGRICULT;seel;feelwlth_otherInd;tdelwlth_otherInd;1; -ELECTR;AUTOCHP;;;;; -ELECTR;AUTOELEC;;;;; -ELECTR;AUTOHEAT;;;;; -ELECTR;CHEMICAL;seel;feelwlth_chemicals;tdelwlth_chemicals;1; -ELECTR;COMMPUB;seel;feelb;tdelb;1; -ELECTR;CONSTRUC;seel;feelwlth_otherInd;tdelwlth_otherInd;1; -ELECTR;DISTLOSS;;;;; -ELECTR;DOMESNAV;seel;feelt;tdelt;1; -ELECTR;EBKB;;;;; -ELECTR;EBLASTFUR;seel;feel_steel;tdel_steel;-1; -ELECTR;ECHARCOAL;;;;; -ELECTR;ECOALLIQ;;;;; -ELECTR;ECOKEOVS;seel;feel_steel;tdel_steel;-1; -ELECTR;EGASWKS;;;;; -ELECTR;EGTL;;;;; -ELECTR;ELAUTOC;;;;; -ELECTR;ELAUTOE;;;;; -ELECTR;ELMAINC;;;;; -ELECTR;ELMAINE;;;;; -ELECTR;ELNG;;;;; -ELECTR;ELOUTPUT;;;;; -ELECTR;EMINES;;;;; -ELECTR;ENONSPEC;;;;; -ELECTR;ENUC;;;;; -ELECTR;EOILGASEX;;;;; -ELECTR;EPATFUEL;;;;; -ELECTR;EPOWERPLT;seel;feel;o_feel;-1; -ELECTR;EPUMPST;;;;; -ELECTR;EREFINER;;;;; -ELECTR;EXPORTS;;;;; -ELECTR;FISHING;seel;feelwlth_otherInd;tdelwlth_otherInd;1; -ELECTR;FOODPRO;seel;feelwlth_otherInd;tdelwlth_otherInd;1; -ELECTR;HEATOUT;;;;; -ELECTR;HEAUTOC;;;;; -ELECTR;HEAUTOH;;;;; -ELECTR;HEMAINC;;;;; -ELECTR;HEMAINH;;;;; -ELECTR;IMPORTS;;;;; -ELECTR;INDPROD;;;;; -ELECTR;INONSPEC;seel;feelwlth_otherInd;tdelwlth_otherInd;1; -ELECTR;IRONSTL;seel;feel_steel;tdel_steel;1; -ELECTR;MACHINE;seel;feelwlth_otherInd;tdelwlth_otherInd;1; -ELECTR;MAINCHP;;;;; -ELECTR;MAINELEC;;;;; -ELECTR;MAINHEAT;;;;; -ELECTR;MANUFACT;;;;; -ELECTR;MINING;seel;feelwlth_otherInd;tdelwlth_otherInd;1; -ELECTR;NECHEM;;;;; -ELECTR;NEINTREN;;;;; -ELECTR;NEOTHER;;;;; -ELECTR;NONENUSE;seel;feelwlth_otherInd;tdelwlth_otherInd;1; -ELECTR;NONFERR;seel;feelwlth_otherInd;tdelwlth_otherInd;1; -ELECTR;NONMET;seel;feel_cement;tdel_cement;1; -ELECTR;ONONSPEC;seel;feelb;tdelb;1; -ELECTR;PAPERPRO;seel;feelwlth_otherInd;tdelwlth_otherInd;1; -ELECTR;PIPELINE;;;;;? -ELECTR;RAIL;seel;feelt;tdelt;1; -ELECTR;RESIDENT;seel;feelb;tdelb;1; -ELECTR;ROAD;seel;feelt;tdelt;1; -ELECTR;STATDIFF;;;;; -ELECTR;STOCKCHA;;;;; -ELECTR;TBKB;;;;; -ELECTR;TBLENDGAS;;;;; -ELECTR;TBOILER;;;;; -ELECTR;TCOALLIQ;;;;; -ELECTR;TELE;;;;; -ELECTR;TES;;;;; -ELECTR;TEXTILES;seel;feelwlth_otherInd;tdelwlth_otherInd;1; -ELECTR;TFC;;;;; -ELECTR;TGASWKS;seel;feelwlth_otherInd;tdelwlth_otherInd;-1; -ELECTR;TGTL;;;;; -ELECTR;THEAT;;;;; -ELECTR;TNONSPEC;;;;; -ELECTR;TOTENGY;;;;; -ELECTR;TOTIND;;;;; -ELECTR;TOTTRANF;;;;; -ELECTR;TOTTRANS;;;;; -ELECTR;TPATFUEL;;;;; -ELECTR;TRANSEQ;seel;feelwlth_otherInd;tdelwlth_otherInd;1; -ELECTR;TRANSFER;;;;; -ELECTR;TREFINER;;;;; -ELECTR;TRNONSPE;seel;feelt;tdelt;1; -ELECTR;WOODPRO;seel;feelwlth_otherInd;tdelwlth_otherInd;1; -ETHANE;AUTOCHP;;;;; -ETHANE;CHEMICAL;seliqfos;feli_chemicals;tdli_chemicals;1; -ETHANE;COMMPUB;seliqfos;fehob;tdfoshob;1; -ETHANE;CONSTRUC;seliqfos;feli_otherInd;tdli_otherInd;1; -ETHANE;EOILGASEX;;;;; -ETHANE;EREFINER;;;;; -ETHANE;EXPORTS;;;;; -ETHANE;FOODPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -ETHANE;IMPORTS;;;;; -ETHANE;INONSPEC;seliqfos;feli_otherInd;tdli_otherInd;1; -ETHANE;IRONSTL;seliqfos;feli_steel;tdli_steel;1; -ETHANE;MACHINE;seliqfos;feli_otherInd;tdli_otherInd;1; -ETHANE;MANUFACT;;;;; -ETHANE;MINING;seliqfos;feli_otherInd;tdli_otherInd;1; -ETHANE;NECHEM;;;;; -ETHANE;NEIND;;;;; -ETHANE;NEINTREN;;;;; -ETHANE;NONENUSE;seliqfos;fehoi_cs;tdhoi_cs;0.8; -ETHANE;NONENUSE;seliqfos;feli_chemicals;tdli_chemicals;1; -ETHANE;NONFERR;seliqfos;feli_otherInd;tdli_otherInd;1; -ETHANE;NONMET;seliqfos;feli_cement;tdli_cement;1; -ETHANE;PAPERPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -ETHANE;STATDIFF;;;;; -ETHANE;STOCKCHA;;;;; -ETHANE;TES;;;;; -ETHANE;TEXTILES;seliqfos;feli_otherInd;tdli_otherInd;1; -ETHANE;TFC;peoil;seliqfos;refliq;1; -ETHANE;TOTENGY;;;;; -ETHANE;TOTIND;;;;; -ETHANE;TOTTRANF;;;;; -ETHANE;TPETCHEM;;;;; -ETHANE;TRANSEQ;seliqfos;feli_otherInd;tdli_otherInd;1; -ETHANE;TRANSFER;;;;; -ETHANE;TREFINER;;;;; -ETHANE;WOODPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -GASCOKE;AUTOELEC;;;;; -GASCOKE;CHEMICAL;sesofos;feso_chemicals;tdso_chemicals;1; -GASCOKE;COMMPUB;sesofos;fesob;tdfossob;1; -GASCOKE;CONSTRUC;sesofos;feso_otherInd;tdso_otherInd;1; -GASCOKE;DISTLOSS;pecoal;sesofos;coaltr;-1; -GASCOKE;EGASWKS;;;;; -GASCOKE;EXPORTS;;;;; -GASCOKE;FOODPRO;sesofos;feso_otherInd;tdso_otherInd;1; -GASCOKE;IMPORTS;;;;; -GASCOKE;INONSPEC;sesofos;feso_otherInd;tdso_otherInd;1; -GASCOKE;IRONSTL;sesofos;feso_steel;tdso_steel;1; -GASCOKE;MACHINE;sesofos;feso_otherInd;tdso_otherInd;1; -GASCOKE;MAINELEC;;;;; -GASCOKE;MANUFACT;;;;; -GASCOKE;MINING;sesofos;feso_otherInd;tdso_otherInd;1; -GASCOKE;NEINTREN;;;;; -GASCOKE;NONENUSE;sesofos;feso_chemicals;tdso_chemicals;1; -GASCOKE;NONFERR;sesofos;feso_otherInd;tdso_otherInd;1; -GASCOKE;NONMET;sesofos;feso_cement;tdso_cement;1; -GASCOKE;ONONSPEC;sesofos;fesob;tdfossob;1; -GASCOKE;PAPERPRO;sesofos;feso_otherInd;tdso_otherInd;1; -GASCOKE;RAIL;sesofos;feso_otherInd;tdso_otherInd;1; -GASCOKE;RESIDENT;sesofos;fesob;tdfossob;1; -GASCOKE;STATDIFF;;;;; -GASCOKE;STOCKCHA;;;;; -GASCOKE;TES;;;;; -GASCOKE;TEXTILES;sesofos;feso_otherInd;tdso_otherInd;1; -GASCOKE;TFC;pecoal;sesofos;coaltr;1; -GASCOKE;TGASWKS;;;;; -GASCOKE;TOTENGY;;;;; -GASCOKE;TOTIND;;;;; -GASCOKE;TOTTRANF;;;;; -GASCOKE;TOTTRANS;;;;; -GASCOKE;TRANSEQ;sesofos;feso_otherInd;tdso_otherInd;1; -GASCOKE;WOODPRO;sesofos;feso_otherInd;tdso_otherInd;1; -GASWKSGS;AGRICULT;segafos;fega_otherInd;tdga_otherInd;1; -GASWKSGS;AUTOCHP;pecoal;segafos;coalgas;1;We withraw the solids used in TBLASTFUR TGASWKS TCOKEOVS and producing gas which is used in the production of electricity The coefficient converts gas in solids -GASWKSGS;AUTOELEC;pecoal;segafos;coalgas;1;We withraw the solids used in TBLASTFUR TGASWKS TCOKEOVS and producing gas which is used in the production of electricity The coefficient converts gas in solids -GASWKSGS;AUTOHEAT;pecoal;segafos;coalgas;1;We withraw the solids used in TBLASTFUR TGASWKS TCOKEOVS and producing gas which is used in the production of electricity The coefficient converts gas in solids -GASWKSGS;CHEMICAL;segafos;fega_chemicals;tdga_chemicals;1; -GASWKSGS;COMMPUB;segafos;fegab;tdfosgab;1; -GASWKSGS;CONSTRUC;segafos;fega_otherInd;tdga_otherInd;1; -GASWKSGS;DISTLOSS;;;;; -GASWKSGS;DOMESNAV;segafos;fegat;tdfosgat;1; -GASWKSGS;ECOKEOVS;pecoal;segafos;coalgas;1; -GASWKSGS;EGASWKS;;;;; -GASWKSGS;ELAUTOC;pecoal;seel;coalchp;1;This seel output in reality is produced from coal gas (see email RP to NB 18.8.2016) -GASWKSGS;ELAUTOE;pecoal;seel;pc;1;This seel output in reality is produced from coal gas (see email RP to NB 18.8.2016) -GASWKSGS;ELMAINC;pecoal;seel;coalchp;1;This seel output in reality is produced from coal gas (see email RP to NB 18.8.2016) -GASWKSGS;ELMAINE;pecoal;seel;pc;1;This seel output in reality is produced from coal gas (see email RP to NB 18.8.2016) -GASWKSGS;ELOUTPUT;;;;; -GASWKSGS;EMINES;;;;; -GASWKSGS;ENONSPEC;;;;; -GASWKSGS;EPATFUEL;;;;; -GASWKSGS;EPOWERPLT;;;;; -GASWKSGS;EREFINER;segafos;fega_chemicals;tdga_chemicals;-1; -GASWKSGS;EXPORTS;;;;; -GASWKSGS;FOODPRO;segafos;fega_otherInd;tdga_otherInd;1; -GASWKSGS;HEATOUT;;;;; -GASWKSGS;HEAUTOC;pecoal;sehe;coalchp;1;This seel output in reality is produced from coal gas (see email RP to NB 18.8.2016) -GASWKSGS;HEAUTOH;pecoal;sehe;coalhp;1;This seel output in reality is produced from coal gas (see email RP to NB 18.8.2016) -GASWKSGS;HEMAINC;pecoal;sehe;coalchp;1;This seel output in reality is produced from coal gas (see email RP to NB 18.8.2016) -GASWKSGS;HEMAINH;pecoal;sehe;coalhp;1;This seel output in reality is produced from coal gas (see email RP to NB 18.8.2016) -GASWKSGS;IMPORTS;;;;; -GASWKSGS;INONSPEC;segafos;fega_otherInd;tdga_otherInd;1; -GASWKSGS;IRONSTL;segafos;fega_steel;tdga_steel;1; -GASWKSGS;MACHINE;segafos;fega_otherInd;tdga_otherInd;1; -GASWKSGS;MAINCHP;pecoal;segafos;coalgas;1;We withraw the solids used in TBLASTFUR TGASWKS TCOKEOVS and producing gas which is used in the production of electricity The coefficient converts gas in solids -GASWKSGS;MAINELEC;pecoal;segafos;coalgas;1;We withraw the solids used in TBLASTFUR TGASWKS TCOKEOVS and producing gas which is used in the production of electricity The coefficient converts gas in solids -GASWKSGS;MAINHEAT;pecoal;segafos;coalgas;1;We withraw the solids used in TBLASTFUR TGASWKS TCOKEOVS and producing gas which is used in the production of electricity The coefficient converts gas in solids -GASWKSGS;MANUFACT;;;;; -GASWKSGS;MINING;segafos;fega_otherInd;tdga_otherInd;1; -GASWKSGS;NEINTREN;;;;; -GASWKSGS;NONENUSE;segafos;fega_chemicals;tdga_chemicals;1; -GASWKSGS;NONFERR;segafos;fega_otherInd;tdga_otherInd;1; -GASWKSGS;NONMET;segafos;fega_cement;tdga_cement;1; -GASWKSGS;ONONSPEC;segafos;fegab;tdfosgab;1; -GASWKSGS;PAPERPRO;segafos;fega_otherInd;tdga_otherInd;1; -GASWKSGS;RAIL;segafos;fegat;tdfosgat;1; -GASWKSGS;RESIDENT;segafos;fegab;tdfosgab;1; -GASWKSGS;STATDIFF;;;;; -GASWKSGS;STOCKCHA;;;;; -GASWKSGS;TBKB;;;;; -GASWKSGS;TBLENDGAS;;;;; -GASWKSGS;TCOALLIQ;;;;; -GASWKSGS;TCOKEOVS;;;;; -GASWKSGS;TES;;;;; -GASWKSGS;TEXTILES;segafos;fega_otherInd;tdga_otherInd;1; -GASWKSGS;TFC;;;;;the solids demand from TBLASTFUR TGASWKS TCOKEOVS producing gas for TFC is attributed to coalgas -GASWKSGS;TGASWKS;pecoal;segafos;coalgas;1; -GASWKSGS;TOTENGY;;;;; -GASWKSGS;TOTIND;;;;; -GASWKSGS;TOTTRANF;;;;; -GASWKSGS;TOTTRANS;;;;; -GASWKSGS;TPATFUEL;;;;; -GASWKSGS;TRANSEQ;segafos;fega_otherInd;tdga_otherInd;1; -GASWKSGS;WOODPRO;segafos;fega_otherInd;tdga_otherInd;1; -GEOTHERM;AGRICULT;seel;feelwlth_otherInd;tdelwlth_otherInd;0.3; -GEOTHERM;AUTOCHP;;;;; -GEOTHERM;AUTOELEC;;;;; -GEOTHERM;AUTOHEAT;;;;; -GEOTHERM;CHEMICAL;seel;feelwlth_chemicals;tdelwlth_chemicals;0.3; -GEOTHERM;COMMPUB;seel;feelb;tdelb;0.3; -GEOTHERM;CONSTRUC;seel;feelwlth_otherInd;tdelwlth_otherInd;0.3; -GEOTHERM;DISTLOSS;pegeo;sehe;geohe;-1; -GEOTHERM;ELAUTOC;;;;; -GEOTHERM;ELAUTOE;;;;; -GEOTHERM;ELMAINC;;;;; -GEOTHERM;ELMAINE;;;;; -GEOTHERM;ELOUTPUT;pegeo;seel;geohdr;1; -GEOTHERM;EPOWERPLT;;;;; -GEOTHERM;FISHING;seel;feelwlth_otherInd;tdelwlth_otherInd;0.3; -GEOTHERM;FOODPRO;seel;feelwlth_otherInd;tdelwlth_otherInd;0.3; -GEOTHERM;HEATOUT;pegeo;sehe;geohe;1; -GEOTHERM;HEAUTOC;;;;; -GEOTHERM;HEAUTOH;;;;; -GEOTHERM;HEMAINC;;;;; -GEOTHERM;HEMAINH;;;;; -GEOTHERM;INDPROD;;;;; -GEOTHERM;INONSPEC;seel;feelwlth_otherInd;tdelwlth_otherInd;0.3; -GEOTHERM;IRONSTL;seel;feel_steel;tdel_steel;0.3; -GEOTHERM;MACHINE;seel;feelwlth_otherInd;tdelwlth_otherInd;0.3; -GEOTHERM;MAINCHP;;;;; -GEOTHERM;MAINELEC;;;;; -GEOTHERM;MAINHEAT;;;;; -GEOTHERM;MANUFACT;;;;; -GEOTHERM;MINING;seel;feelwlth_otherInd;tdelwlth_otherInd;0.3; -GEOTHERM;NONFERR;seel;feelwlth_otherInd;tdelwlth_otherInd;0.3; -GEOTHERM;NONMET;seel;feel_cement;tdel_cement;0.3; -GEOTHERM;ONONSPEC;seel;feelb;tdelb;0.3; -GEOTHERM;PAPERPRO;seel;feelwlth_otherInd;tdelwlth_otherInd;0.3; -GEOTHERM;RESIDENT;seel;feelb;tdelb;0.3; -GEOTHERM;STATDIFF;;;;; -GEOTHERM;TES;;;;; -GEOTHERM;TEXTILES;seel;feelwlth_otherInd;tdelwlth_otherInd;0.3; -GEOTHERM;TFC;pegeo;seel;geohe;-0.3; -GEOTHERM;TFC;pegeo;sehe;geohe;1; -GEOTHERM;TOTENGY;;;;; -GEOTHERM;TOTIND;;;;; -GEOTHERM;TOTTRANF;;;;; -GEOTHERM;TRANSEQ;seel;feelwlth_otherInd;tdelwlth_otherInd;0.3; -GEOTHERM;WOODPRO;seel;feelwlth_otherInd;tdelwlth_otherInd;0.3; -HARDCOAL;AGRICULT;sesofos;feso_otherInd;tdso_otherInd;1; -HARDCOAL;AUTOCHP;;;;; -HARDCOAL;AUTOELEC;;;;; -HARDCOAL;AUTOHEAT;;;;; -HARDCOAL;CHEMICAL;sesofos;feso_chemicals;tdso_chemicals;1; -HARDCOAL;COMMPUB;sesofos;fesob;tdfossob;1; -HARDCOAL;CONSTRUC;sesofos;feso_otherInd;tdso_otherInd;1; -HARDCOAL;DISTLOSS;pecoal;sesofos;coaltr;-1; -HARDCOAL;DOMESNAV;;;;; -HARDCOAL;ECOKEOVS;;;;; -HARDCOAL;EGASWKS;;;;; -HARDCOAL;ELAUTOC;pecoal;seel;coalchp;1; -HARDCOAL;ELAUTOE;pecoal;seel;pc;1; -HARDCOAL;ELMAINC;pecoal;seel;coalchp;1; -HARDCOAL;ELMAINE;pecoal;seel;pc;1; -HARDCOAL;ELOUTPUT;;;;; -HARDCOAL;EMINES;;;;; -HARDCOAL;ENONSPEC;;;;; -HARDCOAL;EPATFUEL;;;;; -HARDCOAL;EPOWERPLT;;;;; -HARDCOAL;EREFINER;;;;; -HARDCOAL;EXPORTS;;;;; -HARDCOAL;FOODPRO;sesofos;feso_otherInd;tdso_otherInd;1; -HARDCOAL;HEATOUT;;;;; -HARDCOAL;HEAUTOC;pecoal;sehe;coalchp;1; -HARDCOAL;HEAUTOH;pecoal;sehe;coalhp;1; -HARDCOAL;HEMAINC;pecoal;sehe;coalchp;1; -HARDCOAL;HEMAINH;pecoal;sehe;coalhp;1; -HARDCOAL;IMPORTS;;;;; -HARDCOAL;INDPROD;;;;; -HARDCOAL;INONSPEC;sesofos;feso_otherInd;tdso_otherInd;1; -HARDCOAL;IRONSTL;sesofos;feso_steel;tdso_steel;1; -HARDCOAL;MACHINE;sesofos;feso_otherInd;tdso_otherInd;1; -HARDCOAL;MAINCHP;;;;; -HARDCOAL;MAINELEC;;;;; -HARDCOAL;MAINHEAT;;;;; -HARDCOAL;MANUFACT;;;;; -HARDCOAL;MARBUNK;;;;; -HARDCOAL;MINING;sesofos;feso_otherInd;tdso_otherInd;1; -HARDCOAL;NECHEM;;;;; -HARDCOAL;NEINTREN;;;;; -HARDCOAL;NEOTHER;;;;; -HARDCOAL;NONENUSE;sesofos;feso_chemicals;tdso_chemicals;1; -HARDCOAL;NONFERR;sesofos;feso_otherInd;tdso_otherInd;1; -HARDCOAL;NONMET;sesofos;feso_cement;tdso_cement;1; -HARDCOAL;ONONSPEC;sesofos;fesob;tdfossob;1; -HARDCOAL;PAPERPRO;sesofos;feso_otherInd;tdso_otherInd;1; -HARDCOAL;RAIL;sesofos;feso_otherInd;tdso_otherInd;1; -HARDCOAL;RESIDENT;sesofos;fesob;tdfossob;1; -HARDCOAL;STATDIFF;;;;; -HARDCOAL;STOCKCHA;;;;; -HARDCOAL;TBKB;;;;; -HARDCOAL;TBLASTFUR;sesofos;feso_steel;tdso_steel;-1; -HARDCOAL;TBLASTFUR;pecoal;sesofos;coaltr;-1; -HARDCOAL;TBLENDGAS;;;;; -HARDCOAL;TCOALLIQ;;;;; -HARDCOAL;TCOKEOVS;;;;; -HARDCOAL;TES;;;;; -HARDCOAL;TEXTILES;sesofos;feso_otherInd;tdso_otherInd;1; -HARDCOAL;TFC;pecoal;sesofos;coaltr;1; -HARDCOAL;TGASWKS;;;;; -HARDCOAL;TNONSPEC;;;;; -HARDCOAL;TOTENGY;;;;; -HARDCOAL;TOTIND;;;;; -HARDCOAL;TOTTRANF;;;;; -HARDCOAL;TOTTRANS;;;;; -HARDCOAL;TPATFUEL;;;;; -HARDCOAL;TRANSEQ;sesofos;feso_otherInd;tdso_otherInd;1; -HARDCOAL;TRANSFER;;;;; -HARDCOAL;TREFINER;;;;; -HARDCOAL;WOODPRO;sesofos;feso_otherInd;tdso_otherInd;1; -HEAT;AGRICULT;sehe;fehe_otherInd;tdhe_otherInd;1; -HEAT;AUTOCHP;;;;; -HEAT;AUTOELEC;;;;; -HEAT;AUTOHEAT;;;;; -HEAT;CHEMICAL;sehe;fehe_otherInd;tdhe_otherInd;1; -HEAT;COMMPUB;sehe;feheb;tdheb;1; -HEAT;CONSTRUC;sehe;fehe_otherInd;tdhe_otherInd;1; -HEAT;DISTLOSS;;;;; -HEAT;DOMESNAV;;;;; -HEAT;EBIOGAS;;;;; -HEAT;EBKB;;;;; -HEAT;EBLASTFUR;sehe;fehe_otherInd;tdhe_otherInd;-1; -HEAT;ECOALLIQ;;;;; -HEAT;ECOKEOVS;sehe;fehe_otherInd;tdhe_otherInd;-1; -HEAT;EGASWKS;;;;; -HEAT;ELAUTOC;;;;; -HEAT;ELAUTOE;;;;; -HEAT;ELMAINC;;;;; -HEAT;ELMAINE;;;;; -HEAT;ELNG;;;;; -HEAT;ELOUTPUT;;;;; -HEAT;EMINES;;;;; -HEAT;ENONSPEC;;;;; -HEAT;ENUC;;;;; -HEAT;EOILGASEX;;;;; -HEAT;EPATFUEL;;;;; -HEAT;EPOWERPLT;sehe;fehe_otherInd;tdhe_otherInd;-1; -HEAT;EREFINER;sehe;fehe_otherInd;tdhe_otherInd;-1; -HEAT;EXPORTS;;;;; -HEAT;FISHING;sehe;fehe_otherInd;tdhe_otherInd;1; -HEAT;FOODPRO;sehe;fehe_otherInd;tdhe_otherInd;1; -HEAT;HEATOUT;;;;; -HEAT;HEAUTOC;;;;; -HEAT;HEAUTOH;;;;; -HEAT;HEMAINC;;;;; -HEAT;HEMAINH;;;;; -HEAT;IMPORTS;;;;; -HEAT;INDPROD;;;;; -HEAT;INONSPEC;sehe;fehe_otherInd;tdhe_otherInd;1; -HEAT;IRONSTL;sehe;fehe_otherInd;tdhe_otherInd;1; -HEAT;MACHINE;sehe;fehe_otherInd;tdhe_otherInd;1; -HEAT;MAINCHP;;;;; -HEAT;MAINELEC;;;;; -HEAT;MAINHEAT;;;;; -HEAT;MANUFACT;;;;; -HEAT;MINING;sehe;fehe_otherInd;tdhe_otherInd;1; -HEAT;NECHEM;;;;; -HEAT;NEINTREN;;;;; -HEAT;NEOTHER;;;;; -HEAT;NONENUSE;sehe;fehe_otherInd;tdhe_otherInd;1; -HEAT;NONFERR;sehe;fehe_otherInd;tdhe_otherInd;1; -HEAT;NONMET;sehe;fehe_otherInd;tdhe_otherInd;1; -HEAT;ONONSPEC;sehe;feheb;tdheb;1; -HEAT;PAPERPRO;sehe;fehe_otherInd;tdhe_otherInd;1; -HEAT;RAIL;;;;; -HEAT;RESIDENT;sehe;feheb;tdheb;1; -HEAT;STATDIFF;;;;; -HEAT;STOCKCHA;;;;; -HEAT;TBOILER;;;;; -HEAT;TELE;;;;; -HEAT;TES;;;;; -HEAT;TEXTILES;sehe;fehe_otherInd;tdhe_otherInd;1; -HEAT;TFC;;;;; -HEAT;TGASWKS;;;;; -HEAT;THEAT;;;;; -HEAT;TNONSPEC;;;;; -HEAT;TOTENGY;;;;; -HEAT;TOTIND;;;;; -HEAT;TOTTRANF;;;;; -HEAT;TOTTRANS;;;;; -HEAT;TPATFUEL;;;;; -HEAT;TRANSEQ;sehe;fehe_otherInd;tdhe_otherInd;1; -HEAT;TRANSFER;;;;; -HEAT;TREFINER;;;;; -HEAT;TRNONSPE;;;;; -HEAT;WOODPRO;sehe;fehe_otherInd;tdhe_otherInd;1; -HEATNS;ELMAINC;;;;; -HEATNS;ELMAINE;;;;; -HEATNS;HEATOUT;;;;; -HEATNS;HEMAINC;;;;; -HEATNS;HEMAINH;;;;; -HYDRO;AUTOELEC;;;;; -HYDRO;ELAUTOC;;;;; -HYDRO;ELAUTOE;;;;; -HYDRO;ELMAINC;;;;; -HYDRO;ELMAINE;;;;; -HYDRO;ELOUTPUT;pehyd;seel;hydro;1; -HYDRO;HEAUTOC;;;;; -HYDRO;HEMAINC;;;;; -HYDRO;INDPROD;;;;; -HYDRO;MAINELEC;;;;; -HYDRO;TES;;;;; -HYDRO;TOTTRANF;;;;; -INDWASTE;AGRICULT;sesobio;feso_otherInd;tdso_otherInd;1; -INDWASTE;AUTOCHP;;;;; -INDWASTE;AUTOELEC;;;;; -INDWASTE;AUTOHEAT;;;;; -INDWASTE;CHEMICAL;sesobio;feso_chemicals;tdso_chemicals;1; -INDWASTE;COMMPUB;sesobio;fesob;tdbiosob;1; -INDWASTE;CONSTRUC;sesobio;feso_otherInd;tdso_otherInd;1; -INDWASTE;DISTLOSS;pebiolc;sesobio;biotr;-1; -INDWASTE;DOMESNAV;;;;; -INDWASTE;EBKB;;;;; -INDWASTE;EBLASTFUR;sesobio;feso_steel;tdso_steel;-1; -INDWASTE;ECOKEOVS;;;;; -INDWASTE;EGASWKS;;;;; -INDWASTE;ELAUTOC;pebiolc;seel;biochp;1; -INDWASTE;ELAUTOE;pebiolc;seel;bioigcc;1; -INDWASTE;ELMAINC;pebiolc;seel;biochp;1; -INDWASTE;ELMAINE;pebiolc;seel;bioigcc;1; -INDWASTE;ELOUTPUT;;;;; -INDWASTE;EMINES;;;;; -INDWASTE;ENONSPEC;pebiolc;sesobio;biotr;-1; -INDWASTE;EPOWERPLT;;;;; -INDWASTE;EREFINER;;;;; -INDWASTE;EXPORTS;;;;; -INDWASTE;FOODPRO;sesobio;feso_otherInd;tdso_otherInd;1; -INDWASTE;HEATOUT;;;;; -INDWASTE;HEAUTOC;pebiolc;sehe;biochp;1; -INDWASTE;HEAUTOH;pebiolc;sehe;biohp;1; -INDWASTE;HEMAINC;pebiolc;sehe;biochp;1; -INDWASTE;HEMAINH;pebiolc;sehe;biohp;1; -INDWASTE;IMPORTS;;;;; -INDWASTE;INDPROD;;;;; -INDWASTE;INONSPEC;sesobio;feso_otherInd;tdso_otherInd;1; -INDWASTE;IRONSTL;sesobio;feso_steel;tdso_steel;1; -INDWASTE;MACHINE;sesobio;feso_otherInd;tdso_otherInd;1; -INDWASTE;MAINCHP;;;;; -INDWASTE;MAINELEC;;;;; -INDWASTE;MAINHEAT;;;;; -INDWASTE;MANUFACT;;;;; -INDWASTE;MINING;sesobio;feso_otherInd;tdso_otherInd;1; -INDWASTE;NECHEM;;;;; -INDWASTE;NEINTREN;;;;; -INDWASTE;NEOTHER;;;;; -INDWASTE;NONENUSE;sesobio;feso_chemicals;tdso_chemicals;1; -INDWASTE;NONFERR;sesobio;feso_otherInd;tdso_otherInd;1; -INDWASTE;NONMET;sesobio;feso_cement;tdso_cement;1; -INDWASTE;ONONSPEC;sesobio;fesob;tdbiosob;1; -INDWASTE;PAPERPRO;sesobio;feso_otherInd;tdso_otherInd;1; -INDWASTE;RAIL;sesobio;feso_otherInd;tdso_otherInd;1; -INDWASTE;RESIDENT;sesobio;fesob;tdbiosob;1; -INDWASTE;STATDIFF;;;;; -INDWASTE;STOCKCHA;;;;; -INDWASTE;TCOKEOVS;;;;; -INDWASTE;TES;;;;; -INDWASTE;TEXTILES;sesobio;feso_otherInd;tdso_otherInd;1; -INDWASTE;TFC;pebiolc;sesobio;biotr;1; -INDWASTE;TGASWKS;;;;; -INDWASTE;TNONSPEC;;;;; -INDWASTE;TOTENGY;;;;; -INDWASTE;TOTIND;;;;; -INDWASTE;TOTTRANF;;;;; -INDWASTE;TOTTRANS;;;;; -INDWASTE;TRANSEQ;sesobio;feso_otherInd;tdso_otherInd;1; -INDWASTE;TRANSFER;;;;; -INDWASTE;TREFINER;;;;; -INDWASTE;WOODPRO;sesobio;feso_otherInd;tdso_otherInd;1; -JETGAS;AVBUNK;seliqfos;fedie;tdfosdie;-1; -JETGAS;AVBUNK;peoil;seliqfos;refliq;-1; -JETGAS;COMMPUB;seliqfos;fehob;tdfoshob;1; -JETGAS;DOMESAIR;seliqfos;fedie;tdfosdie;1; -JETGAS;EREFINER;;;;; -JETGAS;EXPORTS;;;;; -JETGAS;IMPORTS;;;;; -JETGAS;STATDIFF;;;;; -JETGAS;STOCKCHA;;;;; -JETGAS;TES;;;;; -JETGAS;TFC;peoil;seliqfos;refliq;1; -JETGAS;TOTENGY;;;;; -JETGAS;TOTTRANF;;;;; -JETGAS;TOTTRANS;;;;; -JETGAS;TRANSFER;;;;; -JETGAS;TREFINER;;;;; -LIGNITE;AGRICULT;sesofos;feso_otherInd;tdso_otherInd;1; -LIGNITE;AUTOCHP;;;;; -LIGNITE;AUTOELEC;;;;; -LIGNITE;AUTOHEAT;;;;; -LIGNITE;CHEMICAL;sesofos;feso_chemicals;tdso_chemicals;1; -LIGNITE;COMMPUB;sesofos;fesob;tdfossob;1; -LIGNITE;CONSTRUC;sesofos;feso_otherInd;tdso_otherInd;1; -LIGNITE;DISTLOSS;pecoal;sesofos;coaltr;-1; -LIGNITE;DOMESNAV;;;;; -LIGNITE;EBKB;;;;; -LIGNITE;EBLASTFUR;sesofos;feso_steel;tdso_steel;-1; -LIGNITE;EGASWKS;;;;; -LIGNITE;ELAUTOC;pecoal;seel;coalchp;1; -LIGNITE;ELAUTOE;pecoal;seel;pc;1; -LIGNITE;ELMAINC;pecoal;seel;coalchp;1; -LIGNITE;ELMAINE;pecoal;seel;pc;1; -LIGNITE;ELOUTPUT;;;;; -LIGNITE;EMINES;;;;; -LIGNITE;ENONSPEC;;;;; -LIGNITE;EPATFUEL;;;;; -LIGNITE;EPOWERPLT;;;;; -LIGNITE;EREFINER;;;;; -LIGNITE;EXPORTS;;;;; -LIGNITE;FISHING;sesofos;feso_otherInd;tdso_otherInd;1; -LIGNITE;FOODPRO;sesofos;feso_otherInd;tdso_otherInd;1; -LIGNITE;HEATOUT;;;;; -LIGNITE;HEAUTOC;pecoal;sehe;coalchp;1; -LIGNITE;HEAUTOH;pecoal;sehe;coalhp;1; -LIGNITE;HEMAINC;pecoal;sehe;coalchp;1; -LIGNITE;HEMAINH;pecoal;sehe;coalhp;1; -LIGNITE;IMPORTS;;;;; -LIGNITE;INDPROD;;;;; -LIGNITE;INONSPEC;sesofos;feso_otherInd;tdso_otherInd;1; -LIGNITE;IRONSTL;sesofos;feso_steel;tdso_steel;1; -LIGNITE;MACHINE;sesofos;feso_otherInd;tdso_otherInd;1; -LIGNITE;MAINCHP;;;;; -LIGNITE;MAINELEC;;;;; -LIGNITE;MAINHEAT;;;;; -LIGNITE;MANUFACT;;;;; -LIGNITE;MINING;sesofos;feso_otherInd;tdso_otherInd;1; -LIGNITE;NECHEM;;;;; -LIGNITE;NEINTREN;;;;; -LIGNITE;NEOTHER;;;;; -LIGNITE;NONENUSE;sesofos;feso_chemicals;tdso_chemicals;1; -LIGNITE;NONFERR;sesofos;feso_otherInd;tdso_otherInd;1; -LIGNITE;NONMET;sesofos;feso_cement;tdso_cement;1; -LIGNITE;ONONSPEC;sesofos;fesob;tdfossob;1; -LIGNITE;PAPERPRO;sesofos;feso_otherInd;tdso_otherInd;1; -LIGNITE;RAIL;sesofos;feso_otherInd;tdso_otherInd;1; -LIGNITE;RESIDENT;sesofos;fesob;tdfossob;1; -LIGNITE;STATDIFF;;;;; -LIGNITE;STOCKCHA;;;;; -LIGNITE;TBKB;;;;; -LIGNITE;TBLASTFUR;sesofos;feso_steel;tdso_steel;-1; -LIGNITE;TBLASTFUR;pecoal;sesofos;coaltr;-1; -LIGNITE;TCOKEOVS;;;;; -LIGNITE;TES;;;;; -LIGNITE;TEXTILES;sesofos;feso_otherInd;tdso_otherInd;1; -LIGNITE;TFC;pecoal;sesofos;coaltr;1; -LIGNITE;TGASWKS;;;;; -LIGNITE;TNONSPEC;;;;; -LIGNITE;TOTENGY;;;;; -LIGNITE;TOTIND;;;;; -LIGNITE;TOTTRANF;;;;; -LIGNITE;TOTTRANS;;;;; -LIGNITE;TPATFUEL;;;;; -LIGNITE;TRANSEQ;sesofos;feso_otherInd;tdso_otherInd;1; -LIGNITE;TRANSFER;;;;; -LIGNITE;TREFINER;;;;; -LIGNITE;TRNONSPE;;;;; -LIGNITE;WOODPRO;sesofos;feso_otherInd;tdso_otherInd;1; -LPG;AGRICULT;seliqfos;feli_otherInd;tdli_otherInd;1; -LPG;AUTOCHP;;;;; -LPG;AUTOELEC;;;;; -LPG;AUTOHEAT;;;;; -LPG;AVBUNK;seliqfos;fedie;tdfosdie;-1; -LPG;AVBUNK;peoil;seliqfos;refliq;-1; -LPG;CHEMICAL;seliqfos;feli_chemicals;tdli_chemicals;1; -LPG;COMMPUB;seliqfos;fehob;tdfoshob;1; -LPG;CONSTRUC;seliqfos;feli_otherInd;tdli_otherInd;1; -LPG;DISTLOSS;peoil;seliqfos;refliq;-1; -LPG;DOMESAIR;seliqfos;fedie;tdfosdie;1; -LPG;DOMESNAV;seliqfos;fedie;tdfosdie;1; -LPG;EBLASTFUR;seliqfos;feli_steel;tdli_steel;-1; -LPG;ECOKEOVS;seliqfos;feli_steel;tdli_steel;-1; -LPG;EGASWKS;;;;; -LPG;ELAUTOC;;;;; -LPG;ELAUTOE;peoil;seel;dot;1; -LPG;ELMAINC;;;;; -LPG;ELMAINE;peoil;seel;dot;1; -LPG;ELOUTPUT;;;;; -LPG;EMINES;;;;; -LPG;ENONSPEC;;;;; -LPG;EOILGASEX;;;;; -LPG;EPATFUEL;;;;; -LPG;EPOWERPLT;;;;; -LPG;EREFINER;;;;; -LPG;EXPORTS;;;;; -LPG;FISHING;seliqfos;feli_otherInd;tdli_otherInd;1; -LPG;FOODPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -LPG;HEATOUT;;;;; -LPG;HEAUTOC;;;;; -LPG;HEAUTOH;;;;; -LPG;HEMAINC;;;;; -LPG;HEMAINH;;;;; -LPG;IMPORTS;;;;; -LPG;INONSPEC;seliqfos;feli_otherInd;tdli_otherInd;1; -LPG;IRONSTL;seliqfos;feli_steel;tdli_steel;1; -LPG;MACHINE;seliqfos;feli_otherInd;tdli_otherInd;1; -LPG;MAINCHP;;;;; -LPG;MAINELEC;;;;; -LPG;MAINHEAT;;;;; -LPG;MANUFACT;;;;; -LPG;MINING;seliqfos;feli_otherInd;tdli_otherInd;1; -LPG;NECHEM;;;;; -LPG;NECONSTRUC;;;;; -LPG;NEFOODPRO;;;;; -LPG;NEIND;;;;; -LPG;NEINONSPEC;;;;; -LPG;NEINTREN;;;;; -LPG;NEIRONSTL;;;;; -LPG;NEMACHINE;;;;; -LPG;NEMINING;;;;; -LPG;NENONFERR;;;;; -LPG;NENONMET;;;;; -LPG;NEOTHER;;;;; -LPG;NEPAPERPRO;;;;; -LPG;NETEXTILES;;;;; -LPG;NETRANSEQ;;;;; -LPG;NEWOODPRO;;;;; -LPG;NONENUSE;seliqfos;feli_chemicals;tdli_chemicals;1; -LPG;NONENUSE;seliqfos;fehoi_cs;tdhoi_cs;0.8; -LPG;NONFERR;seliqfos;feli_otherInd;tdli_otherInd;1; -LPG;NONMET;seliqfos;feli_cement;tdli_cement;1; -LPG;ONONSPEC;seliqfos;fehob;tdfoshob;1; -LPG;PAPERPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -LPG;PIPELINE;;;;; -LPG;RAIL;seliqfos;fedie;tdfosdie;1; -LPG;RESIDENT;seliqfos;fehob;tdfoshob;1; -LPG;ROAD;seliqfos;fepet;tdfospet;1; -LPG;STATDIFF;;;;; -LPG;STOCKCHA;;;;; -LPG;TBLENDGAS;;;;; -LPG;TCOKEOVS;seliqfos;feli_steel;tdli_steel;-1; -LPG;TES;;;;; -LPG;TEXTILES;seliqfos;feli_otherInd;tdli_otherInd;1; -LPG;TFC;peoil;seliqfos;refliq;1; -LPG;TGASWKS;seliqfos;feli_otherInd;tdli_otherInd;-1; -LPG;TNONSPEC;;;;; -LPG;TOTENGY;;;;; -LPG;TOTIND;;;;; -LPG;TOTTRANF;;;;; -LPG;TOTTRANS;;;;; -LPG;TPATFUEL;;;;; -LPG;TPETCHEM;;;;; -LPG;TRANSEQ;seliqfos;feli_otherInd;tdli_otherInd;1; -LPG;TRANSFER;;;;; -LPG;TREFINER;;;;; -LPG;TRNONSPE;seliqfos;fedie;tdfosdie;1; -LPG;WOODPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -LUBRIC;AGRICULT;seliqfos;feli_otherInd;tdli_otherInd;1; -LUBRIC;AUTOELEC;;;;; -LUBRIC;CHEMICAL;seliqfos;feli_chemicals;tdli_chemicals;1; -LUBRIC;COMMPUB;seliqfos;fehob;tdfoshob;1; -LUBRIC;CONSTRUC;seliqfos;feli_otherInd;tdli_otherInd;1; -LUBRIC;DISTLOSS;peoil;seliqfos;refliq;-1; -LUBRIC;DOMESNAV;seliqfos;fedie;tdfosdie;1; -LUBRIC;ECOKEOVS;seliqfos;feli_steel;tdli_steel;-1; -LUBRIC;ELAUTOE;peoil;seel;dot;1; -LUBRIC;ELMAINC;;;;; -LUBRIC;ELMAINE;peoil;seel;dot;1; -LUBRIC;ELOUTPUT;;;;; -LUBRIC;EMINES;;;;; -LUBRIC;ENONSPEC;;;;; -LUBRIC;EOILGASEX;;;;; -LUBRIC;EPOWERPLT;;;;; -LUBRIC;EREFINER;;;;; -LUBRIC;EXPORTS;;;;; -LUBRIC;FISHING;seliqfos;feli_otherInd;tdli_otherInd;1; -LUBRIC;FOODPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -LUBRIC;HEATOUT;;;;; -LUBRIC;HEMAINC;;;;; -LUBRIC;HEMAINH;;;;; -LUBRIC;IMPORTS;;;;; -LUBRIC;INONSPEC;seliqfos;feli_otherInd;tdli_otherInd;1; -LUBRIC;IRONSTL;seliqfos;feli_steel;tdli_steel;1; -LUBRIC;MACHINE;seliqfos;feli_otherInd;tdli_otherInd;1; -LUBRIC;MAINCHP;;;;; -LUBRIC;MAINELEC;;;;; -LUBRIC;MAINHEAT;;;;; -LUBRIC;MANUFACT;;;;; -LUBRIC;MARBUNK;seliqfos;fedie;tdfosdie;-1; -LUBRIC;MARBUNK;peoil;seliqfos;refliq;-1; -LUBRIC;MINING;seliqfos;feli_otherInd;tdli_otherInd;1; -LUBRIC;NECHEM;;;;; -LUBRIC;NECONSTRUC;;;;; -LUBRIC;NEFOODPRO;;;;; -LUBRIC;NEIND;;;;; -LUBRIC;NEINONSPEC;;;;; -LUBRIC;NEINTREN;;;;; -LUBRIC;NEIRONSTL;;;;; -LUBRIC;NEMACHINE;;;;; -LUBRIC;NEMINING;;;;; -LUBRIC;NENONFERR;;;;; -LUBRIC;NENONMET;;;;; -LUBRIC;NEOTHER;;;;; -LUBRIC;NEPAPERPRO;;;;; -LUBRIC;NETEXTILES;;;;; -LUBRIC;NETRANS;;;;; -LUBRIC;NETRANSEQ;;;;; -LUBRIC;NEWOODPRO;;;;; -LUBRIC;NONENUSE;seliqfos;feli_chemicals;tdli_chemicals;1; -LUBRIC;NONENUSE;seliqfos;fehoi_cs;tdhoi_cs;0.5; -LUBRIC;NONFERR;seliqfos;feli_otherInd;tdli_otherInd;1; -LUBRIC;NONMET;seliqfos;feli_cement;tdli_cement;1; -LUBRIC;ONONSPEC;seliqfos;fehob;tdfoshob;1; -LUBRIC;PAPERPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -LUBRIC;RAIL;seliqfos;fedie;tdfosdie;1; -LUBRIC;RESIDENT;seliqfos;fehob;tdfoshob;1; -LUBRIC;ROAD;seliqfos;fepet;tdfospet;1; -LUBRIC;STATDIFF;;;;; -LUBRIC;STOCKCHA;;;;; -LUBRIC;TCOKEOVS;seliqfos;feli_steel;tdli_steel;-1; -LUBRIC;TES;;;;; -LUBRIC;TEXTILES;seliqfos;feli_otherInd;tdli_otherInd;1; -LUBRIC;TFC;peoil;seliqfos;refliq;1; -LUBRIC;TOTENGY;;;;; -LUBRIC;TOTIND;;;;; -LUBRIC;TOTTRANF;;;;; -LUBRIC;TOTTRANS;;;;; -LUBRIC;TPETCHEM;;;;; -LUBRIC;TRANSEQ;seliqfos;feli_otherInd;tdli_otherInd;1; -LUBRIC;TRANSFER;;;;; -LUBRIC;TREFINER;;;;; -LUBRIC;TRNONSPE;seliqfos;fedie;tdfosdie;1; -LUBRIC;WOODPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -MANGAS;ELAUTOC;;;;; -MANGAS;ELAUTOE;;;;; -MANGAS;ELMAINC;;;;; -MANGAS;ELMAINE;;;;; -MANGAS;ELOUTPUT;;;;; -MANGAS;HEATOUT;;;;; -MANGAS;HEAUTOC;;;;; -MANGAS;HEAUTOH;;;;; -MANGAS;HEMAINC;;;;; -MANGAS;HEMAINH;;;;; -MRENEW;AGRICULT;;;;; -MRENEW;AUTOCHP;;;;; -MRENEW;AUTOELEC;;;;; -MRENEW;AUTOHEAT;;;;; -MRENEW;AVBUNK;;;;; -MRENEW;CHEMICAL;;;;; -MRENEW;COMMPUB;;;;; -MRENEW;CONSTRUC;;;;; -MRENEW;DISTLOSS;;;;; -MRENEW;DOMESAIR;;;;; -MRENEW;DOMESNAV;;;;; -MRENEW;EBIOGAS;;;;; -MRENEW;EBKB;;;;; -MRENEW;EBLASTFUR;;;;; -MRENEW;ECHARCOAL;;;;; -MRENEW;ECOKEOVS;;;;; -MRENEW;EGASWKS;;;;; -MRENEW;ELAUTOC;;;;; -MRENEW;ELAUTOE;;;;; -MRENEW;ELMAINC;;;;; -MRENEW;ELMAINE;;;;; -MRENEW;ELOUTPUT;;;;; -MRENEW;EMINES;;;;; -MRENEW;ENONSPEC;;;;; -MRENEW;EOILGASEX;;;;; -MRENEW;EPOWERPLT;;;;; -MRENEW;EREFINER;;;;; -MRENEW;EXPORTS;;;;; -MRENEW;FISHING;;;;; -MRENEW;FOODPRO;;;;; -MRENEW;HEATOUT;;;;; -MRENEW;HEAUTOC;;;;; -MRENEW;HEAUTOH;;;;; -MRENEW;HEMAINC;;;;; -MRENEW;HEMAINH;;;;; -MRENEW;IMPORTS;;;;; -MRENEW;INDPROD;;;;; -MRENEW;INONSPEC;;;;; -MRENEW;IRONSTL;;;;; -MRENEW;MACHINE;;;;; -MRENEW;MAINCHP;;;;; -MRENEW;MAINELEC;;;;; -MRENEW;MAINHEAT;;;;; -MRENEW;MANUFACT;;;;; -MRENEW;MARBUNK;;;;; -MRENEW;MINING;;;;; -MRENEW;NONFERR;;;;; -MRENEW;NONMET;;;;; -MRENEW;ONONSPEC;;;;; -MRENEW;PAPERPRO;;;;; -MRENEW;PIPELINE;;;;; -MRENEW;RAIL;;;;; -MRENEW;RESIDENT;;;;; -MRENEW;ROAD;;;;; -MRENEW;STATDIFF;;;;; -MRENEW;STOCKCHA;;;;; -MRENEW;TBKB;;;;; -MRENEW;TBLASTFUR;;;;; -MRENEW;TBLENDGAS;;;;; -MRENEW;TCHARCOAL;;;;; -MRENEW;TCOKEOVS;;;;; -MRENEW;TES;;;;; -MRENEW;TEXTILES;;;;; -MRENEW;TFC;;;;; -MRENEW;TGASWKS;;;;; -MRENEW;TNONSPEC;;;;; -MRENEW;TOTENGY;;;;; -MRENEW;TOTIND;;;;; -MRENEW;TOTTRANF;;;;; -MRENEW;TOTTRANS;;;;; -MRENEW;TPATFUEL;;;;; -MRENEW;TPETCHEM;;;;; -MRENEW;TRANSEQ;;;;; -MRENEW;TRANSFER;;;;; -MRENEW;TRNONSPE;;;;; -MRENEW;WOODPRO;;;;; -MUNWASTEN;AGRICULT;sesobio;feso_otherInd;tdso_otherInd;1; -MUNWASTEN;AUTOCHP;;;;; -MUNWASTEN;AUTOELEC;;;;; -MUNWASTEN;AUTOHEAT;;;;; -MUNWASTEN;CHEMICAL;sesobio;feso_chemicals;tdso_chemicals;1; -MUNWASTEN;COMMPUB;sesobio;fesob;tdbiosob;1; -MUNWASTEN;CONSTRUC;sesobio;feso_otherInd;tdso_otherInd;1; -MUNWASTEN;DISTLOSS;pebiolc;sesobio;biotr;-1; -MUNWASTEN;EBKB;;;;; -MUNWASTEN;ECOKEOVS;;;;; -MUNWASTEN;ELAUTOC;pebiolc;seel;biochp;1; -MUNWASTEN;ELAUTOE;pebiolc;seel;bioigcc;1; -MUNWASTEN;ELMAINC;pebiolc;seel;biochp;1; -MUNWASTEN;ELMAINE;pebiolc;seel;bioigcc;1; -MUNWASTEN;ELOUTPUT;;;;; -MUNWASTEN;ENONSPEC;pebiolc;sesobio;biotr;-1; -MUNWASTEN;EPOWERPLT;;;;; -MUNWASTEN;EREFINER;;;;; -MUNWASTEN;EXPORTS;;;;; -MUNWASTEN;FOODPRO;sesobio;feso_otherInd;tdso_otherInd;1; -MUNWASTEN;HEATOUT;;;;; -MUNWASTEN;HEAUTOC;pebiolc;sehe;biochp;1; -MUNWASTEN;HEAUTOH;pebiolc;sehe;biohp;1; -MUNWASTEN;HEMAINC;pebiolc;sehe;biochp;1; -MUNWASTEN;HEMAINH;pebiolc;sehe;biohp;1; -MUNWASTEN;IMPORTS;;;;; -MUNWASTEN;INDPROD;;;;; -MUNWASTEN;INONSPEC;sesobio;feso_otherInd;tdso_otherInd;1; -MUNWASTEN;IRONSTL;sesobio;feso_steel;tdso_steel;1; -MUNWASTEN;MACHINE;sesobio;feso_otherInd;tdso_otherInd;1; -MUNWASTEN;MAINCHP;;;;; -MUNWASTEN;MAINELEC;;;;; -MUNWASTEN;MAINHEAT;;;;; -MUNWASTEN;MANUFACT;;;;; -MUNWASTEN;MINING;sesobio;feso_otherInd;tdso_otherInd;1; -MUNWASTEN;NEINTREN;;;;; -MUNWASTEN;NONENUSE;sesobio;feso_chemicals;tdso_chemicals;1; -MUNWASTEN;NONFERR;sesobio;feso_otherInd;tdso_otherInd;1; -MUNWASTEN;NONMET;sesobio;feso_cement;tdso_cement;1; -MUNWASTEN;ONONSPEC;sesobio;fesob;tdbiosob;1; -MUNWASTEN;PAPERPRO;sesobio;feso_otherInd;tdso_otherInd;1; -MUNWASTEN;RESIDENT;sesobio;fesob;tdbiosob;1; -MUNWASTEN;STATDIFF;;;;; -MUNWASTEN;STOCKCHA;;;;; -MUNWASTEN;TES;;;;; -MUNWASTEN;TEXTILES;sesobio;feso_otherInd;tdso_otherInd;1; -MUNWASTEN;TFC;pebiolc;sesobio;biotr;1; -MUNWASTEN;TOTENGY;;;;; -MUNWASTEN;TOTIND;;;;; -MUNWASTEN;TOTTRANF;;;;; -MUNWASTEN;TRANSEQ;sesobio;feso_otherInd;tdso_otherInd;1; -MUNWASTEN;WOODPRO;sesobio;feso_otherInd;tdso_otherInd;1; -MUNWASTER;AGRICULT;sesobio;feso_otherInd;tdso_otherInd;1; -MUNWASTER;AUTOCHP;;;;; -MUNWASTER;AUTOELEC;;;;; -MUNWASTER;AUTOHEAT;;;;; -MUNWASTER;CHEMICAL;sesobio;feso_chemicals;tdso_chemicals;1; -MUNWASTER;COMMPUB;sesobio;fesob;tdbiosob;1; -MUNWASTER;CONSTRUC;sesobio;feso_otherInd;tdso_otherInd;1; -MUNWASTER;DISTLOSS;pebiolc;sesobio;biotr;-1; -MUNWASTER;EBKB;;;;; -MUNWASTER;ECOKEOVS;;;;; -MUNWASTER;ELAUTOC;pebiolc;seel;biochp;1; -MUNWASTER;ELAUTOE;pebiolc;seel;bioigcc;1; -MUNWASTER;ELMAINC;pebiolc;seel;biochp;1; -MUNWASTER;ELMAINE;pebiolc;seel;bioigcc;1; -MUNWASTER;ELOUTPUT;;;;; -MUNWASTER;ENONSPEC;pebiolc;sesobio;biotr;-1; -MUNWASTER;EPOWERPLT;;;;; -MUNWASTER;EREFINER;;;;; -MUNWASTER;EXPORTS;;;;; -MUNWASTER;FOODPRO;sesobio;feso_otherInd;tdso_otherInd;1; -MUNWASTER;HEATOUT;;;;; -MUNWASTER;HEAUTOC;pebiolc;sehe;biochp;1; -MUNWASTER;HEAUTOH;pebiolc;sehe;biohp;1; -MUNWASTER;HEMAINC;pebiolc;sehe;biochp;1; -MUNWASTER;HEMAINH;pebiolc;sehe;biohp;1; -MUNWASTER;IMPORTS;;;;; -MUNWASTER;INDPROD;;;;; -MUNWASTER;INONSPEC;sesobio;feso_otherInd;tdso_otherInd;1; -MUNWASTER;IRONSTL;sesobio;feso_steel;tdso_steel;1; -MUNWASTER;MACHINE;sesobio;feso_otherInd;tdso_otherInd;1; -MUNWASTER;MAINCHP;;;;; -MUNWASTER;MAINELEC;;;;; -MUNWASTER;MAINHEAT;;;;; -MUNWASTER;MANUFACT;;;;; -MUNWASTER;MINING;sesobio;feso_otherInd;tdso_otherInd;1; -MUNWASTER;NEINTREN;;;;; -MUNWASTER;NONENUSE;sesobio;feso_chemicals;tdso_chemicals;1; -MUNWASTER;NONFERR;sesobio;feso_otherInd;tdso_otherInd;1; -MUNWASTER;NONMET;sesobio;feso_cement;tdso_cement;1; -MUNWASTER;ONONSPEC;sesobio;fesob;tdbiosob;1; -MUNWASTER;PAPERPRO;sesobio;feso_otherInd;tdso_otherInd;1; -MUNWASTER;RESIDENT;sesobio;fesob;tdbiosob;1; -MUNWASTER;STATDIFF;;;;; -MUNWASTER;STOCKCHA;;;;; -MUNWASTER;TES;;;;; -MUNWASTER;TEXTILES;sesobio;feso_otherInd;tdso_otherInd;1; -MUNWASTER;TFC;pebiolc;sesobio;biotr;1; -MUNWASTER;TOTENGY;;;;; -MUNWASTER;TOTIND;;;;; -MUNWASTER;TOTTRANF;;;;; -MUNWASTER;TRANSEQ;sesobio;feso_otherInd;tdso_otherInd;1; -MUNWASTER;WOODPRO;sesobio;feso_otherInd;tdso_otherInd;1; -NAPHTHA;AGRICULT;seliqfos;feli_otherInd;tdli_otherInd;1; -NAPHTHA;AUTOCHP;;;;; -NAPHTHA;AUTOELEC;;;;; -NAPHTHA;AUTOHEAT;;;;; -NAPHTHA;CHEMICAL;seliqfos;feli_chemicals;tdli_chemicals;1; -NAPHTHA;COMMPUB;seliqfos;fehob;tdfoshob;1; -NAPHTHA;CONSTRUC;seliqfos;feli_otherInd;tdli_otherInd;1; -NAPHTHA;DISTLOSS;peoil;seliqfos;refliq;-1; -NAPHTHA;ECOKEOVS;seliqfos;feli_steel;tdli_steel;-1; -NAPHTHA;EGASWKS;;;;; -NAPHTHA;ELAUTOC;;;;; -NAPHTHA;ELAUTOE;peoil;seel;dot;1; -NAPHTHA;ELMAINC;;;;; -NAPHTHA;ELMAINE;peoil;seel;dot;1; -NAPHTHA;ELOUTPUT;;;;; -NAPHTHA;EOILGASEX;;;;; -NAPHTHA;EPOWERPLT;;;;; -NAPHTHA;EREFINER;;;;; -NAPHTHA;EXPORTS;;;;; -NAPHTHA;FOODPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -NAPHTHA;HEATOUT;;;;; -NAPHTHA;HEAUTOC;;;;; -NAPHTHA;HEAUTOH;;;;; -NAPHTHA;HEMAINC;;;;; -NAPHTHA;HEMAINH;;;;; -NAPHTHA;IMPORTS;;;;; -NAPHTHA;INDPROD;;;;; -NAPHTHA;INONSPEC;seliqfos;feli_otherInd;tdli_otherInd;1; -NAPHTHA;IRONSTL;seliqfos;feli_steel;tdli_steel;1; -NAPHTHA;MACHINE;seliqfos;feli_otherInd;tdli_otherInd;1; -NAPHTHA;MAINCHP;;;;; -NAPHTHA;MAINELEC;;;;; -NAPHTHA;MAINHEAT;;;;; -NAPHTHA;MANUFACT;;;;; -NAPHTHA;MINING;seliqfos;feli_otherInd;tdli_otherInd;1; -NAPHTHA;NECHEM;;;;; -NAPHTHA;NECONSTRUC;;;;; -NAPHTHA;NEFOODPRO;;;;; -NAPHTHA;NEIND;;;;; -NAPHTHA;NEINONSPEC;;;;; -NAPHTHA;NEINTREN;;;;; -NAPHTHA;NEMACHINE;;;;; -NAPHTHA;NENONFERR;;;;; -NAPHTHA;NETEXTILES;;;;; -NAPHTHA;NETRANSEQ;;;;; -NAPHTHA;NONENUSE;seliqfos;feli_chemicals;tdli_chemicals;1; -NAPHTHA;NONENUSE;seliqfos;fehoi_cs;tdhoi_cs;0.8; -NAPHTHA;NONFERR;seliqfos;feli_otherInd;tdli_otherInd;1; -NAPHTHA;NONMET;seliqfos;feli_cement;tdli_cement;1; -NAPHTHA;ONONSPEC;seliqfos;fehob;tdfoshob;1; -NAPHTHA;PAPERPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -NAPHTHA;RESIDENT;seliqfos;fehob;tdfoshob;1; -NAPHTHA;ROAD;seliqfos;fepet;tdfospet;1; -NAPHTHA;STATDIFF;;;;; -NAPHTHA;STOCKCHA;;;;; -NAPHTHA;TBLENDGAS;;;;; -NAPHTHA;TCOKEOVS;seliqfos;feli_steel;tdli_steel;-1; -NAPHTHA;TES;;;;; -NAPHTHA;TEXTILES;seliqfos;feli_otherInd;tdli_otherInd;1; -NAPHTHA;TFC;peoil;seliqfos;refliq;1; -NAPHTHA;TGASWKS;seliqfos;feli_otherInd;tdli_otherInd;-1; -NAPHTHA;TNONSPEC;;;;; -NAPHTHA;TOTENGY;;;;; -NAPHTHA;TOTIND;;;;; -NAPHTHA;TOTTRANF;;;;; -NAPHTHA;TOTTRANS;;;;; -NAPHTHA;TPETCHEM;;;;; -NAPHTHA;TRANSEQ;seliqfos;feli_otherInd;tdli_otherInd;1; -NAPHTHA;TRANSFER;;;;; -NAPHTHA;TREFINER;;;;; -NAPHTHA;WOODPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -NATGAS;AGRICULT;segafos;fega_otherInd;tdga_otherInd;1; -NATGAS;AUTOCHP;;;;; -NATGAS;AUTOELEC;;;;; -NATGAS;AUTOHEAT;;;;; -NATGAS;CHEMICAL;segafos;fega_chemicals;tdga_chemicals;1; -NATGAS;COMMPUB;segafos;fegab;tdfosgab;1; -NATGAS;CONSTRUC;segafos;fega_otherInd;tdga_otherInd;1; -NATGAS;DISTLOSS;pegas;segafos;gastr;-1; -NATGAS;DOMESNAV;segafos;fegat;tdfosgat;1; -NATGAS;EBLASTFUR;;;;; -NATGAS;ECOKEOVS;;;;; -NATGAS;EGASWKS;;;;; -NATGAS;ELAUTOC;pegas;seel;gaschp;1; -NATGAS;ELAUTOE;pegas;seel;x_gas2elec;1; -NATGAS;ELMAINC;pegas;seel;gaschp;1; -NATGAS;ELMAINE;pegas;seel;x_gas2elec;1; -NATGAS;ELNG;;;;; -NATGAS;ELOUTPUT;;;;; -NATGAS;EMINES;;;;; -NATGAS;ENONSPEC;;;;; -NATGAS;EOILGASEX;;;;; -NATGAS;EPATFUEL;;;;; -NATGAS;EPOWERPLT;;;;; -NATGAS;EREFINER;segafos;fega_chemicals;tdga_chemicals;-1; -NATGAS;EREFINER;pegas;segafos;gastr;-1; -NATGAS;EXPORTS;;;;; -NATGAS;FISHING;segafos;fega_otherInd;tdga_otherInd;1; -NATGAS;FOODPRO;segafos;fega_otherInd;tdga_otherInd;1; -NATGAS;HEATOUT;;;;; -NATGAS;HEAUTOC;pegas;sehe;gaschp;1; -NATGAS;HEAUTOH;pegas;sehe;gashp;1; -NATGAS;HEMAINC;pegas;sehe;gaschp;1; -NATGAS;HEMAINH;pegas;sehe;gashp;1; -NATGAS;IMPORTS;;;;; -NATGAS;INDPROD;;;;; -NATGAS;INONSPEC;segafos;fega_otherInd;tdga_otherInd;1; -NATGAS;IRONSTL;segafos;fega_steel;tdga_steel;1; -NATGAS;MACHINE;segafos;fega_otherInd;tdga_otherInd;1; -NATGAS;MAINCHP;;;;; -NATGAS;MAINELEC;;;;; -NATGAS;MAINHEAT;;;;; -NATGAS;MANUFACT;;;;; -NATGAS;MARBUNK;segafos;fegat;tdfosgat;-1; -NATGAS;MINING;segafos;fega_otherInd;tdga_otherInd;1; -NATGAS;NECHEM;;;;; -NATGAS;NEIND;;;;; -NATGAS;NEINONSPEC;;;;; -NATGAS;NEINTREN;;;;; -NATGAS;NEIRONSTL;;;;; -NATGAS;NEMACHINE;;;;; -NATGAS;NEMINING;;;;; -NATGAS;NENONFERR;;;;; -NATGAS;NEOTHER;;;;; -NATGAS;NETRANS;;;;; -NATGAS;NONENUSE;segafos;fega_chemicals;tdga_chemicals;1; -NATGAS;NONENUSE;segafos;fegai_cs;tdfosgai_cs;0.33; -NATGAS;NONFERR;segafos;fega_otherInd;tdga_otherInd;1; -NATGAS;NONMET;segafos;fega_cement;tdga_cement;1; -NATGAS;ONONSPEC;segafos;fegab;tdfosgab;1; -NATGAS;PAPERPRO;segafos;fega_otherInd;tdga_otherInd;1; -NATGAS;PIPELINE;;;;; -NATGAS;RAIL;segafos;fegat;tdfosgat;1; -NATGAS;RESIDENT;segafos;fegab;tdfosgab;1; -NATGAS;ROAD;segafos;fegat;tdfosgat;1; -NATGAS;STATDIFF;;;;; -NATGAS;STOCKCHA;;;;; -NATGAS;TBLASTFUR;segafos;fega_steel;tdga_steel;1; -NATGAS;TBLENDGAS;;;;; -NATGAS;TCOALLIQ;;;;; -NATGAS;TCOKEOVS;segafos;fega_steel;tdga_steel;1; -NATGAS;TES;;;;; -NATGAS;TEXTILES;segafos;fega_otherInd;tdga_otherInd;1; -NATGAS;TFC;pegas;segafos;gastr;1; -NATGAS;TGASWKS;;;;; -NATGAS;TGTL;;;;; -NATGAS;TNONSPEC;;;;; -NATGAS;TOTENGY;;;;; -NATGAS;TOTIND;;;;; -NATGAS;TOTTRANF;;;;; -NATGAS;TOTTRANS;;;;; -NATGAS;TPATFUEL;;;;; -NATGAS;TRANSEQ;segafos;fega_otherInd;tdga_otherInd;1; -NATGAS;TRANSFER;;;;; -NATGAS;TREFINER;segafos;fega_chemicals;tdga_chemicals;-1; -NATGAS;TREFINER;pegas;segafos;gastr;-1; -NATGAS;TRNONSPE;segafos;fegat;tdfosgat;1; -NATGAS;WOODPRO;segafos;fega_otherInd;tdga_otherInd;1; -NGL;AGRICULT;seliqfos;feli_otherInd;tdli_otherInd;1; -NGL;AUTOCHP;;;;; -NGL;AUTOELEC;;;;; -NGL;AUTOHEAT;;;;; -NGL;CHEMICAL;seliqfos;feli_chemicals;tdli_chemicals;1; -NGL;COMMPUB;seliqfos;fehob;tdfoshob;1; -NGL;CONSTRUC;seliqfos;feli_otherInd;tdli_otherInd;1; -NGL;DISTLOSS;peoil;seliqfos;refliq;-1; -NGL;ELAUTOC;;;;; -NGL;ELAUTOE;peoil;seel;dot;1; -NGL;ELMAINC;;;;; -NGL;ELMAINE;peoil;seel;dot;1; -NGL;ELOUTPUT;;;;; -NGL;ENONSPEC;;;;; -NGL;EOILGASEX;;;;; -NGL;EPOWERPLT;;;;; -NGL;EREFINER;;;;; -NGL;EXPORTS;;;;; -NGL;FOODPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -NGL;HEATOUT;;;;; -NGL;HEAUTOC;;;;; -NGL;HEAUTOH;;;;; -NGL;HEMAINC;;;;; -NGL;IMPORTS;;;;; -NGL;INDPROD;;;;; -NGL;INONSPEC;seliqfos;feli_otherInd;tdli_otherInd;1; -NGL;IRONSTL;seliqfos;feli_steel;tdli_steel;1; -NGL;MACHINE;seliqfos;feli_otherInd;tdli_otherInd;1; -NGL;MAINELEC;;;;; -NGL;MANUFACT;;;;; -NGL;MINING;seliqfos;feli_otherInd;tdli_otherInd;1; -NGL;NECHEM;;;;; -NGL;NEIND;;;;; -NGL;NEINONSPEC;;;;; -NGL;NEINTREN;;;;; -NGL;NEOTHER;;;;; -NGL;NONENUSE;seliqfos;feli_chemicals;tdli_chemicals;1; -NGL;NONFERR;seliqfos;feli_otherInd;tdli_otherInd;1; -NGL;NONMET;seliqfos;feli_cement;tdli_cement;1; -NGL;PAPERPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -NGL;RESIDENT;seliqfos;fehob;tdfoshob;1; -NGL;ROAD;seliqfos;fepet;tdfospet;1;Transport NGL is either 0 for fedie and 1 for fepet or the opposite -NGL;STATDIFF;;;;; -NGL;STOCKCHA;;;;; -NGL;TES;;;;; -NGL;TEXTILES;seliqfos;feli_otherInd;tdli_otherInd;1; -NGL;TFC;peoil;seliqfos;refliq;1; -NGL;TGASWKS;seliqfos;feli_otherInd;tdli_otherInd;-1; -NGL;TOTENGY;;;;; -NGL;TOTIND;;;;; -NGL;TOTTRANF;;;;; -NGL;TOTTRANS;;;;; -NGL;TPETCHEM;;;;; -NGL;TRANSEQ;seliqfos;feli_otherInd;tdli_otherInd;1; -NGL;TRANSFER;;;;; -NGL;TREFINER;;;;; -NGL;WOODPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -NONBIODIES;AGRICULT;seliqfos;feli_otherInd;tdli_otherInd;1; -NONBIODIES;AUTOCHP;;;;; -NONBIODIES;AUTOELEC;;;;; -NONBIODIES;AUTOHEAT;;;;; -NONBIODIES;AVBUNK;seliqfos;fedie;tdfosdie;-1; -NONBIODIES;AVBUNK;peoil;seliqfos;refliq;-1; -NONBIODIES;CHEMICAL;seliqfos;feli_chemicals;tdli_chemicals;1; -NONBIODIES;COMMPUB;seliqfos;fehob;tdfoshob;1; -NONBIODIES;CONSTRUC;seliqfos;feli_otherInd;tdli_otherInd;1; -NONBIODIES;DISTLOSS;peoil;seliqfos;refliq;-1; -NONBIODIES;DOMESAIR;seliqfos;fedie;tdfosdie;1; -NONBIODIES;DOMESNAV;seliqfos;fedie;tdfosdie;1; -NONBIODIES;EBLASTFUR;seliqfos;feli_steel;tdli_steel;-1; -NONBIODIES;ECOKEOVS;seliqfos;feli_steel;tdli_steel;-1; -NONBIODIES;EGASWKS;;;;; -NONBIODIES;ELAUTOC;;;;; -NONBIODIES;ELAUTOE;peoil;seel;dot;1; -NONBIODIES;ELMAINC;;;;; -NONBIODIES;ELMAINE;peoil;seel;dot;1; -NONBIODIES;ELOUTPUT;;;;; -NONBIODIES;EMINES;;;;; -NONBIODIES;ENONSPEC;;;;; -NONBIODIES;EOILGASEX;;;;; -NONBIODIES;EPATFUEL;;;;; -NONBIODIES;EPOWERPLT;;;;; -NONBIODIES;EREFINER;;;;; -NONBIODIES;EXPORTS;;;;; -NONBIODIES;FISHING;seliqfos;feli_otherInd;tdli_otherInd;1; -NONBIODIES;FOODPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -NONBIODIES;HEATOUT;;;;; -NONBIODIES;HEAUTOC;;;;; -NONBIODIES;HEAUTOH;;;;; -NONBIODIES;HEMAINC;;;;; -NONBIODIES;HEMAINH;;;;; -NONBIODIES;IMPORTS;;;;; -NONBIODIES;INONSPEC;seliqfos;feli_otherInd;tdli_otherInd;1; -NONBIODIES;IRONSTL;seliqfos;feli_steel;tdli_steel;1; -NONBIODIES;MACHINE;seliqfos;feli_otherInd;tdli_otherInd;1; -NONBIODIES;MAINCHP;;;;; -NONBIODIES;MAINELEC;;;;; -NONBIODIES;MAINHEAT;;;;; -NONBIODIES;MANUFACT;;;;; -NONBIODIES;MARBUNK;seliqfos;fedie;tdfosdie;-1; -NONBIODIES;MARBUNK;peoil;seliqfos;refliq;-1; -NONBIODIES;MINING;seliqfos;feli_otherInd;tdli_otherInd;1; -NONBIODIES;NECHEM;;;;; -NONBIODIES;NECONSTRUC;;;;; -NONBIODIES;NEFOODPRO;;;;; -NONBIODIES;NEIND;;;;; -NONBIODIES;NEINONSPEC;;;;; -NONBIODIES;NEINTREN;;;;; -NONBIODIES;NEIRONSTL;;;;; -NONBIODIES;NEMACHINE;;;;; -NONBIODIES;NEMINING;;;;; -NONBIODIES;NENONFERR;;;;; -NONBIODIES;NENONMET;;;;; -NONBIODIES;NEOTHER;;;;; -NONBIODIES;NEPAPERPRO;;;;; -NONBIODIES;NETRANS;;;;; -NONBIODIES;NETRANSEQ;;;;; -NONBIODIES;NEWOODPRO;;;;; -NONBIODIES;NONENUSE;seliqfos;feli_chemicals;tdli_chemicals;1; -NONBIODIES;NONENUSE;seliqfos;fehoi_cs;tdhoi_cs;0.5; -NONBIODIES;NONFERR;seliqfos;feli_otherInd;tdli_otherInd;1; -NONBIODIES;NONMET;seliqfos;feli_cement;tdli_cement;1; -NONBIODIES;ONONSPEC;seliqfos;fehob;tdfoshob;1; -NONBIODIES;PAPERPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -NONBIODIES;PIPELINE;;;;; -NONBIODIES;RAIL;seliqfos;fedie;tdfosdie;1; -NONBIODIES;RESIDENT;seliqfos;fehob;tdfoshob;1; -NONBIODIES;ROAD;seliqfos;fedie;tdfosdie;1; -NONBIODIES;STATDIFF;;;;; -NONBIODIES;STOCKCHA;;;;; -NONBIODIES;TBLENDGAS;;;;; -NONBIODIES;TCOALLIQ;;;;; -NONBIODIES;TCOKEOVS;seliqfos;feli_steel;tdli_steel;-1; -NONBIODIES;TES;;;;; -NONBIODIES;TEXTILES;seliqfos;feli_otherInd;tdli_otherInd;1; -NONBIODIES;TFC;peoil;seliqfos;refliq;1; -NONBIODIES;TGASWKS;seliqfos;feli_otherInd;tdli_otherInd;-1; -NONBIODIES;TNONSPEC;;;;; -NONBIODIES;TOTENGY;;;;; -NONBIODIES;TOTIND;;;;; -NONBIODIES;TOTTRANF;;;;; -NONBIODIES;TOTTRANS;;;;; -NONBIODIES;TPETCHEM;;;;; -NONBIODIES;TRANSEQ;seliqfos;feli_otherInd;tdli_otherInd;1; -NONBIODIES;TRANSFER;;;;; -NONBIODIES;TREFINER;;;;; -NONBIODIES;TRNONSPE;seliqfos;fedie;tdfosdie;1; -NONBIODIES;WOODPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -NONBIOGASO;AGRICULT;seliqfos;feli_otherInd;tdli_otherInd;1; -NONBIOGASO;AUTOELEC;;;;; -NONBIOGASO;AVBUNK;seliqfos;fedie;tdfosdie;-1; -NONBIOGASO;AVBUNK;peoil;seliqfos;refliq;-1; -NONBIOGASO;CHEMICAL;seliqfos;feli_chemicals;tdli_chemicals;1; -NONBIOGASO;COMMPUB;seliqfos;fehob;tdfoshob;1; -NONBIOGASO;CONSTRUC;seliqfos;feli_otherInd;tdli_otherInd;1; -NONBIOGASO;DISTLOSS;peoil;seliqfos;refliq;-1; -NONBIOGASO;DOMESAIR;seliqfos;fedie;tdfosdie;1; -NONBIOGASO;DOMESNAV;seliqfos;fedie;tdfosdie;1; -NONBIOGASO;EGASWKS;;;;; -NONBIOGASO;ELAUTOC;;;;; -NONBIOGASO;ELAUTOE;peoil;seel;dot;1; -NONBIOGASO;ELMAINC;;;;; -NONBIOGASO;ELMAINE;peoil;seel;dot;1; -NONBIOGASO;ELOUTPUT;;;;; -NONBIOGASO;EMINES;;;;; -NONBIOGASO;ENONSPEC;;;;; -NONBIOGASO;EOILGASEX;;;;; -NONBIOGASO;EPOWERPLT;;;;; -NONBIOGASO;EREFINER;;;;; -NONBIOGASO;EXPORTS;;;;; -NONBIOGASO;FISHING;seliqfos;feli_otherInd;tdli_otherInd;1; -NONBIOGASO;FOODPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -NONBIOGASO;HEAUTOC;;;;; -NONBIOGASO;HEMAINC;;;;; -NONBIOGASO;IMPORTS;;;;; -NONBIOGASO;INONSPEC;seliqfos;feli_otherInd;tdli_otherInd;1; -NONBIOGASO;IRONSTL;seliqfos;feli_steel;tdli_steel;1; -NONBIOGASO;MACHINE;seliqfos;feli_otherInd;tdli_otherInd;1; -NONBIOGASO;MAINELEC;;;;; -NONBIOGASO;MANUFACT;;;;; -NONBIOGASO;MARBUNK;seliqfos;fedie;tdfosdie;-1; -NONBIOGASO;MARBUNK;peoil;seliqfos;refliq;-1; -NONBIOGASO;MINING;seliqfos;feli_otherInd;tdli_otherInd;1; -NONBIOGASO;NECHEM;;;;; -NONBIOGASO;NECONSTRUC;;;;; -NONBIOGASO;NEFOODPRO;;;;; -NONBIOGASO;NEIND;;;;; -NONBIOGASO;NEINONSPEC;;;;; -NONBIOGASO;NEINTREN;;;;; -NONBIOGASO;NEMACHINE;;;;; -NONBIOGASO;NEMINING;;;;; -NONBIOGASO;NENONFERR;;;;; -NONBIOGASO;NENONMET;;;;; -NONBIOGASO;NEOTHER;;;;; -NONBIOGASO;NETRANS;;;;; -NONBIOGASO;NETRANSEQ;;;;; -NONBIOGASO;NONENUSE;seliqfos;feli_chemicals;tdli_chemicals;1; -NONBIOGASO;NONENUSE;seliqfos;fehoi_cs;tdhoi_cs;0.5; -NONBIOGASO;NONFERR;seliqfos;feli_otherInd;tdli_otherInd;1; -NONBIOGASO;NONMET;seliqfos;feli_cement;tdli_cement;1; -NONBIOGASO;ONONSPEC;seliqfos;fehob;tdfoshob;1; -NONBIOGASO;PAPERPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -NONBIOGASO;PIPELINE;;;;; -NONBIOGASO;RAIL;seliqfos;fedie;tdfosdie;1; -NONBIOGASO;RESIDENT;seliqfos;fehob;tdfoshob;1; -NONBIOGASO;ROAD;seliqfos;fepet;tdfospet;1; -NONBIOGASO;STATDIFF;;;;; -NONBIOGASO;STOCKCHA;;;;; -NONBIOGASO;TES;;;;; -NONBIOGASO;TEXTILES;seliqfos;feli_otherInd;tdli_otherInd;1; -NONBIOGASO;TFC;peoil;seliqfos;refliq;1; -NONBIOGASO;TGASWKS;seliqfos;feli_otherInd;tdli_otherInd;-1; -NONBIOGASO;TNONSPEC;;;;; -NONBIOGASO;TOTENGY;;;;; -NONBIOGASO;TOTIND;;;;; -NONBIOGASO;TOTTRANF;;;;; -NONBIOGASO;TOTTRANS;;;;; -NONBIOGASO;TPETCHEM;;;;; -NONBIOGASO;TRANSEQ;seliqfos;feli_otherInd;tdli_otherInd;1; -NONBIOGASO;TRANSFER;;;;; -NONBIOGASO;TREFINER;;;;; -NONBIOGASO;TRNONSPE;seliqfos;fedie;tdfosdie;1; -NONBIOGASO;WOODPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -NONBIOJETK;AGRICULT;seliqfos;feli_otherInd;tdli_otherInd;1; -NONBIOJETK;AUTOCHP;;;;; -NONBIOJETK;AVBUNK;seliqfos;fedie;tdfosdie;-1; -NONBIOJETK;AVBUNK;peoil;seliqfos;refliq;-1; -NONBIOJETK;CHEMICAL;seliqfos;feli_chemicals;tdli_chemicals;1; -NONBIOJETK;COMMPUB;seliqfos;fehob;tdfoshob;1; -NONBIOJETK;CONSTRUC;seliqfos;feli_otherInd;tdli_otherInd;1; -NONBIOJETK;DISTLOSS;peoil;seliqfos;refliq;-1; -NONBIOJETK;DOMESAIR;seliqfos;fedie;tdfosdie;1; -NONBIOJETK;DOMESNAV;seliqfos;fedie;tdfosdie;1; -NONBIOJETK;ELAUTOC;;;;; -NONBIOJETK;ELAUTOE;peoil;seel;dot;1; -NONBIOJETK;ELMAINC;;;;; -NONBIOJETK;ELMAINE;peoil;seel;dot;1; -NONBIOJETK;ELOUTPUT;;;;; -NONBIOJETK;EMINES;;;;; -NONBIOJETK;ENONSPEC;;;;; -NONBIOJETK;EOILGASEX;;;;; -NONBIOJETK;EPOWERPLT;;;;; -NONBIOJETK;EREFINER;;;;; -NONBIOJETK;EXPORTS;;;;; -NONBIOJETK;FOODPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -NONBIOJETK;HEATOUT;;;;; -NONBIOJETK;HEAUTOC;;;;; -NONBIOJETK;HEMAINC;;;;; -NONBIOJETK;HEMAINH;;;;; -NONBIOJETK;IMPORTS;;;;; -NONBIOJETK;INONSPEC;seliqfos;feli_otherInd;tdli_otherInd;1; -NONBIOJETK;IRONSTL;seliqfos;feli_steel;tdli_steel;1; -NONBIOJETK;MACHINE;seliqfos;feli_otherInd;tdli_otherInd;1; -NONBIOJETK;MAINCHP;;;;; -NONBIOJETK;MAINELEC;;;;; -NONBIOJETK;MANUFACT;;;;; -NONBIOJETK;MARBUNK;seliqfos;fedie;tdfosdie;-1; -NONBIOJETK;MARBUNK;peoil;seliqfos;refliq;-1; -NONBIOJETK;MINING;seliqfos;feli_otherInd;tdli_otherInd;1; -NONBIOJETK;NECHEM;;;;; -NONBIOJETK;NEIND;;;;; -NONBIOJETK;NEINONSPEC;;;;; -NONBIOJETK;NEINTREN;;;;; -NONBIOJETK;NONENUSE;seliqfos;feli_chemicals;tdli_chemicals;1; -NONBIOJETK;NONFERR;seliqfos;feli_otherInd;tdli_otherInd;1; -NONBIOJETK;NONMET;seliqfos;feli_cement;tdli_cement;1; -NONBIOJETK;ONONSPEC;seliqfos;fehob;tdfoshob;1; -NONBIOJETK;PAPERPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -NONBIOJETK;RESIDENT;seliqfos;fehob;tdfoshob;1; -NONBIOJETK;ROAD;seliqfos;fedie;tdfosdie;1; -NONBIOJETK;STATDIFF;;;;; -NONBIOJETK;STOCKCHA;;;;; -NONBIOJETK;TES;;;;; -NONBIOJETK;TEXTILES;seliqfos;feli_otherInd;tdli_otherInd;1; -NONBIOJETK;TFC;peoil;seliqfos;refliq;1; -NONBIOJETK;TOTENGY;;;;; -NONBIOJETK;TOTIND;;;;; -NONBIOJETK;TOTTRANF;;;;; -NONBIOJETK;TOTTRANS;;;;; -NONBIOJETK;TPETCHEM;;;;; -NONBIOJETK;TRANSEQ;seliqfos;feli_otherInd;tdli_otherInd;1; -NONBIOJETK;TRANSFER;;;;; -NONBIOJETK;TREFINER;;;;; -NONBIOJETK;TRNONSPE;seliqfos;fedie;tdfosdie;1; -NONBIOJETK;WOODPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -NONCRUDE;STATDIFF;;;;; -NONCRUDE;TCOKEOVS;;;;; -NONCRUDE;TES;;;;; -NUCLEAR;AUTOCHP;;;;; -NUCLEAR;AUTOELEC;;;;; -NUCLEAR;ELAUTOC;;;;; -NUCLEAR;ELAUTOE;;;;; -NUCLEAR;ELMAINC;;;;; -NUCLEAR;ELMAINE;;;;; -NUCLEAR;ELOUTPUT;peur;seel;tnrs;1; -NUCLEAR;HEATOUT;;;;; -NUCLEAR;HEAUTOC;;;;; -NUCLEAR;HEMAINC;;;;; -NUCLEAR;HEMAINH;;;;; -NUCLEAR;INDPROD;;;;; -NUCLEAR;MAINCHP;;;;; -NUCLEAR;MAINELEC;;;;; -NUCLEAR;MAINHEAT;;;;; -NUCLEAR;TES;;;;; -NUCLEAR;TOTTRANF;;;;; -OBIOLIQ;AGRICULT;seliqbio;feli_otherInd;tdli_otherInd;1; -OBIOLIQ;AUTOCHP;;;;; -OBIOLIQ;AUTOELEC;;;;; -OBIOLIQ;AUTOHEAT;;;;; -OBIOLIQ;CHEMICAL;seliqbio;feli_chemicals;tdli_chemicals;1; -OBIOLIQ;COMMPUB;seliqbio;fehob;tdbiohob;1; -OBIOLIQ;CONSTRUC;seliqbio;feli_otherInd;tdli_otherInd;1; -OBIOLIQ;DISTLOSS;;;;; -OBIOLIQ;EBIOGAS;;;;; -OBIOLIQ;EBKB;;;;; -OBIOLIQ;ELAUTOC;pebiolc;seel;biochp;1; -OBIOLIQ;ELAUTOE;pebiolc;seel;bioigcc;1; -OBIOLIQ;ELMAINC;pebiolc;seel;biochp;1; -OBIOLIQ;ELMAINE;pebiolc;seel;bioigcc;1; -OBIOLIQ;ELOUTPUT;;;;; -OBIOLIQ;ENONSPEC;;;;; -OBIOLIQ;EPOWERPLT;;;;; -OBIOLIQ;EREFINER;;;;; -OBIOLIQ;EXPORTS;;;;; -OBIOLIQ;FOODPRO;seliqbio;feli_otherInd;tdli_otherInd;1; -OBIOLIQ;HEATOUT;;;;; -OBIOLIQ;HEAUTOC;pebiolc;sehe;biochp;1; -OBIOLIQ;HEAUTOH;pebiolc;sehe;biohp;1; -OBIOLIQ;HEMAINC;pebiolc;sehe;biochp;1; -OBIOLIQ;HEMAINH;pebiolc;sehe;biohp;1; -OBIOLIQ;IMPORTS;;;;; -OBIOLIQ;INDPROD;;;;; -OBIOLIQ;INONSPEC;seliqbio;feli_otherInd;tdli_otherInd;1; -OBIOLIQ;IRONSTL;seliqbio;feli_steel;tdli_steel;1; -OBIOLIQ;MACHINE;seliqbio;feli_otherInd;tdli_otherInd;1; -OBIOLIQ;MAINCHP;;;;; -OBIOLIQ;MAINELEC;;;;; -OBIOLIQ;MAINHEAT;;;;; -OBIOLIQ;MANUFACT;;;;; -OBIOLIQ;MINING;seliqbio;feli_otherInd;tdli_otherInd;1; -OBIOLIQ;NONFERR;seliqbio;feli_otherInd;tdli_otherInd;1; -OBIOLIQ;NONMET;seliqbio;feli_cement;tdli_cement;1; -OBIOLIQ;ONONSPEC;seliqbio;fehob;tdbiohob;1; -OBIOLIQ;PAPERPRO;seliqbio;feli_otherInd;tdli_otherInd;1; -OBIOLIQ;RESIDENT;seliqbio;fehob;tdbiohob;1; -OBIOLIQ;ROAD;seliqbio;fepet;tdbiopet;1; -OBIOLIQ;STATDIFF;;;;; -OBIOLIQ;STOCKCHA;;;;; -OBIOLIQ;TES;;;;; -OBIOLIQ;TEXTILES;seliqbio;feli_otherInd;tdli_otherInd;1; -OBIOLIQ;TFC;pebios;seliqbio;bioeths;1; -OBIOLIQ;TOTENGY;;;;; -OBIOLIQ;TOTIND;;;;; -OBIOLIQ;TOTTRANF;;;;; -OBIOLIQ;TOTTRANS;;;;; -OBIOLIQ;TRANSEQ;seliqbio;feli_otherInd;tdli_otherInd;1; -OBIOLIQ;TRANSFER;;;;; -OBIOLIQ;WOODPRO;seliqbio;feli_otherInd;tdli_otherInd;1; -OGASES;EBLASTFUR;pecoal;segafos;coalgas;1; -OGASES;MANUFACT;;;;; -OGASES;STATDIFF;;;;; -OGASES;TBLASTFUR;pecoal;segafos;coalgas;1; -OILSHALE;AUTOCHP;;;;; -OILSHALE;AUTOELEC;;;;; -OILSHALE;AUTOHEAT;;;;; -OILSHALE;CHEMICAL;sesofos;feso_chemicals;tdso_chemicals;1; -OILSHALE;CONSTRUC;sesofos;feso_otherInd;tdso_otherInd;1; -OILSHALE;DISTLOSS;;;;; -OILSHALE;ELAUTOC;;;;; -OILSHALE;ELAUTOE;;;;; -OILSHALE;ELMAINC;;;;; -OILSHALE;ELMAINE;;;;; -OILSHALE;ELOUTPUT;;;;; -OILSHALE;EXPORTS;;;;; -OILSHALE;FOODPRO;sesofos;feso_otherInd;tdso_otherInd;1; -OILSHALE;HEATOUT;;;;; -OILSHALE;HEAUTOC;;;;; -OILSHALE;HEAUTOH;;;;; -OILSHALE;HEMAINC;;;;; -OILSHALE;HEMAINH;;;;; -OILSHALE;IMPORTS;;;;; -OILSHALE;INDPROD;;;;; -OILSHALE;INONSPEC;sesofos;feso_otherInd;tdso_otherInd;1; -OILSHALE;IRONSTL;sesofos;feso_steel;tdso_steel;1; -OILSHALE;MACHINE;sesofos;feso_otherInd;tdso_otherInd;1; -OILSHALE;MAINCHP;;;;; -OILSHALE;MAINELEC;;;;; -OILSHALE;MAINHEAT;;;;; -OILSHALE;MANUFACT;;;;; -OILSHALE;MINING;sesofos;feso_otherInd;tdso_otherInd;1; -OILSHALE;NEINTREN;;;;; -OILSHALE;NONENUSE;sesofos;feso_chemicals;tdso_chemicals;1; -OILSHALE;NONFERR;sesofos;feso_otherInd;tdso_otherInd;1; -OILSHALE;NONMET;sesofos;feso_cement;tdso_cement;1; -OILSHALE;PAPERPRO;sesofos;feso_otherInd;tdso_otherInd;1; -OILSHALE;STATDIFF;;;;; -OILSHALE;STOCKCHA;;;;; -OILSHALE;TCOALLIQ;;;;; -OILSHALE;TES;;;;; -OILSHALE;TEXTILES;sesofos;feso_otherInd;tdso_otherInd;1; -OILSHALE;TFC;;;;; -OILSHALE;TOTIND;;;;; -OILSHALE;TOTTRANF;;;;; -OILSHALE;TRANSEQ;sesofos;feso_otherInd;tdso_otherInd;1; -OILSHALE;WOODPRO;sesofos;feso_otherInd;tdso_otherInd;1; -ONONSPEC;AGRICULT;seliqfos;feli_otherInd;tdli_otherInd;1; -ONONSPEC;AUTOCHP;;;;; -ONONSPEC;AUTOELEC;;;;; -ONONSPEC;AUTOHEAT;;;;; -ONONSPEC;AVBUNK;seliqfos;fedie;tdfosdie;-1; -ONONSPEC;AVBUNK;peoil;seliqfos;refliq;-1; -ONONSPEC;CHEMICAL;seliqfos;feli_chemicals;tdli_chemicals;1; -ONONSPEC;COMMPUB;seliqfos;fehob;tdfoshob;1; -ONONSPEC;CONSTRUC;seliqfos;feli_otherInd;tdli_otherInd;1; -ONONSPEC;DISTLOSS;peoil;seliqfos;refliq;-1; -ONONSPEC;DOMESAIR;seliqfos;fedie;tdfosdie;1; -ONONSPEC;DOMESNAV;seliqfos;fedie;tdfosdie;1; -ONONSPEC;EBLASTFUR;seliqfos;feli_steel;tdli_steel;-1; -ONONSPEC;ECOKEOVS;seliqfos;feli_steel;tdli_steel;-1; -ONONSPEC;ELAUTOC;;;;; -ONONSPEC;ELAUTOE;peoil;seel;dot;1; -ONONSPEC;ELMAINC;;;;; -ONONSPEC;ELMAINE;peoil;seel;dot;1; -ONONSPEC;ELOUTPUT;;;;; -ONONSPEC;EMINES;;;;; -ONONSPEC;ENONSPEC;;;;; -ONONSPEC;EOILGASEX;;;;; -ONONSPEC;EPOWERPLT;;;;; -ONONSPEC;EREFINER;;;;; -ONONSPEC;EXPORTS;;;;; -ONONSPEC;FISHING;seliqfos;feli_otherInd;tdli_otherInd;1; -ONONSPEC;FOODPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -ONONSPEC;HEATOUT;;;;; -ONONSPEC;HEAUTOC;;;;; -ONONSPEC;HEAUTOH;;;;; -ONONSPEC;HEMAINC;;;;; -ONONSPEC;HEMAINH;;;;; -ONONSPEC;IMPORTS;;;;; -ONONSPEC;INONSPEC;seliqfos;feli_otherInd;tdli_otherInd;1; -ONONSPEC;IRONSTL;seliqfos;feli_steel;tdli_steel;1; -ONONSPEC;MACHINE;seliqfos;feli_otherInd;tdli_otherInd;1; -ONONSPEC;MAINCHP;;;;; -ONONSPEC;MAINELEC;;;;; -ONONSPEC;MAINHEAT;;;;; -ONONSPEC;MANUFACT;;;;; -ONONSPEC;MARBUNK;seliqfos;fedie;tdfosdie;-1; -ONONSPEC;MARBUNK;peoil;seliqfos;refliq;-1; -ONONSPEC;MINING;seliqfos;feli_otherInd;tdli_otherInd;1; -ONONSPEC;NECHEM;;;;; -ONONSPEC;NECONSTRUC;;;;; -ONONSPEC;NEFOODPRO;;;;; -ONONSPEC;NEIND;;;;; -ONONSPEC;NEINONSPEC;;;;; -ONONSPEC;NEINTREN;;;;; -ONONSPEC;NEIRONSTL;;;;; -ONONSPEC;NEMACHINE;;;;; -ONONSPEC;NEMINING;;;;; -ONONSPEC;NENONFERR;;;;; -ONONSPEC;NENONMET;;;;; -ONONSPEC;NEOTHER;;;;; -ONONSPEC;NEPAPERPRO;;;;; -ONONSPEC;NETEXTILES;;;;; -ONONSPEC;NETRANS;;;;; -ONONSPEC;NETRANSEQ;;;;; -ONONSPEC;NEWOODPRO;;;;; -ONONSPEC;NONENUSE;seliqfos;feli_chemicals;tdli_chemicals;1; -ONONSPEC;NONFERR;seliqfos;feli_otherInd;tdli_otherInd;1; -ONONSPEC;NONMET;seliqfos;feli_cement;tdli_cement;1; -ONONSPEC;ONONSPEC;seliqfos;fehob;tdfoshob;1; -ONONSPEC;PAPERPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -ONONSPEC;PIPELINE;;;;; -ONONSPEC;RAIL;seliqfos;fedie;tdfosdie;1; -ONONSPEC;RESIDENT;seliqfos;fehob;tdfoshob;1; -ONONSPEC;ROAD;seliqfos;fepet;tdfospet;1; -ONONSPEC;STATDIFF;;;;; -ONONSPEC;STOCKCHA;;;;; -ONONSPEC;TBLENDGAS;;;;; -ONONSPEC;TCOKEOVS;seliqfos;feli_steel;tdli_steel;-1; -ONONSPEC;TES;;;;; -ONONSPEC;TEXTILES;seliqfos;feli_otherInd;tdli_otherInd;1; -ONONSPEC;TFC;peoil;seliqfos;refliq;1; -ONONSPEC;TGASWKS;seliqfos;feli_otherInd;tdli_otherInd;-1; -ONONSPEC;TNONSPEC;;;;; -ONONSPEC;TOTENGY;;;;; -ONONSPEC;TOTIND;;;;; -ONONSPEC;TOTTRANF;;;;; -ONONSPEC;TOTTRANS;;;;; -ONONSPEC;TPATFUEL;;;;; -ONONSPEC;TPETCHEM;;;;; -ONONSPEC;TRANSEQ;seliqfos;feli_otherInd;tdli_otherInd;1; -ONONSPEC;TRANSFER;;;;; -ONONSPEC;TREFINER;;;;; -ONONSPEC;TRNONSPE;seliqfos;fedie;tdfosdie;1; -ONONSPEC;WOODPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -OTHER;AUTOCHP;;;;; -OTHER;AUTOELEC;;;;; -OTHER;AUTOHEAT;;;;; -OTHER;ELAUTOC;;;;; -OTHER;ELAUTOE;;;;; -OTHER;ELMAINC;;;;; -OTHER;ELMAINE;;;;; -OTHER;ELOUTPUT;;;;; -OTHER;HEATOUT;;;;; -OTHER;HEAUTOC;;;;; -OTHER;HEAUTOH;;;;; -OTHER;HEMAINC;;;;; -OTHER;HEMAINH;;;;; -OTHER;INDPROD;;;;; -OTHER;MAINCHP;;;;; -OTHER;MAINELEC;;;;; -OTHER;MAINHEAT;;;;; -OTHER;TES;;;;; -OTHER;TOTTRANF;;;;; -OTHKERO;AGRICULT;seliqfos;feli_otherInd;tdli_otherInd;1; -OTHKERO;AUTOCHP;;;;; -OTHKERO;AUTOELEC;;;;; -OTHKERO;AUTOHEAT;;;;; -OTHKERO;AVBUNK;seliqfos;fedie;tdfosdie;-1; -OTHKERO;AVBUNK;peoil;seliqfos;refliq;-1; -OTHKERO;CHEMICAL;seliqfos;feli_chemicals;tdli_chemicals;1; -OTHKERO;COMMPUB;seliqfos;fehob;tdfoshob;1; -OTHKERO;CONSTRUC;seliqfos;feli_otherInd;tdli_otherInd;1; -OTHKERO;DISTLOSS;peoil;seliqfos;refliq;-1; -OTHKERO;DOMESAIR;seliqfos;fedie;tdfosdie;1; -OTHKERO;DOMESNAV;seliqfos;fedie;tdfosdie;1; -OTHKERO;ECOKEOVS;seliqfos;feli_steel;tdli_steel;-1; -OTHKERO;EGASWKS;;;;; -OTHKERO;ELAUTOC;;;;; -OTHKERO;ELAUTOE;peoil;seel;dot;1; -OTHKERO;ELMAINC;;;;; -OTHKERO;ELMAINE;peoil;seel;dot;1; -OTHKERO;ELOUTPUT;;;;; -OTHKERO;EMINES;;;;; -OTHKERO;ENONSPEC;;;;; -OTHKERO;EOILGASEX;;;;; -OTHKERO;EPOWERPLT;;;;; -OTHKERO;EREFINER;;;;; -OTHKERO;EXPORTS;;;;; -OTHKERO;FISHING;seliqfos;feli_otherInd;tdli_otherInd;1; -OTHKERO;FOODPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -OTHKERO;HEATOUT;;;;; -OTHKERO;HEAUTOC;;;;; -OTHKERO;HEMAINC;;;;; -OTHKERO;HEMAINH;;;;; -OTHKERO;IMPORTS;;;;; -OTHKERO;INONSPEC;seliqfos;feli_otherInd;tdli_otherInd;1; -OTHKERO;IRONSTL;seliqfos;feli_steel;tdli_steel;1; -OTHKERO;MACHINE;seliqfos;feli_otherInd;tdli_otherInd;1; -OTHKERO;MAINCHP;;;;; -OTHKERO;MAINELEC;;;;; -OTHKERO;MAINHEAT;;;;; -OTHKERO;MANUFACT;;;;; -OTHKERO;MINING;seliqfos;feli_otherInd;tdli_otherInd;1; -OTHKERO;NECHEM;;;;; -OTHKERO;NECONSTRUC;;;;; -OTHKERO;NEFOODPRO;;;;; -OTHKERO;NEIND;;;;; -OTHKERO;NEINONSPEC;;;;; -OTHKERO;NEINTREN;;;;; -OTHKERO;NEIRONSTL;;;;; -OTHKERO;NEMACHINE;;;;; -OTHKERO;NEMINING;;;;; -OTHKERO;NENONFERR;;;;; -OTHKERO;NENONMET;;;;; -OTHKERO;NEOTHER;;;;; -OTHKERO;NEPAPERPRO;;;;; -OTHKERO;NETRANS;;;;; -OTHKERO;NETRANSEQ;;;;; -OTHKERO;NONENUSE;seliqfos;feli_chemicals;tdli_chemicals;1; -OTHKERO;NONFERR;seliqfos;feli_otherInd;tdli_otherInd;1; -OTHKERO;NONMET;seliqfos;feli_cement;tdli_cement;1; -OTHKERO;ONONSPEC;seliqfos;fehob;tdfoshob;1; -OTHKERO;PAPERPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -OTHKERO;PIPELINE;;;;; -OTHKERO;RAIL;seliqfos;fedie;tdfosdie;1; -OTHKERO;RESIDENT;seliqfos;fehob;tdfoshob;1; -OTHKERO;ROAD;seliqfos;fedie;tdfosdie;1; -OTHKERO;STATDIFF;;;;; -OTHKERO;STOCKCHA;;;;; -OTHKERO;TBLENDGAS;;;;; -OTHKERO;TES;;;;; -OTHKERO;TEXTILES;seliqfos;feli_otherInd;tdli_otherInd;1; -OTHKERO;TFC;peoil;seliqfos;refliq;1; -OTHKERO;TOTENGY;;;;; -OTHKERO;TOTIND;;;;; -OTHKERO;TOTTRANF;;;;; -OTHKERO;TOTTRANS;;;;; -OTHKERO;TPETCHEM;;;;; -OTHKERO;TRANSEQ;seliqfos;feli_otherInd;tdli_otherInd;1; -OTHKERO;TRANSFER;;;;; -OTHKERO;TREFINER;;;;; -OTHKERO;TRNONSPE;seliqfos;fedie;tdfosdie;1; -OTHKERO;WOODPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -OVENCOKE;AUTOELEC;;;;; -OVENCOKE;COMMPUB;sesofos;fesob;tdfossob;1; -OVENCOKE;ECOKEOVS;;;;; -OVENCOKE;ELAUTOE;pecoal;seel;pc;1; -OVENCOKE;ELOUTPUT;;;;; -OVENCOKE;ENONSPEC;;;;; -OVENCOKE;EXPORTS;;;;; -OVENCOKE;FOODPRO;;;;; -OVENCOKE;IMPORTS;;;;; -OVENCOKE;INONSPEC;;;;; -OVENCOKE;IRONSTL;;;;; -OVENCOKE;MACHINE;;;;; -OVENCOKE;MANUFACT;;;;; -OVENCOKE;NEINTREN;;;;; -OVENCOKE;NONENUSE;;;;; -OVENCOKE;NONMET;;;;; -OVENCOKE;RESIDENT;sesofos;fesob;tdfossob;1; -OVENCOKE;STATDIFF;;;;; -OVENCOKE;STOCKCHA;;;;; -OVENCOKE;TCOKEOVS;;;;; -OVENCOKE;TES;;;;; -OVENCOKE;TFC;pecoal;sesofos;coaltr;1; -OVENCOKE;TOTENGY;;;;; -OVENCOKE;TOTIND;;;;; -OVENCOKE;TOTTRANF;;;;; -PARWAX;AGRICULT;seliqfos;feli_otherInd;tdli_otherInd;1; -PARWAX;CHEMICAL;seliqfos;feli_chemicals;tdli_chemicals;1; -PARWAX;COMMPUB;seliqfos;fehob;tdfoshob;1; -PARWAX;CONSTRUC;seliqfos;feli_otherInd;tdli_otherInd;1; -PARWAX;DISTLOSS;peoil;seliqfos;refliq;-1; -PARWAX;ENONSPEC;;;;; -PARWAX;EREFINER;;;;; -PARWAX;EXPORTS;;;;; -PARWAX;FOODPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -PARWAX;IMPORTS;;;;; -PARWAX;INONSPEC;seliqfos;feli_otherInd;tdli_otherInd;1; -PARWAX;IRONSTL;seliqfos;feli_steel;tdli_steel;1; -PARWAX;MACHINE;seliqfos;feli_otherInd;tdli_otherInd;1; -PARWAX;MANUFACT;;;;; -PARWAX;MINING;seliqfos;feli_otherInd;tdli_otherInd;1; -PARWAX;NECHEM;;;;; -PARWAX;NECONSTRUC;;;;; -PARWAX;NEFOODPRO;;;;; -PARWAX;NEIND;;;;; -PARWAX;NEINONSPEC;;;;; -PARWAX;NEINTREN;;;;; -PARWAX;NEIRONSTL;;;;; -PARWAX;NEMACHINE;;;;; -PARWAX;NEMINING;;;;; -PARWAX;NENONFERR;;;;; -PARWAX;NENONMET;;;;; -PARWAX;NEOTHER;;;;; -PARWAX;NEPAPERPRO;;;;; -PARWAX;NETEXTILES;;;;; -PARWAX;NETRANS;;;;; -PARWAX;NETRANSEQ;;;;; -PARWAX;NEWOODPRO;;;;; -PARWAX;NONENUSE;seliqfos;feli_chemicals;tdli_chemicals;1; -PARWAX;NONFERR;seliqfos;feli_otherInd;tdli_otherInd;1; -PARWAX;NONMET;seliqfos;feli_cement;tdli_cement;1; -PARWAX;PAPERPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -PARWAX;RESIDENT;seliqfos;fehob;tdfoshob;1; -PARWAX;STATDIFF;;;;; -PARWAX;STOCKCHA;;;;; -PARWAX;TES;;;;; -PARWAX;TEXTILES;seliqfos;feli_otherInd;tdli_otherInd;1; -PARWAX;TFC;peoil;seliqfos;refliq;1; -PARWAX;TOTENGY;;;;; -PARWAX;TOTIND;;;;; -PARWAX;TOTTRANF;;;;; -PARWAX;TOTTRANS;;;;; -PARWAX;TPETCHEM;;;;; -PARWAX;TRANSEQ;seliqfos;feli_otherInd;tdli_otherInd;1; -PARWAX;TRANSFER;;;;; -PARWAX;TREFINER;;;;; -PARWAX;TRNONSPE;seliqfos;fedie;tdfosdie;1; -PARWAX;WOODPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -PATFUEL;AGRICULT;sesofos;feso_otherInd;tdso_otherInd;1; -PATFUEL;AUTOCHP;;;;; -PATFUEL;AUTOELEC;;;;; -PATFUEL;AUTOHEAT;;;;; -PATFUEL;CHEMICAL;sesofos;feso_chemicals;tdso_chemicals;1; -PATFUEL;COMMPUB;sesofos;fesob;tdfossob;1; -PATFUEL;CONSTRUC;sesofos;feso_otherInd;tdso_otherInd;1; -PATFUEL;DISTLOSS;pecoal;sesofos;coaltr;-1; -PATFUEL;DOMESNAV;;;;; -PATFUEL;EBLASTFUR;sesofos;feso_steel;tdso_steel;-1; -PATFUEL;ECOKEOVS;;;;; -PATFUEL;EGASWKS;;;;; -PATFUEL;ELAUTOC;pecoal;seel;coalchp;1; -PATFUEL;ELAUTOE;pecoal;seel;pc;1; -PATFUEL;ELMAINC;pecoal;seel;coalchp;1; -PATFUEL;ELMAINE;pecoal;seel;pc;1; -PATFUEL;ELOUTPUT;;;;; -PATFUEL;EMINES;;;;; -PATFUEL;EPATFUEL;;;;; -PATFUEL;EPOWERPLT;;;;; -PATFUEL;EREFINER;;;;; -PATFUEL;EXPORTS;;;;; -PATFUEL;FISHING;sesofos;feso_otherInd;tdso_otherInd;1; -PATFUEL;FOODPRO;sesofos;feso_otherInd;tdso_otherInd;1; -PATFUEL;HEATOUT;;;;; -PATFUEL;HEAUTOC;pecoal;sehe;coalchp;1; -PATFUEL;HEAUTOH;pecoal;sehe;coalhp;1; -PATFUEL;HEMAINC;pecoal;sehe;coalchp;1; -PATFUEL;HEMAINH;pecoal;sehe;coalhp;1; -PATFUEL;IMPORTS;;;;; -PATFUEL;INDPROD;;;;; -PATFUEL;INONSPEC;sesofos;feso_otherInd;tdso_otherInd;1; -PATFUEL;IRONSTL;sesofos;feso_steel;tdso_steel;1; -PATFUEL;MACHINE;sesofos;feso_otherInd;tdso_otherInd;1; -PATFUEL;MAINCHP;;;;; -PATFUEL;MAINELEC;;;;; -PATFUEL;MAINHEAT;;;;; -PATFUEL;MANUFACT;;;;; -PATFUEL;MARBUNK;;;;; -PATFUEL;MINING;sesofos;feso_otherInd;tdso_otherInd;1; -PATFUEL;NEINTREN;;;;; -PATFUEL;NONENUSE;sesofos;feso_chemicals;tdso_chemicals;1; -PATFUEL;NONFERR;sesofos;feso_otherInd;tdso_otherInd;1; -PATFUEL;NONMET;sesofos;feso_cement;tdso_cement;1; -PATFUEL;ONONSPEC;sesofos;fesob;tdfossob;1; -PATFUEL;PAPERPRO;sesofos;feso_otherInd;tdso_otherInd;1; -PATFUEL;RAIL;sesofos;feso_otherInd;tdso_otherInd;1; -PATFUEL;RESIDENT;sesofos;fesob;tdfossob;1; -PATFUEL;STATDIFF;;;;; -PATFUEL;STOCKCHA;;;;; -PATFUEL;TBKB;;;;; -PATFUEL;TBLASTFUR;sesofos;feso_steel;tdso_steel;-1; -PATFUEL;TBLASTFUR;pecoal;sesofos;coaltr;-1; -PATFUEL;TCOALLIQ;;;;; -PATFUEL;TCOKEOVS;;;;; -PATFUEL;TES;;;;; -PATFUEL;TEXTILES;sesofos;feso_otherInd;tdso_otherInd;1; -PATFUEL;TFC;pecoal;sesofos;coaltr;1; -PATFUEL;TGASWKS;;;;; -PATFUEL;TOTENGY;;;;; -PATFUEL;TOTIND;;;;; -PATFUEL;TOTTRANF;;;;; -PATFUEL;TOTTRANS;;;;; -PATFUEL;TPATFUEL;;;;; -PATFUEL;TRANSEQ;sesofos;feso_otherInd;tdso_otherInd;1; -PATFUEL;TRANSFER;;;;; -PATFUEL;TREFINER;;;;; -PATFUEL;TRNONSPE;;;;; -PATFUEL;WOODPRO;sesofos;feso_otherInd;tdso_otherInd;1; -PEAT;AGRICULT;sesofos;feso_otherInd;tdso_otherInd;1; -PEAT;AUTOCHP;;;;; -PEAT;AUTOELEC;;;;; -PEAT;AUTOHEAT;;;;; -PEAT;CHEMICAL;sesofos;feso_chemicals;tdso_chemicals;1; -PEAT;COMMPUB;sesofos;fesob;tdfossob;1; -PEAT;CONSTRUC;sesofos;feso_otherInd;tdso_otherInd;1; -PEAT;DISTLOSS;pecoal;sesofos;coaltr;-1; -PEAT;EBKB;;;;; -PEAT;ELAUTOC;pecoal;seel;coalchp;1; -PEAT;ELAUTOE;pecoal;seel;pc;1; -PEAT;ELMAINC;pecoal;seel;coalchp;1; -PEAT;ELMAINE;pecoal;seel;pc;1; -PEAT;ELOUTPUT;;;;; -PEAT;EMINES;;;;; -PEAT;ENONSPEC;;;;; -PEAT;EPOWERPLT;;;;; -PEAT;EXPORTS;;;;; -PEAT;FOODPRO;sesofos;feso_otherInd;tdso_otherInd;1; -PEAT;HEATOUT;;;;; -PEAT;HEAUTOC;pecoal;sehe;coalchp;1; -PEAT;HEAUTOH;pecoal;sehe;coalhp;1; -PEAT;HEMAINC;pecoal;sehe;coalchp;1; -PEAT;HEMAINH;pecoal;sehe;coalhp;1; -PEAT;IMPORTS;;;;; -PEAT;INDPROD;;;;; -PEAT;INONSPEC;sesofos;feso_otherInd;tdso_otherInd;1; -PEAT;IRONSTL;sesofos;feso_steel;tdso_steel;1; -PEAT;MACHINE;sesofos;feso_otherInd;tdso_otherInd;1; -PEAT;MAINCHP;;;;; -PEAT;MAINELEC;;;;; -PEAT;MAINHEAT;;;;; -PEAT;MANUFACT;;;;; -PEAT;MINING;sesofos;feso_otherInd;tdso_otherInd;1; -PEAT;NONFERR;sesofos;feso_otherInd;tdso_otherInd;1; -PEAT;NONMET;sesofos;feso_cement;tdso_cement;1; -PEAT;ONONSPEC;sesofos;fesob;tdfossob;1; -PEAT;PAPERPRO;sesofos;feso_otherInd;tdso_otherInd;1; -PEAT;RAIL;sesofos;feso_otherInd;tdso_otherInd;1; -PEAT;RESIDENT;sesofos;fesob;tdfossob;1; -PEAT;STATDIFF;;;;; -PEAT;STOCKCHA;;;;; -PEAT;TBKB;;;;; -PEAT;TES;;;;; -PEAT;TEXTILES;sesofos;feso_otherInd;tdso_otherInd;1; -PEAT;TFC;pecoal;sesofos;coaltr;1; -PEAT;TOTENGY;;;;; -PEAT;TOTIND;;;;; -PEAT;TOTTRANF;;;;; -PEAT;TOTTRANS;;;;; -PEAT;TRANSEQ;sesofos;feso_otherInd;tdso_otherInd;1; -PEAT;WOODPRO;sesofos;feso_otherInd;tdso_otherInd;1; -PEATPROD;AGRICULT;sesofos;feso_otherInd;tdso_otherInd;1; -PEATPROD;AUTOCHP;;;;; -PEATPROD;AUTOHEAT;;;;; -PEATPROD;CHEMICAL;sesofos;feso_chemicals;tdso_chemicals;1; -PEATPROD;COMMPUB;sesofos;fesob;tdfossob;1; -PEATPROD;CONSTRUC;sesofos;feso_otherInd;tdso_otherInd;1; -PEATPROD;DISTLOSS;pecoal;sesofos;coaltr;-1; -PEATPROD;EBKB;;;;; -PEATPROD;ELAUTOC;pecoal;seel;coalchp;1; -PEATPROD;ELAUTOE;pecoal;seel;pc;1; -PEATPROD;ELMAINC;pecoal;seel;coalchp;1; -PEATPROD;ELMAINE;pecoal;seel;pc;1; -PEATPROD;ELOUTPUT;;;;; -PEATPROD;EMINES;;;;; -PEATPROD;ENONSPEC;;;;; -PEATPROD;EPOWERPLT;;;;; -PEATPROD;EXPORTS;;;;; -PEATPROD;FOODPRO;sesofos;feso_otherInd;tdso_otherInd;1; -PEATPROD;HEATOUT;;;;; -PEATPROD;HEAUTOC;pecoal;sehe;coalchp;1; -PEATPROD;HEAUTOH;pecoal;sehe;coalhp;1; -PEATPROD;HEMAINC;pecoal;sehe;coalchp;1; -PEATPROD;HEMAINH;pecoal;sehe;coalhp;1; -PEATPROD;IMPORTS;;;;; -PEATPROD;INONSPEC;sesofos;feso_otherInd;tdso_otherInd;1; -PEATPROD;IRONSTL;sesofos;feso_steel;tdso_steel;1; -PEATPROD;MACHINE;sesofos;feso_otherInd;tdso_otherInd;1; -PEATPROD;MAINCHP;;;;; -PEATPROD;MAINELEC;;;;; -PEATPROD;MAINHEAT;;;;; -PEATPROD;MANUFACT;;;;; -PEATPROD;MINING;sesofos;feso_otherInd;tdso_otherInd;1; -PEATPROD;NEINTREN;;;;; -PEATPROD;NONENUSE;sesofos;feso_chemicals;tdso_chemicals;1; -PEATPROD;NONFERR;sesofos;feso_otherInd;tdso_otherInd;1; -PEATPROD;NONMET;sesofos;feso_cement;tdso_cement;1; -PEATPROD;ONONSPEC;sesofos;fesob;tdfossob;1; -PEATPROD;PAPERPRO;sesofos;feso_otherInd;tdso_otherInd;1; -PEATPROD;RAIL;sesofos;feso_otherInd;tdso_otherInd;1; -PEATPROD;RESIDENT;sesofos;fesob;tdfossob;1; -PEATPROD;STATDIFF;;;;; -PEATPROD;STOCKCHA;;;;; -PEATPROD;TBKB;;;;; -PEATPROD;TES;;;;; -PEATPROD;TEXTILES;sesofos;feso_otherInd;tdso_otherInd;1; -PEATPROD;TFC;pecoal;sesofos;coaltr;1; -PEATPROD;TNONSPEC;;;;; -PEATPROD;TOTENGY;;;;; -PEATPROD;TOTIND;;;;; -PEATPROD;TOTTRANF;;;;; -PEATPROD;TOTTRANS;;;;; -PEATPROD;TRANSEQ;sesofos;feso_otherInd;tdso_otherInd;1; -PEATPROD;TRNONSPE;;;;; -PEATPROD;WOODPRO;sesofos;feso_otherInd;tdso_otherInd;1; -PETCOKE;AGRICULT;sesofos;feso_otherInd;tdso_otherInd;1; -PETCOKE;AUTOCHP;;;;; -PETCOKE;AUTOELEC;;;;; -PETCOKE;AUTOHEAT;;;;; -PETCOKE;CHEMICAL;sesofos;feso_chemicals;tdso_chemicals;1; -PETCOKE;COMMPUB;sesofos;fesob;tdfossob;1; -PETCOKE;CONSTRUC;sesofos;feso_otherInd;tdso_otherInd;1; -PETCOKE;DISTLOSS;peoil;seliqfos;refliq;-1; -PETCOKE;DOMESNAV;;;;; -PETCOKE;EBLASTFUR;sesofos;feso_steel;tdso_steel;-1; -PETCOKE;ECOKEOVS;;;;; -PETCOKE;EGASWKS;;;;; -PETCOKE;ELAUTOC;;;;; -PETCOKE;ELAUTOE;peoil;seel;dot;1; -PETCOKE;ELMAINC;;;;; -PETCOKE;ELMAINE;peoil;seel;dot;1; -PETCOKE;ELOUTPUT;;;;; -PETCOKE;EMINES;;;;; -PETCOKE;ENONSPEC;;;;; -PETCOKE;EOILGASEX;;;;; -PETCOKE;EPOWERPLT;;;;; -PETCOKE;EREFINER;;;;; -PETCOKE;EXPORTS;;;;; -PETCOKE;FOODPRO;sesofos;feso_otherInd;tdso_otherInd;1; -PETCOKE;HEATOUT;;;;; -PETCOKE;HEAUTOC;;;;; -PETCOKE;HEAUTOH;;;;; -PETCOKE;HEMAINC;;;;; -PETCOKE;HEMAINH;;;;; -PETCOKE;IMPORTS;;;;; -PETCOKE;INDPROD;;;;; -PETCOKE;INONSPEC;sesofos;feso_otherInd;tdso_otherInd;1; -PETCOKE;IRONSTL;sesofos;feso_steel;tdso_steel;1; -PETCOKE;MACHINE;sesofos;feso_otherInd;tdso_otherInd;1; -PETCOKE;MAINCHP;;;;; -PETCOKE;MAINELEC;;;;; -PETCOKE;MAINHEAT;;;;; -PETCOKE;MANUFACT;;;;; -PETCOKE;MINING;sesofos;feso_otherInd;tdso_otherInd;1; -PETCOKE;NECHEM;;;;; -PETCOKE;NEFOODPRO;;;;; -PETCOKE;NEIND;;;;; -PETCOKE;NEINONSPEC;;;;; -PETCOKE;NEINTREN;;;;; -PETCOKE;NEIRONSTL;;;;; -PETCOKE;NEMACHINE;;;;; -PETCOKE;NEMINING;;;;; -PETCOKE;NENONFERR;;;;; -PETCOKE;NENONMET;;;;; -PETCOKE;NEOTHER;;;;; -PETCOKE;NEPAPERPRO;;;;; -PETCOKE;NETEXTILES;;;;; -PETCOKE;NONENUSE;sesofos;feso_chemicals;tdso_chemicals;1; -PETCOKE;NONFERR;sesofos;feso_otherInd;tdso_otherInd;1; -PETCOKE;NONMET;sesofos;feso_cement;tdso_cement;1; -PETCOKE;ONONSPEC;sesofos;fesob;tdfossob;1; -PETCOKE;PAPERPRO;sesofos;feso_otherInd;tdso_otherInd;1; -PETCOKE;RAIL;sesofos;feso_otherInd;tdso_otherInd;1; -PETCOKE;RESIDENT;sesofos;fesob;tdfossob;1; -PETCOKE;STATDIFF;;;;; -PETCOKE;STOCKCHA;;;;; -PETCOKE;TBLASTFUR;sesofos;feso_steel;tdso_steel;-1; -PETCOKE;TBLENDGAS;;;;; -PETCOKE;TCOKEOVS;;;;; -PETCOKE;TES;;;;; -PETCOKE;TEXTILES;sesofos;feso_otherInd;tdso_otherInd;1; -PETCOKE;TFC;peoil;seliqfos;refliq;1; -PETCOKE;TGASWKS;;;;; -PETCOKE;TNONSPEC;;;;; -PETCOKE;TOTENGY;;;;; -PETCOKE;TOTIND;;;;; -PETCOKE;TOTTRANF;;;;; -PETCOKE;TOTTRANS;;;;; -PETCOKE;TPATFUEL;;;;; -PETCOKE;TPETCHEM;;;;; -PETCOKE;TRANSEQ;sesofos;feso_otherInd;tdso_otherInd;1; -PETCOKE;TRANSFER;;;;; -PETCOKE;TREFINER;;;;; -PETCOKE;WOODPRO;sesofos;feso_otherInd;tdso_otherInd;1; -PRIMSBIO;AGRICULT;sesobio;feso_otherInd;tdso_otherInd;1; -PRIMSBIO;AUTOCHP;;;;; -PRIMSBIO;AUTOELEC;;;;; -PRIMSBIO;AUTOHEAT;;;;; -PRIMSBIO;CHEMICAL;sesobio;feso_chemicals;tdso_chemicals;1; -PRIMSBIO;COMMPUB;sesobio;fesob;tdbiosob;1; -PRIMSBIO;CONSTRUC;sesobio;feso_otherInd;tdso_otherInd;1; -PRIMSBIO;DISTLOSS;pebiolc;sesobio;biotr;-1; -PRIMSBIO;DOMESNAV;;;;; -PRIMSBIO;EBIOGAS;;;;; -PRIMSBIO;EBKB;;;;; -PRIMSBIO;ECHARCOAL;;;;; -PRIMSBIO;ECOKEOVS;;;;; -PRIMSBIO;EGASWKS;;;;; -PRIMSBIO;ELAUTOC;pebiolc;seel;biochp;1; -PRIMSBIO;ELAUTOE;pebiolc;seel;bioigcc;1; -PRIMSBIO;ELMAINC;pebiolc;seel;biochp;1; -PRIMSBIO;ELMAINE;pebiolc;seel;bioigcc;1; -PRIMSBIO;ELOUTPUT;;;;; -PRIMSBIO;EMINES;;;;; -PRIMSBIO;ENONSPEC;pebiolc;sesobio;biotr;-1; -PRIMSBIO;EPOWERPLT;;;;; -PRIMSBIO;EREFINER;;;;; -PRIMSBIO;EXPORTS;;;;; -PRIMSBIO;FISHING;sesobio;feso_otherInd;tdso_otherInd;1; -PRIMSBIO;FOODPRO;sesobio;feso_otherInd;tdso_otherInd;1; -PRIMSBIO;HEATOUT;;;;; -PRIMSBIO;HEAUTOC;pebiolc;sehe;biochp;1; -PRIMSBIO;HEAUTOH;pebiolc;sehe;biohp;1; -PRIMSBIO;HEMAINC;pebiolc;sehe;biochp;1; -PRIMSBIO;HEMAINH;pebiolc;sehe;biohp;1; -PRIMSBIO;IMPORTS;;;;; -PRIMSBIO;INDPROD;;;;; -PRIMSBIO;INONSPEC;sesobio;feso_otherInd;tdso_otherInd;1; -PRIMSBIO;IRONSTL;sesobio;feso_steel;tdso_steel;1; -PRIMSBIO;MACHINE;sesobio;feso_otherInd;tdso_otherInd;1; -PRIMSBIO;MAINCHP;;;;; -PRIMSBIO;MAINELEC;;;;; -PRIMSBIO;MAINHEAT;;;;; -PRIMSBIO;MANUFACT;;;;; -PRIMSBIO;MINING;sesobio;feso_otherInd;tdso_otherInd;1; -PRIMSBIO;NEINTREN;;;;; -PRIMSBIO;NONENUSE;sesobio;feso_chemicals;tdso_chemicals;1; -PRIMSBIO;NONFERR;sesobio;feso_otherInd;tdso_otherInd;1; -PRIMSBIO;NONMET;sesobio;feso_cement;tdso_cement;1; -PRIMSBIO;ONONSPEC;sesobio;fesob;tdbiosob;1; -PRIMSBIO;PAPERPRO;sesobio;feso_otherInd;tdso_otherInd;1; -PRIMSBIO;RAIL;sesobio;feso_otherInd;tdso_otherInd;1; -PRIMSBIO;RESIDENT;sesobio;fesob;tdbiosob;1; -PRIMSBIO;STATDIFF;;;;; -PRIMSBIO;STOCKCHA;;;;; -PRIMSBIO;TBKB;;;;; -PRIMSBIO;TCHARCOAL;;;;; -PRIMSBIO;TES;;;;; -PRIMSBIO;TEXTILES;sesobio;feso_otherInd;tdso_otherInd;1; -PRIMSBIO;TFC;pebiolc;sesobio;biotr;1; -PRIMSBIO;TNONSPEC;;;;; -PRIMSBIO;TOTENGY;;;;; -PRIMSBIO;TOTIND;;;;; -PRIMSBIO;TOTTRANF;;;;; -PRIMSBIO;TOTTRANS;;;;; -PRIMSBIO;TPATFUEL;;;;; -PRIMSBIO;TRANSEQ;sesobio;feso_otherInd;tdso_otherInd;1; -PRIMSBIO;TRNONSPE;;;;; -PRIMSBIO;WOODPRO;sesobio;feso_otherInd;tdso_otherInd;1; -REFFEEDS;EREFINER;;;;; -REFFEEDS;EXPORTS;;;;; -REFFEEDS;IMPORTS;;;;; -REFFEEDS;NEINTREN;;;;; -REFFEEDS;NONENUSE;seliqfos;feli_chemicals;tdli_chemicals;1; -REFFEEDS;STATDIFF;;;;; -REFFEEDS;STOCKCHA;;;;; -REFFEEDS;TES;;;;; -REFFEEDS;TFC;peoil;seliqfos;refliq;1; -REFFEEDS;TNONSPEC;;;;; -REFFEEDS;TOTENGY;;;;; -REFFEEDS;TOTTRANF;;;;; -REFFEEDS;TPETCHEM;;;;; -REFFEEDS;TRANSFER;;;;; -REFFEEDS;TREFINER;;;;; -REFINGAS;AGRICULT;seliqfos;feli_otherInd;tdli_otherInd;1; -REFINGAS;AUTOCHP;;;;; -REFINGAS;AUTOELEC;;;;; -REFINGAS;AUTOHEAT;;;;; -REFINGAS;CHEMICAL;seliqfos;feli_chemicals;tdli_chemicals;1; -REFINGAS;COMMPUB;seliqfos;fehob;tdfoshob;1; -REFINGAS;CONSTRUC;seliqfos;feli_otherInd;tdli_otherInd;1; -REFINGAS;DISTLOSS;peoil;seliqfos;refliq;-1; -REFINGAS;ECOKEOVS;seliqfos;feli_steel;tdli_steel;-1; -REFINGAS;EGASWKS;;;;; -REFINGAS;ELAUTOC;;;;; -REFINGAS;ELAUTOE;peoil;seel;dot;1; -REFINGAS;ELMAINC;;;;; -REFINGAS;ELMAINE;peoil;seel;dot;1; -REFINGAS;ELOUTPUT;;;;; -REFINGAS;EMINES;;;;; -REFINGAS;ENONSPEC;;;;; -REFINGAS;EOILGASEX;;;;; -REFINGAS;EPOWERPLT;;;;; -REFINGAS;EREFINER;;;;; -REFINGAS;EXPORTS;;;;; -REFINGAS;FOODPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -REFINGAS;HEATOUT;;;;; -REFINGAS;HEAUTOC;;;;; -REFINGAS;HEAUTOH;;;;; -REFINGAS;HEMAINC;;;;; -REFINGAS;HEMAINH;;;;; -REFINGAS;IMPORTS;;;;; -REFINGAS;INONSPEC;seliqfos;feli_otherInd;tdli_otherInd;1; -REFINGAS;IRONSTL;seliqfos;feli_steel;tdli_steel;1; -REFINGAS;MACHINE;seliqfos;feli_otherInd;tdli_otherInd;1; -REFINGAS;MAINCHP;;;;; -REFINGAS;MAINELEC;;;;; -REFINGAS;MAINHEAT;;;;; -REFINGAS;MANUFACT;;;;; -REFINGAS;MINING;seliqfos;feli_otherInd;tdli_otherInd;1; -REFINGAS;NECHEM;;;;; -REFINGAS;NEIND;;;;; -REFINGAS;NEINTREN;;;;; -REFINGAS;NONENUSE;seliqfos;feli_chemicals;tdli_chemicals;1; -REFINGAS;NONFERR;seliqfos;feli_otherInd;tdli_otherInd;1; -REFINGAS;NONMET;seliqfos;feli_cement;tdli_cement;1; -REFINGAS;ONONSPEC;seliqfos;fehob;tdfoshob;1; -REFINGAS;PAPERPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -REFINGAS;RESIDENT;seliqfos;fehob;tdfoshob;1; -REFINGAS;ROAD;seliqfos;fedie;tdfosdie;1; -REFINGAS;STATDIFF;;;;; -REFINGAS;STOCKCHA;;;;; -REFINGAS;TBLENDGAS;;;;; -REFINGAS;TCOKEOVS;seliqfos;feli_steel;tdli_steel;-1; -REFINGAS;TES;;;;; -REFINGAS;TEXTILES;seliqfos;feli_otherInd;tdli_otherInd;1; -REFINGAS;TFC;peoil;seliqfos;refliq;1; -REFINGAS;TGASWKS;seliqfos;feli_otherInd;tdli_otherInd;-1; -REFINGAS;TOTENGY;;;;; -REFINGAS;TOTIND;;;;; -REFINGAS;TOTTRANF;;;;; -REFINGAS;TOTTRANS;;;;; -REFINGAS;TPATFUEL;;;;; -REFINGAS;TPETCHEM;;;;; -REFINGAS;TRANSEQ;seliqfos;feli_otherInd;tdli_otherInd;1; -REFINGAS;TRANSFER;;;;; -REFINGAS;TREFINER;;;;; -REFINGAS;WOODPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -RENEWNS;AGRICULT;sesobio;feso_otherInd;tdso_otherInd;1; -RENEWNS;AUTOCHP;;;;; -RENEWNS;AUTOELEC;;;;; -RENEWNS;CHEMICAL;sesobio;feso_chemicals;tdso_chemicals;1; -RENEWNS;COMMPUB;sesobio;fesob;tdbiosob;1; -RENEWNS;CONSTRUC;sesobio;feso_otherInd;tdso_otherInd;1; -RENEWNS;DISTLOSS;pebiolc;sesobio;biotr;-1; -RENEWNS;ELAUTOC;;;;; -RENEWNS;ELAUTOE;;;;; -RENEWNS;ELMAINC;;;;; -RENEWNS;ELMAINE;;;;; -RENEWNS;ELOUTPUT;;;;; -RENEWNS;EXPORTS;;;;; -RENEWNS;FOODPRO;sesobio;feso_otherInd;tdso_otherInd;1; -RENEWNS;HEATOUT;;;;; -RENEWNS;HEAUTOC;;;;; -RENEWNS;HEMAINC;;;;; -RENEWNS;IMPORTS;;;;; -RENEWNS;INDPROD;;;;; -RENEWNS;INONSPEC;sesobio;feso_otherInd;tdso_otherInd;1; -RENEWNS;IRONSTL;sesobio;feso_steel;tdso_steel;1; -RENEWNS;MACHINE;sesobio;feso_otherInd;tdso_otherInd;1; -RENEWNS;MAINCHP;;;;; -RENEWNS;MAINELEC;;;;; -RENEWNS;MANUFACT;;;;; -RENEWNS;MINING;sesobio;feso_otherInd;tdso_otherInd;1; -RENEWNS;NONFERR;sesobio;feso_otherInd;tdso_otherInd;1; -RENEWNS;NONMET;sesobio;feso_cement;tdso_cement;1; -RENEWNS;ONONSPEC;sesobio;fesob;tdbiosob;1; -RENEWNS;PAPERPRO;sesobio;feso_otherInd;tdso_otherInd;1; -RENEWNS;RESIDENT;sesobio;fesob;tdbiosob;1; -RENEWNS;STATDIFF;;;;; -RENEWNS;STOCKCHA;;;;; -RENEWNS;TCOKEOVS;;;;; -RENEWNS;TES;;;;; -RENEWNS;TEXTILES;sesobio;feso_otherInd;tdso_otherInd;1; -RENEWNS;TFC;pebiolc;sesobio;biotr;1; -RENEWNS;TGASWKS;;;;; -RENEWNS;TNONSPEC;;;;; -RENEWNS;TOTENGY;;;;; -RENEWNS;TOTIND;;;;; -RENEWNS;TOTTRANF;;;;; -RENEWNS;TRANSEQ;sesobio;feso_otherInd;tdso_otherInd;1; -RENEWNS;WOODPRO;sesobio;feso_otherInd;tdso_otherInd;1; -RESFUEL;AGRICULT;seliqfos;feli_otherInd;tdli_otherInd;1; -RESFUEL;AUTOCHP;;;;; -RESFUEL;AUTOELEC;;;;; -RESFUEL;AUTOHEAT;;;;; -RESFUEL;AVBUNK;seliqfos;fedie;tdfosdie;-1; -RESFUEL;AVBUNK;peoil;seliqfos;refliq;-1; -RESFUEL;CHEMICAL;seliqfos;feli_chemicals;tdli_chemicals;1; -RESFUEL;COMMPUB;seliqfos;fehob;tdfoshob;1; -RESFUEL;CONSTRUC;seliqfos;feli_otherInd;tdli_otherInd;1; -RESFUEL;DISTLOSS;peoil;seliqfos;refliq;-1; -RESFUEL;DOMESAIR;seliqfos;fedie;tdfosdie;1; -RESFUEL;DOMESNAV;seliqfos;fedie;tdfosdie;1; -RESFUEL;EBLASTFUR;seliqfos;feli_steel;tdli_steel;-1; -RESFUEL;ECOKEOVS;seliqfos;feli_steel;tdli_steel;-1; -RESFUEL;EGASWKS;;;;; -RESFUEL;ELAUTOC;;;;; -RESFUEL;ELAUTOE;peoil;seel;dot;1; -RESFUEL;ELMAINC;;;;; -RESFUEL;ELMAINE;peoil;seel;dot;1; -RESFUEL;ELOUTPUT;;;;; -RESFUEL;EMINES;;;;; -RESFUEL;ENONSPEC;;;;; -RESFUEL;EOILGASEX;;;;; -RESFUEL;EPATFUEL;;;;; -RESFUEL;EPOWERPLT;;;;; -RESFUEL;EREFINER;;;;; -RESFUEL;EXPORTS;;;;; -RESFUEL;FISHING;seliqfos;feli_otherInd;tdli_otherInd;1; -RESFUEL;FOODPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -RESFUEL;HEATOUT;;;;; -RESFUEL;HEAUTOC;;;;; -RESFUEL;HEAUTOH;;;;; -RESFUEL;HEMAINC;;;;; -RESFUEL;HEMAINH;;;;; -RESFUEL;IMPORTS;;;;; -RESFUEL;INONSPEC;seliqfos;feli_otherInd;tdli_otherInd;1; -RESFUEL;IRONSTL;seliqfos;feli_steel;tdli_steel;1; -RESFUEL;MACHINE;seliqfos;feli_otherInd;tdli_otherInd;1; -RESFUEL;MAINCHP;;;;; -RESFUEL;MAINELEC;;;;; -RESFUEL;MAINHEAT;;;;; -RESFUEL;MANUFACT;;;;; -RESFUEL;MARBUNK;seliqfos;fedie;tdfosdie;-1; -RESFUEL;MARBUNK;peoil;seliqfos;refliq;-1; -RESFUEL;MINING;seliqfos;feli_otherInd;tdli_otherInd;1; -RESFUEL;NECHEM;;;;; -RESFUEL;NECONSTRUC;;;;; -RESFUEL;NEFOODPRO;;;;; -RESFUEL;NEIND;;;;; -RESFUEL;NEINONSPEC;;;;; -RESFUEL;NEINTREN;;;;; -RESFUEL;NENONFERR;;;;; -RESFUEL;NENONMET;;;;; -RESFUEL;NEOTHER;;;;; -RESFUEL;NETEXTILES;;;;; -RESFUEL;NETRANS;;;;; -RESFUEL;NONENUSE;seliqfos;feli_chemicals;tdli_chemicals;1; -RESFUEL;NONFERR;seliqfos;feli_otherInd;tdli_otherInd;1; -RESFUEL;NONMET;seliqfos;feli_cement;tdli_cement;1; -RESFUEL;ONONSPEC;seliqfos;fehob;tdfoshob;1; -RESFUEL;PAPERPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -RESFUEL;PIPELINE;;;;; -RESFUEL;RAIL;seliqfos;fedie;tdfosdie;1; -RESFUEL;RESIDENT;seliqfos;fehob;tdfoshob;1; -RESFUEL;ROAD;seliqfos;fedie;tdfosdie;1; -RESFUEL;STATDIFF;;;;; -RESFUEL;STOCKCHA;;;;; -RESFUEL;TBLASTFUR;seliqfos;feli_steel;tdli_steel;-1; -RESFUEL;TBLENDGAS;;;;; -RESFUEL;TCOALLIQ;;;;; -RESFUEL;TCOKEOVS;seliqfos;feli_steel;tdli_steel;-1; -RESFUEL;TES;;;;; -RESFUEL;TEXTILES;seliqfos;feli_otherInd;tdli_otherInd;1; -RESFUEL;TFC;peoil;seliqfos;refliq;1; -RESFUEL;TGASWKS;seliqfos;feli_otherInd;tdli_otherInd;-1; -RESFUEL;TNONSPEC;;;;; -RESFUEL;TOTENGY;;;;; -RESFUEL;TOTIND;;;;; -RESFUEL;TOTTRANF;;;;; -RESFUEL;TOTTRANS;;;;; -RESFUEL;TPATFUEL;;;;; -RESFUEL;TPETCHEM;;;;; -RESFUEL;TRANSEQ;seliqfos;feli_otherInd;tdli_otherInd;1; -RESFUEL;TRANSFER;;;;; -RESFUEL;TREFINER;;;;; -RESFUEL;TRNONSPE;seliqfos;fedie;tdfosdie;1; -RESFUEL;WOODPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -SOLARPV;AUTOELEC;;;;; -SOLARPV;ELAUTOC;;;;; -SOLARPV;ELAUTOE;;;;; -SOLARPV;ELMAINC;;;;; -SOLARPV;ELMAINE;;;;; -SOLARPV;ELOUTPUT;pesol;seel;spv;1; -SOLARPV;HEAUTOC;;;;; -SOLARPV;HEMAINC;;;;; -SOLARPV;INDPROD;;;;; -SOLARPV;MAINELEC;;;;; -SOLARPV;TES;;;;; -SOLARPV;TOTTRANF;;;;; -SOLARTH;AGRICULT;;;;; -SOLARTH;AUTOELEC;;;;; -SOLARTH;AUTOHEAT;;;;; -SOLARTH;CHEMICAL;;;;; -SOLARTH;COMMPUB;;;;; -SOLARTH;CONSTRUC;;;;; -SOLARTH;ELAUTOC;;;;; -SOLARTH;ELAUTOE;;;;; -SOLARTH;ELMAINC;;;;; -SOLARTH;ELMAINE;;;;; -SOLARTH;ELOUTPUT;;;;; -SOLARTH;ENONSPEC;;;;; -SOLARTH;EPOWERPLT;;;;; -SOLARTH;EREFINER;;;;; -SOLARTH;FISHING;;;;; -SOLARTH;FOODPRO;;;;; -SOLARTH;HEATOUT;;;;; -SOLARTH;HEAUTOC;;;;; -SOLARTH;HEAUTOH;;;;; -SOLARTH;HEMAINC;;;;; -SOLARTH;HEMAINH;;;;; -SOLARTH;INDPROD;;;;; -SOLARTH;INONSPEC;;;;; -SOLARTH;IRONSTL;;;;; -SOLARTH;MACHINE;;;;; -SOLARTH;MAINELEC;;;;; -SOLARTH;MAINHEAT;;;;; -SOLARTH;MANUFACT;;;;; -SOLARTH;MINING;;;;; -SOLARTH;NONFERR;;;;; -SOLARTH;NONMET;;;;; -SOLARTH;ONONSPEC;;;;; -SOLARTH;PAPERPRO;;;;; -SOLARTH;RESIDENT;;;;; -SOLARTH;STATDIFF;;;;; -SOLARTH;TES;;;;; -SOLARTH;TEXTILES;;;;; -SOLARTH;TFC;;;;; -SOLARTH;TOTENGY;;;;; -SOLARTH;TOTIND;;;;; -SOLARTH;TOTTRANF;;;;; -SOLARTH;TRANSEQ;;;;; -SOLARTH;WOODPRO;;;;; -SUBCOAL;AGRICULT;sesofos;feso_otherInd;tdso_otherInd;1; -SUBCOAL;AUTOCHP;;;;; -SUBCOAL;AUTOELEC;;;;; -SUBCOAL;AUTOHEAT;;;;; -SUBCOAL;CHEMICAL;sesofos;feso_chemicals;tdso_chemicals;1; -SUBCOAL;COMMPUB;sesofos;fesob;tdfossob;1; -SUBCOAL;CONSTRUC;sesofos;feso_otherInd;tdso_otherInd;1; -SUBCOAL;DISTLOSS;pecoal;sesofos;coaltr;-1; -SUBCOAL;DOMESNAV;;;;; -SUBCOAL;EBKB;;;;; -SUBCOAL;ELAUTOC;pecoal;seel;coalchp;1; -SUBCOAL;ELAUTOE;pecoal;seel;pc;1; -SUBCOAL;ELMAINC;pecoal;seel;coalchp;1; -SUBCOAL;ELMAINE;pecoal;seel;pc;1; -SUBCOAL;ELOUTPUT;;;;; -SUBCOAL;EMINES;;;;; -SUBCOAL;ENONSPEC;;;;; -SUBCOAL;EPATFUEL;;;;; -SUBCOAL;EPOWERPLT;;;;; -SUBCOAL;EXPORTS;;;;; -SUBCOAL;FOODPRO;sesofos;feso_otherInd;tdso_otherInd;1; -SUBCOAL;HEATOUT;;;;; -SUBCOAL;HEAUTOC;pecoal;sehe;coalchp;1; -SUBCOAL;HEAUTOH;pecoal;sehe;coalhp;1; -SUBCOAL;HEMAINC;pecoal;sehe;coalchp;1; -SUBCOAL;HEMAINH;pecoal;sehe;coalhp;1; -SUBCOAL;IMPORTS;;;;; -SUBCOAL;INDPROD;;;;; -SUBCOAL;INONSPEC;sesofos;feso_otherInd;tdso_otherInd;1; -SUBCOAL;IRONSTL;sesofos;feso_steel;tdso_steel;1; -SUBCOAL;MACHINE;sesofos;feso_otherInd;tdso_otherInd;1; -SUBCOAL;MAINCHP;;;;; -SUBCOAL;MAINELEC;;;;; -SUBCOAL;MAINHEAT;;;;; -SUBCOAL;MANUFACT;;;;; -SUBCOAL;MINING;sesofos;feso_otherInd;tdso_otherInd;1; -SUBCOAL;NECHEM;;;;; -SUBCOAL;NEINTREN;;;;; -SUBCOAL;NONENUSE;sesofos;feso_chemicals;tdso_chemicals;1; -SUBCOAL;NONFERR;sesofos;feso_otherInd;tdso_otherInd;1; -SUBCOAL;NONMET;sesofos;feso_cement;tdso_cement;1; -SUBCOAL;ONONSPEC;sesofos;fesob;tdfossob;1; -SUBCOAL;PAPERPRO;sesofos;feso_otherInd;tdso_otherInd;1; -SUBCOAL;RAIL;sesofos;feso_otherInd;tdso_otherInd;1; -SUBCOAL;RESIDENT;sesofos;fesob;tdfossob;1; -SUBCOAL;STATDIFF;;;;; -SUBCOAL;STOCKCHA;;;;; -SUBCOAL;TBKB;;;;; -SUBCOAL;TCOKEOVS;;;;; -SUBCOAL;TES;;;;; -SUBCOAL;TEXTILES;sesofos;feso_otherInd;tdso_otherInd;1; -SUBCOAL;TFC;pecoal;sesofos;coaltr;1; -SUBCOAL;TGASWKS;;;;; -SUBCOAL;TGTL;;;;; -SUBCOAL;TOTENGY;;;;; -SUBCOAL;TOTIND;;;;; -SUBCOAL;TOTTRANF;;;;; -SUBCOAL;TOTTRANS;;;;; -SUBCOAL;TPATFUEL;;;;; -SUBCOAL;TRANSEQ;sesofos;feso_otherInd;tdso_otherInd;1; -SUBCOAL;TRANSFER;;;;; -SUBCOAL;TREFINER;;;;; -SUBCOAL;TRNONSPE;;;;; -SUBCOAL;WOODPRO;sesofos;feso_otherInd;tdso_otherInd;1; -TIDE;AUTOELEC;;;;; -TIDE;ELAUTOC;;;;; -TIDE;ELAUTOE;;;;; -TIDE;ELMAINC;;;;; -TIDE;ELMAINE;;;;; -TIDE;ELOUTPUT;;;;; -TIDE;HEAUTOC;;;;; -TIDE;HEMAINC;;;;; -TIDE;INDPROD;;;;; -TIDE;MAINELEC;;;;; -TIDE;TES;;;;; -TIDE;TOTTRANF;;;;; -TOTAL;AGRICULT;;;;; -TOTAL;AUTOCHP;;;;; -TOTAL;AUTOELEC;;;;; -TOTAL;AUTOHEAT;;;;; -TOTAL;AVBUNK;;;;; -TOTAL;CHEMICAL;;;;; -TOTAL;COMMPUB;;;;; -TOTAL;CONSTRUC;;;;; -TOTAL;DISTLOSS;;;;; -TOTAL;DOMESAIR;;;;; -TOTAL;DOMESNAV;;;;; -TOTAL;EBIOGAS;;;;; -TOTAL;EBKB;;;;; -TOTAL;EBLASTFUR;;;;; -TOTAL;ECHARCOAL;;;;; -TOTAL;ECOALLIQ;;;;; -TOTAL;ECOKEOVS;;;;; -TOTAL;EGASWKS;;;;; -TOTAL;EGTL;;;;; -TOTAL;ELAUTOC;;;;; -TOTAL;ELAUTOE;;;;; -TOTAL;ELMAINC;;;;; -TOTAL;ELMAINE;;;;; -TOTAL;ELNG;;;;; -TOTAL;ELOUTPUT;;;;; -TOTAL;EMINES;;;;; -TOTAL;ENONSPEC;;;;; -TOTAL;ENUC;;;;; -TOTAL;EOILGASEX;;;;; -TOTAL;EPATFUEL;;;;; -TOTAL;EPOWERPLT;;;;; -TOTAL;EPUMPST;;;;; -TOTAL;EREFINER;;;;; -TOTAL;EXPORTS;;;;; -TOTAL;FISHING;;;;; -TOTAL;FOODPRO;;;;; -TOTAL;HEATOUT;;;;; -TOTAL;HEAUTOC;;;;; -TOTAL;HEAUTOH;;;;; -TOTAL;HEMAINC;;;;; -TOTAL;HEMAINH;;;;; -TOTAL;IMPORTS;;;;; -TOTAL;INDPROD;;;;; -TOTAL;INONSPEC;;;;; -TOTAL;IRONSTL;;;;; -TOTAL;MACHINE;;;;; -TOTAL;MAINCHP;;;;; -TOTAL;MAINELEC;;;;; -TOTAL;MAINHEAT;;;;; -TOTAL;MANUFACT;;;;; -TOTAL;MARBUNK;;;;; -TOTAL;MINING;;;;; -TOTAL;NECHEM;;;;; -TOTAL;NECONSTRUC;;;;; -TOTAL;NEFOODPRO;;;;; -TOTAL;NEIND;;;;; -TOTAL;NEINONSPEC;;;;; -TOTAL;NEINTREN;;;;; -TOTAL;NEIRONSTL;;;;; -TOTAL;NEMACHINE;;;;; -TOTAL;NEMINING;;;;; -TOTAL;NENONFERR;;;;; -TOTAL;NENONMET;;;;; -TOTAL;NEOTHER;;;;; -TOTAL;NEPAPERPRO;;;;; -TOTAL;NETEXTILES;;;;; -TOTAL;NETRANS;;;;; -TOTAL;NETRANSEQ;;;;; -TOTAL;NEWOODPRO;;;;; -TOTAL;NONENUSE;;;;; -TOTAL;NONFERR;;;;; -TOTAL;NONMET;;;;; -TOTAL;ONONSPEC;;;;; -TOTAL;PAPERPRO;;;;; -TOTAL;PIPELINE;;;;; -TOTAL;RAIL;;;;; -TOTAL;RESIDENT;;;;; -TOTAL;ROAD;;;;; -TOTAL;STATDIFF;;;;; -TOTAL;STOCKCHA;;;;; -TOTAL;TBKB;;;;; -TOTAL;TBLASTFUR;;;;; -TOTAL;TBLENDGAS;;;;; -TOTAL;TBOILER;;;;; -TOTAL;TCHARCOAL;;;;; -TOTAL;TCOALLIQ;;;;; -TOTAL;TCOKEOVS;;;;; -TOTAL;TELE;;;;; -TOTAL;TES;;;;; -TOTAL;TEXTILES;;;;; -TOTAL;TFC;;;;; -TOTAL;TGASWKS;;;;; -TOTAL;TGTL;;;;; -TOTAL;THEAT;;;;; -TOTAL;TNONSPEC;;;;; -TOTAL;TOTENGY;;;;; -TOTAL;TOTIND;;;;; -TOTAL;TOTTRANF;;;;; -TOTAL;TOTTRANS;;;;; -TOTAL;TPATFUEL;;;;; -TOTAL;TPETCHEM;;;;; -TOTAL;TRANSEQ;;;;; -TOTAL;TRANSFER;;;;; -TOTAL;TREFINER;;;;; -TOTAL;TRNONSPE;;;;; -TOTAL;WOODPRO;;;;; -WHITESP;CHEMICAL;seliqfos;feli_chemicals;tdli_chemicals;1; -WHITESP;COMMPUB;seliqfos;fehob;tdfoshob;1; -WHITESP;CONSTRUC;seliqfos;feli_otherInd;tdli_otherInd;1; -WHITESP;DOMESNAV;seliqfos;fedie;tdfosdie;1; -WHITESP;ENONSPEC;;;;; -WHITESP;EREFINER;;;;; -WHITESP;EXPORTS;;;;; -WHITESP;FOODPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -WHITESP;IMPORTS;;;;; -WHITESP;INONSPEC;seliqfos;feli_otherInd;tdli_otherInd;1; -WHITESP;IRONSTL;seliqfos;feli_steel;tdli_steel;1; -WHITESP;MACHINE;seliqfos;feli_otherInd;tdli_otherInd;1; -WHITESP;MANUFACT;;;;; -WHITESP;MINING;seliqfos;feli_otherInd;tdli_otherInd;1; -WHITESP;NECHEM;;;;; -WHITESP;NECONSTRUC;;;;; -WHITESP;NEFOODPRO;;;;; -WHITESP;NEIND;;;;; -WHITESP;NEINONSPEC;;;;; -WHITESP;NEINTREN;;;;; -WHITESP;NEIRONSTL;;;;; -WHITESP;NEMACHINE;;;;; -WHITESP;NEMINING;;;;; -WHITESP;NENONFERR;;;;; -WHITESP;NENONMET;;;;; -WHITESP;NEOTHER;;;;; -WHITESP;NEPAPERPRO;;;;; -WHITESP;NETEXTILES;;;;; -WHITESP;NETRANS;;;;; -WHITESP;NETRANSEQ;;;;; -WHITESP;NEWOODPRO;;;;; -WHITESP;NONENUSE;seliqfos;feli_chemicals;tdli_chemicals;1; -WHITESP;NONFERR;seliqfos;feli_otherInd;tdli_otherInd;1; -WHITESP;NONMET;seliqfos;feli_cement;tdli_cement;1; -WHITESP;PAPERPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -WHITESP;RAIL;seliqfos;fedie;tdfosdie;1; -WHITESP;ROAD;seliqfos;fepet;tdfospet;1; -WHITESP;STATDIFF;;;;; -WHITESP;STOCKCHA;;;;; -WHITESP;TES;;;;; -WHITESP;TEXTILES;seliqfos;feli_otherInd;tdli_otherInd;1; -WHITESP;TFC;peoil;seliqfos;refliq;1; -WHITESP;TOTENGY;;;;; -WHITESP;TOTIND;;;;; -WHITESP;TOTTRANF;;;;; -WHITESP;TOTTRANS;;;;; -WHITESP;TPETCHEM;;;;; -WHITESP;TRANSEQ;seliqfos;feli_otherInd;tdli_otherInd;1; -WHITESP;TRANSFER;;;;; -WHITESP;TREFINER;;;;; -WHITESP;WOODPRO;seliqfos;feli_otherInd;tdli_otherInd;1; -WIND;AUTOELEC;;;;; -WIND;ELAUTOC;;;;; -WIND;ELAUTOE;;;;; -WIND;ELMAINC;;;;; -WIND;ELMAINE;;;;; -WIND;ELOUTPUT;pewin;seel;wind;1; -WIND;HEAUTOC;;;;; -WIND;HEMAINC;;;;; -WIND;INDPROD;;;;; -WIND;MAINELEC;;;;; -WIND;TES;;;;; -WIND;TOTTRANF;;;;; From fc7a613b7cd7904dc6fdf722e177eff99c713609 Mon Sep 17 00:00:00 2001 From: Falk Benke Date: Tue, 12 May 2026 18:04:40 +0200 Subject: [PATCH 03/16] remove debug code --- .Rbuildignore | 2 ++ .gitignore | 1 + R/calcEnergyBalancesOutputToIndustry.R | 2 +- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.Rbuildignore b/.Rbuildignore index a9fd86ab..e6e870f9 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -10,3 +10,5 @@ ^.lintr$ ^tests/.lintr$ ^\.vscode$ +^\.positai$ +^\.claude$ diff --git a/.gitignore b/.gitignore index 6fb8fbec..0f8ea2b9 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ *.RData mrindustry.Rproj .vscode +.positai diff --git a/R/calcEnergyBalancesOutputToIndustry.R b/R/calcEnergyBalancesOutputToIndustry.R index a63429f1..4fd56f66 100644 --- a/R/calcEnergyBalancesOutputToIndustry.R +++ b/R/calcEnergyBalancesOutputToIndustry.R @@ -20,7 +20,7 @@ calcEnergyBalancesOutputToIndustry <- function() { data <- readSource("IEA", subtype = "EnergyBalances") * 4.1868e-5 # apply corrections to IEA data to cope with fragmentary time series - data <- toolFixIEAdataForIndustrySubsectors(data, fixing = TRUE) + data <- toolFixIEAdataForIndustrySubsectors(data) reminditems <- do.call( mbind, From 26b284a00ef23d42807ce4ed7ac6b04d7b4fac25 Mon Sep 17 00:00:00 2001 From: Falk Benke Date: Fri, 3 Jul 2026 15:15:45 +0200 Subject: [PATCH 04/16] adapt to new iea mappings --- R/calcEnergyBalancesOutputToIndustry.R | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/R/calcEnergyBalancesOutputToIndustry.R b/R/calcEnergyBalancesOutputToIndustry.R index 4fd56f66..004119ea 100644 --- a/R/calcEnergyBalancesOutputToIndustry.R +++ b/R/calcEnergyBalancesOutputToIndustry.R @@ -1,12 +1,13 @@ #' Calculate Energy Balances Output to Industry -#' Additional corrections are applied to the IEA data in [`mrindustry::tool_fix_IEA_data_for_Industry_subsectors`]. #' #' @author Michaja Pehl, Falk Benke +#' @importFrom mrcommonsenergy toolFixIeaDataForIndustrySubsectors +#' calcEnergyBalancesOutputToIndustry <- function() { ieamatch <- toolGetMapping(type = "sectoral", name = "structuremappingIO_outputs.csv", - where = "mrcommons", + where = "mrcommonsenergy", returnPathOnly = FALSE) target <- c("REMINDitems_in", "REMINDitems_out", "REMINDitems_tech") @@ -20,7 +21,7 @@ calcEnergyBalancesOutputToIndustry <- function() { data <- readSource("IEA", subtype = "EnergyBalances") * 4.1868e-5 # apply corrections to IEA data to cope with fragmentary time series - data <- toolFixIEAdataForIndustrySubsectors(data) + data <- toolFixIeaDataForIndustrySubsectors(data) reminditems <- do.call( mbind, From f26690dfcecda02535152cb50c2ce005d5ff11b9 Mon Sep 17 00:00:00 2001 From: Falk Benke Date: Mon, 13 Jul 2026 16:40:29 +0200 Subject: [PATCH 05/16] remove tool function --- R/calcEnergyBalancesOutputToIndustry.R | 3 --- 1 file changed, 3 deletions(-) diff --git a/R/calcEnergyBalancesOutputToIndustry.R b/R/calcEnergyBalancesOutputToIndustry.R index 004119ea..7301a99a 100644 --- a/R/calcEnergyBalancesOutputToIndustry.R +++ b/R/calcEnergyBalancesOutputToIndustry.R @@ -20,9 +20,6 @@ calcEnergyBalancesOutputToIndustry <- function() { data <- readSource("IEA", subtype = "EnergyBalances") * 4.1868e-5 - # apply corrections to IEA data to cope with fragmentary time series - data <- toolFixIeaDataForIndustrySubsectors(data) - reminditems <- do.call( mbind, lapply(unique(ieamatch$target), From d68e2a12bb77e2b97a833ac010cc0ea6e704cb7b Mon Sep 17 00:00:00 2001 From: Falk Benke Date: Tue, 14 Jul 2026 10:14:10 +0200 Subject: [PATCH 06/16] remove no longer used tool function --- .buildlibrary | 2 +- CITATION.cff | 4 +- DESCRIPTION | 4 +- NAMESPACE | 5 +- R/calcAllChemicalEnergyDemand_2005to2020.R | 112 +-- R/calcAllChemicalMat2Ue_2020to2150.R | 35 +- R/calcAllChemicalSpecFeDemand_2005to2020.R | 113 +-- R/calcAllChemicalUeShares_2020to2150.R | 45 +- R/calcEnergyBalancesOutputToIndustry.R | 3 + R/calcIndustry_CCS_limits.R | 2 +- R/calcIndustry_Value_Added.R | 2 +- R/calcSteel_Projections.R | 2 +- R/readUSGS.R | 2 +- R/tool_fix_IEA_data_for_Industry_subsectors.R | 852 ------------------ README.md | 8 +- man/calcAllChemicalEnergyDemand_2005to2020.Rd | 8 +- man/calcAllChemicalMat2Ue_2020to2150.Rd | 8 +- man/calcAllChemicalSpecFeDemand_2005to2020.Rd | 8 +- man/calcAllChemicalUeShares_2020to2150.Rd | 8 +- man/calcEnergyBalancesOutputToIndustry.Rd | 4 +- ...ol_fix_IEA_data_for_Industry_subsectors.Rd | 38 - 21 files changed, 188 insertions(+), 1077 deletions(-) delete mode 100644 R/tool_fix_IEA_data_for_Industry_subsectors.R delete mode 100644 man/tool_fix_IEA_data_for_Industry_subsectors.Rd diff --git a/.buildlibrary b/.buildlibrary index ee3c3941..d2a3e518 100644 --- a/.buildlibrary +++ b/.buildlibrary @@ -1,4 +1,4 @@ -ValidationKey: '2495988' +ValidationKey: '2519056' AutocreateReadme: yes AcceptedWarnings: - 'Warning: package ''.*'' was built under R version' diff --git a/CITATION.cff b/CITATION.cff index 6535d994..50e7dc7c 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -2,8 +2,8 @@ cff-version: 1.2.0 message: If you use this software, please cite it using the metadata from this file. type: software title: 'mrindustry: input data generation for the REMIND industry module' -version: 1.2.1 -date-released: '2026-06-24' +version: 1.2.2 +date-released: '2026-07-14' abstract: The mrindustry packages contains data preprocessing for the REMIND model. authors: - family-names: Benke diff --git a/DESCRIPTION b/DESCRIPTION index 1518f70b..9c44a744 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,8 +1,8 @@ Type: Package Package: mrindustry Title: input data generation for the REMIND industry module -Version: 1.2.1 -Date: 2026-06-24 +Version: 1.2.2 +Date: 2026-07-14 Authors@R: c( person(given = "Falk", family = "Benke", email = "benke@pik-potsdam.de", role = c("aut", "cre")), diff --git a/NAMESPACE b/NAMESPACE index 68651c53..846569f8 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -29,7 +29,6 @@ export(readindustry_subsectors_specific) export(readvanRuijven2016) export(readworldsteel) export(tool_expand_tibble) -export(tool_fix_IEA_data_for_Industry_subsectors) import(GDPuc) import(madrat) import(magclass) @@ -112,6 +111,7 @@ importFrom(magclass,setNames) importFrom(magclass,where) importFrom(magpiesets,findset) importFrom(magrittr,"%>%") +importFrom(mrcommonsenergy,toolFixIeaDataForIndustrySubsectors) importFrom(quitte,add_countrycode_) importFrom(quitte,as.quitte) importFrom(quitte,cartesian) @@ -155,20 +155,17 @@ importFrom(tibble,as_tibble) importFrom(tibble,tibble) importFrom(tibble,tribble) importFrom(tidyr,complete) -importFrom(tidyr,crossing) importFrom(tidyr,drop_na) importFrom(tidyr,everything) importFrom(tidyr,expand_grid) importFrom(tidyr,extract) importFrom(tidyr,fill) -importFrom(tidyr,gather) importFrom(tidyr,nest) importFrom(tidyr,nesting) importFrom(tidyr,pivot_longer) importFrom(tidyr,pivot_wider) importFrom(tidyr,replace_na) importFrom(tidyr,separate) -importFrom(tidyr,spread) importFrom(tidyr,unite) importFrom(tidyr,unnest) importFrom(tidyselect,all_of) diff --git a/R/calcAllChemicalEnergyDemand_2005to2020.R b/R/calcAllChemicalEnergyDemand_2005to2020.R index b1d250f4..b1a4c500 100644 --- a/R/calcAllChemicalEnergyDemand_2005to2020.R +++ b/R/calcAllChemicalEnergyDemand_2005to2020.R @@ -1,108 +1,108 @@ -#' Calculates chemical energy demand from 2005 to 2020 from chemical production per route (AllChemicalRoutes_2005to2020) +#' Calculates chemical energy demand from 2005 to 2020 from chemical production per route (AllChemicalRoutes_2005to2020) #' and specific energy consumption for the different routes (retrieved from IEA_PetrochemEI and other literature sources). -#' The energy demand for OtherChem is calculated as the remaining share of total chemical industry energy demand. +#' The energy demand for OtherChem is calculated as the remaining share of total chemical industry energy demand. #' Results are aggregated to the country level. -#' +#' #' @author Qianzhi Zhang #' #' @param CCS boolean parameter whether CCS technologies are considered as such in 2020 or assumed to be technologies without CCS -#' +#' calcAllChemicalEnergyDemand_2005to2020 <- function(CCS=FALSE) { - + # --------------------------------------------------------------------------- # Define Conversion Factor # - Only the factor for MWh to GJ is used. # --------------------------------------------------------------------------- sm_Mwh_2_GJ <- 3.6 # Convert MWh to GJ - + # --------------------------------------------------------------------------- # Load Base Data # a) Load chemical route data (2005-2020) # b) Load regional historical energy intensity data for overall methanol&ammonia synthesis and steam crakcing (IEA_PetrochemEI) # c) Collect specific BAT energy intensity data (target energy demand) # --------------------------------------------------------------------------- - AllChemicalRoutes_2005to2020 <- calcOutput("AllChemicalRoutes_2005to2020", warnNA = FALSE, aggregate = TRUE, CCS=CCS) %>% - as.data.frame() %>% + AllChemicalRoutes_2005to2020 <- calcOutput("AllChemicalRoutes_2005to2020", warnNA = FALSE, aggregate = TRUE, CCS=CCS) %>% + as.data.frame() %>% select(-"Cell")%>% rename(tePrc = "Data1", opmoPrc = "Data2", ChemFlow = "Value") - - IEA_PetrochemEI <- calcOutput("IEA_PetrochemEI", aggregate = TRUE) %>% - as.data.frame() %>% + + IEA_PetrochemEI <- calcOutput("IEA_PetrochemEI", aggregate = TRUE) %>% + as.data.frame() %>% select(-"Cell", -"Year") - + # IEA_PetrochemEI energy intensities do not include feedstock use for steamcracker and methanol # the data is therefore adjusted with reported literature values for energy intensities including feedstock use # feedstock input is assumed to correspond to the difference between reported literature value and IEA_PetrochemEI energy intensity of the most efficient region specFeDem <- IEA_PetrochemEI %>% # in GJ/t group_by(.data$Data1) %>% mutate(Value_min = min(.data$Value[.data$Value>0])) %>% - ungroup() %>% + ungroup() %>% mutate(Value_new = case_when(.data$Data1=="Steam cracking, fuel & steam" & .data$Value>0 ~ .data$Value+(58-Value_min), # Source: rough average of 66 GJ/t of Spallina17 Table 5, 53 GJ/t Yang17 Table 1 and 53 GJ/t Layritz21 Table A2; Value for naptha steam cracking, as the region with the lowest energy intensity JPN has 96% naphtha steam crackers (Saygın et al. 2009. Chemical and Petrochemical Sector.Table 11) .data$Data1=="Methanol, fuel & steam" & .data$Value>0 ~ .data$Value+(33.9-Value_min), # Source: IEA, The Future of Hydrogen19 PAGE | 5; Value the natural gas based route as this route is employed in regions with lowest energy intensity - TRUE ~ .data$Value)) - + TRUE ~ .data$Value)) + specFeDemTarget <- tibble::tribble( # in MWh/t ~entyFe, ~tePrc, ~opmoPrc, ~value, "fehos", "stCrNg", "standard", 15.8, # Yang & You 2017 Table1 NGL input/(Ethylene + By Products) "fegas", "stCrNg", "standard", 0.60, # Yang & You 2017 (External Energy input - Hydrogen Output)/(Ethylene + By Products) "feels", "stCrNg", "standard", 0.54, # Yang & You 2017 Electricity input/(Ethylene + By Products) - + "fehos", "stCrLiq", "standard", 14.6, # Layritz 2021 Naphtha input/(Ethylene + By Products) "feels", "stCrLiq", "standard", 0.069, # Layritz 2021 Electricity input/(Ethylene + By Products) - + "fegas", "stCrChemRe","standard", 0.84, # Yadav 2023 Table S20 Using co-producted naphtha and NGLs as fuel "feels", "stCrChemRe","standard", 0.24, # Yadav 2023 Table S12+S13 electricity costs - + "fegas", "mechRe", "standard", 0.29, # Uekert 2023 Weighted avg PE, PP, PET "feels", "mechRe", "standard", 0.54, # Uekert 2023 Weighted avg PE, PP, PET - + "fesos", "meSySol", "standard", 10.3, # Wang 2021 Table 9 "feels", "meSySol", "standard", 0.14, # Wang 2021 Table 9 - + "fesos", "meSySol", "greenh2", 4.6, # Wang 2021 Table 9 "feh2s", "meSySol", "greenh2", 3.3, # Wang 2021 Table 9 "feels", "meSySol", "greenh2", 0.14, # Wang 2021 Table 9 - + "fegas", "meSyNg", "standard", 8.8, # IEA 2019 Future of Hydrogen Annex p.5 "feels", "meSyNg", "standard", 0.083, # IEA 2019 Future of Hydrogen Annex p.5 - + "fehos", "meSyLiq", "standard", 9.7, # IEA 2018 Future of Petrochemicals Table A4 "feels", "meSyLiq", "standard", 0.56, # IEA 2018 Future of Petrochemicals Table A4 - + "fesos", "meSySol_cc","standard", 2.8, # IEA 2019 Future of Hydrogen Annex p.5 MWh/tC "feels", "meSySol_cc","standard", 0.065, # IEA 2019 Future of Hydrogen Annex p.5 MWh/tC - + "feels", "meSyNg_cc", "standard", 0.54, # IEA 2019 Future of Hydrogen Annex p.5 MWh/tC "feels", "meSyLiq_cc","standard", 0.54, # Assume same as meSyNg_cc - + "feh2s", "meSyH2", "standard", 6.4+0.58,# DEA 2017 Methanol from hydrogen "feels", "meSyH2", "standard", 0.10, # DEA 2017 Methanol from hydrogen - + "fegas", "meSyChemRe","standard", 2.6, # Shaik Afzal 2023 MSP breakdown "feels", "meSyChemRe","standard", 0.92, # Shaik Afzal 2023 MSP breakdown - + "fesos", "amSyCoal", "standard", 10.7, # IEA 2019 Future of Hydrogen Annex p.5 "feels", "amSyCoal", "standard", 1.0, # IEA 2019 Future of Hydrogen Annex p.5 - + "fegas", "amSyNG", "standard", 8.9, # IEA 2019 Future of Hydrogen Annex p.4 "feels", "amSyNG", "standard", 0.083, # IEA 2019 Future of Hydrogen Annex p.4 - + "fehos", "amSyLiq", "standard", 9.0, # IEA 2018 Future of Petrochemicals Table A4 "feels", "amSyLiq", "standard", 0.56, # IEA 2018 Future of Petrochemicals Table A4 - + "feels", "amSyCoal_cc","standard", 0.44, # IEA 2019 Future of Hydrogen Annex p.5 MWh/tC "feels", "amSyNG_cc", "standard", 0.46, # IEA 2019 Future of Hydrogen Annex p.5 MWh/tC "feels", "amSyLiq_cc","standard", 0.46, # Assume same as amSyNG_cc - + "feh2s", "amSyH2", "standard", 6.0, # DEA 2017 Hydrogen to Ammonia "feels", "amSyH2", "standard", 0.49, # Grinberg Dana 2016 Supplementary Table 4 - + "feels", "mtoMta", "standard", 1.4, # Bazzanella 2017 Section 4.5.3 "feels", "mtoMtaH2", "standard", 1.4, # Bazzanella 2017 Section 4.5.3 "feels", "fertProd", "standard", 0.39, # Palys 2023 Sec 2.3 p.6 "feels", "fertProdH2","standard", 0.39 # Palys 2023 Sec 2.3 p.6 - ) %>% + ) %>% mutate(value = .data$value*sm_Mwh_2_GJ) %>% # MWh/t to GJ/t # map routes to steam cracking/ammonia/methanol synthesis mutate(Data1 = @@ -111,7 +111,7 @@ calcAllChemicalEnergyDemand_2005to2020 <- function(CCS=FALSE) { .data$tePrc %in% c("meSySol", "meSyNg", "meSyLiq") & .data$opmoPrc=="standard" & .data$entyFe != "feels" ~ "Methanol, fuel & steam", TRUE ~ .data$tePrc )) - + # --------------------------------------------------------------------------- # To get specific energy demands per route, calculate the ratio between total actual and target FE demand for steam cracker, ammonia and methanol synthesis # The ratio between actual and target demand for each route is assumed to be the same as for the overall steam cracking/ammonia/methanol synthesis @@ -121,7 +121,7 @@ calcAllChemicalEnergyDemand_2005to2020 <- function(CCS=FALSE) { mutate(demFeTarget = .data$ChemFlow*.data$value) %>% group_by(.data$Region, .data$Year, .data$Data1)%>% summarise(demFeTarget_total = sum(.data$demFeTarget), totalFlow = sum(.data$ChemFlow), .groups = "drop") - + demFeActual <- AllChemicalRoutes_2005to2020 %>% filter(.data$Year==2020) %>% mutate(Data1 = case_when(.data$tePrc %in% c("stCrLiq", "stCrNg") & .data$opmoPrc=="standard" ~ "Steam cracking, fuel & steam", @@ -133,23 +133,23 @@ calcAllChemicalEnergyDemand_2005to2020 <- function(CCS=FALSE) { summarise(ChemFlow_total = sum(.data$ChemFlow), .groups = "drop") %>% merge(specFeDem, by = c("Region", "Data1")) %>% mutate(demFeActual_total = .data$Value_new * .data$ChemFlow_total) - + demFeRatio <- merge(demFeTarget, demFeActual, by=c("Region","Year", "Data1")) %>% - mutate(demFeRatio = .data$demFeActual_total/.data$demFeTarget_total) %>% + mutate(demFeRatio = .data$demFeActual_total/.data$demFeTarget_total) %>% select(c("Region", "Data1", "demFeRatio"))%>% mutate(demFeRatio = case_when(demFeRatio<1 ~ 1, TRUE ~ demFeRatio)) # regional energy intensity cannot be lower than the target (possibly coal-based methanol in IND and OAS in AllChemicalRoutes_2020higher than the one assumed by IEA_PetrochemEI) - + Regions <- AllChemicalRoutes_2005to2020 %>% select("Region") %>% distinct() - specFeDem_byRoute <- specFeDemTarget %>% - crossing(Regions) %>% + specFeDem_byRoute <- specFeDemTarget %>% + tidyr::crossing(Regions) %>% left_join(demFeRatio, by=c("Data1", "Region")) %>% mutate(specFeDem = case_when(.data$entyFe != "feels" & !is.na(.data$demFeRatio) ~ .data$value*.data$demFeRatio, # regional energy intensities only refer to fuel&steam, electricity demand is assumed to be the same globally # for the following electricity demands, assume other (higher) demands than target .data$entyFe == "feels" & .data$tePrc == "stCrLiq" ~ 1.0, # GJ/t Source: Spallina17 Table 5 - .data$entyFe == "feels" & .data$tePrc == "meSySol" ~ 3.7, # GJ/t Source: IEA, The Future of Hydrogen19 PAGE | 5 + .data$entyFe == "feels" & .data$tePrc == "meSySol" ~ 3.7, # GJ/t Source: IEA, The Future of Hydrogen19 PAGE | 5 TRUE ~ .data$value)) %>% select(-c("Data1", "demFeRatio", "value")) - + # --------------------------------------------------------------------------- # Compute Energy Demand from Chemical Routes and SpecFeDemand and summarize to total energy demand per region, year and FE type # --------------------------------------------------------------------------- @@ -157,18 +157,18 @@ calcAllChemicalEnergyDemand_2005to2020 <- function(CCS=FALSE) { merge(AllChemicalRoutes_2005to2020, by = c("Region", "tePrc", "opmoPrc"), relationship="many-to-many") %>% mutate(Energy_demand = .data$ChemFlow * .data$specFeDem) %>% select(c("Region", "Year", "tePrc", "opmoPrc", "entyFe", "Energy_demand")) - + feChemical_summary <- feChemical %>% group_by(.data$Region, .data$Year, .data$entyFe) %>% - summarise(Total_Energy_Demand = sum(.data$Energy_demand, na.rm = TRUE), .groups = "drop") - + summarise(Total_Energy_Demand = sum(.data$Energy_demand, na.rm = TRUE), .groups = "drop") + # --------------------------------------------------------------------------- # Load Industry Demand Data for Chemicals and map FE types # --------------------------------------------------------------------------- - feIndustry <- calcOutput("FeDemandIndustry", scenarios=c("SSP2"), signif = 4, warnNA = FALSE, aggregate = TRUE)[, + feIndustry <- calcOutput("FeDemandIndustry", scenarios=c("SSP2"), signif = 4, warnNA = FALSE, aggregate = TRUE)[, c("y2005", "y2010", "y2015", "y2020"), - c("SSP2.feelhth_chemicals", "SSP2.feelwlth_chemicals", - "SSP2.feh2_chemicals", "SSP2.fega_chemicals", + c("SSP2.feelhth_chemicals", "SSP2.feelwlth_chemicals", + "SSP2.feh2_chemicals", "SSP2.fega_chemicals", "SSP2.feli_chemicals", "SSP2.feso_chemicals") ] %>% as.data.frame() %>% @@ -183,8 +183,8 @@ calcAllChemicalEnergyDemand_2005to2020 <- function(CCS=FALSE) { ) ) %>% group_by(.data$Region, .data$Year, .data$entyFe) %>% - summarise(feChemicals = sum(.data$Value, na.rm = TRUE), .groups = "drop") - + summarise(feChemicals = sum(.data$Value, na.rm = TRUE), .groups = "drop") + # --------------------------------------------------------------------------- # Calculate "OtherChem" Energy Demand. # - Merge with feIndustry and calculate the difference between feIndustry Value and the total energy demand. @@ -197,12 +197,12 @@ calcAllChemicalEnergyDemand_2005to2020 <- function(CCS=FALSE) { ) %>% mutate(tePrc = "chemOld", opmoPrc= "standard") %>% select(c("Region", "Year", "tePrc", "opmoPrc", "entyFe", "Energy_demand")) - + # --------------------------------------------------------------------------- # Merge Main Energy Result with "OtherChem" # --------------------------------------------------------------------------- - merged_result <- bind_rows(feChemical, OtherChem_FE) - + merged_result <- bind_rows(feChemical, OtherChem_FE) + # --------------------------------------------------------------------------- # Aggregate Data to Country Level # - Load ChemicalTotal data for weighting. @@ -210,9 +210,9 @@ calcAllChemicalEnergyDemand_2005to2020 <- function(CCS=FALSE) { # - Convert merged result to a magpie object and aggregate to country level. # --------------------------------------------------------------------------- Chemical_Total <- calcOutput("ChemicalTotal", aggregate = FALSE)[, c("y2005", "y2010", "y2015", "y2020"), ] - + map <- toolGetMapping("regionmappingH12.csv", type = "regional", where = "mappingfolder") - + x <- as.magpie(merged_result, spatial = 1, temporal = 2) x <- toolAggregate( x, @@ -223,7 +223,7 @@ calcAllChemicalEnergyDemand_2005to2020 <- function(CCS=FALSE) { weight = Chemical_Total[unique(map$CountryCode), , ] ) x[is.na(x)] <- 0 - + # --------------------------------------------------------------------------- # Return Final Aggregated Object with Metadata # --------------------------------------------------------------------------- diff --git a/R/calcAllChemicalMat2Ue_2020to2150.R b/R/calcAllChemicalMat2Ue_2020to2150.R index 657f306e..fbf43150 100644 --- a/R/calcAllChemicalMat2Ue_2020to2150.R +++ b/R/calcAllChemicalMat2Ue_2020to2150.R @@ -1,8 +1,8 @@ #' Calculates mat2ue conversion factors of ammoFinal, methFinal, HVC and fertilizer -#' for 2020-2150 based on the mat2ue conversion factors in 2020 and the -#' projected relative increases in production (IEA The Future of Petrochemicals) and +#' for 2020-2150 based on the mat2ue conversion factors in 2020 and the +#' projected relative increases in production (IEA The Future of Petrochemicals) and #' total chemical UE (FeDemandIndustry) -#' +#' #' @author Qianzhi Zhang #' calcAllChemicalMat2Ue_2020to2150 <- function() { @@ -12,13 +12,13 @@ calcAllChemicalMat2Ue_2020to2150 <- function() { # - p37_mat2ue: Conversion factors (mat2ue) for selected products. # The conversion factors are expressed in 2017$/kg or 2017$/kgN. # --------------------------------------------------------------------------- - + p37_mat2ue <- data.frame( Product = c("hvc", "fertilizer", "methFinal", "ammoFinal"), mat2ue = c(0.66, 0.73, 0.37, 0.69), # Conversion factors Unit = c("2017$/kg", "2017$/kgN", "2017$/kg", "2017$/kg") ) - + # --------------------------------------------------------------------------- # Retrieve Chemical production projections for 2020-2050 (extrapolate between 2017 and 2025 if 2020 is missing) # - total Chemical UE projection from calcFeDemandIndustry @@ -26,7 +26,7 @@ calcAllChemicalMat2Ue_2020to2150 <- function() { # - Fertilizer demand projections from MagPie # and calculate change compared to baseline year # --------------------------------------------------------------------------- - + feIndustry <- calcOutput("FeDemandIndustry", scenarios=c("SSP2"), warnNA = FALSE, aggregate = TRUE)[,, "SSP2.ue_chemicals"] %>% as.data.frame() %>% select(-"Cell") %>% @@ -34,7 +34,7 @@ calcAllChemicalMat2Ue_2020to2150 <- function() { group_by(.data$Region) %>% mutate(Ratio = .data$Value / .data$Value[.data$Year == 2020]) %>% ungroup() - + IEA_Petrochem_methanol <- calcOutput("IEA_Petrochem", subtype ="production5type_Methanol", aggregate = TRUE)[,,] %>% as.data.frame() %>% select(-"Cell", -"Data1") %>% @@ -55,7 +55,7 @@ calcAllChemicalMat2Ue_2020to2150 <- function() { ungroup()%>% mutate(Data1 = "methanol") %>% filter(!.data$Year %in% 2017) - + IEA_Petrochem_ammonia <- calcOutput("IEA_Petrochem", subtype ="production5type_Ammonia", aggregate = TRUE)[,,] %>% as.data.frame() %>% select(-"Cell", -"Data1") %>% @@ -76,7 +76,7 @@ calcAllChemicalMat2Ue_2020to2150 <- function() { ungroup()%>% mutate(Data1 = "ammonia") %>% filter(!.data$Year %in% 2017) - + IEA_Petrochem_hvc <- ( calcOutput("IEA_Petrochem", subtype = "production5type_Ethylene", aggregate = TRUE) + calcOutput("IEA_Petrochem", subtype = "production5type_Propylene", aggregate = TRUE) + @@ -101,7 +101,7 @@ calcAllChemicalMat2Ue_2020to2150 <- function() { ungroup()%>% mutate(Data1 = "hvc") %>% filter(!.data$Year %in% 2017) - + MagPie_Fert <- calcOutput("MAgPIEReport", subtype="fertilizer")[,,"SSP2.rcp45"]%>% as.data.frame()%>% select(-"Cell", -"Data1", -"Data2")%>% @@ -110,7 +110,7 @@ calcAllChemicalMat2Ue_2020to2150 <- function() { mutate(Ratio = .data$Value / .data$Value[.data$Year == 2020]) %>% ungroup() %>% mutate(Data1 = "fertilizer") - + # --------------------------------------------------------------------------- # Compute future mat2ue by dividing the baseline by the relative change in UE chemicals demand of the respective chemical # --------------------------------------------------------------------------- @@ -124,22 +124,23 @@ calcAllChemicalMat2Ue_2020to2150 <- function() { ))%>% dplyr::left_join(p37_mat2ue, by = c("Data1" = "Product")) %>% dplyr::mutate(new_mat2ue = .data$mat2ue / .data$fe_change) - + # Extend the data: For each Region and Data1 group, ensure rows exist for 2050, 2055, ..., 2150. (assume increase of ammonia and methanol final demand is the same as of ue_chemicals) years <- merged_data %>% select("Year") %>% distinct() %>% filter(.data$Year>2050) extended_years <- merged_data %>% filter(.data$Year==2050, .data$Data1 %in% c("ammoFinal","methFinal","hvc")) %>% - select(-"Year") %>% crossing(years) - final_data <- merged_data %>% + select(-"Year") %>% + tidyr::crossing(years) + final_data <- merged_data %>% rbind(extended_years) %>% filter(.data$Year >= 2020) %>% mutate(all_in = "ue_chemicals" ) %>% select("Region","Year","Data1","all_in","new_mat2ue") - + x <- as.magpie(final_data, spatial = 1, temporal = 2) map <- toolGetMapping("regionmappingH12.csv", type = "regional", where = "mappingfolder") x <- toolAggregate(x, rel = map, dim = 1, from = "RegionCode", to = "CountryCode") - + # --------------------------------------------------------------------------- # Set Weighting and Return Final Output # - Create a weight object with the same dimensions as 'x' (all values set to 1). @@ -147,7 +148,7 @@ calcAllChemicalMat2Ue_2020to2150 <- function() { # --------------------------------------------------------------------------- weight <- x # Copy dimensions from x weight[, , ] <- 1 - + return(list( x = x, weight = weight, diff --git a/R/calcAllChemicalSpecFeDemand_2005to2020.R b/R/calcAllChemicalSpecFeDemand_2005to2020.R index fc1cc654..4fddf45b 100644 --- a/R/calcAllChemicalSpecFeDemand_2005to2020.R +++ b/R/calcAllChemicalSpecFeDemand_2005to2020.R @@ -1,108 +1,108 @@ -#' Calculates chemical energy demand from 2005 to 2020 from chemical production per route (AllChemicalRoutes_2005to2020) +#' Calculates chemical energy demand from 2005 to 2020 from chemical production per route (AllChemicalRoutes_2005to2020) #' and specific energy consumption for the different routes (retrieved from IEA_PetrochemEI and other literature sources). -#' The energy demand for OtherChem is calculated as the remaining share of total chemical industry energy demand. +#' The energy demand for OtherChem is calculated as the remaining share of total chemical industry energy demand. #' Results are aggregated to the country level. -#' +#' #' @author Qianzhi Zhang, Leonie Schweiger #' #' @param CCS boolean parameter whether CCS technologies are considered as such in 2020 or assumed to be technologies without CCS -#' +#' calcAllChemicalSpecFeDemand_2005to2020 <- function(CCS=FALSE) { - + # --------------------------------------------------------------------------- # Define Conversion Factor # - Only the factor for MWh to GJ is used. # --------------------------------------------------------------------------- sm_Mwh_2_GJ <- 3.6 # Convert MWh to GJ - + # --------------------------------------------------------------------------- # Load Base Data # a) Load chemical route data (2005-2020) # b) Load regional historical energy intensity data for overall methanol&ammonia synthesis and steam crakcing (IEA_PetrochemEI) # c) Collect specific BAT energy intensity data (target energy demand) # --------------------------------------------------------------------------- - AllChemicalRoutes_2005to2020 <- calcOutput("AllChemicalRoutes_2005to2020", warnNA = FALSE, aggregate = TRUE, CCS=CCS) %>% - as.data.frame() %>% + AllChemicalRoutes_2005to2020 <- calcOutput("AllChemicalRoutes_2005to2020", warnNA = FALSE, aggregate = TRUE, CCS=CCS) %>% + as.data.frame() %>% select(-"Cell") %>% rename(tePrc = "Data1", opmoPrc = "Data2", ChemFlow = "Value") - - IEA_PetrochemEI <- calcOutput("IEA_PetrochemEI", aggregate = TRUE) %>% - as.data.frame() %>% + + IEA_PetrochemEI <- calcOutput("IEA_PetrochemEI", aggregate = TRUE) %>% + as.data.frame() %>% select(-"Cell", -"Year") - + # IEA_PetrochemEI energy intensities do not include feedstock use for steamcracker and methanol # the data is therefore adjusted with reported literature values for energy intensities including feedstock use # feedstock input is assumed to correspond to the difference between reported literature value and IEA_PetrochemEI energy intensity of the most efficient region specFeDem <- IEA_PetrochemEI %>% # in GJ/t group_by(.data$Data1) %>% mutate(Value_min = min(.data$Value[.data$Value>0])) %>% - ungroup() %>% + ungroup() %>% mutate(Value_new = case_when(.data$Data1=="Steam cracking, fuel & steam" & .data$Value>0 ~ .data$Value+(58-.data$Value_min), # Source: rough average of 66 GJ/t of Spallina17 Table 5, 53 GJ/t Yang17 Table 1 and 53 GJ/t Layritz21 Table A2; Value for naptha steam cracking, as the region with the lowest energy intensity JPN has 96% naphtha steam crackers (Saygın et al. 2009. Chemical and Petrochemical Sector.Table 11) .data$Data1=="Methanol, fuel & steam" & .data$Value>0 ~ .data$Value+(33.9-.data$Value_min), # Source: IEA, The Future of Hydrogen19 PAGE | 5; Value the natural gas based route as this route is employed in regions with lowest energy intensity - TRUE ~ .data$Value)) - + TRUE ~ .data$Value)) + specFeDemTarget <- tibble::tribble( # in MWh/t ~entyFe, ~tePrc, ~opmoPrc, ~value, "fehos", "stCrNg", "standard", 15.8, # Yang & You 2017 Table1 NGL input/(Ethylene + By Products) "fegas", "stCrNg", "standard", 0.60, # Yang & You 2017 (External Energy input - Hydrogen Output)/(Ethylene + By Products) "feels", "stCrNg", "standard", 0.54, # Yang & You 2017 Electricity input/(Ethylene + By Products) - + "fehos", "stCrLiq", "standard", 14.6, # Layritz 2021 Naphtha input/(Ethylene + By Products) "feels", "stCrLiq", "standard", 0.069, # Layritz 2021 Electricity input/(Ethylene + By Products) - + "fegas", "stCrChemRe","standard", 0.84, # Yadav 2023 Table S20 Using co-producted naphtha and NGLs as fuel "feels", "stCrChemRe","standard", 0.24, # Yadav 2023 Table S12+S13 electricity costs - + "fegas", "mechRe", "standard", 0.29, # Uekert 2023 Weighted avg PE, PP, PET "feels", "mechRe", "standard", 0.54, # Uekert 2023 Weighted avg PE, PP, PET - + "fesos", "meSySol", "standard", 10.3, # Wang 2021 Table 9 "feels", "meSySol", "standard", 0.14, # Wang 2021 Table 9 - + "fesos", "meSySol", "greenh2", 4.6, # Wang 2021 Table 9 "feh2s", "meSySol", "greenh2", 3.3, # Wang 2021 Table 9 "feels", "meSySol", "greenh2", 0.14, # Wang 2021 Table 9 - + "fegas", "meSyNg", "standard", 8.8, # IEA 2019 Future of Hydrogen Annex p.5 "feels", "meSyNg", "standard", 0.083, # IEA 2019 Future of Hydrogen Annex p.5 - + "fehos", "meSyLiq", "standard", 9.7, # IEA 2018 Future of Petrochemicals Table A4 "feels", "meSyLiq", "standard", 0.56, # IEA 2018 Future of Petrochemicals Table A4 - + "fesos", "meSySol_cc","standard", 2.8, # IEA 2019 Future of Hydrogen Annex p.5 MWh/tC "feels", "meSySol_cc","standard", 0.065, # IEA 2019 Future of Hydrogen Annex p.5 MWh/tC - + "feels", "meSyNg_cc", "standard", 0.54, # IEA 2019 Future of Hydrogen Annex p.5 MWh/tC "feels", "meSyLiq_cc","standard", 0.54, # Assume same as meSyNg_cc - + "feh2s", "meSyH2", "standard", 6.4+0.58,# DEA 2017 Methanol from hydrogen "feels", "meSyH2", "standard", 0.10, # DEA 2017 Methanol from hydrogen - + "fegas", "meSyChemRe","standard", 2.6, # Shaik Afzal 2023 MSP breakdown "feels", "meSyChemRe","standard", 0.92, # Shaik Afzal 2023 MSP breakdown - + "fesos", "amSyCoal", "standard", 10.7, # IEA 2019 Future of Hydrogen Annex p.5 "feels", "amSyCoal", "standard", 1.0, # IEA 2019 Future of Hydrogen Annex p.5 - + "fegas", "amSyNG", "standard", 8.9, # IEA 2019 Future of Hydrogen Annex p.4 "feels", "amSyNG", "standard", 0.083, # IEA 2019 Future of Hydrogen Annex p.4 - + "fehos", "amSyLiq", "standard", 9.0, # IEA 2018 Future of Petrochemicals Table A4 "feels", "amSyLiq", "standard", 0.56, # IEA 2018 Future of Petrochemicals Table A4 - + "feels", "amSyCoal_cc","standard", 0.44, # IEA 2019 Future of Hydrogen Annex p.5 MWh/tC "feels", "amSyNG_cc", "standard", 0.46, # IEA 2019 Future of Hydrogen Annex p.5 MWh/tC "feels", "amSyLiq_cc","standard", 0.46, # Assume same as amSyNG_cc - + "feh2s", "amSyH2", "standard", 6.0, # DEA 2017 Hydrogen to Ammonia "feels", "amSyH2", "standard", 0.49, # Grinberg Dana 2016 Supplementary Table 4 - + "feels", "mtoMta", "standard", 1.4, # Bazzanella 2017 Section 4.5.3 "feels", "mtoMtaH2", "standard", 1.4, # Bazzanella 2017 Section 4.5.3 "feels", "fertProd", "standard", 0.39, # Palys 2023 Sec 2.3 p.6 "feels", "fertProdH2","standard", 0.39 # Palys 2023 Sec 2.3 p.6 - ) %>% + ) %>% mutate(value = .data$value*sm_Mwh_2_GJ) %>% # MWh/t to GJ/t # map routes to steam cracking/ammonia/methanol synthesis mutate(Data1 = @@ -111,7 +111,7 @@ calcAllChemicalSpecFeDemand_2005to2020 <- function(CCS=FALSE) { .data$tePrc %in% c("meSySol", "meSyNg", "meSyLiq") & .data$opmoPrc=="standard" & .data$entyFe != "feels" ~ "Methanol, fuel & steam", TRUE ~ .data$tePrc )) - + # --------------------------------------------------------------------------- # To get specific energy demands per route, calculate the ratio between total actual and target FE demand for steam cracker, ammonia and methanol synthesis # The ratio between actual and target demand for each route is assumed to be the same as for the overall steam cracking/ammonia/methanol synthesis @@ -121,7 +121,7 @@ calcAllChemicalSpecFeDemand_2005to2020 <- function(CCS=FALSE) { mutate(demFeTarget = .data$ChemFlow*.data$value) %>% group_by(.data$Region, .data$Year, .data$Data1)%>% summarise(demFeTarget_total = sum(.data$demFeTarget), totalFlow = sum(.data$ChemFlow), .groups = "drop") - + demFeActual <- AllChemicalRoutes_2005to2020 %>% filter(.data$Year==2020) %>% mutate(Data1 = case_when(.data$tePrc %in% c("stCrLiq", "stCrNg") & .data$opmoPrc=="standard" ~ "Steam cracking, fuel & steam", @@ -133,23 +133,23 @@ calcAllChemicalSpecFeDemand_2005to2020 <- function(CCS=FALSE) { summarise(ChemFlow_total = sum(.data$ChemFlow), .groups = "drop") %>% merge(specFeDem, by = c("Region", "Data1")) %>% mutate(demFeActual_total = .data$Value_new * .data$ChemFlow_total) - + demFeRatio <- merge(demFeTarget, demFeActual, by=c("Region","Year", "Data1")) %>% - mutate(demFeRatio = .data$demFeActual_total/.data$demFeTarget_total) %>% + mutate(demFeRatio = .data$demFeActual_total/.data$demFeTarget_total) %>% select(c("Region", "Data1", "demFeRatio"))%>% mutate(demFeRatio = case_when(.data$demFeRatio<1 ~ 1, TRUE ~ .data$demFeRatio)) # regional energy intensity cannot be lower than the target (possibly coal-based methanol in IND and OAS in AllChemicalRoutes_2020higher than the one assumed by IEA_PetrochemEI) - + Regions <- AllChemicalRoutes_2005to2020 %>% select("Region") %>% distinct() - specFeDem_byRoute <- specFeDemTarget %>% - crossing(Regions) %>% + specFeDem_byRoute <- specFeDemTarget %>% + tidyr::crossing(Regions) %>% left_join(demFeRatio, by=c("Data1", "Region")) %>% mutate(specFeDem = case_when(.data$entyFe != "feels" & !is.na(.data$demFeRatio) ~ .data$value*.data$demFeRatio, # regional energy intensities only refer to fuel&steam, electricity demand is assumed to be the same globally # for the following electricity demands, assume other (higher) demands than target .data$entyFe == "feels" & .data$tePrc == "stCrLiq" ~ 1.0, # GJ/t Source: Spallina17 Table 5 - .data$entyFe == "feels" & .data$tePrc == "meSySol" ~ 3.7, # GJ/t Source: IEA, The Future of Hydrogen19 PAGE | 5 + .data$entyFe == "feels" & .data$tePrc == "meSySol" ~ 3.7, # GJ/t Source: IEA, The Future of Hydrogen19 PAGE | 5 TRUE ~ .data$value)) %>% select(-c("Data1", "demFeRatio", "value")) - + # --------------------------------------------------------------------------- # Compute Energy Demand from Chemical Routes and SpecFeDemand and summarize to total energy demand per region, year and FE type # --------------------------------------------------------------------------- @@ -157,15 +157,15 @@ calcAllChemicalSpecFeDemand_2005to2020 <- function(CCS=FALSE) { left_join(AllChemicalRoutes_2005to2020, by = c("Region", "tePrc", "opmoPrc"), relationship="many-to-many") %>% mutate(Energy_demand = .data$ChemFlow * .data$specFeDem) %>% group_by(.data$Region, .data$Year, .data$entyFe) %>% - summarise(Total_Energy_Demand = sum(.data$Energy_demand, na.rm = TRUE), .groups = "drop") - + summarise(Total_Energy_Demand = sum(.data$Energy_demand, na.rm = TRUE), .groups = "drop") + # --------------------------------------------------------------------------- # Load Industry Demand Data for Chemicals and map FE types # --------------------------------------------------------------------------- - feIndustry <- calcOutput("FeDemandIndustry", scenarios=c("SSP2"), signif = 4, warnNA = FALSE, aggregate = TRUE)[, + feIndustry <- calcOutput("FeDemandIndustry", scenarios=c("SSP2"), signif = 4, warnNA = FALSE, aggregate = TRUE)[, c("y2005", "y2010", "y2015", "y2020"), - c("SSP2.feelhth_chemicals", "SSP2.feelwlth_chemicals", - "SSP2.feh2_chemicals", "SSP2.fega_chemicals", + c("SSP2.feelhth_chemicals", "SSP2.feelwlth_chemicals", + "SSP2.feh2_chemicals", "SSP2.fega_chemicals", "SSP2.feli_chemicals", "SSP2.feso_chemicals") ] %>% as.data.frame() %>% @@ -180,8 +180,8 @@ calcAllChemicalSpecFeDemand_2005to2020 <- function(CCS=FALSE) { ) ) %>% group_by(.data$Region, .data$Year, .data$entyFe) %>% - summarise(feChemicals = sum(.data$Value, na.rm = TRUE), .groups = "drop") - + summarise(feChemicals = sum(.data$Value, na.rm = TRUE), .groups = "drop") + # --------------------------------------------------------------------------- # Calculate "OtherChem" Energy Demand. # - Merge with feIndustry and calculate the difference between feIndustry Value and the total energy demand. @@ -193,7 +193,7 @@ calcAllChemicalSpecFeDemand_2005to2020 <- function(CCS=FALSE) { Total_Difference = .data$feChemicals - .data$Total_Energy_Demand ) %>% mutate(tePrc = "chemOld", opmoPrc= "standard") - + # --------------------------------------------------------------------------- # Calculate specific Energy Demand of OtherChem and merge with other specific Energy demands (assumed to be constant from 2005-2020) # --------------------------------------------------------------------------- @@ -201,18 +201,19 @@ calcAllChemicalSpecFeDemand_2005to2020 <- function(CCS=FALSE) { left_join(AllChemicalRoutes_2005to2020, by=c("Region","Year","tePrc","opmoPrc")) %>% mutate(specFeDem = .data$Total_Difference/.data$ChemFlow) %>% select("Region", "Year", "tePrc", "opmoPrc", "entyFe", "specFeDem") - + years <- OtherChem_SpecFeDem %>% select("Year") %>% distinct() - - AllChem_SpecFeDem <- specFeDem_byRoute %>% crossing(years) %>% + + AllChem_SpecFeDem <- specFeDem_byRoute %>% + tidyr::crossing(years) %>% rbind(OtherChem_SpecFeDem) %>% select("Region","Year","tePrc", "opmoPrc", "entyFe", "specFeDem") - + # --------------------------------------------------------------------------- # Aggregate Data to Country Level # --------------------------------------------------------------------------- map <- toolGetMapping("regionmappingH12.csv", type = "regional", where = "mappingfolder") - + x <- as.magpie(AllChem_SpecFeDem, spatial = 1, temporal = 2) x <- toolAggregate( x, @@ -225,7 +226,7 @@ calcAllChemicalSpecFeDemand_2005to2020 <- function(CCS=FALSE) { x[is.na(x)] <- 0 weight <- x # get the same dimensions of the data weight[, , ] <- 1 - + # --------------------------------------------------------------------------- # Return Final Aggregated Object with Metadata # --------------------------------------------------------------------------- diff --git a/R/calcAllChemicalUeShares_2020to2150.R b/R/calcAllChemicalUeShares_2020to2150.R index bba4d932..fb22fcdd 100644 --- a/R/calcAllChemicalUeShares_2020to2150.R +++ b/R/calcAllChemicalUeShares_2020to2150.R @@ -1,8 +1,8 @@ #' Calculates shares of ammoFinal, methFinal, HVC, fertilizer and OtherChem -#' of total chemical UE for 2020-2150 based on the UE shares in 2020 and the -#' projected relative increases in production (IEA The Future of Petrochemicals) and +#' of total chemical UE for 2020-2150 based on the UE shares in 2020 and the +#' projected relative increases in production (IEA The Future of Petrochemicals) and #' total chemical UE (FeDemandIndustry) -#' +#' #' @author Qianzhi Zhang #' calcAllChemicalUeShares_2020to2150 <- function() { @@ -10,11 +10,11 @@ calcAllChemicalUeShares_2020to2150 <- function() { # --------------------------------------------------------------------------- # Retrieve baseline ue shares for 2020 # --------------------------------------------------------------------------- - + AllChemicalUeShares_2020 <- calcOutput("AllChemicalUeShares_2020", aggregate = TRUE)[, "y2020", ] %>% as.data.frame() %>% select(-"Cell",-"Year") - + # --------------------------------------------------------------------------- # Retrieve Chemical production projections for 2020-2050 (extrapolate between 2017 and 2025 if 2020 is missing) # - total Chemical UE projection from calcFeDemandIndustry @@ -22,7 +22,7 @@ calcAllChemicalUeShares_2020to2150 <- function() { # - Fertilizer demand projections from MagPie # and calculate change compared to baseline year # --------------------------------------------------------------------------- - + feIndustry <- calcOutput("FeDemandIndustry", scenarios=c("SSP2"), warnNA = FALSE, aggregate = TRUE)[,, "SSP2.ue_chemicals"] %>% as.data.frame() %>% select(-"Cell") %>% @@ -30,7 +30,7 @@ calcAllChemicalUeShares_2020to2150 <- function() { group_by(.data$Region) %>% mutate(Ratio = .data$Value / .data$Value[.data$Year == 2020]) %>% ungroup() - + IEA_Petrochem_methanol <- calcOutput("IEA_Petrochem", subtype ="production5type_Methanol", aggregate = TRUE)[,,] %>% as.data.frame() %>% select(-"Cell", -"Data1") %>% @@ -51,7 +51,7 @@ calcAllChemicalUeShares_2020to2150 <- function() { ungroup()%>% mutate(Data1 = "methanol") %>% filter(!.data$Year %in% 2017) - + IEA_Petrochem_ammonia <- calcOutput("IEA_Petrochem", subtype ="production5type_Ammonia", aggregate = TRUE)[,,] %>% as.data.frame() %>% select(-"Cell", -"Data1") %>% @@ -72,7 +72,7 @@ calcAllChemicalUeShares_2020to2150 <- function() { ungroup()%>% mutate(Data1 = "ammonia") %>% filter(!.data$Year %in% 2017) - + IEA_Petrochem_hvc <- ( calcOutput("IEA_Petrochem", subtype = "production5type_Ethylene", aggregate = TRUE) + calcOutput("IEA_Petrochem", subtype = "production5type_Propylene", aggregate = TRUE) + @@ -97,7 +97,7 @@ calcAllChemicalUeShares_2020to2150 <- function() { ungroup()%>% mutate(Data1 = "hvc") %>% filter(!.data$Year %in% 2017) - + MagPie_Fert <- calcOutput("MAgPIEReport", subtype="fertilizer")[,,"SSP2.rcp45"]%>% as.data.frame()%>% select(-"Cell", -"Data1", -"Data2")%>% @@ -106,9 +106,9 @@ calcAllChemicalUeShares_2020to2150 <- function() { mutate(Ratio = .data$Value / .data$Value[.data$Year == 2020]) %>% ungroup() %>% mutate(Data1 = "fertilizer") - + # --------------------------------------------------------------------------- - # Compute future ue shares by dividing the baseline share with the relative change + # Compute future ue shares by dividing the baseline share with the relative change # in chemical production respective to the relative change in UE chemicals demand # --------------------------------------------------------------------------- merged_data <- rbind(IEA_Petrochem_methanol, IEA_Petrochem_ammonia, IEA_Petrochem_hvc, MagPie_Fert) %>% @@ -122,15 +122,16 @@ calcAllChemicalUeShares_2020to2150 <- function() { dplyr::left_join(AllChemicalUeShares_2020, by = c("Region","Data1", "Data2"), suffix=c("",".ue")) %>% dplyr::mutate(ue_share = .data$Value.ue * .data$fe_change)%>% select("Region","Year","Data1","Data2","ue_share") - + # Extend the data: For each Region and Data1 group, ensure rows exist for 2050, 2055, ..., 2150. (assume increase of ammonia and methanol final demand is the same as of ue_chemicals) years <- merged_data %>% select("Year") %>% distinct() %>% filter(.data$Year>2050) extended_years <- merged_data %>% filter(.data$Year==2050, .data$Data1 %in% c("ammoFinal","methFinal","hvc")) %>% - select(-"Year") %>% crossing(years) - extended_data <- merged_data %>% + select(-"Year") %>% + tidyr::crossing(years) + extended_data <- merged_data %>% rbind(extended_years) %>% filter(.data$Year >= 2020) - + # --------------------------------------------------------------------------- # Account for Residual ("OtherChem") Share # --------------------------------------------------------------------------- @@ -140,7 +141,7 @@ calcAllChemicalUeShares_2020to2150 <- function() { ue_sum = sum(.data$ue_share, na.rm = TRUE), .groups = "drop" ) - + final_data <- extended_data %>% bind_rows( ue_summary %>% @@ -148,12 +149,12 @@ calcAllChemicalUeShares_2020to2150 <- function() { Data1 = "OtherChem", ue_share = 1 - .data$ue_sum ) - ) %>% select(-"ue_sum") - + ) %>% select(-"ue_sum") + x <- as.magpie(final_data, spatial = 1, temporal = 2) map <- toolGetMapping("regionmappingH12.csv", type = "regional", where = "mappingfolder") x <- toolAggregate(x, rel = map, dim = 1, from = "RegionCode", to = "CountryCode") - + # --------------------------------------------------------------------------- # Set Weighting and Return Final Output # - Create a weight object with the same dimensions as 'x' (all values set to 1). @@ -161,11 +162,11 @@ calcAllChemicalUeShares_2020to2150 <- function() { # --------------------------------------------------------------------------- weight <- x # Copy dimensions from x weight[, , ] <- 1 - + return(list( x = x, weight = weight, - unit = "share", + unit = "share", description = "Material ue shares for 2020-2150 on country level." )) } diff --git a/R/calcEnergyBalancesOutputToIndustry.R b/R/calcEnergyBalancesOutputToIndustry.R index 7301a99a..004119ea 100644 --- a/R/calcEnergyBalancesOutputToIndustry.R +++ b/R/calcEnergyBalancesOutputToIndustry.R @@ -20,6 +20,9 @@ calcEnergyBalancesOutputToIndustry <- function() { data <- readSource("IEA", subtype = "EnergyBalances") * 4.1868e-5 + # apply corrections to IEA data to cope with fragmentary time series + data <- toolFixIeaDataForIndustrySubsectors(data) + reminditems <- do.call( mbind, lapply(unique(ieamatch$target), diff --git a/R/calcIndustry_CCS_limits.R b/R/calcIndustry_CCS_limits.R index a6ba5a8b..0ab5f9ae 100644 --- a/R/calcIndustry_CCS_limits.R +++ b/R/calcIndustry_CCS_limits.R @@ -139,7 +139,7 @@ calcIndustry_CCS_limits <- function( # regional aggregation and applying stage factors group_by(.data$period, .data$region, .data$subsector) %>% summarise(value = sum(.data$value * .data$factor), .groups = 'drop') %>% - complete(crossing(!!!syms(c('region', 'subsector', 'period'))), + complete(tidyr::crossing(!!!syms(c('region', 'subsector', 'period'))), fill = list(value = 0)) %>% full_join( ind_activity %>% diff --git a/R/calcIndustry_Value_Added.R b/R/calcIndustry_Value_Added.R index af7fb704..931bee16 100644 --- a/R/calcIndustry_Value_Added.R +++ b/R/calcIndustry_Value_Added.R @@ -36,7 +36,7 @@ #' list_to_data_frame madrat_mule magclass_to_tibble order.levels #' seq_range sum_total_ #' @importFrom readr write_rds -#' @importFrom stats lm nls nls.control SSlogis sd +#' @importFrom stats lm nls nls.control SSlogis sd na.omit #' @importFrom tibble as_tibble tibble tribble #' @importFrom tidyr expand_grid pivot_longer pivot_wider replace_na #' @importFrom utils head diff --git a/R/calcSteel_Projections.R b/R/calcSteel_Projections.R index 7e327ef8..bf68f253 100644 --- a/R/calcSteel_Projections.R +++ b/R/calcSteel_Projections.R @@ -39,7 +39,7 @@ #' list_to_data_frame madrat_mule magclass_to_tibble order.levels #' seq_range sum_total_ #' @importFrom readr write_rds -#' @importFrom stats nls SSlogis sd lm +#' @importFrom stats nls SSlogis sd lm na.omit #' @importFrom tibble as_tibble tibble tribble #' @importFrom tidyr expand_grid pivot_longer pivot_wider replace_na #' @importFrom utils head diff --git a/R/readUSGS.R b/R/readUSGS.R index bf3e81da..bde892d4 100644 --- a/R/readUSGS.R +++ b/R/readUSGS.R @@ -97,7 +97,7 @@ readUSGS <- function(subtype = 'cement') { # filter cases in which 'Total' is directly follow by a 'See footnotes' # note - ends <- setdiff(ends, ends[na.omit(match((ends + 1), ends))]) + ends <- setdiff(ends, ends[stats::na.omit(match((ends + 1), ends))]) # there should be as many 'starts' as 'ends' if (length(starts) != length(ends)) { diff --git a/R/tool_fix_IEA_data_for_Industry_subsectors.R b/R/tool_fix_IEA_data_for_Industry_subsectors.R deleted file mode 100644 index 46164df2..00000000 --- a/R/tool_fix_IEA_data_for_Industry_subsectors.R +++ /dev/null @@ -1,852 +0,0 @@ -#' Apply adjustments to industry-related IEA data -#' -#' This function prepares the industry-related IEA before mapping it to REMIND sectors. There are three different types of adjustments done: -#' 1. replace coke oven and blast furnace outputs (`BLFURGS`, `OGASES`, `OVENCOKE`, -#' `COKEOVGS`, `COALTAR`, `NONCRUDE`) by inputs -#' (required for dealing with energy flows from the steel sector to other sectors) -#' 2. prepare industry-related time series -#' 3. apply corrections to IEA data to cope with fragmentary time series -#' -#' The corrections done by this function are rather rudimentary and crude. This -#' gets smoothed away in regional aggregation. But do not use the resulting -#' country-level data without additional scrutiny. -#' -#' Use regional or global averages if IEA industry data lists energy use only as -#' "non-specified". -#' -#' @md -#' @param data MAgPIE object containing the IEA Energy Balances data -#' -#' -#' @param threshold minimum share each industry subsector uses of each product. -#' Defaults to 1 %. -#' -#' @return a MAgPIE object -#' -#' @author Michaja Pehl, Felix Schreyer -#' -#' @importFrom assertr not_na assert -#' @importFrom dplyr anti_join group_by inner_join left_join mutate pull rename -#' select summarise -#' @importFrom readr read_delim cols col_skip col_character -#' @importFrom quitte cartesian interpolate_missing_periods overwrite -#' character.data.frame interpolate_missing_periods_ -#' @importFrom rlang .data -#' @importFrom tibble as_tibble -#' @importFrom stats na.omit -#' @importFrom tidyr complete gather nesting spread crossing -#' @export -tool_fix_IEA_data_for_Industry_subsectors <- function(data, threshold = 1e-2) { - - - #### - - # This function contains the following steps: - - # (CO = coke oven, - # BF = blast furnace) - - # 1. Replace steel sector outputs by inputs - # 1.1 Define functions - # 1.2 Prepare data and define flows - # 1.3 Replace flows of BF outputs and by inputs into BF - # 1.4 Replace flows of CO outputs by inputs to CO - # 1.5 Calculate CO Losses - # 1.6 Recalculate BF inputs w/ CO replacements - # 1.7 Calculate BF Losses - # 1.8 Replace IEA data with steel sector adjustments - # 2. Prepare Industry Subsectors Timeseries - # 2.1 Define flows and mappings - # 2.2 Extend industry subsector timeseries - # 2.3 Apply five-year moving average - # 3. Fix suspicious industry products - # 3.1 Prepare data to fix - # 3.2 Redistribute products to industry-related flows - # 3.3 Replace and append data - - #### - - # 1. Replace steel sector outputs by inputs ---- - - ## 1.1 Define functions ---- - - - - . <- NULL - - .clean_data <- function(m, keep_zeros = FALSE) { - m %>% - as.data.frame() %>% - as_tibble() %>% - select(iso3c = 'Region', year = 'Year', product = 'Data1', flow = 'Data2', - value = 'Value') %>% - filter(0 != .data$value | keep_zeros) %>% - character.data.frame() %>% - mutate(year = as.integer(.data$year)) - } - - ## 1.2 Prepare data and define flows ---- - - ## IEA data as dataframe - df_data <- data %>% - .clean_data(keep_zeros = T) - - ## flow definitions - IEA_flows <- tribble( - ~summary.flow, ~flow, - # Total Primary Energy Production - 'TES', 'INDPROD', # primary energy production - 'TES', 'IMPORTS', - 'TES', 'EXPORTS', - 'TES', 'MARBUNK', # international marine bunkers - 'TES', 'AVBUNK', # international aviation bunkers - NA_character_, 'TRANSFER', # inter-product transfers, product transfers, - # and recycling - 'TES', 'STOCKCHA', # stock changes - - # Transformation Processes - 'TOTTRANF', 'MAINELEC', # main activity producer electricity plants - 'TOTTRANF', 'AUTOELEC', # autoproducer electricity plants - 'TOTTRANF', 'MAINCHP', # main activity producer CHP plants - 'TOTTRANF', 'AUTOCHP', # autoproducer electricity plants - 'TOTTRANF', 'MAINHEAT', # main activity producer heat plants - 'TOTTRANF', 'AUTOHEAT', # autoproducer heat plants - 'TOTTRANF', 'THEAT', # heat pumps - 'TOTTRANF', 'TBOILER', # electric boilers - 'TOTTRANF', 'TELE', # chemical heat for electricity production - 'TOTTRANF', 'TBLASTFUR', # blast furnaces - 'TOTTRANF', 'TGASWKS', # gas works - 'TOTTRANF', 'TCOKEOVS', # coke ovens - 'TOTTRANF', 'TPATFUEL', # patent fuel plants - 'TOTTRANF', 'TBKB', # peat briquette plants - 'TOTTRANF', 'TREFINER', # oil refineries - 'TOTTRANF', 'TPETCHEM', # petrochemical plants - 'TOTTRANF', 'TCOALLIQ', # coal liquefaction plants - 'TOTTRANF', 'TGTL', # gas-to-liquid plants - 'TOTTRANF', 'TBLENDGAS', # blended natural gas - 'TOTTRANF', 'TCHARCOAL', # charcoal production plants - 'TOTTRANF', 'TNONSPEC', # non-specified transformation - - # Energy Industry Own Use and Losses - 'TOTENGY', 'EMINES', # coal mines - 'TOTENGY', 'EOILGASEX', # oil and gas extraction - 'TOTENGY', 'EBLASTFUR', # blast furnaces - 'TOTENGY', 'EGASWKS', # gas works - 'TOTENGY', 'EBIOGAS', # gasifications plants for biogases - 'TOTENGY', 'ECOKEOVS', # coke ovens - 'TOTENGY', 'EPATFUEL', # patent fuel plants - 'TOTENGY', 'EBKB', # peat briquette plants - 'TOTENGY', 'EREFINER', # oil refineries - 'TOTENGY', 'ECOALLIQ', # coal liquefaction plants - 'TOTENGY', 'ELNG', # liquefaction/regasification plants - 'TOTENGY', 'EGTL', # gas-to-liquied plants - 'TOTENGY', 'EPOWERPLT', # own use in electricity, CHP, and heat - # plants - 'TOTENGY', 'EPUMPST', # pumped storage plants - 'TOTENGY', 'ENUC', # nuclear industry - 'TOTENGY', 'ECHARCOAL', # charcoal production plants - 'TOTENGY', 'ENONSPEC', # non-specified energy industry - - # Final Consumption - 'TFC', 'IRONSTL', # iron and steel - 'TFC', 'CHEMICAL', # chemical and petrochemical - 'TFC', 'NONFERR', # non-ferrous metals - 'TFC', 'NONMET', # non-metallic minerals - 'TFC', 'TRANSEQ', # transport equipment - 'TFC', 'MACHINE', # machinery - 'TFC', 'MINING', # mining and quarrying - 'TFC', 'FOODPRO', # food production - 'TFC', 'PAPERPRO', # paper, pulp, and print - 'TFC', 'WOODPRO', # wood and wood products - 'TFC', 'CONSTRUC', # construction - 'TFC', 'TEXTILES', # textiles - 'TFC', 'INONSPEC', # non-specified industry - 'TFC', 'WORLDAV', # world aviation bunkers - 'TFC', 'DOMESAIR', # domestic aviation - 'TFC', 'ROAD', # road - 'TFC', 'RAIL', # rail - 'TFC', 'PIPELINE', # pipeline transport - 'TFC', 'WORLDMAR', # world marine bunkers - 'TFC', 'DOMESNAV', # domestic navigation - 'TFC', 'TRNONSPE', # non-specified transport - 'TFC', 'RESIDENT', # residential - 'TFC', 'COMMPUB', # commercial and public services - 'TFC', 'AGRICULT', # agriculture/forestry - 'TFC', 'FISHING', # fishing - 'TFC', 'ONONSPEC', # non-specified other consumption - 'TFC', 'NONENUSE', # non-energy use - - - 'TOTIND', 'IRONSTL', # iron and steel - 'TOTIND', 'CHEMICAL', # chemical and petrochemical - 'TOTIND', 'NONFERR', # non-ferrous metals - 'TOTIND', 'NONMET', # non-metallic minerals - 'TOTIND', 'TRANSEQ', # transport equipment - 'TOTIND', 'MACHINE', # machinery - 'TOTIND', 'MINING', # mining and quarrying - 'TOTIND', 'FOODPRO', # food production - 'TOTIND', 'PAPERPRO', # paper, pulp, and print - 'TOTIND', 'WOODPRO', # wood and wood products - 'TOTIND', 'CONSTRUC', # construction - 'TOTIND', 'TEXTILES', # textiles - 'TOTIND', 'INONSPEC', # non-specified industry - - # Transport - 'TOTTRANS', 'WORLDAV', # world aviation bunkers - 'TOTTRANS', 'DOMESAIR', # domestic aviation - 'TOTTRANS', 'ROAD', # road - 'TOTTRANS', 'RAIL', # rail - 'TOTTRANS', 'PIPELINE', # pipeline transport - 'TOTTRANS', 'WORLDMAR', # world marine bunkers - 'TOTTRANS', 'DOMESNAV', # domestic navigation - 'TOTTRANS', 'TRNONSPE', # non-specified transport - - # Other Consumption - 'TOTOTHER', 'RESIDENT', # residential - 'TOTOTHER', 'COMMPUB', # commercial and public services - 'TOTOTHER', 'AGRICULT', # agriculture/forestry - 'TOTOTHER', 'FISHING', # fishing - 'TOTOTHER', 'ONONSPEC', # non-specified other consumption - - # Non-Energy Use - 'NONENUSE', 'NEINTREN', # non-energy use in industry/transformation/ - # energy - NA_character_, 'NECHEM', # non-energy use chemical/petrochemical - 'NONENUSE', 'NETRANS', # non-energy use in transport - 'NONENUSE', 'NEOTHER', # non-energy use in other - - # Electricity Output - 'ELOUTPUT', 'ELMAINE', # main activity producer electricity plants - 'ELOUTPUT', 'ELAUTOE', # autoproducer electricity plants - 'ELOUTPUT', 'ELMAINC', # main activity producer CHP plants - 'ELOUTPUT', 'ELAUTOC', # autoproducer CHP plants - - # Heat Output - 'HEATOUT', 'HEMAINC', # main activity producer CHP plants - 'HEATOUT', 'HEAUTOC', # autoproducer CHP plants - 'HEATOUT', 'HEMAINH', # main activity producer heat plants - 'HEATOUT', 'HEAUTOH' # autoproducer heat plants - ) - - base_flows <- unique(IEA_flows$flow) - summary_flows <- unique(na.omit(IEA_flows$summary.flow)) - all_flows <- c(base_flows, summary_flows) - - ### blast furnace flows to be replaced - # all transformation, energy system and final consumption flows, except for - # those related to blast furnaces - flow_BLASTFUR_to_replace <- setdiff(all_flows, c('EBLASTFUR', 'TBLASTFUR')) - - ### coke oven flows to be replaced - # all transformation, energy system and final consumption flows, except for - # those related to coke ovens - flow_COKEOVS_to_replace <- setdiff(all_flows, c('ECOKEOVS', 'TCOKEOVS')) - - ## 1.3 Replace flows of BF outputs and by inputs into BF ---- - - # Example of how replacement routine works: - # Flows of BF outputs into other sectors: BLFURGAS.MAINELEC = -20 - # BF inputs: OVENCOKE.TBLASTFUR = -90, COKCOAL.TBLASTFUR = -10 - # Flows of BF outputs are attributed to inputs via input shares: - # New BF output flows - # OVENCOKE.MAINELEC = -20 * (90 / 100) = -18 - # COKCOAL.MAINELEC = -20 * (10 / 100) = -2 - - # all products in/out of blast furnace transformation and energy demand, except - # summary flows 'TOTAL' and 'MRENEW' - data_BLASTFUR <- data %>% - `[`(,, c('EBLASTFUR', 'TBLASTFUR'), pmatch = 'right') %>% - `[`(,, c('TOTAL', 'MRENEW'), pmatch = 'left', invert = TRUE) %>% - .clean_data() %>% - group_by(!!!syms(c('iso3c', 'year', 'product'))) %>% - summarise(value = sum(.data$value), .groups = 'drop') - - ### blast furnace inputs - # inputs into transformation/energy system are negative - data_BLASTFUR_inputs <- data_BLASTFUR %>% - filter(0 > .data$value) - - ### blast furnace outputs - # outputs from transformation are positive - data_BLASTFUR_outputs <- data_BLASTFUR %>% - filter(0 < .data$value) - - ### blast furnace output products - # products blast furnaces supply to other flows - outputs_BLASTFUR <- data_BLASTFUR_outputs %>% - select(-'value') - - ### blast furnace product use - data_BLASTFUR_use <- df_data %>% - filter(.data$flow %in% flow_BLASTFUR_to_replace ) %>% - right_join(outputs_BLASTFUR) - - # outputs are replaced joule-by-joule with inputs, according to the input shares - # right_join() filters out countries/years that do not use blast furnace - # products - data_BLASTFUR_replacement <- right_join( - data_BLASTFUR_inputs %>% - group_by(!!!syms(c('iso3c', 'year'))) %>% - mutate(factor = .data$value / sum(.data$value)) %>% - ungroup() %>% - select(-'value'), - - data_BLASTFUR_use %>% - select(-'product'), - - c('iso3c', 'year') - ) %>% - # assume that countries/years that have no inputs into blast furnaces, - # also have no outputs and use of blast furnace products (e.g. ISR 1973) - filter(!is.na(.data$product)) %>% - assert(not_na, everything(), - description = 'Only valid blast furnace replacement data') %>% - mutate(value = .data$value * .data$factor) %>% - group_by(!!!syms(c('iso3c', 'year', 'product', 'flow'))) %>% - summarise(value = sum(.data$value), .groups = 'drop') - - ## 1.4 Replace flwos of CO outputs by inputs to CO ---- - - # Example of how replacement routine works: - # Flow of CO outputs: COKEOVGS.TBLASTFUR = -10 (coke oven gas used in blast furnace) - # CO inputs: COKCOAL.TCOKEOVS = -180, NATGAS.TCOKEOVS = -20 - # Flows of CO outputs are attributed to inputs via input shares: - # New Flows CO outputs: - # COKCOAL.TBLASTFUR = -10 * (180 / 200) = -9 - # NATGAS.TBLASTFUR = -10 * (20 / 200) = -1 - - # all products in/out of coke oven transformation and energy demand, except - # summary flows 'TOTAL' and 'MRENEW' - data_COKEOVS <- data %>% - `[`(,, c('ECOKEOVS', 'TCOKEOVS'), pmatch = 'right') %>% - `[`(,, c('TOTAL', 'MRENEW'), pmatch = 'left', invert = TRUE) %>% - .clean_data() %>% - group_by(!!!syms(c('iso3c', 'year', 'product'))) %>% - summarise(value = sum(.data$value), .groups = 'drop') - - #### apply blast furnace replacement - # Coke ovens and blast furnaces can be both inputs and outputs to one another at - # the same time. To untangle this, we first replace blast furnace outputs that - # are inputs into coke ovens by coke oven outputs, which are netted with the - # direct outputs (here), and then replace coke oven outputs that are blast - # furnace inputs by coke oven inputs (further below). - data_COKEOVS <- bind_rows( - data_COKEOVS %>% - anti_join(outputs_BLASTFUR), - - data_BLASTFUR_replacement %>% - filter(.data$flow %in% c('ECOKEOVS', 'TCOKEOVS')) %>% - select(-'flow') - ) %>% - group_by(!!!syms(c('iso3c', 'year', 'product'))) %>% - summarise(value = sum(.data$value), .groups = 'drop') - - ### coke oven inputs - # inputs into transformation/energy system are negative - data_COKEOVS_inputs <- data_COKEOVS %>% - filter(0 > .data$value) - - ### coke oven outputs - # outputs from transformation are positive - data_COKEOVS_outputs <- data_COKEOVS %>% - filter(0 < .data$value) - - ### coke oven output products - # products blast furnaces supply to other flows - outputs_COKEOVS <- data_COKEOVS_outputs %>% - select(-'value') - - ### coke oven product use - data_COKEOVS_use <- df_data %>% - filter(.data$flow %in% flow_COKEOVS_to_replace ) %>% - right_join(outputs_COKEOVS) - - # outputs are replaced joule-by-joule with inputs, according to the input shares - # right_join() filters out countries/years that do not use coke oven products - data_COKEOVS_replacement <- right_join( - data_COKEOVS_inputs %>% - group_by(!!!syms(c('iso3c', 'year'))) %>% - mutate(factor = .data$value / sum(.data$value)) %>% - ungroup() %>% - select(-'value'), - - data_COKEOVS_use %>% - select(-'product'), - - c('iso3c', 'year') - ) %>% - # assume that countries/years that have no inputs into coke ovens, - # also have no outputs and use of coke oven products - # (in reality these products may be imported, but we neglect this case) - filter(!is.na(.data$product)) %>% - assert(not_na, everything(), - description = 'Only valid coke oven replacement data') %>% - mutate(value = .data$value * .data$factor) %>% - select('iso3c', 'year', 'product', 'flow', 'value') - - ## 1.5 Calculate CO Losses ---- - # coke oven losses (true losses from ECOKEOVS and transformation energy from - # TCOKEOVS) are allotted to the IRONSTL sector - # losses are the difference of inputs and outputs, weighted by input shares - # right_join() filters out countries/years that do not use coke oven products - - # Example calculation of transformation losses: - # CO outputs: COKEOVGS.TBLASTFUR = -10 (coke oven gas used in blast furnace) - # CO inputs: COKCOAL.TCOKEOVS = -180, NATGAS.TCOKEOVS = -20 - # Transformation losses are calculated as difference between - # inputs and outputs that are attributed to inputs by input shares: - # Coke oven energy losses: - # COKCOAL.IRONSTL = 180 - 10 * (180 / 200) = 171 - # NATGAS.IRONSTL = 20 - 10 * (20 / 200) = 18 - # Note coke oven losses are attributed to IRONSTL flow. - - data_COKEOVS_loss <- right_join( - data_COKEOVS_inputs, - - data_COKEOVS_outputs %>% - group_by(!!!syms(c('iso3c', 'year'))) %>% - summarise(output = sum(.data$value), .groups = 'drop'), - - c('iso3c', 'year') - ) %>% - # assume that countries/years that have no inputs into coke ovens, - # also have no transformation losses - filter(!is.na(.data$product)) %>% - assert(not_na, everything(), - description = 'Only valid coke oven loss data') %>% - group_by(!!!syms(c('iso3c', 'year'))) %>% - mutate(value = (sum(-.data$value) - .data$output) - * .data$value / sum(.data$value), - flow = 'IRONSTL') %>% - ungroup() %>% - select('iso3c', 'year', 'product', 'flow', 'value') - - ## 1.6 Recalculate BF inputs w/ CO replacements ---- - - #### apply coke oven replacement - # Coke ovens and blast furnaces can be both inputs and outputs to one another at - # the same time. To untangle this, we first replace blast furnace outputs that - # are inputs into coke ovens by coke oven outputs, which are netted with the - # direct outputs (above), and then replace coke oven outputs that are blast - # furnace inputs by coke oven inputs (here). - data_BLASTFUR <- bind_rows( - data_BLASTFUR %>% - anti_join(outputs_COKEOVS), - - data_COKEOVS_replacement %>% - filter(.data$flow %in% c('EBLASTFUR', 'TBLASTFUR')) %>% - select(-'flow') - ) %>% - group_by(!!!syms(c('iso3c', 'year', 'product'))) %>% - summarise(value = sum(.data$value), .groups = 'drop') - - ### blast furnace inputs - # inputs into transformation/energy system are negative - data_BLASTFUR_inputs <- data_BLASTFUR %>% - filter(0 > .data$value) - - ### blast furnace replacement data - # outputs are replaced joule-by-joule with inputs, according to the input shares - # right_join() filters out countries/years that do not use blast furnace - # products - data_BLASTFUR_replacement <- right_join( - data_BLASTFUR_inputs %>% - group_by(!!!syms(c('iso3c', 'year'))) %>% - mutate(factor = .data$value / sum(.data$value)) %>% - ungroup() %>% - select(-'value'), - - data_BLASTFUR_use %>% - select(-'product'), - - c('iso3c', 'year') - ) %>% - # assume that countries/years that have no inputs into blast furnaces, - # also have no outputs and use of blast furnace products (e.g. ISR 1973) - filter(!is.na(.data$product)) %>% - assert(not_na, everything(), - description = 'Only valid blast furnace replacement data') %>% - mutate(value = .data$value * .data$factor) %>% - group_by(!!!syms(c('iso3c', 'year', 'product', 'flow'))) %>% - summarise(value = sum(.data$value), .groups = 'drop') - - ## 1.7 Calculate BF Losses ---- - # blast furnace losses (true losses from EBLASTFUR and transformation energy - # from TBLASTFUR) are allotted to the IRONSTL sector - # losses are the difference of inputs and outputs, weighted by input shares - # right_join() filters out countries/years that do not use blast furnace - # products - - # Example calculation of transformation losses: - # BF outputs: BLFURGAS.MAINELEC = -20 - # BF inputs: COKCOAL.TBLASTFUR = -90, ELECTR.EBLASTFUR = -10 - # Transformation losses are calculated as difference between - # inputs and outputs that are attributed to inputs by input shares: - # Blast furnace energy losses: - # COKCOAL.IRONSTL = 100 - 20 * (90 / 100) = 82 - # ELECTR.IRONSTL = 10 - 20 * (10 / 100) = 8 - # Note blast furnace losses are attributed to IRONSTL - - data_BLASTFUR_loss <- right_join( - data_BLASTFUR_inputs, - - data_BLASTFUR_outputs %>% - group_by(!!!syms(c('iso3c', 'year'))) %>% - summarise(output = sum(.data$value), .groups = 'drop'), - - c('iso3c', 'year') - ) %>% - # assume that countries/years that have no inputs into blast furnaces, - # also have no transformation losses - filter(!is.na(.data$product)) %>% - assert(not_na, everything(), - description = 'Only valid blast furnace loss data') %>% - group_by(!!!syms(c('iso3c', 'year'))) %>% - mutate(value = (sum(-.data$value) - .data$output) - * .data$value / sum(.data$value), - flow = 'IRONSTL') %>% - ungroup() %>% - select('iso3c', 'year', 'product', 'flow', 'value') - - ## 1.8 Replace IEA data with steel sector adjustments ---- - - - # bind all data of coke oven and blast furnace adjustment routine together - df_CO_BF_adjustment <- bind_rows( - # filter already replaced data - data_COKEOVS_replacement %>% - filter(!.data$flow %in% c('EBLASTFUR', 'TBLASTFUR')), - - data_BLASTFUR_replacement %>% - filter(!.data$flow %in% c('ECOKEOVS', 'TCOKEOVS')), - - data_COKEOVS_loss %>% - sum_total_('product', name = 'TOTAL'), - - data_BLASTFUR_loss %>% - sum_total_('product', name = 'TOTAL') - ) %>% - group_by(!!!syms(setdiff(colnames(.), 'value'))) %>% - summarise(value = sum(.data$value), .groups = 'drop') - - - # take original IEA data and substract flows that contain CO or BF outputs - # these flows are now accounted for in the CO/BF adjusted data df_CO_BF_adjustment - df_data_fixed <- df_data %>% - left_join( - bind_rows(data_BLASTFUR_use, - data_COKEOVS_use) %>% - group_by(!!!syms(c('iso3c', 'year', 'product', 'flow'))) %>% - summarise(value = sum(.data$value), .groups = 'drop') %>% - rename(value_use = 'value'), - by = c('iso3c', 'year', 'product', 'flow') - ) %>% - mutate(value = ifelse(is.na(.data$value_use), - .data$value, - .data$value - .data$value_use)) %>% - select(-'value_use') - - - # add flows from CO/BF adjustment routine df_CO_BF_adjustment - df_data_fixed <- df_data_fixed %>% - left_join(df_CO_BF_adjustment, - by = c('iso3c', 'year', 'product', 'flow'), - suffix = c('', '.replace')) %>% - mutate(value = ifelse(is.na(.data$value.replace), - .data$value, - .data$value + .data$value.replace)) %>% - select(.data$iso3c, .data$year, .data$product, .data$flow, .data$value) - - - # set coke oven and blast furnace flows to zero - # as the energy is already accounted for in others flows - df_data_fixed <- df_data_fixed %>% - mutate(value = ifelse(.data$flow %in% c('ECOKEOVS', 'TCOKEOVS', - 'EBLASTFUR', 'TBLASTFUR'), - 0, - .data$value)) - - - - - # recalculate summary flows after CO+BF adjustment - # define additional summary flows to be recalculated - additional_summary_flows <- tribble( - ~summary.flow, ~flow, - # Manufacturing Industry - 'MANUFACT', 'IRONSTL', # iron and steel - 'MANUFACT', 'CHEMICAL', # chemical and petrochemical - 'MANUFACT', 'NONFERR', # non-ferrous metals - 'MANUFACT', 'NONMET', # non-metallic minerals - 'MANUFACT', 'TRANSEQ', # transport equipment - 'MANUFACT', 'MACHINE', # machinery - 'MANUFACT', 'FOODPRO', # food production - 'MANUFACT', 'PAPERPRO', # paper, pulp, and print - 'MANUFACT', 'WOODPRO', # wood and wood products - 'MANUFACT', 'TEXTILES' # textiles - ) - - # sum all flows after CO+BF adjustment to get summary flows as defined in IEA_flows table above - df_sum_flows <- df_data_fixed %>% - # join IEA flow definitions to get summary flows - inner_join(IEA_flows %>% - filter(!is.na(.data$summary.flow)) %>% - rbind(additional_summary_flows), - by = 'flow') %>% - group_by(!!!syms(c('iso3c', 'year', 'product', 'summary.flow'))) %>% - summarise(value = sum(.data$value), .groups = 'drop') %>% - ungroup() %>% - rename(flow = 'summary.flow') - - # replace summary flows with sums of adjusted CO+BF data - df_data_fixed <- df_data_fixed %>% - anti_join(df_sum_flows, - by = c('iso3c', 'year', 'product', 'flow')) %>% - bind_rows(df_sum_flows) - - - # convert CO+BF adjusted IEA data into magclass object via as.magpie - data_fixed <- df_data_fixed %>% - arrange(!!!syms(c('iso3c', 'year', 'product', 'flow'))) %>% - as.magpie(spatial = 1, temporal = 2, datacol = ncol(.)) - - # final data after CO+BF adjustment - data <- data_fixed - - # 2. Prepare Industry Subsector Time Series ---- - - ## 2.1 Define flows and mappings ---- - - # all industry subsector flows - flows_to_fix <- c('IRONSTL', 'CHEMICAL', 'NONFERR', 'NONMET', 'TRANSEQ', - 'MACHINE','MINING', 'FOODPRO', 'PAPERPRO', 'WOODPRO', - 'CONSTRUC', 'TEXTILES') - - # all products associated with those flows - - # these used to be retrieved from the iea mapping before - # products_to_fix <- ieamatch %>% - # filter(.data$iea_flows %in% flows_to_fix) %>% - # getElement('iea_product') %>% - # unique() - - # now, we hard code them, as the mapping is being refactored, potentially causing - # unwanted side effects in this tool function - - # for now, we use the products associated with the flows, according to the old mapping - # TODO: revise and update the list of products to be fixed - products_to_fix <- c( - 'ADDITIVE', 'ANTCOAL', 'AVGAS', 'BIODIESEL', 'BIOGASES', 'BIOGASOL', 'BITCOAL', 'BITUMEN', - 'BKB', 'BROWN', 'CHARCOAL', 'COKCOAL', 'CRNGFEED', 'CRUDEOIL', 'ELECTR', 'ETHANE', - 'GASCOKE', 'GASWKSGS', 'GEOTHERM', 'HARDCOAL', 'HEAT', 'INDWASTE', 'JETGAS', 'LIGNITE', - 'LPG', 'LUBRIC', 'MUNWASTEN', 'MUNWASTER', 'NAPHTHA', 'NATGAS', 'NGL', 'NONBIODIES', - 'NONBIOGASO', 'NONBIOJETK', 'OBIOLIQ', 'OILSHALE', 'ONONSPEC', 'OTHKERO', 'PARWAX', 'PATFUEL', - 'PEAT', 'PEATPROD', 'PETCOKE', 'PRIMSBIO', 'REFFEEDS', 'REFINGAS', 'RENEWNS', 'RESFUEL', - 'SUBCOAL', 'WHITESP' - ) - - # products to fix according to the latest mapping - # products_to_fix <- c( - # 'ANTCOAL', 'AVGAS', 'BIODIESEL', 'BIOGASES', 'BIOGASOL', 'BITCOAL', 'BITUMEN', 'BKB', - # 'BROWN', 'CHARCOAL', 'COKCOAL', 'CRNGFEED', 'CRUDEOIL', 'ELECTR', 'ETHANE', 'GASCOKE', - # 'GASWKSGS', 'GEOTHERM', 'HARDCOAL', 'HEAT', 'INDWASTE', 'LIGNITE', 'LPG', 'LUBRIC', - # 'MUNWASTEN', 'MUNWASTER', 'NAPHTHA', 'NATGAS', 'NGL', 'NONBIODIES', 'NONBIOGASO', 'NONBIOJETK', - # 'OBIOLIQ', 'OILSHALE', 'ONONSPEC', 'OTHKERO', 'PARWAX', 'PATFUEL', 'PEAT', 'PEATPROD', - # 'PETCOKE', 'PRIMSBIO', 'REFINGAS', 'RENEWNS', 'RESFUEL', 'SUBCOAL', 'WHITESP' - # ) - - region_mapping <- toolGetMapping(name = 'regionmapping_21_EU11.csv', - type = 'regional', - where = 'mappingfolder') %>% - as_tibble() %>% - select('iso3c' = .data$CountryCode, 'region' = .data$RegionCode) - - ## 2.2 Extend industry subsector time series ---- - # subset of data containing industry subsector products and flows - data_industry <- data %>% - `[`(,,intersect(getNames(data), - cartesian(products_to_fix, - c(flows_to_fix, 'TOTIND', 'INONSPEC')))) %>% - as.data.frame() %>% - as_tibble() %>% - select(iso3c = 'Region', year = 'Year', product = 'Data1', flow = 'Data2', - value = 'Value') %>% - mutate(year = as.integer(as.character(.data$year))) %>% - filter(0 != .data$value) %>% - inner_join(region_mapping, 'iso3c') %>% - assert(not_na, .data$region) - - ## 2.3 Apply five-year moving average ---- - data_industry <- data_industry %>% - group_by(.data$iso3c, .data$region, .data$product, .data$flow) %>% - arrange(.data$year) %>% - mutate(value = zoo::rollapply( - # pad data with two leading and trailing NAs - data = c(NA, NA, .data$value, NA, NA), - width = 5, - # ignoring NAs in mean() stumps the mean on the edges to four/three years - FUN = function(x) { mean(x, na.rm = TRUE) })) %>% - ungroup() - - # 3. Fix suspicious products in industry ---- - - ## 3.1 Prepare data to fix ---- - - # all products that use less then 1 % of total energy outside of non-specified - # industry are 'suspicious' and will be fixed - data_to_fix <- data_industry %>% - filter(.data$flow %in% c('TOTIND', 'INONSPEC')) %>% - spread(.data$flow, .data$value) %>% - filter(1 - .data$INONSPEC / .data$TOTIND < 1e-2) %>% - select('iso3c', 'region', 'year', 'product', 'TOTIND') - - # use all non-suspicious data to calculate regional and global averages - data_for_fixing <- anti_join( - data_industry %>% - filter('TOTIND' != .data$flow), - - data_to_fix %>% - select(-.data$TOTIND), - - c('iso3c', 'region', 'year', 'product') - ) %>% - as_tibble() - - data_for_fixing <- full_join( - # compute global averages - data_for_fixing %>% - group_by(.data$year, .data$product, .data$flow) %>% - summarise(value = sum(.data$value), .groups = 'drop_last') %>% - mutate(global_share = .data$value / sum(.data$value)) %>% - ungroup() %>% - select(-.data$value) %>% - # and expand to all regions - mutate(region = NA_character_) %>% - complete(nesting(!!!syms(c('year', 'product', 'flow', 'global_share'))), - region = unique(region_mapping$region)), - - # compute regional averages - data_for_fixing %>% - group_by(.data$year, .data$region, .data$product, .data$flow) %>% - summarise(value = sum(.data$value), .groups = 'drop_last') %>% - mutate(regional_share = .data$value / sum(.data$value)) %>% - ungroup() %>% - select(-.data$value), - - c('year', 'region', 'product', 'flow') - ) %>% - # use regional averages if available, global averages otherwise - mutate(value = ifelse(!is.na(.data$regional_share), .data$regional_share, - .data$global_share)) %>% - select(-.data$regional_share, -.data$global_share) %>% - interpolate_missing_periods_( - periods = list(year = sub('^y([0-9]{4})$', '\\1', getYears(data)) %>% - as.integer() %>% - sort()), - expand.values = TRUE, method = 'linear') - - # calculated fixed data - data_industry_fixed <- left_join( - data_to_fix, - data_for_fixing, - c('region', 'year', 'product') - ) %>% - # replace "suspicious" data with averages - mutate(value = .data$TOTIND * .data$value) %>% - select(.data$iso3c, .data$region, .data$year, .data$product, .data$flow, - .data$value) %>% - assert(not_na, .data$value) %>% - overwrite(data_industry) - - ## 3.2 Redistribute products to industry-related flows ---- - # redistribute at least of each product into each subsector - data_industry_fixed <- data_industry_fixed %>% - complete(nesting(!!!syms(c('iso3c', 'region', 'year', 'product'))), - flow = c(flows_to_fix, 'INONSPEC'), - fill = list(value = 0)) %>% - group_by(.data$iso3c, .data$year, .data$product) %>% - # which flow belongs to which subsector? - right_join( - tribble( - ~subsector, ~flow, - 'cement', 'NONMET', - 'chemicals', 'CHEMICAL', - 'steel', 'IRONSTL') %>% - complete(flow = c(flows_to_fix, 'INONSPEC'), - fill = list(subsector = 'otherInd')), - - 'flow' - ) %>% - # compute subsector totals - group_by(.data$subsector, .add = TRUE) %>% - mutate(subsector.total = sum(.data$value), - subsector.count = n()) %>% - ungroup(.data$subsector) %>% - mutate( - # each subsector consumes at least of the total consumption of - # each product (with the exception of heat, which is only consumed in the - # otherInd subsector) - subsector.min = ifelse('HEAT' == .data$product, 0, - threshold * sum(.data$value)), - # if total subsector consumption is below the minimum, consumption must be - # added - subsector.add = pmax(0, .data$subsector.min - .data$subsector.total), - # each flow gets consumption added according to its share in total - # subsector consumption - flow.add = ifelse(0 != .data$subsector.total, - ( .data$subsector.add - / .data$subsector.total - * .data$value - ), - .data$subsector.add / .data$subsector.count), - # if the additional flow is zero, consumption has to be subtracted from\ - # this flow, in relation to its share of all flows with - # more-than-threshold consumption - flow.add = ifelse(0 != .data$flow.add, .data$flow.add, - ( -sum(.data$flow.add) - * .data$value - / sum(.data$value[0 == .data$flow.add]) - )), - value = .data$value + .data$flow.add) %>% - ungroup() %>% - select('iso3c', 'region', 'year', 'product', 'flow', 'value') - - ## 3.3 Replace and append fixed data ---- - data_industry_fixed_overwrite <- data_industry_fixed %>% - semi_join( - data_industry, - - c('iso3c', 'region', 'year', 'product', 'flow') - ) %>% - select('iso3c', 'year', 'product', 'flow', 'value') %>% - as.magpie(spatial = 1, temporal = 2, datacol = 5) - - data_industry_fixed_append <- data_industry_fixed %>% - anti_join( - data_industry, - - c('iso3c', 'region', 'year', 'product', 'flow') - ) %>% - select('iso3c', 'year', 'product', 'flow', 'value') %>% - complete(nesting(!!!syms(c('product', 'flow'))), - iso3c = getRegions(data), - year = getYears(data, as.integer = TRUE), - fill = list(value = 0)) %>% - select('iso3c', 'year', 'product', 'flow', 'value') %>% - as.magpie(spatial = 1, temporal = 2, datacol = 5) - - data[getRegions(data_industry_fixed_overwrite), - getYears(data_industry_fixed_overwrite), - getNames(data_industry_fixed_overwrite)] <- data_industry_fixed_overwrite - - - existing_names <- intersect(getNames(data), getNames(data_industry_fixed_append)) - added_names <- setdiff(getNames(data_industry_fixed_append), getNames(data)) - tmp <- data[, , existing_names] - tmp[is.na(tmp)] <- 0 - data[, , existing_names] <- tmp + data_industry_fixed_append[, , existing_names] - - data <- mbind(data, data_industry_fixed_append[, , added_names]) - - return(data) -} diff --git a/README.md b/README.md index 93207156..b7224da3 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # input data generation for the REMIND industry module -R package **mrindustry**, version **1.2.1** +R package **mrindustry**, version **1.2.2** [![R build status](https://github.com/pik-piam/mrindustry/workflows/check/badge.svg)](https://github.com/pik-piam/mrindustry/actions) [![codecov](https://codecov.io/gh/pik-piam/mrindustry/branch/master/graph/badge.svg)](https://app.codecov.io/gh/pik-piam/mrindustry) [![r-universe](https://pik-piam.r-universe.dev/badges/mrindustry)](https://pik-piam.r-universe.dev/builds) @@ -39,7 +39,7 @@ In case of questions / problems please contact Falk Benke To cite package **mrindustry** in publications use: -Benke F, Dürrwächter J, Rodrigues R, Moreno-Leiva S, Baumstark L, Pehl M, Weiss B (2026). "mrindustry: input data generation for the REMIND industry module." Version: 1.2.1, . +Benke F, Dürrwächter J, Rodrigues R, Moreno-Leiva S, Baumstark L, Pehl M, Weiss B (2026). "mrindustry: input data generation for the REMIND industry module." Version: 1.2.2, . A BibTeX entry for LaTeX users is @@ -47,9 +47,9 @@ A BibTeX entry for LaTeX users is @Misc{, title = {mrindustry: input data generation for the REMIND industry module}, author = {Falk Benke and Jakob Dürrwächter and Renato Rodrigues and Simón Moreno-Leiva and Lavinia Baumstark and Michaja Pehl and Bennet Weiss}, - date = {2026-06-24}, + date = {2026-07-14}, year = {2026}, url = {https://github.com/pik-piam/mrindustry}, - note = {Version: 1.2.1}, + note = {Version: 1.2.2}, } ``` diff --git a/man/calcAllChemicalEnergyDemand_2005to2020.Rd b/man/calcAllChemicalEnergyDemand_2005to2020.Rd index d6933e88..8d74bbb5 100644 --- a/man/calcAllChemicalEnergyDemand_2005to2020.Rd +++ b/man/calcAllChemicalEnergyDemand_2005to2020.Rd @@ -2,9 +2,9 @@ % Please edit documentation in R/calcAllChemicalEnergyDemand_2005to2020.R \name{calcAllChemicalEnergyDemand_2005to2020} \alias{calcAllChemicalEnergyDemand_2005to2020} -\title{Calculates chemical energy demand from 2005 to 2020 from chemical production per route (AllChemicalRoutes_2005to2020) +\title{Calculates chemical energy demand from 2005 to 2020 from chemical production per route (AllChemicalRoutes_2005to2020) and specific energy consumption for the different routes (retrieved from IEA_PetrochemEI and other literature sources). -The energy demand for OtherChem is calculated as the remaining share of total chemical industry energy demand. +The energy demand for OtherChem is calculated as the remaining share of total chemical industry energy demand. Results are aggregated to the country level.} \usage{ calcAllChemicalEnergyDemand_2005to2020(CCS = FALSE) @@ -13,9 +13,9 @@ calcAllChemicalEnergyDemand_2005to2020(CCS = FALSE) \item{CCS}{boolean parameter whether CCS technologies are considered as such in 2020 or assumed to be technologies without CCS} } \description{ -Calculates chemical energy demand from 2005 to 2020 from chemical production per route (AllChemicalRoutes_2005to2020) +Calculates chemical energy demand from 2005 to 2020 from chemical production per route (AllChemicalRoutes_2005to2020) and specific energy consumption for the different routes (retrieved from IEA_PetrochemEI and other literature sources). -The energy demand for OtherChem is calculated as the remaining share of total chemical industry energy demand. +The energy demand for OtherChem is calculated as the remaining share of total chemical industry energy demand. Results are aggregated to the country level. } \author{ diff --git a/man/calcAllChemicalMat2Ue_2020to2150.Rd b/man/calcAllChemicalMat2Ue_2020to2150.Rd index df042008..27ee1bce 100644 --- a/man/calcAllChemicalMat2Ue_2020to2150.Rd +++ b/man/calcAllChemicalMat2Ue_2020to2150.Rd @@ -3,16 +3,16 @@ \name{calcAllChemicalMat2Ue_2020to2150} \alias{calcAllChemicalMat2Ue_2020to2150} \title{Calculates mat2ue conversion factors of ammoFinal, methFinal, HVC and fertilizer -for 2020-2150 based on the mat2ue conversion factors in 2020 and the -projected relative increases in production (IEA The Future of Petrochemicals) and +for 2020-2150 based on the mat2ue conversion factors in 2020 and the +projected relative increases in production (IEA The Future of Petrochemicals) and total chemical UE (FeDemandIndustry)} \usage{ calcAllChemicalMat2Ue_2020to2150() } \description{ Calculates mat2ue conversion factors of ammoFinal, methFinal, HVC and fertilizer -for 2020-2150 based on the mat2ue conversion factors in 2020 and the -projected relative increases in production (IEA The Future of Petrochemicals) and +for 2020-2150 based on the mat2ue conversion factors in 2020 and the +projected relative increases in production (IEA The Future of Petrochemicals) and total chemical UE (FeDemandIndustry) } \author{ diff --git a/man/calcAllChemicalSpecFeDemand_2005to2020.Rd b/man/calcAllChemicalSpecFeDemand_2005to2020.Rd index 236004b2..4bf0bcf6 100644 --- a/man/calcAllChemicalSpecFeDemand_2005to2020.Rd +++ b/man/calcAllChemicalSpecFeDemand_2005to2020.Rd @@ -2,9 +2,9 @@ % Please edit documentation in R/calcAllChemicalSpecFeDemand_2005to2020.R \name{calcAllChemicalSpecFeDemand_2005to2020} \alias{calcAllChemicalSpecFeDemand_2005to2020} -\title{Calculates chemical energy demand from 2005 to 2020 from chemical production per route (AllChemicalRoutes_2005to2020) +\title{Calculates chemical energy demand from 2005 to 2020 from chemical production per route (AllChemicalRoutes_2005to2020) and specific energy consumption for the different routes (retrieved from IEA_PetrochemEI and other literature sources). -The energy demand for OtherChem is calculated as the remaining share of total chemical industry energy demand. +The energy demand for OtherChem is calculated as the remaining share of total chemical industry energy demand. Results are aggregated to the country level.} \usage{ calcAllChemicalSpecFeDemand_2005to2020(CCS = FALSE) @@ -13,9 +13,9 @@ calcAllChemicalSpecFeDemand_2005to2020(CCS = FALSE) \item{CCS}{boolean parameter whether CCS technologies are considered as such in 2020 or assumed to be technologies without CCS} } \description{ -Calculates chemical energy demand from 2005 to 2020 from chemical production per route (AllChemicalRoutes_2005to2020) +Calculates chemical energy demand from 2005 to 2020 from chemical production per route (AllChemicalRoutes_2005to2020) and specific energy consumption for the different routes (retrieved from IEA_PetrochemEI and other literature sources). -The energy demand for OtherChem is calculated as the remaining share of total chemical industry energy demand. +The energy demand for OtherChem is calculated as the remaining share of total chemical industry energy demand. Results are aggregated to the country level. } \author{ diff --git a/man/calcAllChemicalUeShares_2020to2150.Rd b/man/calcAllChemicalUeShares_2020to2150.Rd index 42faa29a..823b8b29 100644 --- a/man/calcAllChemicalUeShares_2020to2150.Rd +++ b/man/calcAllChemicalUeShares_2020to2150.Rd @@ -3,16 +3,16 @@ \name{calcAllChemicalUeShares_2020to2150} \alias{calcAllChemicalUeShares_2020to2150} \title{Calculates shares of ammoFinal, methFinal, HVC, fertilizer and OtherChem -of total chemical UE for 2020-2150 based on the UE shares in 2020 and the -projected relative increases in production (IEA The Future of Petrochemicals) and +of total chemical UE for 2020-2150 based on the UE shares in 2020 and the +projected relative increases in production (IEA The Future of Petrochemicals) and total chemical UE (FeDemandIndustry)} \usage{ calcAllChemicalUeShares_2020to2150() } \description{ Calculates shares of ammoFinal, methFinal, HVC, fertilizer and OtherChem -of total chemical UE for 2020-2150 based on the UE shares in 2020 and the -projected relative increases in production (IEA The Future of Petrochemicals) and +of total chemical UE for 2020-2150 based on the UE shares in 2020 and the +projected relative increases in production (IEA The Future of Petrochemicals) and total chemical UE (FeDemandIndustry) } \author{ diff --git a/man/calcEnergyBalancesOutputToIndustry.Rd b/man/calcEnergyBalancesOutputToIndustry.Rd index 72f7cee8..b662bdd6 100644 --- a/man/calcEnergyBalancesOutputToIndustry.Rd +++ b/man/calcEnergyBalancesOutputToIndustry.Rd @@ -2,14 +2,12 @@ % Please edit documentation in R/calcEnergyBalancesOutputToIndustry.R \name{calcEnergyBalancesOutputToIndustry} \alias{calcEnergyBalancesOutputToIndustry} -\title{Calculate Energy Balances Output to Industry -Additional corrections are applied to the IEA data in [`mrindustry::tool_fix_IEA_data_for_Industry_subsectors`].} +\title{Calculate Energy Balances Output to Industry} \usage{ calcEnergyBalancesOutputToIndustry() } \description{ Calculate Energy Balances Output to Industry -Additional corrections are applied to the IEA data in [`mrindustry::tool_fix_IEA_data_for_Industry_subsectors`]. } \author{ Michaja Pehl, Falk Benke diff --git a/man/tool_fix_IEA_data_for_Industry_subsectors.Rd b/man/tool_fix_IEA_data_for_Industry_subsectors.Rd deleted file mode 100644 index 61594e22..00000000 --- a/man/tool_fix_IEA_data_for_Industry_subsectors.Rd +++ /dev/null @@ -1,38 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/tool_fix_IEA_data_for_Industry_subsectors.R -\name{tool_fix_IEA_data_for_Industry_subsectors} -\alias{tool_fix_IEA_data_for_Industry_subsectors} -\title{Apply adjustments to industry-related IEA data} -\usage{ -tool_fix_IEA_data_for_Industry_subsectors(data, threshold = 0.01) -} -\arguments{ -\item{data}{MAgPIE object containing the IEA Energy Balances data} - -\item{threshold}{minimum share each industry subsector uses of each product. -Defaults to 1 \%.} -} -\value{ -a MAgPIE object -} -\description{ -This function prepares the industry-related IEA before mapping it to REMIND sectors. There are three different types of adjustments done: -\enumerate{ -\item replace coke oven and blast furnace outputs (\code{BLFURGS}, \code{OGASES}, \code{OVENCOKE}, -\code{COKEOVGS}, \code{COALTAR}, \code{NONCRUDE}) by inputs -(required for dealing with energy flows from the steel sector to other sectors) -\item prepare industry-related time series -\item apply corrections to IEA data to cope with fragmentary time series -} -} -\details{ -The corrections done by this function are rather rudimentary and crude. This -gets smoothed away in regional aggregation. But do not use the resulting -country-level data without additional scrutiny. - -Use regional or global averages if IEA industry data lists energy use only as -"non-specified". -} -\author{ -Michaja Pehl, Felix Schreyer -} From 75dc86ff93f60e3f85ded928ad7ea4c3b8280e2e Mon Sep 17 00:00:00 2001 From: Falk Benke Date: Wed, 15 Jul 2026 10:57:31 +0200 Subject: [PATCH 07/16] fix warning in readODYM_RECC --- R/ODYM_RECC.R | 4 ++-- R/calcFeDemandIndustry.R | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/R/ODYM_RECC.R b/R/ODYM_RECC.R index bf8734bb..d78376c4 100644 --- a/R/ODYM_RECC.R +++ b/R/ODYM_RECC.R @@ -6,7 +6,6 @@ #' subsectors `cement`, `chemicals`, `steel_primary`, `steel_secondary`, #' and `otherInd`. Trends for `chemicals` and `otherInd` are averages of #' the other three trends, which are provided by NTNU. -#' @param smooth Smooth REMIND_industry_trends (default) or not. #' #' @return A [`magpie`][magclass::magclass] object. #' @@ -20,7 +19,7 @@ #' @importFrom tibble tribble #' @export #' @rdname ODYM_RECC -readODYM_RECC <- function(subtype, smooth = TRUE) { +readODYM_RECC <- function(subtype) { # file path (for easier debugging) path <- './' # path <- '~/PIK/swap/inputdata/sources/ODYM_RECC/' @@ -48,6 +47,7 @@ readODYM_RECC <- function(subtype, smooth = TRUE) { #' @export #' @rdname ODYM_RECC +#' @param smooth Smooth REMIND_industry_trends (default) or not. calcODYM_RECC <- function(subtype, smooth = TRUE) { # subtype switchboard ---- switchboard <- list( diff --git a/R/calcFeDemandIndustry.R b/R/calcFeDemandIndustry.R index 313cd11f..89b77767 100644 --- a/R/calcFeDemandIndustry.R +++ b/R/calcFeDemandIndustry.R @@ -822,6 +822,7 @@ calcFeDemandIndustry <- function(scenarios, use_ODYM_RECC = FALSE, last_empirica ungroup() ### combine historic and future industry FE shares ---- + industry_subsectors_en_shares <- inner_join( industry_subsectors_en_shares %>% mutate(scenario = first(IEA_ETP_Ind_FE_shares$scenario)) %>% From be7b40d2107a1f9bf12522abc2ce398fb9ff44f2 Mon Sep 17 00:00:00 2001 From: Falk Benke Date: Wed, 15 Jul 2026 11:30:28 +0200 Subject: [PATCH 08/16] replace tool function --- .buildlibrary | 2 +- CITATION.cff | 2 +- DESCRIPTION | 2 +- NAMESPACE | 1 - R/calcEnergyBalancesOutputToIndustry.R | 6 +----- README.md | 2 +- man/ODYM_RECC.Rd | 2 +- 7 files changed, 6 insertions(+), 11 deletions(-) diff --git a/.buildlibrary b/.buildlibrary index d2a3e518..f2781c66 100644 --- a/.buildlibrary +++ b/.buildlibrary @@ -1,4 +1,4 @@ -ValidationKey: '2519056' +ValidationKey: '2519178' AutocreateReadme: yes AcceptedWarnings: - 'Warning: package ''.*'' was built under R version' diff --git a/CITATION.cff b/CITATION.cff index 50e7dc7c..55abfe35 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -3,7 +3,7 @@ message: If you use this software, please cite it using the metadata from this f type: software title: 'mrindustry: input data generation for the REMIND industry module' version: 1.2.2 -date-released: '2026-07-14' +date-released: '2026-07-15' abstract: The mrindustry packages contains data preprocessing for the REMIND model. authors: - family-names: Benke diff --git a/DESCRIPTION b/DESCRIPTION index 9c44a744..2f660d53 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -2,7 +2,7 @@ Type: Package Package: mrindustry Title: input data generation for the REMIND industry module Version: 1.2.2 -Date: 2026-07-14 +Date: 2026-07-15 Authors@R: c( person(given = "Falk", family = "Benke", email = "benke@pik-potsdam.de", role = c("aut", "cre")), diff --git a/NAMESPACE b/NAMESPACE index 846569f8..c515be7b 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -111,7 +111,6 @@ importFrom(magclass,setNames) importFrom(magclass,where) importFrom(magpiesets,findset) importFrom(magrittr,"%>%") -importFrom(mrcommonsenergy,toolFixIeaDataForIndustrySubsectors) importFrom(quitte,add_countrycode_) importFrom(quitte,as.quitte) importFrom(quitte,cartesian) diff --git a/R/calcEnergyBalancesOutputToIndustry.R b/R/calcEnergyBalancesOutputToIndustry.R index 004119ea..e67ad93c 100644 --- a/R/calcEnergyBalancesOutputToIndustry.R +++ b/R/calcEnergyBalancesOutputToIndustry.R @@ -1,7 +1,6 @@ #' Calculate Energy Balances Output to Industry #' #' @author Michaja Pehl, Falk Benke -#' @importFrom mrcommonsenergy toolFixIeaDataForIndustrySubsectors #' calcEnergyBalancesOutputToIndustry <- function() { @@ -18,10 +17,7 @@ calcEnergyBalancesOutputToIndustry <- function() { tidyr::unite("target", tidyselect::all_of(target), sep = ".", remove = FALSE) %>% tidyr::unite("product.flow", c("iea_product", "iea_flows"), sep = ".") - data <- readSource("IEA", subtype = "EnergyBalances") * 4.1868e-5 - - # apply corrections to IEA data to cope with fragmentary time series - data <- toolFixIeaDataForIndustrySubsectors(data) + data <- calcOutput("IeaEnergyBalances", ieaVersion = "default", aggregate = FALSE) reminditems <- do.call( mbind, diff --git a/README.md b/README.md index b7224da3..b8a42505 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,7 @@ A BibTeX entry for LaTeX users is @Misc{, title = {mrindustry: input data generation for the REMIND industry module}, author = {Falk Benke and Jakob Dürrwächter and Renato Rodrigues and Simón Moreno-Leiva and Lavinia Baumstark and Michaja Pehl and Bennet Weiss}, - date = {2026-07-14}, + date = {2026-07-15}, year = {2026}, url = {https://github.com/pik-piam/mrindustry}, note = {Version: 1.2.2}, diff --git a/man/ODYM_RECC.Rd b/man/ODYM_RECC.Rd index 11f4db25..c087379d 100644 --- a/man/ODYM_RECC.Rd +++ b/man/ODYM_RECC.Rd @@ -5,7 +5,7 @@ \alias{calcODYM_RECC} \title{Read ODYM_RECC data from the SHAPE Project} \usage{ -readODYM_RECC(subtype, smooth = TRUE) +readODYM_RECC(subtype) calcODYM_RECC(subtype, smooth = TRUE) } From f324fbfa87f05dec6c10701a75e9fc632a35959e Mon Sep 17 00:00:00 2001 From: Falk Benke Date: Thu, 16 Jul 2026 17:04:14 +0200 Subject: [PATCH 09/16] remove no longer used subtypes for calcFeDemandIndustry --- R/ODYM_RECC.R | 106 --------------------------------------- R/calcFeDemandIndustry.R | 93 +++------------------------------- 2 files changed, 7 insertions(+), 192 deletions(-) delete mode 100644 R/ODYM_RECC.R diff --git a/R/ODYM_RECC.R b/R/ODYM_RECC.R deleted file mode 100644 index d78376c4..00000000 --- a/R/ODYM_RECC.R +++ /dev/null @@ -1,106 +0,0 @@ -#' Read ODYM_RECC data from the SHAPE Project -#' -#' @md -#' @param subtype One of -#' - `'REMIND_industry_trends'`: Trends in per-capita production of industry -#' subsectors `cement`, `chemicals`, `steel_primary`, `steel_secondary`, -#' and `otherInd`. Trends for `chemicals` and `otherInd` are averages of -#' the other three trends, which are provided by NTNU. -#' -#' @return A [`magpie`][magclass::magclass] object. -#' -#' @author Michaja Pehl -#' -#' @importFrom dplyr left_join mutate n group_by select ungroup -#' @importFrom quitte madrat_mule -#' @importFrom readr read_csv -#' @importFrom rlang syms -#' @importFrom tidyr pivot_longer pivot_wider -#' @importFrom tibble tribble -#' @export -#' @rdname ODYM_RECC -readODYM_RECC <- function(subtype) { - # file path (for easier debugging) - path <- './' - # path <- '~/PIK/swap/inputdata/sources/ODYM_RECC/' - - # subtype switchboard ---- - switchboard <- list( - 'REMIND_industry_trends' = function() { - read_csv(file = file.path(path, 'REMIND_industry_trends.csv'), - col_names = c('scenario', 'iso3c', 'name', 'year', 'value'), - col_types = '--ccc-id', - skip = 1) %>% - madrat_mule() - }) - - - # check if the subtype called is available ---- - if (!subtype %in% names(switchboard)) { - stop(paste('Invalid subtype -- supported subtypes are:', - paste(names(switchboard), collapse = ', '))) - } - - # load data and do whatever ---- - return(switchboard[[subtype]]()) -} - -#' @export -#' @rdname ODYM_RECC -#' @param smooth Smooth REMIND_industry_trends (default) or not. -calcODYM_RECC <- function(subtype, smooth = TRUE) { - # subtype switchboard ---- - switchboard <- list( - 'REMIND_industry_trends' = function() { - . <- NULL - - match_subsector <- tribble( - ~name, ~subsector, - 'Production|cement|Primary|per capita', 'cement', - 'Production|iron and steel|Primary|per capita', 'steel_primary', - 'Production|iron and steel|Secondary|per capita', 'steel_secondary') - - x <- readSource(type = 'ODYM_RECC', subtype, convert = FALSE) %>% - madrat_mule() %>% - left_join(match_subsector, 'name') %>% - select(-'name') %>% - group_by(.data$scenario, .data$iso3c, .data$subsector) %>% - mutate(value = .data$value / first(.data$value, - order_by = .data$year)) %>% - ungroup() %>% - pivot_wider(names_from = 'subsector') %>% - group_by(.data$scenario, .data$iso3c, .data$year) %>% - mutate(chemicals = mean(c(!!!syms(match_subsector$subsector))), - otherInd = .data$chemicals) %>% - ungroup() %>% - pivot_longer(-c('scenario', 'iso3c', 'year'), - names_to = 'subsector') - - if (smooth) { - x <- x %>% - group_by(.data$scenario, .data$iso3c, .data$subsector) %>% - mutate(value = c(first(.data$value), - zoo::rollmean(.data$value, k = 3, - fill = c('extend', NA, 'extend'), - align = 'center')[-c(1, n())], - last(.data$value))) %>% - ungroup() - } - - return( - list(x = x %>% - as.magpie(spatial = 2, temporal = 3, datacol = ncol(.)), - weight = NULL, - unit = '', - description = '')) - }) - - # check if the subtype called is available ---- - if (!subtype %in% names(switchboard)) { - stop(paste('Invalid subtype -- supported subtypes are:', - paste(names(switchboard), collapse = ', '))) - } - - # load data and do whatever ---- - return(switchboard[[subtype]]()) -} diff --git a/R/calcFeDemandIndustry.R b/R/calcFeDemandIndustry.R index 89b77767..23642671 100644 --- a/R/calcFeDemandIndustry.R +++ b/R/calcFeDemandIndustry.R @@ -1,8 +1,6 @@ #' Calculates FE demand in industry as REMIND variables #' #' @md -#' @param use_ODYM_RECC per-capita pathways for `SDP_xx` scenarios? (Defaults -#' to `FALSE`.) #' @param last_empirical_year Last year for which empirical data is available. #' Defaults to 2020. #' @param scenarios Vector of strings designating the scenario. !!Currently it acts as a filter only, with the actual @@ -23,7 +21,7 @@ #' @importFrom tidyselect all_of #' @author Michaja Pehl #' -calcFeDemandIndustry <- function(scenarios, use_ODYM_RECC = FALSE, last_empirical_year = 2020) { +calcFeDemandIndustry <- function(scenarios, last_empirical_year = 2020) { # The scenarios argument is currently only used to filter at the end. ## Replace any calls to scenario groups such as "SSPs" and "SSP2IndiaDEAs", with calls to the individual scenarios. @@ -162,12 +160,6 @@ calcFeDemandIndustry <- function(scenarios, use_ODYM_RECC = FALSE, last_empirica pivot_wider() %>% mutate(subsector = paste0("ue_", .data$subsector)) - if (use_ODYM_RECC) { - industry_subsectors_material_relative <- industry_subsectors_material_relative %>% - filter(!.data$scenario %in% c("SDP_EI", "SDP_MC", "SDP_RC")) - } - - industry_subsectors_material_relative_change <- calcOutput( type = "industry_subsectors_specific", subtype = "material_relative_change", @@ -183,23 +175,6 @@ calcFeDemandIndustry <- function(scenarios, use_ODYM_RECC = FALSE, last_empirica pivot_wider() %>% mutate(subsector = paste0("ue_", .data$subsector)) - if (use_ODYM_RECC) { - industry_subsectors_material_percapita <- calcOutput( - type = "ODYM_RECC", - subtype = "REMIND_industry_trends", - aggregate = FALSE) %>% - magclass_to_tibble() %>% - filter(!.data$scenario %in% c( - unique(industry_subsectors_material_alpha$scenario), - unique(industry_subsectors_material_relative$scenario), - unique(industry_subsectors_material_relative_change$scenario))) %>% - interpolate_missing_periods_( - periods = list( - year = unique(pmax(remind_years, - min(.$year)))), - expand.values = TRUE) - } - bind_rows( industry_subsectors_material_alpha %>% select("scenario", "region", "subsector"), industry_subsectors_material_relative %>% select("scenario", "region", "subsector"), @@ -425,67 +400,13 @@ calcFeDemandIndustry <- function(scenarios, use_ODYM_RECC = FALSE, last_empirica select("scenario", "iso3c", "subsector", "year", "value", "GDP") ) + ### per-capita projections ---- . <- NULL - if (use_ODYM_RECC) { - foo4 <- bind_rows( - foo3 %>% select(-"GDP"), - - foo3 %>% - filter( - "SSP2" == .data$scenario, - min(industry_subsectors_material_percapita$year) > .data$year) %>% - select(-"GDP") %>% - complete( - nesting(!!!syms(c("iso3c", "year", "subsector", "value"))), - scenario = unique(industry_subsectors_material_percapita$scenario) - ) %>% - filter("SSP2" != .data$scenario), - - foo3 %>% - filter( - "SSP2" == .data$scenario, - min(industry_subsectors_material_percapita$year) == .data$year - ) %>% - select(-"scenario", -"GDP", -"year") %>% - inner_join( - calcOutput("Population", scenario = gdpPopScen, aggregate = FALSE, years = remind_years) %>% - magclass_to_tibble() %>% - select("iso3c", "scenario" = "variable", "year", "population" = "value") %>% - filter( - min(industry_subsectors_material_percapita$year) <= .data$year, - .data$scenario %in% - unique(industry_subsectors_material_percapita$scenario) - ) %>% - group_by(.data$iso3c, .data$scenario) %>% - mutate( - population = .data$population - / first(.data$population, order_by = .data$year)) %>% - ungroup(), - - "iso3c") %>% - inner_join( - industry_subsectors_material_percapita %>% - mutate(subsector = paste0("ue_", .data$subsector)) %>% - interpolate_missing_periods_( - periods = list(year = seq_range(range(.$year)))) %>% - rename(activity = "value"), - - c("iso3c", "subsector", "year", "scenario") - ) %>% - mutate(value = .data$value * .data$population * .data$activity) %>% - select("iso3c", "scenario", "subsector", "year", "value") - ) - - industry_subsectors_ue <- foo4 %>% - select("iso3c", "year", "scenario", pf = "subsector", "value") %>% - as.magpie(spatial = 1, temporal = 2, datacol = ncol(.)) - } else { - industry_subsectors_ue <- foo3 %>% - select("iso3c", "year", "scenario", pf = "subsector", "value") %>% - as.magpie(spatial = 1, temporal = 2, datacol = ncol(.)) - } + industry_subsectors_ue <- foo3 %>% + select("iso3c", "year", "scenario", pf = "subsector", "value") %>% + as.magpie(spatial = 1, temporal = 2, datacol = 5) ## subsector FE shares ---- ### get 1993-2020 industry FE ---- @@ -1348,10 +1269,10 @@ calcFeDemandIndustry <- function(scenarios, use_ODYM_RECC = FALSE, last_empirica industry_subsectors_en <- industry_subsectors_en %>% as.magpie(spatial = 2, temporal = 3, datacol = 5) - remind <- mbind( industry_subsectors_en[,remind_years,], - industry_subsectors_ue[,remind_years,]) + industry_subsectors_ue[,remind_years,] + ) # Add SSP2_NAV_all as duplicate of SSP2, if required. if ("SSP2_NAV_all" %in% scenarios) remind <- mbind(remind, setItems(remind[, , "SSP2"], 3.1, "SSP2_NAV_all")) From 3c558b7f69c41a33a9ca4150acc93b5b33884520 Mon Sep 17 00:00:00 2001 From: Falk Benke Date: Fri, 17 Jul 2026 14:57:39 +0200 Subject: [PATCH 10/16] increment version --- .buildlibrary | 2 +- CITATION.cff | 2 +- DESCRIPTION | 2 +- NAMESPACE | 2 -- README.md | 6 +++--- man/ODYM_RECC.Rd | 31 ------------------------------- man/calcFeDemandIndustry.Rd | 9 +-------- 7 files changed, 7 insertions(+), 47 deletions(-) delete mode 100644 man/ODYM_RECC.Rd diff --git a/.buildlibrary b/.buildlibrary index c7eaa3e3..bab80db0 100644 --- a/.buildlibrary +++ b/.buildlibrary @@ -1,4 +1,4 @@ -ValidationKey: '2684630' +ValidationKey: '2705281' AutocreateReadme: yes AcceptedWarnings: - 'Warning: package ''.*'' was built under R version' diff --git a/CITATION.cff b/CITATION.cff index 08e76215..2a1684fa 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -2,7 +2,7 @@ cff-version: 1.2.0 message: If you use this software, please cite it using the metadata from this file. type: software title: 'mrindustry: input data generation for the REMIND industry module' -version: 1.3.0 +version: 1.3.1 date-released: '2026-07-17' abstract: The mrindustry packages contains data preprocessing for the REMIND model. authors: diff --git a/DESCRIPTION b/DESCRIPTION index 3a7d9ae0..b5b5e652 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: mrindustry Title: input data generation for the REMIND industry module -Version: 1.3.0 +Version: 1.3.1 Date: 2026-07-17 Authors@R: c( person(given = "Falk", family = "Benke", email = "benke@pik-potsdam.de", diff --git a/NAMESPACE b/NAMESPACE index c515be7b..dd68ceb7 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -8,7 +8,6 @@ export(calcEmissionFactorsFeedstocks) export(calcIndustry_CCS_limits) export(calcIndustry_EEK) export(calcIndustry_Value_Added) -export(calcODYM_RECC) export(calcSteel_Projections) export(calcUNIDO) export(calcindustry_max_secondary_steel_share) @@ -21,7 +20,6 @@ export(convertUSGS) export(readADVANCE_WP2) export(readIEA_WEIO_2014) export(readMueller) -export(readODYM_RECC) export(readPauliuk) export(readUNIDO) export(readUSGS) diff --git a/README.md b/README.md index bf714b95..c791fa12 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # input data generation for the REMIND industry module -R package **mrindustry**, version **1.3.0** +R package **mrindustry**, version **1.3.1** [![R build status](https://github.com/pik-piam/mrindustry/workflows/check/badge.svg)](https://github.com/pik-piam/mrindustry/actions) [![codecov](https://codecov.io/gh/pik-piam/mrindustry/branch/master/graph/badge.svg)](https://app.codecov.io/gh/pik-piam/mrindustry) [![r-universe](https://pik-piam.r-universe.dev/badges/mrindustry)](https://pik-piam.r-universe.dev/builds) @@ -39,7 +39,7 @@ In case of questions / problems please contact Falk Benke To cite package **mrindustry** in publications use: -Benke F, Dürrwächter J, Rodrigues R, Moreno-Leiva S, Baumstark L, Pehl M, Weiss B (2026). "mrindustry: input data generation for the REMIND industry module." Version: 1.3.0, . +Benke F, Dürrwächter J, Rodrigues R, Moreno-Leiva S, Baumstark L, Pehl M, Weiss B (2026). "mrindustry: input data generation for the REMIND industry module." Version: 1.3.1, . A BibTeX entry for LaTeX users is @@ -50,6 +50,6 @@ A BibTeX entry for LaTeX users is date = {2026-07-17}, year = {2026}, url = {https://github.com/pik-piam/mrindustry}, - note = {Version: 1.3.0}, + note = {Version: 1.3.1}, } ``` diff --git a/man/ODYM_RECC.Rd b/man/ODYM_RECC.Rd deleted file mode 100644 index c087379d..00000000 --- a/man/ODYM_RECC.Rd +++ /dev/null @@ -1,31 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/ODYM_RECC.R -\name{readODYM_RECC} -\alias{readODYM_RECC} -\alias{calcODYM_RECC} -\title{Read ODYM_RECC data from the SHAPE Project} -\usage{ -readODYM_RECC(subtype) - -calcODYM_RECC(subtype, smooth = TRUE) -} -\arguments{ -\item{subtype}{One of -\itemize{ -\item \code{'REMIND_industry_trends'}: Trends in per-capita production of industry -subsectors \code{cement}, \code{chemicals}, \code{steel_primary}, \code{steel_secondary}, -and \code{otherInd}. Trends for \code{chemicals} and \code{otherInd} are averages of -the other three trends, which are provided by NTNU. -}} - -\item{smooth}{Smooth REMIND_industry_trends (default) or not.} -} -\value{ -A \code{\link[magclass:magclass]{magpie}} object. -} -\description{ -Read ODYM_RECC data from the SHAPE Project -} -\author{ -Michaja Pehl -} diff --git a/man/calcFeDemandIndustry.Rd b/man/calcFeDemandIndustry.Rd index 79f7c34b..281759ac 100644 --- a/man/calcFeDemandIndustry.Rd +++ b/man/calcFeDemandIndustry.Rd @@ -4,19 +4,12 @@ \alias{calcFeDemandIndustry} \title{Calculates FE demand in industry as REMIND variables} \usage{ -calcFeDemandIndustry( - scenarios, - use_ODYM_RECC = FALSE, - last_empirical_year = 2020 -) +calcFeDemandIndustry(scenarios, last_empirical_year = 2020) } \arguments{ \item{scenarios}{Vector of strings designating the scenario. !!Currently it acts as a filter only, with the actual scenarios computed within the function hard-coded into remind_scenarios.} -\item{use_ODYM_RECC}{per-capita pathways for \code{SDP_xx} scenarios? (Defaults -to \code{FALSE}.)} - \item{last_empirical_year}{Last year for which empirical data is available. Defaults to 2020.} } From 73393985b874c50ea9d50184b206e97d3ff9275c Mon Sep 17 00:00:00 2001 From: Falk Benke Date: Tue, 21 Jul 2026 14:09:23 +0200 Subject: [PATCH 11/16] fix share calculation in calcFeDemandIndustry --- R/calcFeDemandIndustry.R | 23 ++++++++++++----------- R/mrindustry-package.R | 4 ++++ 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/R/calcFeDemandIndustry.R b/R/calcFeDemandIndustry.R index 5f33351c..0e247b07 100644 --- a/R/calcFeDemandIndustry.R +++ b/R/calcFeDemandIndustry.R @@ -2,18 +2,16 @@ #' #' @md #' @param last_empirical_year Last year for which empirical data is available. -#' Defaults to 2020. +#' Defaults to 2022. #' @param scenarios Vector of strings designating the scenario. !!Currently it acts as a filter only, with the actual #' scenarios computed within the function hard-coded into remind_scenarios. #' @importFrom assertr assert not_na verify #' @importFrom dplyr anti_join arrange as_tibble between bind_rows case_when #' distinct filter first full_join group_by inner_join left_join #' matches mutate n pull rename right_join select semi_join summarise ungroup -#' @importFrom magrittr %>% #' @importFrom quitte as.quitte cartesian character.data.frame #' interpolate_missing_periods interpolate_missing_periods_ madrat_mule #' magclass_to_tibble overwrite seq_range -#' @importFrom rlang .data sym syms !!! !! #' @importFrom tibble tribble #' @importFrom tidyr complete expand_grid extract nesting pivot_longer #' pivot_wider replace_na separate unite @@ -21,7 +19,7 @@ #' @importFrom tidyselect all_of #' @author Michaja Pehl #' -calcFeDemandIndustry <- function(scenarios, last_empirical_year = 2020) { +calcFeDemandIndustry <- function(scenarios, last_empirical_year = 2022) { # The scenarios argument is currently only used to filter at the end. ## Replace any calls to scenario groups such as "SSPs" and "SSP2IndiaDEAs", with calls to the individual scenarios. @@ -378,7 +376,7 @@ calcFeDemandIndustry <- function(scenarios, last_empirical_year = 2020) { # modified change of target scenarios # If base change is below (above) 1, i.e. material efficiency is # improving (deteriorating), efficiency gains (losses) are halved - # (doubled). Changes of historic values (i.e. before 2015) are + # (doubled). Changes of historic values (i.e. before last_empirical_year) are # identical to base scenario. Not finite changes (e.g. division by # zero) lead to constant values. change = case_when( @@ -737,6 +735,9 @@ calcFeDemandIndustry <- function(scenarios, last_empirical_year = 2020) { ungroup() ### combine historic and future industry FE shares ---- + # until last_empirical_year, the historic FE share is used + # after last_empirical_year, transition to IEA ETP shares by shifting weight in favor + # of IEA ETP shares for years further in the future industry_subsectors_en_shares <- inner_join( industry_subsectors_en_shares %>% @@ -766,15 +767,15 @@ calcFeDemandIndustry <- function(scenarios, last_empirical_year = 2020) { c("scenario", "year", "region", "pf", "subsector") ) %>% - mutate(foo = pmin(1, pmax(0, (.data$year - 2015) / (2100 - 2015))), - share = .data$share.hist * (1 - .data$foo) - + .data$share.future * .data$foo, - subsector = ifelse("steel" == .data$subsector, - "steel_primary", .data$subsector)) %>% + mutate( + weight.future = pmin(1, pmax(0, (.data$year - last_empirical_year) / (2100 - last_empirical_year))), + share = .data$share.hist * (1 - .data$weight.future) + .data$share.future * .data$weight.future, + subsector = ifelse("steel" == .data$subsector, "steel_primary", .data$subsector) + ) %>% verify(expr = is.finite(.data$share), description = paste("Finite industry FE shares after combining", "historic and future values")) %>% - select(-"foo", -"share.hist", -"share.future") + select(-"weight.future", -"share.hist", -"share.future") failed_share_sum <- industry_subsectors_en_shares %>% group_by(!!!syms(c("scenario", "year", "region", "subsector"))) %>% diff --git a/R/mrindustry-package.R b/R/mrindustry-package.R index a65cf643..eddb5b8f 100644 --- a/R/mrindustry-package.R +++ b/R/mrindustry-package.R @@ -1,3 +1,7 @@ +#' @importFrom magrittr %>% +#' @importFrom rlang .data sym syms !! !!! +#' @docType package +#' #' @keywords internal "_PACKAGE" From a3a9f86375fb9be220a6d982dc7b558050f32d87 Mon Sep 17 00:00:00 2001 From: Falk Benke Date: Tue, 21 Jul 2026 14:21:35 +0200 Subject: [PATCH 12/16] clean up imports --- .buildlibrary | 2 +- CITATION.cff | 2 +- DESCRIPTION | 2 +- NAMESPACE | 3 --- R/UNIDO.R | 3 +-- R/calcCement.R | 5 +---- R/calcCementShare.R | 4 +--- R/calcChemicalFeedstocksShare.R | 1 - R/calcIndustry_EEK.R | 2 +- R/readPauliuk.R | 2 -- R/tool_expand_tibble.R | 1 - README.md | 2 +- man/calcFeDemandIndustry.Rd | 4 ++-- 13 files changed, 10 insertions(+), 23 deletions(-) diff --git a/.buildlibrary b/.buildlibrary index bab80db0..635a860c 100644 --- a/.buildlibrary +++ b/.buildlibrary @@ -1,4 +1,4 @@ -ValidationKey: '2705281' +ValidationKey: '2705805' AutocreateReadme: yes AcceptedWarnings: - 'Warning: package ''.*'' was built under R version' diff --git a/CITATION.cff b/CITATION.cff index 2a1684fa..a7c305f4 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -3,7 +3,7 @@ message: If you use this software, please cite it using the metadata from this f type: software title: 'mrindustry: input data generation for the REMIND industry module' version: 1.3.1 -date-released: '2026-07-17' +date-released: '2026-07-21' abstract: The mrindustry packages contains data preprocessing for the REMIND model. authors: - family-names: Benke diff --git a/DESCRIPTION b/DESCRIPTION index b5b5e652..3dfc7eb4 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -2,7 +2,7 @@ Type: Package Package: mrindustry Title: input data generation for the REMIND industry module Version: 1.3.1 -Date: 2026-07-17 +Date: 2026-07-21 Authors@R: c( person(given = "Falk", family = "Benke", email = "benke@pik-potsdam.de", role = c("aut", "cre")), diff --git a/NAMESPACE b/NAMESPACE index dd68ceb7..30b786e7 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -1,7 +1,5 @@ # Generated by roxygen2: do not edit by hand -export(calcCement) -export(calcCementShare) export(calcChemicalFeedstocksShare) export(calcClinkerToCementRatio) export(calcEmissionFactorsFeedstocks) @@ -20,7 +18,6 @@ export(convertUSGS) export(readADVANCE_WP2) export(readIEA_WEIO_2014) export(readMueller) -export(readPauliuk) export(readUNIDO) export(readUSGS) export(readindustry_subsectors_specific) diff --git a/R/UNIDO.R b/R/UNIDO.R index 2699090d..1af9c895 100644 --- a/R/UNIDO.R +++ b/R/UNIDO.R @@ -75,10 +75,9 @@ #' @importFrom GDPuc convertGDP #' @importFrom madrat toolCountryFill #' @importFrom magclass as.magpie -#' @importFrom magrittr %>% #' @importFrom quitte list_to_data_frame madrat_mule #' @importFrom readr col_character col_double col_integer col_skip cols read_csv -#' @importFrom rlang !!! .data is_empty syms +#' @importFrom rlang is_empty #' @importFrom tibble tibble tribble #' @importFrom tidyr drop_na expand_grid unite diff --git a/R/calcCement.R b/R/calcCement.R index 668f93ca..bd8def80 100644 --- a/R/calcCement.R +++ b/R/calcCement.R @@ -14,11 +14,8 @@ #' @seealso [calcOutput] #' #' @importFrom dplyr anti_join arrange bind_rows filter group_by select ungroup -#' @importFrom rlang .data syms !!! #' @importFrom magclass as.magpie - - -#' @export +#' calcCement <- function() { transition_year <- 2005 . <- NULL diff --git a/R/calcCementShare.R b/R/calcCementShare.R index 6b158e8d..ff8bed87 100644 --- a/R/calcCementShare.R +++ b/R/calcCementShare.R @@ -14,12 +14,10 @@ #' @seealso [`calcOutput()`] #' #' @importFrom dplyr bind_rows left_join select filter mutate pull -#' @importFrom rlang sym #' @importFrom tibble tribble as_tibble #' @importFrom tidyr pivot_longer complete nesting #' @importFrom magclass dimSums - -#' @export +#' calcCementShare <- function() { cement_NONMET_share <- tribble( ~fety, ~OECD, ~`Non-OECD`, ~World, diff --git a/R/calcChemicalFeedstocksShare.R b/R/calcChemicalFeedstocksShare.R index e7d8ce27..4dcc4b92 100644 --- a/R/calcChemicalFeedstocksShare.R +++ b/R/calcChemicalFeedstocksShare.R @@ -14,7 +14,6 @@ #' @importFrom assertr assert not_na #' @importFrom dplyr filter group_by inner_join mutate pull select summarise #' @importFrom quitte character.data.frame interpolate_missing_periods_ -#' @importFrom rlang .data sym #' @importFrom tibble as_tibble #' @importFrom tidyr complete everything nesting #' @importFrom magclass collapseDim diff --git a/R/calcIndustry_EEK.R b/R/calcIndustry_EEK.R index cfde1a3e..4315c328 100644 --- a/R/calcIndustry_EEK.R +++ b/R/calcIndustry_EEK.R @@ -11,7 +11,7 @@ #' @importFrom dplyr arrange bind_rows filter group_by lag lead mutate n #' row_number select #' @importFrom quitte madrat_mule -#' @importFrom rlang .data .env sym syms +#' @importFrom rlang .env #' @importFrom tidyr nest pivot_longer unnest #' @importFrom dplyr desc #' @export diff --git a/R/readPauliuk.R b/R/readPauliuk.R index c81c4dba..6ec766f0 100644 --- a/R/readPauliuk.R +++ b/R/readPauliuk.R @@ -16,8 +16,6 @@ #' #' @importFrom dplyr mutate #' @importFrom quitte madrat_mule -#' @importFrom rlang .data -#' @export #' readPauliuk <- function(subtype = 'lifetime') { diff --git a/R/tool_expand_tibble.R b/R/tool_expand_tibble.R index 6d7f66a2..d0b2b98f 100644 --- a/R/tool_expand_tibble.R +++ b/R/tool_expand_tibble.R @@ -15,7 +15,6 @@ #' @return A `tibble`. #' #' @importFrom dplyr anti_join bind_rows filter select -#' @importFrom rlang syms #' @importFrom tidyr complete nesting #' @importFrom tidyselect all_of #' diff --git a/README.md b/README.md index c791fa12..388d8763 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,7 @@ A BibTeX entry for LaTeX users is @Misc{, title = {mrindustry: input data generation for the REMIND industry module}, author = {Falk Benke and Jakob Dürrwächter and Renato Rodrigues and Simón Moreno-Leiva and Lavinia Baumstark and Michaja Pehl and Bennet Weiss}, - date = {2026-07-17}, + date = {2026-07-21}, year = {2026}, url = {https://github.com/pik-piam/mrindustry}, note = {Version: 1.3.1}, diff --git a/man/calcFeDemandIndustry.Rd b/man/calcFeDemandIndustry.Rd index 281759ac..ffdb91db 100644 --- a/man/calcFeDemandIndustry.Rd +++ b/man/calcFeDemandIndustry.Rd @@ -4,14 +4,14 @@ \alias{calcFeDemandIndustry} \title{Calculates FE demand in industry as REMIND variables} \usage{ -calcFeDemandIndustry(scenarios, last_empirical_year = 2020) +calcFeDemandIndustry(scenarios, last_empirical_year = 2022) } \arguments{ \item{scenarios}{Vector of strings designating the scenario. !!Currently it acts as a filter only, with the actual scenarios computed within the function hard-coded into remind_scenarios.} \item{last_empirical_year}{Last year for which empirical data is available. -Defaults to 2020.} +Defaults to 2022.} } \description{ Calculates FE demand in industry as REMIND variables From 1c962949ae0e19fbb14379184aa7f440f68ca6c4 Mon Sep 17 00:00:00 2001 From: Falk Benke Date: Thu, 23 Jul 2026 15:00:08 +0200 Subject: [PATCH 13/16] add comments to calcFeDemandIndustry --- R/calcFeDemandIndustry.R | 59 ++++++++++++++++++++++++++-------------- 1 file changed, 38 insertions(+), 21 deletions(-) diff --git a/R/calcFeDemandIndustry.R b/R/calcFeDemandIndustry.R index 0e247b07..90529167 100644 --- a/R/calcFeDemandIndustry.R +++ b/R/calcFeDemandIndustry.R @@ -406,22 +406,37 @@ calcFeDemandIndustry <- function(scenarios, last_empirical_year = 2022) { . <- NULL ## subsector FE shares ---- - ### get 1993-2020 industry FE ---- + ### get 1993-last_empirical_year industry FE ---- - industry_subsectors_en <- calcOutput("EnergyBalancesOutputToIndustry", aggregate = FALSE) %>% + iea <- calcOutput("EnergyBalancesOutputToIndustry", aggregate = FALSE) %>% # convert to data frame as.data.frame() %>% as_tibble() %>% select(iso3c = "Region", year = "Year", pf = "Data2", value = "Value") %>% character.data.frame() %>% mutate(year = as.integer(as.character(.data$year))) %>% - # get 1993-2020 industry FE data + # get 1993-last_empirical_year industry FE data filter(grepl("^fe.*_(cement|chemicals|steel|otherInd)", .data$pf), between(.data$year, 1993, last_empirical_year)) %>% # sum up fossil and bio SE (which produce the same FE), aggregate regions full_join(region_mapping_21, "iso3c") %>% group_by(!!!syms(c("year", "region", "pf"))) %>% - summarise(value = sum(.data$value), .groups = "drop") %>% + summarise(value = sum(.data$value), .groups = "drop") + + ### Apply five-year moving average ---- + + # iea <- iea %>% + # group_by(.data$region, .data$pf) %>% + # arrange(.data$year) %>% + # mutate(value = zoo::rollapply( + # # pad data with two leading and trailing NAs + # data = c(NA, NA, .data$value, NA, NA), + # width = 5, + # # ignoring NAs in mean() stumps the mean on the edges to four/three years + # FUN = function(x) { mean(x, na.rm = TRUE) })) %>% + # ungroup() + + industry_subsectors_en <- iea %>% # split feel steel into primary and secondary production left_join( industry_subsectors_ue[, , "ue_steel", pmatch = TRUE] %>% @@ -467,13 +482,12 @@ calcFeDemandIndustry <- function(scenarios, last_empirical_year = 2022) { select(-"feel_steel") %>% pivot_longer(matches("^fe.*"), names_to = "pf", values_drop_na = TRUE) - # can be removed once feelwlth is replaced by feel in all mappings for - # calcIO() + # can be removed once feelwlth is replaced by feel in all mappings for calcIO() industry_subsectors_en <- industry_subsectors_en %>% mutate(pf = sub("^feelwlth_", "feel_", .data$pf)) - ### calculate 1993-2020 industry subsector FE shares ---- + ### calculate 1993-last_empirical_year industry subsector FE shares ---- industry_subsectors_en_shares <- industry_subsectors_en %>% mutate(subsector = sub("^[^_]+_", "", .data$pf), subsector = ifelse("steel" == .data$subsector, "steel_primary", @@ -645,8 +659,7 @@ calcFeDemandIndustry <- function(scenarios, last_empirical_year = 2022) { filter("feel" == .data$fety, "steel" == .data$subsector) %>% select(-"fety", -"subsector") %>% inner_join( - industry_subsectors_ue %>% - `[`(, , "ue_steel_", pmatch = TRUE) %>% + industry_subsectors_ue[, , "ue_steel_", pmatch = TRUE] %>% as.data.frame() %>% as_tibble() %>% select(iso3c = "Region", year = "Year", scenario = "Data1", @@ -911,8 +924,7 @@ calcFeDemandIndustry <- function(scenarios, last_empirical_year = 2022) { group_by(!!!syms(c("scenario", "region", "year", "subsector"))) %>% summarise(value = sum(.data$value), .groups = "drop"), - # TODO: track down differences between SDP and SSP scenarios on historical - # data + # TODO: track down differences between SDP and SSP scenarios on historical data industry_subsectors_ue %>% as.data.frame() %>% as_tibble() %>% @@ -935,6 +947,7 @@ calcFeDemandIndustry <- function(scenarios, last_empirical_year = 2022) { select("scenario", "region", "year", "subsector", "specific.energy") # replace 0 specific energy (e.g. primary steel NEN) with global averages + # no longer relevant, as there are none industry_subsectors_specific_energy <- industry_subsectors_specific_energy %>% anti_join( @@ -964,8 +977,9 @@ calcFeDemandIndustry <- function(scenarios, last_empirical_year = 2022) { # replace absurdly high specific energy (e.g. primary steel NEN after IEA # 2021 data update) with EUR averages (considered peer-countries to NEN – # CHE, GRL, ISL, LIE, NOR, SJM). + industry_subsectors_specific_energy <- industry_subsectors_specific_energy %>% - filter("steel_primary" == .data$subsector, 100 < .data$specific.energy) %>% + filter(.data$subsector == "steel_primary", .data$specific.energy > 100, region == "NEN") %>% select(-"specific.energy") %>% left_join( industry_subsectors_specific_energy %>% @@ -986,6 +1000,7 @@ calcFeDemandIndustry <- function(scenarios, last_empirical_year = 2022) { value = "specific.energy", expand.values = TRUE) # correct lower-then-thermodynamic limit projections + # no longer relevant, as there are none too_low_projections <- industry_subsectors_specific_energy %>% left_join( specific_FE_limits %>% @@ -1264,8 +1279,8 @@ calcFeDemandIndustry <- function(scenarios, last_empirical_year = 2022) { as.magpie(spatial = 2, temporal = 3, datacol = 5) remind <- mbind( - industry_subsectors_en[,remind_years,], - industry_subsectors_ue[,remind_years,] + industry_subsectors_en[, remind_years, ], + industry_subsectors_ue[, remind_years, ] ) # Add SSP2_NAV_all as duplicate of SSP2, if required. @@ -1274,11 +1289,13 @@ calcFeDemandIndustry <- function(scenarios, last_empirical_year = 2022) { remind <- mselect(remind, scenario = scenarios) # ---- _ prepare output ---- - list(x = remind, - weight = NULL, - unit = paste0("EJ, except ue_cement (Gt), ue_primary_steel and ", - "ue_secondary_steel (Gt) and ue_chemicals and ", - "ue_otherInd ($tn)"), - description = "demand pathways for final energy demand in industry", - structure.data = "^(SSP[1-5].*|SDP.*)\\.(fe|ue)") + list( + x = remind, + weight = NULL, + unit = glue::glue("EJ, except ue_cement (Gt), ue_primary_steel and \\ + ue_secondary_steel (Gt) and ue_chemicals and \\ + ue_otherInd ($tn)"), + description = "demand pathways for final energy demand in industry", + structure.data = "^(SSP[1-5].*|SDP.*)\\.(fe|ue)" + ) } From f8041fb1cf628115aea56f9764995150f9591884 Mon Sep 17 00:00:00 2001 From: Falk Benke Date: Wed, 29 Jul 2026 11:26:37 +0200 Subject: [PATCH 14/16] switch back to 2020 as last empirical year in fe demand calculation --- R/calcEnergyBalancesOutputToIndustry.R | 1 + R/calcFeDemandIndustry.R | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/R/calcEnergyBalancesOutputToIndustry.R b/R/calcEnergyBalancesOutputToIndustry.R index e67ad93c..eb1e221d 100644 --- a/R/calcEnergyBalancesOutputToIndustry.R +++ b/R/calcEnergyBalancesOutputToIndustry.R @@ -14,6 +14,7 @@ calcEnergyBalancesOutputToIndustry <- function() { ieamatch <- ieamatch %>% select(tidyselect::all_of(c("iea_product", "iea_flows", "Weight", target))) %>% stats::na.omit() %>% + filter(!grepl("^rep_", .data$REMINDitems_in)) %>% tidyr::unite("target", tidyselect::all_of(target), sep = ".", remove = FALSE) %>% tidyr::unite("product.flow", c("iea_product", "iea_flows"), sep = ".") diff --git a/R/calcFeDemandIndustry.R b/R/calcFeDemandIndustry.R index 90529167..c3a8380e 100644 --- a/R/calcFeDemandIndustry.R +++ b/R/calcFeDemandIndustry.R @@ -2,7 +2,7 @@ #' #' @md #' @param last_empirical_year Last year for which empirical data is available. -#' Defaults to 2022. +#' Defaults to 2020. #' @param scenarios Vector of strings designating the scenario. !!Currently it acts as a filter only, with the actual #' scenarios computed within the function hard-coded into remind_scenarios. #' @importFrom assertr assert not_na verify @@ -19,7 +19,7 @@ #' @importFrom tidyselect all_of #' @author Michaja Pehl #' -calcFeDemandIndustry <- function(scenarios, last_empirical_year = 2022) { +calcFeDemandIndustry <- function(scenarios, last_empirical_year = 2020) { # The scenarios argument is currently only used to filter at the end. ## Replace any calls to scenario groups such as "SSPs" and "SSP2IndiaDEAs", with calls to the individual scenarios. From 06c760bd5064eb9e8d7cb3f4587fc3658de94ce0 Mon Sep 17 00:00:00 2001 From: Falk Benke Date: Wed, 29 Jul 2026 12:06:55 +0200 Subject: [PATCH 15/16] correct SSA steel data --- R/calcFeDemandIndustry.R | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/R/calcFeDemandIndustry.R b/R/calcFeDemandIndustry.R index c3a8380e..5727a882 100644 --- a/R/calcFeDemandIndustry.R +++ b/R/calcFeDemandIndustry.R @@ -978,18 +978,33 @@ calcFeDemandIndustry <- function(scenarios, last_empirical_year = 2020) { # 2021 data update) with EUR averages (considered peer-countries to NEN – # CHE, GRL, ISL, LIE, NOR, SJM). + industry_subsectors_specific_energy_eu_average <- industry_subsectors_specific_energy %>% + filter("steel_primary" == .data$subsector, + .data$region %in% c("DEU", "ECE", "ECS", "ENC", "ESC", "ESW", "EWN", "FRA", "UKI")) %>% + group_by(.data$scenario, .data$year, .data$subsector) %>% + summarise(specific.energy = mean(.data$specific.energy), .groups = "drop") + industry_subsectors_specific_energy <- industry_subsectors_specific_energy %>% - filter(.data$subsector == "steel_primary", .data$specific.energy > 100, region == "NEN") %>% + filter(.data$subsector == "steel_primary", .data$specific.energy > 100, .data$region == "NEN") %>% select(-"specific.energy") %>% - left_join( - industry_subsectors_specific_energy %>% - filter("steel_primary" == .data$subsector, - .data$region %in% c("DEU", "ECE", "ECS", "ENC", "ESC", "ESW", "EWN", "FRA", "UKI")) %>% - group_by(.data$scenario, .data$year, .data$subsector) %>% - summarise(specific.energy = mean(.data$specific.energy), .groups = "drop"), + left_join(industry_subsectors_specific_energy_eu_average, c("scenario", "year", "subsector")) %>% + overwrite(industry_subsectors_specific_energy, except = "specific.energy") - c("scenario", "year", "subsector") - ) %>% + # replace high specific energy for primary steel in SSA with values slightly higher than EU + # averages. this is a crude correction of the sparse data points from SSA that are dominated + # by South Africa which uses a lot of coal for steel production. the correction assumes that + # SSA will follow a trajectory closer to Europe, but with slightly lower energy efficiency + # represented by 'correction_factor' + + correction_factor <- 1.6 + + industry_subsectors_specific_energy <- industry_subsectors_specific_energy %>% + filter(.data$subsector == "steel_primary", .data$specific.energy > 90, .data$region == "SSA") %>% + select(-"specific.energy") %>% + left_join( + industry_subsectors_specific_energy_eu_average %>% + mutate("specific.energy" = .data$specific.energy * correction_factor), + c("scenario", "year", "subsector")) %>% overwrite(industry_subsectors_specific_energy, except = "specific.energy") # extend time horizon From a72a2e1aced5503e01de9ab7c1d7012fe0c71211 Mon Sep 17 00:00:00 2001 From: Falk Benke Date: Thu, 30 Jul 2026 23:52:11 +0200 Subject: [PATCH 16/16] fix warning in calcEnergyBalancesOutputToIndustry --- R/calcEnergyBalancesOutputToIndustry.R | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/R/calcEnergyBalancesOutputToIndustry.R b/R/calcEnergyBalancesOutputToIndustry.R index eb1e221d..9de21eab 100644 --- a/R/calcEnergyBalancesOutputToIndustry.R +++ b/R/calcEnergyBalancesOutputToIndustry.R @@ -7,11 +7,12 @@ calcEnergyBalancesOutputToIndustry <- function() { ieamatch <- toolGetMapping(type = "sectoral", name = "structuremappingIO_outputs.csv", where = "mrcommonsenergy", - returnPathOnly = FALSE) + returnPathOnly = TRUE) target <- c("REMINDitems_in", "REMINDitems_out", "REMINDitems_tech") ieamatch <- ieamatch %>% + read.csv2(stringsAsFactors = FALSE, na.strings = "") %>% select(tidyselect::all_of(c("iea_product", "iea_flows", "Weight", target))) %>% stats::na.omit() %>% filter(!grepl("^rep_", .data$REMINDitems_in)) %>%