爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 10000|回复: 17

[作图] 惊了,填色图向经度0纬度0拉扯

[复制链接]

新浪微博达人勋

发表于 2014-7-22 10:31:37 | 显示全部楼层 |阅读模式

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

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

x
附上脚本,请大侠帮忙解答。
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/shea_util.ncl"
begin

  fi = addfile("H2A_SM2B20140714_14021.nc","r")
  ;data =new(dimsizes(fi->wind_speed_selection),float,-9999)
  data = (fi->wind_speed_selection)* 0.01
  lat2d =new(dimsizes(fi->wvc_lat),float,-9999)
  lat2d = fi->wvc_lat
  lon2d =new(dimsizes(fi->wvc_lon),float,-9999)
  lon2d = fi->wvc_lon
  lat2d@long_name = "latitude"
  lon2d@long_name = "longitude"
  lat2d@units ="degrees_north"
  lon2d@units ="degrees_east"
  data@lat2d = lat2d
  data@lon2d = lon2d

    wks = gsn_open_wks("pdf" ,"P_ws_21")
    gsn_define_colormap(wks,"WhBlGrYeRe")
    res                       = True
;  res@gsnAddCyclic         = False    ; data not global
;  res@mpFillOn              = False
        res@mpCenterLonF        =180
        res@mpLimitMode                = "Corners"
        res@mpLeftCornerLatF        = -75
        res@mpLeftCornerLonF        = 5
        res@mpRightCornerLatF        = 75
        res@mpRightCornerLonF        = 355
  res@cnFillOn              = True
;  res@cnFillMode            = "RasterFill"
  res@cnFillMode            = "CellFill"
  res@cnMonoFillScale            = True
  res@cnLinesOn             = False
  res@gsnSpreadColors       = True
  res@lbLabelBarOn          = True
  res@lbLabelAutoStride     = True
  res@lbBoxLinesOn          = False
  plot  = gsn_csm_contour_map(wks,data,res)

  end

form NCL-V6.0

form NCL-V6.0
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-7-22 14:07:29 | 显示全部楼层
图片截完整,标题中说“向经度0纬度0拉扯”,是不是经度0附近也有同样的问题。把lat2d、lon2d的基本信息贴上了,最大最小值什么的。另外,程序里没有必要先new一个变量,然后存入读取数据。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-7-22 16:14:28 | 显示全部楼层
这是因为这个数据没有定义缺省值,缺省的部分都用0代替了。
data@_FillValue=-1e+20
data = where(lon.eq.0.and.lat.eq.0,data@_FillValue,data)
加上这两句应该能正常出图
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-7-22 16:59:19 | 显示全部楼层
两米阳光 发表于 2014-7-22 16:14
这是因为这个数据没有定义缺省值,缺省的部分都用0代替了。
data@_FillValue=-1e+20
data = where(lon.eq ...


很有可能是_FillValue的问题!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-7-22 16:59:38 | 显示全部楼层
float wvc_lat(lat, lon) ;
                wvc_lat:unit = "deg                     " ;
                wvc_lat:scale_factor = 1.f ;
                wvc_lat:scale_factor_err = 0.f ;
                wvc_lat:add_offset = 0.f ;
                wvc_lat:add_offset_err = 0.f ;
                wvc_lat:valid_range = -90.f ;
        float wvc_lon(lat, lon) ;
                wvc_lon:unit = "deg                     " ;
                wvc_lon:scale_factor = 1.f ;
                wvc_lon:scale_factor_err = 0.f ;
                wvc_lon:add_offset = 0.f ;
                wvc_lon:add_offset_err = 0.f ;
                wvc_lon:valid_range = 0.f ;

我把 ;data =new(dimsizes(fi->wind_speed_selection),float,-9999)的注释去掉同样有这样的问题。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-7-22 17:10:35 | 显示全部楼层
※剑桥¤ 发表于 2014-7-22 16:59
float wvc_lat(lat, lon) ;
                wvc_lat:unit = "deg                     " ;
             ...

fi->wind_speed_selection的信息?
看看是不是板凳说的缺测值的问题。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-7-22 17:42:53 | 显示全部楼层
data =new(dimsizes(fi->wind_speed_selection),float,-9999);这句话的意思就是将data定义成wind_speed_selection一样的数组,浮点类型,缺省值是-9999。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-7-22 20:42:04 | 显示全部楼层
※剑桥¤ 发表于 2014-7-22 17:42
data =new(dimsizes(fi->wind_speed_selection),float,-9999);这句话的意思就是将data定义成wind_speed_sel ...

你的这个意思应该只是定义了缺测值为-9999,但是H2A数据貌似本身没有定义缺测值,所以你应该人为的把一些这个数据中的一些位置上的数据定义为-9999.我那句的意思就是把(0,0)位置的值定义为缺省值。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-7-22 22:19:39 | 显示全部楼层
两米阳光 发表于 2014-7-22 20:42
你的这个意思应该只是定义了缺测值为-9999,但是H2A数据貌似本身没有定义缺测值,所以你应该人为的把一些 ...

你好,非常感谢你的回复。我从文件里面也读取经纬度数据,经纬度数据中没有纬度是0和经度是0的点。那我的data也就没有在那个点的数值了。不存在缺省值的问题啊。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-7-22 23:34:00 | 显示全部楼层
你把ncl_filedump或者ncdump的结果贴上来,问题一定可以解决!
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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