= [=#installation]PALM installation = [[TracNav(doc/install/toc)]] This page describes the installation of PALM on a Linux system. In this installation description we differentiate heavily between two perspectives on a computer. The first is the local computer (or local host), which is the computer that you are currently sitting at or are logged in via your terminal (ssh). The second is the remote computer (or remote host), which is any computer with a batch system, that you have ssh access to, but are not logged in at the moment. A typical remote computer is your favorite high performance computing (HPC) facility aka supercomputer. This perspective includes, that your remote (super)computer immediately becomes your local computer as soon as you log into it via ssh.\\\\ There are three methods to install and run PALM: - [wiki:doc/install/automatic An automatic installer]. - [wiki:doc/install/simple A simple manual installation method]. - [wiki:doc/install/advanced An advanced manual installation method]. With the automatic installer and the simple installation method, you can just run PALM interactively on the local computer. They do not allow to setup the creation of batch jobs and restart runs on any remote computer. This method is only recommended for users who like to do a quick test of PALM.\\\\ The advanced method gives full access to all PALM features. It should be chosen to setup PALMs ability to run in batch mode on a local or remote computer (batch jobs require a queueing system like NQS, PBS, or !LoadLeveler). Here it is possible to submit a job on the local host while instructing PALM to execute the job on your desired remote host. The PALM output is then automatically transfered back to the local computer. This method can of course also be used to work with PALM in interactive mode on the local computer. \\\\ Please check out the [wiki:Help/FAQ#installation FAQ Installation Questions] too. == [=#hardware] Supported Hardware == PALM runs on all modern multicore workstation processors and on many different HPC systems. furthermore, PALM has recently been ported to Graphics Processing Units (GPU) like the NVidia Tesla series and to manycore processor architectures like the Intel Xeon Phi Knights Landing. Please see [[wiki:doc/install/gpu|details]] == [=#requirements] Software Requirements == The installation and operation of PALM requires at minimum (for the [#advanced advanced method] on both, the local and the remote host, unless stated otherwise): 1. A Bash-shell must be available under {{{/bin/bash}}}. 2. A NetCDF library with version number not earlier than 3.6.3 (for NetCDF, see under http://www.unidata.ucar.edu). 3. A FORTRAN 2003 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), which is already part of many Linux distributions (e.g. !SuSe). The user needs a combination of username and password to access the PALM repository. For getting a permit please create an account using the [[//trac/register|register form]]. \\ The [wiki:doc/install/advanced advanced method] additionally requires: 6. A job queueing system on the remote host. Currently, PALM 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. Regarding batch support PALM is currently configured to be used on a limited number of selected machines. These are SGI-ICE systems at computing center HLRN in Hannover (''lccrayh''), Berlin (''lccrayb''), 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-XE6 systems at the Bergen Center for Computational Science (''lcxe6'') 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 [wiki:doc/install/advanced#other_machines 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 [wiki:doc/install/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.\\\\