爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 8138|回复: 8

[作图] 画风场的一些疑问

[复制链接]

新浪微博达人勋

发表于 2013-5-5 13:52:17 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 LeoBao 于 2013-5-5 15:32 编辑

下面是脚本
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/popRemap.ncl"

begin

dir="/*/work2013/"  
f3=addfile(dir+"ua/ua_Amon_CCSM4_historical_r1i1p1_195001-200512.nc","r")
g3=addfile(dir+"va/va_Amon_CCSM4_historical_r1i1p1_195001-200512.nc","r")
ua3=f3->ua(0:671,2,:,:)
va3=g3->va(0:671,2,:,:)

UY=month_to_annual(ua3,0)
VY=month_to_annual(va3,0)

UCLM = dim_avg_n_Wrap(UY,0)
VCLM = dim_avg_n_Wrap(VY,0)

print(UCLM)

wks = gsn_open_wks("X11","avg_uv")
   
res                      = True
res@gsnDraw              = True
res@gsnFrame             = False

res@mpMinLonF            =  40.              
res@mpMaxLonF            =  140.
res@mpMinLatF            =   0.
res@mpMaxLatF            =  60.

res@mpFillOn=False
res@mpDataSetName        ="Earth..4"
res@mpOutlineOn          =True
res@mpDataBaseVersion    ="MediumRes"

res@vcRefMagnitudeF       = 5.0            
res@vcRefLengthF          = 0.045  
res@vcRefAnnoArrowLineColor   = "black"      
res@vcRefAnnoArrowUseVecColor = False         
res@vcMonoLineArrowColor  = False     
res@vcMinDistanceF        = 0.02              
res@vcGlyphStyle          = "CurlyVector"  
res@vcLineArrowColor      = "black"   
res@vcVectorDrawOrder     = "PostDraw"

res@vcRefAnnoOrthogonalPosF   = -0.125
res@vcRefAnnoParallelPosF     = 0.99

res@tiMainString            ="CCSM4"
res@gsnLeftString           =" "
res@gsnRightString          =" "
plot = gsn_csm_vector_map_ce(wks,UCLM(:,:),VCLM(:,:),res)
end

档数据没有缺测值的时候,没有问题,但有缺测就会有问题,输出了UCLM
值很奇怪(191,245)       1.078165e+30
(191,246)       1.400132e+33
(191,247)       1.086806e+28
(191,248)       9.033396e+30
(191,249)       1.321149e+30
(191,250)       1.322325e+30
(191,251)       4.063018e+30
(191,252)       6.458045e+30
(191,253)       2.720662e+30
(191,254)       2.4256e+30
(191,255)       2.751809e+30
(191,256)       2.425555e+30
(191,257)       1.343614e+30
(191,258)       1.403738e+30
(191,259)       2.670473e+30
(191,260)       9.819792e+29
(191,261)       6.71873e+30
(191,262)       1.07657e+30
(191,263)       4.115881e+27
(191,264)       1.317825e+27
(191,265)       1.666996e+30
(191,266)       1.393091e+33
(191,267)       2.067162e+25
(191,268)       7.775655e+30
(191,269)       8.2833e+25
(191,270)       3.217893e+29
(191,271)       2.425581e+30
(191,272)       9.000108e+28
(191,273)       9.807229e+29
(191,274)       1.431103e+30
(191,275)       1.325162e+30
(191,276)       3.37665e+26
(191,277)       9.820407e+29
我觉得应该对缺测只做了处理了,求大神帮帮忙

**************************************************
附上出错信息
fatal:_NhlGetEndpointsAndStepSize: Max value less than or equal to min value
fatal:VectorPlotInitialize: error choosing spacing
fatal:VectorPlotInitialize: error getting vector level information
fatal:VectorPlotInitialize: error initializing dynamic arrays
fatal:Unable to initialize layer-Can't Create
fatal:Unable to access object with id:-4
fatal:_NhlDataUpdate:called for a non-DataComm class
fatal:PID #-4 can't be found in NhlSetValues
warning:overlay: bad HLU id passed in, ignoring
fatal:Execute: Error occurred at or near line 7342 in file $NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl
fatal:Execute: Error occurred at or near line 84 in file avg_uv_test.txt



