= Simple installation method The simple installation method is using the scripts '''palm_simple_install''' and '''palm_simple_run''' for installing and running PALM.\\\\ === [=#package_installation_simple]Package installation === '''First step:''' Create a directory: {{{ mkdir -p ~/palm/current_version/ }}} You can freely choose the directory name, but if you intend to switch to the [#advanced advanced method] of running PALM later, you should use {{{~/palm/current_version}}}. This directory will be called working directory from now on. '''All commands listed below have to be run from this working directory unless otherwise specified.'''\\\\ '''Second step:''' Check out a working copy of the recent PALM version from the svn-repository. Replace {{{}}} by your valid repository username, and {{{<#>}}} by any of the available PALM releases, e.g. "''3.9''" (new releases will be announced to members of the PALM mailing list). {{{ cd ~/palm/current_version svn checkout --username https://palm.muk.uni-hannover.de/svn/palm/tags/release-<#> trunk }}} You will be prompted for your password. After completion, a subdirectory trunk will 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}}}). For checking out the most recent PALM version (developer version), see the [#advanced advanced installation method].\\\\ Please never touch any file in your working copy of PALM, unless you really know what you are doing.\\\\ === [=#config_simple]Configuration and compilation === '''Third step:''' To use the PALM scripts, the {{{PATH}}}-variable has to be extended and the environment variable {{{PALM_BIN}}} has to be set. For convenience, setting should be done in the respective profile of the users default shell (e.g. in {{{.profile}}}, if {{{ksh}}} is used): {{{ export PALM_BIN=$HOME/palm/current_version/trunk/SCRIPTS export PATH=$PALM_BIN:$PATH }}} You may have to login again in order to activate the profile settings.\\\\ '''Fourth step:''' Call the installation script: {{{ palm_simple_install -i }}} {{{}}} has to re replaced by the name of a file containing compiler options and library paths appropriate for your system. You can find some tested and verified files with compiler-option sets in the [source:palm/trunk/INSTALL INSTALL directory] of the repository. Look for filenames starting with {{{MAKE.inc.}}} and replace {{{}}} with one of these names. If no one of these sets satisfies your requirements, just choose anyone and modify it in a later step (see below). The script copies the PALM source code as well as the file with this set of compiler options into a new subdirectory {{{MAKE_DEPOSITORY_simple}}}. '''This command has to be run from your working directory (e.g. {{{~/palm/current_version}}}).''' This directory will then contain a {{{Makefile}}} and an include file {{{MAKE.inc}}} to be used for compiling the code in the next step. The include file contains compiler name, compiler options, library path for netCDF, etc. '''If necessary, please adjust these settings in file {{{MAKE.inc}}} as required by your system, before you proceed with the next step.''' You probably will have to adjust at least the paths to the netCDF- and MPI-library on your respective system (arguments of Options {{{-L}}} and {{{-I}}}). '''This, of course, requires that you have already installed netCDF and MPI on your system (see [#requirements requirements]).''' {{{ cd MAKE_DEPOSITORY_simple make cd .. }}} In order to speed up compilation time, you can run make in parallel, e.g. {{{make -j 4}}} runs 4 compile threads simultaneously.\\\\ '''Fifth step:''' Carry out a test run in order to check the installation. The test run (as every PALM run) requires a parameter file for steering PALM, which is in FORTRAN-NAMELIST format. This file has been already generated by the installation script '''palm_simple_install''' under {{{JOBS/example_cbl/INPUT/example_cbl_p3d}}}. PALM is started with script '''palm_simple_run'''. '''Before''' the first run, it may be necessary to change the MPI-execution command ({{{mpiexec}}}, {{{mpirun}}}, etc.) and options in this script, depending on the MPI-library that you are using. The script can be found in directory {{{.../trunk/SCRIPTS}}}. Default settings in this script are for the SGI-mpt-library installed on HLRN. You will find the execution command almost at the end of this script. After having adjusted the MPI-execution command, start the run with: {{{ palm_simple_run -p 4 -n 4 -c example_cbl -e }}} where option {{{-p}}} gives the total number of MPI tasks, {{{-n}}} gives the number of MPI tasks per node, {{{-c}}} gives the parameter file to be used, and {{{-e}}} defines the execution command to be used to run the PALM executable. '''Note that this command also has to be run from your working directory (e.g. {{{~/palm/current_version}}}).''' You can choose from a number of different execution commands (see at the end of the script [source:palm/trunk/SCRIPTS/palm_simple_run palm_simple_run]), but you will probably have to modify them or oven add your own command to the script, since the mpiexec syntax differs a lot among the different MPI libraries. Example: if you want to do a run on the SGI-ICE system of HLRN with the SGI-mpt-environment, you can just use {{{-e sgi-mpt}}}.\\ After the run has finished, all OUTPUT files can be found in directory {{{OUTPUT...}}}. Names and contents of PALM output files are described [../app/iofiles here]. The directory name is composed of the parameter file name, the number of cores that have been used, and the current data and time. For every run a unique directory is created.\\\\ '''Sixth step:''' To verify the results of this example run, compare it with the default result: {{{ diff OUTPUT..../RUN_CONTROL trunk/INSTALL/example_cbl_rc }}} '''You should not find any difference between these two files,''' except for the run date and time displayed at the top of the file header, and, maybe, the number of cores that have been used. If the file contents are identical, the installation is successfully completed. \\ \\ \\