subroutine msk_bdy c c======================================================================= c === c This subroutine sets (u-t) boundary values to zero at land points.=== c === c======================================================================= c c----------------------------------------------------------------------- c Define global data. c----------------------------------------------------------------------- c #include #include #include #include #include #include #include c c----------------------------------------------------------------------- c Define local data. c----------------------------------------------------------------------- c integer i,ib,k,jj,m c c======================================================================= c Begin executable code. c======================================================================= c do 70 ib=1,4 if(ib.eq.north.or.ib.eq.south) then do 30 i=1,imx(ib) if(ib.eq.north) then jj=jmt-2 else jj=2 endif if(landv(i,jj).le.1) then do 10 k=1,km uo(i,k,ib)=c0 u1(i,k,ib)=uo(i,k,ib) vo(i,k,ib)=c0 v1(i,k,ib)=vo(i,k,ib) 10 continue endif if(ib.eq.north) then jj=jmt-1 else jj=2 endif if(landt(i,jj).eq.0) then do 20 m=1,nt do 20 k=1,km to(i,k,ib,m)=c0 t1(i,k,ib,m)=to(i,k,ib,m) 20 continue endif 30 continue else do 60 i=1,imx(ib) if(ib.eq.west) then jj=2 else jj=imt-2 endif if(landv(jj,i).le.1) then do 40 k=1,km uo(i,k,ib)=c0 u1(i,k,ib)=uo(i,k,ib) vo(i,k,ib)=c0 v1(i,k,ib)=vo(i,k,ib) 40 continue endif if(ib.eq.west) then jj=2 else jj=imt-1 endif if(landt(jj,i).eq.0) then do 50 m=1,nt do 50 k=1,km to(i,k,ib,m)=c0 t1(i,k,ib,m)=to(i,k,ib,m) 50 continue endif 60 continue endif 70 continue c return end