18 INTEGER(KIND=JPIM) :: JA,JJ,JM,JMLOC,ILATPP,IRESTL,IMLOC,IDT,INM
20 INTEGER(KIND=JPIM) :: IMYMS(
r%nsmax+1),INUMTPP(
nprtrw)
21 INTEGER(KIND=JPIM) :: IDUMI1,IDUMI2,IDUMI3
22 INTEGER(KIND=JPIM) :: IDUM2(0:
r%nsmax), IDUM3(
nprtrw+1), IDUM4(
r%nsmax+1)
30 IF(llp1)
WRITE(
nout,*)
'=== ENTER ROUTINE SUMP_TRANS_PRELEG ==='
35 ALLOCATE(
d%NASM0(0:
r%NSMAX))
36 IF(llp2)
WRITE(
nout,9)
'D%NASM0 ',
SIZE(
d%NASM0 ),shape(
d%NASM0 )
37 ALLOCATE(
d%NATM0(0:
r%NTMAX))
38 IF(llp2)
WRITE(
nout,9)
'D%NATM0 ',
SIZE(
d%NATM0 ),shape(
d%NATM0 )
40 IF(llp2)
WRITE(
nout,9)
'D%NUMPP ',
SIZE(
d%NUMPP ),shape(
d%NUMPP )
42 IF(llp2)
WRITE(
nout,9)
'D%NPOSSP',
SIZE(
d%NPOSSP ),shape(
d%NPOSSP )
43 ALLOCATE(
d%NPROCM(0:
r%NSMAX))
44 IF(llp2)
WRITE(
nout,9)
'D%NPROCM',
SIZE(
d%NPROCM ),shape(
d%NPROCM )
46 IF(llp2)
WRITE(
nout,9)
'D%NPTRMS ',
SIZE(
d%NPTRMS ),shape(
d%NPTRMS )
47 ALLOCATE(
d%NALLMS(
r%NSMAX+1))
48 IF(llp2)
WRITE(
nout,9)
'D%NALLMS ',
SIZE(
d%NALLMS ),shape(
d%NALLMS )
49 ALLOCATE(
d%NDIM0G(0:
r%NSMAX))
50 IF(llp2)
WRITE(
nout,9)
'D%NDIM0G ',
SIZE(
d%NDIM0G ),shape(
d%NDIM0G )
53 &
d%NASM0,
d%NSPOLEGL,
d%NPROCM,
d%NUMPP,&
54 &
d%NSPEC,
d%NSPEC2,
d%NSPEC2MX,
d%NPOSSP,imyms,&
55 &
d%NPTRMS,
d%NALLMS,
d%NDIM0G)
57 &kasm0=
d%NATM0,kumpp=inumtpp,kspec2=
d%NTPEC2)
60 ALLOCATE(
d%MYMS(
d%NUMP))
61 IF(llp2)
WRITE(
nout,9)
'D%MYMS ',
SIZE(
d%MYMS ),shape(
d%MYMS )
62 d%MYMS(:) = imyms(1:
d%NUMP)
66 WRITE(
nerr,
'("SUMP: NPRTRW TOO LARGE FOR SPECTRAL RESOLUTION",/,&
67 &"NOTE MAX VALUE FOR Tnnn CASE IS nnn+1",/,&
68 &"MORE PROCESSORS CAN BE USED BY INCREASING NPRTRV")')
69 CALL abort_trans(
'NPRTRW TOO LARGE FOR SPECTRAL RESOLUTION')
73 IF(llp2)
WRITE(
nout,9)
'D%NLATLS',
SIZE(
d%NLATLS ),shape(
d%NLATLS )
75 IF(llp2)
WRITE(
nout,9)
'D%NLATLE',
SIZE(
d%NLATLE ),shape(
d%NLATLE )
84 d%NLATLS(ja) = irestl*(ilatpp+1)+(ja-irestl-1)*ilatpp+1
85 d%NLATLE(ja) =
d%NLATLS(ja)+ilatpp-1
87 d%NLATLS(ja) = (ja-1)*(ilatpp+1)+1
88 d%NLATLE(ja) =
d%NLATLS(ja)+ilatpp
93 WRITE(
nout,
'('' D%NLATLS '')')
95 WRITE(
nout,
'('' D%NLATLE '')')
99 ALLOCATE(
d%NPMT(0:
r%NSMAX))
100 IF(llp2)
WRITE(
nout,9)
'D%NPMT ',
SIZE(
d%NPMT ),shape(
d%NPMT )
101 ALLOCATE(
d%NPMS(0:
r%NSMAX))
102 IF(llp2)
WRITE(
nout,9)
'D%NPMS ',
SIZE(
d%NPMS ),shape(
d%NPMS )
103 ALLOCATE(
d%NPMG(0:
r%NSMAX))
104 IF(llp2)
WRITE(
nout,9)
'D%NPMG ',
SIZE(
d%NPMG ),shape(
d%NPMG )
105 idt =
r%NTMAX-
r%NSMAX
108 imloc =
d%MYMS(jmloc)
110 d%NPMS(imloc) = inm+idt
111 inm = inm+
r%NTMAX+2-imloc
116 inm = inm+
r%NTMAX+2-jm
122 9
FORMAT(1
x,
'ARRAY ',a10,
' ALLOCATED ',8i8)
!$Id mode_top_bound COMMON comconstr r
type(distr_type), pointer d
subroutine sump_trans_preleg
subroutine suwavedi(KSMAX, KTMAX, KPRTRW, KMYSETW, KASM0, KSPOLEGL, KPROCM, KUMPP, KSPEC, KSPEC2, KSPEC2MX, KPOSSP, KMYMS, KPTRMS, KALLMS, KDIM0G)
!$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) nprtrw
subroutine abort_trans(CDTEXT)
integer(kind=jpim) nprintlev