ESMF_HConfigDestroy Subroutine

public subroutine ESMF_HConfigDestroy(hconfig, keywordEnforcer, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_HConfig), intent(inout) :: hconfig
type(ESMF_KeywordEnforcer), optional :: keywordEnforcer
integer, intent(out), optional :: rc

Calls

proc~~esmf_hconfigdestroy~~CallsGraph proc~esmf_hconfigdestroy ESMF_HConfigDestroy c_esmc_hconfigdestroy c_esmc_hconfigdestroy proc~esmf_hconfigdestroy->c_esmc_hconfigdestroy proc~esmf_hconfiggetinit ESMF_HConfigGetInit proc~esmf_hconfigdestroy->proc~esmf_hconfiggetinit proc~esmf_imerr ESMF_IMErr proc~esmf_hconfigdestroy->proc~esmf_imerr proc~esmf_logfounderror ESMF_LogFoundError proc~esmf_hconfigdestroy->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 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_ConfigDestroywESMF_HConfigDestroy
w
ESMF_ConfigOverviewExw
w
ESMF_FrameworkInternalInitw
w
ESMF_HConfigAddHConfigw
w
ESMF_HConfigAddI4w
w
ESMF_HConfigAddI4Seqw
w
ESMF_HConfigAddI8w
w
ESMF_HConfigAddI8Seqw
w
ESMF_HConfigAddLogicalw
w
ESMF_HConfigAddLogicalSeqw
w
ESMF_HConfigAddMapKeyHConfigw
w
ESMF_HConfigAddMapKeyI4w
w
ESMF_HConfigAddMapKeyI4Seqw
w
ESMF_HConfigAddMapKeyI8w
w
ESMF_HConfigAddMapKeyI8Seqw
w
ESMF_HConfigAddMapKeyLogicalw
w
ESMF_HConfigAddMapKeyLogicalSeqw
w
ESMF_HConfigAddMapKeyR4w
w
ESMF_HConfigAddMapKeyR4Seqw
w
ESMF_HConfigAddMapKeyR8w
w
ESMF_HConfigAddMapKeyR8Seqw
w
ESMF_HConfigAddMapKeyStringw
w
ESMF_HConfigAddMapKeyStringSeqw
w
ESMF_HConfigAddMapValHConfigw
w
ESMF_HConfigAddMapValI4w
w
ESMF_HConfigAddMapValI4Seqw
w
ESMF_HConfigAddMapValI8w
w
ESMF_HConfigAddMapValI8Seqw
w
ESMF_HConfigAddMapValLogicalw
w
ESMF_HConfigAddMapValLogicalSeqw
w
ESMF_HConfigAddMapValR4w
w
ESMF_HConfigAddMapValR4Seqw
w
ESMF_HConfigAddMapValR8w
w
ESMF_HConfigAddMapValR8Seqw
w
ESMF_HConfigAddMapValStringw
w
ESMF_HConfigAddMapValStringSeqw
w
ESMF_HConfigAddR4w
w
ESMF_HConfigAddR4Seqw
w
ESMF_HConfigAddR8w
w
ESMF_HConfigAddR8Seqw
w
ESMF_HConfigAddStringw
w
ESMF_HConfigAddStringSeqw
w
ESMF_HConfigAsI4w
w
ESMF_HConfigAsI4MapKeyw
w
ESMF_HConfigAsI4MapValw
w
ESMF_HConfigAsI4Seqw
w
ESMF_HConfigAsI4SeqMapKeyw
w
ESMF_HConfigAsI4SeqMapValw
w
ESMF_HConfigAsI8w
w
ESMF_HConfigAsI8MapKeyw
w
ESMF_HConfigAsI8MapValw
w
ESMF_HConfigAsI8Seqw
w
ESMF_HConfigAsI8SeqMapKeyw
w
ESMF_HConfigAsI8SeqMapValw
w
ESMF_HConfigAsLogicalw
w
ESMF_HConfigAsLogicalMapKeyw
w
ESMF_HConfigAsLogicalMapValw
w
ESMF_HConfigAsLogicalSeqw
w
ESMF_HConfigAsLogicalSeqMapKeyw
w
ESMF_HConfigAsLogicalSeqMapValw
w
ESMF_HConfigAsR4w
w
ESMF_HConfigAsR4MapKeyw
w
ESMF_HConfigAsR4MapValw
w
ESMF_HConfigAsR4Seqw
w
ESMF_HConfigAsR4SeqMapKeyw
w
ESMF_HConfigAsR4SeqMapValw
w
ESMF_HConfigAsR8w
w
ESMF_HConfigAsR8MapKeyw
w
ESMF_HConfigAsR8MapValw
w
ESMF_HConfigAsR8Seqw
w
ESMF_HConfigAsR8SeqMapKeyw
w
ESMF_HConfigAsR8SeqMapValw
w
ESMF_HConfigAsStringw
w
ESMF_HConfigAsStringMapKeyw
w
ESMF_HConfigAsStringMapValw
w
ESMF_HConfigAsStringSeqw
w
ESMF_HConfigAsStringSeqMapKeyw
w
ESMF_HConfigAsStringSeqMapValw
w
ESMF_HConfigCreateAtw
w
ESMF_HConfigCreateAtMapKeyw
w
ESMF_HConfigCreateAtMapValw
w
ESMF_HConfigExw
w
ESMF_HConfigGetSizew
w
ESMF_HConfigGetSizeMapKeyw
w
ESMF_HConfigGetSizeMapValw
w
ESMF_HConfigGetTagw
w
ESMF_HConfigGetTagMapKeyw
w
ESMF_HConfigGetTagMapValw
w
ESMF_HConfigIsDefinedw
w
ESMF_HConfigIsDefinedMapKeyw
w
ESMF_HConfigIsDefinedMapValw
w
ESMF_HConfigIsMapw
w
ESMF_HConfigIsMapMapKeyw
w
ESMF_HConfigIsMapMapValw
w
ESMF_HConfigIsNullw
w
ESMF_HConfigIsNullMapKeyw
w
ESMF_HConfigIsNullMapValw
w
ESMF_HConfigIsScalarw
w
ESMF_HConfigIsScalarMapKeyw
w
ESMF_HConfigIsScalarMapValw
w
ESMF_HConfigIsSequencew
w
ESMF_HConfigIsSequenceMapKeyw
w
ESMF_HConfigIsSequenceMapValw
w
ESMF_HConfigSetHConfigw
w
ESMF_HConfigSetI4w
w
ESMF_HConfigSetI4Seqw
w
ESMF_HConfigSetI8w
w
ESMF_HConfigSetI8Seqw
w
ESMF_HConfigSetLogicalw
w
ESMF_HConfigSetLogicalSeqw
w
ESMF_HConfigSetMapKeyHConfigw
w
ESMF_HConfigSetMapKeyI4w
w
ESMF_HConfigSetMapKeyI4Seqw
w
ESMF_HConfigSetMapKeyI8w
w
ESMF_HConfigSetMapKeyI8Seqw
w
ESMF_HConfigSetMapKeyLogicalw
w
ESMF_HConfigSetMapKeyLogicalSeqw
w
ESMF_HConfigSetMapKeyR4w
w
ESMF_HConfigSetMapKeyR4Seqw
w
ESMF_HConfigSetMapKeyR8w
w
ESMF_HConfigSetMapKeyR8Seqw
w
ESMF_HConfigSetMapKeyStringw
w
ESMF_HConfigSetMapKeyStringSeqw
w
ESMF_HConfigSetMapValHConfigw
w
ESMF_HConfigSetMapValI4w
w
ESMF_HConfigSetMapValI4Seqw
w
ESMF_HConfigSetMapValI8w
w
ESMF_HConfigSetMapValI8Seqw
w
ESMF_HConfigSetMapValLogicalw
w
ESMF_HConfigSetMapValLogicalSeqw
w
ESMF_HConfigSetMapValR4w
w
ESMF_HConfigSetMapValR4Seqw
w
ESMF_HConfigSetMapValR8w
w
ESMF_HConfigSetMapValR8Seqw
w
ESMF_HConfigSetMapValStringw
w
ESMF_HConfigSetMapValStringSeqw
w
ESMF_HConfigSetR4w
w
ESMF_HConfigSetR4Seqw
w
ESMF_HConfigSetR8w
w
ESMF_HConfigSetR8Seqw
w
ESMF_HConfigSetStringw
w
ESMF_HConfigSetStringSeqw
w
ESMF_HConfigUTestw
w
ESMF_InfoSetHConfigw
w
ESMX_Appw
w
HConfigIterationTestw
w
HConfigNASAIterIssueTestw
w
ProcessRecusivew
w
x_comp_get_configw
w
x_comp_read_fieldsw
w
x_comp_read_geomw
w
x_comp_read_outputw
w

