Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
logical, | intent(in) | :: | content(:) | |||
type(ESMF_KeywordEnforcer), | optional | :: | keywordEnforcer | |||
integer, | intent(out), | optional | :: | rc |
function ESMF_HConfigCreateLogicalSeq(content, keywordEnforcer, rc) type(ESMF_HConfig) :: ESMF_HConfigCreateLogicalSeq logical, intent(in) :: content(:) type(ESMF_KeywordEnforcer), optional:: keywordEnforcer ! must use keywords below integer, intent(out), optional :: rc integer :: localrc ! local return code character(len=:), allocatable :: sContent integer :: count, i ! initialize return code; assume routine not implemented localrc = ESMF_RC_NOT_IMPL if (present(rc)) rc = ESMF_RC_NOT_IMPL ! start with empty hconfig ESMF_HConfigCreateLogicalSeq = ESMF_HConfigCreate(rc=localrc) if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & ESMF_CONTEXT, rcToReturn=rc)) return count = size(content) do i=1, count ! add this element of the sequence sContent = "False" if (content(i)) sContent = "True" call ESMF_HConfigAdd(ESMF_HConfigCreateLogicalSeq, sContent, rc=localrc) if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & ESMF_CONTEXT, rcToReturn=rc)) return enddo ! return successfully if (present(rc)) rc = ESMF_SUCCESS end function ESMF_HConfigCreateLogicalSeq