- 积分
- 547
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2022-8-15
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 顺利毕业! 于 2023-5-24 16:12 编辑
更新:(已解决)单位换算同时需要考虑差分和积分的单位,积分也需要除以重力加速度g和水的密度进行合理换算。
====
更新:根据楼下大佬的建议,改用dpres_plevel_Wrap和dim_sum_n替代积分函数Vibeta后Q1和W1的计算看起来似乎正常了,但是VQ1和V1的计算还是异常,量级差了1000倍,还是没能弄清楚水平风(m/s)和比湿(kg/kg)进行相应差分和积分后求得的结果如何转化为mm/day,求路过大佬指点迷津~~~
=====
小白最近在尝试学习和使用水汽收支方程,具体见图。利用NCL处理数据主要用到差分函数center_finite_diff_n和垂直积分函数vibeta,先是对比湿度Q(kg/kg)进行差分得到dQ,在分别对垂直速度W(Pa/s)和水平矢量风U(m/s)与dQ相乘的结果进行整层垂直积分,最后需要将结果均转化为mm/day进行分析,但单位转化实在没搞明白,球球各位大佬帮忙看看:
差分的主要计算如下,其中,Q的单位均为kg/kg(下标c代表背景值,下标a代表异常值,下同),plev的单位为hpa
dQcdp = tofloat(center_finite_diff_n(Qc, plev, False, 0, 0))
dQadp = tofloat(center_finite_diff_n(Qa, plev, False, 0, 0))
积分的主要计算如下,其中,plev、psfc、pbot、ptop单位均为hpa,Q单位均为kg/kg,W单位均为Pa/s,U单位均为m/s
Q1 = tofloat(-1./g * 86400 * vibeta(plev, WcdQadp_1, linlog, psfc, pbot, ptop)) ;单位均转化为mm/d
W1 = tofloat(-1./g * 86400 * vibeta(plev, WadQcdp_1, linlog, psfc, pbot, ptop))
VQ1 = tofloat(-1./g * 86400 /1000 * vibeta(plev, UcdQadp_1, linlog, psfc, pbot, ptop))
V1 = tofloat(-1./g * 86400 /1000 * vibeta(plev, UadQcdp_1, linlog, psfc, pbot, ptop))
最后计算得到的结果无论是正负还是量级都挺奇怪的,应该是积分环节单位转化出了问题,但是小白一直没搞清楚到底是哪里有问题,还请帮忙看看!!!!!拜托了~~~~
|
-
|