ESMF_InfoIsPresent Function

public function ESMF_InfoIsPresent(info, key, keywordEnforcer, attnestflag, isPointer, rc) result(is_present)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Info), intent(in) :: info
character(len=*), intent(in) :: key
type(ESMF_KeywordEnforcer), optional :: keywordEnforcer
type(ESMF_AttNest_Flag), intent(in), optional :: attnestflag
logical, intent(in), optional :: isPointer
integer, intent(out), optional :: rc

Return Value logical


Calls

proc~~esmf_infoispresent~~CallsGraph proc~esmf_infoispresent ESMF_InfoIsPresent interface~c_info_is_present c_info_is_present proc~esmf_infoispresent->interface~c_info_is_present proc~esmf_logfounderror ESMF_LogFoundError proc~esmf_infoispresent->proc~esmf_logfounderror 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 c_esmc_loggeterrormsg c_esmc_loggeterrormsg proc~esmf_logrc2msg->c_esmc_loggeterrormsg c_esmc_vmwtime c_esmc_vmwtime proc~esmf_logwrite->c_esmc_vmwtime proc~esmf_logclose ESMF_LogClose proc~esmf_logwrite->proc~esmf_logclose proc~esmf_logflush ESMF_LogFlush proc~esmf_logwrite->proc~esmf_logflush proc~esmf_logopenfile ESMF_LogOpenFile proc~esmf_logwrite->proc~esmf_logopenfile proc~esmf_utiliounitflush ESMF_UtilIOUnitFlush proc~esmf_logwrite->proc~esmf_utiliounitflush proc~esmf_utilstring2array ESMF_UtilString2Array proc~esmf_logwrite->proc~esmf_utilstring2array proc~esmf_logclose->proc~esmf_logflush proc~esmf_logflush->proc~esmf_utiliounitflush proc~esmf_utilarray2string ESMF_UtilArray2String proc~esmf_logflush->proc~esmf_utilarray2string proc~esmf_logopenfile->proc~esmf_utiliounitflush proc~esmf_utiliounitget ESMF_UtilIOUnitGet proc~esmf_logopenfile->proc~esmf_utiliounitget

Called by

