ESMF_LocStreamGetKeyArray Subroutine

private subroutine ESMF_LocStreamGetKeyArray(locstream, keyName, keyArray, keywordEnforcer, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_LocStream), intent(in) :: locstream
character(len=*), intent(in) :: keyName
type(ESMF_Array), intent(out) :: keyArray
type(ESMF_KeywordEnforcer), optional :: keywordEnforcer
integer, intent(out), optional :: rc

Calls

proc~~esmf_locstreamgetkeyarray~~CallsGraph proc~esmf_locstreamgetkeyarray ESMF_LocStreamGetKeyArray proc~esmf_imerr ESMF_IMErr proc~esmf_locstreamgetkeyarray->proc~esmf_imerr proc~esmf_locstreamgetinit ESMF_LocStreamGetInit proc~esmf_locstreamgetkeyarray->proc~esmf_locstreamgetinit proc~esmf_logfounderror ESMF_LogFoundError proc~esmf_locstreamgetkeyarray->proc~esmf_logfounderror proc~esmf_imerr->proc~esmf_logfounderror proc~esmf_initcheckdeep ESMF_InitCheckDeep proc~esmf_imerr->proc~esmf_initcheckdeep 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_locstreamgetkeyarray~~CalledByGraph proc~esmf_locstreamgetkeyarray ESMF_LocStreamGetKeyArray interface~esmf_locstreamgetkey ESMF_LocStreamGetKey interface~esmf_locstreamgetkey->proc~esmf_locstreamgetkeyarray proc~esmf_locstreamgetkeyi4 ESMF_LocStreamGetKeyI4 interface~esmf_locstreamgetkey->proc~esmf_locstreamgetkeyi4 proc~esmf_locstreamgetkeyr4 ESMF_LocStreamGetKeyR4 interface~esmf_locstreamgetkey->proc~esmf_locstreamgetkeyr4 proc~esmf_locstreamgetkeyr8 ESMF_LocStreamGetKeyR8 interface~esmf_locstreamgetkey->proc~esmf_locstreamgetkeyr8 proc~esmf_locstreamgetkeyi4->proc~esmf_locstreamgetkeyarray proc~esmf_locstreamgetkeyr4->proc~esmf_locstreamgetkeyarray proc~esmf_locstreamgetkeyr8->proc~esmf_locstreamgetkeyarray proc~esmf_locstreamcreatebybkgmesh ESMF_LocStreamCreateByBkgMesh proc~esmf_locstreamcreatebybkgmesh->interface~esmf_locstreamgetkey proc~esmf_locstreamgetpntlist ESMF_LocStreamGetPntList proc~esmf_locstreamcreatebybkgmesh->proc~esmf_locstreamgetpntlist proc~esmf_locstreamgetpntlist->interface~esmf_locstreamgetkey proc~esmf_locstreamprint ESMF_LocStreamPrint proc~esmf_locstreamprint->interface~esmf_locstreamgetkey proc~esmf_pointlistcreatefrmlocstream ESMF_PointListCreateFrmLocStream proc~esmf_pointlistcreatefrmlocstream->interface~esmf_locstreamgetkey proc~f_esmf_locstreamgetkeyarray f_esmf_locstreamgetkeyarray proc~f_esmf_locstreamgetkeyarray->interface~esmf_locstreamgetkey proc~test_locstreambkg test_locstreambkg proc~test_locstreambkg->interface~esmf_locstreamgetkey proc~test_locstreambkgnda test_locstreambkgnda proc~test_locstreambkgnda->interface~esmf_locstreamgetkey proc~test_locstreambkgsph test_locstreambkgsph proc~test_locstreambkgsph->interface~esmf_locstreamgetkey proc~test_nearest2dcartlstols test_Nearest2DCartLSToLS proc~test_nearest2dcartlstols->interface~esmf_locstreamgetkey proc~test_nearest3dcartlstols test_Nearest3DCartLSToLS proc~test_nearest3dcartlstols->interface~esmf_locstreamgetkey proc~test_patchmeshtolocstreammask test_PatchMeshToLocStreamMask proc~test_patchmeshtolocstreammask->interface~esmf_locstreamgetkey proc~test_pointlist_from_locstream_wmask test_pointlist_from_locStream_wmask proc~test_pointlist_from_locstream_wmask->interface~esmf_locstreamgetkey proc~test_regridgridtogml test_regridGridToGML proc~test_regridgridtogml->interface~esmf_locstreamgetkey proc~test_regridgridtolocstream3d test_regridGridToLocStream3d proc~test_regridgridtolocstream3d->interface~esmf_locstreamgetkey proc~test_regridgridtolocstreamloccnt test_regridGridToLocStreamLocCnt proc~test_regridgridtolocstreamloccnt->interface~esmf_locstreamgetkey proc~test_regridgridtolocstreamregdist test_regridGridToLocStreamRegDist proc~test_regridgridtolocstreamregdist->interface~esmf_locstreamgetkey proc~test_regridmeshtolocstreammask test_regridMeshToLocStreamMask proc~test_regridmeshtolocstreammask->interface~esmf_locstreamgetkey proc~test_regridnearestlocstream_wclustertomesh test_regridNearestLocStream_wClusterToMesh proc~test_regridnearestlocstream_wclustertomesh->interface~esmf_locstreamgetkey proc~test_regridnearestlocstreamtogrid test_regridNearestLocStreamToGrid proc~test_regridnearestlocstreamtogrid->interface~esmf_locstreamgetkey proc~test_regridnearestlocstreamtolocstream test_regridNearestLocStreamToLocStream proc~test_regridnearestlocstreamtolocstream->interface~esmf_locstreamgetkey proc~user_init~23 user_init proc~user_init~23->interface~esmf_locstreamgetkey proc~user_run~24 user_run proc~user_run~24->interface~esmf_locstreamgetkey program~esmf_locstreamcreateutest ESMF_LocStreamCreateUTest program~esmf_locstreamcreateutest->interface~esmf_locstreamgetkey program~esmf_locstreamcreateutest->proc~esmf_locstreamprint program~esmf_locstreamcreateutest->proc~test_locstreambkg program~esmf_locstreamcreateutest->proc~test_locstreambkgnda program~esmf_locstreamcreateutest->proc~test_locstreambkgsph program~esmf_locstreamex ESMF_LocStreamEx program~esmf_locstreamex->interface~esmf_locstreamgetkey interface~esmf_locstreamcreate ESMF_LocStreamCreate interface~esmf_locstreamcreate->proc~esmf_locstreamcreatebybkgmesh interface~esmf_pointlistcreate ESMF_PointListCreate interface~esmf_pointlistcreate->proc~esmf_pointlistcreatefrmlocstream program~esmf_pointlistutest ESMF_PointListUTest program~esmf_pointlistutest->proc~test_pointlist_from_locstream_wmask

