/[MITgcm]/MITgcm_contrib/mlosch/interp_llc/xyexpand.m
ViewVC logotype

Contents of /MITgcm_contrib/mlosch/interp_llc/xyexpand.m

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (show annotations) (download)
Thu May 3 21:07:21 2007 UTC (17 years ago) by mlosch
Branch: MAIN
CVS Tags: HEAD
initial checkin of topography and hydrography interpolation scripts for
the llc-grid, based on old matlab scripts by Alistair Adcroft
Let's hope, they are useful.

1 function [To]=xyexpand(Tin,niter)
2 % Tout=xyexpand(Tin,3);
3 %
4 % This function takes 2D input and replaces any NaN
5 % neighbouring any real numbers with the average of
6 % those numbers. This procedure is repeated niter
7 % times. Note that the ocean/land volume ratio expands
8 % rapidly with each iteration.
9 %
10 % In short, this is a gap-filler and extrapolator of
11 % rudimentary order applied to horizontal slices.
12 %
13 % Created 08/15/99 by adcroft@mit.edu
14 % Modified 11/11/99 by adcroft@mit.edu
15 % Maintained by adcroft@mit.edu, abiastoch@ucsd.edu
16
17 [nx,ny]=size(Tin);
18 ip=[2:nx 1];
19 im=[nx 1:nx-1];
20 jp=[2:ny ny];
21 jm=[1 1:ny-1];
22
23 T=Tin;
24 for iter=1:niter,
25
26 msk=ones(nx,ny);
27 L=isnan(T);
28 msk( L )=0;
29
30 To=T;
31 To( L )=0;
32
33 cnt=msk(im,:)+msk(ip,:)+msk(:,jm)+msk(:,jp);
34 cnt( find(cnt==0) )=1;
35 Tbr=(To(im,:)+To(ip,:)+To(:,jm)+To(:,jp))./cnt;
36
37 To( L )=Tbr( L );
38
39 To( find(To==0) )=NaN;
40
41 T=To;
42 end

  ViewVC Help
Powered by ViewVC 1.1.22