ESMF_AttributeAddAttPackStdInfowESMF_InfoIsPresent
w
ESMF_AttributeGetAttPackArrayw
w
ESMF_AttributeGetAttPackArrayBundlew
w
ESMF_AttributeGetAttPackArrayBundleCHw
w
ESMF_AttributeGetAttPackArrayBundleCHListw
w
ESMF_AttributeGetAttPackArrayBundleI4w
w
ESMF_AttributeGetAttPackArrayBundleI4Listw
w
ESMF_AttributeGetAttPackArrayBundleI8w
w
ESMF_AttributeGetAttPackArrayBundleI8Listw
w
ESMF_AttributeGetAttPackArrayBundleLGw
w
ESMF_AttributeGetAttPackArrayBundleLGListw
w
ESMF_AttributeGetAttPackArrayBundleR4w
w
ESMF_AttributeGetAttPackArrayBundleR4Listw
w
ESMF_AttributeGetAttPackArrayBundleR8w
w
ESMF_AttributeGetAttPackArrayBundleR8Listw
w
ESMF_AttributeGetAttPackArrayCHw
w
ESMF_AttributeGetAttPackArrayCHListw
w
ESMF_AttributeGetAttPackArrayI4w
w
ESMF_AttributeGetAttPackArrayI4Listw
w
ESMF_AttributeGetAttPackArrayI8w
w
ESMF_AttributeGetAttPackArrayI8Listw
w
ESMF_AttributeGetAttPackArrayLGw
w
ESMF_AttributeGetAttPackArrayLGListw
w
ESMF_AttributeGetAttPackArrayR4w
w
ESMF_AttributeGetAttPackArrayR4Listw
w
ESMF_AttributeGetAttPackArrayR8w
w
ESMF_AttributeGetAttPackArrayR8Listw
w
ESMF_AttributeGetAttPackCplCompw
w
ESMF_AttributeGetAttPackCplCompCHw
w
ESMF_AttributeGetAttPackCplCompCHListw
w
ESMF_AttributeGetAttPackCplCompI4w
w
ESMF_AttributeGetAttPackCplCompI4Listw
w
ESMF_AttributeGetAttPackCplCompI8w
w
ESMF_AttributeGetAttPackCplCompI8Listw
w
ESMF_AttributeGetAttPackCplCompLGw
w
ESMF_AttributeGetAttPackCplCompLGListw
w
ESMF_AttributeGetAttPackCplCompR4w
w
ESMF_AttributeGetAttPackCplCompR4Listw
w
ESMF_AttributeGetAttPackCplCompR8w
w
ESMF_AttributeGetAttPackCplCompR8Listw
w
ESMF_AttributeGetAttPackDistGridw
w
ESMF_AttributeGetAttPackDistGridCHw
w
ESMF_AttributeGetAttPackDistGridCHListw
w
ESMF_AttributeGetAttPackDistGridI4w
w
ESMF_AttributeGetAttPackDistGridI4Listw
w
ESMF_AttributeGetAttPackDistGridI8w
w
ESMF_AttributeGetAttPackDistGridI8Listw
w
ESMF_AttributeGetAttPackDistGridLGw
w
ESMF_AttributeGetAttPackDistGridLGListw
w
ESMF_AttributeGetAttPackDistGridR4w
w
ESMF_AttributeGetAttPackDistGridR4Listw
w
ESMF_AttributeGetAttPackDistGridR8w
w
ESMF_AttributeGetAttPackDistGridR8Listw
w
ESMF_AttributeGetAttPackFieldw
w
ESMF_AttributeGetAttPackFieldBundlew
w
ESMF_AttributeGetAttPackFieldBundleCHw
w
ESMF_AttributeGetAttPackFieldBundleCHListw
w
ESMF_AttributeGetAttPackFieldBundleI4w
w
ESMF_AttributeGetAttPackFieldBundleI4Listw
w
ESMF_AttributeGetAttPackFieldBundleI8w
w
ESMF_AttributeGetAttPackFieldBundleI8Listw
w
ESMF_AttributeGetAttPackFieldBundleLGw
w
ESMF_AttributeGetAttPackFieldBundleLGListw
w
ESMF_AttributeGetAttPackFieldBundleR4w
w
ESMF_AttributeGetAttPackFieldBundleR4Listw
w
ESMF_AttributeGetAttPackFieldBundleR8w
w
ESMF_AttributeGetAttPackFieldBundleR8Listw
w
ESMF_AttributeGetAttPackFieldCHw
w
ESMF_AttributeGetAttPackFieldCHListw
w
ESMF_AttributeGetAttPackFieldI4w
w
ESMF_AttributeGetAttPackFieldI4Listw
w
ESMF_AttributeGetAttPackFieldI8w
w
ESMF_AttributeGetAttPackFieldI8Listw
w
ESMF_AttributeGetAttPackFieldLGw
w
ESMF_AttributeGetAttPackFieldLGListw
w
ESMF_AttributeGetAttPackFieldR4w
w
ESMF_AttributeGetAttPackFieldR4Listw
w
ESMF_AttributeGetAttPackFieldR8w
w
ESMF_AttributeGetAttPackFieldR8Listw
w
ESMF_AttributeGetAttPackGridw
w
ESMF_AttributeGetAttPackGridCHw
w
ESMF_AttributeGetAttPackGridCHListw
w
ESMF_AttributeGetAttPackGridCompw
w
ESMF_AttributeGetAttPackGridCompCHw
w
ESMF_AttributeGetAttPackGridCompCHListw
w
ESMF_AttributeGetAttPackGridCompI4w
w
ESMF_AttributeGetAttPackGridCompI4Listw
w
ESMF_AttributeGetAttPackGridCompI8w
w
ESMF_AttributeGetAttPackGridCompI8Listw
w
ESMF_AttributeGetAttPackGridCompLGw
w
ESMF_AttributeGetAttPackGridCompLGListw
w
ESMF_AttributeGetAttPackGridCompR4w
w
ESMF_AttributeGetAttPackGridCompR4Listw
w
ESMF_AttributeGetAttPackGridCompR8w
w
ESMF_AttributeGetAttPackGridCompR8Listw
w
ESMF_AttributeGetAttPackGridI4w
w
ESMF_AttributeGetAttPackGridI4Listw
w
ESMF_AttributeGetAttPackGridI8w
w
ESMF_AttributeGetAttPackGridI8Listw
w
ESMF_AttributeGetAttPackGridLGw
w
ESMF_AttributeGetAttPackGridLGListw
w
ESMF_AttributeGetAttPackGridR4w
w
ESMF_AttributeGetAttPackGridR4Listw
w
ESMF_AttributeGetAttPackGridR8w
w
ESMF_AttributeGetAttPackGridR8Listw
w
ESMF_AttributeGetAttPackLocStreamw
w
ESMF_AttributeGetAttPackLocStreamCHw
w
ESMF_AttributeGetAttPackLocStreamCHListw
w
ESMF_AttributeGetAttPackLocStreamI4w
w
ESMF_AttributeGetAttPackLocStreamI4Listw
w
ESMF_AttributeGetAttPackLocStreamI8w
w
ESMF_AttributeGetAttPackLocStreamI8Listw
w
ESMF_AttributeGetAttPackLocStreamLGw
w
ESMF_AttributeGetAttPackLocStreamLGListw
w
ESMF_AttributeGetAttPackLocStreamR4w
w
ESMF_AttributeGetAttPackLocStreamR4Listw
w
ESMF_AttributeGetAttPackLocStreamR8w
w
ESMF_AttributeGetAttPackLocStreamR8Listw
w
ESMF_AttributeGetAttPackMeshw
w
ESMF_AttributeGetAttPackMeshCHw
w
ESMF_AttributeGetAttPackMeshCHListw
w
ESMF_AttributeGetAttPackMeshI4w
w
ESMF_AttributeGetAttPackMeshI4Listw
w
ESMF_AttributeGetAttPackMeshI8w
w
ESMF_AttributeGetAttPackMeshI8Listw
w
ESMF_AttributeGetAttPackMeshLGw
w
ESMF_AttributeGetAttPackMeshLGListw
w
ESMF_AttributeGetAttPackMeshR4w
w
ESMF_AttributeGetAttPackMeshR4Listw
w
ESMF_AttributeGetAttPackMeshR8w
w
ESMF_AttributeGetAttPackMeshR8Listw
w
ESMF_AttributeGetAttPackSciCompw
w
ESMF_AttributeGetAttPackSciCompCHw
w
ESMF_AttributeGetAttPackSciCompCHListw
w
ESMF_AttributeGetAttPackSciCompI4w
w
ESMF_AttributeGetAttPackSciCompI4Listw
w
ESMF_AttributeGetAttPackSciCompI8w
w
ESMF_AttributeGetAttPackSciCompI8Listw
w
ESMF_AttributeGetAttPackSciCompLGw
w
ESMF_AttributeGetAttPackSciCompLGListw
w
ESMF_AttributeGetAttPackSciCompR4w
w
ESMF_AttributeGetAttPackSciCompR4Listw
w
ESMF_AttributeGetAttPackSciCompR8w
w
ESMF_AttributeGetAttPackSciCompR8Listw
w
ESMF_AttributeGetAttPackStatew
w
ESMF_AttributeGetAttPackStateCHw
w
ESMF_AttributeGetAttPackStateCHListw
w
ESMF_AttributeGetAttPackStateI4w
w
ESMF_AttributeGetAttPackStateI4Listw
w
ESMF_AttributeGetAttPackStateI8w
w
ESMF_AttributeGetAttPackStateI8Listw
w
ESMF_AttributeGetAttPackStateLGw
w
ESMF_AttributeGetAttPackStateLGListw
w
ESMF_AttributeGetAttPackStateR4w
w
ESMF_AttributeGetAttPackStateR4Listw
w
ESMF_AttributeGetAttPackStateR8w
w
ESMF_AttributeGetAttPackStateR8Listw
w
ESMF_AttributeGetInfoByNamAPArrayw
w
ESMF_AttributeGetInfoByNamAPArrayBundlew
w
ESMF_AttributeGetInfoByNamAPCplCompw
w
ESMF_AttributeGetInfoByNamAPDistGridw
w
ESMF_AttributeGetInfoByNamAPFieldw
w
ESMF_AttributeGetInfoByNamAPFieldBundlew
w
ESMF_AttributeGetInfoByNamAPGridw
w
ESMF_AttributeGetInfoByNamAPGridCompw
w
ESMF_AttributeGetInfoByNamAPLocStreamw
w
ESMF_AttributeGetInfoByNamAPMeshw
w
ESMF_AttributeGetInfoByNamAPSciCompw
w
ESMF_AttributeGetInfoByNamAPStatew
w
ESMF_AttributeGetInfoByNamArrayw
w
ESMF_AttributeGetInfoByNamArrayBundlew
w
ESMF_AttributeGetInfoByNamCplCompw
w
ESMF_AttributeGetInfoByNamDistGridw
w
ESMF_AttributeGetInfoByNamFieldw
w
ESMF_AttributeGetInfoByNamFieldBundlew
w
ESMF_AttributeGetInfoByNamGridw
w
ESMF_AttributeGetInfoByNamGridCompw
w
ESMF_AttributeGetInfoByNamLocStreamw
w
ESMF_AttributeGetInfoByNamMeshw
w
ESMF_AttributeGetInfoByNamSciCompw
w
ESMF_AttributeGetInfoByNamStatew
w
ESMF_AttributeGetObjArrayBundleCHw
w
ESMF_AttributeGetObjArrayBundleCHListw
w
ESMF_AttributeGetObjArrayBundleI4w
w
ESMF_AttributeGetObjArrayBundleI4Listw
w
ESMF_AttributeGetObjArrayBundleI8w
w
ESMF_AttributeGetObjArrayBundleI8Listw
w
ESMF_AttributeGetObjArrayBundleLGw
w
ESMF_AttributeGetObjArrayBundleLGListw
w
ESMF_AttributeGetObjArrayBundleR4w
w
ESMF_AttributeGetObjArrayBundleR4Listw
w
ESMF_AttributeGetObjArrayBundleR8w
w
ESMF_AttributeGetObjArrayBundleR8Listw
w
ESMF_AttributeGetObjArrayCHw
w
ESMF_AttributeGetObjArrayCHListw
w
ESMF_AttributeGetObjArrayI4w
w
ESMF_AttributeGetObjArrayI4Listw
w
ESMF_AttributeGetObjArrayI8w
w
ESMF_AttributeGetObjArrayI8Listw
w
ESMF_AttributeGetObjArrayLGw
w
ESMF_AttributeGetObjArrayLGListw
w
ESMF_AttributeGetObjArrayR4w
w
ESMF_AttributeGetObjArrayR4Listw
w
ESMF_AttributeGetObjArrayR8w
w
ESMF_AttributeGetObjArrayR8Listw
w
ESMF_AttributeGetObjCplCompCHw
w
ESMF_AttributeGetObjCplCompCHListw
w
ESMF_AttributeGetObjCplCompI4w
w
ESMF_AttributeGetObjCplCompI4Listw
w
ESMF_AttributeGetObjCplCompI8w
w
ESMF_AttributeGetObjCplCompI8Listw
w
ESMF_AttributeGetObjCplCompLGw
w
ESMF_AttributeGetObjCplCompLGListw
w
ESMF_AttributeGetObjCplCompR4w
w
ESMF_AttributeGetObjCplCompR4Listw
w
ESMF_AttributeGetObjCplCompR8w
w
ESMF_AttributeGetObjCplCompR8Listw
w
ESMF_AttributeGetObjDistGridCHw
w
ESMF_AttributeGetObjDistGridCHListw
w
ESMF_AttributeGetObjDistGridI4w
w
ESMF_AttributeGetObjDistGridI4Listw
w
ESMF_AttributeGetObjDistGridI8w
w
ESMF_AttributeGetObjDistGridI8Listw
w
ESMF_AttributeGetObjDistGridLGw
w
ESMF_AttributeGetObjDistGridLGListw
w
ESMF_AttributeGetObjDistGridR4w
w
ESMF_AttributeGetObjDistGridR4Listw
w
ESMF_AttributeGetObjDistGridR8w
w
ESMF_AttributeGetObjDistGridR8Listw
w
ESMF_AttributeGetObjFieldBundleCHw
w
ESMF_AttributeGetObjFieldBundleCHListw
w
ESMF_AttributeGetObjFieldBundleI4w
w
ESMF_AttributeGetObjFieldBundleI4Listw
w
ESMF_AttributeGetObjFieldBundleI8w
w
ESMF_AttributeGetObjFieldBundleI8Listw
w
ESMF_AttributeGetObjFieldBundleLGw
w
ESMF_AttributeGetObjFieldBundleLGListw
w
ESMF_AttributeGetObjFieldBundleR4w
w
ESMF_AttributeGetObjFieldBundleR4Listw
w
ESMF_AttributeGetObjFieldBundleR8w
w
ESMF_AttributeGetObjFieldBundleR8Listw
w
ESMF_AttributeGetObjFieldCHw
w
ESMF_AttributeGetObjFieldCHListw
w
ESMF_AttributeGetObjFieldI4w
w
ESMF_AttributeGetObjFieldI4Listw
w
ESMF_AttributeGetObjFieldI8w
w
ESMF_AttributeGetObjFieldI8Listw
w
ESMF_AttributeGetObjFieldLGw
w
ESMF_AttributeGetObjFieldLGListw
w
ESMF_AttributeGetObjFieldR4w
w
ESMF_AttributeGetObjFieldR4Listw
w
ESMF_AttributeGetObjFieldR8w
w
ESMF_AttributeGetObjFieldR8Listw
w
ESMF_AttributeGetObjGridCHw
w
ESMF_AttributeGetObjGridCHListw
w
ESMF_AttributeGetObjGridCompCHw
w
ESMF_AttributeGetObjGridCompCHListw
w
ESMF_AttributeGetObjGridCompI4w
w
ESMF_AttributeGetObjGridCompI4Listw
w
ESMF_AttributeGetObjGridCompI8w
w
ESMF_AttributeGetObjGridCompI8Listw
w
ESMF_AttributeGetObjGridCompLGw
w
ESMF_AttributeGetObjGridCompLGListw
w
ESMF_AttributeGetObjGridCompR4w
w
ESMF_AttributeGetObjGridCompR4Listw
w
ESMF_AttributeGetObjGridCompR8w
w
ESMF_AttributeGetObjGridCompR8Listw
w
ESMF_AttributeGetObjGridI4w
w
ESMF_AttributeGetObjGridI4Listw
w
ESMF_AttributeGetObjGridI8w
w
ESMF_AttributeGetObjGridI8Listw
w
ESMF_AttributeGetObjGridLGw
w
ESMF_AttributeGetObjGridLGListw
w
ESMF_AttributeGetObjGridR4w
w
ESMF_AttributeGetObjGridR4Listw
w
ESMF_AttributeGetObjGridR8w
w
ESMF_AttributeGetObjGridR8Listw
w
ESMF_AttributeGetObjLocStreamCHw
w
ESMF_AttributeGetObjLocStreamCHListw
w
ESMF_AttributeGetObjLocStreamI4w
w
ESMF_AttributeGetObjLocStreamI4Listw
w
ESMF_AttributeGetObjLocStreamI8w
w
ESMF_AttributeGetObjLocStreamI8Listw
w
ESMF_AttributeGetObjLocStreamLGw
w
ESMF_AttributeGetObjLocStreamLGListw
w
ESMF_AttributeGetObjLocStreamR4w
w
ESMF_AttributeGetObjLocStreamR4Listw
w
ESMF_AttributeGetObjLocStreamR8w
w
ESMF_AttributeGetObjLocStreamR8Listw
w
ESMF_AttributeGetObjMeshCHw
w
ESMF_AttributeGetObjMeshCHListw
w
ESMF_AttributeGetObjMeshI4w
w
ESMF_AttributeGetObjMeshI4Listw
w
ESMF_AttributeGetObjMeshI8w
w
ESMF_AttributeGetObjMeshI8Listw
w
ESMF_AttributeGetObjMeshLGw
w
ESMF_AttributeGetObjMeshLGListw
w
ESMF_AttributeGetObjMeshR4w
w
ESMF_AttributeGetObjMeshR4Listw
w
ESMF_AttributeGetObjMeshR8w
w
ESMF_AttributeGetObjMeshR8Listw
w
ESMF_AttributeGetObjSciCompCHw
w
ESMF_AttributeGetObjSciCompCHListw
w
ESMF_AttributeGetObjSciCompI4w
w
ESMF_AttributeGetObjSciCompI4Listw
w
ESMF_AttributeGetObjSciCompI8w
w
ESMF_AttributeGetObjSciCompI8Listw
w
ESMF_AttributeGetObjSciCompLGw
w
ESMF_AttributeGetObjSciCompLGListw
w
ESMF_AttributeGetObjSciCompR4w
w
ESMF_AttributeGetObjSciCompR4Listw
w
ESMF_AttributeGetObjSciCompR8w
w
ESMF_AttributeGetObjSciCompR8Listw
w
ESMF_AttributeGetObjStateCHw
w
ESMF_AttributeGetObjStateCHListw
w
ESMF_AttributeGetObjStateI4w
w
ESMF_AttributeGetObjStateI4Listw
w
ESMF_AttributeGetObjStateI8w
w
ESMF_AttributeGetObjStateI8Listw
w
ESMF_AttributeGetObjStateLGw
w
ESMF_AttributeGetObjStateLGListw
w
ESMF_AttributeGetObjStateR4w
w
ESMF_AttributeGetObjStateR4Listw
w
ESMF_AttributeGetObjStateR8w
w
ESMF_AttributeGetObjStateR8Listw
w
ESMF_FieldGetSerializeFlagw
w
ESMF_InfoCacheFindFieldw
w
ESMF_InfoCacheReassembleFieldsFinalizew
w
ESMF_InfoDescribeUTestw
w
ESMF_InfoInquirew
w
ESMF_InfoProfileUTestw
w
ESMF_InfoTutorialw
w
ESMF_InfoUTestw
w
NUOPC_CplCompAttributeGetw
w
NUOPC_CplCompAttributeGetIw
w
NUOPC_CplCompAttributeGetILw
w
NUOPC_CplCompAttributeGetSLw
w
NUOPC_GetAttributeFieldTKw
w
NUOPC_GetAttributeFieldValw
w
NUOPC_GetAttributeStatew
w
NUOPC_GridCompAttributeGetw
w
NUOPC_GridCompAttributeGetIw
w
NUOPC_GridCompAttributeGetILw
w
NUOPC_GridCompAttributeGetSLw
w

