subroutine dealloc_real_time_memory use replica_data, only: clean_iter_data implicit none integer :: ierr character(*), parameter :: this_routine = "dealloc_real_time_memory" if (numSnapshotOrbs > 0) deallocate(snapShotOrbs, stat=ierr) if (allocated(numCycShiftExcess)) deallocate(numCycShiftExcess, stat=ierr) deallocate(DiagVec, stat=ierr) call LogMemDealloc(this_routine, DiagVecTag) call clean_iter_data(second_spawn_iter_data) deallocate(shift_damping, stat=ierr) deallocate(temp_freeslot, stat=ierr) deallocate(current_overlap, stat=ierr) deallocate(gs_energy, stat=ierr) deallocate(dyn_norm_red, stat=ierr) deallocate(dyn_norm_psi, stat=ierr) deallocate(pert_norm, stat=ierr) deallocate(gf_overlap, stat=ierr) deallocate(TotPartsPeak, stat=ierr) deallocate(temp_det_list, stat=ierr) call clean_overlap_states() call clear_pops_pert(pops_pert) call clear_pops_pert(overlap_pert) if (allocated(tauCache)) deallocate(tauCache) end subroutine dealloc_real_time_memory