Changes between Initial Version and Version 1 of doc/app/userint/comp


Ignore:
Timestamp:
Sep 15, 2010 12:17:47 PM (14 years ago)
Author:
suehring
Comment:

--

Legend:

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

    v1 v1  
     1== Compiling and linking user-defined code ==
     2
     3Users can add their own (modified) user-interface to a PALM-run by carrying out the following steps:
     4
     5   1. Copy the appropriate default (empty) user-interface files {{{user_***.f90}}} to a directory of your choice, e.g.:
     6{{{
     7cd ~/palm/current_version
     8mkdir -p USER_CODE/example
     9cp trunk/SOURCE/user_***.f90  USER_CODE/example
     10}}}
     11      Attention: do not change the filenames!
     12
     13   2. Set an additional path in the configuration file .mrun.config to allow mrun to find and include these files:
     14{{{
     15%add_source_path   $base_directory/USER_CODE/$fname
     16}}}
     17      The default configuration file ({{{trunk/SCRIPTS/.mrun.config.default}}}) already includes this setting.
     18   3. Modify the interface routines according to your needs.
     19   4. Start a PALM run by executing
     20{{{
     21mrun -d example ...
     22}}}
     23      The files {{{user_***.f90}}} will be automatically compiled within the job and will replace the respective {{{PALM}}}‘s default user-interface routines.
     24
     25The above method with including {{{$fname}}} in the additional source path allows to use different user-interfaces for different runs at the same time. Just store the respective interface-files in subdirectories {{{USER_CODE/abcd}}}, {{{USER_CODE/cdef}}}, etc. and start '''mrun''' with option "{{{-d abcd}}}", "{{{-d cdef}}}", etc.
     26
     27If the user wants to add additional routines, he/she can a) put them into the default user-interface file {{{user_additional_routines.f90}}} or b) can create new files in the additional source directory. These files must have names different from the default {{{PALM}}} source code files. In case of b), the user must also copy the default makefile into the additional source directory:
     28{{{
     29cp trunk/SOURCE/Makefile  USER_CODE/example
     30}}}
     31The makefile must be modified appropriately followinf the "make"-rules in order to allow the new files to be compiled.\\\\
     32'''The modified user-interface files cannot be pre-compiled by using mbuild! '''\\\\
     33While programming user-defined code, errors are frequently made. Possible ways of error tracing are described in the next chapter.