爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: 1649518749

[作图] 分享:水汽通量散度

  [复制链接]

新浪微博达人勋

发表于 2019-7-23 17:48:49 | 显示全部楼层
很感激楼主回复
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-7-23 21:51:51 | 显示全部楼层
感谢分享,受益匪浅
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-8-18 11:54:16 | 显示全部楼层
请问大神 你这里面的qu和qv为什么要这么设置呢 还有就是我用wrf数据想画通量散度的垂剖图 用的函数是wgt_vert_avg_beta 但这个函数要求最右边三维是level lat lon 和wrf数据不符合 请问应该怎么处理 求大神解答!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2019-8-19 10:21:24 | 显示全部楼层
supersupergirl 发表于 2019-8-18 11:54
请问大神 你这里面的qu和qv为什么要这么设置呢 还有就是我用wrf数据想画通量散度的垂剖图 用的函数是wgt_ve ...

先把水平的通量散度插值出来,再去画垂直剖面图
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-8-19 15:29:10 | 显示全部楼层
1649518749 发表于 2019-8-19 10:21
先把水平的通量散度插值出来,再去画垂直剖面图

嗯嗯 但现在我通量散度算不出来 因为用的是wgt_vert_avg_beta这个函数 他要求右边三维和我数据不符 请问如何处理呢 脚本如下:
rh = wrf_user_getvar(a,"rh",it)   
p  = wrf_user_getvar(a, "pressure",it) ;
tc   = wrf_user_getvar(a, "tc", it)
u = wrf_user_getvar(a,"ua",it)
  v = wrf_user_getvar(a,"va",it)
slp = wrf_user_getvar(a, "slp", it)
  tk = tc+273.16
  copy_VarCoords(tc, tk)
  ;计算水汽通量散度
  P = p

  a1 = where(tk .gt. 263.0, 0.622*6.11*exp(17.26*(tk-273.16)/(tk-35.86)), \
             0.622*6.11*exp(21.87*(tk-273.16)/(tk-7.66)))   ;
  b1= where(tk .gt. 263.0, P-0.278*exp(17.26*(tk-273.16)/(tk-35.86)),\
            P-0.278*exp(21.87*(tk-273.16)/(tk-7.66)))   ;
  qs1=a1/b1                                 ;饱和混合比
  q1=qs1*rh/100.0                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ;混合比
  copy_VarCoords(rh, q1)

  qu1=u*q1/9.8*1000  ;单位变为(g.s/kg)
  qv1=v*q1/9.8*1000
  copy_VarMeta(u,qu1)
  copy_VarMeta(v,qv1)
  
  pr=(/100,125,150,175,200,225,250,300,350,400,450,500,550,600,650,700,750,775,800,825,850,875,900,925,950,975,1000/)
  qu11=wgt_vert_avg_beta(pr,qu1,slp,0,0)/10
  qv11=wgt_vert_avg_beta(pr,qv1,slp,0,0)/10
  copy_VarCoords(qu1(0,:,:),qu11)
  copy_VarCoords(qv1(0,:,:),qv11)

  quv1=sqrt(qu11*qu11+qv11*qv11)
  copy_VarCoords(qv11,quv1)

  vapor=uv2dv_cfd(qu11,qv11,xlat,xlon,2)
  copy_VarCoords(qu1(0,:,:),vapor)

  vapord = vapor*1000
  copy_VarCoords(vapor,vapord)

然后我的错误如下:
fatal:wgt_vert_avg_beta: The third-to-the-last dimension of datai must be of length klev

求大神帮忙解答!!
或者是如果我用vibeta函数 应该如何设置呢?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-8-20 15:24:32 | 显示全部楼层
想问下大神画wrfout数据 应该用哪个散度公式呀 是否需要用rcm2rgrid_Wrap先插值呢 跪求解答!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2019-8-20 16:44:10 | 显示全部楼层
supersupergirl 发表于 2019-8-19 15:29
嗯嗯 但现在我通量散度算不出来 因为用的是wgt_vert_avg_beta这个函数 他要求右边三维和我数据不符 请问 ...

维度可以强制转换的  比如 :q=(lat|:,lon|:,lev|)
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2019-8-20 16:46:18 | 显示全部楼层
supersupergirl 发表于 2019-8-20 15:24
想问下大神画wrfout数据 应该用哪个散度公式呀 是否需要用rcm2rgrid_Wrap先插值呢 跪求解答!

应该不用吧,直接计算吧
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-8-20 17:40:55 | 显示全部楼层
1649518749 发表于 2019-8-20 16:46
应该不用吧,直接计算吧

那就还是用uv2vr_cfd这个函数吗 好头疼 那风场的散度是只画uv还是把垂直w也考虑进去呢
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-8-20 17:58:01 | 显示全部楼层
还是有问题啊大神 我重新命名了维 但是无法运行 出现以下这样的错误:
Variable (lat) is undefined
脚本如下:
  uq=1.0/9.8*u*q1
  vq=1.0/9.8*v*q1
  copy_VarMeta(q1,uq)
  copy_VarMeta(q1,vq)

  ;uq =uq(lev|:,lat|:,lon|:)
  uq!0 = "level"
  uq!1 = "lat"
  uq!2 = "lon"

  vq!0 = "level"
  vq!1 = "lat"
  vq!2 = "lon"
  vapord = uv2dv_cfd(uq, vq, lat, lon, 2)
就是我最后一句有问题
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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