爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 10510|回复: 1

[经验总结] ncl 地图绘制问题

[复制链接]
发表于 2017-4-21 17:21:26 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 chongzika 于 2017-4-21 23:26 编辑

wrfout的数据由于太大,我通过NCL将一些变量做了些计算并输出(当然也可以设置namelist来增加辅助文件)最开始并没有保留坐标信息
d_01h_wspd       = sqrt(d_01h_u10^2+d_01h_v10^2)
d_01h_wspd1      = sqrt(d_01h_u101^2+d_01h_v101^2)
d_01h_wspd_diff   = d_01h_wspd-d_01h_wspd1


fout = addfile("diff.nc", "c") ; 新的netCDF文件
  fout->lat = lat2d
  fout->lon = lon2d
  fout->24h_wspd_diff = d_24h_wspd_diff

只设置了等值线信息,没有设置地图信息

base.png
base_var = gsn_csm_contour(wks,d_01h_wspd_diff(id,:,:),opts)boundstr = gsn_add_bou(wks,base_var,"CH")

                               
登录/注册后可看大图

后面保留了坐标信息

d_01h_wspd       = sqrt(d_01h_u10^2+d_01h_v10^2)
d_01h_wspd1      = sqrt(d_01h_u101^2+d_01h_v101^2)
d_01h_wspd_diff   = d_01h_wspd-d_01h_wspd1
d_01h_wspd_diff@lat2d = (/wrf_user_getvar(input,"XLAT",-1)/)
d_01h_wspd_diff@lon2d = (/wrf_user_getvar(input,"XLONG",-1)/)  
fout = addfile("diff.nc", "c") ; 新的netCDF文件
  fout->XLAT = lat2d ;和wrfout命名一样
  fout->XLONG = lon2d
  fout->24h_wspd_diff = d_24h_wspd_diff

base_var = gsn_csm_contour(wks,d_01h_wspd_diff(id,:,:),opts)boundstr = gsn_add_bou(wks,base_var,"CH")
plot.png


                               
登录/注册后可看大图

保存了坐标信息 利用wrf_map_overlays画图
fname = systemfunc("ls diff.nc")
input = addfile(fname,"r")



base_var = gsn_csm_contour(wks,d_01h_wspd_diff(id,:,:),opts) plot_var = wrf_map_overlays(input,wks,base_var,pltres,mpres) boundstr = gsn_add_bou(wks,plot_var,"CH")
图基本上没有变化


                               
登录/注册后可看大图



利用wrf_map_overlays画图需额外读取wrfout数据,我这里理解的话它读取的应该是头文件,所以前面diff.nc的数据里
变量有坐标信息也不起作用。
fname = systemfunc("ls wrf*")wrf_input = addfile(fname,"r")


base_var = gsn_csm_contour(wks,d_01h_wspd_diff(id,:,:),opts) plot_var = wrf_map_overlays(wrf_input,wks,base_var,pltres,mpres) boundstr = gsn_add_bou(wks,plot_var,"CH")
QQ截图20170421163843.png
这样画出来的图基本正常


                               
登录/注册后可看大图


Copyright (C) 1995-2015 - All Rights Reserved
University Corporation for Atmospheric Research
NCAR Command Language Version 6.3.0
The use of this software is governed by a License Agreement.
See http://www.ncl.ucar.edu/ for more details.

Variable: f
Type: file
filename:       wspd_diff
path:   wspd_diff.nc
   file global attributes:
   dimensions:
      Time = 157
      south_north = 240
      west_east = 320
   variables:
      float XLAT ( Time, south_north, west_east )
         FieldType :    104
         MemoryOrder :  XY
         description :  LATITUDE, SOUTH IS NEGATIVE
         units :        degree_north
         stagger :
         coordinates :  XLONG XLAT

      float XLONG ( Time, south_north, west_east )
         FieldType :    104
         MemoryOrder :  XY
         description :  LONGITUDE, WEST IS NEGATIVE
         units :        degree_east
         stagger :
         coordinates :  XLONG XLAT

      float 01hwspd_diff ( Time, south_north, west_east )
上面是后面输出的文件信息
;---Zoom in on plot
   cnres@mpMinLatF     = min(lat2d)
   cnres@mpMaxLatF     = max(lat2d)
   cnres@mpMinLonF     = min(lon2d)
   cnres@mpMaxLonF     = max(lon2d)

单纯利用限制绘图区域报错
warning:mpMinLonF is not a valid resource at this time

                               
登录/注册后可看大图


需要使用 base_var = gsn_csm_contour_map(wks,d_01h_wspd_diff(id,:,:),opts)
会有报错
(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'


但是可以出图,色标太长([size=13.3333px] [size=13.3333px]pmLabelBarWidthF[size=13.3333px], [size=13.3333px]pmLabelBarHeightF[size=13.3333px], [size=13.3333px]lbLabelFontHeightF
QQ截图20170421230933.png


                               
登录/注册后可看大图




                               
登录/注册后可看大图

现在想能不能把nc的头文件保存下来就可以直接利用wrf_map_overlays画图,但是不需要额外读取wrfout




密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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