/[MITgcm]/MITgcm_contrib/gael/profilesMatlabProcessing/netcdf_ecco_GenericgridLocateCell.m
ViewVC logotype

Annotation of /MITgcm_contrib/gael/profilesMatlabProcessing/netcdf_ecco_GenericgridLocateCell.m

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


Revision 1.1 - (hide annotations) (download)
Fri Jun 15 05:39:42 2007 UTC (18 years, 1 month ago) by gforget
Branch: MAIN
matlab scripts to process pkg/profiles netcdf input files.

1 gforget 1.1 function [list_profiles2]=netcdf_ecco_GenericgridLocateCell(x0,y0,x_all,y_all);
2    
3     x=ones([length(x_all) size(x0)]); for icur=1:length(x_all); x(icur,:,:)=x0; end;
4     y=ones([length(x_all) size(x0)]); for icur=1:length(x_all); y(icur,:,:)=y0; end;
5    
6     x_all2=zeros([length(x_all) size(x0,1) 1]); for icur=1:length(x_all); x_all2(icur,:,:)=x_all(icur); end;
7     y_all2=zeros([length(y_all) size(x0,1) 1]); for icur=1:length(y_all); y_all2(icur,:,:)=y_all(icur); end;
8     z_all2=zeros(size(x_all2));
9    
10     for icur=1:size(x0,2);
11     x=circshift(x,[0 0 1]); y=circshift(y,[0 0 1]);
12     v1x=x(:,:,1)-x_all2(:,:,1); v1y=y(:,:,1)-y_all2(:,:,1); v2x=x(:,:,2)-x_all2(:,:,1); v2y=y(:,:,2)-y_all2(:,:,1);
13     tmp1=find(v2x.*v2x+v2y.*v2y==0|v1x.*v1x+v1y.*v1y==0); v1x(tmp1)=NaN; v1y(tmp1)=NaN; v2x(tmp1)=NaN; v2y(tmp1)=NaN;
14     g_acos=acos( ( v1x.*v2x+v1y.*v2y )./sqrt( v1x.*v1x+v1y.*v1y )./sqrt( v2x.*v2x+v2y.*v2y ) );
15     g_sin= ( v1x.*v2y-v1y.*v2x )./sqrt( v1x.*v1x+v1y.*v1y )./sqrt( v2x.*v2x+v2y.*v2y ) ;
16     z_all2=z_all2+g_acos.*sign(g_sin);
17     end
18    
19     list_profiles=find(abs(z_all2-2*pi)<pi/16|abs(z_all2-pi)<pi/16|isnan(z_all2));
20     list_profiles2=zeros(size(x_all2)); list_profiles2(list_profiles)=1;
21    
22    
23    

  ViewVC Help
Powered by ViewVC 1.1.22