= User-defined parameters = [[TracNav(doc/userint/toc)]] 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.\\\\ 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]. 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].\\\\ 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}}}: {{{ LOGICAL :: abcd = .FALSE. }}} 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: {{{ namelist /user_parameters/ abcd, data_output_masks_user, data_output_pr_user, data_output_user, region }}} The listed parameters after abcd are defined in [wiki:doc/app/userint/int#user_parin user_parin] by default. A complete list of pre-defined parameters can be found [https://docs.palm-model.org/latest/Reference/LES_Model/Namelists/#user-parameters here]. In the parameter file [wiki:doc/app/iofiles#PARIN PARIN] a value can be assigned: {{{ &user_parameters abcd = .T., ... ,/ }}} 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.\\ 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.\\ The user-module is automatically activated when the {{{&user_parameters}}} namelist appears in the parameter file [wiki:doc/app/iofiles#PARIN PARIN] (_p3d).