Download the latest version of VEDA-FE (45821) and VEDA-BE (492010)

Veda Application Installation guide

Investment costs in VEDA-BE
I recently started looking at cost output from my model in VEDA-BE for the first time.  My table has the following row categories to the left (Process, Attribute, Commodity, Scenario).  The only column category on top of the table is Period.  It would seem to me that if I were to divide the investment costs in a certain period (Cost_Inv) by the new capacity investment in that same period (VAR_Ncap), then I would get the levelized capital cost assumption that I originally put into the model (e.g., for power plants in terms of $/GW).  However, this doesn't seem to be the case, as the Cost_Inv category is aggregating the costs in each period by the Vintage categories (remember I'm ignoring vintaging in my table by not including it).  If I do include Vintage as a category, then it appears that the Cost_Inv values for a particular technology "hang around" in all future Periods in which the technology is used.  Therefore, the investment costs are being double-counted (or in fact triple- and quadruple-counted, for technologies with longer lifetimes that span multiple periods). 

So I guess I'm in need of an explanation of what Cost_Inv represents in VEDA-BE.  I can't seem to find any definition of it outside of the VEDA-BE "Attribute" tab.

Cost_Salv also confuses me as well.  What exactly is the annual salvage value?  Is this the cost of getting rid of the technology before its lifetime is up - perhaps because the model has perfect foresight and wants to go ahead and invest in some other technology?

Thanks in advance for your help.

David McCollum

This table should clarify the meaning of Cost_Inv:
Cost_Inv is the stream of annual payments that the corresponding VAR_Ncap would generate. In other words, the NPV of Cost_Inv <divided by> VAR_NCAP would give you NCAP_COST.
Note that the Cost per unit investment increases over time in the above example.
Amit already gave you the explanation for the annual investment costs. As the description says, they represent annualized costs.  In the newest version (v3.0.5), also the lump-sum investment costs are reported, for convenience (including interest).
Likewise, all the other Cost_xxx parameters also represent annualized costs, excluding the salvage costs (which do not have a period index, but are reported by vintage only). The salvage costs represent the salvage value of each vintage at the end of the model horizon. I admit that the description of the salvage costs might be misleading and should perhaps be changed.
OK, that makes sense about the annual investment costs (Cost_Inv)...and about Cost_Salv.  Thank you...

But if these are actually annualized costs, then am I correct to assume that they occur in each year (technically, over the economic lifetime of the particular technology), and not just in the period years which are reported in VEDA-BE?  For instance, in Amit's example I think I can assume that the annual cost of the 2006 vintage technology in the years between 2015 and 2020 (i.e., each 2016, 2017, 2018, and 2019) is also 1069.01, correct?

So the question then becomes, how can I calculate *total* investment costs of a particular technology (i.e., sum of annualized costs) within VEDA-BE.  Antti mentioned that the new version also does lump sum investments - I'll check that out.  But otherwise, it seems that I would need to do some post-processing in Excel, for instance doing some interpolation between the period years that VEDA-BE reports.  This is fine, but I just wonder if there is a better way.

FYI, the reason I want to do this is because I want to estimate *total* cumulative investment costs (and for that matter O&M, etc.) over the entire model time horizon so that I can compare to total cumulative GDP for my region over the same time period, in order to get an estimate of energy system costs as a % share of GDP.

Cumulative costs are already reported in the form of objective function components (INV, FIX, VAR, ...).  These cumulative values are, however, of course cumulative present values.
Costs occurring at different times are, in general, not considered comparable as such, and thus cannot be directly summed together. Therefore, until now, nobody has seriously suggested that cumulative undiscounted costs should be reported as well.
Nonetheless, new reporting parameters can certainly be added into TIMES, even infinitely. If you can convince other users that undiscounted cumulative costs would be meaningful and useful, such can be added into the reporting facilities.
There is also the possibility to use the TIMES Cost-Bounding and User Constraint faclities for reporting cumulative costs. By specifying a REG_CUMCST lower bound of zero you could generate a variable representing the cumulative costs without imposing any effective bound (see e.g. TIMES-Cost-Bounding.pdf on the ETSAP site). Unfortunately, the value of the variable is currently not reported, but you would have to pick it up by yourself from the model results.  But the reporting of these variables could be easily added in the code. The cost-bounding facility supports cumulative investment and fixed costs only.
Cumulating costs is also possible via using specific UC_ATTR modifiers for non-binding user constraints (see e.g. TIMES-Cost-Bounding.pdf on the ETSAP site). Currently, however, only investment costs, activity costs and flow costs can be cumulated in this way (fixed O&M costs are not supported in UC constraints). 
So, there are some options available, but nothing that seems perfect for you.
In case you would like to test an experimental reporting routine for cumulative undiscounted costs, you could try using the attached file: rpt_ext.vda: uploads/30/
You can put this file into the VEDA working folder, and it will be automatically loaded by TIMES.
The cumulative undiscounted costs are then included in the reg_wobj reporting parameter, with the uc_n name UNDISC. The cumulated variable costs are, however, only approximate, but should normally be very close to the accurate ones (the approximation assumes constant variable costs within each period). An accurate cumulative calculation would require much more tedious calculation formulas without too much benefit. But the cumulative investment and fixed costs are accurate.
Using this test reporting file has one drawback: For the reporting to work, it defines an additional currency UNDISC, which leads to some performance overhead in the current TIMES code, but that will be fixed in the next version.

