爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6610|回复: 6

[作图] ncl计算假等值线相当位温总是显示没有图形

[复制链接]
发表于 2018-8-24 15:01:18 | 显示全部楼层 |阅读模式

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

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

x
f=addfile("d:\zh.nc","r")

tm=short2flt(f->t(92,{850},:,:))
rh=short2flt(f->r(92,{850},:,:))
p=850.

wks=gsn_open_wks("png","theta-850-24-08")

es=6.112*exp(17.67*(tm-273.15)/(tm-29.65))
q=rh*(0.62197*es/(p-es))/100.
e=p*q/(0.62197+q)+10^(-10)
tlcl=55.0+2840.0/(3.5*log(tm)-log(e)-4.805)
theta=tm*(1000./p)^(0.2854*(1.0-0.28*q))      
eqt=theta*exp(((3376./tlcl)-2.54)*q*(1.0+0.81*q))

copy_VarCoords(tm,eqt) ; assign coordinates
;eqt!0        ="time"   
;eqt&time =tm&time   
;eqt!1        ="level"  
;eqt&level=tm&level
;eqt!0       ="latitude"   
;eqt&latitude =tm&latitude   
;eqt!1       ="longitude"  
;eqt&longitude=tm&longitude


res=True
res@mpMinLatF             =  17          ; Asia limits
res@mpMaxLatF             =  55
res@mpMinLonF             =  72
res@mpMaxLonF             = 136


res@mpLimitMode       = "Corners"
res@mpLeftCornerLatF  = 15
res@mpRightCornerLatF = 50
res@mpLeftCornerLonF  = 90
res@mpRightCornerLonF = 130

;res@mpLambertParallel1F = 10   
;res@mpLambertParallel2F = 6   
;res@mpLambertMeridianF  =104.06
res@mpDataBaseVersion   ="MediumRes"
res@mpDataSetName       ="Earth..4"
res@mpOutlineOn         =True
res@mpFillOn            =False
res@mpOutlineSpecifiers =(/"China:states","Taiwan"/)

res@pmTickMarkDisplayMode="Always"
res@tmXTOn               =False
res@tmYROn               =False
res@gsnLeftString        = ""
res@gsnRightString       = ""

res@cnLineLabelsOn       =True

plot=gsn_csm_contour_map(wks,eqt,res)



运行结果:
warning:ContourPlotInitialize: scalar field is constant; no contour lines will appear; use cnConstFEnableFill to enable fill



密码修改失败请联系微信:mofangbao
发表于 2018-8-25 09:37:28 | 显示全部楼层
一步步检查计算的变量,看看哪一步出问题了
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2018-8-29 15:04:08 | 显示全部楼层
pandasp1213 发表于 2018-8-25 09:37
一步步检查计算的变量,看看哪一步出问题了

因为是初学又是自己自学,关于ncl变量的使用还不是很清楚;冒昧请教是不是需要对变量的维数进行定义,是否是计算过程中变量的维数不匹配。
密码修改失败请联系微信:mofangbao
发表于 2018-8-30 07:08:50 | 显示全部楼层
没有,如果 发表于 2018-8-29 15:04
因为是初学又是自己自学,关于ncl变量的使用还不是很清楚;冒昧请教是不是需要对变量的维数进行定义,是 ...

如果维数不匹配,运行会报错的。输出看一下每一步计算的变量数值有没有问题
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2018-10-11 10:55:22 | 显示全部楼层
pandasp1213 发表于 2018-8-30 07:08
如果维数不匹配,运行会报错的。输出看一下每一步计算的变量数值有没有问题

Variable: es
Type: float
Total Size: 260640 bytes
            65160 values
Number of Dimensions: 2
Dimensions and sizes:   [lat | 181] x [lon | 360]
Coordinates:
            lat: [90..-90]
            lon: [ 0..359]
Number Of Attributes: 1
  _FillValue :  -9.99e+33
查看计算变量显示相关信息只有缺省值,是否是代表变量没有正常进行计算得到相关数值?
密码修改失败请联系微信:mofangbao
发表于 2018-10-12 00:46:20 | 显示全部楼层
可以用printMinMax函数简单看一下,如果是缺省值,那就有问题了
密码修改失败请联系微信:mofangbao
发表于 2018-10-12 15:48:12 | 显示全部楼层
真的很有用的帖子
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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