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

Veda Application Installation guide

Absolute values via UPD Tables

Although the original purpose of the UPD tag was to transform existing data values (in a rule-based manner), they can be very useful for introducing absolute values as well. The only difference with INS table in this case is that the scope of indexes is determined by what already exists. So you typically use this without specifying each and every index. In other words, absolute values in UPD tables work like a search and replace facility.

For example, consider a generic process used to model "other" demand or something, which has several inputs and one output. There are upper and lower shares declared for various input, in different years and different regions. Now, I want to run a scenario with all the lower shares relaxed (=0). I can simply make an update table with Attribute, Process and Limtype. No need to specify any commodity or commodity group.
But it is easy to forget that you are actually providing transformation instructions if positive and negative values are mixed in your specification. Here is an example of what entries in a UPD table would do:
  • +x will add x to the existing data values
  • x will replace existing data values with x
  • -x will subtract x from existing data values
AKanudia Wrote:
  • +x will add x to the existing data values
  • x will replace existing data values with x
  • -x will subtract x from existing data values
So, what should the user do if she wants to replace existing data values with negative values? As you know, negative values are quite meaningful for many TIMES attributes.
Is it at all possible?  Perhaps by using several UPD tables, the first of which updates to the absolute value, and the second multiplies by -1?  Does that work (it did work in earlier VEDA versions)?


I don't see any easy workaround; INS table is the only option. One way to make the task easier would be to browse the data you are looking to replace and use its exported form to construct the INS table.

You are right, earlier versions of VEDA did allow updated values to serve as seed values for subsequent updates within the same scenario. But this was stopped as it was spoiling a very basic overwriting facility that VEDA offers across all data specification tables - to specify a value with a coarse filter and then overwrite with different values with filters that are subsets of the first one. Examples:
  • One wants a scenario with one UPDate rule for all cars but a different one for ELC cars. I would first specify the rules for all cars and then overwrite it for ELC cars.
  • One wants to disable all LO ACTivity bounds on a particular set of processes after the base year. I would update with 0 without a year specification first and then do a *1 for year=<base year>.

To make this work, the basic principle we applied was that all UPDates should see the same seed value in one scenario.

Further, a related fact that deserves to be mentioned here - UPD tables do not take seed values from scenarios that are alphabetically superior to the current scenario. Even INS tables in the same scenario can provide seed values. Of course, UPD in TRADES scenarios will see BASE, all SubRES and DEMAND scenarios regardless of the name and all regular scenarios will see all TRADES scenarios in addition.

Forum Jump:

Users browsing this thread: 1 Guest(s)