Changes between Version 15 and Version 16 of doc/app/palmrun
- Timestamp:
- Dec 19, 2017 5:45:53 PM (7 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
doc/app/palmrun
v15 v16 13 13 * Setting the environment variable {{{PALM_BIN}}} in shell-profile files (e.g. {{{.bashrc}}}) is not required any more. 14 14 15 * The old configuration file {{{.mrun.config}}} has been split into two files {{{.palm.config.<configuration_identifier>}}} and {{{.palm.iofiles}}}, where {{{<configuration_identifier>}}} is an arbitrary string that you can define. "Configuration" means a setting for a specific computer with a specific compiler, compiler options, libraries, etc. If you like to run {{{palm}}} with different configurations, e.g. one with debug options switched on, and one with high optimization, you need to create separate configuration files for each configuration, e.g. {{{.palm.config.optimized}}} and {{{.palm.config.debug}}}. This replaces the old block structure in {{{.mrun.config}}}. The configuration file to be used is defined by {{{palmrun}}}- or {{{palmbuild}}}-option {{{-h}}}., e.g. {{{palmrun ... -h optimized}}} will use {{{.palm.config.optimized}}} \\\\ You will need only one file {{{.palm.iofiles}}} which contains the file connection statements to be used for all configurations. \\ The file attributes (second column in the file connection statements) have been partly changed. The second attribute, which was either {{{loc}}}, {{{locopt}}} or {{{job}}}, has been completely removed. Optional input files now require {{{inopt}}} as first attribute. Those input files to be send to the remote host require {{{tr}}} as second attribute (instead of {{{job}}}). {{{fl}}} and {{{flpe}}} must be changed to {{{ln}}} and {{{lnpe}}} respectively. \\\\ For output files, a wildcard {{{*}}} can be given as file activation string in the third column. In such a case, existing local output files will always be copied to their permanent position. No warning will be given if they do not exist. \\\\ Wildcards (*) are allowed for local names of output files (e.g. {{{BINOUT*}}}) and file extensions of input files (e.g. {{{_p3d*}}}). Using wildcards, only one file connection statement is required, e.g. for nested runs which require different input files for each domain ({{{_p3d, _p3d_N01, _p3d_N02}}}, etc.) or which generate different output files (e.g. {{{BINOUT, BINOUT_N01}}}, etc.). The additional extensions that are identified from the existing files (e.g. {{{_N01, _N02}}}) will be automatically added to the local filename (in case of input files) or to the file extension (in case of output files). \\\\ The utility program {{{interpret_config}}} has been removed. The configuration files are now directly interpreted by the shellscripts.15 * The old configuration file {{{.mrun.config}}} has been split into two files {{{.palm.config.<configuration_identifier>}}} and {{{.palm.iofiles}}}, where {{{<configuration_identifier>}}} (short {{{<ci>}}}) is an arbitrary string that you can define. \\\\ "Configuration" means a setting for a specific computer with a specific compiler, compiler options, libraries, etc. \\ If you like to run '''PALM''' with different configurations, e.g. one with debug options switched on, and one with high optimization, you need to create separate files for each configuration, e.g. {{{.palm.config.optimized}}} and {{{.palm.config.debug}}}. This replaces the old block structure in {{{.mrun.config}}}. The configuration file to be used is defined by {{{palmrun}}}- or {{{palmbuild}}}-option {{{-h}}}., e.g. {{{palmrun ... -h optimized}}} will use {{{.palm.config.optimized}}}. You find examples of {{{.palm.config.<...>}}} files in your '''PALM''' copy under {{{.../trunk/SCRIPTS}}} \\\\ You will need only one file {{{.palm.iofiles}}} which contains the file connection statements to be used for all configurations. \\ The file attributes (second column in the file connection statements) have been partly changed. The second attribute, which was either {{{loc}}}, {{{locopt}}} or {{{job}}}, has been completely removed. Optional input files now require {{{inopt}}} as first attribute. Those input files to be send to the remote host require {{{tr}}} as second attribute (instead of {{{job}}}). {{{fl}}} and {{{flpe}}} must be changed to {{{ln}}} and {{{lnpe}}} respectively. \\\\ For output files, a wildcard {{{*}}} can be given as file activation string in the third column. In such a case, existing local output files will always be copied to their permanent position. No warning will be given if they do not exist. \\\\ Wildcards (*) are allowed for local names of output files (e.g. {{{BINOUT*}}}) and file extensions of input files (e.g. {{{_p3d*}}}). Using wildcards, only one file connection statement is required, e.g. for nested runs which require different input files for each domain ({{{_p3d, _p3d_N01, _p3d_N02}}}, etc.) or which generate different output files (e.g. {{{BINOUT, BINOUT_N01}}}, etc.). The additional extensions that are identified from the existing files (e.g. {{{_N01, _N02}}}) will be automatically added to the local filename (in case of input files) or to the file extension (in case of output files). \\\\ The utility program {{{interpret_config}}} has been removed. The configuration files are now directly interpreted by the shellscripts. 16 16 17 * Only one call of {{{palmbuild}}} is required to compile for both the utilities and the PALM source code (there is no option {{{-u}}} anymore). The compiled routines (object files and executables) are put into folder {{{MAKE_DEPOSITORY_<configuration_identifier>}}}, where {{{<configuration_identifier>}}} is replaced bythe string given with {{{palmbuild}}}-option {{{-h}}}.17 * Only one call of {{{palmbuild}}} is required to compile for both the utilities and the PALM source code (there is no option {{{-u}}} anymore). The compiled routines (object files and executables) are put into folder {{{MAKE_DEPOSITORY_<configuration_identifier>}}}, where {{{<configuration_identifier>}}} equals the string given with {{{palmbuild}}}-option {{{-h}}}. 18 18 19 * {{{palmrun}}} does not compile any more at the beginning of a batch job. The palm-executable for the batch-job (or for the interactive session) is created as part of the {{{palmrun}}}-call that you have manually entered at your terminal, and it is created before the batch-job is submitted. The executable is put into the folder {{{SOURCE _FOR_RUN_<run_identifier>}}}, where {{{<run_identifier>}}} is the string provided with {{{palmrun}}}-option {{{-d}}}. This folder is now put into the folder set with variable {{{fast_io_catalog}}} (see below for {{{fast_io_catalog}}}). If you do not use a user-interface, {{{palmrun}}} will not compile at all and will take the executable from folder {{{MAKE_DEPOSITORY_<configuration_identifier>}}} that has been generated with your last call of {{{palmbuild}}}. If {{{palmrun}}} cannot find the folder {{{MAKE_DEPOSITORY_<configuration_identifier>}}}, it will internally call {{{palmbuild}}} in order to generate it. If {{{palmrun}}} finds a folder {{{SOURCE_FOR_RUN_<run_identifier>}}} that has been generated by a previous call of {{{palmbuild}}}, it will ask you if executables from that folder shall be used. This way, you can avoid to re-compile your user-interface with each call of {{{palmrun}}}. Automatically generated restart runs will always use executables from {{{SOURCE_FOR_RUN_<run_identifier>}}}. \\\\ You may have to remove folders {{{SOURCES_FOR_RUN_...}}} manually frm time to time, because they are not deleted automatically at the end of a job (or the last job of a restart job chain).19 * {{{palmrun}}} does not compile any more at the beginning of a batch job. The palm-executable for the batch-job (or for the interactive session) is created as part of the {{{palmrun}}}-call that you have manually entered at your terminal, and it is created before the batch-job is submitted. The executable is put into the folder {{{SOURCES_FOR_RUN_<run_identifier>}}}, where {{{<run_identifier>}}} is the string provided with {{{palmrun}}}-option {{{-d}}}. This folder is now put into the folder set with variable {{{fast_io_catalog}}} (see below for {{{fast_io_catalog}}}). If you do not use a user-interface, {{{palmrun}}} will not compile at all and will take the executable from folder {{{MAKE_DEPOSITORY_<configuration_identifier>}}} that has been generated with your last call of {{{palmbuild}}}. If {{{palmrun}}} cannot find the folder {{{MAKE_DEPOSITORY_<configuration_identifier>}}}, it will internally call {{{palmbuild}}} in order to generate it. If {{{palmrun}}} finds a folder {{{SOURCES_FOR_RUN_<run_identifier>}}} that has been generated by a previous call of {{{palmrun}}}, it will ask you if executables from that folder shall be used. This way, you can avoid to re-compile your user-interface with each call of {{{palmrun}}}. Automatically generated restart runs will always use executables from {{{SOURCES_FOR_RUN_<run_identifier>}}}. \\\\ You may have to remove folders {{{SOURCES_FOR_RUN_...}}} manually from time to time, because they are not deleted automatically at the end of a job (or the last job of a restart job chain). 20 20 21 * The option for giving the file activation strings is now {{{-a }}} instead of {{{-r}}}.21 * The option for giving the file activation strings is now {{{-a "d3# ..."}}} instead of {{{-r "d3# ..."}}}. 22 22 23 23 * In case of automatic restart runs, hashes ("#") in the file activation strings are now replaced by character "r" instead of character "f". … … 45 45 %linker_options -openmp -fpe0 -O3 -xHost -fp-model source -ftz -fno-alias -ip -nbs -I /muksoft/packages/fftw/3.3.4/include -L/muksoft/.... 46 46 %hostfile auto 47 %execute_command mpiexec -machinefile hostfile -n {{ MPI_TASKS}} ./palm47 %execute_command mpiexec -machinefile hostfile -n {{mpi_tasks}} ./palm 48 48 }}} 49 49 * Some further comments concerning specific variables: \\\\ … … 51 51 - For {{{cpp_options}}}, you now have to give ALL switches required, especially {{{-D__parallel}}} to use the parallel version of PALM, which was implicitly set with {{{mrun}}}-option {{{-K parallel}}} before. The {{{-K}}} option has been removed. 52 52 - The compiler- and linker-options now require to give '''ALL''' include- and library-paths for the libraries that you intend to use (e.g. MPI, NetCDF, FFTW), if they are not automatically set by a module-environment (like e.g. on Cray-systems). Old variables like {{{netcdf_inc}}} or {{{netcdf_lib}}} have been removed from the configuration file. 53 - {{{execute_coammand}}} is required to define the command to execute PALM. It will depend on the MPI-library that you are using. The wildcard{{{ {{ MPI_TASKS}} }}}will be replaced by the value provided with {{{palmrun}}}-option {{{-X}}}. A further wildcard that can be used is{{{ {{TASKS_PER_NODE}} }}}, which will be replaced by the value provided with {{{palmrun}}}-option {{{-T}}}.53 - {{{execute_coammand}}} is required to define the command to execute PALM. It will depend on the MPI-library that you are using. The wildcard{{{ {{mpi_tasks}} }}}will be replaced by the value provided with {{{palmrun}}}-option {{{-X}}}. A further wildcard that can be used is{{{ {{tasks_per_node}} }}}, which will be replaced by the value provided with {{{palmrun}}}-option {{{-T}}}. 54 54 - The variable {{{write_binary}}} (formerly used to switch on the output of restart data) has been removed from the configuration file. Output of restart data is now switched on with the activation string {{{"restart"}}}, i.e. {{{palmrun ..... -a "... restart"}}}. 55 55