Changes between Version 26 and Version 27 of doc/install


Ignore:
Timestamp:
Sep 15, 2010 9:36:07 AM (14 years ago)
Author:
witha
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • doc/install

    v26 v27  
    1010
    1111 1. A Korn-shell (AT&T ksh or public domain ksh); must be available under {{{/bin/ksh}}}.
    12  2. A NetCDF-library with version number not earlier than 3.6.2 (for NetCDF, see under http://www.unidata.ucar.edu).
     12 2. A netCDF-library with version number not earlier than 3.6.2 (for netCDF, see under http://www.unidata.ucar.edu).
    1313 3. A FORTRAN90/95 compiler.
    1414 4. The Message Passing Interface (MPI), at least on the remote host, if the parallel version of PALM shall be used.
     
    141141where it is assumed that your working directory is {{{~/palm/current_version}}}.\\\\
    142142'''You should not find any difference between these two files''', except of the run date and time displayed at the top of the file header. If the file contents are identical, the installation is successfully completed.
     143
     144=== Configuration for other machines ===
     145
     146Starting from version 3.2a, beside the default hosts (HLRN, etc.), PALM can also be installed and run on other Linux-Cluster-, IBM-AIX, or NEC-SX-systems. To configure PALM for a non-default host only requires to add some lines to the configuration file {{{.mrun.config}}}.\\\
     147First, you have to define the host identifier (a string of arbitrary length) under which your local host shall be identified by adding a line
     148{{{
     149  %host_identifier  <hostname>  <host identifier>
     150}}}
     151to the configuration file (best to do this in the section where the other default host identifiers are defined). Here {{{<hostname>}}} must be the name of your local host as provided by the unix-command "{{{hostname}}}". The first characters of {{{<host identifier>}}} have to be "{{{lc}}}", if your system is (part of) a linux-cluster, "{{{ibm}}}", or "{{{nec}}}" in case of an IBM-AIX- or NEC-SX-system, respectively. For example, if you want to install on a linux-cluster, the line may read as
     152{{{
     153  %host_identifier  foo  lc_bar
     154}}}
     155In the second step, you have to give all informations neccessary to compile and run PALM on your local host by adding an additional section to the configuration file:
     156{{{
     157  %remote_username   <1>      <host identifier> parallel
     158  %tmp_user_catalog  <2>      <host identifier> parallel
     159  %compiler_name     <3>      <host identifier> parallel
     160  %compiler_name_ser <4>      <host identifier> parallel
     161  %cpp_options       <5>      <host identifier> parallel
     162  %netcdf_inc        <6>      <host identifier> parallel
     163  %netcdf_lib        <7>      <host identifier> parallel
     164  %fopts             <8>      <host identifier> parallel
     165  %lopts             <9>      <host identifier> parallel
     166}}}
     167The section consists of four columns each separated by one or more blanks. The first column gives the name of the respective environment variable used by '''mrun''' and '''mbuild''', while the second column defines its value. The third column has to be the host identifier as defined above, and the last column in each line must contain the string "{{{parallel}}}". Otherwise, the respective line(s) will be interpreted as belonging to the setup for compiling and running a serial (non-parallel) version of PALM.\\\\
     168All brackets have to be replaced by the appropriate settings for your local host:
     169
     170  * {{{<1>}}} is the username on your LOCAL host
     171  * {{{<2>}}} is the temporary directory in which PALM runs will be carried out
     172  * {{{<3>}}} is the compiler name which generates parallel code
     173  * {{{<4>}}} is the compiler name for generating serial code
     174  * {{{<5>}}} are the preprocessor options to be invoked. In most of the cases, it will be neccessary to adjust the MPI data types to double precision by giving {{{-DMPI_REAL=MPI_DOUBLE_PRECISION -DMPI_2REAL=MPI_2DOUBLE_PRECISION}}}. To switch on the netCDF support, you also have to give {{{-D__netcdf}}} and {{{-D__netcdf4}}} (if you like to have netCDF4/HDF5 data format; this requires a netCDF4 library!).
     175  * {{{<6>}}} is the compiler option for specifying the include path to search for the netCDF module/include files
     176  * {{{<7>}}} are the linker options to search for the netCDF library
     177  * {{{<8>}}} are the general compiler options to be used. You should allways switch on double precision (e.g. {{{-r8}}}) and code optimization (e.g. {{{-O2}}}).
     178  * {{{<9>}}} are the linker options
     179  * {{{<host identifier>}}} is the host identifier as defined before
     180
     181A typical example may be:
     182{{{
     183  %remote_username   raasch                                  lc_bar parallel
     184  %tmp_user_catalog  /tmp                                    lc_bar parallel
     185  %compiler_name     mpif90                                  lc_bar parallel
     186  %compiler_name_ser ifort                                   lc_bar parallel
     187  %cpp_options       -DMPI_REAL=MPI_DOUBLE_PRECISION:-DMPI_2REAL=MPI_2DOUBLE_PRECISION:-D__netcdf  lc_bar parallel
     188  %netcdf_inc        -I:/usr/local/netcdf/include            lc_bar parallel
     189  %netcdf_lib        -L/usr/local/netcdf/lib:-lnetcdf        lc_bar parallel
     190  %fopts             -axW:-cpp:-openmp:-r8:-nbs              lc_bar parallel
     191  %lopts             -axW:-cpp:-openmp:-r8:-nbs:-Vaxlib      lc_bar parallel
     192}}}
     193Currently (version 3.7a), depending on the MPI version which is running on your local host, the options for the execution command (which may be {{{mpirun}}} or {{{mpiexec}}}) may have to be adjusted manually in the '''mrun'''-script. A future version will allow to give the respective settings in the configuration file.\\\\
     194If you have any problems with the PALM installation, the members of the PALM working group are pleased to help you.