Attached Files
.zip (Size: 1.18 KB / Downloads: 8)

Thank you for spending some more time thinking about this issue.  I will try to test this routine fairly soon and get back to you about how it works, and what the performance overhead amounts to. 

Just one question first...exactly which working folder should I copy the file into? 
C:\VEDA\Veda_FE  ??
C:\VEDA\Veda_FE\Gams_srcTIMESv*** ??
etc. ??

By the way, one motivation for doing looking at undiscounted costs is because, I believe, the IEA often reports costs in undiscounted terms.  Then, they divide the cumulative costs up by the number of years to get an average annual investment (undiscounted).  Thus, to make some comparisons with them, I thought having at least the option of undiscounted costs could be useful.  Of course, our model is only for California however, so costs would be much smaller.

I meant the GAMS_WrkTIMES work folder under the VEDA_FE root folder, where the models are usually run. If you have several such working folders, just put it to all of them (if you want to use it always). It does work also from the GAMS_SrcTIMES folder, but I would not recommend "tampering" the TIMES distribution folder. Embarrassed
Hi Antti,

I tried running my model with the "rpt_ext.vda"file which you provided, and it seemed to work.  Now, there there a few more cost terms reported under the "Reg_wobj" parameter in VEDA-BE.  The new ones appear to be ACTC, FIXC, FLOC, INVC, and SALV.  I assume that the "C" means "Cumulative" and represents Cumulative UNDISCOUNTED costs

Am I correct to assume the following?...
 - ACTC refers to activity (i.e., the corresponding undiscounted term for variable costs, VAR and VARX, thus could have been written as VARC)
 - FIXC refers to cum. undisc. FIX O&M costs,
 - FLOC refers to other cum. undisc. flow costs (e.g., delivery),
 - INVC refers to cum. undisc. investment costs
 - SALV refers to cum. undisc. salvage costs,
 - ELS refers to any other types of costs (discounted) not in the above categories.

Why exactly are salvage costs negative?  They don't appear to be negative when reported as Cost_Salv.  And are the SALV costs UNDISCOUNTED? 
Sorry, I thought the acronyms were more or less identical to those in the VEDA-BE cost attributes, but not completely. Here, C does not mean cumulative undiscounted costs. The cumulative undiscounted costs are identified by the currency 'UNDISC', whereas the cumulative discounted costs have the actual currency used in the model. The categories for the cumulative undiscounted costs are the following:
  • INVC - Investment costs (including taxes and subsidies)
  • FIXC - Fixed O&M costs (including taxes and subsidies)
  • ACTC - Activity costs
  • FLOC - Flow costs (including taxes and subsidies)
  • COMC - Commodity costs (including taxes and subsidies)
  • COME - Elastic demand losses (when applicable)
  • IREC - Implied trade costs
  • SALV - Salvage value
ELS is not included in the undiscounted costs at all. It is the discounted equivalent of COME.
ACTC is quite different from VAR/VARX: ACT includes only the activity costs, whereas VAR includes all variable costs (activity, flow, and commodity costs).

I put the salvage value negative just for your convenience: Because it is negative, you can get the total undiscounted cumulative costs simply by directly summing up all the costs. In the same way, in the discounted costs the salvage value has already been subtracted from the investment costs (INV). If you don't like the salvage value appearing as negative, you can easily remove the minus sign by editing the file. And yes, the salvage value is also undiscounted.

Note that I provided this reporting as an experimental add-on for anyone that might be interested. I am not planning to include these in the next TIMES distribution, unless there will be a consensus that these would, in fact,  be useful in the common code.  In big models, the reporting already takes a long time, and therefore one must compare the benefits with the "additional reporting cost".  Should these be included in the common code, I would, of course, improve the labeling of the cost categories etc.

This is wonderful.  Thanks for going to the effort to add this useful reporting feature.  After your explanations, all of the cost terms now make sense.  One thing I found out is that my model currently does not report COMC, COME, or IREC - so I'm glad that you mentioned those three terms specifically.  I think the labeling of the cost categories is fine.  They all make sense.  It just took a little explaining.

One final note, I don't see any real performance disadvantages with this experimental add-on.  I mean, my model runs in about 9 minutes either way (on a laptop w/ dual processors).
Can I please get a quick confirmation on something?

Referring back to Amit's earlier example (and VBE screenshot above), am I correct to assume that the annualized costs (say, for "Cost_inv")  for each technology vintage are constant and occur in each year over the economic lifetime of the particular technology, and not just in the period years which are reported in VEDA-BE?  For instance, in Amit's example can I assume that the annual cost of the 2006 vintage technology in the years between 2015 and 2020 (i.e., each 2016, 2017, 2018, and 2019) is also 1069.01?  The alternative would be if the annualized costs shown for 2020 were actually an aggregate sum of the annualized costs in 2016, 2017, 2018, 2019, and 2020. 
Sure, annualized costs mean costs on an annual basis. The annualized investment costs include the impact of interest, either through the general discount rate or via a technology-specific hurdle rate. Often such annualized investment costs are called "annuities".

One can well assume that the annual costs are approximately (but not accurately) the same in every year of the period. Typically they are not constant in the period because the investment spreads have various shapes, and in any given year the annualized costs may include annual payments from the investments in several periods. But assuming constant costs within periods could be considered a reasonable approximation.
Simple ans: VAR_NCAP is the primal solution; *M is its marginal (dual) value.  

Forum Jump:

Users browsing this thread: 1 Guest(s)