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~~CallsGraph proc~dispatchphasechecks dispatchPhaseChecks interface~nuopc_compsearchphasemapbyindex NUOPC_CompSearchPhaseMapByIndex proc~dispatchphasechecks->interface~nuopc_compsearchphasemapbyindex proc~checkepi_fieldsrealized checkEpi_FieldsRealized proc~dispatchphasechecks->proc~checkepi_fieldsrealized proc~esmf_logfounderror ESMF_LogFoundError proc~dispatchphasechecks->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_fieldsrealized->proc~esmf_logfounderror proc~checkstateafterrealize checkStateAfterRealize proc~checkepi_fieldsrealized->proc~checkstateafterrealize 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~checkstateafterrealize->proc~esmf_logfounderror esmf_fieldbundleget esmf_fieldbundleget proc~checkstateafterrealize->esmf_fieldbundleget esmf_stateget esmf_stateget proc~checkstateafterrealize->esmf_stateget esmf_stateiscreated esmf_stateiscreated proc~checkstateafterrealize->esmf_stateiscreated proc~checkfieldmetaafterrealize checkFieldMetaAfterRealize proc~checkstateafterrealize->proc~checkfieldmetaafterrealize 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_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~esmf_gridcompget ESMF_GridCompGet proc~nuopc_gridcompsearchphasemapbyindex->proc~esmf_gridcompget proc~nuopc_gridcompsearchphasemapbyindex->proc~esmf_logfoundallocerror

Called by

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

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, &
            attributeToCheck="InternalInitializePhaseMap", 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_AllFieldsRealized, trim(phaseLabel)) > 0) then
                call checkEpi_FieldsRealized(prefix, comp, importState, &
                   exportState, clock, rc=rc)
                if (ESMF_LogFoundError(rc, &
                  line=__LINE__, &
                  file=FILENAME)) &
                  return  ! bail out
              endif
            endif
        endif

    end subroutine dispatchPhaseChecks