29000 IF(YSEA.GT.SdETTY . AND. YSHORE.GT.SJETTY) GO TO 302 



29100 IF(Y5EA.GT.SJETTY . AND.YSHORE.LE.SJETTY) GO TO 298 



29200 C*BECAU5E A NO FLOW B.C. IS USED ALONG THE STRUCT, NO ATTN WAS PAID 



29300 C**TO GETTING PROPER VALUES OF ANGLOC , THETAB , DISTR , ETC . 



29400 S3(I,J)=0.0 



29500 DISTR( I . J)=0.0 



29600 GO TO 302 



29700 325 CONTINUE 



29800 GO TO 302 



29900 C***AB0VE, ALL PARAMETERS ( I . E ., S 1 , S2 , S3 , THETAB , DI STR , ANGLOC ) 



30000 C***ARE COMPUTED AS IF THE STRUCT IS NOT THERE. THE B.C. AT THE 



30100 C***STRUCT TIP ASSUMES QX COMPUTED AS IF NO STRUCT PRESENT AND THEN 



30200 C***BYPASSES ACCORDING TO "RATIO". 



30300 298 RATIO=(YSEA-SdETTY)/(YSEA-YSHORE) 



30400 S3(I . J)=S3(I , J)*RATIO 



30500 DISTR( I , J)=DISTR(I , J)*RATI0 



30600 302 RHS1(I,J)=DISTR(I ,J)*S1-S3(I,J)*(Y(I.vJ)-Y(t-1 .J)) 



30700 301 CONTINUE 



30800 CALL BREAK ( IMAX , UMAX ) 



30900 C*T0 DETERMINE DECAY OF C0NST6( I , J ) , NEED WAVE NO. AT BREAKING. 



31000 DO 754 1 = 1 . IMAX+1 



31100 754 CALL WVNUM( DEEPBI ( I ) , T , RKB(I ) ) 



31200 C*USING SHIELD'S DIAG.Y AXIS=0.05 8 ( TAU0=RH0*C*U**2 ) , GET UCRIT( FT/SEC ) 



31300 UCRIT=16.3*S0RT(DIAM*.OO328) 



31400 DO 750 1=1. IMAX+1 



31500 C0NST6( I , 1 )=COFF*DX 



31600 DO 750 J=2,dMAX+2 



31700 C*C0NST6(I,J) GOES W/ OY(I,J) WHICH IS ASSOC W/ DEEP(I,J-1) 



31800 IF(DEEP( I ,d-1 ) .LE.DEEPBK I ) ) GO TO 751 



31900 C*HERE, MUST CAUSE COFF TO DECAY (WE'RE BEYOND SURF ZONE) 



32000 UMAXB=HBI(I )*G*T*RKB(I )/( 2 . *TWOPI *COSH( RKB( I ) *DEEPBI ( I ) ) ) 



32 100 UMAX=H( I,J-1)*G*T*RK(I,d-1)/(2. *TWOPI *COSH( RK ( I , J- 1 ) *DEEP ( I , J- 1 ) ) ) 



32200 IF(UCRIT . LT .UMAX AND. UCRIT. LT.UMAXB) GO TO 749 



32300 C0NST6( I ,>J)=0.0 



32400 GO TO 750 



32500 749 T0P=0.01*H(I , J-1 ) **3*SIGMA**3/( SINH( RK( I ,d-1)*DEEP(I.J-1))**3) 



3 2600 BOT=DEEP( I , J- 1 ) * ( O . 625*TW0P I *G** 1 .5*0. 78**2* ADE AN** 1 .5+ 



32700 *(0,01*HBI(I)**3*SIGMA**3/(DEEPBI(I)*(SINH(RKB(I ) *DEEPBI( I ) ) ) **3 ) ) ) 



32800 C0NST6(I , J ) =DX*C0FF*T0P/B0T 



32900 GO TO 750 



33000 751 CONSTGd . J)=C0FF*DX 



33100 750 CONTINUE 



33200 K=0 



33300 C**PUT INTO BANDED FORM USING THE ALGORITHM A(M , N) ->B( M , NN) WHERE 



33400 C***NN=KB+1-M+N(KB IS THE NUMBER OF LOWER CODI AGONALS( =JMAX , HERE ) ) . 



33500 DO 304 I=2,IMAX-1 



33600 DO 304 d= 1 , JMAX 



33700 K=K+1 



33800 AWARE (I , J)=AWARE(I , J )+DELT*RHS 1 ( I , J ) *R( I . J)-DELT*R(I ,d)*RHS 1(1 + 1 , J 



33900 * )+DELT*R(I .d)*C0NST6(I ,d)*WE0(I , d ) -DELT*R(I , d)*C0NST6( I .d+D* 



34000 * WEQ(I,d+1) 



34100 YDUM=YZER0(I ) 



34200 IF(d.NE.I) YDUM= Y ( I , d" 1 ) 



34300 AWARE (I , d ) =AWARE ( I , d )+DELT*R(I , d)*CONSTG{ I , d)*0 . 5* ( YDUM-Y ( I ,d)) 



34400 * -DELT*R( I ,d)*C0NST6(I .d+1 )*0.5*(y(I . J)-y(I .d+1 ) ) 



34500 U=DELT*R(I ,d)*S3(I ,d) 



34600 V=DELT*R(I ,d)*S3(I+1 ,d) 



34700 Z1=DELT*R(I .d)*C0NSTG(I ,d)*0.5 



34800 Z2=DELT*R(I ,d)*C0NSTG(I ,d+1 )*0.5 



34900 C*N0W WILL SET UP THE MATRICES ABAND AND BMATRX . 



35000 ABAND(K,dMAX+1 )=1 .0+U+V+Z1+Z2 



35100 IF(I.NE.2) GO TO 305 



35200 AWARE (I ,d)=AWARE(I ,d)+U*Y(I-1,d) 



35300 GO TO 3 10 



35400 305 ABAND(K, 1 )=-U 



35500 310 IF(I .NE. IMAX-1 ) GO TO 306 



35600 AWARE ( I ,d)=AWARE(I , d )+V*Y (IMAX , d ) 



35700 GO TO 311 



35800 306 ABAND(K,dMAX+1+dMAX)=-V 



35900 311 IF(d.NE.I) GO TO 307 



36000 ABAND (K,dMAX+1 ) =ABAND(K . dMAX+ 1 )-Z1 



36 100 AWARE ( I , 1 )= AWARE ( I . 1 )+Z 1 • ( YZER0( I )-Y( I . 1 ) ) 



36200 GO TO 312 



70 



