Changes between Version 39 and Version 40 of doc/app/user_parameters
- Timestamp:
- Nov 22, 2018 11:21:57 AM (6 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
doc/app/user_parameters
v39 v40 3 3 4 4 As 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].\\\\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].\\\\ 6 6 The 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}}}: 7 7 {{{ 8 8 LOGICAL :: abcd = .FALSE. 9 9 }}} 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: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: 11 11 {{{ 12 NAMELIST/user_parameters/ abcd, data_output_masks_user, data_output_pr_user, data_output_user, region12 namelist /user_parameters/ abcd, data_output_masks_user, data_output_pr_user, data_output_user, region 13 13 }}} 14 14 The 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. 15 15 In the parameter file [wiki:doc/app/iofiles#PARIN PARIN] a value can be assigned: 16 16 {{{ 17 . 18 . 19 &user_parameters abcd = .T., ... 17 &user_parameters abcd = .T., ... ,/ 20 18 }}} 21 19 User 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.\\ 22 20 In 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}}}'''] 25 25 ---- 26 ||='''Parameter Name''' =||='''[../fortrantypes F ORTRAN]\\[../fortrantypes Type]''' =||='''Default\\Value''' =||='''Explanation''' =||26 ||='''Parameter Name''' =||='''[../fortrantypes Fortran]\\[../fortrantypes Type]''' =||='''Default\\Value''' =||='''Explanation''' =|| 27 27 |---------------- 28 28 {{{#!td style="vertical-align:top"