Source Code

  subroutine ESMF_LocStreamGetKeyArray(locstream, keyName, keyArray, &
       keywordEnforcer, rc)
!
! !ARGUMENTS:
    type(ESMF_Locstream), intent(in)            :: locstream
    character (len=*),    intent(in)            :: keyName
    type(ESMF_Array),     intent(out)           :: keyArray
type(ESMF_KeywordEnforcer), optional:: keywordEnforcer ! must use keywords below
    integer,              intent(out), optional :: rc
!
! !DESCRIPTION:
! Get ESMF Array associated with key.
!
! The arguments are:
! \begin{description}
! \item [locstream]
! The {\tt ESMF\_LocStream} object to get key from.
! \item [keyName]
! The name of the key to get. 
! \item [keyArray]
! Array associated with key.
! \item [{[rc]}]
! Return code; equals {\tt ESMF\_SUCCESS} if there are no errors.
! \end{description}
!EOP
!------------------------------------------------------------------------------
    type(ESMF_LocStreamType), pointer :: lstypep
    integer :: i,keyIndex
    integer :: localrc

    ! Initialize
    localrc = ESMF_RC_NOT_IMPL
    if (present(rc)) rc = ESMF_RC_NOT_IMPL

    ! check variables
    ESMF_INIT_CHECK_DEEP(ESMF_LocStreamGetInit,locstream,rc)

    ! get the pointer to the locstream
    lstypep => locstream%lstypep

    ! find the index of the key
    keyIndex=0
    do i=1,lstypep%keyCount
       if (trim(keyName) .eq. trim(lstypep%keyNames(i))) then
          keyIndex=i
          exit 
       endif
    enddo

   ! If nothing found return error
   if (keyIndex==0) then
      if (ESMF_LogFoundError(ESMF_RC_ARG_WRONG, &
            msg=" - unable to find the following LocStream key: "//keyName, &
            ESMF_CONTEXT, rcToReturn=rc)) return
   endif

   ! Get Array
   keyArray=lstypep%keys(keyIndex)

   ! return success
   if (present(rc)) rc = ESMF_SUCCESS

  end subroutine ESMF_LocStreamGetKeyArray