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

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
capri:install [2011/10/05 04:24] wolfgangbcapri:install [2022/11/07 10:23] (current) – external edit 127.0.0.1
Line 1: Line 1:
-  +====== Installing CAPRI, software requirements and concept ======
-<HTML> +
-<div id="content"><!-- Start Inhalt -->+
  
 +===== Software concept =====
  
 +{{  :capri:softwareconcept.jpg?600|}}CAPRI is based wherever possible on free-ware software to reduce costs of using the modelling system. An important exception is the [[http://www.gams.com|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. GAMS.com 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.
  
-         <div class=rightwindow>+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 [[http://www.java.com/en/download/manual.jsp|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 [[capri:gui:gui|Graphical User Interface]] or by the [[https://www.capri-model.org/docs/batch.pdf|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 [[https://www.capri-model.org/docs/meta.pdf|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 [[https://www.capri-model.org/docs/TortoiseSVN-1.5.5-en.pdf|user manual]] of tortoiseSVN, the recommended tool for CAPRI users.
  
 +//Note://
  
 +The GUI of CAPRI also access the versioning system and allows:
  
-<H1>Installing CAPRI, software requirements and concept</H1>+  * Updating an existing CAPRI installation to the newest versions from the server 
 +  * Checking time stamp inconsistenciesusing the meta information comprised in the data sets 
 +  * And includes vesioning information about GAMS sources used in the HTML documentation of the GAMS code
  
 +===== Requirements =====
  
 +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 [[http://tortoisesvn.tigris.org/|Tortoise SVN]] client to communicate with the SVN server (freeware).
 +  * The [[http://www.java.com/en/download/manual.jsp|Java Run Time]], Version 6 or higher (freeware).
 +  * For those wanting to run CAPRI, [[http://www.gams.com|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.
  
-<H2>Software concept</H2>+===== 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 [[http://www.java.com/en/download/manual.jsp|Java Run Time]], Version 6 or higher.
 +  * For those wanting to run CAPRI, [[http://www.gams.com|GAMS]], version 22.6 or higher, along with a valid license file.
 +  * For those wanting to contribute code, the [[http://tortoisesvn.tigris.org/|Tortoise SVN]] client to communicate with the SVN server.
  
-<div style="float:right;padding:20px;"><href="/images/softwareConcept.jpg"><img style="text-decorationnone;border: nonesrc="/images/softwareConcept.jpg"/></a></P></div>+The first step in the installation of CAPRI after the necessary third party products are installed on the computer (see below) is so-called "checkout" (see e.g. the [[https://www.capri-model.org/docs/TortoiseSVN-1.5.5-en.pdf|user manual]] of Tortoise SVN). It generates the local copy of CAPRI on the computer of the userall 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 [[http://subversion.tigris.org/|SVN]], and the local client recommended is [[http://tortoisesvn.tigris.org/|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.
  
 +===== Acknowledgments =====
  
 +The CAPRI GUI is programmed based on the following software components:
  
 +  * The [[http://java.sun.com/|JAVA]] programming language
 +  * The [[http://svnkit.com/|SVNKIT]] library to assess the [[http://subversion.tigris.org/|SVN software versioning control system]] from the GUI
 +  * The [[http://www.jfree.org/jfreechart/|JFreeChart]] library to embed graphics in the exploitation tools
 +  * The [[http://www.gams.com|GDX API]] to access GAMS GDX files
 +  * The [[http://graphics.stanford.edu/papers/flow_map_layout/flow_map_layout.pdf|flow map API]] developped by Doantam Phan
 +  * The [[http://www.cs.waikato.ac.nz/ml/weka/|WEKA]] machine learning library
 +  * Some parts of the [[http://geotools.org/|geotools]] library for Shapefile processing
  
 +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.
  
-<P>CAPRI is based wherever possible on free-ware software to reduce 
- 
-costs of using the modelling system.  An important exception is the <A 
- 
-HREF="http://www.gams.com" target="_parent">GAMS</A> 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. 
- 
-GAMS.com 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.</P> 
- 
- 
- 
-<P>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 <A 
- 
-HREF="http://www.java.com/en/download/manual.jsp" target="_parent">Java 
- 
-Run Time Engine (JRE)</A>, Version 6 or higher.</P> 
- 
- 
- 
-<P>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 <A 
- 
-HREF="/dokuwiki/doku.php?id=capri:gui:gui">Graphical User Interface</A> or by the <A 
- 
-HREF="../docs/batch.pdf">batch execution facility</A> 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 <A HREF="../docs/meta.pdf">meta data</A> (when, how, by whom). 
- 
-The meta data allow e.g. to check if the outdated results are present in 
- 
-a CAPRI installation.</P> 
- 
- 
- 
-<H2>CAPRI is hosted in a software versioning system</H2> 
- 
- 
- 
-<P>Whereas early versions of CAPRI were distributed via FTP or CD, 
- 
-CAPRI is now based on a <B>software version system</B>. 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.</P> 
- 
- 
- 
-<P>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 <A 
- 
-HREF="../docs/TortoiseSVN-1.5.5-en.pdf">user manual</A> of tortoiseSVN, 
- 
-the recommended tool for CAPRI users.</P> 
- 
- 
- 
-<P><I>Note:</I></P> 
- 
-<P>The GUI of CAPRI also access the versioning system and allows:<P> 
- 
-<UL> 
- 
-<LI>Updating an existing CAPRI installation to the newest versions from the server</LI> 
- 
-<LI>Checking time stamp inconsistencies, using the meta information comprised in the data sets</LI> 
- 
-<LI>And includes vesioning information about GAMS sources used in the HTML documentation of the GAMS code</LI> 
- 
-</UL> 
- 
- 
- 
-<H2>Requirements</H2> 
- 
- 
- 
-<P>Before you start the installing CAPRI and using its Graphical User Interface, 
- 
-you should hence ensure that the <B>following software is installed on you computer</B></P> 
- 
-<UL> 
- 
-   <LI>The <A HREF="http://tortoisesvn.tigris.org/" target="_parent">Tortoise SVN</A> client to communicate with the SVN server (freeware).</LI> 
- 
-   <LI>The <A HREF="http://www.java.com/en/download/manual.jsp" target="_parent">Java Run Time</A>, Version 6 or higher (freeware).</LI> 
- 
-   <LI>For those wanting to run CAPRI, <A HREF="http://www.gams.com" target="_parent">GAMS</A>, 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). 
- 
-   </LI> 
- 
-</UL> 
- 
- 
- 
-<P>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.</P> 
- 
- 
- 
-<H2>Installation procedure</H2> 
- 
- 
- 
-<P>Before you start the installing CAPRI and using its Graphical User Interface, 
- 
-you should hence ensure that the <B>following software is installed on you computer</B></P> 
- 
-<UL> 
- 
-   <LI>The <A HREF="http://www.java.com/en/download/manual.jsp" target="_parent">Java Run Time</A>, Version 6 or higher.</LI> 
- 
-   <LI>For those wanting to run CAPRI, <A HREF="http://www.gams.com" target="_parent">GAMS</A>, version 22.6 or higher, along with a valid license file.</LI> 
- 
-   <LI>For those wanting to contribute code, the <A HREF="http://tortoisesvn.tigris.org/" target="_parent">Tortoise SVN</A> client to communicate with the SVN server.</LI> 
- 
-</UL> 
- 
- 
- 
-<P>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 <A HREF="../docs/TortoiseSVN-1.5.5-en.pdf">user 
- 
-manual</A> 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 <A 
- 
-HREF="http://subversion.tigris.org/">SVN</A>, and the local client 
- 
-recommended is <A HREF="http://tortoisesvn.tigris.org/" 
- 
-target="_parent">Tortoise SVN</A> 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.</P> 
- 
- 
- 
-<H2>Acknowledgments</H2> 
- 
- 
- 
-<P>The CAPRI GUI is programmed based on the following software components:</P> 
- 
- <UL> 
- 
-  <LI>The <A HREF="http://java.sun.com/" target="_parent">JAVA</A> programming language</LI> 
- 
-  <LI>The <A HREF="http://svnkit.com/">SVNKIT</A> library to assess the <A HREF="http://subversion.tigris.org/" target="_parent">SVN software 
- 
-versioning control system</A> from the GUI</LI> 
- 
- <LI>The <A HREF="http://www.jfree.org/jfreechart/" target="_parent">JFreeChart</A> library to embed graphics in the exploitation tools</LI> 
- 
- <LI>The <A HREF="http://www.gams.com" target="_parent">GDX API</A> to access GAMS GDX files</LI> 
- 
- <LI>The <A HREF="http://graphics.stanford.edu/papers/flow_map_layout/flow_map_layout.pdf">flow map API</A> developped by Doantam Phan</LI> 
- 
-<LI>The  <A HREF="http://www.cs.waikato.ac.nz/ml/weka/">WEKA</A> machine learning library</LI> 
- 
-<LI>Some parts of the <A HREF="http://geotools.org/">geotools</A> library for Shapefile processing</LI> 
- 
- </UL> 
- 
- 
- 
-<P>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.</P> 
- 
-         </div><!-- Ende RightWindow --> 
- 
-      </div><!-- Ende content --> 
-</HTML> 
  
   
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International