5 &(pale,gamma,perpic,npale,pmin,pmax)
53 INTEGER NPALE,NPAS,I,K
55 DOUBLE PRECISION PALE(npale)
56 DOUBLE PRECISION PERPIC,GAMMA ,SUMB ,SUMICI ,DF ,VAR
57 DOUBLE PRECISION PMIN ,PMAX ,FMIN ,FMAX
58 DOUBLE PRECISION B ,B1 ,B2
68 IF (fmax.GE.99.d0)
THEN 78 IF (gamma.GT.0.99d0 .AND. gamma.LT.1.01d0)
THEN 84 b1 = exp(-1.25d0 * (
fp/fmax)**4)
85 b2 = exp(-1.25d0 * (
fp/fmin)**4)
88 pale(npale-i+1) = perpic *
89 & (-0.8d0*log( b2 + b*float(2*i-1)/float(2*npale) ))**(0.25d0)
104 110
FORMAT(/,1x,
'(PERALE) : FMAX < FP ??? =>',1x,
105 &
'CORRECTION : FMAX =',1x,f5.3,
' HZ',/)
114 df = (fmax-fmin)/float(npas)
120 & ( 0.230d0 + 0.0336d0*
gam - 0.185d0 / (1.9d0+
gam) )
124 sumb = (
spe(fmin) +
spe(fmax))/2.d0
126 sumb = sumb +
spe(fmin+float(i)*df)
131 sumb = sumb/float(2*npale)
135 sumici =
spe(fmin)/2.d0
138 var =
spe(fmin+df*float(k))
139 sumici = sumici + var/2.d0
140 IF (sumici.GT.sumb*float(2*i-1))
THEN 141 pale(npale-i+1) = 1.d0 / ( fmin + df*(float(k)-0.5d0) )
143 IF (i.GT.npale)
RETURN 145 sumici = sumici + var/2.d0
double precision function spe(F)
subroutine perale(PALE, GAMMA, PERPIC, NPALE, PMIN, PMAX)