function [msk] = findocean_fast( oldmsk ); msk=oldmsk; [nx ny nt nk]=size(msk); xp=[2:nx 1]; xm=[nx 1:nx-1]; yp=[2:ny 1]; ym=[ny 1:ny-1]; C=msk.*(msk+msk(xp,:,:,:)+msk(xm,:,:,:)+msk(:,ym,:,:)+msk(:,yp,:,:)); jj=find(C==1 | C==2 ); while size(jj) msk( jj )=0; C=msk.*(msk+msk(xp,:,:,:)+msk(xm,:,:,:)+msk(:,ym,:,:)+msk(:,yp,:,:)); jj=find(C==1 | C==2); end