Veda Documentation Readthedocs Io en Latest
Veda Documentation Readthedocs Io en Latest
Veda Documentation Readthedocs Io en Latest
0
Release 227.1.1
KanORS-EMR
1 Introduction 1
1.1 Philosophy and core principles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Veda lexicon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5 Licensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.6 Key enhancements over the legacy version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 Getting started 9
2.1 Hardware/software requirement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3 License activation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4 License deactivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.5 Setting up GAMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.6 Uninstallation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.7 Backup and Restore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.8 Updating . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4 Main Menu 27
5 Start Page 29
5.1 Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
6 Navigator 31
6.1 Scenario Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6.2 Quadrants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
6.3 Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
6.4 SYNC Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
7 Browse 35
8 Items detail 37
8.1 Basic Description of a TIMES Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
9 Items List 39
i
10 Run Manager 41
10.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
10.2 Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
10.3 DD and script files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
10.4 Modifying RUN files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
10.5 Case definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
10.6 Model run submission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
10.7 Managing output files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
11 Results 47
12 Reports 49
12.1 Core mechanics of Report creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
12.2 Viewing Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
12.3 Advanced features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
12.4 LMA gets a lot more out of Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
13 Model Info 59
13.1 TIMES Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
13.2 Veda Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
13.3 Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
14 Troubleshooting 65
14.1 Uninstalling Postgres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
14.2 Excel Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
14.3 Problem with Microsoft Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
14.4 Deadlock Detected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
15 Version History 73
15.1 2.005.1.2 [21Oct22] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
15.2 2.005.1.1 [11Oct22] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
15.3 2.004.1.1 [11Sep22] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
15.4 2.000.0.1 [24Jun22] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
15.5 1.253.1.1 [11Apr22] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
15.6 1.251.1.1 [05Mar22] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
15.7 1.248.1.1 [07Feb22] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
15.8 1.248.1.1 [05Feb22] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
15.9 1.247.1.3 [23Dec21] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
15.10 1.247 [15Dec21] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
15.11 1.244 [04Nov21] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
15.12 243 [25Oct21] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
15.13 242 [27Sep21] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
15.14 241 [25Sep21] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
15.15 239 [23Aug21] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
15.16 238 [07Aug21] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
15.17 237 [23Jul21] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
15.18 236 [17Jul21] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
15.19 234 [26Jun21] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
15.20 233 [07Jun21] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
15.21 231 [17Apr21] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
15.22 230 [31Mar21] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
15.23 227 [12Mar21] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
15.24 225 [05Mar21] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
15.25 219 [20Feb21] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
15.26 213 [25Jan21] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
ii
15.27 205 [06Jan21] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
15.28 202 [25Dec20] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
15.29 197 [12Dec20] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
15.30 196 [06Dec20] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
15.31 194 [02Dec20] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
15.32 189 [21Nov20] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
15.33 182 [07Nov20] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
15.34 178 [28Oct20] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
15.35 173 [20Oct20] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
15.36 172 [16Oct20] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
15.37 168 [10Oct20] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
15.38 161 [24Sep20] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
15.39 159 [19Sep20] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
15.40 155 [13Sep20] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
15.41 154 [08Sep20] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
15.42 152 [05Sep20] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
15.43 148 [29Aug20] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
15.44 145 [25Aug20] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
15.45 143 over 139 [22Aug20] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
16 Notes 87
16.1 Efficiency considerations in UPD tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
16.2 FILL tables should be handled with care . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
16.3 DINS - Direct Insert tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
16.4 Tags processing order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
iii
iv
CHAPTER
ONE
INTRODUCTION
VEDA means “Knowledge” in Sanskrit. It is a software tool to convert modeler’s knowledge into input for models, and
output from models into knowledge. Veda2.0 is a data handling system for The Integrated MARKAL-EFOM System
(TIMES) - a bottom-up optimization model for energy-environment systems. It uses C#.NET for UI and PostgreSQL as
the backend. Veda is based on a modular approach that organizes the model input data, and results, into an integrated
database. Information is visible via tabular browsing (data cubes) and network diagrams. It is used to develop and
manage model runs and to analyse model results.
Veda is a proprietary commercial software designed and developed by KanORS-EMR. It has been supported by ETSAP
since 2000. ETSAP contracting parties get a small group license for free, and others can purchase it from KanORS.
Access to technical support and updates is subject to an annual maintenance fee (20% of the intial cost), after the first
year.
• Most of the data used by energy modelers is already in spreadsheets, or it can get there easily. The interface
should be able to read formats that analysts find intuitive, rather than forcing them to enter information via a
separate UI.
• Assumptions should be expressed in the original form; data pre-processing should be minimal.
– Veda can read a wide variety of layouts - timeseries, regions in columns, attributes in columns etc., to
minimize structural pre-processing.
– Veda allows rule-based manipulation of parameters and set declarations, to minimize numerical pre-
processing. Massive amounts of data can be introduced or modified with very few instructions.
• System should be modular – easy to activate/deactivate/replace sectors or regions. Different analysts should be
able to work on different sectors or regions in parallel.
• Structures and data that is common across regions should be declared only once.
• Different layers of assumptions should coexist so that they can be activated/deactivated/permuted at run-time.
1
Veda 2.0, Release 227.1.1
Here are some keywords that have acquired their own special meanings over the last two decades.
• Templates: a template is normally defined as something that determines or serves as a pattern, a model. In the
VEDA world, this refers to all the Excel files that constitute a model.
• Template Folder: The folder that contains all these files is called the Template folder of the model.
• Scenario: the closest normal definition is an imagined or projected sequence of events, especially any of several
detailed plans or possibilities. This is perhaps the most sticky misnomer that MARKAL/TIMES modelers have
been living with. It is used with different meanings for model input and output. On the input side, this implies a
bunch of input data that can be given a name. Examples: all starting year data is normally called BASE scenario;
time series of CO2 Tax can be called CO2Tax scenario; assumptions on future capacity bounds on hydro and
wind can be called RenewablePotential Scenario. We choose a group of such scenarios and give it a Case or Run
name while submitting a run. When handling the solution with this case/run name, it is called a Scenario again.
Normally, this name represents the key assumptions that justified the run – CO2_tax_100, Hi_RE_potential, for
example.
• Transformation: normal definition is the operation of changing an expression into another in accordance with
a mathematical rule. Here, it is used as an adjective for tables that are used to create new data (or modify existing
data) in a rule-based manner.
• SubRES: this has no meaning normally; it is our original contribution to the English language! With the regular
meaning of RES – Reference Energy System, this refers to a part of the overall RES of the model. Generally, this
is a set of processes and commodities that can be included/excluded from the model without interrupting the core
flows. Sequestration would be a good example: all the processes and auxiliary commodities created to model
sequestration could be put in an independent SubRES so that they can be included/excluded in model runs freely
(at the time of submitting a run) without having to change any parameter values. These are commonly used to
define the new technologies for models.
• Base-Year: the first period of the modeling horizon. Since TIMES allows flexible period lengths, normally this
is a single year so that the values are annual rather than averages over several years.
• Super-Region: it is a user-defined label that maps to one or more model regions. The mapping is declared in the
SysSettings file. See the sheet “Region-Time Slices” of this file in the DemoS_005 model, for example; “REG”
maps to REG1 and REG2. Demo_Adv_Veda model has much richer use of this facility.
• Dummy Imports: to avoid infeasibilities arising from broken RES connections or too tight calibration bounds,
VEDA creates a dummy source for each NRG, MAT and DEM commodity that is defined in the model. The
basic idea is to have these sources supply at prices that are an order of magnitude higher than the normal prices
in the model, so that the source of the potential infeasibility can be easily located. One process is created for
each commodity type, and their operation cost can be controlled via the SysSettings file (or any other scenario
file).
• SYNC: Synchronize, is used for the operation one launches from the VEDA navigator, which reads the informa-
tion for various Excel files into databases.
2 Chapter 1. Introduction
Veda 2.0, Release 227.1.1
1.3 Architecture
All input data resides in Excel workbooks. XLSX/M format is recommended for Veda2.0. Modularity is one of the
core features of Veda. This is to make major reconfigurations possible and efficient. This also makes it easier for
multiple people to work on different parts of the model in parallel. This is achieved by segregating the input data into
the following sections:
• Core definitions of regions, timeslices, modeling years, and commodities
• Technologies with existing stock
• New technologies
• Demands
• Trades
• Additional parameter definitions for technologies and commodities
There can be multiple files for each type of data, apart from the first one - the core definitions. In each model folder,
these files are organized in the structure shown below.
1.3. Architecture 3
Veda 2.0, Release 227.1.1
1.4 Versions
Multiple users working on the same model on a server will be able to share the following:
• Model runs
– Runs from multiple users, even with the same name, will be usable in the Results module. “User”
will be a dimension in the data, like region, scenario etc.
• Input Data GDX
• Results views definitions
• Various groups and case definitions for Run Manager
Further, the JSON files in Appdata folder will also retain username information. So, users sharing model folders will
be able to use or filter out groups, cases and views created by other users.
4 Chapter 1. Introduction
Veda 2.0, Release 227.1.1
VEDA_BE and the Results functionality in Veda2.0 work well for interactive and production reporting. But there are
two limitations, removing which can make this a lot more powerful and flexible. First, the reporting variables are
trapped in tables – we don’t have direct control over them. Second, we cannot add dimensions to the output views – we
are limited to process and commodity sets in terms of segmenting the output beyond the native indexes like attribute,
region and time. Let’s take transportation final energy (in a rich model like the JRC_EU-TIMES) as an example:
I want to see energy consumption by scenario, region, fuel, mode, size, and technology. Scenario and region are
separate indexes, and fuel can be managed with commodity sets. But we have only process sets to deal with mode, size
and technology. The entirely new approach of custom reports uses an Excel template to define reporting variables in
a very efficient manner, and freely add dimensions based process/commodity names, regions and scenarios. Further,
it is possible to include exogenous data in this process. It can be used to include historical energy balances to show
historical trends in summary views, and to set up calibration checking views.
Licenses are priced as per institutions as well, like before. Academic version is accessible only to degree-granting
institutions.
1.5 Licensing
Veda is licensed via keys that need to be activated on each user account. A key can be activated multiple times,
depending on the license size. Users who use Veda on two machines (desktop/server and a portable computer) can get
activations added to their keys, on request. If Veda is installed on a server, license will need to be activated from each
user account that accesses Veda.
License administrators will get a link to a web page that shows all details of a key, including activation status on various
user accounts. Organization information, which will appear on maintenance invoices, can also be updated on this page.
Licenses can be moved from one user account to another by first deactivating on the old account (Tools - License
Information - Deactivate your license) and then activating on the new account.
Licenses are perpetual, but like GAMS, license keys will not support major versions that are released after expiry
of maintenance. Maintenance status of the license is displayed on the main form of Veda.
1.5. Licensing 5
Veda 2.0, Release 227.1.1
Normally, permanent licenses are issued after the payment is received. But users can request a permanent license once
the payment process is underway. Maintenance cycle will start from the day a permanent license is activated.
Broadly, there are two differences between the old and new versions of Veda:
1. VEDA_FE/BE were based on VB6/MSACCESS and Veda2.0 is on C#.NET/PostgreSQL.
2. Most of the features in old versions of FE/BE were built incrementally, over 20 years. All these features (and
many more), are a part of the fundamental design in Veda2.0.
• Various browse features, run manager, and even navigator, work very independently and can be used concurrently.
Multiple models can be used concurrently.
• A new Start page makes it easy to work with models, also with different branches on Git. There is a section that
pulls information from the Internet – to be used to display tips for users.
• All pivot grids have CSV export facility, which is very useful for creating input for visualization tools like Power
BI and Tableau.
• Unit conversion is more advanced.
• Possible to write GAMS instructions in different locations of the RUN file and top or bottom of DD files.
• Milestone years can be specified directly, instead of using period lengths.
6 Chapter 1. Introduction
Veda 2.0, Release 227.1.1
• All forms are extremely independent and allow very flexible layout changes. Users can continue using other
modules even when the DD files are being written or the model is synchronizing.
• Three to ten times faster synchronization, depending on the model structure and number of cores
available.
– Guidance provided for reducing the processing time further.
• DD writing is an order of magnitude faster and scales directly with number of cores.
• Smart filtering available throughout the application.
• All data is rendered in a pivot grid for browsing, like before, but the pivot tool is much improved.
– Handy charting facility available with all data views.
• Interdependence across scenario files (due to FILL/UPD/MIG tables) is tracked and reported.
• Column position of any tag, including FI_T and UC_T, is not important anymore, making it less error prone.
• Comprehensive documentation of all tags and columns supported by each.
• Set definitions are shared by input and results sections and it used to be difficult to keep things in sync. Now the
sets file is synchronized seamlessly by both functions.
• Powerful sets playground feature allows interactive viewing, editing and creating new sets, which are automati-
cally updated in the set definitions file.
• Open architecture: all user definitions like scenario groups, cases, results views etc are stored in (to be docu-
mented) json and CSV files. In principle, users can modify these files programmatically.
8 Chapter 1. Introduction
CHAPTER
TWO
GETTING STARTED
Veda2.0 works on Windows portables, desktops, servers, and VMs, with Windows 8/Windows server 2012 or above.
Microsoft Excel is a prerequisite. Hardware needed depends on the size and complexity of models, but here is a
configuration suitable for typical TIMES models under Veda2.0:
• CPU: Minimum 4 cores are recommended for STANDARD and ADVANCED licenses. 8 - 16 would be desirable
for larger models
• RAM: 4-8 GB is enough for Veda, but GAMS needs more RAM for larger models. 32 GB would accomodate
most models
• HDD: 500GB - 1TB free space for Veda and GAMS files
Veda accesses Internet for the following functions:
• Licensing
– Source: provided on request
• Displaying announcements on the Start page
– Source: https://veda-news.readthedocs.io/
• Updating TIMES source code from Github
– Source: https://api.github.com/repos/etsap-TIMES/TIMES_model/releases/latest
2.2 Installation
• It is recommended that the new user first takes a look at the video:
• There are two ways to go about it:
– Localhost: This just needs to be extracted
∗
∗
∗ Give full read and write permissions to the folder where it is extracted
∗ Port 65001 should be accessible to PostgreSQL
– Installer: This is a setup executable
∗
9
Veda 2.0, Release 227.1.1
∗ Create a folder where you wish to install and give it full read and write permissions
∗ Port 65000 should be accessible to PostgreSQL
Once setup, to start using VEDA2.0, the user is required to get licence. Launching Veda will present an Activation
screen:
If you have registered an evaluation version request on the ETSAP website, then you would already have a Trial license
key. If not, you can get one as shown here.
Demo video:
Note: If you are already using a trial license, you need to deactivate it before you can activate the permanent license.
Demo video:
• Step 4: Click on Scan QR Code and scan it from your mobile (with Internet)
• Step 5: You will get the computer key from the above step. Now fill it in Computer Key and press Activate
button
Please follow these steps to deactivate the license from user machine.
• Open the Veda2.0 application
• Select the License Information option under Help menu
Note: For version < 1.240.1.1 License Information option can be found under Tools menu.
• Click on Deactivate license key (You will find your license key in the Activation Key box)
• After that, you will get a confirmatory deactivation message as shown below
As part of registering VEDA2.0 a request is sent to the ETSAP Liaison Officer who will arrange for an evaluation
GAMS license file to be created, sending it to the new user along with the download and install procedures here:
1. Copy the GAMSLICE someplace on your computer
2. Head to http://www.gams.com/download/ and select the Windows download option for either Win-64/32, as
appropriate
3. Run Setup by clicking on it in Windows Explorer
a) Check “Use advanced installation mode” at the bottom of the GAMS Setup form
b) Let GAMS get installed into the default folder (GAMS<Win#><ver>
c) Check the Add GAMS directory to PATH environment variable
d) Have the GAMSLICE.TXT copied from wherever it currently resides
You may need to restart your computer to have the GAMS Path activated.
Once you have VEDA installed you can try a TIMES model run.
2.6 Uninstallation
• Installer version:
If you installed Veda 2.0 using installer, the process of uninstalling is very straight forward.
Steps:
– Go to Control panel
– Select Veda 2.0 and click uninstall
– Make sure that Postgres has also been removed. Usually the process of uninstallation also
removes Postgres from the computer
– Sometimes uninstallation ends prematurely (image below) and Postgres is not removed. In
such case, please go to Uninstalling Postgres for further instructions
• Localhost version:
– Launch the Veda2.0 version you are using
– In the main menu -> Model –> Stop server and exit
The Backup and Restore feature makes upgrading Veda much easier. You can back up the “state”, meaning, all models
that are synchronized, and all Cases that are imported in Veda. This is available starting version 230.
Steps:
• Backup
– Go to Model > Backup state
– Click “Restore” to synchronize all selected models and import all selected cases
2.8 Updating
The process of updating requires the user to uninstall the old version and install the new version of Veda2.0 manually.
Refer the following links for help:
• Backup and Restore
• Uninstallation
• Installation
2.8. Updating 19
Veda 2.0, Release 227.1.1
THREE
Note: Familiarity with the model database and Veda_FE/BE are necessary to migrate efficiently. I request users
to not delegate this task to new members of the team.
This is an incomplete list of things to keep in mind, or do, when migrating VEDA_FE models to Veda2.0
• First time you import a new model folder, you may need resolve two types of issues that were working OK
with old veda:
– Multiple Veda tables in the same Excel range
∗ Need to insert empty rows/cols around tables
– Duplicate column names
∗ Can append redundant info like ~ANNUAL or ~<baseyear> to differentiate columns. For ex-
ample, if an FI_T table has two columns called “Input”, then one of them can be named “In-
put~2010” (if 2010 is the base year).
• Veda_SnT to Excel migration.xlsm, which is in the new Veda folder, can be used to migrate sets and table
definitions from a VEDA_SnT.MDB file.
21
Veda 2.0, Release 227.1.1
• Sets-<Model name>.xls with sets declarations expected in model root folder, if user-defined sets are used
in any TFM table.
– There is a utility (Veda_SnT to Excel migration.xlsm) to export your current sets from a
Veda_SnT.MDB file, if you don’t already have them in Excel. This utility also exports VBE views.
• Column “other_indexes” to be renamed to UC_N in any INS/DINS tables used to declare UC names.
• Ignore characters are not supported in unsupported columns. Exceptions: Unit, End-Use, TechDesc,..
• IRE_FLOSUM: bug fix. other_indexes should hold commodity2
• Sheet names in SubRES files had to start with sector names. This restriction has been removed
– techs might appear in new regions unless controlled via AVA.
• “Deact~UC_T” was actually not respected earlier, but now it will be.
– The previous version searched for <tag>, and the new one looks for <tag>*
• Blank cells in header rows used to mark the end of tables. Now each table will be read as per the “current region”
of the table tag.
• Column position of FI_T/UC_T tags are not important anymore
– extra columns would appear from tables where FI_T/UC_T tags were misplaced
• No QC of process/commodity/UC names. <list of characters> used to be replaced with “_”.
– Now the DD files are always written with <’> around each element and all names are retained as in
their original form.
• The default year has been changed from the first milestone year to the start year. For example, if first
period was 2008-2012, the default year would be 2010 in the previous version and 2008 in Veda2.0.
– There is a new tag ~defaultyear: <year> to have direct control on this value. It defaults to start year.
• Table ~ImpSettings in SysSettings is no longer read. Dummy variables control is available under Tools – user
options.
• Veda2.0 does not provide any default costs for dummy imports. Very high default costs for dummy imports often
created numerical issues for solvers. Users should use appropriate costs for IMP*Z processes in SysSettings or
some other scenario file.
• Veda2.0 doesn’t refresh files while reading them
– Veda2.0 opens files as Excel objects to search for tags and to establish the range to be read for
each tag, and closes them without saving. Then they are read as XML via Exceldatareader in a
second pass. Multiple files are processed in parallel for searching as well as reading. This
approach has resulted in a major performance improvement and it is far more robust.
∗ Files are still refreshed and saved in cases where Veda writes to them – any scenario or trans
file with FILL tables and parametric scenarios.
– Old Veda makes temp copies of files before reading them, so they are refreshed if the calculation mode
is set to automatic. Each file is read in via an Excel object, which makes Excel practically unusable
during the entire Sync process.
• ~RFInput and ~SFInput were used to write GAMS code in RUN and scenario files, respectively. These
tags are not supported anymore. Instead, there are RFCmd* and SFCmd* attributes (See Information -
TIMES Attributes) for this purpose. Use Other_indexes col to write the commands, which will be sorted
by the values assigned to these attributes.
– If you have commas or single quotes in the commands, then use a DINS-AT table, with a dummy
PSET_PN col.
• FILL/FILL-R tables: If qualifying values exist in multiple scenarios, only ones from the “last scenario”, like
seed values for UPD/MIG tables, will be returned. VEDA_FE would return values from all scenarios. If multiple
scenarios are needed for some reason, then they can be declared (comma-separated) in “SourceScen” col.
• ~TFM* tags are expected to be on the top left of tables, but VEDA_FE used to read all columns in the range of
tags, even if they were to the left of the tag itself. Veda2 ignores cols to the left to avoid the duplicate columns
issue.
FOUR
MAIN MENU
• Model
– Add new: to add new model folder. (Better done via the Start page)
– Select: to select from models that have already been synced. (Better done via the Start page)
– Manage disc space: shows all models and the associated GDX/VD files.
– Stop server and Exit: to stop PosgreSQL server and exit (only in the localhost installation).
• Modules: to launch the main functions:
– Navigator (keyboard shortcut F6) - to see all Excel files that are included in the model.
– Browse (F7) - for a tabular view of the input data - across all Excel files.
– Items List - lists of all items - processes, commodities, commodity groups, and user constraints.
– Items Detail (F8) - to see topology and input parameters for items.
– Run Manager (F9) - to define and run cases.
– Results (F10) - to analyse model output.
• Information
– TIMES attribute: presents all the TIMES model generator attributes/parameters.
– VEDA tags: list of all VEDA tags by template (e.g.~FI_T).
– Model:
∗ Sync log: the synchronization log that is displayed at the end of the synchronization process.
∗ NSV candidates: scenarios that can be converted to “no seed value” scenarios, because they
don’t provide seed values to any other scenario.
∗ UD sets usage: usage of user-defined sets in different data files.
∗ Tag details: processing time by data table.
∗ Manage duplicates: displays duplicate declarations of processes and commodities across files.
• Tools
– User Options:
∗ Syncing options:
· Threads count: Number of cores used by Veda can be restricted. -1 will use all cores of
the machine during Synchronization and DD writing.
27
Veda 2.0, Release 227.1.1
· Dummy imports: Dummy imports will be created by default for the selected commodity
types. Dummy commodities can also be created for user constraints.
∗ Layout settings: To restore the saved layouts to default ones.
∗ GAMS Engine: To declare GAMS engine credentials.
– Update TIMES Code: to update the TIMES source code.
– Delete Log: to delete model log files.
– Convert XLS to XLSX/M: converting xls files into xlsx/m files.
– Jacobian Analysis: this option can be used to improve the scaling of models, showing all
equations (and variables) where the largest and smallest coefficients are different by more than
4 orders of magnitude.
∗ To do jacobian analysis for a particular case, solve it with “CONVERTD” as the Solver and
“CONVERTD” as the Solver option.
– Import GDX Files: to import data GDX files.
– Import VD Files: to import VD files.
– License information: to deactivate licenses or to change the license key (deactivate first).
– Sets
∗ Browser
∗ Editor: this is a very powerful functionality that also updates the set definitions in the Excel
file.
• Reports: available only in the advanced version.
– Select: to select one of the reports that have been created.
– Create: to create a new report.
FIVE
START PAGE
Once a model has been selected the StartPage will have the Module buttons and the Name of the current model displayed
at the top of the form.
29
Veda 2.0, Release 227.1.1
5.1 Components
• New list
Shows the list of model folders once the directory, containing the model folders, is added to it. By
default it has the ‘Veda_models’ directory added and will display the models that are in its root.
• Recent list
Shows the list of models that were synced or added in navigator.
• From the developers
This component displays the latest of updates regarding the development of Veda 2.0 software. It is
updated with every release of the software.
SIX
NAVIGATOR
Demo:
• The Navigator provides a comprehensive view of all the templates in the various folders managed by Veda for
the current model (youtube video).
• The Navigator is the main vehicle for accessing, importing, and coordinating the various templates that make up
a model.
• Its main screen is divided into sub-windows according to the various types of templates managed by Veda.
Templates used to set up the base-year (B-Y) structure of the model (existing commodities and current
processes stock, and the base-year end-use demand levels), according to the energy flows reflect the overall
energy balance. Thus the start year of the model can be calibrated to the energy balance according the B-Y
Templates. The B-Y templates are named as VT_<workbook name>_<sector>_<Version> (e.g.
VT_REG_PRI_V1, as seen in Figure 2). The number of B-Y templates and their names depend on both the
model structure (e.g., the number of regions and sectors) and the organisation of the input data (e.g., how
many regions and sectors in each file). The B-Y templates are introduced in DemoS_001.
o BY_Trans: are transformation files used to update the information included in the B-Y templates (update exist-
ing values for existing attributes) and/or to insert new information (insert new attributes for existing processes)
31
Veda 2.0, Release 227.1.1
in the B-Y templates. They work like a scenario file (described below), but the rule-based filters and the up-
date/insert changes apply only to those processes and commodities already existing in the B-Y templates. The
BY_Trans file is introduced in DemoS_009.
6.1.2 SysSettings
is used to declare the very basic structure of the model including regions, time slices, start year, etc. It also contains
some settings for the synchronization process and can include some additional information. There is only one such file;
it has a fixed name that stands for System Settings.
SubRES files are used to introduce new commodities and processes in the RES that are not part of the B-Y templates.
However, while the B-Y templates are region-specific, the SubRES are region independent. For each SubRES file there
is a corresponding transformation (Trans) file allowing the introduction of region-specific process attributes, including
the availability (or not) of processes in each region. To make changes to the SubRES_Trans-_<sector> files use the
Navigator to open the associated model subfolder and access the file via Window Explorer. The naming conventions
are: SubRES_<name> and SubRES_<name>_Trans.
Scenario files are used to update existing information and/or to insert new information in any part of the RES, including
B-Y templates, SubRES files, and Trade files (see below). They are also used to include any additional user constraints
in the model. The naming convention is: Scen_<scenario name>. These files can only manipulate (insert or update)
information associated with previously declared RES components. New commodities and processes may not be added
via Scenario files, only new attributes. Scenario files are introduced in DemoS_004 (Section 3.4.3). Several different
applications of scenario files are illustrated through the remainder of the DemoS.
Demand Templates Include all the information necessary to project end-use demands for energy services in each region,
such as macroeconomic drivers and sensitivity series. Multiple demand files may be used, to model different demand
growth scenarios for instance. The naming convention is: ScenDem_<scenario name>. This section of the Navigator
also contains a single file permitting assignment of a demand driver as well as a sensitivity (or elasticity) series each
end-use demand to its driver in each region: Dem_Alloc+Series. Demand files and tables are described in DemoS_010.
This section of the Navigator contains a file in which all unilateral and/or bilateral trade links between regions are de-
clared: ScenTrade__Trade_Links, and associate data provided when appropriate. The latter contains all of the attribute
specifications for the trade processes. Multiple trade files may be used, to model different trade scenarios or for different
commodities. The naming convention is: ScenTrade_<scenario name>. Trade files are introduced in DemoS_005.
32 Chapter 6. Navigator
Veda 2.0, Release 227.1.1
6.2 Quadrants
Template containing comprehensive information about the model’s basic structure (regions, sub-regions, time-periods,
time-slices, . . . ) SysSetting
Calibration templates for Base Year Base scenario [BS] – current technology mix BaseTrans – operations on the BS
templates
Repository for the depiction of future technologies SubRES [SR]
Three groups of flexible, “rule-based”, scenarios files: Regular Scenarios [RS] - files for data addition and updates
Demand Scenarios [DS] - projection module tied to economic indicators, fine-tuned with analyst insight Parametric
Scenarios [PS] - functionality designed to handle easily multiple runs and parametric analysis
Two new components are presented:
• Parametric scenarios – “programmed” multi-value suite of scenarios
• No Seed Values – the files that do not provide seed values to any other scenario. These are processed in parallel.
6.3 Functionality
• Navigator enables easy access to any of the Excel templates constituting the currently open model
• Double-clicking directly on any file name (or click the Excel icon next to it, in the case of the BY_Trans and
SysSettings files) will open that file in Excel
• Clicking on the folder button above each section of the Navigator will open the associated folder in Windows
Explorer
• Provides feedback as to the status of the various files and the integrated database managed by Veda
according to colour legend at the bottom of form
– Not imported – not yet read into the database
– Imported – selected for importing with next SYNC
– Consistent – templates that are in sync with the database
– InConsistent – file has been modified after the last SYNC operation
– ToRemove – missing template imported previously now flagged for removal from the database
– FileMissing – previously imported template that no longer exists in the template folder
– FileOpen – a template currently open, so can not be processed/imported
– Error – if a file has thrown an error
• The SYNCHRONIZE button will process all templates in the application folder marked as ToImport (orange)
6.2. Quadrants 33
Veda 2.0, Release 227.1.1
Synchronize imports all selected Excel workbooks into the Veda database
Right form traces the SYNC operation and the left reports the time needed for each step
After synchronizing a model you can return to the Navigator.
34 Chapter 6. Navigator
CHAPTER
SEVEN
BROWSE
Note: All data declaration for Veda models is done in Excel files. But to visualize models, one MUST use the interface
and NOT rely on Excel files. Excel should be used only for the initial and additional data specification. To check the
declarations or topology for any particular item, one must use Browse (or Items detail).
The Browser thereby enables the user to view subsets of the assembled data in a cube by selecting the scenario(s),
region(s), process(es), commodity(ies), and/or the attribute(s) of interest. It is possible to rearrange the layout of the
cube by adding/removing dimensions (columns and rows) to/from the table.
35
Veda 2.0, Release 227.1.1
36 Chapter 7. Browse
CHAPTER
EIGHT
ITEMS DETAIL
This shows the basic information, topology, and parameters for all items - processes, commodities, user constraints,
and commodity groups.
37
Veda 2.0, Release 227.1.1
NINE
ITEMS LIST
The Items List provides a look at all the data assembled from Templates Into the VEDA2.0 database by component
type: Process, Commodity, Commodity Group, User Constraint.
39
Veda 2.0, Release 227.1.1
TEN
RUN MANAGER
10.1 Overview
• The Run Manager is used to compose and submit model runs (YouTube video)
• Each model run is based on a Case definition comprising:
– Scenarios
– Regions
– Settings
– Properties
41
Veda 2.0, Release 227.1.1
10.2 Sections
Check BASE/SysSettings and the list of scenario to be included in a “cluster” that is then given a name for inclusion
later in a Case Definition for a model run.
10.2.2 Settings
To designate where the GAMS and TIMES files reside, in what folder the model is to be run, the Maximum number of
runs that are to be submitted in parallel, the Solver to be used and the Solver Options file to be employed.
10.2.4 Properties
10.2.5 Cases
List of Cases prepared identifying the Run name/Description, Scenario Group, list of regions, the Property specification
to be used, period definition and ending year, and date information.
• There are three different possible structures of the GAMS_Wrk.. folder and sub-folders based on the
following inputs:
– Max Runs =1
– Max Runs >1
– Parametric scenario case (irrespective of Max Runs)
There are new attributes to write TIMES switches or GAMS code at five different locations in the RUN file. Further,
these declarations can also be made at the top or bottom of scenario DD files (last two attributes in the table below).
The attributes are supported by regular INS/DINS tables, in any scenario file or in SysSettings.
Note: This also opens up some new possibilities. For example, you can run parametric scenarios where base prices
for elastic demands are picked up from different Reference cases.
Table 1: Example 1
~TFM_INS
Attribute Other_Indexes Value Comment
RFCmd_F $SET BENCOST YES 1 Written to FLAG section of RUN file
RFCmd_F $SET ANNCOST LEV 2
RFCmd_F $SET WAVER YES 3
RFCmd_G GAMS statement 1 1 Written GAMSOPT section
RFCmd_Glb GAMS statement 2 2 Written to Global parameters section
RFCmd_Glb GAMS statement 3 3
SFCmd_T $OFFEPS 1 Top of the scen DD file
SFCmd_B GAMS statement A 3 Bottom of the scen DD file
SFCmd_B GAMS statement B 4
If you want to use single quotes <’> or commas <,> in your instructions, then it is necessary to use a DINS table,
as shown below. DINS tables need process or commodity specification. You can use any valid process instead of
IMPNRGZ; it will have no impact on the outcome.
Table 2: Example 2
~TFM_DINS-AT
RFCmd_DD Other_Indexes pset_pn
3 set nr(all_reg); IMPNRGZ
4 nr(all_reg)=yes$(not r(all_reg)); IMPNRGZ
5 *– IMPNRGZ
6 *Python embedded code to remove invalid TU and TB IMPNRGZ
trade processes
7 set cb_p(r,p) all crossborder processes involved IMPNRGZ
8 *– IMPNRGZ
9 ; IMPNRGZ
10 cb_p(r,p)=yes$gr_genmap(r,p,’CrossBorderTrade’); IMPNRGZ
11 *– IMPNRGZ
12 embeddedCode Python: IMPNRGZ
13 ncb_p = [] IMPNRGZ
14 for r,p in gams.get(‘cb_p’): IMPNRGZ
15 *– IMPNRGZ
16 *– IMPNRGZ
17 *– IMPNRGZ
18 gams.set(‘ncb_p’,ncb_p) IMPNRGZ
19 endEmbeddedCode ncb_p IMPNRGZ
20 ACT_BND(R,T,P,S,’UP’)$ncb_p(r,p) = EPS; IMPNRGZ
• Create a New Case by providing the core information for the case definition (or copy an existing Case to
create a starting point)
– Case Name - name of the case
– Description - description of the case
– Scenario Group - scenarios to be included in this run
– Region Group - regions to be included in this run
– Parametric Group - driver scenario for a suite of runs
– Properties Group - what GAMS options/switch are to be employed
– Periods Definition - period definition for the run
– Ending Year - last period for the run
– Source TIMES - where does the TIMES code reside
– Solver - which solver is to be used
– Solver Options - which solver options to use
– GDX References - GDX files to be used for freezing periods, elastic demand base prices or IRE
bounds/prices
• Select one (or more) of the cases in the Managed Save Cases section and click SOLVE
• Solving a model opens a CMD window showing the GAMS solution log
Output files of large models can be as large as 1 GB per case. All the information is contained in <casename>.GDX
file, and txt files are created for transferring data to Veda databases, which are almost 3 times the size of the GDX files.
Starting in version 2.4.1.1, Veda offers efficient management of these files. Veda can create a zip archive with key files
like <casename>.GDX, <casename>~data_<datetime>.GDX, LST, QA_Check, and the TIME2Veda.VDD file from
the active GAMS_Src folder. These archives can be stored in a central location (across users and models) that is under
user control. Import VD file feature now creates temporary copies of VD files when these archives are selected for
import.
ELEVEN
RESULTS
Used to analyse TIMES model results. Results are all stored in the model folder (e.g. DemoS_012) and belongs to that
model
• Model VD files: model results (VD files) are included automatically in the model database at the end of a
successful run (e.g. VedaGAMS_WrkTIMESDemoS_012).
• Importing VD files from other models: to import model results from other models.
• Results browsing: to view (and refresh) model results through dynamic pivot tables (cubes)
• Table definition: user defined tables for a specific model
(<model folder>/AppData/ResultsView.json)
• Batch export: to export results in excel and CSV.
47
Veda 2.0, Release 227.1.1
TWELVE
REPORTS
The Advanced license of Veda2.0 offers a very powerful and efficient functionality to create reports. VEDA_BE and the
Results functionality in Veda2.0 work well for interactive and even production reporting. But there are two limitations,
which are removed in the Reports feature. First, the reporting variables are trapped in tables – we don’t have direct
control over them. Second, we cannot add dimensions to the output views – we are limited to process and commodity
sets in terms of segmenting the output beyond the native indexes like attribute, region and time. Let’s take transportation
final energy (in a rich model like the JRC_EU-TIMES) as an example: one may want to see energy consumption by
scenario, region, fuel, mode, size, and technology. Scenario and region are separate indexes, and fuel can be managed
with commodity sets. But we have only process sets to deal with mode, size and technology. The only way is to create
three sets of process sets, which have to be viewed separately. The entirely new approach of Reports uses an Excel
template to define reporting variables in a very efficient manner, and freely add dimensions based process/commodity
names, regions and scenarios. Further, it is possible to include exogenous data in this process, which can be used to
include historical energy balances to show historical trends in summary views, and to set up calibration checking views.
Population and GDP can be introduced to look at key output per-capita or per unit of GDP.
Note:
• Examples in this section are based on the JRC_EU-TIMES model. Readers can find more examples in the file
LMADefs-EU_TIMES.xlsm.
• Reports feature is active in Trial licenses.
– This feature has been activated in all licenses starting version 1.239.1.1 till 31 Dec 2021, so that all
users can test this feature.
• The Reports menu can be used to select scenarios, across models and users
• Reports are defined in an Excel file (like the Set definitions file)
• There are two basic types of instructions:
– Creating variables via combination of attribute, process, commodity, timeslice, and user constraint.
– Creating aggregations based on variable, process, commodity and region.
49
Veda 2.0, Release 227.1.1
Tag ~TS_Defs is used to create variables, listed under the column “Name” below. This supports the standard pro-
cess/commodity filter columns of Veda, along with Attribute, TS (Timeslice) and UC_N. “<Pset>” embedded in the
variable name creates a separate variable for each set listed in the PSET_SET column. This works for “<Cset>” and
“<CName>” as well.
To be embedded in a variable name, the process set should appear in a table ~PSet_Map. This has PSet | Desc |
LDesc as columns. Text in the Desc column replaces <PSet> in the variable name. For example, EProd_<PSet> with
PSet=ELECOA and Desc=Coal will translate into a variable EProd_Coal. LDesc column is not in use at this time.
Now we have variables by generation technology, but the technology name is embedded in the variable name, which
also has identfiers for the attribute. It would be better to have the technology name in a separate column. Further, one
may want to split these variables by ELE/CHP, which could be identified from the process name. Tags ~Varbl_map
and ~Process_map make this possible, as shown below.
In the first example for creating variables, the technology information was embedded in the variable name (via process
set). One can create coarser variables if the naming conventions allow extracting this information directly from process
names. We look at the transport sector reporting for this.
Note: Like in INS tables of Veda, subsequent declarations override the previous ones. For example, one may have
several different types of oil, named OILxyz. If one wants to track only Oil other, Diesel and Gasoline, then write OIL*
| Oil other; OILDST | Diesel; OILGSL | Gasoline, one below the other.
Veda2.0 has a basic report viewer, which is sufficient to validate the set up of reports and for simple visualizations.
Excel export and CSV dumps are possible, like in Results.
• By default process, commodity, and timeslice dimensions are aggregated while generating variables. TS_Defs
supports a column “show_me”, where one can indicate dimensions not to be aggregated. Dimensions are in-
dicated by their first characters. “pct” in this column will make process, commodity, and timeslice dimensions
survive.
• Sankey diagrams: Reports functionality can be used to prepare data for Sankey diagrams. See the report defini-
tions file in JRC_EU-TIMES for one way to do this.
• Unit conversion: ~UnitConv tag can be used to convert units. For example, EProd variables can have PJe as the
unit, which can be converted to Twh in the report.
• Including exogenous data
– Historical trends/calibration check
– Producing per/capita and per/GDP metrics
• Special attributes: some ratios are computed based on naming conventions of variables. These are
dynamic weighted averages.
– Utilization factors
– Efficiency (by DEM)
– CO2 intensity (by DEM)
Note: It is recommended that one uses “pc” in the “show_me” column when creating new variables, to check the
validity of variables and aggregations. Aggregating them makes the reports lighter, so it should be done when possible.
LMA (Last Mile Analytics) is a proprietary web-based data visualization platform, which can be used for many different
types of datasets, including results from TIMES models. At this point, LMA is hosted on a server in KanORS office
and users have to send VD files to KanORS (along with Report definitions file) to be uploaded. We are in the process
of deploying it in the cloud, and eventually users will be able to upload their reports directly from Veda2.0. Access to
LMA will not be included in the Advanced license; it will have to be arranged separately.
THIRTEEN
MODEL INFO
Model information section of the main menu contains quick reference for TIMES parameters and Veda tags. It also
has information about the current model.
• This is a comprehensive list of all TIMES parameters that can be used in Veda.
• For each index, like Timeslice and Currency, it shows the default values that are used for each parameter.
• For the selected attribute, the description from the TIMES manual is displayed at the bottom.
59
Veda 2.0, Release 227.1.1
This is the key resource for Veda syntax. For all supported tags, it shows the column names that are supported, their
alternate names, and the files they are supported in. It also shows the character that can be used in each of these columns
to ignore rows.
13.3 Model
13.3. Model 61
Veda 2.0, Release 227.1.1
13.3. Model 63
Veda 2.0, Release 227.1.1
FOURTEEN
TROUBLESHOOTING
Note:
• Make sure you have permission to uninstall programs from your computer. Contact your IT administrator if you
do not have permissions.
• In case your anti- virus is preventing you from uninstalling it. Stop or pause your anti- virus.
Steps:
• Stop\Delete “veda-db” service:
– Open Task manager
– Look for a service called “veda-db”.
65
Veda 2.0, Release 227.1.1
• After getting success message, you can go ahead and uninstall Postgres:
• If the pgsql folder in Veda2.0 directory is empty then it is safe to delete it.
• It is safe to delete the Veda2.0 directory as well, if it does not contain any user’s model folders.
Issue: Unable to cast COM object of type ‘Microsoft.Office.Interop.Excel.ApplicationClass’ to interface type ‘Mi-
crosoft.Office.Interop.Excel._Application’. This operation failed because the Query Interface call on the COM compo-
nent for the interface with IID ‘{000208D5-0000-0000-C000-000000000046}’ failed due to the following error: Error
loading type library/DLL. (Exception from HRESULT: 0x80029C4A (TYPE_E_CANTLOADLIBRARY)).
Solution 1: “Repair” Office Installation from the Add/Remove programs in Control Panel
• Right Click on Start Menu
• Click Apps and Features
• Search Microsoft Office (either Office 2007, Office 2010, Office 2013, Office 2016 or Office 365 and so
on. . . )
• Click Microsoft Office
• Click Modify
• Click Repair
14.2.2 The remote procedure call failed. (Exception from HRESULT: 0x800706BE)
Issue: Error in Syncing the model. The remote procedure call failed. (Exception from HRESULT: 0x800706BE).
Veda checks for a functioning version of Microsoft Excel in the user machine and upon not finding one, it can generate
following errors:
• Microsoft Excel is not installed/found:
Workaround: Go to Tools -> User Optons -> Syncing Options -> Set Threads Count to 1 and press update button.
After sync is completed, reset the Threads count to -1 or previous value.
Note: Do this only when you want to sync multiple SubRES files together
FIFTEEN
VERSION HISTORY
ALL VERSIONS
• Bugfix: Submitting runs to GAMS Engine works again
ALL VERSIONS
• New TIMES attribute NCAP_AFSX supported.
• Bugfix: Parallel processing of SubRES files used to create deadlocks.
• Sync performance enhancement (reimports).
ALL VERSIONS
• Upgrade to PostgreSQL version 13
• Retaining VD files is optional now. Details .
• License key activations accessible directly via Help - License operations menu.
• Several UI cleanups and enhancements.
ADVANCED VERSION
• Aggregation facility in Reports
73
Veda 2.0, Release 227.1.1
ALL VERSIONS
• Layout master functionality in pivot grids. See the new button to the left of Excel Export icon. This will
be particularly useful in Reports
• Some topology defaults have been changed to Input in the FI_T tag. See Information - Veda parameters for
details.
• “Copy <element>” option available on right-click in the index areas of pivot grid.
ADVANCED VERSION
• Ratios of variables can be computed
• Improved way to include exogenous data, like history or results from other models, in reports.
ALL VERSIONS
• PostgreSQL Server updated to 13 (from 10.20)
• ~TimeSlices table is supported in regular scenario files
• View name and units information is included when copying from pivot grid to clipboard
• Information - Veda tags has information on more tags
ADVANCED VERSION
• process and commodity map tables support all filters available in TFM tables (only name was avail-
able earlier)
• Significant improvement in Reports processing efficiency when working with a large number of scenarios
ALL VERSIONS
• PostgreSQL Server updated to 10.20 (from 10.16)
• Table master functionality has been added to Results and Reports
• Date/time stamp added to Excel export from Items lists
• Deleted items view improved and moved to Information - Model menu (from Tools)
• A group named all_<Parametric scenario name> is created automatically for each parametric scenario
• Items view - Commodity: Right-click on processes will point to the topology declaration
ALL VERSIONS
• [Bugfix] Items list view was not loading
ALL VERSIONS
• [Bugfix] GDXDiff records had stopped showing up in Browse after multiple tabs were allowed
• UC_ATTR is now displayed in the Browse data grid
• The following indexes are written in DD files without quoation marks: group, import_export, in_out, lim_type,
name, parent, peak_time_slice, side, sow, stage, time_slice, time_slice_level, time_slice2, year, year2
• Handling the case where UC names appear in multiple case formats (used to result in $172)
• Parameteric scenario group <Parscen name>_all is created automatically
• Topology check can be disabled in UC_T with “No” in top_check column
• ExRES can now be launched from pivot grid even when display type is different from “code only”
• Parameters deleted during Quality checks is reported in the Sync log and under Tools - Delete logs menu
ADVANCED VERSION
• New feature - ModelDiff in Browse module: Another model can be selected and differences with the
active model can be identified. It is like GDXDiff, but it works across models rather than cases. It
can be very useful to see differences by data file when merging different versions of a model.
ALL VERSIONS
• [Bugfix] Export functionality from pivot grids was not working on some machines.
ALL VERSIONS
• QA_Check log file will open automatically after the run if it reports “FATAL ERROR” or “INVALID PARAM-
ETER”.
• Option to Compact Database under Tools menu.
• Batch runs are launched in the order in which they appear in the list on Run Manager.
• [Bugfix] DD files are written for one case at a time when Max Runs < 2.
• When Restart Option is active in Run Manager, Region and period selections are dumped in a file <case-
name>_input_data.JSON.
ADVANCED VERSION
• Reporting: WAttribute col in TS_Defs table can be used to compute dynamic weighted averages. See
example in Veda Adv Demo.
ALL VERSIONS
• Menu layout enhanced for convenience in Results module.
ALL VERSIONS
• [Bugfix] User-defined sets were not available for processing if only BY_Trans was synchronized.
• Several UI enhancements.
ADVANCED VERSION
• Reporting: timeslice_map (like process_map and commodity_map) can be used create timeslice aggrega-
tions. For example, months and hours can be different dimensions.
ALL VERSIONS
• [BugFix] related to lower case in Super-region name; introduced in version 241.
ALL VERSIONS
• Any Base/SubRES import triggers Demand processing.
• Runmanager: Scenario group refresh button appears on reordering cases (it used to appear only when on change
of selections).
• [Bugfix] Group delete in Case Manager.
• Possible to import VD files without VDE/S/T (via Tools menu).
• Control on sort order of views in Results and Reports.
• Added search in all dropdown lists.
• “Help” tab added in Veda menu.
• User-defined CG will be usable in the commodity columns of Veda tables.
• Process and commodity filters can be used in table tags. For example, ~TFM_INS: CSET_SET=DEM.
• TSLVL and SIDE forced to be upper case.
• UC_ATTR displayed under Items Detail of UC; also on mouseover (along with description) in Browse.
ACADEMIC/STANDARD/ADVANCED
• BrowseForm: multiple pivot tabs can be opened, like in Results. Use the “Add Pivot” button.
ADVANCED VERSION
• Several enhancements in Reports processing.
ALL VERSIONS
• Reports functionality will be available under all license types till 31 Dec 21.
• If a run fails for any reason, then the contents of command window will be displayed in a text file automatically.
• Leading and trailing spaces will be removed each cell at the time of reading from Excel.
• Excel export format improved.
• Reporting of duplicate declarations improved (Information >> Model >> Manage Duplicates)
ALL VERSIONS
• Items detail view uses colors to indicate set membership and an icon to identify the PCG
• Mouseover in pivot grids displays numbers with full precision
ADVANCED VERSION
• Reports section has been added in Veda documentation
• TS_Defs tag supports fields “show_me” and “discard” to give more control over aggregations
ALL VERSIONS
• Debug: Batch sync had stopped working in the previous version
ADVANCED VERSION
• Major efficiency improvement in reports processing
• Additional dimensions don’t need the source dimensions in “group by” anymore
ALL VERSIONS
• Debug: it was not possible to drag a case to the first position in Run Manager
• Debug: unselecting SubRES was throwing an error during DD writing in some cases
• Debug: Excel export from pivot grid was rounding numbers to two decimals
• MaxRuns will apply to parametric scenarios as well
• Localhost version uses port 65001 - will be easier to work on machines that have a non-Veda PostgreSQL instal-
lation
• Date modified (instead of created) shown on VD file import form
• GAMS engine credentials can be declared under user options
ADVANCED VERSION
• perCapita and perGDP reporting
ALL VERSIONS
• Several UI updates
• A button on the top of pivot grids (in the center) to make pivot grids full screen on all forms where they appear
• Absolute negative values can be declared prefixed with “~” in UPD/MIG tables.
– Use case: ACT_BND FX can have ~-1 in the Interpolation options MIG table in SysSettings
• Commodities selected for Browse will be searched in all commodity and commodity_group fields
ADVANCED VERSION
• Report browser enhancements
ALL VERSIONS
• Several UI updates; smoother loading of Navigator
• Smart filter box color changed to dull orange - throughout the application
• Excel export formatting improvement
• GDXDiff imports files when Diff is requested and works much faster
– No need to import GDX files via Tools menu
• Added support for the following TIMES attributes: ACT_FLO, CM_GHGMAP, NCAP_BPME, NCAP_CDME,
NCAP_CEH, NCAP_CLAG, NCAP_ISPCT, RCAP_BLK
ADVANCED VERSION
• Report creation process smoother
ALL VERSIONS
• Several UI updates on Start page and run mananger
• Bulk CSV export faster
• Debug: GAMS instructions were not being written to RUN and DD files
• More layout changes are being saved in Appdata folder
• Item Details in context menu along with ExRes
• Parametric scenarios not imported in batch sync
• Application reopens the modules that were open at the time of closing
• Any GDX file can be used in reference section (only those produced on the current machine were usable earlier)
• Tools menu - option added to open the folder with application error logs
ADVANCED VERSION
• Major update in default layout of Reports
ALL VERSIONS
• In pivot grids, elements are displayed for dimensions that are in the aggregated section, and have single items.
• Batch SYNC option available on Start page
• Backup and Restore state options added in Model menu
• Default layout settings enhanced (further) for pivot grids in all modules
ALL VERSIONS
• Default layout settings enhanced for pivot grids in all modules
• Layouts can be saved with names in Browse
ALL VERSIONS
• Automatic import of data GDX discontinued
• Dbl-click on data values inserted by Veda shows appropriate messages
• Veda checks for a healthy version of Excel on the machine
• Windows alert sound while reading Excel files suppressed
• Default layout improved in all pivot grids
ALL VERSIONS
• License and maintenance status reflect on the main form
• Application version displayed on bottom right of the screen (not on the title of main form anymore)
• localhost version should work on some machines where it did not
• Results: View names QC for characters that are not permissible as Excel sheet names
• Results: Close all button added
• Results: views can be exported to CSV without loading into pivot grids
• several enhancements on GDX reference forms (Run manager)
• Debug: “too many clients” error when writing a large number of DD files (DD writing more efficient)
• Debug: sub-totals were appearing after some pivoting operations
ACADEMIC/STANDARD/ADVANCED
• Scenario groups (from Run manager) available to filter scenarios in Browse (like process/commodity sets)
• Bugfix: user-defined sets, as set specification for other set, were not working in the new sets editor functionality.
• Bugfix: BRATIO under properties in Run manager was an integer field; it is now text so that it can be left blank.
• Browse enhancement: “Select in list” option on right-click in pivot grid, to select items in the filter lists.
• ExRes: layout and filters are saved.
• Pop-ups from the auxiliary EXEs, after run completion, have been suppressed.
• Attribute RFCmd_bot added to introduce GAMS commands at the bottom of RUN files
• Element descriptions on mouseover in Results pivot grids
• Bugfix: using ENDYEAR with the new ~Milestoneyears tag was producing a “0” in list of periods
• Bugfix: resolved duplication in commodity-only attributes from SubRES
• Results - update Excel
• All SET COM entries appear in BASE.DD
• Adding windows info in error log
• Results will automatically read Sets definition file (on launch) if it has been modified
• Veda_SnT to Excel migration.xlsm handles possible duplication in Setrules table of Veda_SnT.MDB
• NSV candidates reporting improved; Open File button added
• Arrow keys supported in PivotGrid
• New feature: Tools - Sync AppData folder, to import/export results table definitions, scenario groups and cases
from other users.
• New feature: Direct specification of MILESTONEYEARS via new tags ~MileStoneYears and ~EndYear (op-
tional), in SysSettings.
• Bugfix: Results - batch export Excel file was locked in some cases.
• Bugfix: Sync froze if SysSettings did not generate any records.
• GAMS output had stopped appearing in CMD window for GAMS version 32+.
• Handled the case where Sets col is blank in FI_Process/Comm tables. Defaults PRE/NRG apply.
• UPD, MIG and FILL tags can handle complex operands now (*-1, *0,25, for example)
• Bugfix: all but BY templates turned “not imported” after renaming scenario files.
• Licensing included.
• Veda_SnT to Excel migration.xlsm updated.
• Start page now includes Recent and New models, and Veda News (pulled from the Internet).
• Dummy commodities for UCs can be used in CSET_CN col of TFM tables.
• GDX and VD manual import - Default folder location from Model settings.
• TFM_DINS tables support UC_N col.
• TS_filter col supported in TFM_INS-TS.
• Multiple result views are exported on different sheets of a single Excel file.
• No empty cells in Row header section of Excel export.
• Bugfix: Process column was not showing the right values in AttributeMaster.
• “Add new” button added in “Model” menu.
• Delete for saved layouts of Results added on UserOptions form.
• Results: Tool tip on scenario list: Date | VD file path | Model | User | Study.
• Results: Unsaved tabs named with time stamp.
• Bugfix: GAMS root settings were not being saved in some cases.
• UI refinements in Run Manager, Navigator and Attributes master.
• Known bug: Add dimension combo on Browse gets duplicate entries.
• Combos for scenario groups on run manager, and on case definition form, now work as a filter box.
• Multiple cases can be edited together.
• Close button added on Sync feedback form.
• Dependency check form debugged.
• Attribute master revamped.
• bugfix: Trade processes with multiple commodity types were getting multiple PCGs. Now they are assigned in
the following priority order: DEM - MAT - NRG - ENV - FIN.
• Performance improvement in AVA-C processing.
• Sets browser introduced under Tools menu.
• Model tags details enhanced (under Information - Model menu).
• TFM_AVA-C supported
• User-defined CG recognized as valid commodity names by Veda (no implications on DD files)
• UI enhancement in Results
• Indication when sets selected in results tables have common elements
• <Model>Appdatafolder has priority over the Resource folder for solver options files
• bugfix: * as the first character in PSET_PN was ignoring rows in TFM_PSET; it applies only to SetName col.
• Several UI improvements
• Configuration of the dimension lists in Results section is saved
SIXTEEN
NOTES
Note: Veda2.0 reports the processing time of each tag under Information > Model > Tag details. This note can help
you reduce the time taken by UPD tables.
But very long UPD tables can be very slow to process, even if each row doesn’t affect a lot of records. The table
shown below took 4 minutes to process on a very fast machine. The function of this table is to apply factors to demand
projection, by year and sub-sector.
87
Veda 2.0, Release 227.1.1
You can get the seed values via a FILL-R table, and prepare a DINS (or even INS) table with transformed values. The
table shown below will write COM_PROJ values for qualifying demands on a sheet “Demandupdate”.
The table above, combined with the multipliers (in last column below), can be used to set up the DINS table shown
below.
The combination of FILL-R and DINS takes a fraction of the time that the original UPD took.
Note: FILL tables provide a lot of control, but can create surprises in the long run, if data source is not controlled
properly.
This note is triggered by the following incident: A model used a FILL table to pull heating demands, to create user
constraints restricting district heat. The scenario was not controlled (SourceScen col), but there was only one scenario
with this information when this table was set up. Later, an experimental demand scenario was created, which was
actually not used in any of the cases. But based on the scenario hierarchy, the FILL table started pulling records from
this experimental scenario.
FILL tables are typically used to pull calibration year information or reference projections, like characteristics of ex-
isting technology stock or demand projections. The source scenario should always be specified to avoid surprises like
the one described above. Further, FILL tables slow down the Sync process, and also modify the host files each time
they are processed, which can be awkward for version control systems. If the information contained in the FILL tables
is relatively stable, I would consider deactivating them till the source information is updated.
Note: DINS tables are designed for adding large chunks of data, when it is fully enumerated.
XX RFInput
S.No Attribute Text
1 RFSwitch *GG* Set LevelizedCost/OBJ Method/Cost_NPV
switches
2 RFSwitch $SET ANNCOST LEV
3 RFSwitch $SET OBJ AUTO
4 RFSwitch $SET OBLONG YES
5 RFSwitch $SET MID_YEAR YES
6 RFSwitch $SET RPT_OPT NCAP.1 -1
7 RFCmd *GG* Invest $/HR split & UC/PRC_MARK marginals
to VBE
8 RFCmd RPT_OPT(‘OBJ’,’1’) = 1;
9 RFCmd RPT_OPT(‘COMPRD’,’4’) = 1;
~TFM_DINS-AT
Pset_PN RFCmd_FLAGS RFCmd_GAMS Other_Indexes
IMPNRGZ 1 *GG* Set LevelizedCost/OBJ
Method/Cost_NPV switches
IMPNRGZ 2 $SET ANNCOST LEV
IMPNRGZ 3 $SET OBJ AUTO
IMPNRGZ 4 $SET OBLONG YES
IMPNRGZ 5 $SET MID_YEAR YES
IMPNRGZ 6 $SET RPT_OPT NCAP.1 -1
IMPNRGZ 7 *GG* Invest $/HR split & UC/PRC_MARK
marginals to VBE
IMPNRGZ 8 RPT_OPT(‘OBJ’,’1’) = 1;
IMPNRGZ 9 RPT_OPT(‘COMPRD’,’4’) = 1;
Note: Here is the order in which files and tags are processed in Veda2.0. || indicates that multiple files/tables are
processed on parallel threads.
All files selected for synchronization are scanned for Veda tags, in parallel, and all identified tags are read as
tables into PostgreSQL. Tags are processed in the following order:
• || FI_process and FI_commodity (all BY and SubRES)
• || FI_T (all BY and SubRES)
• COMEMI, PRCCOMEMI, and COMMAGG
• AVA
• Trade links
• COMGRP
• TOPDINS and TOPINS
• BY Trans (works with processes defined in BY workbooks and commodities defined in SysSettings
+ BY)
– || DINS
– INS
– UPD
– MIG
• || SubRES trans (works with processes defined in own SubRES and commodities defined in
SysSettings + BY + own SubRES)
– || DINS
– INS/UPD/MIG
• Demands
• Trade scenarios
– || DINS
– INS/UPD/MIG
• Regular Scenarios
– || DINS
– INS/UPD/MIG
• || NSV scenarios
– || DINS
– INS/UPD/MIG
• || Parametric scenarios
– || DINS
– INS/UPD/MIG
• || UC_T
• SysSettings
– || DINS
– INS/UPD/MIG
SEVENTEEN
17.1.1 Interpretation
The words of which the initial letter is capitalized have meanings defined under the following conditions. The following
definitions shall have the same meaning regardless of whether they appear in singular or in plural.
17.1.2 Definitions
95
Veda 2.0, Release 227.1.1
• You means the individual accessing or using the Service, or the company, or other legal entity on behalf of which
such individual is accessing or using the Service, as applicable.
Personal Data
While using Our Service, We may ask You to provide Us with certain personally identifiable information that can be
used to contact or identify You. Personally identifiable information may include, but is not limited to:
• Email address
• First name and last name
• Phone number
• Address, State, Province, ZIP/Postal code, City
The Company may use Personal Data for the following purposes:
• To provide and maintain our Service, including to monitor the usage of our Service.
• To manage Your Account: to manage Your registration as a user of the Service. The Personal Data You provide
can give You access to different functionalities of the Service that are available to You as a registered user.
• For the performance of a contract: the development, compliance and undertaking of the purchase contract for
the products, items or services You have purchased or of any other contract with Us through the Service.
• To contact You: To contact You by email, telephone calls, SMS, or other equivalent forms of electronic com-
munication, such as a mobile application’s push notifications regarding updates or informative communications
related to the functionalities, products or contracted services, including the security updates, when necessary or
reasonable for their implementation.
• To provide You with news, special offers and general information about other goods, services and events which
we offer that are similar to those that you have already purchased or enquired about unless You have opted not
to receive such information.
• To manage Your requests: To attend and manage Your requests to Us.
• For business transfers: We may use Your information to evaluate or conduct a merger, divestiture, restructuring,
reorganization, dissolution, or other sale or transfer of some or all of Our assets, whether as a going concern or
as part of bankruptcy, liquidation, or similar proceeding, in which Personal Data held by Us about our Service
users is among the assets transferred.
We may share Your personal information in the following situations:
• With Service Providers: We may share Your personal information with Service Providers to monitor and ana-
lyze the use of our Service, to contact You.
• For business transfers: We may share or transfer Your personal information in connection with, or during
negotiations of, any merger, sale of Company assets, financing, or acquisition of all or a portion of Our business
to another company.
• With Affiliates: We may share Your information with Our affiliates, in which case we will require those affiliates
to honor this Privacy Policy. Affiliates include Our parent company and any other subsidiaries, joint venture
partners or other companies that We control or that are under common control with Us.
• With business partners: We may share Your information with Our business partners to offer You certain prod-
ucts, services or promotions.
• With Your consent: We may disclose Your personal information for any other purpose with Your consent.
The Company will retain Your Personal Data only for as long as is necessary for the purposes set out in this Privacy
Policy. We will retain and use Your Personal Data to the extent necessary to comply with our legal obligations (for
example, if we are required to retain your data to comply with applicable laws), resolve disputes, and enforce our legal
agreements and policies.
The Company will also retain Usage Data for internal analysis purposes. Usage Data is generally retained for a shorter
period of time, except when this data is used to strengthen the security or to improve the functionality of Our Service,
or We are legally obligated to retain this data for longer time periods.
Your information, including Personal Data, is processed at the Company’s operating offices and on cloud servers used
by the company. It will not be transferred to any other party for processing.
Business Transactions
If the Company is involved in a merger, acquisition or asset sale, Your Personal Data may be transferred. We will
provide notice before Your Personal Data is transferred and becomes subject to a different Privacy Policy.
Law enforcement
Under certain circumstances, the Company may be required to disclose Your Personal Data if required to do so by law
or in response to valid requests by public authorities (e.g. a court or a government agency).
The Company may disclose Your Personal Data in the good faith belief that such action is necessary to:
• Comply with a legal obligation
• Protect and defend the rights or property of the Company
• Prevent or investigate possible wrongdoing in connection with the Service
• Protect the personal safety of Users of the Service or the public
• Protect against legal liability
The security of Your Personal Data is important to Us, but remember that no method of transmission over the Internet,
or method of electronic storage is 100% secure. While We strive to use commercially acceptable means to protect Your
Personal Data, We cannot guarantee its absolute security.
Our Service does not address anyone under the age of 13. We do not knowingly collect personally identifiable informa-
tion from anyone under the age of 13. If You are a parent or guardian and You are aware that Your child has provided Us
with Personal Data, please contact Us. If We become aware that We have collected Personal Data from anyone under
the age of 13 without verification of parental consent, We take steps to remove that information from Our servers.
If We need to rely on consent as a legal basis for processing Your information and Your country requires consent from
a parent, We may require Your parent’s consent before We collect and use that information.
We may update Our Privacy Policy from time to time. We will notify You of any changes by posting the new Privacy
Policy on this page.
We will let You know via email and/or a prominent notice on Our Service, prior to the change becoming effective and
update the “Last updated” date at the top of this Privacy Policy.
You are advised to review this Privacy Policy periodically for any changes. Changes to this Privacy Policy are effective
when they are posted on this page.
17.5 Contact Us
EIGHTEEN
• genindex
• modindex
• search
99