#============================================================================#
# THIS IS AN AUTO-GENERATED FILE BY gams2x LIBRARY,
# IT IS NOT INTENDED FOR DIRECT EDITING - WILL BE OVERWRITTEN.
# gams2x EXTRACTS THE MODEL FRAMEWORK FROM THE GAMS SOURCE FILE energyRt.gms,
# TRANSLATES IT TO OTHER MATHEMATICAL PROGRAMMING LANGUGES,
# AND CREATES THIS FILE WITH THE MODEL STRUCTURE DETAILS
# FOR FURTHER SAVING IN "R/sysdata.rda" FILE OF the "energyRt" PACKAGE.
#============================================================================#
########################## variables mapping #########################
.variable_mapping = list(
vTechNewCap = "vTechNewCap( tech , region , year ) $ mTechNew( tech , region , year )",
vTechRetiredStockCum = "vTechRetiredStockCum( tech , region , year ) $ mvTechRetiredStock( tech , region , year )",
vTechRetiredStock = "vTechRetiredStock( tech , region , year ) $ mvTechRetiredStock( tech , region , year )",
vTechRetiredNewCap = "vTechRetiredNewCap( tech , region , year , year ) $ mvTechRetiredNewCap( tech , region , year , year )",
vTechCap = "vTechCap( tech , region , year ) $ mTechSpan( tech , region , year )",
vTechAct = "vTechAct( tech , region , year , slice ) $ mvTechAct( tech , region , year , slice )",
vTechInp = "vTechInp( tech , comm , region , year , slice ) $ mvTechInp( tech , comm , region , year , slice )",
vTechOut = "vTechOut( tech , comm , region , year , slice ) $ mvTechOut( tech , comm , region , year , slice )",
vTechAInp = "vTechAInp( tech , comm , region , year , slice ) $ mvTechAInp( tech , comm , region , year , slice )",
vTechAOut = "vTechAOut( tech , comm , region , year , slice ) $ mvTechAOut( tech , comm , region , year , slice )",
vTechInv = "vTechInv( tech , region , year ) $ mTechInv( tech , region , year )",
vTechEac = "vTechEac( tech , region , year ) $ mTechEac( tech , region , year )",
vTechRetCost = "vTechRetCost( tech , region , year ) $ mTechRetCost( tech , region , year )",
vTechFixom = "vTechFixom( tech , region , year ) $ mTechFixom( tech , region , year )",
vTechVarom = "vTechVarom( tech , region , year ) $ mTechVarom( tech , region , year )",
vSupOut = "vSupOut( sup , comm , region , year , slice ) $ mSupAva( sup , comm , region , year , slice )",
vSupReserve = "vSupReserve( sup , comm , region ) $ mvSupReserve( sup , comm , region )",
vSupCost = "vSupCost( sup , region , year ) $ mvSupCost( sup , region , year )",
vDemInp = "vDemInp( comm , region , year , slice ) $ mvDemInp( comm , region , year , slice )",
vEmsFuelTot = "vEmsFuelTot( comm , region , year , slice ) $ mEmsFuelTot( comm , region , year , slice )",
vBalance = "vBalance( comm , region , year , slice ) $ mvBalance( comm , region , year , slice )",
vBalanceRY = "vBalanceRY( comm , region , year ) $ mBalanceRY( comm , region , year )",
vOutTot = "vOutTot( comm , region , year , slice ) $ mvOutTot( comm , region , year , slice )",
vOutTotRY = "vOutTotRY( comm , region , year ) $ mOutTotRY( comm , region , year )",
vInpTot = "vInpTot( comm , region , year , slice ) $ mvInpTot( comm , region , year , slice )",
vInpTotRY = "vInpTotRY( comm , region , year ) $ mInpTotRY( comm , region , year )",
vInp2Lo = "vInp2Lo( comm , region , year , slice , slice ) $ mvInp2Lo( comm , region , year , slice , slice )",
vOut2Lo = "vOut2Lo( comm , region , year , slice , slice ) $ mvOut2Lo( comm , region , year , slice , slice )",
vSupOutTot = "vSupOutTot( comm , region , year , slice ) $ mSupOutTot( comm , region , year , slice )",
vTechInpTot = "vTechInpTot( comm , region , year , slice ) $ mTechInpTot( comm , region , year , slice )",
vTechOutTot = "vTechOutTot( comm , region , year , slice ) $ mTechOutTot( comm , region , year , slice )",
vStorageInpTot = "vStorageInpTot( comm , region , year , slice ) $ mStorageInpTot( comm , region , year , slice )",
vStorageOutTot = "vStorageOutTot( comm , region , year , slice ) $ mStorageOutTot( comm , region , year , slice )",
vStorageAInp = "vStorageAInp( stg , comm , region , year , slice ) $ mvStorageAInp( stg , comm , region , year , slice )",
vStorageAOut = "vStorageAOut( stg , comm , region , year , slice ) $ mvStorageAOut( stg , comm , region , year , slice )",
vTotalCost = "vTotalCost( region , year ) $ mvTotalCost( region , year )",
vObjective = "vObjective",
vDummyImport = "vDummyImport( comm , region , year , slice ) $ mDummyImport( comm , region , year , slice )",
vDummyExport = "vDummyExport( comm , region , year , slice ) $ mDummyExport( comm , region , year , slice )",
vTaxCost = "vTaxCost( comm , region , year ) $ mTaxCost( comm , region , year )",
vSubsCost = "vSubsCost( comm , region , year ) $ mSubCost( comm , region , year )",
vAggOutTot = "vAggOutTot( comm , region , year , slice ) $ mAggOut( comm , region , year , slice )",
vDummyImportCost = "vDummyImportCost( comm , region , year ) $ mDummyImportCost( comm , region , year )",
vDummyExportCost = "vDummyExportCost( comm , region , year ) $ mDummyExportCost( comm , region , year )",
vStorageInp = "vStorageInp( stg , comm , region , year , slice ) $ mvStorageStore( stg , comm , region , year , slice )",
vStorageOut = "vStorageOut( stg , comm , region , year , slice ) $ mvStorageStore( stg , comm , region , year , slice )",
vStorageStore = "vStorageStore( stg , comm , region , year , slice ) $ mvStorageStore( stg , comm , region , year , slice )",
vStorageInv = "vStorageInv( stg , region , year ) $ mStorageNew( stg , region , year )",
vStorageEac = "vStorageEac( stg , region , year ) $ mStorageEac( stg , region , year )",
vStorageCap = "vStorageCap( stg , region , year ) $ mStorageSpan( stg , region , year )",
vStorageNewCap = "vStorageNewCap( stg , region , year ) $ mStorageNew( stg , region , year )",
vStorageFixom = "vStorageFixom( stg , region , year ) $ mStorageFixom( stg , region , year )",
vStorageVarom = "vStorageVarom( stg , region , year ) $ mStorageVarom( stg , region , year )",
vImportTot = "vImportTot( comm , region , year , slice ) $ mImport( comm , region , year , slice )",
vExportTot = "vExportTot( comm , region , year , slice ) $ mExport( comm , region , year , slice )",
vTradeIr = "vTradeIr( trade , comm , region , region , year , slice ) $ mvTradeIr( trade , comm , region , region , year , slice )",
vTradeIrAInp = "vTradeIrAInp( trade , comm , region , year , slice ) $ mvTradeIrAInp( trade , comm , region , year , slice )",
vTradeIrAInpTot = "vTradeIrAInpTot( comm , region , year , slice ) $ mvTradeIrAInpTot( comm , region , year , slice )",
vTradeIrAOut = "vTradeIrAOut( trade , comm , region , year , slice ) $ mvTradeIrAOut( trade , comm , region , year , slice )",
vTradeIrAOutTot = "vTradeIrAOutTot( comm , region , year , slice ) $ mvTradeIrAOutTot( comm , region , year , slice )",
vExportRowCum = "vExportRowCum( expp , comm ) $ mExpComm( expp , comm )",
vExportRow = "vExportRow( expp , comm , region , year , slice ) $ mExportRow( expp , comm , region , year , slice )",
vImportRowCum = "vImportRowCum( imp , comm ) $ mImpComm( imp , comm )",
vImportRow = "vImportRow( imp , comm , region , year , slice ) $ mImportRow( imp , comm , region , year , slice )",
vTradeEac = "vTradeEac( trade , region , year ) $ mTradeEac( trade , region , year )",
vTradeFixom = "vTradeFixom( trade , region , year ) $ mTradeFixom( trade , region , year )",
vImportIrCost = "vImportIrCost( trade , region , year ) $ mImportIrCost( trade , region , year )",
vExportIrCost = "vExportIrCost( trade , region , year ) $ mExportIrCost( trade , region , year )",
vImportRowCost = "vImportRowCost( imp , region , year ) $ mImportRowCost( imp , region , year )",
vExportRowCost = "vExportRowCost( expp , region , year ) $ mExportRowCost( expp , region , year )",
vTradeCap = "vTradeCap( trade , year ) $ mTradeSpan( trade , year )",
vTradeInv = "vTradeInv( trade , region , year ) $ mTradeEac( trade , region , year )",
vTradeNewCap = "vTradeNewCap( trade , year ) $ mTradeNew( trade , year )",
vTotalUserCosts = "vTotalUserCosts( region , year ) $ mvTotalUserCosts( region , year )"
);
.variable_set = lapply(.variable_mapping, function(x) strsplit(gsub('[ ]*[)].*$', '', gsub('^[^(]*[(][ ]*', '', x)), '[ ]*[,][ ]*')[[1]])
#########################
# variable description
#########################
.variable_description = c(
vTechInv = "Overnight investment costs",
vTechEac = "Annualized investment costs",
vTechRetCost = "Early retirement costs",
vTechFixom = "Fixed O&M costs",
vTechVarom = "Variable O&M costs (AVarom + CVarom + ActVarom)",
vSupCost = "Supply costs (weighted)",
vEmsFuelTot = "Total emissions from fuels combustion (technologies)",
vBalance = "Net commodity balance (all sources)",
vBalanceRY = "Net commodity balance by region and year (weighted)",
vTotalCost = "Regional annual total costs (weighted)",
vObjective = "Objective costs",
vTaxCost = "Total tax levies (tax costs)",
vSubsCost = "Total subsidies (substracted from costs)",
vAggOutTot = "Aggregated commodity output (weighted)",
vDummyImportCost = "Dummy import costs (weighted)",
vDummyExportCost = "Dummy export costs (weighted)",
vStorageFixom = "Storage fixed O&M costs",
vStorageVarom = "Storage variable O&M costs",
vTradeEac = "Annualized investments in Interregional trade capacity",
vTradeFixom = "Interregional trade fixed O&M costs",
vImportIrCost = "Import costs from other regions",
vExportIrCost = "Credits (revenue) for export to other regions",
vImportRowCost = "Import costs from the ROW",
vExportRowCost = "Credits for export to the ROW",
vTechNewCap = "New capacity",
vTechRetiredStockCum = "Early retired stock",
vTechRetiredStock = "Early retired stock",
vTechRetiredNewCap = "Early retired new capacity",
vTechCap = "Total capacity of the technology",
vTechAct = "Activity level of technology",
vTechInp = "Input level",
vTechOut = "Commodity output from technology - tech timeframe",
vTechAInp = "Auxiliary commodity input",
vTechAOut = "Auxiliary commodity output",
vSupOut = "Output of supply",
vSupReserve = "Cumulative supply (weighted)",
vDemInp = "Input to demand",
vOutTot = "Total commodity output (all processes) (weighted)",
vOutTotRY = "Total commodity output (all processes) (weighted)",
vInpTot = "Total commodity input (all processes) (weighted)",
vInpTotRY = "Total commodity input (all processes) (weighted)",
vInp2Lo = "Desagregation of slices for input parent to (grand)child",
vOut2Lo = "Desagregation of slices for output parent to (grand)child",
vSupOutTot = "Total commodity supply (weighted)",
vTechInpTot = "Total commodity (main & aux) input to technologies (weighted)",
vTechOutTot = "Total commodity (main & aux) output from technologies (weighted)",
vStorageInpTot = "Total commodity (main & aux) input to storage (weighted)",
vStorageOutTot = "Total commodity (main & aux) output from storage (weighted)",
vStorageAInp = "Aux-commodity input to storage",
vStorageAOut = "Aux-commodity input from storage",
vDummyImport = "Dummy import (for debugging)",
vDummyExport = "Dummy export (for debugging)",
vStorageInp = "Storage input",
vStorageOut = "Storage output",
vStorageStore = "Storage level",
vStorageInv = "Storage investments",
vStorageEac = "Storage EAC investments",
vStorageCap = "Storage capacity",
vStorageNewCap = "Storage new capacity",
vImportTot = "Total regional import (Ir + ROW) (weighted)",
vExportTot = "Total regional export (Ir + ROW) (weighted)",
vTradeIr = "Total physical trade flows between regions",
vTradeIrAInp = "Trade auxilari input",
vTradeIrAInpTot = "Trade total auxilari input (weighted)",
vTradeIrAOut = "Trade auxilari output",
vTradeIrAOutTot = "Trade auxilari output total (weighted)",
vExportRowCum = "Cumulative export to the ROW",
vExportRow = "Export to the ROW",
vImportRowCum = "Cumulative import from the ROW",
vImportRow = "Import from the ROW",
vTradeCap = "Trade capacity",
vTradeInv = "Investment in trade capacity (overnight)",
vTradeNewCap = "New trade capacity",
vTotalUserCosts = "Total additional costs (set by user)");
#########################
# equation description
#########################
.equation_description = c(
eqTechSng2Sng = "Technology input to output",
eqTechGrp2Sng = "Technology group input to output",
eqTechSng2Grp = "Technology input to group output",
eqTechGrp2Grp = "Technology group input to group output",
eqTechShareInpLo = "Technology lower bound on input share",
eqTechShareInpUp = "Technology upper bound on input share",
eqTechShareOutLo = "Technology lower bound on output share",
eqTechShareOutUp = "Technology upper bound on output share",
eqTechAInp = "Technology auxiliary commodity input",
eqTechAOut = "Technology auxiliary commodity output",
eqTechAfLo = "Technology availability factor lower bound",
eqTechAfUp = "Technology availability factor upper bound",
eqTechAfsLo = "Technology availability factor for sum of slices lower bound",
eqTechAfsUp = "Technology availability factor for sum of slices upper bound",
eqTechRampUp = "Technology ramp up",
eqTechRampDown = "Technology ramp down",
eqTechActSng = "Technology activity to commodity output",
eqTechActGrp = "Technology activity to group output",
eqTechAfcOutLo = "Technology commodity availability factor lower bound",
eqTechAfcOutUp = "Technology commodity availability factor upper bound",
eqTechAfcInpLo = "Technology commodity availability factor lower bound",
eqTechAfcInpUp = "Technology commodity availability factor upper bound",
eqTechCap = "Technology capacity",
eqTechCapLo = "Technology capacity lower bound",
eqTechCapUp = "Technology capacity upper bound",
eqTechNewCapLo = "Lower bound on new capacity",
eqTechNewCapUp = "Upper bound on new capacity",
eqTechRetiredStock = "Retirement of existing capacity",
eqTechRetiredStockCum = "Cumulative retirement of existing capacity",
eqTechRetiredNewCap = "Retirement of new capacity",
eqTechRetLo = "Lower bound on economic retirement of capacity",
eqTechRetUp = "Upper bound on economic retirement of capacity",
eqTechEac = "Technology Equivalent Annual Cost (EAC)",
eqTechInv = "Technology overnight investment costs",
eqTechFixom = "Technology fixed costs",
eqTechVarom = "Technology variable costs",
eqTechRetCost = "Costs of retired capacity of technology",
eqSupAvaUp = "Supply availability upper bound",
eqSupAvaLo = "Supply availability lower bound",
eqSupReserve = "Cumulative supply (use of reserve)",
eqSupReserveUp = "Cumulative supply upper constraint",
eqSupReserveLo = "Cumulative supply lower constraint",
eqSupCost = "Supply costs",
eqDemInp = "Demand equation",
eqAggOutTot = "Aggregating-commodity output (weighted)",
eqEmsFuelTot = "Total emissions from commodity consumption (weighted)",
eqStorageStore = "Storage level",
eqStorageAfLo = "Storage availability factor lower",
eqStorageAfUp = "Storage availability factor upper",
eqStorageClear = "Storage output vs level",
eqStorageAInp = "Storage aux-commodity input",
eqStorageAOut = "Storage aux-commodity output",
eqStorageInpUp = "Storage input upper constraint",
eqStorageInpLo = "Storage input lower constraint",
eqStorageOutUp = "Storage output upper constraint",
eqStorageOutLo = "Storage output lower constraint",
eqStorageCap = "Storage capacity",
eqStorageCapLo = "Storage capacity lower bound",
eqStorageCapUp = "Storage capacity upper bound",
eqStorageNewCapLo = "Storage new capacity lower bound",
eqStorageNewCapUp = "Storage new capacity upper bound",
eqStorageInv = "Storage overnight investment costs",
eqStorageEac = "Storage equivalent annual cost",
eqStorageFixom = "Storage fixed costs",
eqStorageVarom = "Storage variable costs",
eqImportTot = "Import equation (Ir & ROW)",
eqExportTot = "Export equation (Ir & ROW)",
eqTradeFlowUp = "Trade upper bound",
eqTradeFlowLo = "Trade lower bound",
eqExportRowUp = "Export to the ROW upper constraint",
eqExportRowLo = "Export to the ROW lower constraint",
eqExportRowCum = "Cumulative export to the ROW",
eqExportRowResUp = "Cumulative export to the ROW upper constraint",
eqExportRowCost = "Export to the ROW costs equation",
eqImportRowUp = "Import from the ROW upper constraint",
eqImportRowLo = "Import of the ROW lower constraint",
eqImportRowCum = "Cumulative import from the ROW",
eqImportRowResUp = "Cumulative import from the ROW upper constraint",
eqImportRowCost = "Import from the ROW costs equation",
eqTradeCap = "Trade capacity",
eqTradeCapLo = "Trade capacity lower bound",
eqTradeCapUp = "Trade capacity upper bound",
eqTradeNewCapLo = "Trade new capacity lower bound",
eqTradeNewCapUp = "Trade new capacity upper bound",
eqTradeCapFlow = "Trade capacity to activity",
eqTradeInv = "Trade overnight investment costs",
eqTradeEac = "Trade equivalent annual costs",
eqTradeFixom = "",
eqImportIrCost = "Interregional trade import costs",
eqExportIrCost = "Interregional trade export costs",
eqTradeIrAInp = "Trade auxiliary commodity input",
eqTradeIrAOut = "Trade auxiliary commodity output",
eqTradeIrAInpTot = "Trade auxiliary commodity input",
eqTradeIrAOutTot = "Trade auxiliary commodity output",
eqBalUp = "Commodity balance <= 0 (e.g. upper limit - deficit is allowed)",
eqBalLo = "Commodity balance >= 0 (e.g. lower limit - excess is allower)",
eqBalFx = "Commodity balance >= 0 (no excess nor deficit is allowed)",
eqBal = "Commodity balance",
eqBalanceRY = "",
eqOutTot = "Total commodity output",
eqOutTotRY = "Total commodity output",
eqInpTot = "Total commodity input",
eqInpTotRY = "Total commodity input",
eqInp2Lo = "From commodity slice to lo level",
eqOut2Lo = "From commodity slice to lo level",
eqSupOutTot = "Supply total output",
eqTechInpTot = "Technology total input",
eqTechOutTot = "Technology total output",
eqStorageInpTot = "Storage total input",
eqStorageOutTot = "Storage total output",
eqDummyImportCost = "Dummy import costs (weighted)",
eqDummyExportCost = "Dummy export costs (weighted)",
eqTaxCost = "Commodity taxes (weighted)",
eqSubsCost = "Commodity subsidy (weighted)",
eqCost = "Total costs (weighted)",
eqObjective = "Objective equation NPV of total costs",
eqLECActivity = "levelized costs (auxiliary equation)");
#########################
# equation set
#########################
.equation_set = list(
eqTechSng2Sng = c("tech", "region", "comm", "commp", "year", "slice"),
eqTechGrp2Sng = c("tech", "region", "group", "commp", "year", "slice"),
eqTechSng2Grp = c("tech", "region", "comm", "groupp", "year", "slice"),
eqTechGrp2Grp = c("tech", "region", "group", "groupp", "year", "slice"),
eqTechShareInpLo = c("tech", "region", "group", "comm", "year", "slice"),
eqTechShareInpUp = c("tech", "region", "group", "comm", "year", "slice"),
eqTechShareOutLo = c("tech", "region", "group", "comm", "year", "slice"),
eqTechShareOutUp = c("tech", "region", "group", "comm", "year", "slice"),
eqTechAInp = c("tech", "comm", "region", "year", "slice"),
eqTechAOut = c("tech", "comm", "region", "year", "slice"),
eqTechAfLo = c("tech", "region", "year", "slice"),
eqTechAfUp = c("tech", "region", "year", "slice"),
eqTechAfsLo = c("tech", "region", "year", "slice"),
eqTechAfsUp = c("tech", "region", "year", "slice"),
eqTechRampUp = c("tech", "region", "year", "slice", "slicep"),
eqTechRampDown = c("tech", "region", "year", "slice", "slicep"),
eqTechActSng = c("tech", "comm", "region", "year", "slice"),
eqTechActGrp = c("tech", "group", "region", "year", "slice"),
eqTechAfcOutLo = c("tech", "region", "comm", "year", "slice"),
eqTechAfcOutUp = c("tech", "region", "comm", "year", "slice"),
eqTechAfcInpLo = c("tech", "region", "comm", "year", "slice"),
eqTechAfcInpUp = c("tech", "region", "comm", "year", "slice"),
eqTechCap = c("tech", "region", "year"),
eqTechCapLo = c("tech", "region", "year"),
eqTechCapUp = c("tech", "region", "year"),
eqTechNewCapLo = c("tech", "region", "year"),
eqTechNewCapUp = c("tech", "region", "year"),
eqTechRetiredStock = c("tech", "region", "year"),
eqTechRetiredStockCum = c("tech", "region", "year"),
eqTechRetiredNewCap = c("tech", "region", "year"),
eqTechRetLo = c("tech", "region", "year"),
eqTechRetUp = c("tech", "region", "year"),
eqTechEac = c("tech", "region", "year"),
eqTechInv = c("tech", "region", "year"),
eqTechFixom = c("tech", "region", "year"),
eqTechVarom = c("tech", "region", "year"),
eqTechRetCost = c("tech", "region", "year"),
eqSupAvaUp = c("sup", "comm", "region", "year", "slice"),
eqSupAvaLo = c("sup", "comm", "region", "year", "slice"),
eqSupReserve = c("sup", "comm", "region"),
eqSupReserveUp = c("sup", "comm", "region"),
eqSupReserveLo = c("sup", "comm", "region"),
eqSupCost = c("sup", "region", "year"),
eqDemInp = c("comm", "region", "year", "slice"),
eqAggOutTot = c("comm", "region", "year", "slice"),
eqEmsFuelTot = c("comm", "region", "year", "slice"),
eqStorageStore = c("stg", "comm", "region", "year", "slicep", "slice"),
eqStorageAfLo = c("stg", "comm", "region", "year", "slice"),
eqStorageAfUp = c("stg", "comm", "region", "year", "slice"),
eqStorageClear = c("stg", "comm", "region", "year", "slice"),
eqStorageAInp = c("stg", "comm", "region", "year", "slice"),
eqStorageAOut = c("stg", "comm", "region", "year", "slice"),
eqStorageInpUp = c("stg", "comm", "region", "year", "slice"),
eqStorageInpLo = c("stg", "comm", "region", "year", "slice"),
eqStorageOutUp = c("stg", "comm", "region", "year", "slice"),
eqStorageOutLo = c("stg", "comm", "region", "year", "slice"),
eqStorageCap = c("stg", "region", "year"),
eqStorageCapLo = c("stg", "region", "year"),
eqStorageCapUp = c("stg", "region", "year"),
eqStorageNewCapLo = c("stg", "region", "year"),
eqStorageNewCapUp = c("stg", "region", "year"),
eqStorageInv = c("stg", "region", "year"),
eqStorageEac = c("stg", "region", "year"),
eqStorageFixom = c("stg", "region", "year"),
eqStorageVarom = c("stg", "region", "year"),
eqImportTot = c("comm", "region", "year", "slice"),
eqExportTot = c("comm", "region", "year", "slice"),
eqTradeFlowUp = c("trade", "comm", "region", "region", "year", "slice"),
eqTradeFlowLo = c("trade", "comm", "region", "region", "year", "slice"),
eqExportRowUp = c("expp", "comm", "region", "year", "slice"),
eqExportRowLo = c("expp", "comm", "region", "year", "slice"),
eqExportRowCum = c("expp", "comm"),
eqExportRowResUp = c("expp", "comm"),
eqExportRowCost = c("expp", "region", "year"),
eqImportRowUp = c("imp", "comm", "region", "year", "slice"),
eqImportRowLo = c("imp", "comm", "region", "year", "slice"),
eqImportRowCum = c("imp", "comm"),
eqImportRowResUp = c("imp", "comm"),
eqImportRowCost = c("imp", "region", "year"),
eqTradeCap = c("trade", "year"),
eqTradeCapLo = c("trade", "year"),
eqTradeCapUp = c("trade", "year"),
eqTradeNewCapLo = c("trade", "year"),
eqTradeNewCapUp = c("trade", "year"),
eqTradeCapFlow = c("trade", "comm", "year", "slice"),
eqTradeInv = c("trade", "region", "year"),
eqTradeEac = c("trade", "region", "year"),
eqTradeFixom = c("trade", "region", "year"),
eqImportIrCost = c("trade", "region", "year"),
eqExportIrCost = c("trade", "region", "year"),
eqTradeIrAInp = c("trade", "comm", "region", "year", "slice"),
eqTradeIrAOut = c("trade", "comm", "region", "year", "slice"),
eqTradeIrAInpTot = c("comm", "region", "year", "slice"),
eqTradeIrAOutTot = c("comm", "region", "year", "slice"),
eqBalUp = c("comm", "region", "year", "slice"),
eqBalLo = c("comm", "region", "year", "slice"),
eqBalFx = c("comm", "region", "year", "slice"),
eqBal = c("comm", "region", "year", "slice"),
eqBalanceRY = c("comm", "region", "year"),
eqOutTot = c("comm", "region", "year", "slice"),
eqOutTotRY = c("comm", "region", "year"),
eqInpTot = c("comm", "region", "year", "slice"),
eqInpTotRY = c("comm", "region", "year"),
eqInp2Lo = c("comm", "region", "year", "slice"),
eqOut2Lo = c("comm", "region", "year", "slice"),
eqSupOutTot = c("comm", "region", "year", "slice"),
eqTechInpTot = c("comm", "region", "year", "slice"),
eqTechOutTot = c("comm", "region", "year", "slice"),
eqStorageInpTot = c("comm", "region", "year", "slice"),
eqStorageOutTot = c("comm", "region", "year", "slice"),
eqDummyImportCost = c("comm", "region", "year"),
eqDummyExportCost = c("comm", "region", "year"),
eqTaxCost = c("comm", "region", "year"),
eqSubsCost = c("comm", "region", "year"),
eqCost = c("region", "year"),
eqObjective = NULL,
eqLECActivity = c("tech", "region", "year"));
#########################
# parameter description
#########################
.parameter_description = c(
pYearFraction = "fraction of sum of sampled slices in year -- experimental",
pTechOlife = "Operational life of technologies",
pTechCinp2ginp = "Commodity input to group input",
pTechGinp2use = "Group input into use",
pTechCinp2use = "Commodity input to use",
pTechUse2cact = "Use to commodity activity",
pTechCact2cout = "Commodity activity to commodity output",
pTechEmisComm = "Combustion factor for input commodity (from 0 to 1)",
pTechAct2AInp = "Activity to aux-commodity input",
pTechCap2AInp = "Capacity to aux-commodity input",
pTechNCap2AInp = "New capacity to aux-commodity input",
pTechCinp2AInp = "Commodity input to aux-commodity input",
pTechCout2AInp = "Commodity output to aux-commodity input",
pTechAct2AOut = "Activity to aux-commodity output",
pTechCap2AOut = "Capacity to aux-commodity output",
pTechNCap2AOut = "New capacity to aux-commodity output",
pTechCinp2AOut = "Commodity to aux-commodity output",
pTechCout2AOut = "Commodity-output to aux-commodity input",
pTechFixom = "Fixed Operating and maintenance (O&M) costs (per unit of capacity)",
pTechVarom = "Variable O&M costs (per unit of acticity)",
pTechInvcost = "Overnight Investment costs (per unit of capacity)",
pTechEac = "Equivalent annual (investment) cost",
pTechRetCost = "Early retirement costs",
pTechShareLo = "Lower bound of the share of the commodity in total group input or output",
pTechShareUp = "Upper bound of the share of the commodity in total group input or output",
pTechAfLo = "Lower bound on availability factor by slices",
pTechAfUp = "Upper bound on availability factor by slices",
pTechRampUp = "Ramp Up on availability factor",
pTechRampDown = "Ramp Down on availability",
pTechAfsLo = "Lower bound on availability factor by groups of slices",
pTechAfsUp = "Upper bound on availability factor by groups of slices",
pTechAfcLo = "Lower bound for commodity output",
pTechAfcUp = "Upper bound for commodity output",
pTechStock = "Technology capacity stock",
pTechCapUp = "Upper bound on technology capacity",
pTechCapLo = "Lower bound on technology capacity",
pTechNewCapUp = "Upper bound on new technology capacity",
pTechNewCapLo = "Lower bound on new technology capacity",
pTechRetUp = "Upper bound on early retirement",
pTechRetLo = "Lower bound on early retirement",
pTechCap2act = "Technology capacity units to activity units conversion factor",
pTechCvarom = "Commodity-specific variable costs (per unit of commodity input or output)",
pTechAvarom = "Auxilary Commodity-specific variable costs (per unit of commodity input or output)",
pDiscount = "Discount rate (can be region and year specific)",
pDiscountFactor = "Discount factor (cumulative)",
pDiscountFactorMileStone = "Discount factor (cumulative) sum for MileStone",
pSupCost = "Costs of supply (price per unit)",
pSupAvaUp = "Upper bound for supply",
pSupAvaLo = "Lower bound for supply",
pSupReserveUp = "Upper constraint on cumulative supply",
pSupReserveLo = "Lower constraint on cumulative supply",
pDemand = "Exogenous demand",
pEmissionFactor = "Emission factor",
pDummyImportCost = "Dummy costs parameters (for debugging)",
pDummyExportCost = "Dummy costs parameters (for debuging)",
pTaxCostInp = "Commodity taxes for input",
pTaxCostOut = "Commodity taxes for output",
pTaxCostBal = "Commodity taxes for balance",
pSubCostInp = "Commodity subsidies for input",
pSubCostOut = "Commodity subsidies for output",
pSubCostBal = "Commodity subsidies for balance",
pAggregateFactor = "Aggregation factor of commodities",
pPeriodLen = "Length of milestone-year-period",
pSliceShare = "Slice share in year",
pSliceWeight = "Slice weight",
ordYear = "ord year (used in GLPK-MathProg)",
cardYear = "card year (used in GLPK-MathProg)",
pStorageInpEff = "Storage input efficiency",
pStorageOutEff = "Storage output efficiency",
pStorageStgEff = "Storage time-efficiency (annual)",
pStorageStock = "Storage capacity stock",
pStorageCapUp = "Upper bound on storage capacity",
pStorageCapLo = "Lower bound on storage capacity",
pStorageNewCapUp = "Upper bound on new storage capacity",
pStorageNewCapLo = "Lower bound on new storage capacity",
pStorageRetUp = "Upper bound on early retirement",
pStorageRetLo = "Lower bound on early retirement",
pStorageOlife = "Storage operational life",
pStorageCostStore = "Storing costs per stored amount (annual)",
pStorageCostInp = "Storage input costs",
pStorageCostOut = "Storage output costs",
pStorageFixom = "Storage fixed O&M costs",
pStorageInvcost = "Storage investment costs",
pStorageEac = "Storage equivalent annual costs",
pStorageRetCost = "Storage early retirement costs",
pStorageCap2stg = "Storage (dis)charging capacity to accumulating capacity (to be renamed to duration)",
pStorageAfLo = "Storage availability factor lower bound (minimum charging level)",
pStorageAfUp = "Storage availability factor upper bound (maximum charging level)",
pStorageCinpUp = "Storage input upper bound",
pStorageCinpLo = "Storage input lower bound",
pStorageCoutUp = "Storage output upper bound",
pStorageCoutLo = "Storage output lower bound",
pStorageNCap2Stg = "Initial storage charge level for new investment",
pStorageCharge = "Initial storage charge level for stock",
pStorageStg2AInp = "Storage level to auxilary input",
pStorageStg2AOut = "Storage level output",
pStorageCinp2AInp = "Storage input to auxilary input",
pStorageCinp2AOut = "Storage input to auxilary output",
pStorageCout2AInp = "Storage output to auxilary input",
pStorageCout2AOut = "Storage output to auxilary output",
pStorageCap2AInp = "Storage capacity to auxilary input",
pStorageCap2AOut = "Storage capacity to auxilary output",
pStorageNCap2AInp = "Storage new capacity to auxilary input",
pStorageNCap2AOut = "Storage new capacity to auxilary output",
pTradeIrEff = "Inter-regional trade efficiency",
pTradeIrUp = "Upper bound on trade flow",
pTradeIrLo = "Lower bound on trade flow",
pTradeIrCost = "Costs of trade flow",
pTradeIrMarkup = "Markup of trade flow",
pTradeIrCsrc2Ainp = "Auxiliary input commodity in source region",
pTradeIrCsrc2Aout = "Auxiliary output commodity in source region",
pTradeIrCdst2Ainp = "Auxiliary input commodity in destination region",
pTradeIrCdst2Aout = "Auxiliary output commodity in destination region",
pExportRowRes = "Upper bound on cumulative export to the ROW",
pExportRowUp = "Upper bound on export to the ROW",
pExportRowLo = "Lower bound on export to the ROW",
pExportRowPrice = "Export prices to the ROW",
pImportRowRes = "Upper bound on cumulative import to the ROW",
pImportRowUp = "Upper bount on import from the ROW",
pImportRowLo = "Lower bound on import from the ROW",
pImportRowPrice = "Import prices from the ROW",
pTradeStock = "Existing capacity",
pTradeCapUp = "Upper bound on trade capacity",
pTradeCapLo = "Lower bound on trade capacity",
pTradeNewCapUp = "Upper bound on new trade capacity",
pTradeNewCapLo = "Lower bound on new trade capacity",
pTradeRetUp = "Upper bound on early retirement",
pTradeRetLo = "Lower bound on early retirement",
pTradeOlife = "Operational life",
pTradeInvcost = "Overnight investment costs",
pTradeEac = "Equivalent annual costs",
pTradeRetCost = "Early retirement costs",
pTradeFixom = "Fixed O&M costs",
pTradeVarom = "Variable O&M costs",
pTradeCap2Act = "Capacity to activity factor",
pWeather = "weather factors",
pSupWeatherUp = "weather factor for supply upper value (ava.up)",
pSupWeatherLo = "weather factor for supply lower value (ava.lo)",
pTechWeatherAfLo = "weather factor for technology availability lower value (af.lo)",
pTechWeatherAfUp = "weather factor for technology availability upper value (af.up)",
pTechWeatherAfsLo = "weather factor for technology availability lower value (af.lo)",
pTechWeatherAfsUp = "weather factor for technology availability upper value (afs.lo)",
pTechWeatherAfcLo = "weather factor for technology availability lower value (afs.lo)",
pTechWeatherAfcUp = "weather factor for commodity availability upper value (afc.lo)",
pStorageWeatherAfLo = "weather factor for storage availability lower value (af.lo)",
pStorageWeatherAfUp = "weather factor for storage availability upper value (af.up)",
pStorageWeatherCinpUp = "weather factor for storage commodity input upper value (cinp.up)",
pStorageWeatherCinpLo = "weather factor for storage commodity input lower value (cinp.lo)",
pStorageWeatherCoutUp = "weather factor for storage commodity output upper value (cout.up)",
pStorageWeatherCoutLo = "weather factor for storage commodity output lower value (cout.lo)",
pLECLoACT = "levelized costs interim parameter");
#########################
# parameter set
#########################
.parameter_set = list(
pYearFraction = c("year"),
pTechOlife = c("tech", "region"),
pTechCinp2ginp = c("tech", "comm", "region", "year", "slice"),
pTechGinp2use = c("tech", "group", "region", "year", "slice"),
pTechCinp2use = c("tech", "comm", "region", "year", "slice"),
pTechUse2cact = c("tech", "comm", "region", "year", "slice"),
pTechCact2cout = c("tech", "comm", "region", "year", "slice"),
pTechEmisComm = c("tech", "comm"),
pTechAct2AInp = c("tech", "comm", "region", "year", "slice"),
pTechCap2AInp = c("tech", "comm", "region", "year", "slice"),
pTechNCap2AInp = c("tech", "comm", "region", "year", "slice"),
pTechCinp2AInp = c("tech", "comm", "comm", "region", "year", "slice"),
pTechCout2AInp = c("tech", "comm", "comm", "region", "year", "slice"),
pTechAct2AOut = c("tech", "comm", "region", "year", "slice"),
pTechCap2AOut = c("tech", "comm", "region", "year", "slice"),
pTechNCap2AOut = c("tech", "comm", "region", "year", "slice"),
pTechCinp2AOut = c("tech", "comm", "comm", "region", "year", "slice"),
pTechCout2AOut = c("tech", "comm", "comm", "region", "year", "slice"),
pTechFixom = c("tech", "region", "year"),
pTechVarom = c("tech", "region", "year", "slice"),
pTechInvcost = c("tech", "region", "year"),
pTechEac = c("tech", "region", "year"),
pTechRetCost = c("tech", "region", "year"),
pTechShareLo = c("tech", "comm", "region", "year", "slice"),
pTechShareUp = c("tech", "comm", "region", "year", "slice"),
pTechAfLo = c("tech", "region", "year", "slice"),
pTechAfUp = c("tech", "region", "year", "slice"),
pTechRampUp = c("tech", "region", "year", "slice"),
pTechRampDown = c("tech", "region", "year", "slice"),
pTechAfsLo = c("tech", "region", "year", "slice"),
pTechAfsUp = c("tech", "region", "year", "slice"),
pTechAfcLo = c("tech", "comm", "region", "year", "slice"),
pTechAfcUp = c("tech", "comm", "region", "year", "slice"),
pTechStock = c("tech", "region", "year"),
pTechCapUp = c("tech", "region", "year"),
pTechCapLo = c("tech", "region", "year"),
pTechNewCapUp = c("tech", "region", "year"),
pTechNewCapLo = c("tech", "region", "year"),
pTechRetUp = c("tech", "region", "year"),
pTechRetLo = c("tech", "region", "year"),
pTechCap2act = c("tech"),
pTechCvarom = c("tech", "comm", "region", "year", "slice"),
pTechAvarom = c("tech", "comm", "region", "year", "slice"),
pDiscount = c("region", "year"),
pDiscountFactor = c("region", "year"),
pDiscountFactorMileStone = c("region", "year"),
pSupCost = c("sup", "comm", "region", "year", "slice"),
pSupAvaUp = c("sup", "comm", "region", "year", "slice"),
pSupAvaLo = c("sup", "comm", "region", "year", "slice"),
pSupReserveUp = c("sup", "comm", "region"),
pSupReserveLo = c("sup", "comm", "region"),
pDemand = c("dem", "comm", "region", "year", "slice"),
pEmissionFactor = c("comm", "comm"),
pDummyImportCost = c("comm", "region", "year", "slice"),
pDummyExportCost = c("comm", "region", "year", "slice"),
pTaxCostInp = c("comm", "region", "year", "slice"),
pTaxCostOut = c("comm", "region", "year", "slice"),
pTaxCostBal = c("comm", "region", "year", "slice"),
pSubCostInp = c("comm", "region", "year", "slice"),
pSubCostOut = c("comm", "region", "year", "slice"),
pSubCostBal = c("comm", "region", "year", "slice"),
pAggregateFactor = c("comm", "comm"),
pPeriodLen = c("year"),
pSliceShare = c("slice"),
pSliceWeight = c("year", "slice"),
ordYear = c("year"),
cardYear = c("year"),
pStorageInpEff = c("stg", "comm", "region", "year", "slice"),
pStorageOutEff = c("stg", "comm", "region", "year", "slice"),
pStorageStgEff = c("stg", "comm", "region", "year", "slice"),
pStorageStock = c("stg", "region", "year"),
pStorageCapUp = c("stg", "region", "year"),
pStorageCapLo = c("stg", "region", "year"),
pStorageNewCapUp = c("stg", "region", "year"),
pStorageNewCapLo = c("stg", "region", "year"),
pStorageRetUp = c("stg", "region", "year"),
pStorageRetLo = c("stg", "region", "year"),
pStorageOlife = c("stg", "region"),
pStorageCostStore = c("stg", "region", "year", "slice"),
pStorageCostInp = c("stg", "region", "year", "slice"),
pStorageCostOut = c("stg", "region", "year", "slice"),
pStorageFixom = c("stg", "region", "year"),
pStorageInvcost = c("stg", "region", "year"),
pStorageEac = c("stg", "region", "year"),
pStorageRetCost = c("stg", "region", "year"),
pStorageCap2stg = c("stg"),
pStorageAfLo = c("stg", "region", "year", "slice"),
pStorageAfUp = c("stg", "region", "year", "slice"),
pStorageCinpUp = c("stg", "comm", "region", "year", "slice"),
pStorageCinpLo = c("stg", "comm", "region", "year", "slice"),
pStorageCoutUp = c("stg", "comm", "region", "year", "slice"),
pStorageCoutLo = c("stg", "comm", "region", "year", "slice"),
pStorageNCap2Stg = c("stg", "comm", "region", "year", "slice"),
pStorageCharge = c("stg", "comm", "region", "year", "slice"),
pStorageStg2AInp = c("stg", "comm", "region", "year", "slice"),
pStorageStg2AOut = c("stg", "comm", "region", "year", "slice"),
pStorageCinp2AInp = c("stg", "comm", "region", "year", "slice"),
pStorageCinp2AOut = c("stg", "comm", "region", "year", "slice"),
pStorageCout2AInp = c("stg", "comm", "region", "year", "slice"),
pStorageCout2AOut = c("stg", "comm", "region", "year", "slice"),
pStorageCap2AInp = c("stg", "comm", "region", "year", "slice"),
pStorageCap2AOut = c("stg", "comm", "region", "year", "slice"),
pStorageNCap2AInp = c("stg", "comm", "region", "year", "slice"),
pStorageNCap2AOut = c("stg", "comm", "region", "year", "slice"),
pTradeIrEff = c("trade", "region", "region", "year", "slice"),
pTradeIrUp = c("trade", "region", "region", "year", "slice"),
pTradeIrLo = c("trade", "region", "region", "year", "slice"),
pTradeIrCost = c("trade", "region", "region", "year", "slice"),
pTradeIrMarkup = c("trade", "region", "region", "year", "slice"),
pTradeIrCsrc2Ainp = c("trade", "comm", "region", "region", "year", "slice"),
pTradeIrCsrc2Aout = c("trade", "comm", "region", "region", "year", "slice"),
pTradeIrCdst2Ainp = c("trade", "comm", "region", "region", "year", "slice"),
pTradeIrCdst2Aout = c("trade", "comm", "region", "region", "year", "slice"),
pExportRowRes = c("expp"),
pExportRowUp = c("expp", "region", "year", "slice"),
pExportRowLo = c("expp", "region", "year", "slice"),
pExportRowPrice = c("expp", "region", "year", "slice"),
pImportRowRes = c("imp"),
pImportRowUp = c("imp", "region", "year", "slice"),
pImportRowLo = c("imp", "region", "year", "slice"),
pImportRowPrice = c("imp", "region", "year", "slice"),
pTradeStock = c("trade", "year"),
pTradeCapUp = c("trade", "year"),
pTradeCapLo = c("trade", "year"),
pTradeNewCapUp = c("trade", "year"),
pTradeNewCapLo = c("trade", "year"),
pTradeRetUp = c("trade", "year"),
pTradeRetLo = c("trade", "year"),
pTradeOlife = c("trade"),
pTradeInvcost = c("trade", "region", "year"),
pTradeEac = c("trade", "region", "year"),
pTradeRetCost = c("trade", "region", "year"),
pTradeFixom = c("trade", "region", "year"),
pTradeVarom = c("trade", "region", "region", "year", "slice"),
pTradeCap2Act = c("trade"),
pWeather = c("weather", "region", "year", "slice"),
pSupWeatherUp = c("weather", "sup"),
pSupWeatherLo = c("weather", "sup"),
pTechWeatherAfLo = c("weather", "tech"),
pTechWeatherAfUp = c("weather", "tech"),
pTechWeatherAfsLo = c("weather", "tech"),
pTechWeatherAfsUp = c("weather", "tech"),
pTechWeatherAfcLo = c("weather", "tech", "comm"),
pTechWeatherAfcUp = c("weather", "tech", "comm"),
pStorageWeatherAfLo = c("weather", "stg"),
pStorageWeatherAfUp = c("weather", "stg"),
pStorageWeatherCinpUp = c("weather", "stg"),
pStorageWeatherCinpLo = c("weather", "stg"),
pStorageWeatherCoutUp = c("weather", "stg"),
pStorageWeatherCoutLo = c("weather", "stg"),
pLECLoACT = c("region"));
#########################
# equation map
#########################
.equation_mapping = list(
eqTechSng2Sng = "meqTechSng2Sng(tech, region, comm, commp, year, slice)",
eqTechGrp2Sng = "meqTechGrp2Sng(tech, region, group, commp, year, slice)",
eqTechSng2Grp = "meqTechSng2Grp(tech, region, comm, groupp, year, slice)",
eqTechGrp2Grp = "meqTechGrp2Grp(tech, region, group, groupp, year, slice)",
eqTechShareInpLo = "meqTechShareInpLo(tech, region, group, comm, year, slice)",
eqTechShareInpUp = "meqTechShareInpUp(tech, region, group, comm, year, slice)",
eqTechShareOutLo = "meqTechShareOutLo(tech, region, group, comm, year, slice)",
eqTechShareOutUp = "meqTechShareOutUp(tech, region, group, comm, year, slice)",
eqTechAInp = "mvTechAInp(tech, comm, region, year, slice)",
eqTechAOut = "mvTechAOut(tech, comm, region, year, slice)",
eqTechAfLo = "meqTechAfLo(tech, region, year, slice)",
eqTechAfUp = "meqTechAfUp(tech, region, year, slice)",
eqTechAfsLo = "meqTechAfsLo(tech, region, year, slice)",
eqTechAfsUp = "meqTechAfsUp(tech, region, year, slice)",
eqTechRampUp = "mTechRampUp(tech, region, year, slice, slicep)",
eqTechRampDown = "mTechRampDown(tech, region, year, slice, slicep)",
eqTechActSng = "meqTechActSng(tech, comm, region, year, slice)",
eqTechActGrp = "meqTechActGrp(tech, group, region, year, slice)",
eqTechAfcOutLo = "meqTechAfcOutLo(tech, region, comm, year, slice)",
eqTechAfcOutUp = "meqTechAfcOutUp(tech, region, comm, year, slice)",
eqTechAfcInpLo = "meqTechAfcInpLo(tech, region, comm, year, slice)",
eqTechAfcInpUp = "meqTechAfcInpUp(tech, region, comm, year, slice)",
eqTechCap = "mTechSpan(tech, region, year)",
eqTechCapLo = "mTechCapLo(tech, region, year)",
eqTechCapUp = "mTechCapUp(tech, region, year)",
eqTechNewCapLo = "mTechNewCapLo(tech, region, year)",
eqTechNewCapUp = "mTechNewCapUp(tech, region, year)",
eqTechRetiredStock = "mvTechRetiredStock(tech, region, year)",
eqTechRetiredStockCum = "mvTechRetiredStock(tech, region, year)",
eqTechRetiredNewCap = "meqTechRetiredNewCap(tech, region, year)",
eqTechRetLo = "mTechRetLo(tech, region, year)",
eqTechRetUp = "mTechRetUp(tech, region, year)",
eqTechEac = "mTechEac(tech, region, year)",
eqTechInv = "mTechInv(tech, region, year)",
eqTechFixom = "mTechFixom(tech, region, year)",
eqTechVarom = "mTechVarom(tech, region, year)",
eqTechRetCost = "mTechRetCost(tech, region, year)",
eqSupAvaUp = "mSupAvaUp(sup, comm, region, year, slice)",
eqSupAvaLo = "meqSupAvaLo(sup, comm, region, year, slice)",
eqSupReserve = "mvSupReserve(sup, comm, region)",
eqSupReserveUp = "mSupReserveUp(sup, comm, region)",
eqSupReserveLo = "meqSupReserveLo(sup, comm, region)",
eqSupCost = "mvSupCost(sup, region, year)",
eqDemInp = "mvDemInp(comm, region, year, slice)",
eqAggOutTot = "mAggOut(comm, region, year, slice)",
eqEmsFuelTot = "mEmsFuelTot(comm, region, year, slice)",
eqStorageStore = "meqStorageStore(stg, comm, region, year, slicep, slice)",
eqStorageAfLo = "meqStorageAfLo(stg, comm, region, year, slice)",
eqStorageAfUp = "meqStorageAfUp(stg, comm, region, year, slice)",
eqStorageClear = "mvStorageStore(stg, comm, region, year, slice)",
eqStorageAInp = "mvStorageAInp(stg, comm, region, year, slice)",
eqStorageAOut = "mvStorageAOut(stg, comm, region, year, slice)",
eqStorageInpUp = "meqStorageInpUp(stg, comm, region, year, slice)",
eqStorageInpLo = "meqStorageInpLo(stg, comm, region, year, slice)",
eqStorageOutUp = "meqStorageOutUp(stg, comm, region, year, slice)",
eqStorageOutLo = "meqStorageOutLo(stg, comm, region, year, slice)",
eqStorageCap = "mStorageSpan(stg, region, year)",
eqStorageCapLo = "mStorageCapLo(stg, region, year)",
eqStorageCapUp = "mStorageCapUp(stg, region, year)",
eqStorageNewCapLo = "mStorageNewCapLo(stg, region, year)",
eqStorageNewCapUp = "mStorageNewCapUp(stg, region, year)",
eqStorageInv = "mStorageNew(stg, region, year)",
eqStorageEac = "mStorageEac(stg, region, year)",
eqStorageFixom = "mStorageFixom(stg, region, year)",
eqStorageVarom = "mStorageVarom(stg, region, year)",
eqImportTot = "mImport(comm, dst, year, slice)",
eqExportTot = "mExport(comm, src, year, slice)",
eqTradeFlowUp = "meqTradeFlowUp(trade, comm, src, dst, year, slice)",
eqTradeFlowLo = "meqTradeFlowLo(trade, comm, src, dst, year, slice)",
eqExportRowUp = "mExportRowUp(expp, comm, region, year, slice)",
eqExportRowLo = "meqExportRowLo(expp, comm, region, year, slice)",
eqExportRowCum = "mExpComm(expp, comm)",
eqExportRowResUp = "mExportRowCumUp(expp, comm)",
eqExportRowCost = "mExportRowCost(expp, region, year)",
eqImportRowUp = "mImportRowUp(imp, comm, region, year, slice)",
eqImportRowLo = "meqImportRowLo(imp, comm, region, year, slice)",
eqImportRowCum = "mImpComm(imp, comm)",
eqImportRowResUp = "mImportRowCumUp(imp, comm)",
eqImportRowCost = "mImportRowCost(imp, region, year)",
eqTradeCap = "mTradeSpan(trade, year)",
eqTradeCapLo = "mTradeCapLo(trade, year)",
eqTradeCapUp = "mTradeCapUp(trade, year)",
eqTradeNewCapLo = "mTradeNewCapLo(trade, year)",
eqTradeNewCapUp = "mTradeNewCapUp(trade, year)",
eqTradeCapFlow = "meqTradeCapFlow(trade, comm, year, slice)",
eqTradeInv = "mTradeInv(trade, region, year)",
eqTradeEac = "mTradeEac(trade, region, year)",
eqTradeFixom = "mTradeFixom(trade, region, year)",
eqImportIrCost = "mImportIrCost(trade, region, year)",
eqExportIrCost = "mExportIrCost(trade, region, year)",
eqTradeIrAInp = "mvTradeIrAInp(trade, comm, region, year, slice)",
eqTradeIrAOut = "mvTradeIrAOut(trade, comm, region, year, slice)",
eqTradeIrAInpTot = "mvTradeIrAInpTot(comm, region, year, slice)",
eqTradeIrAOutTot = "mvTradeIrAOutTot(comm, region, year, slice)",
eqBalUp = "meqBalUp(comm, region, year, slice)",
eqBalLo = "meqBalLo(comm, region, year, slice)",
eqBalFx = "meqBalFx(comm, region, year, slice)",
eqBal = "mvBalance(comm, region, year, slice)",
eqBalanceRY = "mBalanceRY(comm, region, year)",
eqOutTot = "mvOutTot(comm, region, year, slice)",
eqOutTotRY = "mOutTotRY(comm, region, year)",
eqInpTot = "mvInpTot(comm, region, year, slice)",
eqInpTotRY = "mInpTotRY(comm, region, year)",
eqInp2Lo = "mInp2Lo(comm, region, year, slice)",
eqOut2Lo = "mOut2Lo(comm, region, year, slice)",
eqSupOutTot = "mSupOutTot(comm, region, year, slice)",
eqTechInpTot = "mTechInpTot(comm, region, year, slice)",
eqTechOutTot = "mTechOutTot(comm, region, year, slice)",
eqStorageInpTot = "mStorageInpTot(comm, region, year, slice)",
eqStorageOutTot = "mStorageOutTot(comm, region, year, slice)",
eqDummyImportCost = "mDummyImportCost(comm, region, year)",
eqDummyExportCost = "mDummyExportCost(comm, region, year)",
eqTaxCost = "mTaxCost(comm, region, year)",
eqSubsCost = "mSubCost(comm, region, year)",
eqCost = "mvTotalCost(region, year)",
eqObjective = "",
eqLECActivity = "meqLECActivity(tech, region, year)"
);
#########################
# set description
#########################
.set_description = c(
comm = "commodity",
region = "region",
year = "year",
slice = "time slices",
sup = "supply",
dem = "demand",
tech = "technology",
stg = "storage",
trade = "trade between regions",
expp = "export to the rest of the world (ROW)",
imp = "import from the ROW",
group = "group of input or output commodities in technology",
weather = "weather",
mCommReg = "Commodity to region mapping (to filter out unused cases)",
mSameRegion = "The same region (used in GLPK)",
mSameSlice = "The same slice (used in GLPK)",
mMilestoneFirst = "First period milestone",
mMilestoneLast = "Last period milestone",
mMilestoneNext = "Next period milestone",
mMilestoneHasNext = "Is there next period milestone",
mStartMilestone = "Start of the period",
mEndMilestone = "End of the period",
mMidMilestone = "Milestone year",
mCommSlice = "Commodity to slice",
mCommSliceOrParent = "",
mTechRetirement = "Early retirement option",
mTechRetCost = "Costs of early retirement",
mTechUpgrade = "Upgrade technology (not implemented yet)",
mTechInpComm = "Input commodity",
mTechOutComm = "Output commodity",
mTechInpGroup = "Group input",
mTechOutGroup = "Group output",
mTechOneComm = "Commodity without group",
mTechGroupComm = "Mapping between commodity-groups and commodities",
mTechAInp = "Auxiliary input",
mTechAOut = "Auxiliary output",
mTechNew = "Technologies available for investment",
mTechSpan = "Availability of each technology by regions and milestone years",
mTechSlice = "Technology to slice-level",
mSupSlice = "Supply to slices-level",
mSupComm = "Supplied commodities",
mSupSpan = "Supply in regions",
mDemComm = "Demand commodities",
mUpComm = "Commodity balance type TOTAL SUPPLY <= TOTAL DEMAND",
mLoComm = "Commodity balance type TOTAL SUPPLY >= TOTAL DEMAND",
mFxComm = "Commodity balance type TOTAL SUPPLY == TOTAL DEMAND",
mStorageFullYear = "Mapping of storage with joint slice",
mStorageComm = "Mapping of storage technology and respective commodity",
mStorageAInp = "Aux-commodity input to storage",
mStorageAOut = "Aux-commodity output from storage",
mStorageNew = "Storage available for investment",
mStorageSpan = "Storage set showing if the storage may exist in the year and region",
mStorageFixom = "add",
mStorageVarom = "add",
mStorageEac = "",
mSliceNext = "Next slice",
mSliceFYearNext = "Next slice joint",
mTradeSlice = "Trade to slice",
mTradeComm = "Trade commodities",
mTradeRoutes = "",
mTradeIrAInp = "Auxiliary input commodity in source region",
mTradeIrAOut = "Auxiliary output commodity in source region",
mExpComm = "Export commodities",
mImpComm = "Import commodities",
mExpSlice = "Export to slice",
mImpSlice = "Import to slice",
mDiscountZero = "",
mSliceParentChildE = "Child slice or the same",
mSliceParentChild = "Child slice not the same",
mTradeSpan = "",
mTradeNew = "",
mTradeOlifeInf = "",
mTradeEac = "",
mTradeCapacityVariable = "",
mTradeInv = "",
mTradeFixom = "",
mAggregateFactor = "",
mWeatherSlice = "",
mWeatherRegion = "",
mSupWeatherLo = "",
mSupWeatherUp = "",
mTechWeatherAfLo = "",
mTechWeatherAfUp = "",
mTechWeatherAfsLo = "",
mTechWeatherAfsUp = "",
mTechWeatherAfcLo = "",
mTechWeatherAfcUp = "",
mStorageWeatherAfLo = "",
mStorageWeatherAfUp = "",
mStorageWeatherCinpUp = "",
mStorageWeatherCinpLo = "",
mStorageWeatherCoutUp = "",
mStorageWeatherCoutLo = "",
mvSupCost = "",
mvTechInp = "",
mvSupReserve = "",
mvTechRetiredNewCap = "",
mvTechRetiredStock = "",
mvTechAct = "",
mvTechInpCommSameSlice = "",
mvTechOut = "",
mvTechAInp = "",
mvTechAOut = "",
mvDemInp = "",
mvBalance = "",
mBalanceRY = "",
mvInpTot = "",
mInpTotRY = "",
mvOutTot = "",
mOutTotRY = "",
mvInp2Lo = "",
mvOut2Lo = "",
mInpSub = "",
mOutSub = "",
mTechCapLo = "",
mTechCapUp = "",
mTechNewCapLo = "",
mTechNewCapUp = "",
mTechRetLo = "",
mTechRetUp = "",
mvStorageAInp = "",
mvStorageAOut = "",
mvStorageStore = "",
meqStorageStore = "",
mStorageStg2AOut = "",
mStorageCinp2AOut = "",
mStorageCout2AOut = "",
mStorageCap2AOut = "",
mStorageNCap2AOut = "",
mStorageStg2AInp = "",
mStorageCinp2AInp = "",
mStorageCout2AInp = "",
mStorageCap2AInp = "",
mStorageNCap2AInp = "",
mStorageCapLo = "",
mStorageCapUp = "",
mStorageNewCapLo = "",
mStorageNewCapUp = "",
mStorageRetLo = "",
mStorageRetUp = "",
mvTradeIr = "",
mTradeIrCsrc2Ainp = "",
mTradeIrCdst2Ainp = "",
mTradeIrCsrc2Aout = "",
mTradeIrCdst2Aout = "",
mvTradeCost = "",
mvTradeRowCost = "",
mExportRowCost = "",
mImportRowCost = "",
mImportIrCost = "",
mExportIrCost = "",
mvTotalCost = "",
mvTotalUserCosts = "",
mTradeCapLo = "",
mTradeCapUp = "",
mTradeNewCapLo = "",
mTradeNewCapUp = "",
mTradeRetLo = "",
mTradeRetUp = "",
mTechInv = "",
mTechInpTot = "Total technology input mapp",
mTechInpCommSameSlice = "",
mTechInpCommAgg = "",
mTechInpCommAggSlice = "",
mTechAInpCommSameSlice = "",
mTechAInpCommAgg = "",
mTechAInpCommAggSlice = "",
mTechOutTot = "Total technology output mapp",
mTechOutCommSameSlice = "",
mTechOutCommAgg = "",
mTechOutCommAggSlice = "",
mTechAOutCommSameSlice = "",
mTechAOutCommAgg = "",
mTechAOutCommAggSlice = "",
mTechEac = "",
mTechFixom = "added",
mTechVarom = "added",
mSupOutTot = "",
mEmsFuelTot = "",
mTechEmsFuel = "",
mDummyImport = "",
mDummyExport = "",
mDummyImportCost = "",
mDummyExportCost = "",
mTradeIr = "",
mvTradeIrAInp = "",
mvTradeIrAInpTot = "",
mvTradeIrAOut = "",
mvTradeIrAOutTot = "",
mImportRow = "",
mImportRowUp = "",
mImportRowCumUp = "",
mExportRow = "",
mExportRowUp = "",
mExportRowCumUp = "",
mExport = "",
mImport = "",
mStorageInpTot = "",
mStorageOutTot = "",
mTaxCost = "",
mSubCost = "",
mAggOut = "",
mTechAfUp = "",
mTechFullYear = "",
mTechRampUp = "",
mTechRampDown = "",
mTechCommOutSliceSliceP = "",
mTechCommAOutSliceSliceP = "",
mTechOlifeInf = "",
mStorageOlifeInf = "",
mTechAfcUp = "",
mSupAvaUp = "",
mSupAva = "",
mSupReserveUp = "",
mOut2Lo = "",
mInp2Lo = "",
meqTechRetiredNewCap = "",
meqTechSng2Sng = "",
meqTechGrp2Sng = "",
meqTechSng2Grp = "",
meqTechGrp2Grp = "",
meqTechShareInpLo = "",
meqTechShareInpUp = "",
meqTechShareOutLo = "",
meqTechShareOutUp = "",
meqTechAfLo = "",
meqTechAfUp = "",
meqTechAfsLo = "",
meqTechAfsUp = "",
meqTechActSng = "",
meqTechActGrp = "",
meqTechAfcOutLo = "",
meqTechAfcOutUp = "",
meqTechAfcInpLo = "",
meqTechAfcInpUp = "",
meqSupAvaLo = "",
meqSupReserveLo = "",
meqStorageAfLo = "",
meqStorageAfUp = "",
meqStorageInpUp = "",
meqStorageInpLo = "",
meqStorageOutUp = "",
meqStorageOutLo = "",
meqTradeFlowUp = "",
meqTradeFlowLo = "",
meqExportRowLo = "",
meqImportRowUp = "",
meqImportRowLo = "",
meqTradeCapFlow = "",
meqBalLo = "",
meqBalUp = "",
meqBalFx = "",
meqLECActivity = "",
mTechAct2AInp = "",
mTechCap2AInp = "",
mTechNCap2AInp = "",
mTechCinp2AInp = "",
mTechCout2AInp = "",
mTechAct2AOut = "",
mTechCap2AOut = "",
mTechNCap2AOut = "",
mTechCinp2AOut = "",
mTechCout2AOut = "",
mLECRegion = "");
#########################
# set set
#########################
.set_set = list(
comm = NULL,
region = NULL,
year = NULL,
slice = NULL,
sup = NULL,
dem = NULL,
tech = NULL,
stg = NULL,
trade = NULL,
expp = NULL,
imp = NULL,
group = NULL,
weather = NULL,
mCommReg = c("comm", "region"),
mSameRegion = c("region", "region"),
mSameSlice = c("slice", "slice"),
mMilestoneFirst = c("year"),
mMilestoneLast = c("year"),
mMilestoneNext = c("year", "year"),
mMilestoneHasNext = c("year"),
mStartMilestone = c("year", "year"),
mEndMilestone = c("year", "year"),
mMidMilestone = c("year"),
mCommSlice = c("comm", "slice"),
mCommSliceOrParent = c("comm", "slice", "slice"),
mTechRetirement = c("tech"),
mTechRetCost = c("tech", "region", "year"),
mTechUpgrade = c("tech", "tech"),
mTechInpComm = c("tech", "comm"),
mTechOutComm = c("tech", "comm"),
mTechInpGroup = c("tech", "group"),
mTechOutGroup = c("tech", "group"),
mTechOneComm = c("tech", "comm"),
mTechGroupComm = c("tech", "group", "comm"),
mTechAInp = c("tech", "comm"),
mTechAOut = c("tech", "comm"),
mTechNew = c("tech", "region", "year"),
mTechSpan = c("tech", "region", "year"),
mTechSlice = c("tech", "slice"),
mSupSlice = c("sup", "slice"),
mSupComm = c("sup", "comm"),
mSupSpan = c("sup", "region"),
mDemComm = c("dem", "comm"),
mUpComm = c("comm"),
mLoComm = c("comm"),
mFxComm = c("comm"),
mStorageFullYear = c("stg"),
mStorageComm = c("stg", "comm"),
mStorageAInp = c("stg", "comm"),
mStorageAOut = c("stg", "comm"),
mStorageNew = c("stg", "region", "year"),
mStorageSpan = c("stg", "region", "year"),
mStorageFixom = c("stg", "region", "year"),
mStorageVarom = c("stg", "region", "year"),
mStorageEac = c("stg", "region", "year"),
mSliceNext = c("slice", "slice"),
mSliceFYearNext = c("slice", "slice"),
mTradeSlice = c("trade", "slice"),
mTradeComm = c("trade", "comm"),
mTradeRoutes = c("trade", "region", "region"),
mTradeIrAInp = c("trade", "comm"),
mTradeIrAOut = c("trade", "comm"),
mExpComm = c("expp", "comm"),
mImpComm = c("imp", "comm"),
mExpSlice = c("expp", "slice"),
mImpSlice = c("imp", "slice"),
mDiscountZero = c("region"),
mSliceParentChildE = c("slice", "slice"),
mSliceParentChild = c("slice", "slice"),
mTradeSpan = c("trade", "year"),
mTradeNew = c("trade", "year"),
mTradeOlifeInf = c("trade"),
mTradeEac = c("trade", "region", "year"),
mTradeCapacityVariable = c("trade"),
mTradeInv = c("trade", "region", "year"),
mTradeFixom = c("trade", "region", "year"),
mAggregateFactor = c("comm", "comm"),
mWeatherSlice = c("weather", "slice"),
mWeatherRegion = c("weather", "region"),
mSupWeatherLo = c("weather", "sup"),
mSupWeatherUp = c("weather", "sup"),
mTechWeatherAfLo = c("weather", "tech"),
mTechWeatherAfUp = c("weather", "tech"),
mTechWeatherAfsLo = c("weather", "tech"),
mTechWeatherAfsUp = c("weather", "tech"),
mTechWeatherAfcLo = c("weather", "tech", "comm"),
mTechWeatherAfcUp = c("weather", "tech", "comm"),
mStorageWeatherAfLo = c("weather", "stg"),
mStorageWeatherAfUp = c("weather", "stg"),
mStorageWeatherCinpUp = c("weather", "stg"),
mStorageWeatherCinpLo = c("weather", "stg"),
mStorageWeatherCoutUp = c("weather", "stg"),
mStorageWeatherCoutLo = c("weather", "stg"),
mvSupCost = c("sup", "region", "year"),
mvTechInp = c("tech", "comm", "region", "year", "slice"),
mvSupReserve = c("sup", "comm", "region"),
mvTechRetiredNewCap = c("tech", "region", "year", "year"),
mvTechRetiredStock = c("tech", "region", "year"),
mvTechAct = c("tech", "region", "year", "slice"),
mvTechInpCommSameSlice = c("tech", "comm", "region", "year", "slice"),
mvTechOut = c("tech", "comm", "region", "year", "slice"),
mvTechAInp = c("tech", "comm", "region", "year", "slice"),
mvTechAOut = c("tech", "comm", "region", "year", "slice"),
mvDemInp = c("comm", "region", "year", "slice"),
mvBalance = c("comm", "region", "year", "slice"),
mBalanceRY = c("comm", "region", "year"),
mvInpTot = c("comm", "region", "year", "slice"),
mInpTotRY = c("comm", "region", "year"),
mvOutTot = c("comm", "region", "year", "slice"),
mOutTotRY = c("comm", "region", "year"),
mvInp2Lo = c("comm", "region", "year", "slice", "slice"),
mvOut2Lo = c("comm", "region", "year", "slice", "slice"),
mInpSub = c("comm", "region", "year", "slice"),
mOutSub = c("comm", "region", "year", "slice"),
mTechCapLo = c("tech", "region", "year"),
mTechCapUp = c("tech", "region", "year"),
mTechNewCapLo = c("tech", "region", "year"),
mTechNewCapUp = c("tech", "region", "year"),
mTechRetLo = c("tech", "region", "year"),
mTechRetUp = c("tech", "region", "year"),
mvStorageAInp = c("stg", "comm", "region", "year", "slice"),
mvStorageAOut = c("stg", "comm", "region", "year", "slice"),
mvStorageStore = c("stg", "comm", "region", "year", "slice"),
meqStorageStore = c("stg", "comm", "region", "year", "slicep", "slice"),
mStorageStg2AOut = c("stg", "comm", "region", "year", "slice"),
mStorageCinp2AOut = c("stg", "comm", "region", "year", "slice"),
mStorageCout2AOut = c("stg", "comm", "region", "year", "slice"),
mStorageCap2AOut = c("stg", "comm", "region", "year", "slice"),
mStorageNCap2AOut = c("stg", "comm", "region", "year", "slice"),
mStorageStg2AInp = c("stg", "comm", "region", "year", "slice"),
mStorageCinp2AInp = c("stg", "comm", "region", "year", "slice"),
mStorageCout2AInp = c("stg", "comm", "region", "year", "slice"),
mStorageCap2AInp = c("stg", "comm", "region", "year", "slice"),
mStorageNCap2AInp = c("stg", "comm", "region", "year", "slice"),
mStorageCapLo = c("stg", "region", "year"),
mStorageCapUp = c("stg", "region", "year"),
mStorageNewCapLo = c("stg", "region", "year"),
mStorageNewCapUp = c("stg", "region", "year"),
mStorageRetLo = c("stg", "region", "year"),
mStorageRetUp = c("stg", "region", "year"),
mvTradeIr = c("trade", "comm", "region", "region", "year", "slice"),
mTradeIrCsrc2Ainp = c("trade", "comm", "region", "region", "year", "slice"),
mTradeIrCdst2Ainp = c("trade", "comm", "region", "region", "year", "slice"),
mTradeIrCsrc2Aout = c("trade", "comm", "region", "region", "year", "slice"),
mTradeIrCdst2Aout = c("trade", "comm", "region", "region", "year", "slice"),
mvTradeCost = c("region", "year"),
mvTradeRowCost = c("region", "year"),
mExportRowCost = c("expp", "region", "year"),
mImportRowCost = c("imp", "region", "year"),
mImportIrCost = c("trade", "region", "year"),
mExportIrCost = c("trade", "region", "year"),
mvTotalCost = c("region", "year"),
mvTotalUserCosts = c("region", "year"),
mTradeCapLo = c("trade", "year"),
mTradeCapUp = c("trade", "year"),
mTradeNewCapLo = c("trade", "year"),
mTradeNewCapUp = c("trade", "year"),
mTradeRetLo = c("trade", "year"),
mTradeRetUp = c("trade", "year"),
mTechInv = c("tech", "region", "year"),
mTechInpTot = c("comm", "region", "year", "slice"),
mTechInpCommSameSlice = c("tech", "comm"),
mTechInpCommAgg = c("tech", "comm"),
mTechInpCommAggSlice = c("tech", "comm", "slice", "slicep"),
mTechAInpCommSameSlice = c("tech", "comm"),
mTechAInpCommAgg = c("tech", "comm"),
mTechAInpCommAggSlice = c("tech", "comm", "slice", "slicep"),
mTechOutTot = c("comm", "region", "year", "slice"),
mTechOutCommSameSlice = c("tech", "comm"),
mTechOutCommAgg = c("tech", "comm"),
mTechOutCommAggSlice = c("tech", "comm", "slice", "slicep"),
mTechAOutCommSameSlice = c("tech", "comm"),
mTechAOutCommAgg = c("tech", "comm"),
mTechAOutCommAggSlice = c("tech", "comm", "slice", "slicep"),
mTechEac = c("tech", "region", "year"),
mTechFixom = c("tech", "region", "year"),
mTechVarom = c("tech", "region", "year"),
mSupOutTot = c("comm", "region", "year", "slice"),
mEmsFuelTot = c("comm", "region", "year", "slice"),
mTechEmsFuel = c("tech", "comm", "comm", "region", "year", "slice"),
mDummyImport = c("comm", "region", "year", "slice"),
mDummyExport = c("comm", "region", "year", "slice"),
mDummyImportCost = c("comm", "region", "year"),
mDummyExportCost = c("comm", "region", "year"),
mTradeIr = c("trade", "region", "region", "year", "slice"),
mvTradeIrAInp = c("trade", "comm", "region", "year", "slice"),
mvTradeIrAInpTot = c("comm", "region", "year", "slice"),
mvTradeIrAOut = c("trade", "comm", "region", "year", "slice"),
mvTradeIrAOutTot = c("comm", "region", "year", "slice"),
mImportRow = c("imp", "comm", "region", "year", "slice"),
mImportRowUp = c("imp", "comm", "region", "year", "slice"),
mImportRowCumUp = c("imp", "comm"),
mExportRow = c("expp", "comm", "region", "year", "slice"),
mExportRowUp = c("expp", "comm", "region", "year", "slice"),
mExportRowCumUp = c("expp", "comm"),
mExport = c("comm", "region", "year", "slice"),
mImport = c("comm", "region", "year", "slice"),
mStorageInpTot = c("comm", "region", "year", "slice"),
mStorageOutTot = c("comm", "region", "year", "slice"),
mTaxCost = c("comm", "region", "year"),
mSubCost = c("comm", "region", "year"),
mAggOut = c("comm", "region", "year", "slice"),
mTechAfUp = c("tech", "region", "year", "slice"),
mTechFullYear = c("tech"),
mTechRampUp = c("tech", "region", "year", "slice", "slicep"),
mTechRampDown = c("tech", "region", "year", "slice", "slicep"),
mTechCommOutSliceSliceP = c("tech", "comm", "slice", "slicep"),
mTechCommAOutSliceSliceP = c("tech", "comm", "slice", "slicep"),
mTechOlifeInf = c("tech", "region"),
mStorageOlifeInf = c("stg", "region"),
mTechAfcUp = c("tech", "comm", "region", "year", "slice"),
mSupAvaUp = c("sup", "comm", "region", "year", "slice"),
mSupAva = c("sup", "comm", "region", "year", "slice"),
mSupReserveUp = c("sup", "comm", "region"),
mOut2Lo = c("comm", "region", "year", "slice"),
mInp2Lo = c("comm", "region", "year", "slice"),
meqTechRetiredNewCap = c("tech", "region", "year"),
meqTechSng2Sng = c("tech", "region", "comm", "comm", "year", "slice"),
meqTechGrp2Sng = c("tech", "region", "group", "comm", "year", "slice"),
meqTechSng2Grp = c("tech", "region", "comm", "group", "year", "slice"),
meqTechGrp2Grp = c("tech", "region", "group", "group", "year", "slice"),
meqTechShareInpLo = c("tech", "region", "group", "comm", "year", "slice"),
meqTechShareInpUp = c("tech", "region", "group", "comm", "year", "slice"),
meqTechShareOutLo = c("tech", "region", "group", "comm", "year", "slice"),
meqTechShareOutUp = c("tech", "region", "group", "comm", "year", "slice"),
meqTechAfLo = c("tech", "region", "year", "slice"),
meqTechAfUp = c("tech", "region", "year", "slice"),
meqTechAfsLo = c("tech", "region", "year", "slice"),
meqTechAfsUp = c("tech", "region", "year", "slice"),
meqTechActSng = c("tech", "comm", "region", "year", "slice"),
meqTechActGrp = c("tech", "group", "region", "year", "slice"),
meqTechAfcOutLo = c("tech", "region", "comm", "year", "slice"),
meqTechAfcOutUp = c("tech", "region", "comm", "year", "slice"),
meqTechAfcInpLo = c("tech", "region", "comm", "year", "slice"),
meqTechAfcInpUp = c("tech", "region", "comm", "year", "slice"),
meqSupAvaLo = c("sup", "comm", "region", "year", "slice"),
meqSupReserveLo = c("sup", "comm", "region"),
meqStorageAfLo = c("stg", "comm", "region", "year", "slice"),
meqStorageAfUp = c("stg", "comm", "region", "year", "slice"),
meqStorageInpUp = c("stg", "comm", "region", "year", "slice"),
meqStorageInpLo = c("stg", "comm", "region", "year", "slice"),
meqStorageOutUp = c("stg", "comm", "region", "year", "slice"),
meqStorageOutLo = c("stg", "comm", "region", "year", "slice"),
meqTradeFlowUp = c("trade", "comm", "region", "region", "year", "slice"),
meqTradeFlowLo = c("trade", "comm", "region", "region", "year", "slice"),
meqExportRowLo = c("expp", "comm", "region", "year", "slice"),
meqImportRowUp = c("imp", "comm", "region", "year", "slice"),
meqImportRowLo = c("imp", "comm", "region", "year", "slice"),
meqTradeCapFlow = c("trade", "comm", "year", "slice"),
meqBalLo = c("comm", "region", "year", "slice"),
meqBalUp = c("comm", "region", "year", "slice"),
meqBalFx = c("comm", "region", "year", "slice"),
meqLECActivity = c("tech", "region", "year"),
mTechAct2AInp = c("tech", "comm", "region", "year", "slice"),
mTechCap2AInp = c("tech", "comm", "region", "year", "slice"),
mTechNCap2AInp = c("tech", "comm", "region", "year", "slice"),
mTechCinp2AInp = c("tech", "comm", "comm", "region", "year", "slice"),
mTechCout2AInp = c("tech", "comm", "comm", "region", "year", "slice"),
mTechAct2AOut = c("tech", "comm", "region", "year", "slice"),
mTechCap2AOut = c("tech", "comm", "region", "year", "slice"),
mTechNCap2AOut = c("tech", "comm", "region", "year", "slice"),
mTechCinp2AOut = c("tech", "comm", "comm", "region", "year", "slice"),
mTechCout2AOut = c("tech", "comm", "comm", "region", "year", "slice"),
mLECRegion = c("region"));
#########################
# equation_variable
#########################
.equation_variable <- data.frame(equation = character(), variable = character(), stringsAsFactors = FALSE)
.equation_variable[1:280, ] <- NA;
.equation_variable[1, ] <- c("eqTechSng2Sng", "vTechInp")
.equation_variable[2, ] <- c("eqTechSng2Sng", "vTechOut")
.equation_variable[3, ] <- c("eqTechGrp2Sng", "vTechInp")
.equation_variable[4, ] <- c("eqTechGrp2Sng", "vTechOut")
.equation_variable[5, ] <- c("eqTechSng2Grp", "vTechInp")
.equation_variable[6, ] <- c("eqTechSng2Grp", "vTechOut")
.equation_variable[7, ] <- c("eqTechGrp2Grp", "vTechInp")
.equation_variable[8, ] <- c("eqTechGrp2Grp", "vTechOut")
.equation_variable[9, ] <- c("eqTechShareInpLo", "vTechInp")
.equation_variable[10, ] <- c("eqTechShareInpUp", "vTechInp")
.equation_variable[11, ] <- c("eqTechShareOutLo", "vTechOut")
.equation_variable[12, ] <- c("eqTechShareOutUp", "vTechOut")
.equation_variable[13, ] <- c("eqTechAInp", "vTechNewCap")
.equation_variable[14, ] <- c("eqTechAInp", "vTechCap")
.equation_variable[15, ] <- c("eqTechAInp", "vTechAct")
.equation_variable[16, ] <- c("eqTechAInp", "vTechInp")
.equation_variable[17, ] <- c("eqTechAInp", "vTechOut")
.equation_variable[18, ] <- c("eqTechAInp", "vTechAInp")
.equation_variable[19, ] <- c("eqTechAOut", "vTechNewCap")
.equation_variable[20, ] <- c("eqTechAOut", "vTechCap")
.equation_variable[21, ] <- c("eqTechAOut", "vTechAct")
.equation_variable[22, ] <- c("eqTechAOut", "vTechInp")
.equation_variable[23, ] <- c("eqTechAOut", "vTechOut")
.equation_variable[24, ] <- c("eqTechAOut", "vTechAOut")
.equation_variable[25, ] <- c("eqTechAfLo", "vTechCap")
.equation_variable[26, ] <- c("eqTechAfLo", "vTechAct")
.equation_variable[27, ] <- c("eqTechAfUp", "vTechCap")
.equation_variable[28, ] <- c("eqTechAfUp", "vTechAct")
.equation_variable[29, ] <- c("eqTechAfsLo", "vTechCap")
.equation_variable[30, ] <- c("eqTechAfsLo", "vTechAct")
.equation_variable[31, ] <- c("eqTechAfsUp", "vTechCap")
.equation_variable[32, ] <- c("eqTechAfsUp", "vTechAct")
.equation_variable[33, ] <- c("eqTechRampUp", "vTechCap")
.equation_variable[34, ] <- c("eqTechRampUp", "vTechAct")
.equation_variable[35, ] <- c("eqTechRampDown", "vTechCap")
.equation_variable[36, ] <- c("eqTechRampDown", "vTechAct")
.equation_variable[37, ] <- c("eqTechActSng", "vTechAct")
.equation_variable[38, ] <- c("eqTechActSng", "vTechOut")
.equation_variable[39, ] <- c("eqTechActGrp", "vTechAct")
.equation_variable[40, ] <- c("eqTechActGrp", "vTechOut")
.equation_variable[41, ] <- c("eqTechAfcOutLo", "vTechCap")
.equation_variable[42, ] <- c("eqTechAfcOutLo", "vTechOut")
.equation_variable[43, ] <- c("eqTechAfcOutUp", "vTechCap")
.equation_variable[44, ] <- c("eqTechAfcOutUp", "vTechOut")
.equation_variable[45, ] <- c("eqTechAfcInpLo", "vTechCap")
.equation_variable[46, ] <- c("eqTechAfcInpLo", "vTechInp")
.equation_variable[47, ] <- c("eqTechAfcInpUp", "vTechCap")
.equation_variable[48, ] <- c("eqTechAfcInpUp", "vTechInp")
.equation_variable[49, ] <- c("eqTechCap", "vTechNewCap")
.equation_variable[50, ] <- c("eqTechCap", "vTechRetiredStockCum")
.equation_variable[51, ] <- c("eqTechCap", "vTechRetiredNewCap")
.equation_variable[52, ] <- c("eqTechCap", "vTechCap")
.equation_variable[53, ] <- c("eqTechCapLo", "vTechCap")
.equation_variable[54, ] <- c("eqTechCapUp", "vTechCap")
.equation_variable[55, ] <- c("eqTechNewCapLo", "vTechNewCap")
.equation_variable[56, ] <- c("eqTechNewCapUp", "vTechNewCap")
.equation_variable[57, ] <- c("eqTechRetiredStock", "vTechNewCap")
.equation_variable[58, ] <- c("eqTechRetiredStock", "vTechRetiredNewCap")
.equation_variable[59, ] <- c("eqTechRetiredStockCum", "vTechRetiredStockCum")
.equation_variable[60, ] <- c("eqTechRetiredNewCap", "vTechRetiredStockCum")
.equation_variable[61, ] <- c("eqTechRetiredNewCap", "vTechRetiredStock")
.equation_variable[62, ] <- c("eqTechRetLo", "vTechRetiredStock")
.equation_variable[63, ] <- c("eqTechRetLo", "vTechRetiredNewCap")
.equation_variable[64, ] <- c("eqTechRetUp", "vTechRetiredStock")
.equation_variable[65, ] <- c("eqTechRetUp", "vTechRetiredNewCap")
.equation_variable[66, ] <- c("eqTechEac", "vTechRetCost")
.equation_variable[67, ] <- c("eqTechEac", "vTechRetiredStock")
.equation_variable[68, ] <- c("eqTechEac", "vTechRetiredNewCap")
.equation_variable[69, ] <- c("eqTechInv", "vTechEac")
.equation_variable[70, ] <- c("eqTechInv", "vTechNewCap")
.equation_variable[71, ] <- c("eqTechInv", "vTechRetiredNewCap")
.equation_variable[72, ] <- c("eqTechFixom", "vTechInv")
.equation_variable[73, ] <- c("eqTechFixom", "vTechNewCap")
.equation_variable[74, ] <- c("eqTechVarom", "vTechFixom")
.equation_variable[75, ] <- c("eqTechVarom", "vTechCap")
.equation_variable[76, ] <- c("eqTechRetCost", "vTechVarom")
.equation_variable[77, ] <- c("eqTechRetCost", "vTechAct")
.equation_variable[78, ] <- c("eqTechRetCost", "vTechInp")
.equation_variable[79, ] <- c("eqTechRetCost", "vTechOut")
.equation_variable[80, ] <- c("eqTechRetCost", "vTechAInp")
.equation_variable[81, ] <- c("eqTechRetCost", "vTechAOut")
.equation_variable[82, ] <- c("eqSupAvaUp", "vSupOut")
.equation_variable[83, ] <- c("eqSupAvaLo", "vSupOut")
.equation_variable[84, ] <- c("eqSupReserve", "vSupOut")
.equation_variable[85, ] <- c("eqSupReserve", "vSupReserve")
.equation_variable[86, ] <- c("eqSupReserveUp", "vSupReserve")
.equation_variable[87, ] <- c("eqSupReserveLo", "vSupReserve")
.equation_variable[88, ] <- c("eqSupCost", "vSupCost")
.equation_variable[89, ] <- c("eqSupCost", "vSupOut")
.equation_variable[90, ] <- c("eqDemInp", "vDemInp")
.equation_variable[91, ] <- c("eqAggOutTot", "vAggOutTot")
.equation_variable[92, ] <- c("eqAggOutTot", "vOutTot")
.equation_variable[93, ] <- c("eqEmsFuelTot", "vEmsFuelTot")
.equation_variable[94, ] <- c("eqEmsFuelTot", "vTechInp")
.equation_variable[95, ] <- c("eqStorageStore", "vStorageAInp")
.equation_variable[96, ] <- c("eqStorageStore", "vStorageInp")
.equation_variable[97, ] <- c("eqStorageStore", "vStorageOut")
.equation_variable[98, ] <- c("eqStorageStore", "vStorageStore")
.equation_variable[99, ] <- c("eqStorageStore", "vStorageCap")
.equation_variable[100, ] <- c("eqStorageStore", "vStorageNewCap")
.equation_variable[101, ] <- c("eqStorageAfLo", "vStorageAOut")
.equation_variable[102, ] <- c("eqStorageAfLo", "vStorageInp")
.equation_variable[103, ] <- c("eqStorageAfLo", "vStorageOut")
.equation_variable[104, ] <- c("eqStorageAfLo", "vStorageStore")
.equation_variable[105, ] <- c("eqStorageAfLo", "vStorageCap")
.equation_variable[106, ] <- c("eqStorageAfLo", "vStorageNewCap")
.equation_variable[107, ] <- c("eqStorageAfUp", "vStorageInp")
.equation_variable[108, ] <- c("eqStorageAfUp", "vStorageOut")
.equation_variable[109, ] <- c("eqStorageAfUp", "vStorageStore")
.equation_variable[110, ] <- c("eqStorageAfUp", "vStorageNewCap")
.equation_variable[111, ] <- c("eqStorageClear", "vStorageStore")
.equation_variable[112, ] <- c("eqStorageClear", "vStorageCap")
.equation_variable[113, ] <- c("eqStorageAInp", "vStorageStore")
.equation_variable[114, ] <- c("eqStorageAInp", "vStorageCap")
.equation_variable[115, ] <- c("eqStorageAOut", "vStorageOut")
.equation_variable[116, ] <- c("eqStorageAOut", "vStorageStore")
.equation_variable[117, ] <- c("eqStorageInpUp", "vStorageInp")
.equation_variable[118, ] <- c("eqStorageInpUp", "vStorageCap")
.equation_variable[119, ] <- c("eqStorageInpLo", "vStorageInp")
.equation_variable[120, ] <- c("eqStorageInpLo", "vStorageCap")
.equation_variable[121, ] <- c("eqStorageOutUp", "vStorageOut")
.equation_variable[122, ] <- c("eqStorageOutUp", "vStorageCap")
.equation_variable[123, ] <- c("eqStorageOutLo", "vStorageOut")
.equation_variable[124, ] <- c("eqStorageOutLo", "vStorageCap")
.equation_variable[125, ] <- c("eqStorageCap", "vStorageCap")
.equation_variable[126, ] <- c("eqStorageCap", "vStorageNewCap")
.equation_variable[127, ] <- c("eqStorageCapLo", "vStorageCap")
.equation_variable[128, ] <- c("eqStorageCapUp", "vStorageCap")
.equation_variable[129, ] <- c("eqStorageNewCapLo", "vStorageNewCap")
.equation_variable[130, ] <- c("eqStorageNewCapUp", "vStorageNewCap")
.equation_variable[131, ] <- c("eqStorageInv", "vStorageInv")
.equation_variable[132, ] <- c("eqStorageInv", "vStorageNewCap")
.equation_variable[133, ] <- c("eqStorageEac", "vStorageEac")
.equation_variable[134, ] <- c("eqStorageEac", "vStorageNewCap")
.equation_variable[135, ] <- c("eqStorageFixom", "vStorageFixom")
.equation_variable[136, ] <- c("eqStorageFixom", "vStorageCap")
.equation_variable[137, ] <- c("eqStorageVarom", "vStorageVarom")
.equation_variable[138, ] <- c("eqStorageVarom", "vStorageInp")
.equation_variable[139, ] <- c("eqStorageVarom", "vStorageOut")
.equation_variable[140, ] <- c("eqStorageVarom", "vStorageStore")
.equation_variable[141, ] <- c("eqImportTot", "vImportTot")
.equation_variable[142, ] <- c("eqImportTot", "vTradeIr")
.equation_variable[143, ] <- c("eqImportTot", "vImportRow")
.equation_variable[144, ] <- c("eqExportTot", "vExportTot")
.equation_variable[145, ] <- c("eqExportTot", "vTradeIr")
.equation_variable[146, ] <- c("eqExportTot", "vExportRow")
.equation_variable[147, ] <- c("eqTradeFlowUp", "vTradeIr")
.equation_variable[148, ] <- c("eqTradeFlowLo", "vTradeIr")
.equation_variable[149, ] <- c("eqExportRowUp", "vImportIrCost")
.equation_variable[150, ] <- c("eqExportRowUp", "vTradeIr")
.equation_variable[151, ] <- c("eqExportRowLo", "vExportIrCost")
.equation_variable[152, ] <- c("eqExportRowLo", "vTradeIr")
.equation_variable[153, ] <- c("eqExportRowCum", "vExportRow")
.equation_variable[154, ] <- c("eqExportRowResUp", "vExportRow")
.equation_variable[155, ] <- c("eqExportRowCost", "vExportRowCum")
.equation_variable[156, ] <- c("eqExportRowCost", "vExportRow")
.equation_variable[157, ] <- c("eqImportRowUp", "vExportRowCum")
.equation_variable[158, ] <- c("eqImportRowLo", "vExportRowCost")
.equation_variable[159, ] <- c("eqImportRowLo", "vExportRow")
.equation_variable[160, ] <- c("eqImportRowCum", "vImportRow")
.equation_variable[161, ] <- c("eqImportRowResUp", "vImportRow")
.equation_variable[162, ] <- c("eqImportRowCost", "vImportRowCum")
.equation_variable[163, ] <- c("eqImportRowCost", "vImportRow")
.equation_variable[164, ] <- c("eqTradeCap", "vImportRowCum")
.equation_variable[165, ] <- c("eqTradeCapLo", "vImportRowCost")
.equation_variable[166, ] <- c("eqTradeCapLo", "vImportRow")
.equation_variable[167, ] <- c("eqTradeCapUp", "vTradeIr")
.equation_variable[168, ] <- c("eqTradeCapUp", "vTradeCap")
.equation_variable[169, ] <- c("eqTradeNewCapLo", "vTradeCap")
.equation_variable[170, ] <- c("eqTradeNewCapLo", "vTradeNewCap")
.equation_variable[171, ] <- c("eqTradeNewCapUp", "vTradeCap")
.equation_variable[172, ] <- c("eqTradeCapFlow", "vTradeCap")
.equation_variable[173, ] <- c("eqTradeInv", "vTradeNewCap")
.equation_variable[174, ] <- c("eqTradeEac", "vTradeNewCap")
.equation_variable[175, ] <- c("eqTradeFixom", "vTradeInv")
.equation_variable[176, ] <- c("eqTradeFixom", "vTradeNewCap")
.equation_variable[177, ] <- c("eqImportIrCost", "vTradeEac")
.equation_variable[178, ] <- c("eqImportIrCost", "vTradeNewCap")
.equation_variable[179, ] <- c("eqExportIrCost", "vTradeFixom")
.equation_variable[180, ] <- c("eqExportIrCost", "vTradeCap")
.equation_variable[181, ] <- c("eqTradeIrAInp", "vTradeIr")
.equation_variable[182, ] <- c("eqTradeIrAInp", "vTradeIrAInp")
.equation_variable[183, ] <- c("eqTradeIrAOut", "vTradeIr")
.equation_variable[184, ] <- c("eqTradeIrAOut", "vTradeIrAOut")
.equation_variable[185, ] <- c("eqTradeIrAInpTot", "vTradeIrAInp")
.equation_variable[186, ] <- c("eqTradeIrAInpTot", "vTradeIrAInpTot")
.equation_variable[187, ] <- c("eqTradeIrAOutTot", "vTradeIrAOut")
.equation_variable[188, ] <- c("eqTradeIrAOutTot", "vTradeIrAOutTot")
.equation_variable[189, ] <- c("eqBalUp", "vBalance")
.equation_variable[190, ] <- c("eqBalLo", "vBalance")
.equation_variable[191, ] <- c("eqBalFx", "vBalance")
.equation_variable[192, ] <- c("eqBal", "vBalance")
.equation_variable[193, ] <- c("eqBal", "vOutTot")
.equation_variable[194, ] <- c("eqBal", "vInpTot")
.equation_variable[195, ] <- c("eqBalanceRY", "vBalance")
.equation_variable[196, ] <- c("eqBalanceRY", "vBalanceRY")
.equation_variable[197, ] <- c("eqOutTot", "vEmsFuelTot")
.equation_variable[198, ] <- c("eqOutTot", "vAggOutTot")
.equation_variable[199, ] <- c("eqOutTot", "vOutTot")
.equation_variable[200, ] <- c("eqOutTot", "vOut2Lo")
.equation_variable[201, ] <- c("eqOutTot", "vSupOutTot")
.equation_variable[202, ] <- c("eqOutTot", "vTechOutTot")
.equation_variable[203, ] <- c("eqOutTot", "vStorageOutTot")
.equation_variable[204, ] <- c("eqOutTot", "vDummyImport")
.equation_variable[205, ] <- c("eqOutTot", "vImportTot")
.equation_variable[206, ] <- c("eqOutTot", "vTradeIrAOutTot")
.equation_variable[207, ] <- c("eqOutTotRY", "vOutTot")
.equation_variable[208, ] <- c("eqOutTotRY", "vOutTotRY")
.equation_variable[209, ] <- c("eqInpTot", "vEmsFuelTot")
.equation_variable[210, ] <- c("eqInpTot", "vAggOutTot")
.equation_variable[211, ] <- c("eqInpTot", "vOut2Lo")
.equation_variable[212, ] <- c("eqInpTot", "vSupOutTot")
.equation_variable[213, ] <- c("eqInpTot", "vTechOutTot")
.equation_variable[214, ] <- c("eqInpTot", "vStorageOutTot")
.equation_variable[215, ] <- c("eqInpTot", "vImportTot")
.equation_variable[216, ] <- c("eqInpTot", "vTradeIrAOutTot")
.equation_variable[217, ] <- c("eqInpTotRY", "vDemInp")
.equation_variable[218, ] <- c("eqInpTotRY", "vInpTot")
.equation_variable[219, ] <- c("eqInpTotRY", "vInp2Lo")
.equation_variable[220, ] <- c("eqInpTotRY", "vTechInpTot")
.equation_variable[221, ] <- c("eqInpTotRY", "vStorageInpTot")
.equation_variable[222, ] <- c("eqInpTotRY", "vDummyExport")
.equation_variable[223, ] <- c("eqInpTotRY", "vExportTot")
.equation_variable[224, ] <- c("eqInpTotRY", "vTradeIrAInpTot")
.equation_variable[225, ] <- c("eqInp2Lo", "vInpTot")
.equation_variable[226, ] <- c("eqInp2Lo", "vInpTotRY")
.equation_variable[227, ] <- c("eqOut2Lo", "vInp2Lo")
.equation_variable[228, ] <- c("eqOut2Lo", "vTechInpTot")
.equation_variable[229, ] <- c("eqOut2Lo", "vStorageInpTot")
.equation_variable[230, ] <- c("eqOut2Lo", "vExportTot")
.equation_variable[231, ] <- c("eqOut2Lo", "vTradeIrAInpTot")
.equation_variable[232, ] <- c("eqSupOutTot", "vSupOut")
.equation_variable[233, ] <- c("eqSupOutTot", "vSupOutTot")
.equation_variable[234, ] <- c("eqTechInpTot", "vTechInp")
.equation_variable[235, ] <- c("eqTechInpTot", "vTechAInp")
.equation_variable[236, ] <- c("eqTechInpTot", "vTechInpTot")
.equation_variable[237, ] <- c("eqTechOutTot", "vTechOut")
.equation_variable[238, ] <- c("eqTechOutTot", "vTechAOut")
.equation_variable[239, ] <- c("eqTechOutTot", "vTechOutTot")
.equation_variable[240, ] <- c("eqStorageInpTot", "vStorageInpTot")
.equation_variable[241, ] <- c("eqStorageInpTot", "vStorageAInp")
.equation_variable[242, ] <- c("eqStorageInpTot", "vStorageInp")
.equation_variable[243, ] <- c("eqStorageOutTot", "vStorageOutTot")
.equation_variable[244, ] <- c("eqStorageOutTot", "vStorageAOut")
.equation_variable[245, ] <- c("eqStorageOutTot", "vStorageOut")
.equation_variable[246, ] <- c("eqDummyImportCost", "vDummyImportCost")
.equation_variable[247, ] <- c("eqDummyImportCost", "vDummyImport")
.equation_variable[248, ] <- c("eqDummyExportCost", "vDummyExportCost")
.equation_variable[249, ] <- c("eqDummyExportCost", "vDummyExport")
.equation_variable[250, ] <- c("eqTaxCost", "vBalance")
.equation_variable[251, ] <- c("eqTaxCost", "vTaxCost")
.equation_variable[252, ] <- c("eqTaxCost", "vOutTot")
.equation_variable[253, ] <- c("eqTaxCost", "vInpTot")
.equation_variable[254, ] <- c("eqSubsCost", "vBalance")
.equation_variable[255, ] <- c("eqSubsCost", "vSubsCost")
.equation_variable[256, ] <- c("eqSubsCost", "vOutTot")
.equation_variable[257, ] <- c("eqSubsCost", "vInpTot")
.equation_variable[258, ] <- c("eqCost", "vTechEac")
.equation_variable[259, ] <- c("eqCost", "vTechRetCost")
.equation_variable[260, ] <- c("eqCost", "vTechFixom")
.equation_variable[261, ] <- c("eqCost", "vTechVarom")
.equation_variable[262, ] <- c("eqCost", "vSupCost")
.equation_variable[263, ] <- c("eqCost", "vTotalCost")
.equation_variable[264, ] <- c("eqCost", "vTaxCost")
.equation_variable[265, ] <- c("eqCost", "vSubsCost")
.equation_variable[266, ] <- c("eqCost", "vDummyImportCost")
.equation_variable[267, ] <- c("eqCost", "vDummyExportCost")
.equation_variable[268, ] <- c("eqCost", "vStorageFixom")
.equation_variable[269, ] <- c("eqCost", "vStorageVarom")
.equation_variable[270, ] <- c("eqCost", "vTradeEac")
.equation_variable[271, ] <- c("eqCost", "vTradeFixom")
.equation_variable[272, ] <- c("eqCost", "vImportIrCost")
.equation_variable[273, ] <- c("eqCost", "vExportIrCost")
.equation_variable[274, ] <- c("eqCost", "vImportRowCost")
.equation_variable[275, ] <- c("eqCost", "vExportRowCost")
.equation_variable[276, ] <- c("eqCost", "vStorageEac")
.equation_variable[277, ] <- c("eqCost", "vTotalUserCosts")
.equation_variable[278, ] <- c("eqObjective", "vTotalCost")
.equation_variable[279, ] <- c("eqObjective", "vObjective")
.equation_variable[280, ] <- c("eqLECActivity", "vTechAct")
model_structure <- rbind(
data.frame(name = names(.set_description), description = .set_description,
type = 'set', dim = gsub('(["]|[)].*|^[^(]*[(]|NULL)', '', .set_set), map = ''),
data.frame(name = names(.parameter_description), description = .parameter_description,
type = 'parameter', dim = gsub('(["]|[)].*|^[^(]*[(]|NULL)', '', .parameter_set), map = ''),
data.frame(name = names(.variable_description), description = .variable_description,
type = 'variable', dim = gsub('(["]|[)].*|^[^(]*[(])', '', .variable_set),
map = gsub('[,]', ', ', gsub('(.*[$]|[ ])', '', sapply(.variable_mapping,
function(x) if (any(grep('[$]', x))) x else '')))))
#save(list = "model_structure",
#file = "../data/model_structure.RData")
#save(list = c(".set_set", ".set_description", ".parameter_set", ".parameter_description", ".variable_set",
#".variable_description", ".variable_mapping", ".equation_mapping", ".equation_set", ".equation_description", ".equation_variable"),
#file = "../R/sysdata.rda")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.