爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 10913|回复: 11

[作图] 用WRF模式输出量做水汽通量图时,程序出错。

[复制链接]

新浪微博达人勋

发表于 2015-3-12 15:51:40 | 显示全部楼层 |阅读模式

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

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

x

begin
   a = addfile("F:/Data/Data_wrf/89hbj/wrfoutd03_89KFW.nc","r")
   type = "png"
   wks = gsn_open_wks(type,"plt_PressureLevel3")
   gsn_define_colormap(wks,"WhBlGrYeRe")
   res = True
   res@MainTitle                   = "REAL-TIME WRF"

   pltres = True
   mpres = True
   
;  times  = wrf_user_list_times(a)   
   times = wrf_user_getvar(a,"times",-1)
   ntimes = dimsizes(times)         ; number of times in the file
   
    tc = wrf_user_getvar(a,"tc",-1)        ; T in C
    u  = wrf_user_getvar(a,"ua",-1)        ; u averaged to mass points
    v  = wrf_user_getvar(a,"va",-1)        ; v averaged to mass points
    p  = wrf_user_getvar(a,"pressure",-1) ;
    rh = wrf_user_getvar(a,"rh",-1)        ; relative humidity;
    z  = wrf_user_getvar(a,"height",-1)
   
    pressure_levels = (/ 1000.,950.,900.,850.,800.,750.,700.,650.,600.,550.,500.,450.,400.,\
               350.,300.,250.,200.,150.,100./)    ; pressure levels to plot
    nlevels  = dimsizes(pressure_levels)          ; number of pressure levels
    tc_plane = wrf_user_intrp3d(tc,p,"h",pressure_levels,0.,False)
    u_plane  = wrf_user_intrp3d( u,p,"h",pressure_levels,0.,False)
    v_plane  = wrf_user_intrp3d( v,p,"h",pressure_levels,0.,False)
    p_plane  = wrf_user_intrp3d( p,p,"h",pressure_levels,0.,False)
    z_plane  = wrf_user_intrp3d( z,p,"h",pressure_levels,0.,False)
    rh_plane = wrf_user_intrp3d(rh,p,"h",pressure_levels,0.,False)
   
    spd      = (u_plane*u_plane + v_plane*v_plane)^(0.5) ;
;   print(spd)
    spd@description = "Wind Speed"
    spd@units = "m/s"
    tk=tc_plane+273.166                            ;C to K
   p := conform(tc_plane,pressure_levels,1) ;
;>-----------------------------------------------------------------------------------<
;*计算水汽通量散度
;>-----------------------------------------------------------------------------------<
   
     es=6.112*exp(17.67*(tk-273.15)/(tk-29.65))     ;饱和水汽压(Tetens公式)
     q=rh_plane*(0.62197*es/(p-es))/100.
     wvflux= q*1000*spd/9.87                           ;  
     wvflux@description = "moisture flux"
    copy_VarCoords(tc_plane,wvflux)                   ; assign coordinatesMeteorologi
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   do it = 36,36,6                                      ; TIME LOOP
; it = 0,ntimes-1,1                                  ; TIME LOOP
     print("Working on time: " + times(it))
     res@TimeLabel = times(it)   
   do level = 3,3,1                                      ; LOOP OVER LEVELS
  ;     do level = 0,nlevels-1                           ; LOOP OVER LEVELS
     pressure = pressure_levels(level)
     ; Add some level info to the plot
     res@PlotLevelID = pressure + " hPa"
      
     ; Plotting options for wvflux         
       opts = res                          
       opts@cnFillOn = True  
       opts@pmLabelBarOrthogonalPosF = -0.1
       contour_wvflux= wrf_contour(a,wks,wvflux(it,level,:,:),opts)
       plot = wrf_map_overlays(a,wks,contour_wvflux,pltres,mpres)
     delete(opts)
       end do
   ;  end do
end do        ; END OF TIME LOOP
delete(u)
delete(v)
delete(tc)
delete(tk)
delete(wvflux)
end

错误提示为fatal:NclMalloc Failed:[errno=12]
请帮忙指点一下到底哪里错了啊?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-3-12 16:43:56 | 显示全部楼层
你先把后面计算的去掉,看看读取那部分是否正确读了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-4-13 20:14:21 | 显示全部楼层
请问楼主解决了吗?能否指点是怎么画出来的
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-6-4 22:12:14 | 显示全部楼层
p := conform(tc_plane,pressure_levels,1) ;
请问楼主这句话是什么意思
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-10-10 21:10:01 | 显示全部楼层
请问楼主气压层的值是怎么选的pressure_levels = (/ 1000.,950.,900.,850.,800.,750.,700.,650.,600.,550.,500.,450.,400.,\
               350.,300.,250.,200.,150.,100./)    ; pressure levels to plot
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-1-7 21:59:35 | 显示全部楼层
加油!加油!
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2016-4-16 17:15:45 | 显示全部楼层
楼主,你是用wrf转出来的wrfout直接用ncl画水汽通量了吗?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-4-16 17:15:51 | 显示全部楼层
楼主,你是用wrf转出来的wrfout直接用ncl画水汽通量了吗?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-11-27 10:56:04 | 显示全部楼层
irish 发表于 2016-4-16 17:15
楼主,你是用wrf转出来的wrfout直接用ncl画水汽通量了吗?

我也想问这个问题
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2021-12-29 16:16:48 | 显示全部楼层
chongzika 发表于 2017-11-27 10:56
我也想问这个问题

您好 打扰一下 请问你有关于wrfout画水汽通量以及散度的脚本吗 最近被他搞得很头疼
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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