clear;
load F:\study\大气数值模式\差分练习\Zuv.dat;
z_1=Zuv(1:24,1:4);
u_1=Zuv(25:48,1:4);
v_1=Zuv(49:72,1:4);
z_2=reshape(z_1',8,12);
u_2=reshape(u_1',8,12);
v_2=reshape(v_1',8,12);
z=z_2';u=u_2';v=v_2';
[x,y]=meshgrid(110:5:165,10:5:45);
figure(1)
quiver(x,y,u_2,v_2);
title('Speed vector');
ug=zeros(12,8);
vg=zeros(12,8);
for i=1:12
for j=1:8
lat=(10+(j-1)*5)/180*3.14159;
f=2*7.29e-5*sin(lat);
g=9.8;
dy=5*111e3;
dx=5*111e3*cos(lat);
if(i==1 && j==1)
ug(i,j)=-g/f*(z(i,j+1)-z(i,j))/(dy);
vg(i,j)=g/f*(z(i+1,j)-z(i,j))/(dx);
end
if(i==12 && j==1)
ug(i,j)=-g/f*(z(i,j+1)-z(i,j))/(dy);
vg(i,j)=g/f*(z(i,j)-z(i-1,j))/(dx);
end
if(i==1 && j==8)
ug(i,j)=-g/f*(z(i,j)-z(i,j-1))/(dy);
vg(i,j)=g/f*(z(i+1,j)-z(i,j))/(dx);
end
if(i==12 && j==8)
ug(i,j)=-g/f*(z(i,j)-z(i,j-1))/(dy);
vg(i,j)=g/f*(z(i,j)-z(i-1,j))/(dx);
end
if(i==12 && j~=1 &&j~=8)
ug(i,j)=-g/f*(z(i,j+1)-z(i,j-1))/(2*dy);
vg(i,j)=g/f*(z(i,j)-z(i-1,j))/(dx);
end
if(i==1 && j~=1 && j~=8)
ug(i,j)=-g/f*(z(i,j+1)-z(i,j-1))/(2*dy);
vg(i,j)=g/f*(z(i+1,j)-z(i,j))/(dx);
end
if(j==1 && i~=1 && i~=12)
ug(i,j)=-g/f*(z(i,j+1)-z(i,j))/(dy);
vg(i,j)=g/f*(z(i+1,j)-z(i-1,j))/(2*dx);
end
if(j==8 && i~=1 && i~=12)
ug(i,j)=-g/f*(z(i,j)-z(i,j-1))/(dy);
vg(i,j)=g/f*(z(i+1,j)-z(i-1,j))/(2*dx);
end
if(i~=1 && i~=12 && j~=1 && j~=8)
ug(i,j)=-g/f*(z(i,j+1)-z(i,j-1))/(2*dy);
vg(i,j)=g/f*(z(i+1,j)-z(i-1,j))/(2*dx);
end
end
end
disp(ug);
disp(vg);
figure (2)
quiver(x,y,ug',vg');
div_v=zeros(12,8);
for j=1:8
for i=1:12
lat=(10+(j-1)*5)/180*3.14159;
dy=5*111e3;
dx=5*111e3*cos(lat);
if(i==1 && j==1)
div_v(i,j)=(u(i+1,j)-u(i,j))/(dx)+(v(i,j+1)-v(i,j))/(dy);
end
if(i==12 && j==1)
div_v(i,j)=(u(i,j)-u(i-1,j))/(dx)+(v(i,j+1)-v(i,j))/(dy);
end
if(i==1 && j==8)
div_v(i,j)=(u(i+1,j)-u(i,j))/(dx)+(v(i,j)-v(i,j-1))/(dy);
end
if(i==12 && j==8)
div_v(i,j)=(u(i,j)-u(i-1,j))/(dx)+(v(i,j)-v(i,j-1))/(dy);
end
if(i==12 && j~=1 &&j~=8)
div_v(i,j)=(u(i,j)-u(i-1,j))/(dx)+(v(i,j+1)-v(i,j-1))/(2*dy);
end
if(i==1 && j~=1 && j~=8)
div_v(i,j)=(u(i+1,j)-u(i,j))/(dx)+(v(i,j+1)-v(i,j-1))/(2*dy);
end
if(j==1 && i~=1 && i~=12)
div_v(i,j)=(u(i+1,j)-u(i-1,j))/(2*dx)+(v(i,j+1)-v(i,j))/(dy);
end
if(j==8 && i~=1 && i~=12)
div_v(i,j)=(u(i+1,j)-u(i-1,j))/(2*dx)+(v(i,j)-v(i,j-1))/(dy);
end
if(i~=1 && i~=12 && j~=1 && j~=8)
div_v(i,j)=(u(i+1,j)-u(i-1,j))/(2*dx)+(v(i,j+1)-v(i,j-1))/(2*dy);
end
end
end
disp(div_v);
Ground_vor=zeros(12,8);
for j=1:8
for i=1:12
lat=(10+(j-1)*5)/180*3.14159;
dy=5*111e3;
dx=5*111e3*cos(lat);
if(i==1 && j==1)
Ground_vor(i,j)=(ug(i+1,j)-ug(i,j))/(dx)+(vg(i,j+1)-vg(i,j))/(dy);
end
if(i==12 && j==1)
Ground_vor(i,j)=(ug(i,j)-ug(i-1,j))/(dx)+(vg(i,j+1)-vg(i,j))/(dy);
end
if(i==1 && j==8)
Ground_vor(i,j)=(ug(i+1,j)-ug(i,j))/(dx)+(vg(i,j)-vg(i,j-1))/(dy);
end
if(i==12 && j==8)
Ground_vor(i,j)=(ug(i,j)-ug(i-1,j))/(dx)+(vg(i,j)-vg(i,j-1))/(dy);
end
if(i==12 && j~=1 &&j~=8)
Ground_vor(i,j)=(ug(i,j)-ug(i-1,j))/(dx)+(vg(i,j+1)-vg(i,j-1))/(2*dy);
end
if(i==1 && j~=1 && j~=8)
Ground_vor(i,j)=(ug(i+1,j)-ug(i,j))/(dx)+(vg(i,j+1)-vg(i,j-1))/(2*dy);
end
if(j==1 && i~=1 && i~=12)
Ground_vor(i,j)=(ug(i+1,j)-ug(i-1,j))/(2*dx)+(vg(i,j+1)-vg(i,j))/(dy);
end
if(j==8 && i~=1 && i~=12)
Ground_vor(i,j)=(ug(i+1,j)-ug(i-1,j))/(2*dx)+(vg(i,j)-vg(i,j-1))/(dy);
end
if(i~=1 && i~=12 && j~=1 && j~=8)
Ground_vor(i,j)=(ug(i+1,j)-ug(i-1,j))/(2*dx)+(vg(i,j+1)-vg(i,j-1))/(2*dy);
end
end
end
disp(Ground_vor);