4 & (fwx, fwy, npoin2, xk, ndire, fs,nf, taux1, f_int)
17 & deupi, cmout3,cmout4, cmout5, cmout6, varian, fmoy, xkmoy,
18 & depth, usold, proinf, gravit
22 INTEGER,
INTENT(IN) :: NPOIN2, NDIRE,NF
23 DOUBLE PRECISION,
INTENT(IN) :: FS(npoin2,ndire,nf)
24 DOUBLE PRECISION,
INTENT(IN) :: XK(npoin2,nf)
25 DOUBLE PRECISION,
INTENT(INOUT) :: FWX(npoin2), FWY(npoin2)
26 DOUBLE PRECISION,
INTENT(INOUT) :: F_INT(npoin2),TAUX1(npoin2)
28 DOUBLE PRECISION DTETAR, SIGMA, AUX, BETAMOU, AUX1
29 DOUBLE PRECISION W, SURDEUPIFREQ, SQBSCMOUT4, SURCMOUT4
30 DOUBLE PRECISION PO, P0O, KD, DEUKD
31 DOUBLE PRECISION CG1, CPHAS, C3, C2, C1, BETAO, BETA, B
33 dtetar=deupi/dble(ndire)
34 c1 = - cmout5*deupi**9/gravit**4
37 surcmout4 = 1.d0/cmout4
41 taux1(ip) = c1 * varian(ip)**2 * fmoy(ip)**9
46 taux1(ip) = c2 * varian(ip)**2 * fmoy(ip) * xkmoy(ip)**4
51 surdeupifreq=1.d0/(deupi*
freq(jf))
58 f_int(ip)=f_int(ip)+fs(ip,jp,jf)
62 f_int(ip)=f_int(ip)*dtetar
69 cphas = xk(ip,jf)*surdeupifreq
70 p0o = 3.d0+tanh(w*(usold(ip)*cphas-0.1d0))
71 cg1 = 0.5d0*gravit*surdeupifreq
72 b = cg1*f_int(ip)*xk(ip,jf)**3
73 sqbscmout4=sqrt(b*surcmout4)
75 po = 0.5d0*(1.d0+tanh(10.d0*(sqbscmout4-1.d0)))
77 c3 = -cmout3*sqrt(gravit*xk(ip,jf))
78 betao = c3*sqbscmout4**p0o
79 betamou = beta+po*(betao-beta)
82 fwx(ip)=fwx(ip)+((xk(ip,jf)/sigma)*
sintet(jp)
83 & *betamou*fs(ip,jp,jf))*aux1
84 fwy(ip)=fwy(ip)+((xk(ip,jf)/sigma)*
costet(jp)
85 & *betamou*fs(ip,jp,jf))*aux1
91 cphas = xk(ip,jf)*surdeupifreq
92 kd=min(xk(ip,jf)*depth(ip),350.d0)
94 cg1=( 0.5d0+xk(ip,jf)*depth(ip)/sinh(deukd) )/cphas
95 b = cg1*f_int(ip)*xk(ip,jf)**3
96 sqbscmout4=sqrt(b*surcmout4)
98 c3=-cmout3*sqrt(gravit*xk(ip,jf))
100 p0o=3.d0+tanh(w*(usold(ip)*cphas-0.1d0))
101 betao=c3*sqbscmout4**p0o*aux**((2.d0-p0o)*0.25d0)
103 aux = xk(ip,jf) / xkmoy(ip)
105 beta=taux1(ip)*aux*(1.d0-cmout6+cmout6*aux)
107 po = 0.5d0*(1.d0+tanh(10.d0*(sqbscmout4-1.d0)))
108 betamou=beta+po*(betao-beta)
111 fwx(ip)=fwx(ip)+((xk(ip,jf)/sigma)*
sintet(jp)
112 & *betamou*fs(ip,jp,jf))*aux1
113 fwy(ip)=fwy(ip)+((xk(ip,jf)/sigma)*
costet(jp)
114 & *betamou*fs(ip,jp,jf))*aux1
double precision, dimension(:), pointer sintet
double precision, dimension(:), pointer freq
double precision, dimension(:), pointer dfreq
double precision, dimension(:), pointer costet
subroutine moudiss2(FWX, FWY, NPOIN2, XK, NDIRE, FS, NF, TAUX1, F_INT)