25 INTEGER(KIND=JPIM) :: JM,JMLOC
 
   26 INTEGER(KIND=JPIM) :: JGL,IGL,IPLAT,ISENDSET,IRECVSET,JML,IPOS,IM
 
   27 INTEGER(KIND=JPIM) :: I1,I2,I3,IAUX0,IAUX1,JA1
 
   28 INTEGER(KIND=JPIM) :: IGPTOT,IMEDIAP,IRESTM,JA,JB,IOFF
 
   29 INTEGER(KIND=JPIM),
ALLOCATABLE :: IGPTOTL(:,:)
 
   38 IF(llp1) 
WRITE(
nout,*) 
'=== ENTER ROUTINE SUMP_TRANS ===' 
   41 IF(llp2)
WRITE(
nout,9) 
'D%NULTPP   ',
SIZE(
d%NULTPP   ),shape(
d%NULTPP   )
 
   43 IF(llp2)
WRITE(
nout,9) 
'D%NPTRLS   ',
SIZE(
d%NPTRLS   ),shape(
d%NPTRLS   )
 
   44 ALLOCATE(
d%NPROCL(
r%NDGL))
 
   45 IF(llp2)
WRITE(
nout,9) 
'D%NPROCL   ',
SIZE(
d%NPROCL   ),shape(
d%NPROCL   )
 
   52 IF(llp2)
WRITE(
nout,9) 
'D%NLTSGTB ',
SIZE(
d%NLTSGTB),shape(
d%NLTSGTB)
 
   54 IF(llp2)
WRITE(
nout,9) 
'D%NLTSFTB ',
SIZE(
d%NLTSFTB),shape(
d%NLTSFTB)
 
   56 IF(llp2)
WRITE(
nout,9) 
'D%NSTAGT0B ',
SIZE(
d%NSTAGT0B),shape(
d%NSTAGT0B)
 
   58 IF(llp2)
WRITE(
nout,9) 
'D%NSTAGT1B ',
SIZE(
d%NSTAGT1B),shape(
d%NSTAGT1B)
 
   60 IF(llp2)
WRITE(
nout,9) 
'D%MSTABF ',
SIZE(
d%MSTABF),shape(
d%MSTABF)
 
   66     d%NLTSGTB(
d%NPROCM(jm)) = 
d%NLTSGTB(
d%NPROCM(jm))+1
 
   72     igl = 
d%NPTRLS(ja)+jgl-1
 
   74       IF(igl > 
r%NDGNH-
g%NDGLU(
d%MYMS(jm)) .AND. igl <= 
r%NDGNH+
g%NDGLU(
d%MYMS(jm))) 
THEN 
   85   d%MSTABF(irecvset) = isendset
 
   89 ALLOCATE(
d%NPNTGTB0(0:
r%NSMAX,
d%NDGL_FS))
 
   90 IF(llp2)
WRITE(
nout,9) 
'D%NPNTGTB0 ',
SIZE(
d%NPNTGTB0 ),shape(
d%NPNTGTB0 )
 
   91 ALLOCATE(
d%NPNTGTB1(
d%NUMP,
r%NDGL))
 
   92 IF(llp2)
WRITE(
nout,9) 
'D%NPNTGTB1 ',
SIZE(
d%NPNTGTB1 ),shape(
d%NPNTGTB1 )
 
   97     igl = 
d%NPTRLS(
mysetw) + jgl - 1
 
   98     DO jml=
d%NPTRMS(ja),
d%NPTRMS(ja)+
d%NUMPP(ja)-1
 
  100       IF (im  <=  
g%NMEN(igl)) 
THEN 
  101         d%NPNTGTB0(im,jgl) = ipos
 
  104         d%NPNTGTB0(im,jgl) = -99
 
  112   DO jgl=1,
d%NULTPP(ja)
 
  113     igl = 
d%NPTRLS(ja) + jgl - 1
 
  116       IF (im  <=  
g%NMEN(igl)) 
THEN 
  117         d%NPNTGTB1(jm,igl) = ipos
 
  120         d%NPNTGTB1(jm,igl) = -99
 
  134   iaux0 = max(
d%NLTSFTB(i1),
d%NLTSGTB(i2),iaux0)
 
  135   iaux1 = max(
d%NLTSGTB(i2),
d%NLTSFTB(i3),iaux1)
 
  137 iaux0 = max(
d%NLTSGTB(
mysetw),iaux0)
 
  138 iaux1 = max(
d%NLTSGTB(
mysetw),iaux1)
 
  140   d%NSTAGT0B(ja) = (ja-1)*iaux0
 
  141   d%NSTAGT1B(ja) = (ja-1)*iaux1
 
  149 IF(llp2)
WRITE(
nout,9) 
'D%NFRSTLAT ',
SIZE(
d%NFRSTLAT ),shape(
d%NFRSTLAT )
 
  151 IF(llp2)
WRITE(
nout,9) 
'D%NLSTLAT  ',
SIZE(
d%NLSTLAT  ),shape(
d%NLSTLAT  )
 
  152 ALLOCATE(
d%NPTRLAT(
r%NDGL))
 
  153 IF(llp2)
WRITE(
nout,9) 
'D%NPTRLAT  ',
SIZE(
d%NPTRLAT  ),shape(
d%NPTRLAT  )
 
  155 IF(llp2)
WRITE(
nout,9) 
'D%NPTRFRSTLAT',
SIZE(
d%NPTRFRSTLAT),shape(
d%NPTRFRSTLAT)
 
  157 IF(llp2)
