MONC
|
Performs the actual time stepping over groups of components. Each group can be the whole (which is one call per component per timestep) or column, which calls components for each column of the timestep. Groups are executed sequentially in the order that they have been configured (which is already set up in the registry) More...
Functions/Subroutines | |
subroutine, public | init_timestepper () |
Initialises the timestepper by prefetching the groups in the order that they will be executed, this is for optimised execution in the timestep calls. More... | |
subroutine, public | timestep (current_state) |
Performs a timestep, which is comprised of executing each group of components in the order that they have been configured in. The components in a group can be called, depending on the type, just once per timestep (WHOLE) or per column (COLUMN). More... | |
subroutine, public | finalise_timestepper () |
Finalises the timestepper by cleaning up allocated memory. More... | |
subroutine | timestep_column (current_state, group_descriptor) |
Performs timestepping for a group of components on a per column basis. Each component in the group is executed for every column. More... | |
subroutine | timestep_whole (current_state, group_descriptor) |
Executes a timestep for components in a group which are designed to be executed once per timestep. More... | |
subroutine | update_state_sitation_flags (current_state) |
Updates the states situation flags for easy retrieval in the components that are run per timestep. More... | |
Variables | |
type(group_descriptor_type), dimension(:), allocatable | group_descriptors |
Prefetched ordered group descriptors. More... | |
Performs the actual time stepping over groups of components. Each group can be the whole (which is one call per component per timestep) or column, which calls components for each column of the timestep. Groups are executed sequentially in the order that they have been configured (which is already set up in the registry)
subroutine, public timestepper_mod::finalise_timestepper |
Finalises the timestepper by cleaning up allocated memory.
Definition at line 44 of file timestepper.F90.
subroutine, public timestepper_mod::init_timestepper |
Initialises the timestepper by prefetching the groups in the order that they will be executed, this is for optimised execution in the timestep calls.
Definition at line 22 of file timestepper.F90.
subroutine, public timestepper_mod::timestep | ( | type(model_state_type), intent(inout) | current_state | ) |
Performs a timestep, which is comprised of executing each group of components in the order that they have been configured in. The components in a group can be called, depending on the type, just once per timestep (WHOLE) or per column (COLUMN).
current_state | The current model state |
Definition at line 29 of file timestepper.F90.
|
private |
Performs timestepping for a group of components on a per column basis. Each component in the group is executed for every column.
current_state | The current model state |
group_descriptor | Description of the group of components to execute |
Definition at line 52 of file timestepper.F90.
|
private |
Executes a timestep for components in a group which are designed to be executed once per timestep.
current_state | The current model state |
group_descriptor | Description of the group of components to execute |
Definition at line 77 of file timestepper.F90.
|
private |
Updates the states situation flags for easy retrieval in the components that are run per timestep.
state | The current model state |
Definition at line 87 of file timestepper.F90.
|
private |
Prefetched ordered group descriptors.
Definition at line 15 of file timestepper.F90.