5 &(cx,cy,ct,cf,xk,cg, npoin2,ndire,jf,nf)
89 &proinf, sphe, cosf,tgf,depth,dzhdt,dzy,dzx,freq,costet,sintet,
90 & uc, vc, dux, duy, dvx, dvy, tra01
99 INTEGER,
INTENT(IN) :: NF,NDIRE,NPOIN2,JF
101 DOUBLE PRECISION,
INTENT(INOUT) :: CX(npoin2,ndire,nf)
102 DOUBLE PRECISION,
INTENT(INOUT) :: CY(npoin2,ndire,nf)
103 DOUBLE PRECISION,
INTENT(INOUT) :: CT(npoin2,ndire,nf)
104 DOUBLE PRECISION,
INTENT(INOUT) :: CF(npoin2,ndire,nf)
105 DOUBLE PRECISION,
INTENT(IN) :: CG(npoin2,nf),XK(npoin2,nf)
110 DOUBLE PRECISION GSQP,SRCF,TFSR,DDDN,LSDUDN,LSDUDS
111 DOUBLE PRECISION USGD,DEUKD,TR1,TR2
130 tr1=gsqp/freq(jf)*costet(ip)
131 tr2=gsqp/freq(jf)*sintet(ip)
134 & (-costet(ip)*dvy(ipoin)-sintet(ip)*duy(ipoin))
136 & ( costet(ip)*dvx(ipoin)+sintet(ip)*dux(ipoin))
138 & (costet(ip)*dvy(ipoin)+sintet(ip)*duy(ipoin))
140 & (costet(ip)*dvx(ipoin)+sintet(ip)*dux(ipoin))
141 cx(ipoin,ip,jf)=tr2+uc(ipoin)
142 cy(ipoin,ip,jf)=tr1+vc(ipoin)
143 ct(ipoin,ip,jf)=-lsdudn
144 cf(ipoin,ip,jf)=-cg(ipoin,jf)*xk(ipoin,jf)*lsduds*
usdpi 155 tr1=gsqp/freq(jf)*costet(ip)
156 tr2=gsqp/freq(jf)*sintet(ip)
159 lsdudn= sintet(ip)*
sr*
160 & (-costet(ip)*dvy(ipoin)-sintet(ip)*duy(ipoin))
162 & ( costet(ip)*dvx(ipoin)+sintet(ip)*dux(ipoin))
163 lsduds= costet(ip)*
sr*
164 & (costet(ip)*dvy(ipoin)+sintet(ip)*duy(ipoin))
166 & (costet(ip)*dvx(ipoin)+sintet(ip)*dux(ipoin))
167 cx(ipoin,ip,jf)=(tr2+uc(ipoin))*
gradeg*srcf
168 cy(ipoin,ip,jf)=(tr1+vc(ipoin))*
gradeg*
sr 169 ct(ipoin,ip,jf)=tr2*tgf(ipoin)*
sr - lsdudn*
gradeg 170 cf(ipoin,ip,jf)= - lsduds*
gradeg*
171 & cg(ipoin,jf)*xk(ipoin,jf)*
usdpi 189 deukd=2.d0*xk(ipoin,jf)*depth(ipoin)
190 IF(deukd.GT.7.d2)
THEN 193 tra01(ipoin) =
deupi*freq(jf)/sinh(deukd)
199 dddn=-sintet(ip)*dzy(ipoin)+costet(ip)*dzx(ipoin)
200 cy(ipoin,ip,jf)=cg(ipoin,jf)*costet(ip)
201 cx(ipoin,ip,jf)=cg(ipoin,jf)*sintet(ip)
202 ct(ipoin,ip,jf)=-tra01(ipoin)*dddn
207 deukd=2.d0*xk(ipoin,jf)*depth(ipoin)
208 IF(deukd.GT.7.d2)
THEN 211 tra01(ipoin)=xk(ipoin,jf)*
deupi*freq(jf)/sinh(deukd)
218 & (-costet(ip)*dvy(ipoin)-sintet(ip)*duy(ipoin))
220 & ( costet(ip)*dvx(ipoin)+sintet(ip)*dux(ipoin))
222 & (costet(ip)*dvy(ipoin)+sintet(ip)*duy(ipoin))
224 & (costet(ip)*dvx(ipoin)+sintet(ip)*dux(ipoin))
225 usgd=vc(ipoin)*dzy(ipoin)+uc(ipoin)*dzx(ipoin)
226 cx(ipoin,ip,jf)=cx(ipoin,ip,jf) + uc(ipoin)
227 cy(ipoin,ip,jf)=cy(ipoin,ip,jf) + vc(ipoin)
228 ct(ipoin,ip,jf)=ct(ipoin,ip,jf) - lsdudn
229 cf(ipoin,ip,jf)= (tra01(ipoin)*(usgd+dzhdt(ipoin))
230 & - lsduds*cg(ipoin,jf)*xk(ipoin,jf))*
usdpi 241 deukd=2.d0*xk(ipoin,jf)*depth(ipoin)
242 IF(deukd.GT.7.d2)
THEN 245 tra01(ipoin) =
deupi*freq(jf)/sinh(deukd)
253 dddn=-sintet(ip)*dzy(ipoin)*
sr+costet(ip)*dzx(ipoin)*srcf
254 cy(ipoin,ip,jf)=(cg(ipoin,jf)*costet(ip))*
sr*
gradeg 255 cx(ipoin,ip,jf)=(cg(ipoin,jf)*sintet(ip))*srcf*
gradeg 256 ct(ipoin,ip,jf)=cg(ipoin,jf)*sintet(ip)*tfsr
257 & -tra01(ipoin)*dddn*
gradeg 262 deukd=2.d0*xk(ipoin,jf)*depth(ipoin)
263 IF(deukd.GT.7.d2)
THEN 266 tra01(ipoin)=xk(ipoin,jf)*
deupi*freq(jf)/sinh(deukd)
273 lsdudn= sintet(ip)*
sr*
274 & (-costet(ip)*dvy(ipoin)-sintet(ip)*duy(ipoin))
276 & ( costet(ip)*dvx(ipoin)+sintet(ip)*dux(ipoin))
277 lsduds= costet(ip)*
sr*
278 & ( costet(ip)*dvy(ipoin)+sintet(ip)*duy(ipoin))
280 & ( costet(ip)*dvx(ipoin)+sintet(ip)*dux(ipoin))
281 usgd=vc(ipoin)*dzy(ipoin)*
sr 282 & +uc(ipoin)*dzx(ipoin)*srcf
283 cy(ipoin,ip,jf)=cy(ipoin,ip,jf)+vc(ipoin)*
sr*
gradeg 284 cx(ipoin,ip,jf)=cx(ipoin,ip,jf)+uc(ipoin)*srcf*
gradeg 285 ct(ipoin,ip,jf)=ct(ipoin,ip,jf)-lsdudn*
gradeg 287 & (tra01(ipoin)*(usgd*
gradeg+dzhdt(ipoin))
subroutine conw4d(CX, CY, CT, CF, XK, CG, NPOIN2, NDIRE, JF, NF)