爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 13874|回复: 11

[分享资料] wrfout输出变量,求相对湿度RH的计算公式

[复制链接]

新浪微博达人勋

发表于 2014-12-11 10:33:33 | 显示全部楼层 |阅读模式

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

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

x
现在得到的wrfout输出变量里面没有相对湿度RH,但是绘制很多图都需要RH。
目前得到的变量有高层温度和地面海平面温度SSTSK,基态温度T00,扰动位温T,地面2m高度的温度T2,地面2m高度的比湿Q2,求计算相对湿度的公式,在网上找了很久都没找到  
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-12-11 12:25:51 | 显示全部楼层
NCL中调用相对湿度就是rh,直接用就可以了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-12-11 13:18:44 | 显示全部楼层
lee309 发表于 2014-12-11 12:25
NCL中调用相对湿度就是rh,直接用就可以了

是因为没有rh,所有才求计算公式的。我这里得到的数据文件名是wrfout_d01_2014-12-10_12:00:00.GFS_WCTRL_F。在里面没找到RH
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-12-15 17:53:10 | 显示全部楼层
好吧,最后从网上看到这个文件WRFUserARW.ncl
发现里面有公式,直接翻译过来就可以用了


if( variable .eq. "rh" ) then
       if(isfilevar(nc_file,"T")) then
         ;; first compute theta - function wrf_tk needs theta and pressure (Pa) on input
         ;; THEN compute rh, using tk, p (Pa), QVAPOR
         if ( time .eq. -1 ) then
           if(ISFILE) then
             T      = nc_file->T
             P      = nc_file->P
             PB     = nc_file->PB
             QVAPOR = nc_file->QVAPOR
           else
             T      = file_handle[:]->T
             P      = file_handle[:]->P
             PB     = file_handle[:]->PB
             QVAPOR = file_handle[:]->QVAPOR
           end if
         else
           if(ISFILE) then
             T      = nc_file->T(time_in,:,:,:)
             P      = nc_file->P(time_in,:,:,:)
             PB     = nc_file->PB(time_in,:,:,:)
             QVAPOR = nc_file->QVAPOR(time_in,:,:,:)
           else
             T      = file_handle[:]->T(time_in,:,:,:)
             P      = file_handle[:]->P(time_in,:,:,:)
             PB     = file_handle[:]->PB(time_in,:,:,:)
             QVAPOR = file_handle[:]->QVAPOR(time_in,:,:,:)
           end if
         end if  
         T = T + 300.
         P  = P + PB
         QVAPOR = QVAPOR > 0.000
         tk = wrf_tk( P , T )
         rh = wrf_rh( QVAPOR, P, tk )
         delete_VarAtts(T,(/"description","units"/))
         copy_VarAtts(T,rh)
       else
         ;; may be a met_em file - see if we can get RH
         if(isfilevar(nc_file,"RH")) then
           if ( time .eq. -1 ) then
             if(ISFILE) then
               rh = nc_file->RH
             else
               rh = file_handle[:]->RH
             end if
           else
             if(ISFILE) then
               rh = nc_file->RH(time_in,:,:,:)
             else
               rh = file_handle[:]->RH(time_in,:,:,:)
             end if
           end if
         end if
       end if  
       return(rh)
  end if

{:eb513:}{:eb513:}
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-12-16 15:36:28 | 显示全部楼层
好长的代码啊
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-5-21 21:13:45 | 显示全部楼层
正好也在用ncl画rh,谢谢啦
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-10-10 17:12:18 | 显示全部楼层
学习中
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2016-10-15 15:27:48 | 显示全部楼层
{:lxm_23:}{:lxm_23:}{:lxm_23:}
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2017-6-15 22:32:50 | 显示全部楼层
认真看这页, 搜索 RH 就有计算相对湿度的,http://www.ncl.ucar.edu/Document/Functions/wrf.shtml
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2020-4-18 00:01:45 | 显示全部楼层
学习了,谢谢
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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