Changes between Version 11 and Version 12 of doc/app/userint/comp


Ignore:
Timestamp:
Sep 7, 2018 11:50:44 AM (6 years ago)
Author:
raasch
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • doc/app/userint/comp

    v11 v12  
    1717   palmrun -d example ...
    1818}}}
    19       The files {{{user_***.f90}}} will be automatically compiled as part of this run, before PALM is executed, and will replace {{{PALM}}}‘s respective default user-interface routines. The compiled binaries are put into a folder named {{{SOURCES_FOR_RUN_$configuration_identifier_$run_identifier}}}, where they replace the default binaries that have been created via {{{palmbuild}}}. The {{{SOURCES_FOR_RUN}}} folder is created in the directory that is defined by variable {{{bla}}} in the configuration file. \\\\
     19      The files {{{user_***.f90}}} will be automatically compiled as part of this run, before PALM is executed, and will replace {{{PALM}}}‘s respective default user-interface routines. The compiled binaries are put into a folder named {{{SOURCES_FOR_RUN_$configuration_identifier_$run_identifier}}}, where they replace the default binaries that have been created via {{{palmbuild}}}. The {{{SOURCES_FOR_RUN}}} folder is created in the directory defined by variable {{{fast_io_catalog}}} in the configuration file. It is newly created for each manual call of {{{palmrun}}}. \\\\
    2020
    2121Since the run identifier is part of the user-interface's SOURCE path, you can use different interfaces for different runs at the same time. Just store the respective interface-files in sub-folders {{{JOB/abcd/USER_CODE}}}, {{{JOBS/cdef/USER_CODE}}}, etc. and call {{{palmrun}}} with option "{{{-d abcd}}}", "{{{-d cdef}}}", etc. \\\\
     
    2626Edit the {{{Makefile}}} and add your new files and possible dependencies, following the standard "make"-rules.\\\\
    2727
    28 It is important to know, that in general '''the modified user-interface files cannot be pre-compiled.''' with {{{palmbuild}}}. \\\\
     28== How to avoid re-compilation of user-interfaces
     29
     30It is important to know, that in general '''the modified user-interface files cannot be pre-compiled''' with {{{palmbuild}}}. This would not make sense because your user-interface may differ among your PALM runs, so you would need different {{{MAKE_DEPOSITORIES}}} depending on the run-identifier (option {{{-d}}}). Therefore, {{{palmrun}}} compiles the user-interface each time you call the script. Strictly speaking, {{{palmrun}}} internally calls {{{palmbuild}}} with special options, and {{{palmbuild}}} then compiles the user-interface and generates the {{{SOURCES_FOR_RUN}}} folder (see above).
     31
     32In case you carry out a large number of test runs and don't want the user-interface to be compiled each time again (because it may take a lot of time, and you didn't change it), you can suppress compilation by adding {{{palmrun}}} option {{{-V}}}. Then, {{{palmrun}}}/{{{palmbuild}}} tries to re-use the compiled interface from the last call of {{{palmrun}}} with same configuration identifier and run identifier (given by options {{{-h}}} and {{{-d}}}), by re-using the respective {{{SOURCES_FOR_RUN}}} folder that has been generated by the previous run. Automatically generated calls of {{{palmrun}}} (restart runs in job chains) use the same method, so they do not need to compile the user-interface again. \\\\
    2933
    3034For debugging user-defined code, see section [../../intdbg Debugging].