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

Contents of /MITgcm_contrib/timour_matlab/mscripts/DIAG1.m

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


Revision 1.1 - (show 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
2 colormap gray
3 cmap=colormap;
4 cmap=flipud(cmap);
5 %cmap=sqrt(cmap);
6 cmap=0.5*(1-cos(3.1415*cmap));
7 colormap(cmap)
8
9 sumM=zeros(Nx,Ny);
10 sumD=zeros(Nx,Ny);
11 sumW=zeros(Nx,Ny);
12
13 dz=0.005;
14
15 % DEFINE BOX OF INTEGRATION
16 Nx1=4;
17 Nx2=Nx-3;
18 Ny1=4;
19 Ny2=Ny-3;
20 Nz1=5;
21 Nz2=Nz-4;
22
23 pv1=pv;
24 Mp1=Mp;
25 Dp1=Dp;
26
27 % pv1=smooth3(pv);
28 % Mp1=smooth3(Mp);
29 % Dp1=smooth3(Dp);
30
31 % for kk=1:4
32 % pv1=smooth3(pv1);
33 % Mp1=smooth3(Mp1);
34 % Dp1=smooth3(Dp1);
35 % end
36
37 for k=Nz1:Nz2
38 if k==Nz1
39 a=0.5;
40 elseif k==Nz2
41 a=0.5;
42 else
43 a=1;
44 end
45
46 sumM(3:Nx-2,3:Ny-2)=sumM(3:Nx-2,3:Ny-2)+a*Mp1(3:Nx-2,3:Ny-2,k).*pv1(3:Nx-2,3:Ny-2,k)*dz;
47 sumD(3:Nx-2,3:Ny-2)=sumD(3:Nx-2,3:Ny-2)+a*Dp1(3:Nx-2,3:Ny-2,k).*pv1(3:Nx-2,3:Ny-2,k)*dz;
48 end
49 sumW(3:Nx-2,3:Ny-2)=0.5*meanw(3:Nx-2,3:Ny-2,Nz1).*pv1(3:Nx-2,3:Ny-2,Nz1).*pv1(3:Nx-2,3:Ny-2,Nz1);
50
51 for k=1:3
52 sumM1(:,:,k)=sumM(:,:);
53 sumD1(:,:,k)=sumD(:,:);
54 sumW1(:,:,k)=sumW(:,:);
55 end
56
57 for k=1:25
58
59 sumM1=smooth3(sumM1);
60 sumD1=smooth3(sumD1);
61 sumW1=smooth3(sumW1);
62 end
63
64 V=[0.25*min(min(sumW(Nx1+2:Nx2,Ny1:Ny2-4))) 0];
65
66 % title='Vorticity input';
67 % imagesc(lat,long,sumW(Nx1:Nx2,Ny1:Ny2)');shading flat;caxis(V);axis image;colorbar('vertical');
68 % set(gca,'ydir','norm')
69 % text(0,110,title);
70 %figure
71 v=zeros(10,1);
72 v1=zeros(10,1);
73 for i=1:10
74 %v(i)=-0.1*(i-0.5)*7;
75 %v1(i)=0.1*(i-0.5)*7;
76 v(i)=-0.1*(i)*10;
77 v1(i)=0.1*(i)*10;
78 end
79
80 %figure
81
82 % contour(squeeze(sumW1(Nx1:Nx2,Ny1:Ny2,1))',v)
83 % hold on
84 % contour(squeeze(sumW1(Nx1:Nx2,Ny1:Ny2,1))',v1,'--')
85 % hold off
86 % text(20,0,'countour interval is 0.7 in the non-dimensional units');
87 % text(20,95,'Vorticity input','Fontsize',16);
88
89 %figure
90
91 %V=[-0.5*max(max(abs(sumD(Nx1:Nx2,Ny1:Ny2-4)))) 0.5*max(max(abs(sumD(Nx1:Nx2,Ny1:Ny2-4))))];
92 % title='Buoyancy diffusion integral';
93 % imagesc(lat,long,sumD(Nx1:Nx2,Ny1:Ny2)');shading flat;caxis(V);axis image;colorbar('vertical');
94 % set(gca,'ydir','norm')
95 % text(0,110,title);
96
97
98 figure
99 x=Nx1:Nx2;
100 y=Ny1:Ny2;
101
102 subplot(2,1,1)
103 contourf(x,y,squeeze(sumD1(Nx1:Nx2,Ny1:Ny2,1))',10)
104 % contour(x,y,squeeze(sumD1(Nx1:Nx2,Ny1:Ny2,1))',v)
105 % hold on
106 % contour(x,y,squeeze(sumD1(Nx1:Nx2,Ny1:Ny2,1))',10);colorbar;
107 % contour(x,y,squeeze(sumD1(Nx1:Nx2,Ny1:Ny2,1))',v1,'--')
108 text(10,Ny2+5,'Buoyancy eddy-transfer integral','Fontsize',13);
109 hold off
110 xlabel('X ')
111 ylabel('Y ')
112 set(gca,'DataAspectRatio',[2,2,2])
113 set(gca,'XtickLabel','|||||||')
114
115 %figure
116 %V=[-0.5*max(max(abs(sumM(Nx1:Nx2,Ny1:Ny2-4)))) 0.5*max(max(abs(sumM(Nx1:Nx2,Ny1:Ny2-4))))];
117 % title='Momentum eddy-transfer integral';
118 % imagesc(lat,long,sumM(Nx1:Nx2,Ny1:Ny2)');shading flat;caxis(V);axis image;colorbar('vertical');
119 % set(gca,'ydir','norm')
120 % text(0,110,title);
121
122 subplot(2,1,2)
123 xx=Nx1:Nx2;
124 yy=Ny1:Ny2;
125 % contour(xx,yy,squeeze(sumM1(Nx1:Nx2,Ny1:Ny2,1))',v)
126 contourf(xx,yy,squeeze(sumM1(Nx1:Nx2,Ny1:Ny2,1))',10)
127
128 text(10,Ny2+5,'Momentum eddy-transfer integral','Fontsize',13);
129 %hold on
130 % contour(xx,yy,squeeze(sumM1(Nx1:Nx2,Ny1:Ny2,1))',[0,0],' ')
131 % contour(xx,yy,squeeze(sumM1(Nx1:Nx2,Ny1:Ny2,1))',v1,'--')
132 % contour(xx,yy,squeeze(sumM1(Nx1:Nx2,Ny1:Ny2,1))',10);colorbar;
133 %hold off
134 xlabel('X (gridpoints)')
135 ylabel('Y (gridpoints)')
136 set(gca,'DataAspectRatio',[2,2,2])
137 % text(40,-25,'countour interval - 0.7 (non-dimensional units)','FontSize',7);
138 % text(40,-30,'negative values - solid line','FontSize',7);
139 % text(40,-35,'positive values - dashed line','FontSize',7);
140
141
142
143 %-----TEST-------------------------------------------------
144
145 sum=0;
146 sumT=0;
147 sumY=0;
148 for i=Nx1:Nx2
149 for j=Ny1:Ny2
150
151
152 if j==Ny1
153 a=0.5;
154 elseif j==Ny2
155 a=0.5;
156 else
157 a=1;
158 end
159
160 if i==Nx1
161 b=0.5;
162 elseif i==Nx2
163 b=0.5;
164 else
165 b=1;
166 end
167
168
169
170 sum=sum+a*b*0.5*meanw(i,j,Nz1)*pv(i,j,Nz1)*pv(i,j,Nz1)*dx*dy;
171 sumT=sum-0.5*meanw(i,j,Nz2)*pv(i,j,Nz2)*pv(i,j,Nz2)*dx*dy;
172 end
173 end
174
175 for j=Ny1:Ny2
176 for k=Nz1:Nz2
177 sumT=sumT+0.5*meanu(Nx2,j,k)*pv(Nx2,j,k)*pv(Nx2,j,k)*dz*dy;
178 sumT=sumT-0.5*meanu(Nx1,j,k)*pv(Nx1,j,k)*pv(Nx1,j,k)*dz*dy;
179 end
180 end
181
182 for i=Nx1:Nx2
183 for k=Nz1:Nz2
184 sumT=sumT+0.5*meanv(i,Ny2,k)*pv(i,Ny2,k)*pv(i,Ny2,k)*dz*dx;
185 sumY=sumY+0.5*meanv(i,Ny2,k)*pv(i,Ny2,k)*pv(i,Ny2,k)*dz*dx;
186 sumT=sumT-0.5*meanv(i,Ny1,k)*pv(i,Ny1,k)*pv(i,Ny1,k)*dz*dx;
187 end
188 end
189 'VORTICITY GENERATION'
190 sum
191 sumY
192 sumT
193
194
195 sum=0;
196 for i=Nx1:Nx2
197 for j=Ny1:Ny2
198
199 if j==Ny1
200 a=0.5;
201 elseif j==Ny2
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 sum=sum+a*b*sumD(i,j)*dx*dy;
216 end
217 end
218 'DISSIPATION BY EDDY-DIFFUSIVITY'
219 sum
220
221 sum=0;
222 for i=Nx1:Nx2
223 for j=Ny1:Ny2
224
225 if j==Ny1
226 a=0.5;
227 elseif j==Ny2
228 a=0.5;
229 else
230 a=1;
231 end
232
233 if i==Nx1
234 b=0.5;
235 elseif i==Nx2
236 b=0.5;
237 else
238 b=1;
239 end
240
241 sum=sum+a*b*sumM(i,j)*dx*dy;
242 end
243 end
244 'DISSIPATION BY EDDY-VISCOSITY'
245 sum

  ViewVC Help
Powered by ViewVC 1.1.22