Source Code

  subroutine ESMF_HConfigDestroy(hconfig, keywordEnforcer, rc)
!
! !ARGUMENTS:
    type(ESMF_HConfig), intent(inout)          :: hconfig
type(ESMF_KeywordEnforcer), optional:: keywordEnforcer ! must use keywords below
     integer,            intent(out), optional :: rc

! !DESCRIPTION:
!   Destroys an {\tt ESMF\_HConfig}, releasing the resources associated
!   with the object.
!
! The arguments are:
! \begin{description}
! \item[hconfig]
!      {\tt ESMF\_HConfig} object to be destroyed.
! \item[{[rc]}]
!      Return code; equals {\tt ESMF\_SUCCESS} if there are no errors.
! \end{description}
!
!EOP
!------------------------------------------------------------------------------
    integer                 :: localrc        ! local return code

    ! initialize return code; assume routine not implemented
    localrc = ESMF_RC_NOT_IMPL
    if (present(rc)) rc = ESMF_RC_NOT_IMPL

    ! Check init status of arguments
    ESMF_INIT_CHECK_DEEP(ESMF_HConfigGetInit, hconfig, rc)

    ! Call into the C++ interface, which will sort out optional arguments.
    call c_ESMC_HConfigDestroy(hconfig, localrc)
    if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, &
      ESMF_CONTEXT, rcToReturn=rc)) return

    ! Mark this HConfig as invalid
    hconfig%shallowMemory = 0

    ! Set init code
    ESMF_INIT_SET_DELETED(hconfig)

    ! return successfully
    if (present(rc)) rc = ESMF_SUCCESS

  end subroutine ESMF_HConfigDestroy