Interfaces for user-defined code#
The following table lists and describes the available interfaces for user-defined code in the model, the names and possible arguments of the subroutines involved, as well as actions which can be accomplished in these subroutines. The respective name of a source code file is the subroutine name followed by .f90. Exception: the file containing the module user has the name user_module.f90.
| Call location | Subroutine name and argument(s) | Purpose |
|---|---|---|
| ---------------------------------------------- | Module user |
All user-defined variables which are used outside the respective local scopes of the user-defined subroutines have to be declared here. |
module_interface.f90 |
user_parin |
|
module_interface.f90 |
user_check_parameters |
|
module_interface.f90 |
user_check_data_output_ts( dots_max, dots_num, dots_label, dots_unit ) |
|
module_interface.f90 |
user_check_data_output_pr( variable, var_count, unit, dopr_unit ) |
|
module_interface.f90 |
user_check_data_output( variable, unit ) |
|
module_interface.f90 |
user_init_arrays |
|
module_interface.f90 |
user_init |
|
module_interface.f90 |
user_header ( io ) |
|
module_interface.f90 |
user_actions( location )or user_actions( i, j, location ) |
|
module_interface.f90 |
user_exchange_horiz( location ) |
|
module_interface.f90 |
user_prognostic_equationsor user_prognostic_equations( i, j, i_omp_start, tn ) |
|
module_interface.f90 |
user_boundary_conditions |
|
module_interface.f90 |
user_swap_timelevel( swap_mode ) |
|
module_interface.f90 |
user_3d_data_averaging( mode, variable ) |
|
module_interface.f90 |
user_data_output_2d( av, variable, found, grid, local_pf, two_d, nzb_do, nzt_do ) |
|
module_interface.f90 |
user_data_output_3d( av, variable, found, local_pf, resorted, nzb_do, nzt_do ) |
|
module_interface.f90 |
user_statistics( mode, sr, tn ) |
|
module_interface.f90 |
user_rrd_global( found ) |
|
module_interface.f90 |
user_rrd_global |
|
module_interface.f90 |
user_wrd_global |
|
module_interface.f90 |
user_rrd_local( map_index, nxlf, nxlc, nxl_on_file ,nxrf, nxrc, nxr_on_file,nynf, nync, nyn_on_file,nysf, nysc, nys_on_file,tmp_3d, found ),or user_rrd_local |
|
module_interface.f90 |
user_wrd_local |
|
module_interface.f90 |
user_last_actions |
|
data_output_mask.f90 |
user_data_output_mask( av, domask(mid,av,ivar), found, local_pf, mid ) |
|
data_output_spectra.f90 and spectra_mod.f90 |
user_spectra( 'data_output', m, pr ) |
|
init_3d_model.f90 |
user_init_3d_model |
|
lagrangian_particle_model_mod.f90 |
user_lpm_init |
|
lagrangian_particle_model_mod.f90 |
user_lpm_advec( i, j, k ) |
|
land_surface_model_mod.f90 |
user_init_land_surface |
|
netcdf_interface_mod.f90 |
user_define_netcdf_grid( trimvar, found, grid_x, grid_y, grid_z )or user_define_netcdf_grid( do3d(av,i), found, grid_x, grid_y, grid_z )or user_define_netcdf_grid( data_output_sp(i), found, grid_x, grid_y, grid_z ) |
|
plant_canopy_model_mod.f90 |
user_init_plant_canopy |
|
radiation_model_mod.f90 |
user_init_radiation |
|
topography_mod.f90 |
user_init_grid( topo ) |
|
urban_surface_mod.f90 |
user_init_urban_surface |
|
virtual_flight_mod.f90 |
user_init_flight( init )or user_init_flight( init, k, i, label_leg ) |
|
virtual_flight_mod.f90 |
user_flight( var_u, n ) |