diff --git a/src/DOUAR.f90 b/src/DOUAR.f90 index 0a15c95dfda73ad2def23b1e9e2851307d79e980..57f4ea149135357b13cf11f2fde5fe5048363720 100644 --- a/src/DOUAR.f90 +++ b/src/DOUAR.f90 @@ -63,13 +63,14 @@ type (face),dimension(6) :: cube_faces type (edge),dimension(:),allocatable::ed,edswap type (parameters) params type (thread) threadinfo +type (ziso) zi integer n_iproc_st,n_iproc_end,n_iproc 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,zisodisp +double precision, dimension(:,:), allocatable :: b double precision, dimension(:), allocatable :: weightel double precision, dimension(:), allocatable :: xyz_t @@ -177,7 +178,7 @@ else current_level=params%levelmax_oct end if -if (params%isobc) allocate(zisodisp(2**params%levelmax_oct+1,2**params%levelmax_oct+1),stat=err) ; if (err.ne.0) call stop_run ('Error alloc zisodisp in main$') +!if (params%isobc) allocate(zisodisp(2**params%levelmax_oct+1,2**params%levelmax_oct+1),stat=err) ; if (err.ne.0) call stop_run ('Error alloc zisodisp in main$') call show_time (total,step,inc,1,'Problem Setup$') @@ -195,7 +196,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,zisodisp) +call define_cloud(cl,params,zi) !------------------------------------------------------------------------------| !------------------------------------------------------------------------------| @@ -586,7 +587,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,zisodisp) + call define_bc (params,osolve,vo,zi) !------------------------------------------------------------------------| !------------------------------------------------------------------------| @@ -741,7 +742,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,zisodisp,'debug') + call write_global_output(params,istep,iter,current_time,osolve,ov,vo,surface,cl,zi,'debug') call mpi_barrier (mpi_comm_world,ierr) ! call slices (params,osolve,ov,vo,sections,istep,iter,iter_nl) end if @@ -795,7 +796,7 @@ do while (istep.le.params%nstep) call show_time (total,step,inc,1,'Compute isostasy and adjust vertical velocity$') allocate(ov%wpreiso(ov%nnode),stat=err) ; if (err.ne.0) call stop_run ('Error alloc ov%wpreiso in main$') - if (params%isostasy) call isostasy (params,weightel,ov,surface,mat,zisodisp) + if (params%isostasy) call isostasy (params,weightel,ov,surface,mat,zi) !-------------------------------------------------------------------------------------- !-------------------------------------------------------------------------------------- @@ -1240,7 +1241,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,zisodisp,'final') + call write_global_output (params,istep,iter-1,current_time,osolve,ov,vo,surface,cl,zi,'final') call mpi_barrier (mpi_comm_world,ierr) !-------------------------------------------------------------------------------------- @@ -1347,7 +1348,8 @@ end do deallocate (surface) deallocate (surface0) deallocate (mat) -if (params%isobc) deallocate (zisodisp) +!if (params%isobc) deallocate (zisodisp) +if (params%isobc) deallocate (zi%zisodisp) deallocate (params%materialn) call heap_final (threadinfo)