copyright (C) 2001  MSC-RPN COMM  %%%MC2%%%
*     p a r t o p o . h
*
*     Logical parallel processor topology 
*
*     myproc        : processor number 0,1,2, ... (npex*npey-1)
*     myrow         : 0,1,2, ... npex-1
*     mycol         : 0,1,2, ... npey-1
*     numproc       : npex * npey
*
*     nblocx        : partinionning processors in nblocx blocs along-x
*     nblocy        : partinionning processors in nblocy blocs along-y
*
*     mybloc        : bloc number 0,1,2, ... (nblocx*nblocy-1)
*     myblocx       : 0,1,2, ... nblocx-1
*     myblocy       : 0,1,2, ... nblocy-1
*     numpe_perb    : npex/nblocx * npey/nblocy
*     blocme        : processor number 0,1,2, ... within a bloc
*
*     gc_ld,gc_ld2  : global positions
*
      integer nblocx, nblocy, endtopo
      integer 
     $        myproc, myrow  , mycol  , numproc,
     $        mybloc, myblocx, myblocy, numpe_perb, blocme,
     $        gc_ld , gc_ld2 , glb_pos(4), b_ni, b_nj,
     $        b_north,b_south,b_east,b_west
      logical north_L, east_L, south_L, west_L,
     $        b_north_L,b_south_L,b_east_L,b_west_L
      pointer (pagcl , gc_ld  (4,0:*)),(pagcl2 , gc_ld2  (5,0:*))
*
      common / partopo_L  / north_L, east_L, south_L, west_L,
     $                      b_north_L,b_south_L,b_east_L,b_west_L
      common / partopo_i1 / nblocx, nblocy, endtopo
      common / partopo_i2 / myproc, myrow  , mycol  , numproc, glb_pos,
     $                     mybloc, myblocx, myblocy, numpe_perb, blocme,
     $                     b_ni,b_nj,b_north,b_south,b_east,b_west
      common / partopo_p  / pagcl, pagcl2