ENDSYM Subroutine

public subroutine ENDSYM()

Arguments

None

Contents

Source Code


Source Code

    SUBROUTINE ENDSYM()
        IMPLICIT NONE
        character(*), parameter :: this_routine = 'EndSym'
        if (allocated(SymTable)) then
            deallocate(SymTable)
            call LogMemDealloc(this_routine, tagSymTable)
        end if
        if (allocated(SymConjTab)) then
            deallocate(SymConjTab)
            call LogMemDealloc(this_routine, tagSymConjTab)
        end if
        if (allocated(SymReps)) then
            deallocate(SymReps)
            call LogMemDealloc(this_routine, tagSymReps)
        end if
        if (associated(SymClasses)) then
            deallocate(SymClasses)
            call LogMemDealloc(this_routine, tagSymClasses)
        end if
        nullify (SymClasses)
        if (associated(SymClasses2)) then
            deallocate(SymClasses2)
            call LogMemDealloc(this_routine, tagSymClasses2)
        end if
        nullify (SymClasses2)
        if (allocated(SymLabels)) then
            deallocate(SymLabels)
            call LogMemDealloc(this_routine, tagSymLabels)
        end if
        if (allocated(SymLabelChars)) then
            deallocate(SymLabelChars)
            call LogMemDealloc(this_routine, tagSymLabelChars)
        end if
        if (allocated(IRREPCHARS)) then
            deallocate(IRREPCHARS)
            call LogMemDealloc(this_routine, tagIRREPCHARS)
        end if
        if (allocated(SymStatePairs)) then
            deallocate(SymStatePairs)
            call LogMemDealloc(this_routine, tagSymStatePairs)
        end if
        if (allocated(SymLabelList)) then
            deallocate(SymLabelList)
            call LogMemDealloc(this_routine, tagSymLabelList)
        end if
        if (allocated(SymLabelCounts)) then
            deallocate(SymLabelCounts)
            call LogMemDealloc(this_routine, tagSymLabelCounts)
        end if
        if (associated(SymIndex)) then
            deallocate(SymIndex)
            call LogMemDealloc(this_routine, tagSymIndex)
        end if
        if (associated(SymIndex2)) then
            deallocate(SymIndex2)
            call LogMemDealloc(this_routine, tagSymIndex2)
        end if
        if (allocated(SymLabelList2)) then
            deallocate(SymLabelList2)
        end if
        if (allocated(SymLabelCounts2)) then
            deallocate(SymLabelCounts2)
        end if
        if (allocated(OrbClassCount)) then
            deallocate(OrbClassCount)
        end if
        if (allocated(SymPairProds)) then
            deallocate(SymPairProds)
            call LogMemDealloc(this_routine, tagSymPairProds)
        end if
    END SUBROUTINE ENDSYM