diff --git a/src/DOUAR.f90 b/src/DOUAR.f90 index 17e052d770615640c03d74011b45235d13f3ae7a..4603feda4fb6b1548074afc2009d5b3012c9a5ee 100644 --- a/src/DOUAR.f90 +++ b/src/DOUAR.f90 @@ -27,7 +27,7 @@ integer ierr,nproc,iproc,k,nrem integer current_level integer ie_ov,ie_loc,ie_level,iter_nl integer err,iunit,cltemp -integer nremove, ninject,nnmax,nadd,naddp,ref_count +integer nremove,ninject,nnmax,nadd,naddp,ref_count integer nleaves_new_mem1 integer nleaves_new_mem2 integer nleaves_old_mem1 @@ -69,7 +69,7 @@ integer ldb,nrhs,n,nz_loc integer, dimension(:), allocatable :: ia,ja logical, dimension(:), allocatable :: iproc_col double precision, dimension(:), allocatable :: avals -double precision, dimension(:,:), allocatable :: b +double precision, dimension(:,:), allocatable :: b,zisodisp double precision, dimension(:), allocatable :: weightel double precision, dimension(:), allocatable :: xyz_t @@ -101,8 +101,8 @@ call int_to_char(ciproc,3,iproc) threadinfo%Logunit=1000+iproc open (unit=threadinfo%Logunit,file='./DEBUG/mpilogs/Log_'//ciproc//'.dat',status='replace') -write(threadinfo%Logunit,*) 'This is douar, last modifed 2009-09-03' -if (iproc.eq.0) write(*,*) 'This is douar, last modifed 2009-09-03' +write(threadinfo%Logunit,*) 'This is douar, last modifed 2009-12-21' +if (iproc.eq.0) write(*,*) 'This is douar, last modifed 2009-12-21, using ', nproc, ' processors.' write(threadinfo%Logunit,'(a,i3)') 'Log file of mpi process',iproc call heap_init(threadinfo,2000+iproc,'./DEBUG/mpilogs/mem_heap_'//ciproc//'.dat') @@ -193,7 +193,7 @@ call define_surface(params,surface,threadinfo,total,step,inc,current_time) !------------------------------------------------------------------------------| !------------------------------------------------------------------------------| call show_time (total,step,inc,1,'define cloud$') -call define_cloud(cl,params) +call define_cloud(cl,params,zisodisp) !------------------------------------------------------------------------------| !------------------------------------------------------------------------------| @@ -584,7 +584,7 @@ do while (istep.le.params%nstep) allocate (osolve%kfixt(osolve%nnode),stat=threadinfo%err) call heap (threadinfo,'osolve%kfixt','main',size(osolve%kfixt),'int',+1) - call define_bc (params,osolve,vo) + call define_bc (params,osolve,vo,zisodisp) !------------------------------------------------------------------------| !------------------------------------------------------------------------| @@ -739,7 +739,7 @@ do while (istep.le.params%nstep) !-------------------------------------------------------------------------------------- if (params%debug>=2) then call show_time (total,step,inc,1,'write global output$') - call write_global_output(params,istep,iter,current_time,osolve,ov,vo,surface,cl,'debug') + call write_global_output(params,istep,iter,current_time,osolve,ov,vo,surface,cl,zisodisp,'debug') call mpi_barrier (mpi_comm_world,ierr) ! call slices (params,osolve,ov,vo,sections,istep,iter,iter_nl) end if @@ -792,7 +792,7 @@ do while (istep.le.params%nstep) call show_time (total,step,inc,1,'Compute isostasy and adjust vertical velocity$') - if (params%isostasy) call isostasy (params,weightel,ov,surface,mat) + if (params%isostasy) call isostasy (params,weightel,ov,surface,mat,zisodisp) !-------------------------------------------------------------------------------------- !-------------------------------------------------------------------------------------- @@ -1235,7 +1235,7 @@ do while (istep.le.params%nstep) !-------------------------------------------------------------------------------------- !-------------------------------------------------------------------------------------- call show_time (total,step,inc,1,'Write output$') - call write_global_output (params,istep,iter-1,current_time,osolve,ov,vo,surface,cl,'final') + call write_global_output (params,istep,iter-1,current_time,osolve,ov,vo,surface,cl,zisodisp,'final') call mpi_barrier (mpi_comm_world,ierr) !-------------------------------------------------------------------------------------- @@ -1340,6 +1340,7 @@ end do deallocate (surface) deallocate (surface0) deallocate (mat) +if (params%isobc) deallocate (zisodisp) deallocate (params%materialn) call heap_final (threadinfo)