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.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Source Code
subroutine MAPL_CplCompSetAlarm(CC,ALARM,RC)type(ESMF_CplComp),intent(INOUT)::CCtype(ESMF_Alarm),target,intent(IN)::ALARMinteger,optional,intent(OUT)::RC! ErrLog Variablescharacter(len=ESMF_MAXSTR)::IAmcharacter(len=ESMF_MAXSTR)::COMP_NAMEinteger::STATUS! Localstype(MAPL_GenericCplState),pointer::STATEtype(MAPL_GenericCplWrap)::WRAP! Begin...! Get this instance's name and set-up traceback handle.! -----------------------------------------------------call ESMF_CplCompGet(CC,name=COMP_NAME,RC=STATUS)_VERIFY(STATUS)Iam=trim(COMP_NAME)//"MAPL_CplCompSetAlarm"! Retrieve the pointer to the internal state. It comes in a wrapper.! ------------------------------------------------------------------call ESMF_CplCompGetInternalState(CC,WRAP,STATUS)_VERIFY(STATUS)STATE=>WRAP%INTERNAL_STATEif(.not.associated(STATE%TIME2CPL_ALARM))thenSTATE%TIME2CPL_ALARM=>ALARMelse_FAIL("Alarm is already associated! Cannot set it again!")end if_RETURN(ESMF_SUCCESS)end subroutine MAPL_CplCompSetAlarm