15 SUBROUTINE fac4ww (XIS ,SNLC1 ,DAL1 ,DAL2 ,DAL3 ,SPCSIG, &
32 INTEGER MSC2 ,MSC1 ,IS ,IDP ,IDP1 , &
33 IDM ,IDM1 ,ISP ,ISP1 ,ISM ,ISM1 , &
34 IDPP ,IDMM ,ISPP ,ISMM , &
35 ISLOW ,ISHGH ,ISCLW ,ISCHG ,IDLOW ,IDHGH , &
38 REAL SNLC1 ,LAMM2 ,LAMP2 ,DELTH3, &
39 AUX1 ,DELTH4,DAL1 ,DAL2 ,DAL3 ,CIDP ,WIDP , &
40 WIDP1 ,CIDM ,WIDM ,WIDM1 ,XIS ,XISLN ,WISP , &
41 WISP1 ,WISM ,WISM1 ,AWG1 ,AWG2 ,AWG3 ,AWG4 , &
42 AWG5 ,AWG6 ,AWG7 ,AWG8 ,SWG1 ,SWG2 ,SWG3 , &
43 SWG4 ,SWG5 ,SWG6 ,SWG7 ,SWG8 ,FREQ , &
46 REAL WWAWG(*),WWSWG(*)
56 msc2 = int( float(msc) / 2.0 )
59 xis = spcsig(msc2) / spcsig(msc1)
66 lamm2 = (1.-
pquad(1))**2
67 lamp2 = (1.+
pquad(1))**2
68 delth3 = acos( (lamm2**2+4.-lamp2**2) / (4.*lamm2) )
70 delth4 = asin(-aux1*lamm2/lamp2)
72 dal1 = 1. / (1.+
pquad(1))**4
73 dal2 = 1. / (1.-
pquad(1))**4
74 dal3 = 2. * dal1 * dal2
81 widp = cidp - real(idp)
87 widm = cidm - real(idm)
91 isp = int( log(1.+
pquad(1)) / xisln )
93 wisp = (1.+
pquad(1) - xis**isp) / (xis**isp1 - xis**isp)
96 ism = int( log(1.-
pquad(1)) / xisln )
98 wism = (xis**ism -(1.-
pquad(1))) / (xis**ism - xis**ism1)
104 ishgh = msc + isp1 - ism1
107 idlow = 1 -
mdc - max(idm1,idp1)
108 idhgh =
mdc +
mdc + max(idm1,idp1)
153 ELSE IF(awg2 < awg4)
THEN 160 ELSE IF(awg1 < awg3)
THEN 168 ELSE IF(awg1 < awg4)
THEN 184 ELSE IF(awg6 < awg8)
THEN 191 ELSE IF(awg5 < awg7)
THEN 199 ELSE IF(awg5 < awg8)
THEN 258 af11(is) = ( spcsig(is) / ( 2. *
pi_w ) )**11
263 freq = spcsig(msc) / ( 2. *
pi_w )
271 freq = spcsig(1) / ( 2. *
pi_w )
283 SUBROUTINE swlta ( IG ,DEP2 ,CGO ,SPCSIG , &
284 KWAVE ,IMATRA ,IMATDA ,IDDLOW , &
285 IDDTOP ,ISSTOP ,IDCMIN ,IDCMAX , &
286 HS ,SMEBRK ,PLTRI ,URSELL )
363 INTEGER IDDLOW, IDDTOP, ISSTOP
364 INTEGER IDCMIN(MSC), IDCMAX(MSC)
369 REAL :: CGO(MSC,MICMAX)
371 REAL :: IMATDA(MDC,MSC), IMATRA(MDC,MSC)
373 REAL :: KWAVE(MSC,MICMAX)
374 REAL :: PLTRI(MDC,MSC,NPTST)
377 INTEGER I1, I2, ID, IG, IDDUM, IENT, II, IS, ISM, ISM1, ISMAX, ISP, ISP1
378 REAL AUX1, AUX2, BIPH, C0, CM, DEP, DEP_2, DEP_3, E0, EM, &
379 FT, RINT, SIGPI, SINBPH, STRI, WISM, WISM1, WISP, WISP1, &
380 W0, WM, WN0, WNM, XIS, XISLN
381 REAL,
ALLOCATABLE :: E(:), SA(:,:)
390 i2 = int(float(msc) / 2.)
392 xis = spcsig(i2) / spcsig(i1)
395 isp = int( log(2.) / xisln )
397 wisp = (2. - xis**isp) / (xis**isp1 - xis**isp)
400 ism = int( log(0.5) / xisln )
402 wism = (xis**ism -0.5) / (xis**ism - xis**ism1)
406 ALLOCATE (sa(1:mdc,1:msc+isp1))
414 IF(spcsig(is) < (
ptriad(2) * smebrk) )
THEN 418 ismax = max( ismax , isp1 )
423 IF( ursell(ig) >=
ptriad(5) )
THEN 428 biph = (0.5*
pi_w)*(tanh(
ptriad(4)/ursell(ig))-1.)
429 sinbph =
abs( sin(biph) )
431 DO ii = iddlow, iddtop
432 id =
mod( ii - 1 + mdc , mdc ) + 1
438 e(is) =
ac2(id,is,ig) * 2. *
pi_w * spcsig(is)
449 em = wism * e(is+ism1) + wism1 * e(is+ism)
450 wm = wism * spcsig(is+ism1) + wism1 * spcsig(is+ism)
451 wnm = wism * kwave(is+ism1,1) + wism1 * kwave(is+ism,1)
460 aux1 = wnm**2 * (
grav_w * dep + 2.*cm**2 )
461 aux2 = wn0 * dep * (
grav_w * dep + &
462 (2./15.) *
grav_w * dep_3 * wn0**2 - &
463 (2./ 5.) * w0**2 * dep_2 )
465 ft =
ptriad(1) * c0 * cgo(is,1) * rint**2 * sinbph
467 sa(id,is) = max(0., ft * ( em * em - 2. * em * e0 ))
475 sigpi = spcsig(is) * 2. *
pi_w 476 DO iddum = idcmin(is), idcmax(is)
477 id =
mod( iddum - 1 + mdc , mdc ) + 1
479 stri = sa(id,is) - 2.*(wisp * sa(id,is+isp1) + &
480 wisp1 * sa(id,is+isp ))
487 imatra(id,is) = imatra(id,is) + stri / sigpi
489 imatda(id,is) = imatda(id,is) - stri / &
491 max(1.e-18,
ac2(id,is,ig)*sigpi)
506 SUBROUTINE range4 (WWINT,IDDLOW,IDDTOP)
544 INTEGER IDDLOW,IDDTOP
552 wwint(13) = iddlow - max( wwint(4), wwint(2) )
553 wwint(14) = iddtop + max( wwint(4), wwint(2) )
556 wwint(13) = 1 - max( wwint(4), wwint(2) )
557 wwint(14) =
mdc + max( wwint(4), wwint(2) )
595 SUBROUTINE filnl3 (IDCMIN ,IDCMAX ,IMATRA ,IMATDA , &
596 MEMNL4 ,PLNL4S ,ISSTOP ,IGC )
616 INTEGER IS,ID,ISSTOP,IDDUM,IGC
618 REAL IMATRA(MDC,MSC) , &
621 plnl4s(mdc,msc,
nptst) , &
624 INTEGER IDCMIN(MSC),IDCMAX(MSC)
631 DO iddum = idcmin(is), idcmax(is)
632 id =
mod( iddum - 1 + mdc , mdc ) + 1
634 IF(memnl4(id,is,igc) > 0.)
THEN 635 imatra(id,is) = imatra(id,is) + memnl4(id,is,igc)
637 imatda(id,is) = imatda(id,is) - memnl4(id,is,igc) / &
638 max(1.e-18,
ac2(id,is,igc))
662 SUBROUTINE swsnl8 (WWINT ,UE ,SA1 ,SA2 ,SPCSIG , &
663 SNLC1 ,DAL1 ,DAL2 ,DAL3 ,SFNL , &
664 DEP2 ,KMESPC ,MEMNL4 ,FACHFR )
722 REAL DAL1, DAL2, DAL3, FACHFR, KMESPC, SNLC1
725 REAL MEMNL4(MDC,MSC,MT)
726 REAL SA1(MSC4MI:MSC4MA,MDC4MI:MDC4MA)
727 REAL SA2(MSC4MI:MSC4MA,MDC4MI:MDC4MA)
728 REAL SFNL(MSC4MI:MSC4MA,MDC4MI:MDC4MA)
730 REAL UE(MSC4MI:MSC4MA,MDC4MI:MDC4MA)
734 INTEGER IS ,ID ,ID0 ,I ,J , &
735 ISLOW ,ISHGH ,IDLOW ,IDHGH , &
736 IDPP ,IDMM ,ISPP ,ISMM , &
737 ISCLW ,ISCHG ,IDDUM ,IENT
739 REAL X ,X2 ,CONS ,FACTOR ,SNLCS1 ,SNLCS2 , &
740 SNLCS3 ,E00 ,EP1 ,EM1 ,EP2 ,EM2 , &
741 SA1A ,SA1B ,SA2A ,SA2B , &
768 x = max( 0.75 * dep2(
kcgrd(1)) * kmespc , 0.5 )
769 x2 = max( -1.e15, snlcs3*x)
770 cons = snlc1 * ( 1. + snlcs1/x * (1.-snlcs2*x) * exp(x2))
775 DO iddum = idlow, idhgh
776 id =
mod( iddum - 1 + mdc , mdc ) + 1
779 ue(is,iddum) =
ac2(id,is,
kcgrd(1)) * spcsig(is) * jacobi
785 ue(is,id) = ue(is-1,id) * fachfr
795 ep1 = ue(is+ispp,id+idpp)
796 em1 = ue(is+ismm,id-idmm)
797 ep2 = ue(is+ispp,id-idpp)
798 em2 = ue(is+ismm,id+idmm)
802 factor = cons *
af11(is) *
pquad(2) * e00
804 sa1a = e00 * ( ep1*dal1 + em1*dal2 )
805 sa1b = sa1a - ep1*em1*dal3
806 sa2a = e00 * ( ep2*dal1 + em2*dal2 )
807 sa2b = sa2a - ep2*em2*dal3
809 sa1(is,id) = factor * sa1b
810 sa2(is,id) = factor * sa2b
818 DO id = 1, idhgh - mdc
821 sa1(is,mdc+id) = sa1(is, id )
822 sa2(is,mdc+id) = sa2(is, id )
823 sa1(is, id0 ) = sa1(is,mdc+id0)
824 sa2(is, id0 ) = sa2(is,mdc+id0)
832 sigpi = spcsig(i) * jacobi
834 sfnl(i,j) = - 2. * ( sa1(i,j) + sa2(i,j) ) &
835 + ( sa1(i-ispp,j-idpp) + sa2(i-ispp,j+idpp) ) &
836 + ( sa1(i-ismm,j+idmm) + sa2(i-ismm,j-idmm) )
842 memnl4(j,i,
kcgrd(1)) = sfnl(i,j) / sigpi
892 SUBROUTINE riam_slw(LMAX ,N ,N2 ,G , &
928 REAL :: W(LMAX), ACT(LMAX,N), SNL(LMAX,N)
942 ak4=
wave(w4**2*h/g)/h
946 CALL cgcmp(g,ak4,h,cgk4)
952 iw3l=max0(1,nint(iw4-alog(3.)/dq))
955 CALL preset(lmax,n,iw3l,iw4,n2,g,h,w4,ak4,w,dq,dq2,dt,dt2,p)
971 IF(k1.LT.1 )
GO TO 120
972 IF(k2.GT.lmax)
GO TO 120
990 IF(m1p.LT.1) m1p=m1p+n
991 IF(m1n.LT.1) m1n=m1n+n
992 IF(m2p.LT.1) m2p=m2p+n
993 IF(m2n.LT.1) m2n=m2n+n
994 IF(m3p.LT.1) m3p=m3p+n
995 IF(m3n.LT.1) m3n=m3n+n
1007 IF(
curriam%DI(1).LE.1.) k01= 1
1008 IF(
curriam%DI(2).LE.1.) k02= 1
1009 IF(
curriam%DI(3).LE.1.) k03= 1
1010 IF(
curriam%DJ(1).LE.1.) m01=-1
1011 IF(
curriam%DJ(2).LE.1.) m02=-1
1012 IF(
curriam%DJ(3).LE.1.) m03=-1
1017 IF(k11.GT.lmax) k11=lmax
1018 IF(k21.GT.lmax) k21=lmax
1019 IF(k31.GT.lmax) k31=lmax
1024 IF(k111.LT.1) k111=1
1025 IF(k211.LT.1) k211=1
1026 IF(k311.LT.1) k311=1
1031 IF(m1p1.LT.1) m1p1=n
1032 IF(m2p1.LT.1) m2p1=n
1033 IF(m3p1.LT.1) m3p1=n
1038 IF(m1n1.GT.n) m1n1=1
1039 IF(m2n1.GT.n) m2n1=1
1040 IF(m3n1.GT.n) m3n1=1
1045 IF(m1p11.GT.n) m1p11=1
1046 IF(m2p11.GT.n) m2p11=1
1047 IF(m3p11.GT.n) m3p11=1
1052 IF(m1n11.LT.1) m1n11=n
1053 IF(m2n11.LT.1) m2n11=n
1054 IF(m3n11.LT.1) m3n11=n
1063 a1p=(di1*(dj1*act(k11, m1p1)+act(k11, m1p11)) &
1064 + dj1*act(k111,m1p1)+act(k111,m1p11)) &
1065 /((1.+di1)*(1.+dj1))
1067 a1n=(di1*(dj1*act(k11, m1n1)+act(k11, m1n11)) &
1068 + dj1*act(k111,m1n1)+act(k111,m1n11)) &
1069 /((1.+di1)*(1.+dj1))
1071 a2p=(di2*(dj2*act(k21, m2p1)+act(k21, m2p11)) &
1072 + dj2*act(k211,m2p1)+act(k211,m2p11)) &
1073 /((1.+di2)*(1.+dj2))
1075 a2n=(di2*(dj2*act(k21, m2n1)+act(k21, m2n11)) &
1076 + dj2*act(k211,m2n1)+act(k211,m2n11)) &
1077 /((1.+di2)*(1.+dj2))
1079 a3p=(di3*(dj3*act(k31, m3p1)+act(k31, m3p11)) &
1080 + dj3*act(k311,m3p1)+act(k311,m3p11)) &
1081 /((1.+di3)*(1.+dj3))
1083 a3n=(di3*(dj3*act(k31, m3n1)+act(k31, m3n11)) &
1084 + dj3*act(k311,m3n1)+act(k311,m3n11)) &
1085 /((1.+di3)*(1.+dj3))
1111 xp=s1p2p*w3p4-s3p4*w1p2p
1112 xn=s1n2n*w3n4-s3n4*w1n2n
1114 snl( k1,m1p)=snl( k1,m1p)-xp*gg
1115 snl( k1,m1n)=snl( k1,m1n)-xn*gg
1116 snl( k2,m2p)=snl( k2,m2p)-xp*gg
1117 snl( k2,m2n)=snl( k2,m2n)-xn*gg
1118 snl( k3,m3p)=snl( k3,m3p)+xp*gg
1119 snl( k3,m3n)=snl( k3,m3n)+xn*gg
1120 snl(iw4,it4)=snl(iw4,it4)+(xp+xn)*gg
1124 IF (.NOT.
ASSOCIATED(
curriam%NEXTRIAM))
EXIT 1139 SUBROUTINE swsnl4 (WWINT ,WWAWG ,SPCSIG ,SNLC1 , &
1140 DAL1 ,DAL2 ,DAL3 ,DEP2 , &
1141 KMESPC ,MEMNL4 ,FACHFR ,IDIA , &
1286 REAL DAL1, DAL2, DAL3, FACHFR, KMESPC, SNLC1
1289 REAL MEMNL4(MDC,MSC,MT)
1295 REAL,
ALLOCATABLE :: SA1(:,:), SA2(:,:), SFNL(:,:), UE(:,:)
1327 INTEGER IS ,ID ,ID0 ,I ,J , &
1328 ISHGH ,IDLOW ,IDHGH ,ISP ,ISP1 , &
1329 IDP ,IDP1 ,ISM ,ISM1 ,IDM ,IDM1 , &
1332 REAL X ,X2 ,CONS ,FACTOR ,SNLCS2 , &
1333 SNLCS3 ,E00 ,EP1 ,EM1 ,EP2 ,EM2 , &
1334 SA1A ,SA1B ,SA2A ,SA2B , &
1335 AWG1 ,AWG2 ,AWG3 ,AWG4 ,AWG5 ,AWG6 , &
1392 x = max( 0.75 * dep2(
kcgrd(1)) * kmespc , 0.5 )
1393 x2 = max( -1.e15, snlcs3*x)
1394 cons = snlc1 * ( 1. + snlcs1/x * (1.-snlcs2*x) * exp(x2))
1399 DO iddum = idlow, idhgh
1400 id =
mod( iddum - 1 + mdc , mdc ) + 1
1403 ue(is,iddum) =
ac2(id,is,
kcgrd(1)) * spcsig(is) * jacobi
1407 DO is = msc+1, ishgh
1408 DO id = idlow, idhgh
1409 ue(is,id) = ue(is-1,id) * fachfr
1416 DO is = isclw, ischg
1419 ep1 = awg1 * ue(is+isp1,id+idp1) + &
1420 awg2 * ue(is+isp1,id+idp ) + &
1421 awg3 * ue(is+isp ,id+idp1) + &
1422 awg4 * ue(is+isp ,id+idp )
1423 em1 = awg5 * ue(is+ism1,id-idm1) + &
1424 awg6 * ue(is+ism1,id-idm ) + &
1425 awg7 * ue(is+ism ,id-idm1) + &
1426 awg8 * ue(is+ism ,id-idm )
1427 ep2 = awg1 * ue(is+isp1,id-idp1) + &
1428 awg2 * ue(is+isp1,id-idp ) + &
1429 awg3 * ue(is+isp ,id-idp1) + &
1430 awg4 * ue(is+isp ,id-idp )
1431 em2 = awg5 * ue(is+ism1,id+idm1) + &
1432 awg6 * ue(is+ism1,id+idm ) + &
1433 awg7 * ue(is+ism ,id+idm1) + &
1434 awg8 * ue(is+ism ,id+idm )
1438 factor = cons *
af11(is) * e00
1440 sa1a = e00 * ( ep1*dal1 + em1*dal2 ) *
cnl4_1(idia)
1441 sa1b = sa1a - ep1*em1*dal3 *
cnl4_2(idia)
1442 sa2a = e00 * ( ep2*dal1 + em2*dal2 ) *
cnl4_1(idia)
1443 sa2b = sa2a - ep2*em2*dal3 *
cnl4_2(idia)
1446 sa1(is,id) = factor * sa1b
1447 sa2(is,id) = factor * sa2b
1466 DO id = 1, idhgh - mdc
1468 DO is = isclw, ischg
1469 sa1(is,mdc+id) = sa1(is, id )
1470 sa2(is,mdc+id) = sa2(is, id )
1471 sa1(is, id0 ) = sa1(is,mdc+id0)
1472 sa2(is, id0 ) = sa2(is,mdc+id0)
1482 sigpi = spcsig(i) * jacobi
1484 sfnl(i,j) = - 2. * ( sa1(i,j) + sa2(i,j) ) &
1485 + awg1 * ( sa1(i-isp1,j-idp1) + sa2(i-isp1,j+idp1) ) &
1486 + awg2 * ( sa1(i-isp1,j-idp ) + sa2(i-isp1,j+idp ) ) &
1487 + awg3 * ( sa1(i-isp ,j-idp1) + sa2(i-isp ,j+idp1) ) &
1488 + awg4 * ( sa1(i-isp ,j-idp ) + sa2(i-isp ,j+idp ) ) &
1489 + awg5 * ( sa1(i-ism1,j+idm1) + sa2(i-ism1,j-idm1) ) &
1490 + awg6 * ( sa1(i-ism1,j+idm ) + sa2(i-ism1,j-idm ) ) &
1491 + awg7 * ( sa1(i-ism ,j+idm1) + sa2(i-ism ,j-idm1) ) &
1492 + awg8 * ( sa1(i-ism ,j+idm ) + sa2(i-ism ,j-idm ) )
1499 memnl4(j,i,
kcgrd(1)) = fac * sfnl(i,j) / sigpi
1502 memnl4(j,i,
kcgrd(1)) = memnl4(j,i,
kcgrd(1)) + fac * sfnl(i,j) / sigpi
1545 DEALLOCATE (sa1, sa2, sfnl, ue)
1555 SUBROUTINE swsnl3 (WWINT ,WWAWG ,UE ,SA1 ,SA2 , &
1556 SPCSIG ,SNLC1 ,DAL1 ,DAL2 ,DAL3 , &
1557 SFNL ,DEP2 ,KMESPC ,MEMNL4 ,FACHFR )
1701 REAL DAL1, DAL2, DAL3, FACHFR, KMESPC, SNLC1
1704 REAL MEMNL4(MDC,MSC,MT)
1705 REAL SA1(MSC4MI:MSC4MA,MDC4MI:MDC4MA)
1706 REAL SA2(MSC4MI:MSC4MA,MDC4MI:MDC4MA)
1707 REAL SFNL(MSC4MI:MSC4MA,MDC4MI:MDC4MA)
1709 REAL UE(MSC4MI:MSC4MA,MDC4MI:MDC4MA)
1742 INTEGER IS ,ID ,ID0 ,I ,J , &
1743 ISHGH ,IDLOW ,IDHGH ,ISP ,ISP1 , &
1744 IDP ,IDP1 ,ISM ,ISM1 ,IDM ,IDM1 , &
1747 REAL X ,X2 ,CONS ,FACTOR ,SNLCS2 , &
1748 SNLCS3 ,E00 ,EP1 ,EM1 ,EP2 ,EM2 , &
1749 SA1A ,SA1B ,SA2A ,SA2B , &
1750 AWG1 ,AWG2 ,AWG3 ,AWG4 ,AWG5 ,AWG6 , &
1784 DO id = mdc4mi, mdc4ma
1785 DO is = msc4mi, msc4ma
1802 x = max( 0.75 * dep2(
kcgrd(1)) * kmespc , 0.5 )
1803 x2 = max( -1.e15, snlcs3*x)
1804 cons = snlc1 * ( 1. + snlcs1/x * (1.-snlcs2*x) * exp(x2))
1809 DO iddum = idlow, idhgh
1810 id =
mod( iddum - 1 + mdc , mdc ) + 1
1813 ue(is,iddum) =
ac2(id,is,
kcgrd(1)) * spcsig(is) * jacobi
1817 DO is = msc+1, ishgh
1818 DO id = idlow, idhgh
1819 ue(is,id) = ue(is-1,id) * fachfr
1826 DO is = isclw, ischg
1829 ep1 = awg1 * ue(is+isp1,id+idp1) + &
1830 awg2 * ue(is+isp1,id+idp ) + &
1831 awg3 * ue(is+isp ,id+idp1) + &
1832 awg4 * ue(is+isp ,id+idp )
1833 em1 = awg5 * ue(is+ism1,id-idm1) + &
1834 awg6 * ue(is+ism1,id-idm ) + &
1835 awg7 * ue(is+ism ,id-idm1) + &
1836 awg8 * ue(is+ism ,id-idm )
1837 ep2 = awg1 * ue(is+isp1,id-idp1) + &
1838 awg2 * ue(is+isp1,id-idp ) + &
1839 awg3 * ue(is+isp ,id-idp1) + &
1840 awg4 * ue(is+isp ,id-idp )
1841 em2 = awg5 * ue(is+ism1,id+idm1) + &
1842 awg6 * ue(is+ism1,id+idm ) + &
1843 awg7 * ue(is+ism ,id+idm1) + &
1844 awg8 * ue(is+ism ,id+idm )
1848 factor = cons *
af11(is) * e00
1850 sa1a = e00 * ( ep1*dal1 + em1*dal2 ) *
pquad(2)
1851 sa1b = sa1a - ep1*em1*dal3 *
pquad(2)
1852 sa2a = e00 * ( ep2*dal1 + em2*dal2 ) *
pquad(2)
1853 sa2b = sa2a - ep2*em2*dal3 *
pquad(2)
1855 sa1(is,id) = factor * sa1b
1856 sa2(is,id) = factor * sa2b
1875 DO id = 1, idhgh - mdc
1877 DO is = isclw, ischg
1878 sa1(is,mdc+id) = sa1(is, id )
1879 sa2(is,mdc+id) = sa2(is, id )
1880 sa1(is, id0 ) = sa1(is,mdc+id0)
1881 sa2(is, id0 ) = sa2(is,mdc+id0)
1889 sigpi = spcsig(i) * jacobi
1891 sfnl(i,j) = - 2. * ( sa1(i,j) + sa2(i,j) ) &
1892 + awg1 * ( sa1(i-isp1,j-idp1) + sa2(i-isp1,j+idp1) ) &
1893 + awg2 * ( sa1(i-isp1,j-idp ) + sa2(i-isp1,j+idp ) ) &
1894 + awg3 * ( sa1(i-isp ,j-idp1) + sa2(i-isp ,j+idp1) ) &
1895 + awg4 * ( sa1(i-isp ,j-idp ) + sa2(i-isp ,j+idp ) ) &
1896 + awg5 * ( sa1(i-ism1,j+idm1) + sa2(i-ism1,j-idm1) ) &
1897 + awg6 * ( sa1(i-ism1,j+idm ) + sa2(i-ism1,j-idm ) ) &
1898 + awg7 * ( sa1(i-ism ,j+idm1) + sa2(i-ism ,j-idm1) ) &
1899 + awg8 * ( sa1(i-ism ,j+idm ) + sa2(i-ism ,j-idm ) )
1905 memnl4(j,i,
kcgrd(1)) = sfnl(i,j) / sigpi
1954 SUBROUTINE swsnl2 (IDDLOW ,IDDTOP ,WWINT ,WWAWG ,UE , &
1955 SA1 ,ISSTOP ,SA2 ,SPCSIG ,SNLC1 , &
1956 DAL1 ,DAL2 ,DAL3 ,SFNL ,DEP2 , &
1957 KMESPC ,IMATDA ,IMATRA ,FACHFR ,PLNL4S , &
1958 IDCMIN ,IDCMAX ,IG ,CGO ,WWSWG )
1976 INTEGER :: IS ,ID ,I ,J ,IG ,ISHGH , &
1977 ISSTOP ,ISP ,ISP1 ,IDP ,IDP1 ,ISM ,ISM1 , &
1978 IDM ,IDM1 ,ISCLW ,ISCHG , &
1979 IDLOW ,IDHGH ,IDDLOW ,IDDTOP ,IDCLOW ,IDCHGH
1981 REAL :: X ,X2 ,CONS ,FACTOR ,SNLCS1 ,SNLCS2 ,SNLCS3 , &
1982 E00 ,EP1 ,EM1 ,EP2 ,EM2 ,SA1A ,SA1B , &
1983 SA2A ,SA2B ,KMESPC ,FACHFR ,AWG1 ,AWG2 ,AWG3 , &
1984 AWG4 ,AWG5 ,AWG6 ,AWG7 ,AWG8 ,DAL1 ,DAL2 , &
1987 REAL :: DEP2(MT) , &
1988 UE(MSC4MI:MSC4MA , MDC4MI:MDC4MA ) , &
1989 SA1(MSC4MI:MSC4MA , MDC4MI:MDC4MA ) , &
1990 SA2(MSC4MI:MSC4MA , MDC4MI:MDC4MA ) , &
1991 DA1C(MSC4MI:MSC4MA , MDC4MI:MDC4MA ) , &
1992 DA1P(MSC4MI:MSC4MA , MDC4MI:MDC4MA ) , &
1993 DA1M(MSC4MI:MSC4MA , MDC4MI:MDC4MA ) , &
1994 DA2C(MSC4MI:MSC4MA , MDC4MI:MDC4MA ) , &
1995 DA2P(MSC4MI:MSC4MA , MDC4MI:MDC4MA ) , &
1996 DA2M(MSC4MI:MSC4MA , MDC4MI:MDC4MA ) , &
1997 SFNL(MSC4MI:MSC4MA , MDC4MI:MDC4MA) , &
1998 DFNL(MSC4MI:MSC4MA , MDC4MI:MDC4MA) , &
2001 PLNL4S(MDC,MSC,NPTST) , &
2005 INTEGER :: WWINT(*) ,IDCMIN(MSC) ,IDCMAX(MSC)
2006 INTEGER :: ISLOW,IIID,IDDUM,ID0
2007 REAL :: SNLC1,SWG1,SWG2,SWG3,SWG4,SWG5,SWG6,SWG7,SWG8
2008 REAL :: WWSWG(*),PI3
2048 DO id = mdc4mi, mdc4ma
2049 DO is = msc4mi, msc4ma
2076 x = max( 0.75 * dep2(ig) * kmespc , 0.5 )
2077 x2 = max( -1.e15, snlcs3*x)
2078 cons = snlc1 * ( 1. + snlcs1/x * (1.-snlcs2*x) * exp(x2))
2085 IF(iddlow == 1 .AND. iddtop == mdc)
THEN 2094 iiid = max( idm1 , idp1 )
2106 DO iddum = idlow - iiid , idhgh + iiid
2107 id =
mod( iddum - 1 + mdc , mdc ) + 1
2110 ue(is,iddum) =
ac2(id,is,ig) * spcsig(is) * jacobi
2117 DO is = msc+1, ishgh
2118 DO id = idlow - iiid , idhgh + iiid
2119 ue(is,id) = ue(is-1,id) * fachfr
2126 DO is = isclw, ischg
2127 DO id = idclow , idchgh
2129 ep1 = awg1 * ue(is+isp1,id+idp1) + &
2130 awg2 * ue(is+isp1,id+idp ) + &
2131 awg3 * ue(is+isp ,id+idp1) + &
2132 awg4 * ue(is+isp ,id+idp )
2133 em1 = awg5 * ue(is+ism1,id-idm1) + &
2134 awg6 * ue(is+ism1,id-idm ) + &
2135 awg7 * ue(is+ism ,id-idm1) + &
2136 awg8 * ue(is+ism ,id-idm )
2138 ep2 = awg1 * ue(is+isp1,id-idp1) + &
2139 awg2 * ue(is+isp1,id-idp ) + &
2140 awg3 * ue(is+isp ,id-idp1) + &
2141 awg4 * ue(is+isp ,id-idp )
2142 em2 = awg5 * ue(is+ism1,id+idm1) + &
2143 awg6 * ue(is+ism1,id+idm ) + &
2144 awg7 * ue(is+ism ,id+idm1) + &
2145 awg8 * ue(is+ism ,id+idm )
2150 factor = cons *
af11(is) * e00
2152 sa1a = e00 * ( ep1*dal1 + em1*dal2 ) *
pquad(2)
2153 sa1b = sa1a - ep1*em1*dal3 *
pquad(2)
2154 sa2a = e00 * ( ep2*dal1 + em2*dal2 ) *
pquad(2)
2155 sa2b = sa2a - ep2*em2*dal3 *
pquad(2)
2157 sa1(is,id) = factor * sa1b
2158 sa2(is,id) = factor * sa2b
2160 da1c(is,id) = cons*
af11(is)*(sa1a+sa1b)
2161 da1p(is,id) = factor*(dal1*e00-dal3*em1)*
pquad(2)
2162 da1m(is,id) = factor*(dal2*e00-dal3*ep1)*
pquad(2)
2164 da2c(is,id) = cons*
af11(is)*(sa2a+sa2b)
2165 da2p(is,id) = factor*(dal1*e00-dal3*em2)*
pquad(2)
2166 da2m(is,id) = factor*(dal2*e00-dal3*ep2)*
pquad(2)
2175 DO id = 1, idhgh - mdc
2177 DO is = isclw, ischg
2178 sa1(is,mdc+id) = sa1(is , id )
2179 sa2(is,mdc+id) = sa2(is , id )
2180 sa1(is, id0 ) = sa1(is , mdc+id0)
2181 sa2(is, id0 ) = sa2(is , mdc+id0)
2183 da1c(is,mdc+id) = da1c(is,id)
2184 da1p(is,mdc+id) = da1p(is,id)
2185 da1m(is,mdc+id) = da1m(is,id)
2186 da1c(is,id0) = da1c(is,mdc+id0)
2187 da1p(is,id0) = da1p(is,mdc+id0)
2188 da1m(is,id0) = da1m(is,mdc+id0)
2190 da2c(is,mdc+id) = da2c(is,id)
2191 da2p(is,mdc+id) = da2p(is,id)
2192 da2m(is,mdc+id) = da2m(is,id)
2193 da2c(is,id0) = da2c(is,mdc+id0)
2194 da2p(is,id0) = da2p(is,mdc+id0)
2195 da2m(is,id0) = da2m(is,mdc+id0)
2205 sigpi = spcsig(i) * jacobi
2207 DO j = idcmin(i), idcmax(i)
2208 id =
mod( j - 1 + mdc , mdc ) + 1
2209 sfnl(i,id) = - 2. * ( sa1(i,j) + sa2(i,j) ) &
2210 + awg1 * ( sa1(i-isp1,j-idp1) + sa2(i-isp1,j+idp1) ) &
2211 + awg2 * ( sa1(i-isp1,j-idp ) + sa2(i-isp1,j+idp ) ) &
2212 + awg3 * ( sa1(i-isp ,j-idp1) + sa2(i-isp ,j+idp1) ) &
2213 + awg4 * ( sa1(i-isp ,j-idp ) + sa2(i-isp ,j+idp ) ) &
2214 + awg5 * ( sa1(i-ism1,j+idm1) + sa2(i-ism1,j-idm1) ) &
2215 + awg6 * ( sa1(i-ism1,j+idm ) + sa2(i-ism1,j-idm ) ) &
2216 + awg7 * ( sa1(i-ism ,j+idm1) + sa2(i-ism ,j-idm1) ) &
2217 + awg8 * ( sa1(i-ism ,j+idm ) + sa2(i-ism ,j-idm ) )
2219 dfnl(i,id) = - 2. * ( da1c(i,j) + da2c(i,j) ) &
2220 + swg1 * ( da1p(i-isp1,j-idp1) + da2p(i-isp1,j+idp1) ) &
2221 + swg2 * ( da1p(i-isp1,j-idp ) + da2p(i-isp1,j+idp ) ) &
2222 + swg3 * ( da1p(i-isp ,j-idp1) + da2p(i-isp ,j+idp1) ) &
2223 + swg4 * ( da1p(i-isp ,j-idp ) + da2p(i-isp ,j+idp ) ) &
2224 + swg5 * ( da1m(i-ism1,j+idm1) + da2m(i-ism1,j-idm1) ) &
2225 + swg6 * ( da1m(i-ism1,j+idm ) + da2m(i-ism1,j-idm ) ) &
2226 + swg7 * ( da1m(i-ism ,j+idm1) + da2m(i-ism ,j-idm1) ) &
2227 + swg8 * ( da1m(i-ism ,j+idm ) + da2m(i-ism ,j-idm ) )
2234 IF(
testfl) plnl4s(id,i,
iptst) = sfnl(i,id) / sigpi
2235 imatra(id,i) = imatra(id,i) + sfnl(i,id) / sigpi
2236 imatda(id,i) = imatda(id,i) + dfnl(i,id)
2247 SUBROUTINE swsnl1 (WWINT ,WWAWG ,WWSWG ,IDCMIN ,IDCMAX , &
2248 UE ,SA1 ,SA2 ,DA1C ,DA1P , &
2249 DA1M ,DA2C ,DA2P ,DA2M ,SPCSIG , &
2250 SNLC1 ,KMESPC ,FACHFR ,ISSTOP ,DAL1 , &
2251 DAL2 ,DAL3 ,SFNL ,DSNL ,DEP2 , &
2252 AC2 ,IMATDA ,IMATRA ,PLNL4S ,PLNL4D , &
2435 INTEGER IS ,ID ,I ,J , &
2436 ISHGH ,IDLOW ,ISP ,ISP1 ,IDP ,IDP1 , &
2437 ISM ,ISM1 ,IDHGH ,IDM ,IDM1 ,ISCLW , &
2438 ISCHG ,IDDLOW ,IDDTOP
2440 REAL X ,X2 ,CONS ,FACTOR ,SNLCS1 ,SNLCS2 ,SNLCS3, &
2441 E00 ,EP1 ,EM1 ,EP2 ,EM2 ,SA1A ,SA1B , &
2442 SA2A ,SA2B ,KMESPC ,FACHFR ,AWG1 ,AWG2 ,AWG3 , &
2443 AWG4 ,AWG5 ,AWG6 ,AWG7 ,AWG8 ,DAL1 ,DAL2 , &
2444 DAL3 ,SNLC1 ,SWG1 ,SWG2 ,SWG3 ,SWG4 ,SWG5 , &
2445 SWG6 ,SWG7 ,SWG8 ,JACOBI ,SIGPI
2447 REAL AC2(MDC,MSC,0:MT) , &
2449 UE(MSC4MI:MSC4MA , MDC4MI:MDC4MA ) , &
2450 SA1(MSC4MI:MSC4MA , MDC4MI:MDC4MA ) , &
2451 SA2(MSC4MI:MSC4MA , MDC4MI:MDC4MA ) , &
2452 DA1C(MSC4MI:MSC4MA , MDC4MI:MDC4MA ) , &
2453 DA1P(MSC4MI:MSC4MA , MDC4MI:MDC4MA ) , &
2454 DA1M(MSC4MI:MSC4MA , MDC4MI:MDC4MA ) , &
2455 DA2C(MSC4MI:MSC4MA , MDC4MI:MDC4MA ) , &
2456 DA2P(MSC4MI:MSC4MA , MDC4MI:MDC4MA ) , &
2457 DA2M(MSC4MI:MSC4MA , MDC4MI:MDC4MA ) , &
2458 SFNL(MSC4MI:MSC4MA , MDC4MI:MDC4MA ) , &
2459 DSNL(MSC4MI:MSC4MA , MDC4MI:MDC4MA ) , &
2462 PLNL4S(MDC,MSC,NPTST) , &
2463 PLNL4D(MDC,MSC,NPTST) , &
2467 INTEGER IDCMIN(MSC),IDCMAX(MSC),WWINT(*)
2510 DO id = mdc4mi, mdc4ma
2511 DO is = msc4mi, msc4ma
2534 x = max( 0.75 * dep2(
kcgrd(1)) * kmespc , 0.5 )
2535 x2 = max( -1.e15, snlcs3*x)
2536 cons = snlc1 * ( 1. + snlcs1/x * (1.-snlcs2*x) * exp(x2))
2543 IF(iddlow == 1 .AND. iddtop == mdc)
THEN 2552 iiid = max( idm1 , idp1 )
2560 DO iddum = idlow - iiid, idhgh + iiid
2561 id =
mod( iddum - 1 + mdc , mdc ) + 1
2564 ue(is,iddum) = ac2(id,is,
kcgrd(1)) * spcsig(is) * jacobi
2570 DO is = msc+1, ishgh
2571 DO id = idlow - iiid , idhgh + iiid
2572 ue(is,id) = ue(is-1,id) * fachfr
2579 DO is = isclw, ischg
2580 DO id = idclow, idchgh
2582 ep1 = awg1 * ue(is+isp1,id+idp1) + &
2583 awg2 * ue(is+isp1,id+idp ) + &
2584 awg3 * ue(is+isp ,id+idp1) + &
2585 awg4 * ue(is+isp ,id+idp )
2586 em1 = awg5 * ue(is+ism1,id-idm1) + &
2587 awg6 * ue(is+ism1,id-idm ) + &
2588 awg7 * ue(is+ism ,id-idm1) + &
2589 awg8 * ue(is+ism ,id-idm )
2591 ep2 = awg1 * ue(is+isp1,id-idp1) + &
2592 awg2 * ue(is+isp1,id-idp ) + &
2593 awg3 * ue(is+isp ,id-idp1) + &
2594 awg4 * ue(is+isp ,id-idp )
2595 em2 = awg5 * ue(is+ism1,id+idm1) + &
2596 awg6 * ue(is+ism1,id+idm ) + &
2597 awg7 * ue(is+ism ,id+idm1) + &
2598 awg8 * ue(is+ism ,id+idm )
2603 factor = cons *
af11(is) * e00
2605 sa1a = e00 * ( ep1*dal1 + em1*dal2 ) *
pquad(2)
2606 sa1b = sa1a - ep1*em1*dal3 *
pquad(2)
2607 sa2a = e00 * ( ep2*dal1 + em2*dal2 ) *
pquad(2)
2608 sa2b = sa2a - ep2*em2*dal3 *
pquad(2)
2610 sa1(is,id) = factor * sa1b
2611 sa2(is,id) = factor * sa2b
2624 da1c(is,id) = cons *
af11(is) * ( sa1a + sa1b )
2625 da1p(is,id) = factor * ( dal1*e00 - dal3*em1 ) *
pquad(2)
2626 da1m(is,id) = factor * ( dal2*e00 - dal3*ep1 ) *
pquad(2)
2628 da2c(is,id) = cons *
af11(is) * ( sa2a + sa2b )
2629 da2p(is,id) = factor * ( dal1*e00 - dal3*em2 ) *
pquad(2)
2630 da2m(is,id) = factor * ( dal2*e00 - dal3*ep2 ) *
pquad(2)
2638 DO id = 1, idhgh - mdc
2640 DO is = isclw, ischg
2641 sa1(is,mdc+id) = sa1(is, id )
2642 sa2(is,mdc+id) = sa2(is, id )
2643 da1c(is,mdc+id) = da1c(is, id )
2644 da1p(is,mdc+id) = da1p(is, id )
2645 da1m(is,mdc+id) = da1m(is, id )
2646 da2c(is,mdc+id) = da2c(is, id )
2647 da2p(is,mdc+id) = da2p(is, id )
2648 da2m(is,mdc+id) = da2m(is, id )
2650 sa1(is, id0 ) = sa1(is, mdc+id0)
2651 sa2(is, id0 ) = sa2(is, mdc+id0)
2652 da1c(is, id0 ) = da1c(is, mdc+id0)
2653 da1p(is, id0 ) = da1p(is, mdc+id0)
2654 da1m(is, id0 ) = da1m(is, mdc+id0)
2655 da2c(is, id0 ) = da2c(is, mdc+id0)
2656 da2p(is, id0 ) = da2p(is, mdc+id0)
2657 da2m(is, id0 ) = da2m(is, mdc+id0)
2665 pi3 = (2. *
pi_w)**3
2667 sigpi = spcsig(i) * jacobi
2668 DO j = idcmin(i), idcmax(i)
2669 id =
mod( j - 1 + mdc , mdc ) + 1
2670 sfnl(i,id) = - 2. * ( sa1(i,j) + sa2(i,j) ) &
2671 + awg1 * ( sa1(i-isp1,j-idp1) + sa2(i-isp1,j+idp1) ) &
2672 + awg2 * ( sa1(i-isp1,j-idp ) + sa2(i-isp1,j+idp ) ) &
2673 + awg3 * ( sa1(i-isp ,j-idp1) + sa2(i-isp ,j+idp1) ) &
2674 + awg4 * ( sa1(i-isp ,j-idp ) + sa2(i-isp ,j+idp ) ) &
2675 + awg5 * ( sa1(i-ism1,j+idm1) + sa2(i-ism1,j-idm1) ) &
2676 + awg6 * ( sa1(i-ism1,j+idm ) + sa2(i-ism1,j-idm ) ) &
2677 + awg7 * ( sa1(i-ism ,j+idm1) + sa2(i-ism ,j-idm1) ) &
2678 + awg8 * ( sa1(i-ism ,j+idm ) + sa2(i-ism ,j-idm ) )
2680 dsnl(i,id) = - 2. * ( da1c(i,j) + da2c(i,j) ) &
2681 + swg1 * ( da1p(i-isp1,j-idp1) + da2p(i-isp1,j+idp1) ) &
2682 + swg2 * ( da1p(i-isp1,j-idp ) + da2p(i-isp1,j+idp ) ) &
2683 + swg3 * ( da1p(i-isp ,j-idp1) + da2p(i-isp ,j+idp1) ) &
2684 + swg4 * ( da1p(i-isp ,j-idp ) + da2p(i-isp ,j+idp ) ) &
2685 + swg5 * ( da1m(i-ism1,j+idm1) + da2m(i-ism1,j-idm1) ) &
2686 + swg6 * ( da1m(i-ism1,j+idm ) + da2m(i-ism1,j-idm ) ) &
2687 + swg7 * ( da1m(i-ism ,j+idm1) + da2m(i-ism ,j-idm1) ) &
2688 + swg8 * ( da1m(i-ism ,j+idm ) + da2m(i-ism ,j-idm ) )
2693 plnl4s(id,i,
iptst) = sfnl(i,id) / sigpi
2694 plnl4d(id,i,
iptst) = -1. * dsnl(i,id) / pi3
2697 imatra(id,i) = imatra(id,i) + sfnl(i,id) / sigpi
2698 imatda(id,i) = imatda(id,i) - dsnl(i,id) / pi3
2716 REAL FUNCTION WAVE(D)
2729 xx=x-(x-d*cothx)/(1.+d*(cothx**2-1.))
2732 IF(
abs(e)-0.0005) 6,5,5
2738 SUBROUTINE cgcmp(G,AK,H,CG)
2766 sech2=1.-tanh(akh)**2
2767 cg=(g*akh*sech2+g*tanh(akh))/(2.*sqrt(g*ak*tanh(akh)))
2783 END SUBROUTINE cgcmp 2785 SUBROUTINE preset(LMAX,N,IW3L,IW4,N2,G,H,W4,AK4,W,DQ,DQ2,DT,DT2,P)
2804 IF(it34 == 1 .OR. it34 == n2) dt3=dt2
2811 ak3=
wave(w3**2*h/g)/h
2814 aka=sqrt(ak3*ak3+ak4*ak4+2.*ak3*ak4*cos(t34))
2815 ta=atan2(ak3*sin(t34),ak3*cos(t34)+ak4)
2816 r=sqrt(g*aka*tanh(aka*h/2.))/wa-1./sqrt(2.)
2819 acs=aka/(2.*
wave(wa**2*h/(4.*g))/h)
2820 acs=sign(1.,acs)*min(1.,
abs(acs))
2821 IF(r < 0.) tl=acos(acs)
2831 IF(it1a == 1 .OR. it1a == n2) dt1=dt2
2834 CALL findw1w2(lmax,iw3,w,g,h,w1,w2,w3,wa,ak1,ak2,aka,t1a,t2a,ind)
2836 IF(ind < 0)
GO TO 100
2838 IF(w1 <= w3 .AND. w3 <= w4 .AND. w4 <= w2)
THEN 2852 SUBROUTINE findw1w2(LMAX,IW3,W,G,H,W1,W2,W3,WA,AK1,AK2,AKA,T1A,T2A,IND)
2862 110
CALL fdw1(g,h,aka,t1a,wa,x1,x2,x,eps,m)
2865 IF(m.EQ.0)
GO TO 999
2869 ak1=
wave(w1**2*h/g)/h
2870 ak2=sqrt(aka*aka+ak1*ak1-2.*aka*ak1*cos(t1a))
2871 w2=sqrt(g*ak2*tanh(ak2*h))
2872 IF(w1.GT.w2)
GO TO 999
2873 t2a=atan2(-ak1*sin(t1a),aka-ak1*cos(t1a))
2880 SUBROUTINE fdw1(G,H,AKA,T1A,WA,X1,X2,X,EPS,M)
2883 f1=
funcw1(g,h,x1,aka,t1a,wa)
2884 f2=
funcw1(g,h,x2,aka,t1a,wa)
2885 20
IF(f1*f2) 18,19,21
2887 x=x2-((x2-x1)/(f2-f1)*f2)
2888 IF((
abs(x-x2)/
abs(x))-eps) 22,23,23
2889 23
IF((
abs(x-x1)/
abs(x))-eps) 22,24,24
2891 24 f=
funcw1(g,h,x,aka,t1a,wa)
2910 FUNCTION funcw1(G,H,X,AKA,T1A,WA)
2912 ak1=
wave(x**2*h/g)/h
2913 ak2=sqrt(aka*aka+ak1*ak1-2.*aka*ak1*cos(t1a))
2914 funcw1=wa-sqrt(g*ak1*tanh(ak1*h))-sqrt(g*ak2*tanh(ak2*h))
subroutine range4(WWINT, IDDLOW, IDDTOP)
function funcw1(G, H, X, AKA, T1A, WA)
real, dimension(:), allocatable, save, public af11
real, dimension(:), allocatable, save, public cnl4_2
real, dimension(:,:,:), allocatable ac2
real, dimension(mquad) pquad
type(riamdat), target, save friam
subroutine swsnl2(IDDLOW, IDDTOP, WWINT, WWAWG, UE, SA1, ISSTOP, SA2, SPCSIG, SNLC1, DAL1, DAL2, DAL3, SFNL, DEP2, KMESPC, IMATDA, IMATRA, FACHFR, PLNL4S, IDCMIN, IDCMAX, IG, CGO, WWSWG)
subroutine cgcmp(G, AK, H, CG)
type(riamdat), pointer, save curriam
subroutine fdw1(G, H, AKA, T1A, WA, X1, X2, X, EPS, M)
subroutine riam_slw(LMAX, N, N2, G, H, DQ, DQ2, DT, DT2, W, P, ACT, SNL, MINT)
subroutine swsnl1(WWINT, WWAWG, WWSWG, IDCMIN, IDCMAX, UE, SA1, SA2, DA1C, DA1P, DA1M, DA2C, DA2P, DA2M, SPCSIG, SNLC1, KMESPC, FACHFR, ISSTOP, DAL1, DAL2, DAL3, SFNL, DSNL, DEP2, AC2, IMATDA, IMATRA, PLNL4S, PLNL4D, IDDLOW, IDDTOP)
subroutine swlta(IG, DEP2, CGO, SPCSIG, KWAVE, IMATRA, IMATDA, IDDLOW, IDDTOP, ISSTOP, IDCMIN, IDCMAX, HS, SMEBRK, PLTRI, URSELL)
subroutine swsnl3(WWINT, WWAWG, UE, SA1, SA2, SPCSIG, SNLC1, DAL1, DAL2, DAL3, SFNL, DEP2, KMESPC, MEMNL4, FACHFR)
real, dimension(mtriad) ptriad
subroutine preset(LMAX, N, IW3L, IW4, N2, G, H, W4, AK4, W, DQ, DQ2, DT, DT2, P)
subroutine filnl3(IDCMIN, IDCMAX, IMATRA, IMATDA, MEMNL4, PLNL4S, ISSTOP, IGC)
integer, dimension(micmax) kcgrd
real, dimension(:), allocatable, save, public cnl4_1
subroutine swsnl8(WWINT, UE, SA1, SA2, SPCSIG, SNLC1, DAL1, DAL2, DAL3, SFNL, DEP2, KMESPC, MEMNL4, FACHFR)
subroutine findw1w2(LMAX, IW3, W, G, H, W1, W2, W3, WA, AK1, AK2, AKA, T1A, T2A, IND)
subroutine fac4ww(XIS, SNLC1, DAL1, DAL2, DAL3, SPCSIG, WWINT, WWAWG, WWSWG)
subroutine swsnl4(WWINT, WWAWG, SPCSIG, SNLC1, DAL1, DAL2, DAL3, DEP2, KMESPC, MEMNL4, FACHFR, IDIA, ITER)