f_esmf_locstreamgetkeyarray Subroutine

subroutine f_esmf_locstreamgetkeyarray(locstream, keyName, array, rc)

Uses

  • proc~~f_esmf_locstreamgetkeyarray~~UsesGraph proc~f_esmf_locstreamgetkeyarray f_esmf_locstreamgetkeyarray module~esmf_arraymod ESMF_ArrayMod proc~f_esmf_locstreamgetkeyarray->module~esmf_arraymod module~esmf_arrayspecmod ESMF_ArraySpecMod proc~f_esmf_locstreamgetkeyarray->module~esmf_arrayspecmod module~esmf_basemod ESMF_BaseMod proc~f_esmf_locstreamgetkeyarray->module~esmf_basemod module~esmf_locstreammod ESMF_LocStreamMod proc~f_esmf_locstreamgetkeyarray->module~esmf_locstreammod module~esmf_logerrmod ESMF_LogErrMod proc~f_esmf_locstreamgetkeyarray->module~esmf_logerrmod module~esmf_utiltypesmod ESMF_UtilTypesMod proc~f_esmf_locstreamgetkeyarray->module~esmf_utiltypesmod module~esmf_arraymod->module~esmf_arrayspecmod module~esmf_arraymod->module~esmf_basemod module~esmf_arraymod->module~esmf_logerrmod module~esmf_arraymod->module~esmf_utiltypesmod ESMF_ArrayCreateMod ESMF_ArrayCreateMod module~esmf_arraymod->ESMF_ArrayCreateMod ESMF_ArrayGatherMod ESMF_ArrayGatherMod module~esmf_arraymod->ESMF_ArrayGatherMod ESMF_ArrayGetMod ESMF_ArrayGetMod module~esmf_arraymod->ESMF_ArrayGetMod ESMF_ArrayScatterMod ESMF_ArrayScatterMod module~esmf_arraymod->ESMF_ArrayScatterMod iso_c_binding iso_c_binding module~esmf_arraymod->iso_c_binding module~esmf_arrayhamod ESMF_ArrayHaMod module~esmf_arraymod->module~esmf_arrayhamod module~esmf_delayoutmod ESMF_DELayoutMod module~esmf_arraymod->module~esmf_delayoutmod module~esmf_distgridmod ESMF_DistGridMod module~esmf_arraymod->module~esmf_distgridmod module~esmf_dynamicmaskmod ESMF_DynamicMaskMod module~esmf_arraymod->module~esmf_dynamicmaskmod module~esmf_f90interfacemod ESMF_F90InterfaceMod module~esmf_arraymod->module~esmf_f90interfacemod module~esmf_factorreadmod ESMF_FactorReadMod module~esmf_arraymod->module~esmf_factorreadmod module~esmf_initmacrosmod ESMF_InitMacrosMod module~esmf_arraymod->module~esmf_initmacrosmod module~esmf_localarraymod ESMF_LocalArrayMod module~esmf_arraymod->module~esmf_localarraymod module~esmf_rhandlemod ESMF_RHandleMod module~esmf_arraymod->module~esmf_rhandlemod module~esmf_vmmod ESMF_VMMod module~esmf_arraymod->module~esmf_vmmod module~esmf_arrayspecmod->module~esmf_basemod module~esmf_arrayspecmod->module~esmf_logerrmod module~esmf_arrayspecmod->module~esmf_utiltypesmod module~esmf_arrayspecmod->module~esmf_initmacrosmod module~esmf_ioutilmod ESMF_IOUtilMod module~esmf_arrayspecmod->module~esmf_ioutilmod module~esmf_basemod->module~esmf_logerrmod module~esmf_basemod->module~esmf_utiltypesmod module~esmf_basemod->iso_c_binding module~esmf_basemod->module~esmf_initmacrosmod module~esmf_basemod->module~esmf_ioutilmod module~esmf_basemod->module~esmf_vmmod module~esmf_locstreammod->module~esmf_arraymod module~esmf_locstreammod->module~esmf_arrayspecmod module~esmf_locstreammod->module~esmf_basemod module~esmf_locstreammod->module~esmf_logerrmod module~esmf_locstreammod->module~esmf_utiltypesmod module~esmf_locstreammod->ESMF_ArrayCreateMod module~esmf_locstreammod->ESMF_ArrayGetMod module~esmf_arraybundlemod ESMF_ArrayBundleMod module~esmf_locstreammod->module~esmf_arraybundlemod module~esmf_locstreammod->module~esmf_delayoutmod module~esmf_locstreammod->module~esmf_distgridmod module~esmf_gridmod ESMF_GridMod module~esmf_locstreammod->module~esmf_gridmod module~esmf_gridutilmod ESMF_GridUtilMod module~esmf_locstreammod->module~esmf_gridutilmod module~esmf_locstreammod->module~esmf_initmacrosmod module~esmf_ioscripmod ESMF_IOScripMod module~esmf_locstreammod->module~esmf_ioscripmod module~esmf_iougridmod ESMF_IOUGridMod module~esmf_locstreammod->module~esmf_iougridmod module~esmf_locstreammod->module~esmf_ioutilmod module~esmf_locstreammod->module~esmf_localarraymod module~esmf_meshmod ESMF_MeshMod module~esmf_locstreammod->module~esmf_meshmod module~esmf_locstreammod->module~esmf_rhandlemod module~esmf_staggerlocmod ESMF_StaggerLocMod module~esmf_locstreammod->module~esmf_staggerlocmod module~esmf_utilmod ESMF_UtilMod module~esmf_locstreammod->module~esmf_utilmod module~esmf_locstreammod->module~esmf_vmmod module~esmf_logerrmod->module~esmf_utiltypesmod module~esmf_logerrmod->module~esmf_ioutilmod module~esmf_utilstringmod ESMF_UtilStringMod module~esmf_logerrmod->module~esmf_utilstringmod module~esmf_utiltypesmod->iso_c_binding

