= Download & Installation = == Download == If you are interested in using or just testing the code, please create an account using the [[//trac/register|register form]]. This account will give you access to the PALM repository and also allow you to login on this trac-server, e.g. to submit trouble tickets, or to edit the wiki, if you have proper access permissions. As a registered user you will also be informed about new PALM updates by email. With your account you can then download the code via svn as described in [wiki:doc/install#install Installation]. If you have further questions please contact [mailto:raasch@muk.uni-hannover.de]. We appreciate any comments on the contents of this server which may help us to improve our documentation. Please contact us by [[mailto:raasch@muk.uni-hannover.de|email]] or just send a [/newticket ticket] if you are a registered user. == [=#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 (before you start, please read the [#requirements software requirements]): - [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 (see [#requirements software requirements]). 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 transferred back to the local computer. This method can of course also be used to work with PALM in interactive mode on the local computer. The installation process for the '''advanced method requires''' a valid account on the local and on the remote host as well.\\ The examples given in this chapter refer to an installation of PALM on an IMUK Linux workstation (local host) and for the '''advanced method''', the Cray XC30/40 system of HLRN (remote host).\\ '''In case of problems with the installation, please check the [wiki:Help/FAQ#installation FAQ Installation Questions] first.'''\\ \\ === [=#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]] \\ Regarding batch support PALM is currently configured to be used on a limited number of selected machines. These are Cray XC30/40 systems at computing center HLRN in Hannover (''lccrayh'') and Berlin (''lccrayb''), IBM-Regatta systems at Yonsei University (''ibmy'') and at DKRZ in 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 system 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 ([wiki:doc/install/advanced#other_machines configuration help]). However, these configurations currently (version 3.7a) allow to run PALM in interactive mode only. Batch mode requires manual adjustments for the respective queuing system and MPI installation in scripts '''mrun''', '''mbuild''', and '''subjob'''.\\\\ === [=#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 (for gfortran, use version number 6.2.1 or higher). 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 queuing system on the local or 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.