Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ESMF_InfoDescribe), | intent(inout) | :: | self | |||
type(ESMF_ArrayBundle), | intent(in) | :: | target | |||
character(len=*), | intent(in) | :: | root_key | |||
type(ESMF_KeywordEnforcer), | optional | :: | keywordEnforcer | |||
integer, | intent(inout), | optional | :: | rc |
subroutine fillMembersArrayBundle(self, target, root_key, keywordEnforcer, rc) class(ESMF_InfoDescribe), intent(inout) :: self type(ESMF_ArrayBundle), intent(in) :: target character(*), intent(in) :: root_key type(ESMF_KeywordEnforcer), optional:: keywordEnforcer ! must use keywords below integer, intent(inout), optional :: rc type(ESMF_Array), dimension(:), allocatable :: targetList integer :: ii, targetCount, localrc localrc = ESMF_FAILURE if (present(rc)) rc = ESMF_RC_NOT_IMPL call ESMF_ArrayBundleGet(target, arrayCount=targetCount, rc=localrc) if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, ESMF_CONTEXT, rcToReturn=rc)) return allocate(targetList(targetCount)) call ESMF_ArrayBundleGet(target, arrayList=targetList, rc=localrc) if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, ESMF_CONTEXT, rcToReturn=rc)) return do ii=1,targetCount call self%Update(targetList(ii), root_key, rc=localrc) if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, ESMF_CONTEXT, rcToReturn=rc)) return end do deallocate(targetList) if (present(rc)) rc = ESMF_SUCCESS end subroutine fillMembersArrayBundle