ESMF_StateItemString Function

public function ESMF_StateItemString(itemtype, keywordEnforcer, rc) result(string)

Arguments

Type IntentOptional Attributes Name
type(ESMF_StateItem_Flag), intent(in) :: itemtype
type(ESMF_KeywordEnforcer), optional :: keywordEnforcer
integer, intent(out), optional :: rc

Return Value character(len=:), allocatable


Calls

proc~~esmf_stateitemstring~~CallsGraph proc~esmf_stateitemstring ESMF_StateItemString proc~esmf_logseterror ESMF_LogSetError proc~esmf_stateitemstring->proc~esmf_logseterror esmf_breakpoint esmf_breakpoint proc~esmf_logseterror->esmf_breakpoint proc~esmf_logrc2msg ESMF_LogRc2Msg proc~esmf_logseterror->proc~esmf_logrc2msg proc~esmf_logwrite ESMF_LogWrite proc~esmf_logseterror->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

Source Code

  function ESMF_StateItemString (itemtype, keywordEnforcer, rc) result (string)
!
! !RETURN VALUE:
    character(len=:), allocatable    :: string
!
! !ARGUMENTS:
    type(ESMF_StateItem_Flag), intent(in) :: itemtype
    type(ESMF_KeywordEnforcer), optional:: keywordEnforcer ! must use keywords below
    integer,                  intent(out), optional :: rc
!         
! !DESCRIPTION:
!   String of StateItem Flag.
!   \item[itemtype]
!     State item type code
!   \item[{[rc]}]
!     Return code; equals {\tt ESMF\_SUCCESS} if there are no errors.
!   \end{description}
!
!EOPI
!------------------------------------------------------------------------------
    integer                     :: localrc      ! local return code

    ! Initialize return code; assume failure until success is certain
    if (present(rc)) rc = ESMF_RC_NOT_IMPL
    
    select case (itemtype%ot)
    case (ESMF_STATEITEM_FIELD%ot)
      string = "Field"
    case (ESMF_STATEITEM_FIELDBUNDLE%ot)
      string = "FieldBundle"
    case (ESMF_STATEITEM_ARRAY%ot)
      string = "Array"
    case (ESMF_STATEITEM_ARRAYBUNDLE%ot)
      string = "ArrayBundle"
    case (ESMF_STATEITEM_ROUTEHANDLE%ot)
      string = "RouteHandle"
    case (ESMF_STATEITEM_STATE%ot)
      string = "State"
    case (ESMF_STATEITEM_UNKNOWN%ot)
      string = "Unknown"
    case (ESMF_STATEITEM_NOTFOUND%ot)
      string = "NotFound"
    case default
      string = ""
      call ESMF_LogSetError(rcToCheck=ESMF_RC_INTNRL_BAD, &
        msg="- unsupported StateItemType", &
        ESMF_CONTEXT, rcToReturn=rc)
      return  ! bail out
    end select
    
    ! Return successfully
    if (present(rc)) rc = ESMF_SUCCESS

  end function ESMF_StateItemString