|
subroutine, public | monc_mod::monc_core_bootstrap (component_descriptions, io_server_run) |
| Main core entry point to bootstrap running the model. More...
|
|
logical function | monc_mod::determine_if_io_server_enabled (options_database) |
| Determines whether the IO server should be enabled or not. More...
|
|
subroutine | monc_mod::load_model_configuration (state, options_database) |
| Loads the configuration into the options database, either from a file or checkpoint. More...
|
|
subroutine | monc_mod::monc_run (component_descriptions, state) |
| Called by MONC processes to run the MONC model. More...
|
|
subroutine | monc_mod::perform_model_steps (state, timestepping_time, modeldump_time) |
| Will run through the actual model stages and call the appropriate callbacks at each stage. More...
|
|
subroutine | monc_mod::display_timestep_information (timestep, start_time) |
| Provides timestepping information about the current step and performance. More...
|
|
subroutine | monc_mod::fill_registry_with_components (options_database, component_descriptions) |
| Registers each supplied component description. More...
|
|
logical function | monc_mod::is_present_and_true (options_database, key) |
| Determines whether an option is present in the database and true. This combines the key check and getting the value. Just calling to get the value directly will error if it does not exist, we don't nescesarily want for checking optional command line flags. More...
|
|
subroutine | monc_mod::display_registed_components () |
| Displays the registered components and their version numbers. More...
|
|
subroutine | monc_mod::split_communicator_into_monc_and_io (moncs_per_io, monc_communicator, io_communicator, am_i_monc_process, corresponding_io_server_process) |
| Splits the MPI_COMM_WORLD communicator into MONC and IO separate communicators. The size of each depends on the stride supplied. This will deal with the case where you only have 1 extra process, for instance 3 MONCs to an IO server with 5 processes. 0=IO server, 1-3 are MONCS but by rights 4 would be an IO server. However we dont want to waste a process as an IO server which is not serving anything, hence in this edge case it will be used as a MONC instead. More...
|
|
integer function | monc_mod::get_number_io_processes (total_ranks, moncs_per_io) |
| Based upon the total number of processes and the IO process id stride determines the number of processes that will be used for the IO server. The MONC processes is total processes - io processes. More...
|
|
subroutine | monc_mod::get_io_configuration (options_database, ioserver_configuration_file, moncs_per_io_server) |
| Reads the IO server configuration and populates the required variables of the configuration file name and the placement period. More...
|
|
integer function | monc_mod::get_mpi_threading_mode () |
| Retrives the configured MPI threading mode, this is serialized by default but can be overridden via environment variable. More...
|
|
character(len=string_length) function | monc_mod::mpi_threading_level_to_string (lvl) |
| Converts an MPI threading level to the string representation of it. More...
|
|