Install the TELEMAC system
It is possible to install the TELEMAC system in one go with subversion by checking out the meta project systel90-meta. This will pull from the server the full dependencies for ESTEL-3D and ESTEL-2D. This article describes how to download, configure and compile a full installation of the TELEMAC system for ESTEL.
Downloading the TELEMAC system
To download the code, it is recommended to use "subversion" and the meta project systel90-meta. From now on, we assume that the user wants to install the TELEMAC system into the systel90
folder located at /path/to/systel90/
. The command to use is:
$ svn checkout http://source.ggy.bris.ac.uk/subversion/systel90-meta systel90
This will create a systel90 folder containing all necessary source files for the TELEMAC system. The typical folder tree obtained after downloading is shown at the bottom of this page.
Configuration
Before being able to compile the TELEMAC system, a few configuration steps are necessary.
Paths
The executable files for the TELEMAC systel are located in the bin/
directory of the TELEMAC tree. The directory needs to be added to the PATH
variable of the user. Moreover, the TELEMAC launching scripts require the current directory (./
) to be in the PATH
as well. A typical entry in a user login file (for instance .bashrc
) would be:
PATH=./:/path/to/systel90/bin:$PATH
export PATH
systel.ini
The folder config-template
contains an example configuration file. By default, the TELEMAC system looks for configuration files in the config
directory of the systel90
tree. To get started, one can simply rename config-template/
to config/
:
$ mv config-template config
Then, the file systel.ini
in /path/to/systel90/config
needs editing. This files contains a number of sections.
The [GENERAL] section starts with the default language and version number for each modules in the TELEMAC system. This consists of a long list of LNGcode
(use for the default language) and VERScode
(used for the version) lines. By default, this file is setup for the English language (value2, French is value 1) and version "v5p7". For instance, for ESTEL-3D, the entries are:
#---ESTEL3D
LNGESTEL3=2
VERSESTEL3=v5p7
This section finish with the location of the systel90
tree (variable PROJECT
)and the type of machine (variable HOSTTYPE
). If the systel90
tree is installed in /path/to/systel90
, then the PROJECT
variable should be set /path/to/systel90. There is no predefined value to enter for the HOSTTYPE
variable but it is usual to use a string which can be used to identify a combination of the type computer, the operating system and the Fortran compiler. For instance, if the machine is a 32-bit Linux machine (x86) using the Portland Group compiler, one could use "linux-x86-pgf90". For a 64-bit machine (x86_64) using the Intel Fortran compiler, one could use "linux-x86_64-ifort". These values are used at a later stage to recognise which compiler option and which pre-compiled versions of the libraries to use at runtime.
the [PERL] section is used to give the location of the perl executable (PERLPATH
) and the perl library (PERL5LIB
). On a typical Linux system,
$ which perl
/usr/bin/perl
$ ls /usr/lib/perl*
5.8.5 5.8.6 5.8.7 5.8.8
Therefore, on this system, the [PERL] section would be:
[PERL]
PERLPATH=/usr/bin
PERL5LIB=/usr/lib/perl5/5.8.8
cfgmak.mak
When the configuration of systel.ini
is done, one must create a configuration file for the compilation. This is done automatically when issuing the command:
$ cfgmak
This will create a file called cfgmak.mak
in the same directory. cfgmak.mak
should not be edited manually, any configuration change should be done in systel.ini
and the command cfgmak
will update cfgmak.mak
accordingly.
Multiple configuration
It is also possible to make use of several config directories, for instance to swap between default versions. This is done by pointing the environment variable SYSTELCFG
to the directory containing the configuration. For instance to use the configuration stored in config/
, one would use:
$ export SYSTELCFG=/path/to/systel90/config1
The typical .bashrc for ESTEL shows how switching configurations can be done on the fly by defining a set of commands. Note that when using this approach:
- the command
cfgmak
needs to be re-issued if thesystel.ini
has been changed so that the filecfgmak.mak
is rebuilt accordingly for compilation purposes. - the full TELEMAC system needs to be compiled for each configuration. DIRLIB issue.
Compilation
Final TELEMAC tree
- systel90
- bief
- bief_v5p7
- sources
- bief_v5p8
- sources
- bief_v5p7
- bin
- config-template
- damocles
- damo_v5p7
- sources
- damo_v5p8
- sources
- damo_v5p7
- estel2d
- estel2d_v5p7
- lib
- sources
- test.gb
- estel2d_v5p8
- lib
- sources
- test.gb
- estel2d_v5p7
- estel3d
- estel2d_v5p7
- sources
- test.gb
- estel2d_v5p8
- sources
- test.gb
- estel2d_v5p7
- parallel
- parallel_v5p7
- metis_distrib
- sources
- parallel_v5p8
- metis_distrib
- sources
- parallel_v5p7
- paravoid
- paravoid_v5p7
- sources
- paravoid_v5p8
- sources
- paravoid_v5p7
- special
- special_v5p7
- sources
- special_v5p8
- sources
- special_v5p7
- sisyphe
- sisyphe_v5p7
- lib
- sources
- sources_util
- sisyphe_v5p8
- lib
- sources
- sources_util
- sisyphe_v5p7
- telemac2d
- tel2d_v5p7
- lib
- sources
- tel2d_v5p8
- lib
- sources
- tel2d_v5p7
- bief