Arguments

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

Calls

proc~~f_esmf_locstreamgetkeyarray~~CallsGraph proc~f_esmf_locstreamgetkeyarray f_esmf_locstreamgetkeyarray esmf_arraycopythis esmf_arraycopythis proc~f_esmf_locstreamgetkeyarray->esmf_arraycopythis interface~esmf_locstreamgetkey ESMF_LocStreamGetKey proc~f_esmf_locstreamgetkeyarray->interface~esmf_locstreamgetkey proc~esmf_logfounderror ESMF_LogFoundError proc~f_esmf_locstreamgetkeyarray->proc~esmf_logfounderror proc~esmf_locstreamgetkeyarray ESMF_LocStreamGetKeyArray interface~esmf_locstreamgetkey->proc~esmf_locstreamgetkeyarray proc~esmf_locstreamgetkeyi4 ESMF_LocStreamGetKeyI4 interface~esmf_locstreamgetkey->proc~esmf_locstreamgetkeyi4 proc~esmf_locstreamgetkeyinfo ESMF_LocStreamGetKeyInfo interface~esmf_locstreamgetkey->proc~esmf_locstreamgetkeyinfo proc~esmf_locstreamgetkeyr4 ESMF_LocStreamGetKeyR4 interface~esmf_locstreamgetkey->proc~esmf_locstreamgetkeyr4 proc~esmf_locstreamgetkeyr8 ESMF_LocStreamGetKeyR8 interface~esmf_locstreamgetkey->proc~esmf_locstreamgetkeyr8 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~esmf_locstreamgetkeyarray->proc~esmf_logfounderror proc~esmf_imerr ESMF_IMErr proc~esmf_locstreamgetkeyarray->proc~esmf_imerr proc~esmf_locstreamgetinit ESMF_LocStreamGetInit proc~esmf_locstreamgetkeyarray->proc~esmf_locstreamgetinit proc~esmf_locstreamgetkeyi4->proc~esmf_logfounderror proc~esmf_locstreamgetkeyi4->proc~esmf_locstreamgetkeyarray c_esmc_locstreamgetkeybnds c_esmc_locstreamgetkeybnds proc~esmf_locstreamgetkeyi4->c_esmc_locstreamgetkeybnds esmf_arrayget esmf_arrayget proc~esmf_locstreamgetkeyi4->esmf_arrayget esmf_localarrayget esmf_localarrayget proc~esmf_locstreamgetkeyi4->esmf_localarrayget proc~esmf_locstreamgetkeyi4->proc~esmf_imerr proc~esmf_locstreamgetkeyi4->proc~esmf_locstreamgetinit proc~esmf_locstreamgetkeyinfo->proc~esmf_logfounderror proc~esmf_locstreamgetkeyinfo->esmf_arrayget proc~esmf_locstreamgetkeyinfo->proc~esmf_imerr proc~esmf_locstreamgetkeyinfo->proc~esmf_locstreamgetinit proc~esmf_locstreamgetkeyr4->proc~esmf_logfounderror proc~esmf_locstreamgetkeyr4->proc~esmf_locstreamgetkeyarray proc~esmf_locstreamgetkeyr4->c_esmc_locstreamgetkeybnds proc~esmf_locstreamgetkeyr4->esmf_arrayget proc~esmf_locstreamgetkeyr4->esmf_localarrayget proc~esmf_locstreamgetkeyr4->proc~esmf_imerr proc~esmf_locstreamgetkeyr4->proc~esmf_locstreamgetinit proc~esmf_locstreamgetkeyr8->proc~esmf_logfounderror proc~esmf_locstreamgetkeyr8->proc~esmf_locstreamgetkeyarray proc~esmf_locstreamgetkeyr8->c_esmc_locstreamgetkeybnds proc~esmf_locstreamgetkeyr8->esmf_arrayget proc~esmf_locstreamgetkeyr8->esmf_localarrayget proc~esmf_locstreamgetkeyr8->proc~esmf_imerr proc~esmf_locstreamgetkeyr8->proc~esmf_locstreamgetinit 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_imerr->proc~esmf_logfounderror proc~esmf_initcheckdeep ESMF_InitCheckDeep proc~esmf_imerr->proc~esmf_initcheckdeep 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

  subroutine f_esmf_locstreamgetkeyarray(locstream, keyName, array, rc)

    use ESMF_UtilTypesMod
    use ESMF_BaseMod
    use ESMF_LogErrMod
    use ESMF_ArraySpecMod
    use ESMF_ArrayMod
    use ESMF_LocStreamMod

    implicit none

    type(ESMF_LocStream)         :: locstream
    character(len=*),intent(in)  :: keyName
    type(ESMF_Array)             :: array
    integer, intent(out)         :: rc

    ! local
    type(ESMF_Array)               :: l_array

  ! initialize return code; assume routine not implemented
    rc = ESMF_RC_NOT_IMPL

    call ESMF_LocStreamGetKey(locstream, keyName=keyName, keyArray=l_array, rc=rc)
    if (ESMF_LogFoundError(rc, ESMF_ERR_PASSTHRU, &
      ESMF_CONTEXT, rcToReturn=rc)) return

    ! because ESMF_Array.this is private, it cannot be accessed directly
    ! we use the public interface to do the ptr copy;
    ! the array object returned to the C interface must consist only of the
    ! this pointer. It must not contain the isInit member.
    call ESMF_ArrayCopyThis(l_array, array, rc)
    if (ESMF_LogFoundError(rc, ESMF_ERR_PASSTHRU, &
      ESMF_CONTEXT, rcToReturn=rc)) return

    rc = ESMF_SUCCESS

  end subroutine f_esmf_locstreamgetkeyarray