f_esmf_xgridgeombasecolgarbage Subroutine

subroutine f_esmf_xgridgeombasecolgarbage(gb, rc)

Uses

  • proc~~f_esmf_xgridgeombasecolgarbage~~UsesGraph proc~f_esmf_xgridgeombasecolgarbage f_esmf_xgridgeombasecolgarbage module~esmf_logerrmod ESMF_LogErrMod proc~f_esmf_xgridgeombasecolgarbage->module~esmf_logerrmod module~esmf_utiltypesmod ESMF_UtilTypesMod proc~f_esmf_xgridgeombasecolgarbage->module~esmf_utiltypesmod module~esmf_xgridgeombasemod ESMF_XGridGeomBaseMod proc~f_esmf_xgridgeombasecolgarbage->module~esmf_xgridgeombasemod module~esmf_logerrmod->module~esmf_utiltypesmod module~esmf_ioutilmod ESMF_IOUtilMod module~esmf_logerrmod->module~esmf_ioutilmod module~esmf_utilstringmod ESMF_UtilStringMod module~esmf_logerrmod->module~esmf_utilstringmod iso_c_binding iso_c_binding module~esmf_utiltypesmod->iso_c_binding module~esmf_xgridgeombasemod->module~esmf_logerrmod module~esmf_xgridgeombasemod->module~esmf_utiltypesmod module~esmf_distgridmod ESMF_DistGridMod module~esmf_xgridgeombasemod->module~esmf_distgridmod module~esmf_gridmod ESMF_GridMod module~esmf_xgridgeombasemod->module~esmf_gridmod module~esmf_initmacrosmod ESMF_InitMacrosMod module~esmf_xgridgeombasemod->module~esmf_initmacrosmod module~esmf_meshmod ESMF_MeshMod module~esmf_xgridgeombasemod->module~esmf_meshmod module~esmf_staggerlocmod ESMF_StaggerLocMod module~esmf_xgridgeombasemod->module~esmf_staggerlocmod module~esmf_distgridmod->module~esmf_logerrmod module~esmf_distgridmod->module~esmf_utiltypesmod module~esmf_distgridmod->module~esmf_initmacrosmod module~esmf_distgridmod->module~esmf_ioutilmod module~esmf_basemod ESMF_BaseMod module~esmf_distgridmod->module~esmf_basemod module~esmf_delayoutmod ESMF_DELayoutMod module~esmf_distgridmod->module~esmf_delayoutmod module~esmf_distgridconnectionmod ESMF_DistGridConnectionMod module~esmf_distgridmod->module~esmf_distgridconnectionmod module~esmf_distgridregdecompmod ESMF_DistGridRegDecompMod module~esmf_distgridmod->module~esmf_distgridregdecompmod module~esmf_f90interfacemod ESMF_F90InterfaceMod module~esmf_distgridmod->module~esmf_f90interfacemod module~esmf_vmmod ESMF_VMMod module~esmf_distgridmod->module~esmf_vmmod module~esmf_gridmod->module~esmf_logerrmod module~esmf_gridmod->module~esmf_utiltypesmod module~esmf_gridmod->module~esmf_distgridmod module~esmf_gridmod->module~esmf_initmacrosmod module~esmf_gridmod->module~esmf_ioutilmod module~esmf_gridmod->module~esmf_staggerlocmod module~esmf_arraybundlemod ESMF_ArrayBundleMod module~esmf_gridmod->module~esmf_arraybundlemod module~esmf_arraymod ESMF_ArrayMod module~esmf_gridmod->module~esmf_arraymod module~esmf_arrayspecmod ESMF_ArraySpecMod module~esmf_gridmod->module~esmf_arrayspecmod module~esmf_gridmod->module~esmf_basemod module~esmf_gridmod->module~esmf_delayoutmod module~esmf_gridmod->module~esmf_f90interfacemod module~esmf_infomod ESMF_InfoMod module~esmf_gridmod->module~esmf_infomod module~esmf_iofiletypecheckmod ESMF_IOFileTypeCheckMod module~esmf_gridmod->module~esmf_iofiletypecheckmod module~esmf_iogridmosaicmod ESMF_IOGridmosaicMod module~esmf_gridmod->module~esmf_iogridmosaicmod module~esmf_iogridspecmod ESMF_IOGridspecMod module~esmf_gridmod->module~esmf_iogridspecmod module~esmf_ioscripmod ESMF_IOScripMod module~esmf_gridmod->module~esmf_ioscripmod module~esmf_localarraymod ESMF_LocalArrayMod module~esmf_gridmod->module~esmf_localarraymod module~esmf_rhandlemod ESMF_RHandleMod module~esmf_gridmod->module~esmf_rhandlemod module~esmf_utilcubedspheremod ESMF_UtilCubedSphereMod module~esmf_gridmod->module~esmf_utilcubedspheremod module~esmf_gridmod->module~esmf_vmmod module~esmf_initmacrosmod->module~esmf_logerrmod module~esmf_initmacrosmod->module~esmf_utiltypesmod module~esmf_ioutilmod->module~esmf_utiltypesmod module~esmf_meshmod->module~esmf_logerrmod module~esmf_meshmod->module~esmf_utiltypesmod module~esmf_meshmod->iso_c_binding module~esmf_meshmod->module~esmf_distgridmod module~esmf_meshmod->module~esmf_gridmod module~esmf_meshmod->module~esmf_initmacrosmod module~esmf_meshmod->module~esmf_ioutilmod module~esmf_meshmod->module~esmf_arraymod module~esmf_meshmod->module~esmf_basemod module~esmf_meshmod->module~esmf_delayoutmod module~esmf_meshmod->module~esmf_f90interfacemod module~esmf_meshmod->module~esmf_ioscripmod module~esmf_iougridmod ESMF_IOUGridMod module~esmf_meshmod->module~esmf_iougridmod module~esmf_meshmod->module~esmf_rhandlemod module~esmf_meshmod->module~esmf_utilcubedspheremod module~esmf_meshmod->module~esmf_vmmod module~esmf_staggerlocmod->module~esmf_logerrmod module~esmf_staggerlocmod->module~esmf_utiltypesmod module~esmf_staggerlocmod->module~esmf_ioutilmod module~esmf_staggerloctypemod ESMF_StaggerLocTypeMod module~esmf_staggerlocmod->module~esmf_staggerloctypemod

