Changes between Version 39 and Version 40 of doc/app/user_parameters


Ignore:
Timestamp:
Nov 22, 2018 11:21:57 AM (6 years ago)
Author:
scharf
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • doc/app/user_parameters

    v39 v40  
    33
    44As for the model in general, also the user-defined code will have to be steered by parameters. For each run, the model should be able to read in current values of these parameters. The declaration of user-defined parameters takes place in the user-defined module [wiki:doc/app/userint/int#user_module user] (file  {{{user_module.f90}}}). This module must be declared in all relevant user-defined routines via a {{{USE user}}} statement, in order to make the parameters available.\\\\
    5 The user can assign values to the user-defined parameters within the {{{NAMELIST}}} group {{{&user_parameters}}} in the local file [wiki:doc/app/iofiles#PARIN PARIN]. This {{{NAMELIST}}} group must be located after the initialization parameters ({{{&initialization_parameters}}}) and runtime parameters ({{{&runtime_parameters}}}; see [wiki:doc/app/par Model steering by parameters]). Before values of the user-defined parameters can be assigned, the parameters must be declared within the appropriate {{{NAMELIST}}} statement in the user-defined subroutine [wiki:doc/app/userint/int#user_parin user_parin].\\\\
     5The user can assign values to the user-defined parameters within the namelist group {{{&user_parameters}}} in the local file [wiki:doc/app/iofiles#PARIN PARIN]. This namelist group must be located after the initialization parameters ({{{&initialization_parameters}}}) and runtime parameters ({{{&runtime_parameters}}}; see [wiki:doc/app/par Model steering by parameters]). Before values of the user-defined parameters can be assigned, the parameters must be declared within the appropriate namelist statement in the user-defined subroutine [wiki:doc/app/userint/int#user_parin user_parin].\\\\
    66The following example illustrates the procedure. The example assumes that the user declares a {{{LOGICAL}}} variable named abcd for steering the user-defined code. This variable must be declared in the file {{{user_module.f90}}}:
    77{{{
    88LOGICAL ::  abcd = .FALSE.
    99}}}
    10 Pay attention that in this example a default value (''.FALSE.'') is assigned to the variable and it will keep this value if nothing else is assigned within the file [wiki:doc/app/iofiles#PARIN PARIN]. In [wiki:doc/app/userint/int#user_parin user_parin] the {{{NAMELIST}}} must be extended by the name of the new variable:
     10Pay attention that in this example a default value (''.FALSE.'') is assigned to the variable and it will keep this value if nothing else is assigned within the file [wiki:doc/app/iofiles#PARIN PARIN]. In [wiki:doc/app/userint/int#user_parin user_parin] the namelist must be extended by the name of the new variable:
    1111{{{
    12 NAMELIST /user_parameters/  abcd, data_output_masks_user, data_output_pr_user, data_output_user, region
     12namelist /user_parameters/  abcd, data_output_masks_user, data_output_pr_user, data_output_user, region
    1313}}}
    1414The listed parameters after abcd are included in [wiki:doc/app/userint/int#user_parin user_parin] by default, and they are described in the table below.
    1515In the parameter file [wiki:doc/app/iofiles#PARIN PARIN] a value can be assigned:
    1616{{{
    17    .
    18    .
    19    &user_parameters abcd = .T., ...
     17   &user_parameters abcd = .T., ... ,/
    2018}}}
    2119User defined parameters in the file [wiki:doc/app/iofiles#PARIN PARIN] are considered as runtime parameters, i.e. they must be specified again for each restart run.\\
    2220In each case, the user should carry out a control output of the parameter values so that their values during the respective model run are really known. For this purpose the user-defined subroutine [wiki:doc/app/userint/int#user_header user_header] which writes into the files [wiki:doc/app/iofiles#HEADER HEADER] and [wiki:doc/app/iofiles#RUN_CONTROL RUN_CONTROL] is available.
    23 \\\\\\\\\\\\
    24 '''NAMELIST group name:''' [=#userpar '''{{{user_parameters}}}''']
     21
     22\\\\
     23
     24'''namelist group name:''' [=#userpar '''{{{user_parameters}}}''']
    2525----
    26 ||='''Parameter Name'''  =||='''[../fortrantypes FORTRAN]\\[../fortrantypes Type]'''  =||='''Default\\Value'''  =||='''Explanation'''  =||
     26||='''Parameter Name'''  =||='''[../fortrantypes Fortran]\\[../fortrantypes Type]'''  =||='''Default\\Value'''  =||='''Explanation'''  =||
    2727|----------------
    2828{{{#!td style="vertical-align:top"