diff --git a/R/IOFunctions.R b/R/IOFunctions.R index f8d6b1f1..05d3d950 100644 --- a/R/IOFunctions.R +++ b/R/IOFunctions.R @@ -272,7 +272,9 @@ buildModelwithImportFactors <- function(model) { # Including InternationalTradeAdjustment in DomesticFinalDemand for import factors calculations model$DomesticFDWithITA <- model$DomesticFinalDemand - model$DomesticFDWithITA[,"F050/US"] <- model$InternationalTradeAdjustment + if(model$specs$IODataSource != "stateior") { + model$DomesticFDWithITA[,"F050/US"] <- model$InternationalTradeAdjustment + } model$ImportFinalDemand <- model$FinalDemand - model$DomesticFDWithITA if(model$specs$CommodityorIndustryType == "Commodity") { diff --git a/R/LoadExternalImportFactors.R b/R/LoadExternalImportFactors.R index 3c9180dc..0b1f82b6 100644 --- a/R/LoadExternalImportFactors.R +++ b/R/LoadExternalImportFactors.R @@ -25,13 +25,19 @@ loadExternalImportFactors <- function(model, configpaths = NULL) { # Convert from basic to producer price using TAU of CurrencyYear Tau <- model$Tau[, as.character(meta$CurrencyYear)] names(Tau) <- gsub("/.*","",names(Tau)) + # For state models, keep only unique names + Tau <- Tau[unique(names(Tau))] IFTable <- merge(IFTable, as.data.frame(Tau), by.x = 'Sector', by.y = 0, all.y = FALSE) IFTable['FlowAmount'] <- IFTable['FlowAmount'] * IFTable['Tau'] IFTable['PriceType'] <- 'Producer' IFTable['CurrencyYear'] <- model$specs$IOYear if(model$specs$IODataSource =="stateior") { - #TODO + IFTable_SoI <- IFTable + IFTable_SoI['Location'] <- model$specs$ModelRegionAcronyms[[1]] + IFTable_RoUS <- IFTable + IFTable_RoUS['Location'] <- model$specs$ModelRegionAcronyms[[2]] + IFTable <- rbind(IFTable_SoI, IFTable_RoUS) } else { # assumes that if IODataSource is not stateior, it is a one a region model IFTable['Location'] <- "US"