爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 17197|回复: 11

[程序设计] MATLAB 计算整层水汽通量

[复制链接]

新浪微博达人勋

发表于 2018-5-13 18:34:22 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
最近感觉GrADS计算日数据的水汽通量时数据量太大,计算十分漫长,想着能否用MATLAB计算这样应该处理数据上更加方便,但是在家园中搜索MATLAB中水汽通量的计算只有几个帖子中介绍到了,其中

MATLAB计算水汽通量和水汽通量散度程序的讨论
http://bbs.06climate.com/forum.p ... 5&fromuid=44552
(出处: 气象家园)


matlab计算水汽通量积分
http://bbs.06climate.com/forum.p ... 1&fromuid=44552
(出处: 气象家园)

但是没有和GrADS的结果进行对比是否一致,因此自己开始计算了。


测试数据:NCEP1 1948年日数据比湿、风速和表面气压数据
比湿单位:kg/kg;

风速:m/s;

气压:Pa = kg/(m/s^2);

水汽通量单位理解看这个帖子:
整层水汽通量散度计算及其单位
http://bbs.06climate.com/forum.p ... 0&fromuid=44552
(出处: 气象家园)


根据这个帖子中的整层水汽通量单位推导,我的结果单位应该为kg/(m*s),量级应该在1e2

程序 : 只给一个例子
g = 9.8                      % 单位m/s^2
shum = double(ncread('pres.sfc.1948.nc','shum'));
uwnd = double(ncread('uwnd.1948.nc','uwnd'));
pres = double(ncread('pres.sfc.1948.nc','pres'));    % 数据都放在当前目录下
deltaPP = pres/100-1000;                                      % 地面气压
ss1 = squeeze(shum(:,:,1,:).*uwnd(:,:,1,:)).*deltaPP/g*100;   % 计算最底层
sz = size(squeeze(shum(:,:,1,:)));
ss = zeros(sz);
for ii = 2:8
      ss = ss + squeeze(shum(:,:,ii,:).*uwnd(:,:,ii,:))*deltaP(ii-1)/g*100;   % 计算其它层
end
ss = ss + ss1;     % 结果累加


结果上来看对应的还挺好的,但是量上好像差了些,希望大家也能看看有没有问题!!!

画图结果:




mm.png

GrADS结果

GrADS结果
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-5-13 18:38:21 | 显示全部楼层
deltaP就是上下层间气压差
P = [1000 925 850 700 600 500 400 300]';% hPa
pp = [925 850 700 600 500 400 300]';
deltaP = P(1:9)-pp;
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 32430
发表于 2018-5-13 19:30:42 | 显示全部楼层
建议可以插值之后计算
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-12-2 22:01:02 | 显示全部楼层
楼主我也觉得matlab算出来的水汽通量与其它的GrDAS算的结果在趋势上差不多, 但量级上好像有问题, 问题感觉就是出在那个积分上?  楼主有没有新的解决方式, 可以讨论一下
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2021-10-26 14:22:16 | 显示全部楼层
后续如何?
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2021-12-23 11:40:42 | 显示全部楼层
请问楼主是用matlab画的图嘛?感谢!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-2-5 10:12:59 | 显示全部楼层
deltaPP = pres/100-1000;
这一句是代表什么意思啊,看不懂这个除以100
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2022-2-6 20:33:27 | 显示全部楼层
呆妹小霸王 发表于 2022-2-5 10:12
deltaPP = pres/100-1000;
这一句是代表什么意思啊,看不懂这个除以100

Pa单位转化为hPa
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-2-22 21:47:50 | 显示全部楼层
楼主您好,我不懂为什么您最后通过累加的方式得出整层的水汽通量,不该是对压强作积分来求得整层的水汽通量嘛
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-2-22 21:54:43 | 显示全部楼层
http://bbs.06climate.com/forum.p ... E%C6%FB%CD%A8%C1%BF
然后最近也出了这一个用matlab做的帖子,感觉他做的也可以,您可以看看
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表