== Code Installation == This chapter describes the installation of PALM on a Linux workstation (local host). There are two methods to install and run PALM. With the [#simple simple method], you can run PALM interactively on the local computer. This method is using the scripts '''palm_simple_install''' and '''palm_simple_run'''. The simple method cannot create batch jobs itself, and cannot be used to create restart runs. Also file handling and most other features of the [#advanced advanced method] are not available. This method is only recommended for those who like to test PALM quickly.\\\\ The [#advanced advanced method] is for running PALM in batch mode on a suitable remote computer. The installation procedure is using the script '''mbuild'''. All jobs are started on the local host using the script '''mrun'''. The PALM output is automatically sent back from the remote host to the local host. Alternatively, '''mrun''' can also be used to start PALM in interactive mode on the local host, or as a batch job on the local host (if a queueing system like NQS, PBS, or !LoadLeveler is available).\\\\ Only the [#advanced advanced method] gives full access to all PALM features. === Requirements === The installation and operation of PALM requires at mimimum (for the [#advanced advanced method] on both, the local and the remote host, unless stated otherwise): 1. A Korn-shell (AT&T ksh or public domain ksh); must be available under {{{/bin/ksh}}}. 2. A NetCDF-library with version number not earlier than 3.6.2 (for NetCDF, see under http://www.unidata.ucar.edu). 3. A FORTRAN90/95 compiler. 4. The Message Passing Interface (MPI), at least on the remote host, if the parallel version of PALM shall be used. 5. On the local host, the revision control system '''subversion''' (see http://subversion.tigris.org). This is already included in many Linux distributions (e.g. !SuSe). '''subversion requires port 3690 to be open for tcp/udp. If there are firewall restrictions concerning this port, the PALM code cannot be accessed.''' The user needs a permit to access the PALM repository. For getting a permit please contact the PALM group (raasch@muk.uni-hannover.de) and define a username under which you like to access the repository. You will then receive a password which allows access under this name.\\ The [#advanced advanced method] additionally requires: 6. A job queueing system on the remote host. Currently, '''mrun''' can handle !LoadLeveler (IBM-AIX) and NQS/PBS (Linux-Clusters, NEC-SX). 7. ssh/scp-connections to and from the remote host must not be blocked by a firewall. Currently, '''mrun''' is configured to be used on a limited number of selected machines. These are SGI-ICE systems at computing center HLRN in Hannover (''lcsgih''), Berlin (''lcsgib''), IBM-Regatta systems at Yonsei University (''ibmy''), and at DKRZ, Hamburg (''ibmh''), an NEC-SX8 system at RIAM, Kyushu University, Fukuoka (''necriam''), as well as on the Linux cluster of IMUK (''lcmuk''), Tokyo Institute of Technology (''lctit''), Kyoto computing center (''lckyoto''), and Cray-XT4/5 systems at the Bergen Center for Computational Science (''lcxt4'') and at the Finish Meteorological Institute (''lcxt5m''). The strings given in brackets are the systems names (host identifiers) under which '''mrun''' identifies the different hosts.\\\\ You can also use '''mrun'''/PALM on other Linux-Cluster, IBM-AIX, or NEC-SX machines. See [#../below below] on how to configure mrun for other machines. However, these configurations currently (version 3.7a) allow to run PALM in interactive mode only. Batch mode requires manual adjustments for the respective queing system and MPI installation in scripts '''mrun''', '''mbuild''', and '''subjob'''.\\\\ The examples given in this chapter refer to an installation of PALM on an IMUK Linux workstation and (for the [#advanced advanced method]) the SGI-ICE system of HLRN, used as remote host. They are just referred to as local and remote host from now on.\\\\ The installation process for the advanced method requires a valid account on the local and on the remote host as well.\\\\ The [#advanced advanced installation method] is described below. For the [#simple simple method] see the end of this chapter.\\\\ === [=#advanced]Advanced installation method] === 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 @ and on the remote host: ssh @ In both cases you should not be prompted for a password. Before continuing the further installation process, this must be absolutely guaranteed! It must also be guaranteed for all other remote hosts, on which PALM shall run. Please note that on many remote hosts, passwordless login must also work within the remote host, i.e. for ssh connections from the remote host to itself. Test this by executing on the remote host: ssh @ . You should not be prompted for a password.