3 SUBROUTINE supol(KNSMAX,DDMU,DDPOL,DDA,DDB,DDC,DDD,DDE,DDF,DDG,DDH,DDI)
53 INTEGER(KIND=JPIM),
INTENT(IN) :: KNSMAX
54 REAL(KIND=JPRH) ,
INTENT(IN) :: DDMU
55 REAL(KIND=JPRH) ,
INTENT(IN) :: DDC(0:knsmax,0:knsmax)
56 REAL(KIND=JPRH) ,
INTENT(IN) :: DDD(0:knsmax,0:knsmax)
57 REAL(KIND=JPRH) ,
INTENT(IN) :: DDE(0:knsmax,0:knsmax)
58 REAL(KIND=JPRH) ,
INTENT(IN) :: DDA(0:knsmax),DDB(0:knsmax),DDF(0:knsmax)
59 REAL(KIND=JPRH) ,
INTENT(IN) :: DDG(0:knsmax),DDH(0:knsmax),DDI(0:knsmax)
60 REAL(KIND=JPRH) ,
INTENT(OUT) :: DDPOL(0:knsmax,0:knsmax)
62 REAL(KIND=JPRH) :: DLX,DLSITA,DL1SITA,DLKM2,DLKM1,DLK,DL1,DLS
64 INTEGER(KIND=JPIM) :: JM, JN
73 dlsita=sqrt(1.0_jprb-dlx*dlx)
76 IF(abs(
REAL(dlsita,kind(z))) <= sqrt(epsilon(z)))
THEN
81 dl1sita=1.0_jprb/dlsita
86 ddpol(0,1)=dlkm1*dda(1)
87 ddpol(1,1)=dlsita*ddb(1)
89 dlk=ddf(jn)*dlx*dlkm1-ddg(jn)*dlkm2
90 dl1=ddi(jn)*(dlkm1-dlx*dlk)*dl1sita
91 ddpol(0,jn)=dlk*dda(jn)
92 ddpol(1,jn)=dl1*ddb(jn)
102 dls=dl1sita*tiny(dls)
106 ddpol(jn,jn)=ddpol(jn-1,jn-1)*dlsita*ddh(jn)
107 IF ( abs(ddpol(jn,jn)) < dls ) ddpol(jn,jn)=0.0_jprb
119 ddpol(jm,jn)=ddc(jm,jn)*ddpol(jm-2,jn-2)&
120 &-ddd(jm,jn)*ddpol(jm-2,jn-1)*dlx &
121 &+dde(jm,jn)*ddpol(jm ,jn-1)*dlx
subroutine supol(KNSMAX, DDMU, DDPOL, DDA, DDB, DDC, DDD, DDE, DDF, DDG, DDH, DDI)