SUBROUTINE DESTROYUMATCACHE
character(len=*), parameter :: thisroutine = 'DESTROYUMATCACHE'
CALL WriteUMatCacheStats()
IF (ASSOCIated(UMatCacheData)) THEN
write(stdout, *) "Destroying UMatCache"
CALL LogMemDealloc(thisroutine, tagUMatCacheData)
Deallocate(UMatCacheData)
CALL LogMemDealloc(thisroutine, tagUMATLABELS)
Deallocate(UMatLabels)
end if
IF (ASSOCIated(UMat2D)) THEN
CALL LogMemDealloc(thisroutine, tagUMat2D)
Deallocate(UMat2D)
end if
IF (ASSOCIated(TransTable)) THEN
CALL LogMemDealloc(thisroutine, tagTransTable)
Deallocate(TransTable)
end if
IF (ASSOCIated(InvTRANSTABLE)) THEN
CALL LogMemDealloc(thisroutine, tagInvTransTable)
Deallocate(InvTRANSTABLE)
end if
END SUBROUTINE DESTROYUMATCACHE