IMPLICIT DOUBLE PRECISION (A-H,O-Z) INCLUDE 'mpif.h' * The next line is only required for MPICH <= 1.2.1 * INCLUDE 'mpiof.h' INTEGER RTYPE PARAMETER (RTYPE=MPI_DOUBLE_PRECISION) * *** IMPLICIT REAL (A-H,O-Z) *** INCLUDE 'mpif.h' *** INCLUDE 'mpiof.h' *** INTEGER RTYPE *** PARAMETER (RTYPE=MPI_REAL) * * NPROCS: total number of processors * NP, NQ: processor grid, NP*NQ = NPROCS * COMM: communicator with 2D Cartesian topology * RANK_X, RANK_Y: Cartesian coordinates in COMM. * MYRANK: my rank in COMM * NGLOB, MGLOB: total grid points * NLOCA, MLOCA: local grid points * IOFFSET, JOFFSET: coordinates of lower-left corner in the global grid. * NSAVE: save solution every NSAVE iterations. * XTYPE: datatype representing (1:N-1,.) * YTYPE: datatype representing (.,1:M-1) * LEFT, RIGHT: neighbors in the x direction * UPPER, LOWER: neighbors in the y direction * INTEGER NPROCS, NP, NQ, MYRANK, NGLOB, MGLOB, NLOCA, MLOCA, + COMM, RANK_X, RANK_Y, IOFFSET, JOFFSET, NSAVE, + XTYPE, YTYPE, LEFT, RIGHT, UPPER, LOWER COMMON /PARMS/ NPROCS, NP, NQ, MYRANK, NGLOB, MGLOB, NLOCA, MLOCA, + COMM, RANK_X, RANK_Y, IOFFSET, JOFFSET, NSAVE, + XTYPE, YTYPE, LEFT, RIGHT, UPPER, LOWER