[[TracNav(doc/install/toc)]] = Download & Installation = == [=#download]Download == If you are interested in using or just testing the code, you can download all available PALM releases from our [https://gitlab.palm-model.org/releases/palm_model_system/-/releases GitLab Server] == [=#requirements]Software requirements == In order to successfully install PALM, please meet the following software requirements: - A '''Linux''' Operating System (OS). We test PALM on Debian-based OS only and can not help if you use a different OS. - The '''bash''' shell (available at /bin/bash). - A recent '''Fortran''' and '''C++''' Compiler (GNU, Intel, Cray, PGI, NEC). - The build automation tools '''cmake''' and '''make''' (for library detection and build coordination). - The Message Passing Interface ('''MPI''') library with MPI-3 support (compiled with the same compiler as PALM). - A '''NetCDF''' library not earlier than 3.6.3 (compiled with the same Compiler as PALM). - The FFT library '''FFTW''' (PALM also comes with a build-in FFT but with less performance). - '''Python 3''' (needed by the GUI and other helper routines). - '''PyQt5''' (needed by the GUI). - The graphic-package '''NCL''' from NCAR (needed by the data visualization tool palmplot). - The '''FLEX''' library '''BISON''' parser generator (needed by the chemistry tool kpp4palm) The {{{README.md}}} file that ships with the PALM Model System release Package provides a one-liner that triggers the installation of all requirements on most Debian-based Linux Distributions like Ubuntu etc. '''Very important:''' It is essential that your NetCDF and MPI library has been built with the same Fortran compiler that is used to compile PALM. Furthermore, in case of a NetCDF4 library with parallel I/O support, the NetCDF library needs to be build with the same MPI library as used for compiling PALM. == [=#installation]PALM installation == From our [https://gitlab.palm-model.org/releases/palm_model_system/-/releases GitLab Server] the PALM Model System can be downloaded as a zip or tar archive. Please unpack the content to a directory of your choice and open a terminal inside that directory. Please follow the installation instructions described in the {{{README.md}}} file that ships with the PALM Model System release Package. The installation instructions mention, that an {{{}}} needs to be chosen. Please be aware that this directory will become the storage location for all your PALM input and output data. So you might wand to make sure to have sufficient disk space. In order to create a directory structure similar to the one that was standard with the old SVN based repository, please unpack the zip or tar archive to the directory {{{~/palm/current_version/palm_model_system}}} and choose {{{~/palm/current_version}}} as the {{{}}}. In any case, please make sure no errors have occurred by '''carefully checking''' the output of the installation script. After the installation is finished you should have the following files/folders inside the installation directory {{{~/palm/current_version}}}: - The PALM Model System code repository {{{palm_model_system/}}}. - A configuration file {{{.palm.config.default}}}. - A folder named {{{bin/}}} that contains all the executables. - A folder named {{{rrtmg/}}} that contains the RRTMG library. - A folder named {{{MAKE_DEPOSITORY_default/}}} that contains the pre-compiled PALM code. For a possible fast track to execute your first simulation, execute these commands: {{{ #!bash export PATH=~/palm/current_version/bin:${PATH} cd ~/palm/current_version mkdir -p JOBS/example_cbl/INPUT cp palm_model_system/packages/palm/model/tests/cases/example_cbl/INPUT/example_cbl_p3d JOBS/example_cbl/INPUT/ palmrun -r example_cbl -c default -a "d3#" -X 4 -v -z }}} If you encounter any errors during the installation, try following the [wiki:doc/install/advanced full manual installation] '''Note:''' With the '''default install script''', you can just run PALM interactively on the local computer. It does not allow to setup the creation of batch jobs and restart runs on any local or remote computers. Therefore, theis method is only suitable / recommended for users who like to do a quick test of PALM. If you like to work with PALM on a HPC cluster with batch scheduling, please also follow the instructions for the [wiki:doc/install/advanced full manual installation] === [=#other_install] Other installation methods === The following additional methods to install and run PALM on Linux/UNIX systems are available: - [wiki:doc/install/advanced A full manual installation]. {{{#!comment - [wiki:doc/install/simple A minimal manual installation method for benchmarks]. }}} {{{#!comment We differentiate 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}}}.\\\\ }}} By the way, you can / should use the '''default install script''' as a basis for a complete manual installation.\\ The '''manual installation''' 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]). It allows to submit a job on the local host while instructing {{{palmrun}}} to execute the job on your desired remote host. The PALM output is then automatically transferred back to the local computer. The '''manual installation''' can of course also be used to work with PALM in interactive mode on the local computer. The installation process for the '''manual installation''' may require a valid account on the remote host as well.\\ The examples given in this chapter refer to a local installation of PALM on an IMUK Linux workstation (local host) and for running batch jobs on the Cray XC40 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 can be configured to be used on arbitrary supercomputers (see [wiki:doc/install/advanced full manual installation]).\\\\