[2481] | 1 | #$Id: .palm.config.default 4814 2020-12-09 13:08:08Z Giersch $ |
---|
| 2 | #column 1 column 2 |
---|
[3043] | 3 | #name of variable value of variable (~ must not be used except for base_data) |
---|
| 4 | #----------------------------------------------------------------------------- |
---|
| 5 | # working directory from where palmrun or palmbuild are called |
---|
[4814] | 6 | %base_directory $HOME/palm/current_version |
---|
[3043] | 7 | |
---|
| 8 | # directory where PALM I/O is stored (used in .palm.iofiles) |
---|
[4814] | 9 | %base_data ~/palm/current_version/JOBS |
---|
[3043] | 10 | |
---|
| 11 | # path to PALM's FORTRAN sources (installation folder) |
---|
[4814] | 12 | %source_path $base_directory/trunk/SOURCE |
---|
[3043] | 13 | |
---|
| 14 | # path to user interface routines |
---|
[4814] | 15 | %user_source_path $base_data/$run_identifier/USER_CODE |
---|
[3043] | 16 | |
---|
[4814] | 17 | # path to temporary working directory. This folder contains the files |
---|
| 18 | # temporarily created by PALM during execution. |
---|
| 19 | # WARNING: |
---|
| 20 | # Large I/O files are generated during execution! It is recommended to direct |
---|
| 21 | # this path to a file system with fast discs (if available). This folder must |
---|
| 22 | # be accessible from all compute nodes, i.e. it must reside in a global file |
---|
| 23 | # system. |
---|
| 24 | %fast_io_catalog $base_directory/tmp |
---|
[3043] | 25 | |
---|
[4814] | 26 | # directory where PALM restart files are stored. It is recommended to set this |
---|
| 27 | # path to the same file system as the temporary directory (fast_io_catalog) to |
---|
| 28 | # allow internal linking of the restart files instead of copying (increases |
---|
| 29 | # post-processing performance of palmrun). |
---|
| 30 | %restart_data_path $fast_io_catalog |
---|
| 31 | |
---|
| 32 | # directory where PALM output files are stored (see also .palm.iofiles) |
---|
| 33 | %output_data_path $base_data |
---|
| 34 | |
---|
[3043] | 35 | # folder for job protocols |
---|
[4814] | 36 | %local_jobcatalog $base_data/$run_identifier/LOG_FILES |
---|
[3043] | 37 | |
---|
| 38 | # folder for job protocols to be used on the remote host |
---|
[4814] | 39 | #%remote_jobcatalog $local_jobcatalog |
---|
[3043] | 40 | |
---|
| 41 | # local ip of your computer. Use 127.0.0.0 if you are running PALM |
---|
| 42 | # in interactive mode on your local computer |
---|
[2481] | 43 | %local_ip <replace by your computers IP address> |
---|
[3043] | 44 | |
---|
| 45 | # your local UNIX username |
---|
[2481] | 46 | %local_username <replace by your unix username> |
---|
[3043] | 47 | |
---|
| 48 | # ip address of the remote host |
---|
| 49 | #%remote_ip <ip> |
---|
| 50 | |
---|
| 51 | # username on the remote host |
---|
| 52 | #%remote_username <username> |
---|
| 53 | |
---|
| 54 | # ssh-key to be used for ssh/scp calls to the remote host |
---|
| 55 | #%ssh_key ~/.ssh/id_rsa |
---|
| 56 | |
---|
| 57 | # name of login-node on the remote machine |
---|
| 58 | #%remote_loginnode <loginnode> |
---|
| 59 | |
---|
| 60 | # default queue to be used if palmrun-option -q is omitted |
---|
| 61 | #%defaultqueue <queue> |
---|
| 62 | |
---|
[4814] | 63 | # default project account to be used if palmrun-option -A is omitted. For this |
---|
| 64 | # setting to be active, the batch directive must also be activated (see BD and |
---|
| 65 | # BDT settings below). |
---|
| 66 | #%project_account <project-account> |
---|
| 67 | |
---|
[3043] | 68 | # command to submit batch jobs |
---|
| 69 | #%submit_command /opt/moab/default/bin/msub -E |
---|
| 70 | |
---|
| 71 | # compilername to generate MPI executables |
---|
[2481] | 72 | %compiler_name mpif90 |
---|
[3043] | 73 | |
---|
| 74 | # compilername to generate non-MPI executables running on one core |
---|
[2481] | 75 | %compiler_name_ser ifort |
---|
[3043] | 76 | |
---|
| 77 | # preprocessor directives to be used for compiling the PALM code |
---|
[2481] | 78 | %cpp_options -cpp -D__parallel -DMPI_REAL=MPI_DOUBLE_PRECISION -DMPI_2REAL=MPI_2DOUBLE_PRECISION -D__fftw -D__netcdf |
---|
[3043] | 79 | |
---|
| 80 | # used for parallel compilation |
---|
[2481] | 81 | %make_options -j 4 |
---|
[3043] | 82 | |
---|
| 83 | # options to be used to compile PALM |
---|
[4814] | 84 | %compiler_options -fpe0 -O3 -xHost -fp-model source -ftz -no-prec-div -no-prec-sqrt -ip -I /path/to/fftw/include -I /path/to/netcdf/include |
---|
[3043] | 85 | |
---|
| 86 | # options to be used to link the PALM executable |
---|
[4814] | 87 | %linker_options -L/path/to/fftw/lib -lfftw3 -L/path/to/netcdf/lib -lnetcdf -lnetcdff |
---|
[3043] | 88 | |
---|
[4814] | 89 | # name of hostfile to be used (see online documentation for more details) |
---|
| 90 | #%hostfile auto |
---|
[3043] | 91 | |
---|
| 92 | # command to start the PALM executable |
---|
[4814] | 93 | %execute_command mpirun -n {{mpi_tasks}} ./palm |
---|
[3043] | 94 | |
---|
| 95 | # memory request per core |
---|
| 96 | #%memory 2300 |
---|
| 97 | |
---|
| 98 | # module commands to load required libraries |
---|
[4814] | 99 | #%module_commands module switch env-ivybridge env-haswell && module load fftw netcdf |
---|
[3043] | 100 | |
---|
| 101 | # special commands to be carried out at login and start of batch jobs on the remote host |
---|
[3199] | 102 | #%login_init_cmd .execute_special_profile |
---|
[3043] | 103 | |
---|
| 104 | #------------------------------------------------------------------------------- |
---|
| 105 | # Directives to be used for batch jobs |
---|
| 106 | # Lines must start with "BD:". If $-characters are required, hide them with \ |
---|
| 107 | # Internal variables can be used as {{variable_name}}. Please see documentation. |
---|
| 108 | #------------------------------------------------------------------------------- |
---|
[4814] | 109 | # Example using PBS: |
---|
[3043] | 110 | BD:#!/bin/bash |
---|
[4814] | 111 | #BD:#PBS -A {{project_account}} |
---|
[4484] | 112 | BD:#PBS -N {{run_id}} |
---|
[3043] | 113 | BD:#PBS -l walltime={{cpu_hours}}:{{cpu_minutes}}:{{cpu_seconds}} |
---|
| 114 | BD:#PBS -l nodes={{nodes}}:ppn={{tasks_per_node}} |
---|
| 115 | BD:#PBS -o {{job_protocol_file}} |
---|
| 116 | BD:#PBS -j oe |
---|
| 117 | BD:#PBS -q {{queue}} |
---|
[4814] | 118 | # |
---|
| 119 | # Example using SLURM: |
---|
| 120 | #BD:#!/bin/bash |
---|
| 121 | ##BD:#SBATCH --dependency=afterany:{{previous_job}} |
---|
| 122 | #BD:#SBATCH -A {{project_account}} |
---|
| 123 | #BD:#SBATCH --job-name={{run_id}} |
---|
| 124 | #BD:#SBATCH --time={{cpu_hours}}:{{cpu_minutes}}:{{cpu_seconds}} |
---|
| 125 | #BD:#SBATCH --ntasks={{mpi_tasks}} |
---|
| 126 | #BD:#SBATCH --nodes={{nodes}} |
---|
| 127 | #BD:#SBATCH --ntasks-per-node={{tasks_per_node}} |
---|
| 128 | #BD:#SBATCH --partition={{queue}} |
---|
| 129 | #BD:#SBATCH --output={{job_protocol_file}} |
---|
| 130 | #BD:#SBATCH --error={{job_protocol_file}} |
---|
| 131 | #BD:#SBATCH --mail-type=ALL |
---|
| 132 | #BD:#SBATCH --mail-user=user@somewhere |
---|
[3043] | 133 | |
---|
| 134 | #------------------------------------------------------------------------------- |
---|
| 135 | # Directives for batch jobs used to send back the jobfiles from a remote to a local host |
---|
| 136 | # Lines must start with "BDT:". If $-characters are required, excape them with triple backslash |
---|
| 137 | # Internal variables can be used as {{variable_name}}. Please see documentation. |
---|
| 138 | #------------------------------------------------------------------------------- |
---|
[4814] | 139 | # Example using PBS: |
---|
[3043] | 140 | BDT:#!/bin/bash |
---|
[4814] | 141 | #BDT:#PBS -A {{project_account}} |
---|
[3043] | 142 | BDT:#PBS -N job_protocol_transfer |
---|
| 143 | BDT:#PBS -l walltime=00:30:00 |
---|
| 144 | BDT:#PBS -l nodes=1:ppn=1 |
---|
| 145 | BDT:#PBS -o {{job_transfer_protocol_file}} |
---|
| 146 | BDT:#PBS -j oe |
---|
| 147 | BDT:#PBS -q dataq |
---|
[4814] | 148 | # |
---|
| 149 | # Example using SLURM: |
---|
| 150 | #BDT:#!/bin/bash |
---|
| 151 | #BDT:#SBATCH -A {{project_account}} |
---|
| 152 | #BDT:#SBATCH --job-name=job_transfer |
---|
| 153 | #BDT:#SBATCH --time=00:30:00 |
---|
| 154 | #BDT:#SBATCH --ntasks=1 |
---|
| 155 | #BDT:#SBATCH --nodes=1 |
---|
| 156 | #BDT:#SBATCH --ntasks-per-node=1 |
---|
| 157 | #BDT:#SBATCH --partition={{queue}} |
---|
| 158 | #BDT:#SBATCH --output={{job_transfer_protocol_file}} |
---|
| 159 | #BDT:#SBATCH --error={{job_transfer_protocol_file}} |
---|
| 160 | |
---|
| 161 | #---------------------------------------------------------------------------- |
---|
| 162 | # INPUT-commands, executed before running PALM - lines must start with "IC:" |
---|
| 163 | #---------------------------------------------------------------------------- |
---|
| 164 | #IC:ulimit -s unlimited |
---|
| 165 | # |
---|
| 166 | #---------------------------------------------------------------------------- |
---|
| 167 | # ERROR-commands - executed when program terminates abnormally |
---|
| 168 | #---------------------------------------------------------------------------- |
---|
| 169 | #EC:[[ \$locat = execution ]] && cat RUN_CONTROL |
---|
| 170 | # |
---|
| 171 | #---------------------------------------------------------------------------- |
---|
| 172 | # OUTPUT-commands - executed when program terminates normally |
---|
| 173 | #---------------------------------------------------------------------------- |
---|
| 174 | #OC:echo \\\"PALM job finished\\\" | mailx user@somewhere |
---|