1 | #$Id: .palm.config.default 4814 2020-12-09 13:08:08Z moh.hefny $ |
---|
2 | #column 1 column 2 |
---|
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 |
---|
6 | %base_directory $HOME/palm/current_version |
---|
7 | |
---|
8 | # directory where PALM I/O is stored (used in .palm.iofiles) |
---|
9 | %base_data ~/palm/current_version/JOBS |
---|
10 | |
---|
11 | # path to PALM's FORTRAN sources (installation folder) |
---|
12 | %source_path $base_directory/trunk/SOURCE |
---|
13 | |
---|
14 | # path to user interface routines |
---|
15 | %user_source_path $base_data/$run_identifier/USER_CODE |
---|
16 | |
---|
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 |
---|
25 | |
---|
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 | |
---|
35 | # folder for job protocols |
---|
36 | %local_jobcatalog $base_data/$run_identifier/LOG_FILES |
---|
37 | |
---|
38 | # folder for job protocols to be used on the remote host |
---|
39 | #%remote_jobcatalog $local_jobcatalog |
---|
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 |
---|
43 | %local_ip <replace by your computers IP address> |
---|
44 | |
---|
45 | # your local UNIX username |
---|
46 | %local_username <replace by your unix username> |
---|
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 | |
---|
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 | |
---|
68 | # command to submit batch jobs |
---|
69 | #%submit_command /opt/moab/default/bin/msub -E |
---|
70 | |
---|
71 | # compilername to generate MPI executables |
---|
72 | %compiler_name mpif90 |
---|
73 | |
---|
74 | # compilername to generate non-MPI executables running on one core |
---|
75 | %compiler_name_ser ifort |
---|
76 | |
---|
77 | # preprocessor directives to be used for compiling the PALM code |
---|
78 | %cpp_options -cpp -D__parallel -DMPI_REAL=MPI_DOUBLE_PRECISION -DMPI_2REAL=MPI_2DOUBLE_PRECISION -D__fftw -D__netcdf |
---|
79 | |
---|
80 | # used for parallel compilation |
---|
81 | %make_options -j 4 |
---|
82 | |
---|
83 | # options to be used to compile PALM |
---|
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 |
---|
85 | |
---|
86 | # options to be used to link the PALM executable |
---|
87 | %linker_options -L/path/to/fftw/lib -lfftw3 -L/path/to/netcdf/lib -lnetcdf -lnetcdff |
---|
88 | |
---|
89 | # name of hostfile to be used (see online documentation for more details) |
---|
90 | #%hostfile auto |
---|
91 | |
---|
92 | # command to start the PALM executable |
---|
93 | %execute_command mpirun -n {{mpi_tasks}} ./palm |
---|
94 | |
---|
95 | # memory request per core |
---|
96 | #%memory 2300 |
---|
97 | |
---|
98 | # module commands to load required libraries |
---|
99 | #%module_commands module switch env-ivybridge env-haswell && module load fftw netcdf |
---|
100 | |
---|
101 | # special commands to be carried out at login and start of batch jobs on the remote host |
---|
102 | #%login_init_cmd .execute_special_profile |
---|
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 | #------------------------------------------------------------------------------- |
---|
109 | # Example using PBS: |
---|
110 | BD:#!/bin/bash |
---|
111 | #BD:#PBS -A {{project_account}} |
---|
112 | BD:#PBS -N {{run_id}} |
---|
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}} |
---|
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 |
---|
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 | #------------------------------------------------------------------------------- |
---|
139 | # Example using PBS: |
---|
140 | BDT:#!/bin/bash |
---|
141 | #BDT:#PBS -A {{project_account}} |
---|
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 |
---|
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 |
---|