Load general treelm settings from the Lua script in conf.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_general_type), | intent(inout) | :: | me |
global general parameter |
||
type(flu_State) | :: | conf |
Handle to the Lua script containing the configuration. |
|||
character(len=*), | intent(in), | optional | :: | timingFile |
Default timing filename provided by the caller, overwritten by config file. |
|
class(tem_solverAborts_type), | intent(inout), | optional | :: | solverAborts |
Solver specific abort criteria to load. See tem_abortCriteria_module for details on this additional abortCriteria parameters, that the solver may define to be loaded from the configuration. |
subroutine tem_load_general( me, conf, timingFile, solverAborts ) ! ---------------------------------------------------------------------- !> global general parameter type( tem_general_type ), intent(inout) :: me !> Handle to the Lua script containing the configuration. type(flu_state) :: conf !> Default timing filename provided by the caller, overwritten by config !! file. character(len=*), optional, intent(in) :: timingFile !> Solver specific abort criteria to load. !! !! See [[tem_abortCriteria_module]] for details on this additional !! abortCriteria parameters, that the solver may define to be loaded !! from the configuration. class(tem_solverAborts_type), intent(inout), optional :: solverAborts ! ---------------------------------------------------------------------- integer :: iError character(len=pathLen) :: def_timingFile ! ---------------------------------------------------------------------- if ( me%proc%isRoot ) then call tem_horizontalSpacer(fUnit = logUnit(1)) write(logUnit(1),"(A)") 'Loading general parameters:' end if ! load global enviromental parameters from config file call tem_load_env_params(conf) if ( me%proc%isRoot ) then write(logUnit(1),"(A)") 'Using '//trim(null_device)//' as null device.' if (printRuntimeInfo) then write(logUnit(1),"(A)") 'Will print run time info in the end' write(logUnit(1),"(A)") '(/proc/self/status).' else write(logUnit(1),"(A)") 'Will NOT print run time info.' end if write(logUnit(1),"(A,I0)") 'Size of the IO Buffer (MB): ', & & (io_buffer_size*8/1024/1024) end if ! load simulation name call aot_get_val( L = conf, & & key = 'simulation_name', & & val = me%solver%simName, & & ErrCode = iError, & & default = 'simulation' ) if ( me%proc%isRoot ) then write(logUnit(1),"(A)") 'Simulation Name: ' // trim( me%solver%simName ) end if ! load simulation time control call tem_simControl_load( me = me%simControl, & & conf = conf, & & solverAborts = solverAborts ) if ( me%proc%isRoot ) then call tem_simControl_dump(me = me%simControl, outUnit = logUnit(1)) end if ! Get the setting, whether to use sparse communication patterns or not. call tem_sparse_comm_load(conf) ! load communication pattern and initialize commuication ! infrastructure call tem_load_commpattern(conf = conf, me = me%commpattern) ! load timing filename if (present(timingFile)) then def_timingFile = timingFile else def_timingFile = 'timing.res' end if call aot_get_val( L = conf, & & key = 'timing_file', & & val = me%timingFile, & & default = def_timingFile, & & ErrCode = iError ) write(logUnit(1),"(A)") 'Write timings to: ' // trim( me%timingFile ) ! Get load balancing config call tem_balance_load( conf = conf, & & me = me%balance ) ! Load configuration of timer output from timer table. call tem_timer_loadconfig_glob( conf ) ! load precice if available if (precice_available) then write(logUnit(1),"(A)") 'Loading precice data' call tem_precice_load(conf = conf) end if call tem_horizontalSpacer(fUnit = logUnit(1)) end subroutine tem_load_general