diff --git a/src/Infrastructure/Array/interface/ESMF_ArrayGet.cppF90 b/src/Infrastructure/Array/interface/ESMF_ArrayGet.cppF90 index 25c2c19faf..208c2d866f 100644 --- a/src/Infrastructure/Array/interface/ESMF_ArrayGet.cppF90 +++ b/src/Infrastructure/Array/interface/ESMF_ArrayGet.cppF90 @@ -583,6 +583,10 @@ type(ESMF_KeywordEnforcer), optional:: keywordEnforcer ! must use keywords below call c_ESMC_GetVM(array, vm, localrc) if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & ESMF_CONTEXT, rcToReturn=rc)) return + ! Set init code + call ESMF_VMSetInitCreated(vm, rc=localrc) + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return endif ! Obtain DistGrid information diff --git a/src/Infrastructure/ArrayBundle/interface/ESMF_ArrayBundle.F90 b/src/Infrastructure/ArrayBundle/interface/ESMF_ArrayBundle.F90 index c6a4594ee9..0f1eec696b 100644 --- a/src/Infrastructure/ArrayBundle/interface/ESMF_ArrayBundle.F90 +++ b/src/Infrastructure/ArrayBundle/interface/ESMF_ArrayBundle.F90 @@ -1026,6 +1026,10 @@ subroutine ESMF_ArrayBundleGetListAll(arraybundle, keywordEnforcer, & call c_ESMC_GetVM(arraybundle, vm, localrc) if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & ESMF_CONTEXT, rcToReturn=rc)) return + ! Set init code on the VM object before returning + call ESMF_VMSetInitCreated(vm, rc=localrc) + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return endif ! Return successfully diff --git a/src/Infrastructure/Route/interface/ESMF_RHandle.F90 b/src/Infrastructure/Route/interface/ESMF_RHandle.F90 index b0d57b3a6f..6ebe42dd9e 100644 --- a/src/Infrastructure/Route/interface/ESMF_RHandle.F90 +++ b/src/Infrastructure/Route/interface/ESMF_RHandle.F90 @@ -802,6 +802,10 @@ subroutine ESMF_RouteHandleGetP(routehandle, keywordEnforcer, name, vm, rc) call c_ESMC_GetVM(routehandle, vm, localrc) if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & ESMF_CONTEXT, rcToReturn=rc)) return + ! Set init code on the VM object before returning + call ESMF_VMSetInitCreated(vm, rc=localrc) + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return endif ! Return successfully