捕获6.PNG
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-5-5 14:03:59 | 显示全部楼层
本帖最后由 尽头的尽头 于 2013-5-5 14:16 编辑

你把最原始的数据输出看看,如果原始数据没错,那就是计算过程中的问题
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-5-5 14:28:34 | 显示全部楼层

谢谢啊,原始数据的缺测值是1e+20,我实在不知道怎么办,已经搞了2天了,计算用了两种方法,一种是先把月资料处理成气候态,用clmMonTLL这个函数,然后再用month_to_annual,在用clmMonTLL函数之后,数据就变成很多7.38579357e+30之类的数了,还有一种就是上面的这种方法。我觉得如果一个点是缺测,那应该每个时次都是缺测吧,这样处理到最后应该还是1e+20啊。。。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-5-5 20:32:39 | 显示全部楼层
LeoBao 发表于 2013-5-5 14:28
谢谢啊,原始数据的缺测值是1e+20,我实在不知道怎么办,已经搞了2天了,计算用了两种方法,一种是先把月 ...

你查看一下原始数据有没有缺测值的描述,如果没有你赋予缺测值给数据,应该就可以了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-5-5 20:40:57 | 显示全部楼层
尽头的尽头 发表于 2013-5-5 20:32
你查看一下原始数据有没有缺测值的描述,如果没有你赋予缺测值给数据,应该就可以了

谢谢啊,下午又琢磨了一会儿,发现之前数据都是float型,都不是e指数形式,好像是这步之后,
UCLM = dim_avg_n_Wrap(UY,0)
VCLM = dim_avg_n_Wrap(VY,0)
UCLM2 = dim_avg_n_Wrap(UY2,0)
VCLM2 = dim_avg_n_Wrap(VY2,0)
UCLM数据变成了e指数形式,而UCLM2则不是e指数形式,最后实在是不解为什么会有这个错误


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

新浪微博达人勋

发表于 2013-5-5 20:56:14 | 显示全部楼层
LeoBao 发表于 2013-5-5 20:40
谢谢啊,下午又琢磨了一会儿,发现之前数据都是float型,都不是e指数形式,好像是这步之后,
UCLM = dim ...

我觉得你还是去了解下原始数据吧,你对你的数据一点都不了解,过程就很容易错
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-5-5 21:02:18 | 显示全部楼层
尽头的尽头 发表于 2013-5-5 20:56
我觉得你还是去了解下原始数据吧,你对你的数据一点都不了解,过程就很容易错

哥们儿,谢谢啊,我实在不知道源数据该看啥啊,贴上关于源数据的描述
           float ua(time, plev, lat, lon) ;
                ua:standard_name = "eastward_wind" ;
                ua:long_name = "Eastward Wind" ;
                ua:units = "m s-1" ;
                ua:original_name = "U" ;
                ua:comment = "U interpolated to standard plevs" ;
                ua:original_units = "m/s" ;
                ua:history = "2011-11-04T20:51:27Z altered by CMOR: Converted units from \'m/s\' to \'m s-1\'. 2011-11-04T20:51:27Z altered by CMOR: Reordered dimensions, original order: plev lat lon time. 2011-11-04T20:51:27Z altered by CMOR: replaced missing value flag (-1e+32) with standard missing value (1e+20)." ;
                ua:cell_methods = "time: mean (interval: 30 days)" ;
                ua:missing_value = 1.e+20f ;
                ua:_FillValue = 1.e+20f ;
                ua:associated_files = "baseURL: http://cmip-pcmdi.llnl.gov/CMIP5/dataLocation gridspecFile: gridspec_atmos_fx_CCSM4_historical_r0i0p0.nc" ;
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-8-24 11:33:19 | 显示全部楼层
不知 楼主 解决没有 ,我在画 海洋剖面数据的时候也遇到 相似的问题,由于海底地形的不一样,剖面平均的时候出现 20度海温,在1000m 还有值 。不知怎么处理呢吗,最近在折腾,如果有方法,还请赐教  谢谢感激
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-9-13 09:39:10 | 显示全部楼层
风场数据要画好的确不容易,加油吧
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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