ESMF_BaseGetStatus Subroutine

public recursive subroutine ESMF_BaseGetStatus(base, status, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Base), intent(in) :: base
type(ESMF_Status), intent(out) :: status
integer, intent(out), optional :: rc

Calls

proc~~esmf_basegetstatus~~CallsGraph proc~esmf_basegetstatus ESMF_BaseGetStatus c_esmc_basegetstatus c_esmc_basegetstatus proc~esmf_basegetstatus->c_esmc_basegetstatus proc~esmf_logfounderror ESMF_LogFoundError proc~esmf_basegetstatus->proc~esmf_logfounderror 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 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~esmf_logclose->proc~esmf_logflush proc~esmf_logflush->proc~esmf_utiliounitflush proc~esmf_utilarray2string ESMF_UtilArray2String proc~esmf_logflush->proc~esmf_utilarray2string proc~esmf_logopenfile->proc~esmf_utiliounitflush proc~esmf_utiliounitget ESMF_UtilIOUnitGet proc~esmf_logopenfile->proc~esmf_utiliounitget

Called by

proc~~esmf_basegetstatus~~CalledByGraph proc~esmf_basegetstatus ESMF_BaseGetStatus proc~esmf_compdestruct ESMF_CompDestruct proc~esmf_compdestruct->proc~esmf_basegetstatus proc~esmf_compexecute ESMF_CompExecute proc~esmf_compexecute->proc~esmf_basegetstatus proc~esmf_compget ESMF_CompGet proc~esmf_compget->proc~esmf_basegetstatus proc~esmf_compisdualconnected ESMF_CompIsDualConnected proc~esmf_compisdualconnected->proc~esmf_basegetstatus proc~esmf_compispetlocal ESMF_CompIsPetLocal proc~esmf_compispetlocal->proc~esmf_basegetstatus proc~esmf_compprint ESMF_CompPrint proc~esmf_compprint->proc~esmf_basegetstatus proc~esmf_compset ESMF_CompSet proc~esmf_compset->proc~esmf_basegetstatus proc~esmf_compvalidate ESMF_CompValidate proc~esmf_compvalidate->proc~esmf_basegetstatus proc~esmf_compwait ESMF_CompWait proc~esmf_compwait->proc~esmf_basegetstatus proc~esmf_fieldprint ESMF_FieldPrint proc~esmf_fieldprint->proc~esmf_basegetstatus proc~esmf_fieldvalidate ESMF_FieldValidate proc~esmf_fieldvalidate->proc~esmf_basegetstatus proc~esmf_locstreamdestruct ESMF_LocStreamDestruct proc~esmf_locstreamdestruct->proc~esmf_basegetstatus proc~esmf_xgriddestroy ESMF_XGridDestroy proc~esmf_xgriddestroy->proc~esmf_basegetstatus proc~esmf_xgridvalidate ESMF_XGridValidate proc~esmf_xgridvalidate->proc~esmf_basegetstatus

Source Code

  recursive subroutine ESMF_BaseGetStatus(base, status, rc)
!
! !ARGUMENTS:
      type(ESMF_Base),    intent(in)            :: base
      type(ESMF_Status),  intent(out)           :: status
      integer,            intent(out), optional :: rc

!
! !DESCRIPTION:
!     Get the ststus
!
!     The arguments are:
!     \begin{description}
!     \item[base]
!       Any ESMF type.
!     \item[status]
!       status returned.
!     \item[{[rc]}]
!       Return code; equals {\tt ESMF\_SUCCESS} if there are no errors.
!     \end{description}
!
!EOPI
      integer :: localrc

      ! Initialize return code; assume routine not implemented
      if (present(rc)) rc = ESMF_RC_NOT_IMPL
      localrc = ESMF_RC_NOT_IMPL

      call c_ESMC_BaseGetStatus(base, status, localrc)
      if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, &
        ESMF_CONTEXT, rcToReturn=rc)) return
      
      ! return successfully
      if (present(rc)) rc = ESMF_SUCCESS

  end subroutine ESMF_BaseGetStatus