images/capri_pic_01.jpg images/capri_pic_02.jpg images/capri_pic_03.jpg

Installing CAPRI, software requirements and concept

Software concept

CAPRI is based wherever possible on free-ware software to reduce costs of using the modelling system. An important exception is the GAMS modelling language. The methodology of CAPRI requires performing and stable software able to solve large-scale non-linear optimization problems, and GAMS offers interfaces to these so-called solvers. Additionally, GAMS is a language designed specifically to support eonomic modelling. Numeric values in the CAPRI production chain are produced entirely by a sequence of GAMS programs. That reduces learning costs, and allows applying uniform solutions to coding, data and meta data handling and code documentation. typically offers interested parties a time limited test license, so that researchers who take part in a CAPRI training session can run CAPRI during the session even without possessing their own license.

However, any results generated by the different work steps of CAPRI can be loaded and shown as tables, graphs and maps without the need to license third party software such as GAMS. Being written in Java, the CAPRI GUI requires a Java Run Time Engine (JRE), Version 6 or higher.

The different tasks in the work flow of CAPRI such as a simulation run are defined as objects with specific properties such as "base year", "simulation year" or "Member States included". These properties are set before starting such a task, either interactively by the Graphical User Interface or by the batch execution facility. The tasks are executed as GAMS programs. Each task generates a set of results, which can be accessed by other tasks or exploited by the user. The properties of the result set (file name and location, logical structure, symbol comprised ..) can be queried from the task. Each set of results comprises meta data (when, how, by whom). The meta data allow e.g. to check if the outdated results are present in a CAPRI installation.

CAPRI is hosted in a software versioning system

Whereas early versions of CAPRI were distributed via FTP or CD, CAPRI is now based on a software version system. The versioning system is especially important for the CAPRI coders who contribute as a distributed network to the maintenance and further development of CAPRI. But it offers also major benefits for those who are solely interesting in running simulations or even only exploiting results.

The versioning system is based on a central server repository and local working copies. The server keeps track of all changes in the code (the versioning). Each time a coder adds new or changed pieces of code to the server repository - a process called "commit" - the versioning number is increased. The old version of the changed pieces is kept, so that all these incremental changes can be tracked, and roll-backs are possible. The system also allows to develop in parallel different branches, or to "freeze" certain versions. The concept of the versioning system is well described in the user manual of tortoiseSVN, the recommended tool for CAPRI users.


The GUI of CAPRI also access the versioning system and allows:

  • Updating an existing CAPRI installation to the newest versions from the server
  • Checking time stamp inconsistencies, using the meta information comprised in the data sets
  • And includes vesioning information about GAMS sources used in the HTML documentation of the GAMS code


Before you start the installing CAPRI and using its Graphical User Interface, you should hence ensure that the following software is installed on you computer

  • The Tortoise SVN client to communicate with the SVN server (freeware).
  • The Java Run Time, Version 6 or higher (freeware).
  • For those wanting to run CAPRI, GAMS, version 22.6 or higher (commercial software, license required). The data base, baseline and results of existing scenarios can be analyzed without a GAMS licence).

CAPRI allows for some tailored downloads. If you install the full product with a checkout from the SVN server, you will require in the range of 5 GigaByte of free disk space to do so, and a fast internet access; installation on a file server is possible. Many user will at the beginning be mostly interested to explore existing scenarios to learn about the possibilities of the system, the CAPRI network therefore offfers the possibility to download the material from the last training session. It is recommended to have at least 1 GByte of RAM to run CAPRI. Very old computers or rather small netbooks (e.g. with ATOM processors) have proven to be of limited use for working with a large-scale modelling system such as CAPRI.

Installation procedure

Before you start the installing CAPRI and using its Graphical User Interface, you should hence ensure that the following software is installed on you computer

  • The Java Run Time, Version 6 or higher.
  • For those wanting to run CAPRI, GAMS, version 22.6 or higher, along with a valid license file.
  • For those wanting to contribute code, the Tortoise SVN client to communicate with the SVN server.

The first step in the installation of CAPRI after the necessary third party products are installed on the computer (see below) is a so-called "checkout" (see e.g. the user manual of Tortoise SVN). It generates the local copy of CAPRI on the computer of the user: all GAMS programs, input and result data and also the necessary files to start the GUI are copied from the versioning server to a local directory. In order to do so, you need a high-speed internet connection, about 6 Gbyte of free disk space, and the access details for the SVN-Server. Later, you can then keep your installation automatically synchronized to the server with "updates". Those contributing to the code development of CAPRI also "commit" their changes to the server. The software versioning system in use is SVN, and the local client recommended is Tortoise SVN. The client is seamlessly integrated in the windows explorer so that all basic operations can be executed with mouse clicks. The status for the directory and the files of the local copy is shown by icons, so that one sees already in the windows explorer any changes in the local copy since the last update.


The CAPRI GUI is programmed based on the following software components:

We would like to thank all who have contributed to these products. The GUI itself was developed by Wolfgang Britz, with contributions of Alexander Gocht. But its current format and functionally would not be possible without the feedback and contributions of the CAPRI network, and the experiences gained over decades by staff at ILR, Bonn, especially Hans-Josef Greuel and Andrea Zintl.

Last modified: 2011/10/05 06:24
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 3.0 Unported