- 积分
- 79
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2015-12-6
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
刚开始做数据处理的时候最先遇到的就是做距平处理吧。这里是一个自己写的距平处理程序。可能比较笨,循环很多,但感觉对于刚开始学习的新手来说会有比较清晰。希望对大家有帮助。也希望有大神可以指导简单的处理方法。
clc
clear
close all;
ncid = netcdf.open('E:\uwnd.mon.mean.nc','NOWRITE');
ncid = netcdf.open('E:\vwnd.mon.mean.nc','NOWRITE');
ncdisp E:\uwnd.mon.mean.nc;
u= ncread('E:\uwnd.mon.mean.nc','uwnd');
v= ncread('E:\vwnd.mon.mean.nc','vwnd');
v_lon=ncread('E:\vwnd.mon.mean.nc','lon');
v_lat=ncread('E:\vwnd.mon.mean.nc','lat');
v_time=ncread('E:\vwnd.mon.mean.nc','time');
v_level=ncread('E:\vwnd.mon.mean.nc','level');
%使用其他软件进行检查看读取是否正确,注意纬向和垂向
%预设数据范围
umean=zeros(144,73,17,12);%平均场(每个月一个值)
vmean=zeros(144,73,17,12);
windu=zeros(144,73,17,823);%分别是lon,lat,level,time
windv=zeros(144,73,17,823);
%求气候态
for i=1:144;
for j=1:73;
for z=1:17;
for k=1:12;
umean(i,j,z,k)=mean(u(i,j,z,k:12:end));%每个月一个平均
vmean(i,j,z,k)=mean(v(i,j,z,k:12:end));
end
end
end
end
%距平
for i=1:144;
for j=1:73;
for z=1:17;
for k=1:12;
windu(i,j,z,k:12:end)=u(i,j,z,k:12:end)-umean(i,j,z,k);%距平
windv(i,j,z,k:12:end)=v(i,j,z,k:12:end)-vmean(i,j,z,k);%距平
end
end
end
end
|
|