subroutine updateWithDistGrid(self, target, root_key, keywordEnforcer, rc)
class(ESMF_InfoDescribe), intent(inout) :: self
type(ESMF_DistGrid), intent(in) :: target
character(*), intent(in) :: root_key
type(ESMF_KeywordEnforcer), optional:: keywordEnforcer ! must use keywords below
integer, intent(inout), optional :: rc
integer :: localrc
type(ESMF_Base) :: newbase
type(ESMF_Pointer) :: this
character(*), parameter :: etype = "DistGrid"
if (present(rc)) rc = ESMF_RC_NOT_IMPL
call ESMF_DistGridGetThis(target, this, rc=localrc)
if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, ESMF_CONTEXT, rcToReturn=rc)) return
newbase%this = this
call self%updateGeneric(root_key, "__DistGrid__", etype, newbase, rc=localrc)
if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, ESMF_CONTEXT, rcToReturn=rc)) return
if (present(rc)) rc = ESMF_SUCCESS
end subroutine updateWithDistGrid