爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 9982|回复: 7

[作图] ncl 变量属性

[复制链接]
发表于 2014-9-19 15:07:29 | 显示全部楼层 |阅读模式

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

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

x
程序如下:
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
begin
  wks = gsn_open_wks ("pdf","notrans.wrf_aws_quyu_t2_chazhi")
  gsn_define_colormap(wks, "ncl_default")        
  res                         = True            
  res@gsnMaximize             = True
  res@gsnDraw                 = False
  res@gsnFrame                = False

;>--------------------------------------------<
;            set for the map
;>--------------------------------------------<
  res@mpMinLatF               = 20.                        
  res@mpMaxLatF               = 40.
  res@mpMinLonF               = 70.
  res@mpMaxLonF               = 110.  
  res@mpFillOn                = True
  res@mpOutlineOn             = True  ; Use outlines from shapefile  
  res@mpDataBaseVersion       = "MediumRes"
  res@mpDataSetName           = "Earth..4"
  res@mpOutlineSpecifiers   = (/"China:states","Taiwan"/)       ;China:states
  res@mpLandFillColor         = "white"
  res@mpInlandWaterFillColor  = "white"
  res@mpOceanFillColor        = "white"
  res@mpOutlineBoundarySets   = "NoBoundaries"
;>--------------------------------------------<
; set for the plot
  ;res@cnFillDrawOrder         = "PreDraw"
  res@cnLevelSelectionMode = "ExplicitLevels"
  res@cnFillOn                = True               
  res@cnLinesOn               = False  
  res@cnLineLabelsOn         = False                        
  res@gsnSpreadColors         = True         
  res@lbLabelAutoStride       = True
  res@gsnAddCyclic = False                        ;important
  res@cnSmoothingOn = True
  res@cnLevels              = (/-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7/);T
  res@lbLabelBarOn         = False ; 关闭各个plot的labelbar  
  res@mpAreaMaskingOn         = True
  res@mpMaskAreaSpecifiers    = (/"China","Taiwan"/)
  res@mpFillDrawOrder         ="PostDraw"
  plots = new(6,graphic)
;>============================================================<                        
do i=6,8
  if(i.eq.6)then
    MYJ_name = "wrfout_d01_2013-06-01"
    YSU_name = "../WRF-2013-YSU/wrfout_d01_2013-06-01"
    data  = asciiread("../aws/jieguo6.txt",-1,"float")
    argu = onedtond(data, (/2439,13/))
  end if
  if(i.eq.7)then
    MYJ_name = "wrfout_d01_2013-07-01"
    YSU_name = "../WRF-2013-YSU/wrfout_d01_2013-07-01"
    trmm_name = "../trmm/3B42RT.201307"
    data  = asciiread("../aws/jieguo7.txt",-1,"float")
    argu = onedtond(data, (/2439,13/))
  end if
  if(i.eq.8)then
    MYJ_name = "wrfout_d01_2013-08-01"
    YSU_name = "../WRF-2013-YSU/wrfout_d01_2013-08-01"
    data  = asciiread("../aws/jieguo8.txt",-1,"float")
    argu = onedtond(data, (/2439,13/))
  end if

  ;MYJ ,aws
;>============================================================<
  MYJfiles=systemfunc("ls -1 "+ MYJ_name +"*")
  MYJf=addfiles(MYJfiles,"r")
  ListSetType(MYJf,"cat")
  t2=wrf_user_getvar(MYJf[:],"T2",-1)
  t2_0=wrf_user_getvar(MYJf[:],"T2",0)
  lon2d = wrf_user_getvar(MYJf[:],"XLONG", 0)
  lat2d = wrf_user_getvar(MYJf[:],"XLAT", 0)   
  avg_t2 = dim_avg_n_Wrap(t2, 0)
  avg_t2c=avg_t2-273.15
  copy_VarMeta(avg_t2,avg_t2c)
  aws_t2=argu(:,8)
  lat=argu(:,2)
  lon=argu(:,1)
  olon = fspan(70,110,161)
  olat = fspan(20,40,81)
  data1 = new((/161,81/),"float")
  olon!0          = "lon"
  olon@long_name  = "lon"
  olon@units      = "degrees-east"
  olon&lon        = olon
  olat!0          = "lat"
  olat@long_name  = "lat"
  olat@units      = "degrees_north"
  olat&lat        = olat
  MYJ_grid_t2 = rcm2rgrid_Wrap(lat2d,lon2d,avg_t2c,olat,olon,0)
  aws_t2@_FillValue = 999999.000000
  rscan = (/10,5,3,2,1,0.5,0.25,0.1,0.05,0.01/)  ;连续的有效半径大小
  aws_grid_t2 = obj_anal_ic_Wrap(lon,lat,aws_t2,olon,olat,rscan,False)
  copy_VarMeta(avg_t2,aws_grid_t2)
  printVarSummary(aws_grid_t2)
  printVarSummary(MYJ_grid_t2)
  result_MYJ_t2=MYJ_grid_t2 - aws_grid_t2
  copy_VarMeta(MYJ_grid_t2,result_MYJ_t2)
  printVarSummary(result_MYJ_t2)
  if(i.eq.6)then
     result_MYJ_t2@long_name="MYJ:June"
     result_MYJ_t2@units="centigrade"
  end if
  if(i.eq.7)then
     result_MYJ_t2@long_name="MYJ:July"
     result_MYJ_t2@units="centigrade"
  end if
  if(i.eq.8)then
     result_MYJ_t2@long_name="MYJ:August"
     result_MYJ_t2@units="centigrade"
  end if
  delete(MYJfiles)
  delete(MYJf)
  plots(i-6)=gsn_csm_contour_map(wks,result_MYJ_t2,res)

  ;MYJ ,aws
