ESMF_AttributeGetCountAttPackArrayBundle Subroutine

private subroutine ESMF_AttributeGetCountAttPackArrayBundle(target, attpack, count, keywordEnforcer, attcountflag, attnestflag, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_ArrayBundle), intent(in) :: target
type(ESMF_AttPack), intent(inout) :: attpack
integer, intent(out) :: count
type(ESMF_KeywordEnforcer), optional :: keywordEnforcer
type(ESMF_AttGetCountFlag), intent(in), optional :: attcountflag
type(ESMF_AttNest_Flag), intent(in), optional :: attnestflag
integer, intent(out), optional :: rc

Calls

proc~~esmf_attributegetcountattpackarraybundle~~CallsGraph proc~esmf_attributegetcountattpackarraybundle ESMF_AttributeGetCountAttPackArrayBundle interface~esmf_infoget ESMF_InfoGet proc~esmf_attributegetcountattpackarraybundle->interface~esmf_infoget proc~attpack_formatkey ESMF_AttPack%attpack_formatKey proc~esmf_attributegetcountattpackarraybundle->proc~attpack_formatkey proc~attpack_getpayload ESMF_AttPack%attpack_getPayload proc~esmf_attributegetcountattpackarraybundle->proc~attpack_getpayload proc~esmf_arraybundlegetinit ESMF_ArrayBundleGetInit proc~esmf_attributegetcountattpackarraybundle->proc~esmf_arraybundlegetinit proc~esmf_imerr ESMF_IMErr proc~esmf_attributegetcountattpackarraybundle->proc~esmf_imerr proc~esmf_logfounderror ESMF_LogFoundError proc~esmf_attributegetcountattpackarraybundle->proc~esmf_logfounderror proc~esmf_infogetarraych ESMF_InfoGetArrayCH interface~esmf_infoget->proc~esmf_infogetarraych proc~esmf_infogetarrayi4 ESMF_InfoGetArrayI4 interface~esmf_infoget->proc~esmf_infogetarrayi4 proc~esmf_infogetarrayi8 ESMF_InfoGetArrayI8 interface~esmf_infoget->proc~esmf_infogetarrayi8 proc~esmf_infogetarraylg ESMF_InfoGetArrayLG interface~esmf_infoget->proc~esmf_infogetarraylg proc~esmf_infogetarrayr4 ESMF_InfoGetArrayR4 interface~esmf_infoget->proc~esmf_infogetarrayr4 proc~esmf_infogetarrayr8 ESMF_InfoGetArrayR8 interface~esmf_infoget->proc~esmf_infogetarrayr8 proc~esmf_infogetch ESMF_InfoGetCH interface~esmf_infoget->proc~esmf_infogetch proc~esmf_infogeti4 ESMF_InfoGetI4 interface~esmf_infoget->proc~esmf_infogeti4 proc~esmf_infogeti8 ESMF_InfoGetI8 interface~esmf_infoget->proc~esmf_infogeti8 proc~esmf_infogetlg ESMF_InfoGetLG interface~esmf_infoget->proc~esmf_infogetlg proc~esmf_infogetr4 ESMF_InfoGetR4 interface~esmf_infoget->proc~esmf_infogetr4 proc~esmf_infogetr8 ESMF_InfoGetR8 interface~esmf_infoget->proc~esmf_infogetr8 proc~esmf_infoinquire ESMF_InfoInquire interface~esmf_infoget->proc~esmf_infoinquire proc~attpack_getpayload->proc~esmf_logfounderror proc~esmf_imerr->proc~esmf_logfounderror proc~esmf_initcheckdeep ESMF_InitCheckDeep proc~esmf_imerr->proc~esmf_initcheckdeep 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

Called by

