subroutine aim_deconstructor(this) class(aim), pointer :: this call this%deallocate_sites() nullify (this) end subroutine aim_deconstructor