;>============================================================<
  YSUfiles=systemfunc("ls -1 "+ YSU_name +"*")
  YSUf=addfiles(YSUfiles,"r")
  ListSetType(YSUf,"cat")
  t2=wrf_user_getvar(YSUf[:],"T2",-1)
  avg_t2 = dim_avg_n_Wrap(t2, 0)
  avg_t2c=avg_t2-273.15
  copy_VarMeta(avg_t2,avg_t2c)
  YSU_grid_t2 = rcm2rgrid_Wrap(lat2d,lon2d,avg_t2c,olat,olon,0)
  result_YSU_t2=YSU_grid_t2-aws_grid_t2
  copy_VarMeta(MYJ_grid_t2,result_MYJ_t2)
  if(i.eq.6)then
     result_YSU_t2@long_name="YSU:June"
     result_YSU_t2@units="centigrade"
  end if
  if(i.eq.7)then
     result_YSU_t2@long_name="YSU:July"
     result_YSU_t2@units="centigrade"
  end if
  if(i.eq.8)then
     result_YSU_t2@long_name="YSU:August"
     result_YSU_t2@units="centigrade"
  end if
  delete(YSUfiles)
  delete(YSUf)
  delete(t2)
  plots(i-3)=gsn_csm_contour_map(wks,result_YSU_t2,res)
  delete(result_MYJ_t2)
  delete(result_YSU_t2)
end do
   pres                  = True         ; 设置 panel resources.
   pres@gsnMaximize      = True         ; 在panel中最大化plots.
   pres@gsnPanelLabelBar = True         ; 打开 panel labelbar.
   pres@pmLabelBarWidthF = 0.8         ; 改变 labelbar 宽度.
   gsn_panel(wks,plots,(/2,3/),pres)
end
错误如下:Variable: result_MYJ_t2
Type: float
Total Size: 52164 bytes
            13041 values
Number of Dimensions: 2
Dimensions and sizes:        [lat | 81] x [lon | 161]
Coordinates:
            lat: [20..40]
            lon: [70..110]
Number Of Attributes: 9
  _FillValue :        9.96921e+36
  FieldType :        104
  MemoryOrder :        XY
  description :        TEMP at 2 M
  units :        K
  stagger :       
  coordinates :        XLONG XLAT
  average_op_ncl :        dim_avg_n over dimension(s): Time
  ncl :        rcm2rgrid used for interpolation
(0)        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'

问题:
画图是画这个变量:result_MYJ_t2,明明有属性啊,怎么老是出现没有属性这样Warning啊!请大神支招啊!


密码修改失败请联系微信:mofangbao
发表于 2014-9-19 15:22:28 | 显示全部楼层
是坐标变量缺少units属性
printVarSummary(result_MYJ_t2&lon)
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2014-9-19 15:39:02 | 显示全部楼层
longlivehj 发表于 2014-9-19 15:22
是坐标变量缺少units属性
printVarSummary(result_MYJ_t2&lon)

Variable: lon (coordinate)
Type: float
Total Size: 644 bytes
            161 values
Number of Dimensions: 1
Dimensions and sizes:        [lon | 161]
Coordinates:
Number Of Attributes: 2
  long_name :        lon
  units :        degrees-east
有的啊!
密码修改失败请联系微信:mofangbao
发表于 2014-9-19 15:41:13 | 显示全部楼层
风之牧语 发表于 2014-9-19 15:39
Variable: lon (coordinate)
Type: float
Total Size: 644 bytes

那就不是这个变量出问题。
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2014-9-19 15:49:17 | 显示全部楼层
longlivehj 发表于 2014-9-19 15:41
那就不是这个变量出问题。

真的很不好意思,今天头脑有点昏,下面有个地方写错了,复制粘贴的时候弄错了!真的不好意思!
密码修改失败请联系微信:mofangbao
发表于 2014-12-19 23:07:55 | 显示全部楼层
风之牧语 发表于 2014-9-19 15:49
真的很不好意思,今天头脑有点昏,下面有个地方写错了,复制粘贴的时候弄错了!真的不好意思!

哪儿的问题?
密码修改失败请联系微信:mofangbao
发表于 2015-6-11 11:18:50 | 显示全部楼层
我也出现同样的问题,求大神讲解.
密码修改失败请联系微信:mofangbao
发表于 2018-4-23 22:05:30 | 显示全部楼层
风之牧语 发表于 2014-9-19 15:49
真的很不好意思,今天头脑有点昏,下面有个地方写错了,复制粘贴的时候弄错了!真的不好意思!

那是哪里的问题呀
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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