3.5.5 Compiling and linking user-defined code

Users can add their own (modified) user-interface to a PALM-run by carrying out the following steps:

  1. Copy the appropriate default (empty) user-interface files user_***.f90 to a directory of your choice, e.g.:

       cd ~/palm/current_version
       mkdir -p USER_CODE/example
       cp trunk/SOURCE/user_***.f90  USER_CODE/example

    Attention: do not change the filenames!

  2. Set an additional path in the configuration file .mrun.config to allow mrun to find and include these files:

       %add_source_path   $base_directory/USER_CODE/$fname

    The default configuration file (trunk/SCRIPTS/.mrun.config.default) already includes this setting.
  3. Modify the interface routines according to your needs.
  4. Start a PALM run by executing

       mrun -d example ...

    The files user_***.f90 will be automatically compiled within the job and will replace the respective PALM‘s default user-interface routines.
The 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.

If 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:

   cp trunk/SOURCE/Makefile  USER_CODE/example

The makefile must be modified appropriately followinf the "make"-rules in order to allow the new files to be compiled.

The modified user-interface files cannot be pre-compiled by using mbuild!

While programming user-defined code, errors are frequently made. Possible ways of error tracing are described in the next chapter.

 



Last change:  $Id: chapter_3.5.5.html 212 2008-11-11 09:09:24Z lvollmer $