dispatchPhaseChecks Subroutine

private recursive subroutine dispatchPhaseChecks(prefix, comp, methodflag, phaseIndex, importState, exportState, clock, prologue, rc)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: prefix
type(ESMF_GridComp) :: comp
type(ESMF_Method_Flag), intent(in) :: methodflag
integer, intent(in) :: phaseIndex
type(ESMF_State) :: importState
type(ESMF_State) :: exportState
type(ESMF_Clock) :: clock
logical :: prologue
integer, intent(out) :: rc

Calls

proc~~dispatchphasechecks~2~~CallsGraph proc~dispatchphasechecks~2 dispatchPhaseChecks interface~nuopc_compsearchphasemapbyindex NUOPC_CompSearchPhaseMapByIndex proc~dispatchphasechecks~2->interface~nuopc_compsearchphasemapbyindex proc~checkepi_advertise checkEpi_Advertise proc~dispatchphasechecks~2->proc~checkepi_advertise proc~checkepi_internalclockset checkEpi_InternalClockSet proc~dispatchphasechecks~2->proc~checkepi_internalclockset proc~esmf_logfounderror ESMF_LogFoundError proc~dispatchphasechecks~2->proc~esmf_logfounderror proc~nuopc_cplcompsearchphasemapbyindex NUOPC_CplCompSearchPhaseMapByIndex interface~nuopc_compsearchphasemapbyindex->proc~nuopc_cplcompsearchphasemapbyindex proc~nuopc_gridcompsearchphasemapbyindex NUOPC_GridCompSearchPhaseMapByIndex interface~nuopc_compsearchphasemapbyindex->proc~nuopc_gridcompsearchphasemapbyindex proc~checkepi_advertise->proc~esmf_logfounderror proc~checkstateafteradvertise checkStateAfterAdvertise proc~checkepi_advertise->proc~checkstateafteradvertise proc~nuopc_compliancelogwrite NUOPC_ComplianceLogWrite proc~checkepi_advertise->proc~nuopc_compliancelogwrite proc~checkepi_internalclockset->proc~esmf_logfounderror proc~nuopc_checkinternalclock NUOPC_CheckInternalClock proc~checkepi_internalclockset->proc~nuopc_checkinternalclock esmf_breakpoint esmf_breakpoint proc~esmf_logfounderror->esmf_breakpoint proc~esmf_logrc2msg ESMF_LogRc2Msg proc~esmf_logfounderror->proc~esmf_logrc2msg proc~esmf_logwrite ESMF_LogWrite proc~esmf_logfounderror->proc~esmf_logwrite proc~checkstateafteradvertise->proc~esmf_logfounderror esmf_fieldbundleget esmf_fieldbundleget proc~checkstateafteradvertise->esmf_fieldbundleget esmf_stateget esmf_stateget proc~checkstateafteradvertise->esmf_stateget proc~checkfieldmetaafteradvertise checkFieldMetaAfterAdvertise proc~checkstateafteradvertise->proc~checkfieldmetaafteradvertise c_esmc_loggeterrormsg c_esmc_loggeterrormsg proc~esmf_logrc2msg->c_esmc_loggeterrormsg c_esmc_vmwtime c_esmc_vmwtime proc~esmf_logwrite->c_esmc_vmwtime proc~esmf_logclose ESMF_LogClose proc~esmf_logwrite->proc~esmf_logclose proc~esmf_logflush ESMF_LogFlush proc~esmf_logwrite->proc~esmf_logflush proc~esmf_logopenfile ESMF_LogOpenFile proc~esmf_logwrite->proc~esmf_logopenfile proc~esmf_utiliounitflush ESMF_UtilIOUnitFlush proc~esmf_logwrite->proc~esmf_utiliounitflush proc~esmf_utilstring2array ESMF_UtilString2Array proc~esmf_logwrite->proc~esmf_utilstring2array proc~nuopc_checkinternalclock->proc~esmf_logfounderror proc~nuopc_checkinternalclock->proc~nuopc_compliancelogwrite proc~esmf_clockget ESMF_ClockGet proc~nuopc_checkinternalclock->proc~esmf_clockget proc~esmf_clockiscreated ESMF_ClockIsCreated proc~nuopc_checkinternalclock->proc~esmf_clockiscreated proc~esmf_gridcompget ESMF_GridCompGet proc~nuopc_checkinternalclock->proc~esmf_gridcompget proc~nuopc_compliancelogwrite->proc~esmf_logfounderror proc~nuopc_compliancelogwrite->proc~esmf_logwrite proc~nuopc_cplcompsearchphasemapbyindex->proc~esmf_logfounderror interface~esmf_attributeget ESMF_AttributeGet proc~nuopc_cplcompsearchphasemapbyindex->interface~esmf_attributeget proc~esmf_cplcompget ESMF_CplCompGet proc~nuopc_cplcompsearchphasemapbyindex->proc~esmf_cplcompget proc~esmf_logfoundallocerror ESMF_LogFoundAllocError proc~nuopc_cplcompsearchphasemapbyindex->proc~esmf_logfoundallocerror proc~nuopc_gridcompsearchphasemapbyindex->proc~esmf_logfounderror proc~nuopc_gridcompsearchphasemapbyindex->interface~esmf_attributeget proc~nuopc_gridcompsearchphasemapbyindex->proc~esmf_gridcompget proc~nuopc_gridcompsearchphasemapbyindex->proc~esmf_logfoundallocerror

Called by

proc~~dispatchphasechecks~2~~CalledByGraph proc~dispatchphasechecks~2 dispatchPhaseChecks proc~ic_init~3 ic_init proc~ic_init~3->proc~dispatchphasechecks~2

Source Code

    recursive subroutine dispatchPhaseChecks(prefix, comp, methodflag, &
        phaseIndex, importState, exportState, clock, prologue, rc)

        character(*), intent(in)           :: prefix
        type(ESMF_GridComp)                :: comp
        type(ESMF_Method_Flag), intent(in) :: methodflag
        integer,                intent(in) :: phaseIndex
        type(ESMF_State)                   :: importState, exportState
        type(ESMF_Clock)                   :: clock
        logical                            :: prologue
        integer, intent(out)               :: rc

        ! local variables
        character(NUOPC_PhaseMapStringLength) :: phaseLabel

        rc = ESMF_SUCCESS

        call NUOPC_CompSearchPhaseMapByIndex(comp, &
            methodflag, phaseIndex, phaseLabel, rc=rc)
        if (ESMF_LogFoundError(rc, &
            line=__LINE__, &
            file=FILENAME)) &
            return  ! bail out

        if (prologue) then
            ! nothing yet
        else ! epilogue
            if (methodflag==ESMF_METHOD_INITIALIZE) then
                if (index(event_AdvertiseFields, trim(phaseLabel)) > 0) then
                    call checkEpi_Advertise(prefix, comp, importState, &
                        exportState, clock, rc=rc)
                    if (ESMF_LogFoundError(rc, &
                      line=__LINE__, &
                      file=FILENAME)) &
                      return  ! bail out
                elseif (index(event_InternalClockSet, trim(phaseLabel)) > 0) then
                    call checkEpi_InternalClockSet(prefix, comp, importState, &
                        exportState, clock, rc=rc)
                    if (ESMF_LogFoundError(rc, &
                      line=__LINE__, &
                      file=FILENAME)) &
                      return  ! bail out
                endif
            endif
        endif

    end subroutine dispatchPhaseChecks