subroutine end_trial_wf() use FciMCData, only: trial_space, con_space, con_space_vecs, TrialTag, ConTag use FciMCData, only: TrialWFTag, ConVecTag, CurrentTrialTag, ConTempTag, OccTrialTag use FciMCData, only: OccConTag, TrialTempTag, current_trial_amps use FciMCData, only: trial_wfs, trial_energies use MemoryManager, only: LogMemDealloc use sparse_arrays, only: deallocate_trial_hashtable character(len=*), parameter :: t_r = "end_trial_wf" integer :: ierr call deallocate_trial_hashtable(trial_ht) call deallocate_trial_hashtable(con_ht) if (allocated(trial_space)) then deallocate(trial_space, stat=ierr) call LogMemDealloc(t_r, TrialTag, ierr) end if if (allocated(trial_wfs)) then deallocate(trial_wfs, stat=ierr) call LogMemDealloc(t_r, TrialWFTag, ierr) end if if (allocated(trial_energies)) then deallocate(trial_energies, stat=ierr) if (ierr /= 0) write(stdout, '("Error when deallocating trial_energies:",1X,i8)') ierr end if if (allocated(con_space)) then deallocate(con_space, stat=ierr) call LogMemDealloc(t_r, ConTag, ierr) end if if (allocated(con_space_vecs)) then deallocate(con_space_vecs, stat=ierr) call LogMemDealloc(t_r, ConVecTag, ierr) end if if (allocated(current_trial_amps)) then deallocate(current_trial_amps, stat=ierr) call LogMemDealloc(t_r, CurrentTrialTag, ierr) end if if (allocated(con_send_buf)) deallocate(con_send_buf) end subroutine end_trial_wf