Version 47 (modified by raasch, 15 months ago) (diff)

--

User-defined parameters

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 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 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 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 PARIN. In 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 user_parin by default. A complete list of pre-defined parameters can be found here. In the parameter file PARIN a value can be assigned:

   &user_parameters abcd = .T., ... ,/

User defined parameters in the file 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 user_header which writes into the files HEADER and RUN_CONTROL is available.

The user-module is automatically activated when the &user_parameters namelist appears in the parameter file PARIN (_p3d).