 integer coltype, left_coltype, right_coltype
 
 ! Vector type used on origin
 call MPI_TYPE_VECTOR( 1, ny, nx+2, MPI_DOUBLE_PRECISION, &
                       coltype, ierr )
 call MPI_TYPE_COMMIT( coltype, ierr )
 
 ! Exchange stride information needed to build the left and right 
 ! coltypes
 call MPI_SENDRECV( nx, 1, MPI_INTEGER, left_nbr, 2, &
                    right_nx, 1, MPI_INTEGER, right_nbr, 2, &
                    MPI_COMM_WORLD, status, ierr )
 call MPI_SENDRECV( nx, 1, MPI_INTEGER, right_nbr, 3, &
                    left_nx, 1, MPI_INTEGER, left_nbr, 3, &
                    MPI_COMM_WORLD, status, ierr )
 call MPI_TYPE_VECTOR( 1, ny, left_nx + 2, MPI_DOUBLE_PRECISION, &
                       left_coltype, ierr )
 call MPI_TYPE_COMMIT( left_coltype, ierr )
 call MPI_TYPE_VECTOR( 1, ny, right_nx + 2, MPI_DOUBLE_PRECISION, &
                       right_coltype, ierr )
 call MPI_TYPE_COMMIT( right_coltype, ierr )
