This chapter describes the installation of PALM on a Linux workstation (local host) and a suitable remote computer, on which the model runs are to be carried out. The local host is used to start batch jobs with mrun and to analyze the results which are produced by the model on the remote host and send back to the local host. Alternatively, mrun can also be used to start PALM on the local host in interactive mode or as a batch job.
Requirements
The installation and operation of PALM requires at mimimum (on both, the local and the remote host, unless stated otherwise):
The examples given in this chapter refer to an installation of PALM on an IMUK Linux workstation and the IBM-Regatta system of the HLRN used as remote host. They are just called local and remote host from now on.
The installation process requires a valid
account on the local and on the remote host as well.
All hosts (local as well as remote) are accessed via the secure shell (ssh). The user must establish passwordless login using the private/public-key mechanism (see e.g. the HLRN documentation). To ensure proper function of mrun, passwordless login must be established in both directions, from the local to the remote host as well as from the remote to the local host! Test this by carrying out e.g. on the local host:
ssh <username on remote host>@<remote IP-address>
and on the remote host:
ssh <username on local host>@<local IP-adddress>
In both cases you should not be prompted for a password. Before continuing the further installation process, this must be absolutely guaranteed! This must also be guaranteed for all other remote hosts, on which PALM shall run.
Package Installation
In the first installation step a set of directories must be created both on the local and on the remote host. These directories are:
The names of these directories are freely selectable (except ~/job_queue), however new users should use them as suggested, since many examples in this documentation as well as all example files are assuming these settings. The directory ~/palm/current_version on the local host will be called the working directory from now on.
In the second step a working copy of the recent version of the PALM software package, including the source code, scripts, documentation, etc. must be copied to the working directory (local host!) by executing the following commands. Replace <your username> by the name that you choosed to access the repository.
You will then be prompted for your password. After finishing, the subdirectory trunk should appear in your working directory. It contains a number of further subdirectories which contain e.g. the PALM source code (SOURCE) and the scripts for running PALM (SCRIPTS).
Alternatively, executing
svn checkout --username <your username> svn://130.75.105.45/palm/trunk abcde
will place your working copy in a directory named abcde instead of a directory named trunk. But keep in mind that you will have to adjust several paths given below, if you do not use the default directory trunk.
Please never touch any file in your working copy of PALM, unless you know exactly what you are doing.
In future PALM releases, repository access to the most recent PALM version will probably be restricted because this is a test version. However, access to the last (and earlier) stable version(s) will still be possible with (e.g.)
svn checkout --username <your username> svn://130.75.105.45/palm/tags/release-3.1c trunk
Package Configuration
To use the PALM scripts, the PATH variable has to be extended and the environment variable PALM_BIN has to be set (on local and remote host) in the respective profile of the users default shell (e.g. in .profile, if ksh is used):
export PATH=$HOME/palm/current_version/trunk/SCRIPTS:$PATH
export PALM_BIN=$HOME/palm/current_version/trunk/SCRIPTS
You may habe to login again in order to activate these settings.
On the local and on the remote host, some small helper/utility programs have to be installed, which are e.g. later used by mrun or for PALM data postprocessing. The installation is done by mbuild. This script requires a configuration file .mrun.config, which will be also used by mrun in the following. A copy has to be put into the working directory under the name .mrun.config by
cp trunk/SCRIPTS/.mrun.config.default .mrun.config
Beside many other things, this file contains typical installation parameters like compiler name, compiler options, etc. for a set of different remote hosts. Please edit this file, uncomment lines like
by removing the first hash (#) character and replace the string "<replace by ...>" by your username on the respective host given in the <remote-computer-shortcut>. You only have to uncomment lines for those hosts on which you intend to use PALM.
After modifying the configuration file, the respective executables are generated by executing
mbuild -u -h lcmuk
mbuild -u -h ibmh
The second call also copies the PALM scripts like mrun and mbuild to the remote host.
Pre-Compilation of PALM Code
To avoid the re-compilation of the complete source code for each model run, PALM willl be pre-compiled once on the remote host by again using the script mbuild. Due to the use of FORTRAN modules in the source code, the subroutines must be compiled in a certain order. Therefore the so-called make mechanism is used (see the respective man-page of the Unix operating system), requiring a Makefile, in which the dependencies are described. This file is found in subdirectory trunk/SOURCE, where also the PALM code is stored. The compiled sources (object files) are stored on the remote computer in the default directory ~/palm/current_version/MAKE_DEPOSITORY.
The pre-compilation for the remote host (here the IBM-Regatta of HLRN) is done by
mbuild will prompt some queries, which must all be answered "y" by the user. The compiling process will take some time. mbuild transfers the respective compiler calls to the remote host where they are carried out interactively. You can follow the progress at the terminal window, where also error messages are displayed (hopefully not for this standard installation). By just entering
mbuild
PALM will be (consecutively) pre-compiled for all remote hosts listed in the configuration file. If you want to compile for the local host only, please enter
mbuild -h lcmuk
Installation Verification
As a last step,
after the compilation has been finished, the PALM installation has to
be verified. For this
purpose a simple test run is carried out. This once again requires the mrun
configuration file (described in chapter
3.2), as well as the parameter
file (described in chapter
4.4). The parameter file must be
copied from the PALM working copy by
The test run can now be started by executing the command
mrun -d example -h ibmh -K parallel -X 8 -T 8 -t 500 -q cdev -r “d3# pr#”
This specific run will be carried out on 8 PEs and is allowed to use up to 500 seconds CPU time. After pressing <return>, the most important settings of the job are displayed at the terminal window and the user is prompted for o.k. (“y”). Next, a message of the queuing system like “Request … Submitted to queue… by…” should be displayed. Now the job is queued and either started immediately or at a later time, depending on the current workload of the remote host. Provided that it is executed immediately and that all things work as designed, the job protocol of this run will appear under the file name ~/job_queue/ibmh_example no more than a few minutes later. The content of this file should be carefully examined for any error messages.
Beside the job protocol and according to the configuration file and arguments given for mrun options -d and -r,further files should be found in the directories
and
~/palm/current_version/JOBS/example/OUTPUT
Please compare the contents of file
~/palm/current_version/JOBS/example/MONITORING/ibmh_example_rc
with those of the example result file which can be found under trunk/INSTALL/example_rc., e.g. by using the standard diff command:
diff JOBS/example/MONITORING/ibmh_example_rc trunk/INSTALL/example_rc
where it is assumed that your working directory is ~/palm/current_version.
You should not find any difference between these two files, except of the run date and time displayed at the top of the file header. If the file contents are identical, the installation is successfully completed.
If you have any problems with the PALM installation, the members of the PALM working group are pleased to help you.
Last change: 02/03/07 (SR)