| 
 
	积分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
 
 
 | 
 |