- 积分
- 65
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2018-4-16
- 最后登录
- 1970-1-1
|

楼主 |
发表于 2020-7-30 11:06:03
|
显示全部楼层
clear all
CMATC=read_CMABST('E:\X_file\tf\cntf',2018);
lon=CMATC{21,1}(:,8);
lat=CMATC{21,1}(:,7);
wind=CMATC{21,1}(:,10);
hPa=CMATC{21,1}(:,9);
ommiga=7.292e-5;
varargin=[lat lon];
[x,y,z]=ll2utm(varargin);
x1=x;
y1=y;
[oo,pp]=size(varargin);
r1=matrix_hav(varargin)*1000;
r2=[r1 r1(end)];
r=reshape(r2,[length(r2),1]);
v=r/(6*60*60);
seigm1=matrix_fangweijiao(varargin);
seigm2=[seigm1 seigm1(end)];
seigm=reshape(seigm2,[length(seigm2),1]);
A=[v seigm];
[vx,vy]=V_XY(A);
ra_lat=radian2degree(lat);
latmin=20;
latmax=33;
lonmin=117;
lonmax=133;
step=1;
s2=1/step;
LAT=latmin.*s2-1;
LON=lonmin.*s2-1;
x_lat=(latmin:step:latmax);
y_lon=(lonmin:step:lonmax);
C1=1;
C2=0.8;
density=1.293;
theta=20;
% R=28.52*tanh(0.0873*(lon-28))+12.22*exp((hPa-1013.2)/33.86)+38.2;
R=1119*(1010-hPa).^(-0.805);
for j=1:length(lon);
for r=latmin:step:latmax;
for t=lonmin:step:lonmax;
distance(ceil(r.*s2-LAT),ceil(t.*s2-LON),j)=hav(lat(j),lon(j),r,t);
end
end
end
for m=1:length(lon);
m;
distance_a=distance(:,:,m);% r
[srow scol]=find(distance_a<=2*R(m));%s=short,l=long
[lrow lcol]=find(distance_a>2*R(m));
dw=wind(m);
dR=R(m);% R
Vx=vx(m);
Vy=vy(m);
x0=x1(m);
y0=y1(m);
P=1013.25-hPa(m);
for i=1:length(srow);
i;
xx=srow(i);
yy=scol(i);
var=[x_lat(xx) y_lon(yy)];
Ff=2*ommiga*sin(radian2degree(x_lat(xx)));
[x2 y2 z]=ll2utm(var);
r=distance_a(xx,yy);
Rr=abs(r-dR);
omiga1=-0.5*Ff+sqrt(0.25*Ff^2+1000*2*P*(1+2*(r^2/dR^2))^(-1.5)/(density*dR^2));
Wx(xx,yy,m)=C1*Vx*exp(-0.25*pi*Rr/dR)-C2*omiga1*((x2-x0)*sind(theta)+(y2-y0)*cosd(theta));
Wy(xx,yy,m)=C1*Vy*exp(-0.25*pi*Rr/dR)-C2*omiga1*((x2-x0)*cosd(theta)-(y2-y0)*sind(theta));
% W(ceil(r.*s2-LAT),ceil(t.*s2-LON))=sqrt(Wx(r.*s2-LAT,t.*s2-LON)^2+Wy(r.*s2-LAT,t.*s2-LON)^2);
end
for i=1:length(lrow);
i;
xx=lrow(i);
yy=lcol(i);
var=[x_lat(xx) y_lon(yy)];
Ff=2*ommiga*radian2degree(x_lat(xx));
[x2 y2 z]=ll2utm(var);
r=distance_a(xx,yy);
Rr=abs(r-dR);
omiga2=-0.5*Ff+sqrt(0.25*Ff^2+1000*P/(density*r*dR*(1+r/dR)^2));
Wx(xx,yy,m)=C1*Vx*exp(-0.25*pi*Rr/dR)-C2*omiga2*((x2-x0)*sind(theta)+(y2-y0)*cosd(theta));
Wy(xx,yy,m)=C1*Vy*exp(-0.25*pi*Rr/dR)-C2*omiga2*((x2-x0)*cosd(theta)-(y2-y0)*sind(theta));
end
end
我这样算出来风速上千。。。 |
|