- 积分
 - 178
 
	- 贡献
 -  
 
	- 精华
 
	- 在线时间
 -  小时
 
	- 注册时间
 - 2018-3-26
 
	- 最后登录
 - 1970-1-1
 
 
 
 
 
 
 | 
	
 
 
发表于 2021-1-8 21:42:34
|
显示全部楼层
 
 
 
你好,我觉得你程序的积分不是从地面开始的,你每次的level除去最前面的地面气压其他的都还是从1000hPa开始的,所以有问题,我修改了一下,认为是这个样子的lev1=ncread('shum.mon.mean.nc','level'); 
ps=ncread('pres.mon.mean.nc','pres'); 
 
lps=size(ps); 
for k=1:lps(1) 
    for kk=1:lps(2) 
        for kkk=1:lps(3) 
            pss=ps(k,kk,kkk); 
            lev = lev1; 
            if pss>=0 
                lev(lev>pss)=pss; 
                lll=[pss;lev]; 
                dl=lll(1:end-1)-lll(2:end); 
                dp(k,kk,:,kkk)=dl; %#ok<SAGROW> 
            else 
                lll=[1000;lev]; 
                dl=lll(1:end-1)-lll(2:end); 
                dp(k,kk,:,kkk)=dl; %#ok<SAGROW> 
            end 
        end 
    end 
end 
 
你可以算一下青藏高原的水汽通量结合文献,看一下你的。如果有什么不对的地方,欢迎指正。 |   
 
 
 
 |