WRITE(
nout,9)
'D%NPTRLSTLAT',
SIZE(
d%NPTRLSTLAT),shape(
d%NPTRLSTLAT)
 
  158 ALLOCATE(
d%LSPLITLAT(
r%NDGL))
 
  159 IF(llp2)
WRITE(
nout,9) 
'D%LSPLITLAT',
SIZE(
d%LSPLITLAT),shape(
d%LSPLITLAT)
 
  163              &
d%NFRSTLAT,
d%NLSTLAT,
d%NFRSTLOFF,
d%NPTRLAT,&
 
  164              &
d%NPTRFRSTLAT,
d%NPTRLSTLAT,
d%NPTRFLOFF,&
 
  165              &imediap,irestm,
d%LSPLITLAT)
 
  170   WRITE(
nout,fmt=
'(/'' OUTPUT FROM ROUTINE SUMPLAT: ''/)')
 
  171   WRITE(
nout,fmt=
'('' D%NULTPP '')')
 
  173   WRITE(
nout,fmt=
'('' D%NPROCL '')')
 
  174   WRITE(
nout,fmt=
'(20(1X,I4))') 
d%NPROCL(1:
r%NDGL)
 
  175   WRITE(
nout,fmt=
'('' D%NFRSTLAT '')')
 
  177   WRITE(
nout,fmt=
'('' D%NLSTLAT '')')
 
  179   WRITE(
nout,fmt=
'('' D%NFRSTLOFF  D%NPTRFLOFF '')')
 
  180   WRITE(
nout,fmt=
'(2(1X,I6))') 
d%NFRSTLOFF, 
d%NPTRFLOFF
 
  181   WRITE(
nout,fmt=
'('' D%NPTRLAT '')')
 
  182   WRITE(
nout,fmt=
'(20(1X,I4))') 
d%NPTRLAT(1:
r%NDGL)
 
  183   WRITE(
nout,fmt=
'('' D%LSPLITLAT '')')
 
  184   WRITE(
nout,fmt=
'(50(1X,L1))') 
d%LSPLITLAT(1:
r%NDGL)
 
  185   WRITE(
nout,fmt=
'('' D%NPTRFRSTLAT '')')
 
  187   WRITE(
nout,fmt=
'('' D%NPTRLSTLAT '')')
 
  189   WRITE(
nout,fmt=
'(/)')
 
  192 IF(llp2)
WRITE(
nout,9) 
'D%NSTA     ',
SIZE(
d%NSTA     ),shape(
d%NSTA     )
 
  194 IF(llp2)
WRITE(
nout,9) 
'D%NONL     ',
SIZE(
d%NONL     ),shape(
d%NONL     )
 
  205     DO jgl=
d%NPTRFRSTLAT(ja),
d%NPTRLSTLAT(ja)
 
  206       igptot = igptot+
d%NONL(jgl,jb)
 
  208     igptotl(ja,jb) = igptot
 
  212 d%NGPTOTMX = maxval(igptotl)
 
  213 d%NGPTOTG = sum(igptotl)
 
  215 IF(llp2)
WRITE(
nout,9) 
'D%NGPTOTL     ',
SIZE(
d%NGPTOTL ),shape(
d%NGPTOTL  )
 
  216 d%NGPTOTL(:,:) = igptotl(:,:)
 
  218 ALLOCATE(
d%NSTAGTF(
d%NDGL_FS))
 
  219 IF(llp2)
WRITE(
nout,9) 
'D%NSTAGTF     ',
SIZE(
d%NSTAGTF ),shape(
d%NSTAGTF  )
 
  222   d%NSTAGTF(jgl) = ioff
 
  223   igl = 
d%NPTRLS(
mysetw) + jgl - 1
 
  224   ioff = ioff + 
g%NLOEN(igl)+3
 
  231 9 
FORMAT(1
x,
'ARRAY ',a10,
' ALLOCATED ',8i8)
 
!$Id mode_top_bound COMMON comconstr r
 
!$Id mode_top_bound COMMON comconstr g
 
integer(kind=jpim), public n_regions_ns
 
type(distr_type), pointer d
 
subroutine sumplatf(KDGL, KPROCA, KMYSETA, KULTPP, KPROCL, KPTRLS)
 
integer(kind=jpim), public my_region_ns
 
subroutine sumplat(KDGL, KPROC, KPROCA, KMYSETA, LDSPLIT, LDEQ_REGIONS, KFRSTLAT, KLSTLAT, KFRSTLOFF, KPTRLAT, KPTRFRSTLAT, KPTRLSTLAT, KPTRFLOFF, KMEDIAP, KRESTM, LDSPLITLAT)
 
integer(kind=jpim), public my_region_ew
 
integer(kind=jpim) function mysendset(KSETS, KMYSET, KSET)
 
!$Header!c c INCLUDE fxyprim h c c c Fonctions in line c c REAL fyprim REAL rj c c il faut la calculer avant d appeler ces fonctions c c c Fonctions a changer selon x(x) et y(y) choisis.c-----------------------------------------------------------------c c.....ici
 
integer(kind=jpim) mysetw
 
integer(kind=jpim) function myrecvset(KSETS, KMYSET, KSET)
 
integer(kind=jpim), public n_regions_ew
 
integer(kind=jpim) nprtrw
 
subroutine sustaonl(KMEDIAP, KRESTM)
 
integer(kind=jpim) nprtrns
 
integer(kind=jpim), dimension(:), allocatable, public n_regions
 
integer(kind=jpim) nprintlev