INTEGER :: rank,nextrank INTEGER :: ierr,ix,iy INTEGER, DIMENSION(MPI_STATUS_SIZE) :: stat INTEGER :: comm INTEGER :: tag=1 INTEGER :: coords(2) INTEGER :: nx_global=100, ny_global=100 INTEGER :: nx, ny INTEGER :: nproc_x,nproc_y,left,right,up,down INTEGER :: isend1,isend2,irecv1,irecv2 INTEGER :: jsend1,jsend2,jrecv1,jrecv2 REAL,DIMENSION(:,:),ALLOCATABLE :: IC_glob REAL,DIMENSION(:),ALLOCATABLE :: x, x_glob,y,y_glob,denom REAL,DIMENSION(:),ALLOCATABLE :: works1,works2,workr1,workr2 REAL,DIMENSION(:,:),ALLOCATABLE :: unew,uold REAL :: t,dx,dy REAL, PARAMETER :: finishtime=10.0 REAL, PARAMETER :: dt=0.0001 t=0