proc~~esmf_attributegetcountattpackarraybundle~~CalledByGraph proc~esmf_attributegetcountattpackarraybundle ESMF_AttributeGetCountAttPackArrayBundle interface~esmf_attributeget ESMF_AttributeGet interface~esmf_attributeget->proc~esmf_attributegetcountattpackarraybundle proc~checkcomponentattribute checkComponentAttribute proc~checkcomponentattribute->interface~esmf_attributeget proc~checkfieldattribute checkFieldAttribute proc~checkfieldattribute->interface~esmf_attributeget proc~checkstateattribute checkStateAttribute proc~checkstateattribute->interface~esmf_attributeget proc~nuopc_checkcplcomponentattribute NUOPC_CheckCplComponentAttribute proc~nuopc_checkcplcomponentattribute->interface~esmf_attributeget proc~nuopc_checkfieldattribute NUOPC_CheckFieldAttribute proc~nuopc_checkfieldattribute->interface~esmf_attributeget proc~nuopc_checkgridcomponentattribute NUOPC_CheckGridComponentAttribute proc~nuopc_checkgridcomponentattribute->interface~esmf_attributeget proc~nuopc_checkstateattribute NUOPC_CheckStateAttribute proc~nuopc_checkstateattribute->interface~esmf_attributeget proc~nuopc_cplcompattributeege NUOPC_CplCompAttributeEge proc~nuopc_cplcompattributeege->interface~esmf_attributeget proc~nuopc_cplcompsearchphasemapbyindex NUOPC_CplCompSearchPhaseMapByIndex proc~nuopc_cplcompsearchphasemapbyindex->interface~esmf_attributeget proc~nuopc_gridcompattributeege NUOPC_GridCompAttributeEge proc~nuopc_gridcompattributeege->interface~esmf_attributeget proc~nuopc_gridcompsearchphasemapbyindex NUOPC_GridCompSearchPhaseMapByIndex proc~nuopc_gridcompsearchphasemapbyindex->interface~esmf_attributeget proc~user_init~15 user_init proc~user_init~15->interface~esmf_attributeget proc~user_init~39 user_init proc~user_init~39->interface~esmf_attributeget proc~user_init~79 user_init proc~user_init~79->interface~esmf_attributeget proc~user_init~82 user_init proc~user_init~82->interface~esmf_attributeget program~attributeupdatereconcile AttributeUpdateReconcile program~attributeupdatereconcile->interface~esmf_attributeget program~esmf_arraycreategetutest ESMF_ArrayCreateGetUTest program~esmf_arraycreategetutest->interface~esmf_attributeget program~esmf_attributeprofileutest ESMF_AttributeProfileUTest program~esmf_attributeprofileutest->interface~esmf_attributeget program~esmf_attributeutilutest ESMF_AttributeUtilUTest program~esmf_attributeutilutest->interface~esmf_attributeget program~esmf_infosyncutest ESMF_InfoSyncUTest program~esmf_infosyncutest->interface~esmf_attributeget program~esmf_statereconcileutest ESMF_StateReconcileUTest program~esmf_statereconcileutest->interface~esmf_attributeget interface~nuopc_checkcomponentattribute NUOPC_CheckComponentAttribute interface~nuopc_checkcomponentattribute->proc~nuopc_checkcplcomponentattribute interface~nuopc_checkcomponentattribute->proc~nuopc_checkgridcomponentattribute interface~nuopc_compattributeegest NUOPC_CompAttributeEgest interface~nuopc_compattributeegest->proc~nuopc_cplcompattributeege interface~nuopc_compattributeegest->proc~nuopc_gridcompattributeege interface~nuopc_compsearchphasemapbyindex NUOPC_CompSearchPhaseMapByIndex interface~nuopc_compsearchphasemapbyindex->proc~nuopc_cplcompsearchphasemapbyindex interface~nuopc_compsearchphasemapbyindex->proc~nuopc_gridcompsearchphasemapbyindex proc~checkcomponentmetadata checkComponentMetadata proc~checkcomponentmetadata->proc~checkcomponentattribute proc~checkfieldmetaafteradvertise checkFieldMetaAfterAdvertise proc~checkfieldmetaafteradvertise->proc~nuopc_checkfieldattribute proc~checkfieldmetaafterrealize checkFieldMetaAfterRealize proc~checkfieldmetaafterrealize->proc~nuopc_checkfieldattribute proc~checkfieldmetadata checkFieldMetadata proc~checkfieldmetadata->proc~checkfieldattribute proc~checkstate checkState proc~checkstate->proc~checkstateattribute proc~nuopc_checkstate NUOPC_CheckState proc~nuopc_checkstate->proc~nuopc_checkstateattribute

Source Code

subroutine ESMF_AttributeGetCountAttPackArrayBundle(target, attpack, count, keywordEnforcer, attcountflag, attnestflag, rc)
  type(ESMF_ArrayBundle), intent(in) :: target
  type(ESMF_AttPack), intent(inout) :: attpack
  integer, intent(out) :: count
type(ESMF_KeywordEnforcer), optional :: keywordEnforcer ! must use keywords below
  type(ESMF_AttGetCountFlag), intent(in), optional :: attcountflag
  type(ESMF_AttNest_Flag), intent(in), optional :: attnestflag
  integer, intent(out), optional :: rc

  type(ESMF_AttGetCountFlag) :: l_attcountflag
  integer :: countSingle, countTotal, attPackCount, localrc
  character(:), allocatable :: key
  type(ESMF_AttNest_Flag) :: local_attnestflag

  localrc = ESMF_FAILURE
  if (present(rc)) rc = ESMF_RC_NOT_IMPL
  ! Check object initialization
  ESMF_INIT_CHECK_DEEP(ESMF_ArrayBundleGetInit, target, rc)

  if (present(attnestflag)) then
    local_attnestflag = attnestflag
  else
    local_attnestflag = ESMF_ATTR_DEFAULT_ATTNEST
  end if

  call ESMF_InfoGet(attpack%getPayload(), key=attpack%formatKey(), attrCount=countSingle, &
    attrCountTotal=countTotal, attPackCount=attPackCount, attnestflag=local_attnestflag, &
    attrCompliance=.true., rc=localrc)
  if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, ESMF_CONTEXT, rcToReturn=rc)) return

  if (present(attcountflag)) then
    l_attcountflag = attcountflag
  else
    l_attcountflag = ESMF_ATTGETCOUNT_ATTRIBUTE
  end if

  if (l_attcountflag%value==ESMF_ATTGETCOUNT_ATTRIBUTE%value) then
    count = countSingle
  else if (l_attcountflag%value==ESMF_ATTGETCOUNT_TOTAL%value) then
    count = countTotal
  else if (l_attcountflag%value==ESMF_ATTGETCOUNT_ATTPACK%value) then
    count = attPackCount
  else
    if (ESMF_LogFoundError(ESMF_RC_ARG_BAD, ESMF_ERR_PASSTHRU, ESMF_CONTEXT, rcToReturn=rc)) return
  end if

  if (present(rc)) rc = ESMF_SUCCESS
end subroutine ESMF_AttributeGetCountAttPackArrayBundle