Arguments

Type IntentOptional Attributes Name
type(ESMF_XGridGeomBase) :: gb
integer, intent(out) :: rc

Calls

proc~~f_esmf_xgridgeombasecolgarbage~~CallsGraph proc~f_esmf_xgridgeombasecolgarbage f_esmf_xgridgeombasecolgarbage proc~esmf_logfoundallocerror ESMF_LogFoundAllocError proc~f_esmf_xgridgeombasecolgarbage->proc~esmf_logfoundallocerror esmf_breakpoint esmf_breakpoint proc~esmf_logfoundallocerror->esmf_breakpoint proc~esmf_logrc2msg ESMF_LogRc2Msg proc~esmf_logfoundallocerror->proc~esmf_logrc2msg proc~esmf_logwrite ESMF_LogWrite proc~esmf_logfoundallocerror->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

Source Code

  subroutine f_esmf_xgridgeombasecolgarbage(gb, rc)
#undef  ESMF_METHOD
#define ESMF_METHOD "f_esmf_geombasecolgarbage()"
    use ESMF_UtilTypesMod
    use ESMF_LogErrMod
    use ESMF_XGridGeomBaseMod

    implicit none

    type(ESMF_XGridGeomBase)  :: gb
    integer, intent(out) :: rc

    integer :: localrc

    ! initialize return code; assume routine not implemented
    localrc = ESMF_RC_NOT_IMPL
    rc = ESMF_RC_NOT_IMPL

    !print *, "collecting GeomBase garbage"

    ! deallocate actual GeomBaseClass allocation
    if (associated(gb%gbcp)) then
      deallocate(gb%gbcp, stat=localrc)
      if (ESMF_LogFoundAllocError(localrc, msg="Deallocating GeomBase", &
        ESMF_CONTEXT, rcToReturn=rc)) return
    endif
    nullify(gb%gbcp)

    ! return successfully
    rc = ESMF_SUCCESS

  end subroutine f_esmf_xgridgeombasecolgarbage