爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 11310|回复: 9

[作图] 求助:用NCL画micaps第四类数据的图出错

[复制链接]

新浪微博达人勋

发表于 2020-6-7 21:58:34 | 显示全部楼层 |阅读模式

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

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

x
请各位大神帮忙看看:
   我用NCL读取micaps第四类数据(二进制文件)的图,图和地图总是不匹配,请教下各位大神是什么原因(有点怀疑是onedtond函数用的不对,但只是怀疑)?超级感谢
以下是我的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/contrib/cd_string.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl"
load"$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl"
load"$NCARG_ROOT/lib/ncarg/nclscripts/cnmap/cnmap.ncl"


begin
aaa="/cygdrive/y/shanghai_warr/rain_1/2020060406.001"
mdata = asciiread(aaa,-1,"float")

   ;delete(mdata)
nlat = 1176
nlon = 1041
lon = fspan(106.61,135.99,nlon);fspan(开始,结束,个数),等间距扩展一列数
lat = fspan(17.38, 43.38,nlat)
lon2d = onedtond(lon,(/nlat,nlon/));将lon从一维扩展到多维(nlat,nlon)
lat2d = onedtond(lat,(/nlat,nlon/));
shk2d = onedtond(mdata(23::1),(/nlat,nlon/));读数据从第四行读到最后,数据先排一列再排一行

shk2d!0="lat"
shk2d!1="lon"
shk2d&lat = lat
shk2d&lon = lon
shk2d&lat@units="degrees_north"
shk2d&lon@units="degrees_east"
;;;
wks  = gsn_open_wks("eps","./te")  
gsn_define_colormap(wks,"temp_diff_18lev")
plot=new(1,graphic);将4个图形存为一个数组

  res = True
  res@gsnDraw                        = False
  res@gsnFrame                       = False
  ;res@gsnDraw = True
  res@gsnMaximize = True
  res@cnFillOn = True
  res@cnLinesOn = False
  res@gsnAddCyclic = False

  res@mpFillOn          = False
  res@mpLimitMode       = "LatLon"  
  res@mpMinLatF          = 28   
  res@mpMaxLatF          = 37  
  res@mpMinLonF          = 112
  res@mpMaxLonF          = 122

;  res@mpGridAndLimbOn      =  True
  res@mpGridLineDashPattern = 5
  res@mpGridSpacingF        = 5
  res@mpDataSetName         = "Earth..4"   
  res@mpDataBaseVersion     = "MediumRes"
  res@mpOutlineSpecifiers   = (/"China:states"/)
  res@mpUSStateLineThicknessF   = 2  
  res@mpUSStateLineColor        = "Black"  
  plot = gsn_csm_contour_map(wks, shk2d,res)
   ;resk = True
;gsn_panel(wks,plot,(/1,1/),resk)
printVarSummary(shk2d)
draw(plot)
frame(wks)
    end

图.png

2020060406.001

5.84 MB, 下载次数: 28, 下载积分: 金钱 -5

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

新浪微博达人勋

 成长值: 0
发表于 2020-6-8 17:18:49 | 显示全部楼层

回帖奖励 +5 金钱

你print一下shk2d这些变量
看看有没有问题
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-6-22 21:50:05 | 显示全部楼层

回帖奖励 +5 金钱

{:5_275:}
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2020-6-24 11:18:22 | 显示全部楼层

回帖奖励 +5 金钱

可以先把shk2d数据输出成nc数据,用panoply(没有的话安装一个,看nc数据很方便)打开看一下,有可能是经纬度的方向反了。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-7-7 16:25:36 | 显示全部楼层
小魔孤 发表于 2020-6-24 11:18
可以先把shk2d数据输出成nc数据,用panoply(没有的话安装一个,看nc数据很方便)打开看一下,有可能是经纬 ...

谢谢,已经解决了,是经纬度格点的个数写反了,百度上的第四类数据格式说明有一点问题,大家以后用的时候可以注意一下
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-7-14 14:28:08 | 显示全部楼层
{:5_275:}
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2020-11-14 21:35:52 | 显示全部楼层

回帖奖励 +5 金钱

学习一下!
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-12-15 11:04:25 | 显示全部楼层
已经解决,是经纬度写反了,谢谢大家
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-4-15 21:58:49 | 显示全部楼层
拿来用了。
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2022-5-19 11:50:09 来自手机 | 显示全部楼层
楼主,修改哪里啊?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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