/[MITgcm]/MITgcm_contrib/timour_matlab/mscripts/DIAGP2.m
ViewVC logotype

Annotation of /MITgcm_contrib/timour_matlab/mscripts/DIAGP2.m

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


Revision 1.1 - (hide annotations) (download)
Wed Sep 3 21:22:22 2003 UTC (21 years, 10 months ago) by edhill
Branch: MAIN
CVS Tags: HEAD
initial checkin of Timour's MatLAB scripts

1 edhill 1.1 sumM=zeros(Nx,Ny);
2     sumN=zeros(Nx,Ny);
3     sumD=zeros(Nx,Ny);
4     sumW=zeros(Nx,Ny);
5    
6    
7     dz=0.005;
8    
9     % DEFINE BOX OF INTEGRATION
10     Nx1=4;
11     Nx2=Nx-3;
12     Ny1=4;
13     Ny2=Ny-3;
14     Nz1=5;
15     Nz2=Nz-4;
16    
17    
18     for k=Nz1:Nz2
19     if k==Nz1
20     a=0.5;
21     elseif k==Nz2
22     a=0.5;
23     else
24     a=1;
25     end
26    
27     sumM(3:Nx-2,3:Ny-2)=sumM(3:Nx-2,3:Ny-2)+a*Mp(3:Nx-2,3:Ny-2,k)*dz;
28     sumN(3:Nx-2,3:Ny-2)=sumN(3:Nx-2,3:Ny-2)+a*Np(3:Nx-2,3:Ny-2,k)*dz;
29     sumD(3:Nx-2,3:Ny-2)=sumD(3:Nx-2,3:Ny-2)+a*Dp(3:Nx-2,3:Ny-2,k)*dz;
30     end
31     sumW(3:Nx-2,3:Ny-2)=meanw(3:Nx-2,3:Ny-2,Nz1).*pv(3:Nx-2,3:Ny-2,Nz1);
32    
33    
34     for k=1:3
35     sumM1(:,:,k)=sumM(:,:);
36     sumN1(:,:,k)=sumN(:,:);
37     sumD1(:,:,k)=sumD(:,:);
38     sumW1(:,:,k)=sumW(:,:);
39     end
40    
41     for k=1:25
42    
43     sumM1=smooth3(sumM1);
44     sumD1=smooth3(sumD1);
45     sumW1=smooth3(sumW1);
46     end
47    
48     for k=1:10
49     sumN1=smooth3(sumN1);
50     end
51    
52     v=zeros(25,1);
53     v1=zeros(25,1);
54     for i=1:25
55     % v(i)=-0.1*(i-0.5)*7;
56     % v1(i)=0.1*(i-0.5)*7;
57     v(i)=0.001*(i)*10;
58     v1(i)=-0.001*(i)*10;
59     end
60    
61     sumD1(4:Nx,Ny,1)=0;
62     sumM1(4:Nx,Ny,1)=0;
63     sumN1(4:Nx,Ny,1)=0;
64     sumD1(4:Nx,Ny-1,1)=0;
65     sumM1(4:Nx,Ny-1,1)=0;
66     sumN1(4:Nx,Ny-1,1)=0;
67    
68    
69    
70     %V=[-10 10];
71     % title='Vorticity input';
72     % imagesc(lat,long,sumW1(Nx1:Nx2,Ny1:Ny2)');shading flat;axis image;colorbar('vertical');
73     % set(gca,'ydir','norm')
74     % text(0,110,title);
75     %figure
76     % title='Buoyancy diffusion integral';
77     % imagesc(lat,long,sumD1(Nx1:Nx2,Ny1:Ny2)');shading flat;axis image;colorbar('vertical');
78     % set(gca,'ydir','norm')
79     % text(0,110,title);
80     %figure
81     % title='Non-linear terms integral';
82     % imagesc(lat,long,sumN1(Nx1:Nx2,Ny1:Ny2)');shading flat;axis image;colorbar('vertical');
83     % set(gca,'ydir','norm')
84     % text(0,110,title);
85     %figure
86     % title='Momentum diffusion integral';
87     % imagesc(lat,long,sumM1(Nx1:Nx2,Ny1:Ny2)');shading flat;axis image;colorbar('vertical');
88     % set(gca,'ydir','norm')
89     % text(0,110,title);
90     subplot(3,1,1)
91     contour(squeeze(sumD1(4:Nx,1:Ny,1))',v,'k')
92     hold on
93     contour(squeeze(sumD1(4:Nx,1:Ny,1))',v1,'k--')
94     text(10,107,'Buoyancy transfer','Fontsize',14);
95     text(-20,90,'a)','Fontsize',18);
96     hold off
97     xlabel('X ')
98     ylabel('Y ')
99     set(gca,'XtickLabel','||')
100     set(gca,'YtickLabel','||')
101    
102     set(gca,'DataAspectRatio',[1,1.6,2])
103    
104     subplot(3,1,2)
105     contour(squeeze(sumM1(4:Nx,1:Ny,1))',v,'k')
106    
107     set(gca,'DataAspectRatio',[1,1.6,1])
108     text(10,107,'Momentum transfer','Fontsize',14);
109     text(-20,90,'b)','Fontsize',18);
110     hold on
111     contour(squeeze(sumM1(4:Nx,1:Ny,1))',v1,'k--')
112     hold off
113     xlabel('X ')
114     ylabel('Y ')
115     set(gca,'XtickLabel','||')
116     set(gca,'YtickLabel','||')
117    
118    
119    
120     subplot(3,1,3)
121     contour(squeeze(sumN1(4:Nx,1:Ny,1))',v,'k')
122    
123     set(gca,'DataAspectRatio',[1,1.6,1])
124     text(10,107,'Inertial term ','Fontsize',14);
125     text(-20,90,'c)','Fontsize',18);
126     hold on
127     contour(squeeze(sumN1(4:Nx,1:Ny,1))',v1,'k--')
128     hold off
129     xlabel('X ')
130     ylabel('Y ')
131     set(gca,'XtickLabel','||')
132     set(gca,'YtickLabel','||')
133    
134    
135     % text(40,-25,'countour interval - 1.5 (non-dimensional units)','FontSize',7);
136     % text(40,-30,'negative values - solid line','FontSize',7);
137     % text(40,-35,'positive values - dashed line','FontSize',7);
138     figure
139     contour(squeeze(sumN1(1:Nx,1:Ny,1))',v)
140     hold on
141     contour(squeeze(sumN1(1:Nx,1:Ny,1))',v1,'--')
142     hold off
143    
144    
145    
146    
147     %-----TEST-------------------------------------------------
148    
149     sum=0;
150     sumT=0;
151     for i=Nx1:Nx2
152     for j=Ny1:Ny2
153     if i==Nx1
154     a=0.5;
155     elseif i==Nx2
156     a=0.5;
157     else
158     a=1;
159     end
160    
161     if j==Ny1
162     b=0.5;
163     elseif j==Ny2
164     b=0.5;
165     else
166     b=1;
167     end
168    
169     sum=sum+a*b*meanw(i,j,Nz1)*pv(i,j,Nz1)*dx*dy;
170     sumT=sum-a*b*meanw(i,j,Nz2)*pv(i,j,Nz2)*dx*dy;
171     end
172     end
173    
174     for j=Ny1:Ny2
175     for k=Nz1:Nz2
176     if k==Nz1
177     a=0.5;
178     elseif k==Nz2
179     a=0.5;
180     else
181     a=1;
182     end
183    
184     if j==Ny1
185     b=0.5;
186     elseif j==Ny2
187     b=0.5;
188     else
189     b=1;
190     end
191    
192     sumT=sumT+a*b*meanu(Nx2,j,k)*pv(Nx2,j,k)*dz*dy;
193     sumT=sumT-a*b*meanu(Nx1,j,k)*pv(Nx1,j,k)*dz*dy;
194     end
195     end
196    
197     for i=Nx1:Nx2
198     for k=Nz1:Nz2
199     if k==Nz1
200     a=0.5;
201     elseif k==Nz2
202     a=0.5;
203     else
204     a=1;
205     end
206    
207     if i==Nx1
208     b=0.5;
209     elseif i==Nx2
210     b=0.5;
211     else
212     b=1;
213     end
214    
215     sumT=sumT+a*b*meanv(i,Ny2,k)*pv(i,Ny2,k)*dz*dx;
216     sumT=sumT-a*b*meanv(i,Ny1,k)*pv(i,Ny1,k)*dz*dx;
217     end
218     end
219     'VORTICITY GENERATION'
220     sum
221     sumT
222    
223    
224     sum=0;
225     for i=Nx1:Nx2
226     for j=Ny1:Ny2
227     if i==Nx1
228     a=0.5;
229     elseif i==Nx2
230     a=0.5;
231     else
232     a=1;
233     end
234    
235     if j==Ny1
236     b=0.5;
237     elseif j==Ny2
238     b=0.5;
239     else
240     b=1;
241     end
242    
243     sum=sum+a*b*sumD(i,j)*dx*dy;
244     end
245     end
246     'DISSIPATION BY EDDY-DIFFUSIVITY'
247     sum
248    
249     sum=0;
250     for i=Nx1:Nx2
251     for j=Ny1:Ny2
252     if i==Nx1
253     a=0.5;
254     elseif i==Nx2
255     a=0.5;
256     else
257     a=1;
258     end
259    
260     if j==Ny1
261     b=0.5;
262     elseif j==Ny2
263     b=0.5;
264     else
265     b=1;
266     end
267    
268     sum=sum+a*b*sumM(i,j)*dx*dy;
269     end
270     end
271     'DISSIPATION BY EDDY-VISCOSITY'
272     sum
273    
274     sum=0;
275     for i=Nx1:Nx2
276     for j=Ny1:Ny2
277     sum=sum+sumN(i,j)*dx*dy;
278     end
279     end
280     'NONLINEARITY'
281     sum

  ViewVC Help
Powered by ViewVC 1.1.22