Source Code

function ESMF_InfoIsPresent(info, key, keywordEnforcer, attnestflag, isPointer, rc) result(is_present)
! !ARGUMENTS:
  type(ESMF_Info), intent(in) :: info
  character(len=*), intent(in) :: key
type(ESMF_KeywordEnforcer), optional:: keywordEnforcer ! must use keywords below
  type(ESMF_AttNest_Flag), intent(in), optional :: attnestflag
  logical, intent(in), optional :: isPointer
  integer, intent(out), optional :: rc
! !RETURN VALUE:
  logical :: is_present
!
! !DESCRIPTION:
!     Return true if \textit{key} exists in \texttt{ESMF\_Info}'s storage.
!
!     The arguments are:
!     \begin{description}
!     \item [info]
!       Target \texttt{ESMF\_Info} object.
!     \item [key]
!       String key to access in \texttt{ESMF\_Info} storage. See section \ref{info_key_format}
!       for an overview of the key format.
!     \item [{[attnestflag]}]
!       Setting to \texttt{ESMF\_ATTNEST\_ON} triggers a recursive search for
!       \textit{keyParent}. The first instance of the key will be found in the
!       hierarchy. Default is \texttt{ESMF\_ATTNEST\_OFF}.
!     \item [{[isPointer]}]
!       Default is true. If true, expect the \textit{key} is using JSON Pointer
!       syntax (see section \ref{info_key_format}). Setting to false will trigger
!       a slightly faster search.
!     \item [{[rc]}]
!       Return code; equals {\tt ESMF\_SUCCESS} if there are no errors.
!     \end{description}
!EOP

  logical :: local_isPointer
  integer :: localrc
  integer(C_INT) :: isPointer_forC
  integer(C_INT) :: local_is_present
  integer(C_INT) :: recursive

  is_present = .false.
  localrc = ESMF_FAILURE
  if (present(rc)) rc = ESMF_FAILURE
  recursive = 0 !false
  local_is_present = 0 !false

  if (present(attnestflag)) then
    if (attnestflag%value==ESMF_ATTNEST_ON%value) recursive = 1 !true
  end if
  if (present(isPointer)) then
    local_isPointer = isPointer
  else
    local_isPointer = .true.
  end if

  if (local_isPointer) then
    isPointer_forC = 1 !true
  else
    isPointer_forC = 0 !false
  end if

  call c_info_is_present(info%ptr, trim(key)//C_NULL_CHAR, local_is_present, &
    localrc, recursive, isPointer_forC)
  if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, ESMF_CONTEXT, rcToReturn=rc)) return

  if (local_is_present == 1) then
    is_present = .true.
  else
    is_present = .false.
  end if

  if (present(rc)) rc = ESMF_SUCCESS
end function ESMF_InfoIsPresent