4 & (fa, krep, krang, pspec, kpulap)
90 INTEGER (KIND=JPLIKB) KREP, KRANG, KPULAP
92 REAL (KIND=JPDBLR) PSPEC(*)
96 INTEGER (KIND=JPLIKB) IRANGC, ITRONC, IMTRONC, INMAX, INMIN
97 INTEGER (KIND=JPLIKB) IKMAX, IDEB, IFIN, JN, JM, JK, IK, IN, IM
98 INTEGER (KIND=JPLIKB) IMLIM, JIND, IOFF, INUMER
99 INTEGER (KIND=JPLIKB) INIMES, ISTRON
100 INTEGER (KIND=JPLIKB),
DIMENSION(:),
ALLOCATABLE :: ITAB1
101 INTEGER (KIND=JPLIKB),
DIMENSION(:),
ALLOCATABLE :: ITAB2
103 REAL (KIND=JPDBLR) ZEPS, ZZ, ZXMW, ZYMW, ZWSUM, ZX, ZY
104 REAL (KIND=JPDBLR) ZP, ZBETA1, ZSUM1, ZSUM2
105 REAL (KIND=JPDBLR),
DIMENSION(:),
ALLOCATABLE :: ZW, ZNORM
109 CHARACTER(LEN=FA%JPLMES) CLMESS
110 CHARACTER(LEN=FA%JPLSPX) CLNSPR
117 REAL(KIND=JPRB) :: ZHOOK_HANDLE
119 IF (krang.LE.0.OR.krang.GT.fa%JPNXFA)
THEN 124 istron=fa%FICHIER(krang)%NSTROF
125 irangc=fa%FICHIER(krang)%NUCADR
126 itronc=fa%CADRE(irangc)%MTRONC
127 llmlam=fa%CADRE(irangc)%LIMLAM
129 IF (llmlam) imtronc=fa%CADRE(irangc)%NOZPAR(2)
130 IF (itronc.LE.istron)
THEN 133 ELSEIF (llmlam.AND.imtronc.LE.istron)
THEN 136 ELSEIF (llmlam.AND.(imtronc.GT.3*itronc.OR. &
137 & itronc.GT.3*imtronc))
THEN 145 zeps = 1.0e-15_jpdblr
148 ikmax = itronc*itronc + imtronc*imtronc
160 ALLOCATE ( itab1(ikmax) )
163 ALLOCATE ( itab2((itronc-1)*(imtronc-1)) )
170 ideb=max(fa%CADRE(irangc)%NOMPAR(2*jm+3)+4*(1+imlim), &
171 & fa%CADRE(irangc)%NOMPAR(2*jm+3)+4)
172 ifin=fa%CADRE(irangc)%NOMPAR(2*jm+4)
174 ioff=jind-fa%CADRE(irangc)%NOMPAR(2*jm+3)
185 IF (itab1(jk).GT.0)
THEN 210 ALLOCATE ( zw(0:inmax), znorm(0:inmax) )
219 ideb=max(fa%CADRE(irangc)%NOMPAR(2*jm+3)+4*(1+imlim), &
220 & fa%CADRE(irangc)%NOMPAR(2*jm+3)+4)
221 ifin=fa%CADRE(irangc)%NOMPAR(2*jm+4)
223 ioff=jind-fa%CADRE(irangc)%NOMPAR(2*jm+3)
226 znorm(itab1(jk)) = max(znorm(itab1(jk)), abs(pspec(jind)))
239 jind=fa%CADRE(irangc)%NDIM0GG(im)+(jn-im)*2 +1
241 jind=fa%CADRE(irangc)%NDIM0GG(im)+(jn-im)*2
243 znorm(jn) = max(znorm(jn), abs(pspec(jind)))
249 zz =
REAL(inmax-inmin+1,
jpdblr)
251 zw(in) = zz /
REAL(in-inmin+1,
jpdblr)
256 IF(znorm(in).LT.zeps)
THEN 258 zw(in) = 100._jpdblr*zeps
275 zx = log(
REAL(ITAB2(JN),JPDBLR))
277 zx = log(
REAL(JN*(JN+1),JPDBLR))
280 zxmw = zxmw+zx*zw(jn)
281 zymw = zymw+zy*zw(jn)
294 zx = log(
REAL(ITAB2(JN),JPDBLR))
296 zx = log(
REAL(JN*(JN+1),JPDBLR))
299 zsum1 = zsum1+zw(jn)*(zy-zymw)*(zx-zxmw)
300 zsum2 = zsum2+zw(jn)*(zx-zxmw)**2
304 DEALLOCATE ( zw, znorm )
305 IF (llmlam)
DEALLOCATE ( itab2 )
308 zbeta1 = zsum1 / zsum2
313 zp = max(-9.999_jpdblr, min(9.999_jpdblr, zp))
314 kpulap = nint( zp * 1000.0_jpdblr, kind=
jplikb )
321 llfata=llmoer(krep,krang)
323 IF (fa%LFAMOP.OR.llfata)
THEN 327 WRITE (unit=clmess,fmt=
'(''KREP='',I4,'', KRANG='',I4, & 328 & '', ISTRON='',I4,'', KPULAP='',I6)') &
329 & krep,krang,istron,kpulap
331 & (fa, inumer,inimes,krep,.false.,clmess, &
332 & clnspr,clnspr,.false.)
339 #include "facom2.llmoer.h" integer, parameter jplikb
integer, parameter jpdblr
subroutine fapula_fort(FA, KREP, KRANG, PSPEC, KPULAP)
subroutine faipar_fort(FA, KNUMER, KNIMES, KCODE, LDFATA, CDMESS, CDNSPR, CDACTI, LDRLFI)
integer(kind=jplikb), parameter jpniil