public subroutine tem_timeControl_check(me, now, comm, triggered)
This routine checks if the control has triggered, and if so updates it.
It takes care of communication as well.
A reduction of the trigger status might be needed, depending on the time
definitions in the trigger.
This communication is done with the MPI communicator comm, and all
processes calling this routine should be members of comm.
The communication is only done, if necessary.
If the trigger became active since the last check or update, the triggered
argument will be set to true.
If this should be done in combination with other status communications to
avoid unnecessary synchronisation points, the separate routines
tem_timeControl_triggered and tem_timeControl_update have to be used
instead.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Source Code
subroutine tem_timeControl_check(me,now,comm,triggered)! -------------------------------------------------------------------- !!> Time control settings to check.type(tem_timeControl_type),intent(inout)::me!> Current time to check the control against.type(tem_time_type),intent(in)::now!> Communicator to use in the reduction.integer,intent(in)::comm!> Result of the check, indicating if the time control was triggered now.logical,intent(out)::triggered! -------------------------------------------------------------------- !! -------------------------------------------------------------------- !triggered=tem_timeControl_globalTriggered(me,now,comm)call tem_timeControl_update(me,now,triggered)end subroutine tem_timeControl_check