爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 9238|回复: 10

[作图] ncl画grd数据的问题

[复制链接]
发表于 2016-12-23 16:39:25 | 显示全部楼层 |阅读模式

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

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

x
用ncl画一个grd数据数据是96*73*65的ctl是*Dec-Feb frequency of heat wave
dset hwf.grd
undef -999.0
xdef 96 linear -180 3.75
ydef 73 linear -90 2.5
zdef 1 linear 1 1
tdef 65 linear jan1950 1yr
vars 1
ap 0 0 rain
endvars
我画一个气候场写ncl的脚本是
;*******************导入库函数******************************
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/wrf/WRFUserARW.ncl"
;************************************************
begin
path = "hwf.grd"
dims = (/65,96,73/)
f=fbindirread(path,0,dims,"float")
a=new((/65,96,73/),"float")
do i=0,64
do j=0,95
do k=0,72
a(i,j,k)=where(f(i,j,k).eq.-999.0,0,f(i,j,k))
end do
end do
end do   
a!0="time"
a!1="lon"
a!2="lat"
a&time=ispan(0,64,1)
a&lon=fspan(0,356.25,96)
a&lat=fspan(-87.5,90,73)
a&lon@unit="degrees_east"
a&lat@unit="degrees_north"
b=dim_avg_n(a,0)
b!0="lon"
b!1="lat"
b&lon=fspan(0,356.25,96)
b&lat=fspan(-87.5,90,73)
b&lon@unit="degrees_east"
b&lat@unit="degrees_north"


printVarSummary(b)
wks = gsn_open_wks("png","avg")
res=True
;;;;;;;;;;;限定地图区域绘图;;;;;;地图和数据要分别设置,互相独立;;;;;;;;;;;;;
res@gsnAddCyclic        = False
res@mpLimitMode       = "LatLon"
res@mpMinLatF         = 0      
res@mpMaxLatF         = 90
res@mpMinLonF         = 60
res@mpMaxLonF         = 130
;;;;;;;;;;;;;只显示中国区域的图;;;;;;;;;;;;;;;;;;;;;;
res@mpDataBaseVersion="Ncarg4_1"                ;中等分辨率
res@mpDataSetName="Earth..4"                        ;第4版地图,有中国边界数据
res@mpOutlineOn            = True
res@mpOutlineSpecifiers=(/"China:states","Taiwan"/)        ;中国边界有问题,缺藏南、台湾
res@mpOutlineBoundarySets ="NoBoundaries"

;设置等值线
res@cnLevelSelectionMode="ManualLevels"
res@cnSmoothingOn=True
;res@
res@cnMinLevelValF=0
res@cnMaxLevelValF=12
res@cnLevelSpacingF=0.5
plot = gsn_csm_contour_map(wks,b,res)      
end


提示的错误是
   check_for_y_lat_coord: Warning: Data either does not contain a valid latitude coordinate array or doesn't contain one at all.
(0)    A valid latitude coordinate array should have a 'units' attribute equal to one of the following values:
(0)        'degrees_north' 'degrees-north' 'degree_north' 'degrees north' 'degrees_N' 'Degrees_north' 'degree_N' 'degreeN' 'degreesN' 'deg north'
(0)    check_for_lon_coord: Warning: Data either does not contain a valid longitude coordinate array or doesn't contain one at all.
(0)    A valid longitude coordinate array should have a 'units' attribute equal to one of the following values:
(0)        'degrees_east' 'degrees-east' 'degree_east' 'degrees east' 'degrees_E' 'Degrees_east' 'degree_E' 'degreeE' 'degreesE' 'deg east'

第一个循环是去缺省值的,感觉ncl不擅长处理grd数据这样出的图等值线非常的密很难看求大神指导







密码修改失败请联系微信:mofangbao
 楼主| 发表于 2016-12-23 16:40:16 | 显示全部楼层
file:///home/liyuan/ncl/data/%E6%9D%8E%E6%B8%8A/avg.png
密码修改失败请联系微信:mofangbao
发表于 2016-12-24 08:10:37 | 显示全部楼层

回帖奖励 +1 金钱

帮楼主顶一下!
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2017-2-27 19:13:57 | 显示全部楼层
坐标变量设置错了,读取grd数据的语句是对的
密码修改失败请联系微信:mofangbao
发表于 2017-10-14 12:44:00 | 显示全部楼层
liyuan3970 发表于 2017-2-27 19:13
坐标变量设置错了,读取grd数据的语句是对的

求问正确的坐标变量该怎么设置?
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2017-10-15 11:41:28 | 显示全部楼层
这个问题很久了。。。我当时是直接用cdo软件用ctl文件把grd数据转换成nc了,也挺方便的。感觉还是nc用起来方便一些。。cdo转换nc也很方便,你可以查下相关帖子
密码修改失败请联系微信:mofangbao
发表于 2017-12-2 22:50:53 | 显示全部楼层
想请教下,坐标变量是怎么设置呢?
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2017-12-9 14:50:40 | 显示全部楼层
如果你有grd数据的ctl的话,你直接用cdo 软件把grd数据变成nc就好了,这样nc数据里面就包含了坐标变量


如果没有的话
time=ispan(0,194,1)
b!0="time"
b&time=time
b&time@lon_name="year"
b&time@units="year"
以上是时间层手动设置坐标变量的例子,经纬度类似,记住数组要自己定义,就是那个time,经纬度的话,单位和我帖子里面的也应该是一致的
密码修改失败请联系微信:mofangbao
发表于 2018-8-8 18:07:01 | 显示全部楼层
求问读出来的降水资料里面:
crain      1 00  CH01   combined analysis (mm/Hour)
gsamp      1 00  CH02   gauge numbers
求问这两个CH01和CH02有什么区别呢?
密码修改失败请联系微信:mofangbao
发表于 2019-7-10 10:01:06 | 显示全部楼层
楼主 请问你解决了吗
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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