f_esmf_stategetitemnames Subroutine

subroutine f_esmf_stategetitemnames(state, numItems, itemNameList, itemTypeList, rc)

Uses

  • proc~~f_esmf_stategetitemnames~~UsesGraph proc~f_esmf_stategetitemnames f_esmf_stategetitemnames ESMF_ArrayCreateMod ESMF_ArrayCreateMod proc~f_esmf_stategetitemnames->ESMF_ArrayCreateMod module~esmf_basemod ESMF_BaseMod proc~f_esmf_stategetitemnames->module~esmf_basemod module~esmf_logerrmod ESMF_LogErrMod proc~f_esmf_stategetitemnames->module~esmf_logerrmod module~esmf_statemod ESMF_StateMod proc~f_esmf_stategetitemnames->module~esmf_statemod module~esmf_statetypesmod ESMF_StateTypesMod proc~f_esmf_stategetitemnames->module~esmf_statetypesmod module~esmf_utiltypesmod ESMF_UtilTypesMod proc~f_esmf_stategetitemnames->module~esmf_utiltypesmod module~esmf_basemod->module~esmf_logerrmod module~esmf_basemod->module~esmf_utiltypesmod iso_c_binding iso_c_binding module~esmf_basemod->iso_c_binding module~esmf_initmacrosmod ESMF_InitMacrosMod module~esmf_basemod->module~esmf_initmacrosmod module~esmf_ioutilmod ESMF_IOUtilMod module~esmf_basemod->module~esmf_ioutilmod module~esmf_vmmod ESMF_VMMod module~esmf_basemod->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 ESMF_StateAPIMod ESMF_StateAPIMod module~esmf_statemod->ESMF_StateAPIMod ESMF_StateRemRepMod ESMF_StateRemRepMod module~esmf_statemod->ESMF_StateRemRepMod module~esmf_statetypesmod->module~esmf_basemod module~esmf_statetypesmod->module~esmf_logerrmod module~esmf_statetypesmod->module~esmf_utiltypesmod ESMF_FieldBundleMod ESMF_FieldBundleMod module~esmf_statetypesmod->ESMF_FieldBundleMod module~esmf_arraybundlemod ESMF_ArrayBundleMod module~esmf_statetypesmod->module~esmf_arraybundlemod module~esmf_arraymod ESMF_ArrayMod module~esmf_statetypesmod->module~esmf_arraymod module~esmf_fieldmod ESMF_FieldMod module~esmf_statetypesmod->module~esmf_fieldmod module~esmf_statetypesmod->module~esmf_initmacrosmod module~esmf_rhandlemod ESMF_RHandleMod module~esmf_statetypesmod->module~esmf_rhandlemod module~esmf_statecontainermod ESMF_StateContainerMod module~esmf_statetypesmod->module~esmf_statecontainermod module~esmf_stateitemmod ESMF_StateItemMod module~esmf_statetypesmod->module~esmf_stateitemmod module~esmf_statetypesmod->module~esmf_vmmod module~esmf_utiltypesmod->iso_c_binding

Arguments

Type IntentOptional Attributes Name
type(ESMF_State), intent(in) :: state
integer, intent(in) :: numItems
character(len=*), intent(inout) :: itemNameList(numItems)
type(ESMF_StateItem_Flag), intent(inout) :: itemTypeList(numItems)
integer, intent(out) :: rc

Calls

proc~~f_esmf_stategetitemnames~~CallsGraph proc~f_esmf_stategetitemnames f_esmf_stategetitemnames esmf_stateget esmf_stateget proc~f_esmf_stategetitemnames->esmf_stateget proc~esmf_logfounderror ESMF_LogFoundError proc~f_esmf_stategetitemnames->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

Source Code

   subroutine f_esmf_stategetitemnames(state, numItems, itemNameList, &
                                       itemTypeList, rc)
#undef  ESMF_METHOD
#define ESMF_METHOD "f_esmf_statgetitemnames"

       use ESMF_UtilTypesMod
       use ESMF_LogErrMod
       use ESMF_StateTypesMod
       use ESMF_BaseMod    ! ESMF base class
       use ESMF_StateMod
       use ESMF_ArrayCreateMod
       implicit none

       type(ESMF_State), intent(in)              :: state                  !in
       integer, intent(in)                       :: numItems               !in
       character(len=*), intent(inout)           :: itemNameList(numItems) !out
       type(ESMF_StateItem_Flag), intent(inout)  :: itemTypeList(numItems) !out
       integer, intent(out)                      :: rc                     !out

       ! local variable
       integer                    :: itemCount
       character(len (itemNameList)) :: localNameList(numItems)
       type(ESMF_StateItem_Flag)  :: localTypeList(numItems)

       integer                    :: i
       integer                    :: localrc

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

!       call ESMF_StateGetInfo(state=state, itemCount=itemCount, &
!                              itemNameList=localNameList, &
!                              stateitemtypeList=localTypeList, rc=rc)
       call ESMF_StateGet(state=state, itemCount=itemCount, &
                          itemNameList=localNameList, &
                          itemtypeList=localTypeList, rc=localrc)
       if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU,  &
           ESMF_CONTEXT, rcToReturn=rc)) return

       do i = 1, itemCount
          itemTypeList(i) = localTypeList(i)
          itemNameList(i) = localNameList(i)
       enddo

       rc = localrc

   end subroutine f_esmf_stategetitemnames