请选择 进入手机版 | 继续访问电脑版
爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 8850|回复: 7

[作图] ncl画图 error opening output file

[复制链接]

新浪微博达人勋

发表于 2018-7-23 10:01:05 | 显示全部楼层 |阅读模式

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

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

x
大家好,我想画风速的等值线填充图
输入输出路径都检查过,是正确的,但是运行不出,错误提醒是
GKS ERROR NUMBER -502 ISSUED FROM SUBROUTINE GCLRWK:
-- cairo driver error: error opening output file


请问是为什么呢?谢谢大家,下面是我的脚本


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"

begin
  ;使用cressman插值
  fname="D:\WR\awsnew\data\MonAve\ff2monthly\monthlyff2_1.txt"
  data=asciiread(fname, -1, "string")
  ;data=asciiread(fname, (/208,4/), "float")
  sta_id=str_get_field(data,1," ")
  lon   =tofloat(str_get_field(data,2," "))
  lat   =tofloat(str_get_field(data,3," "))
  spd   =tofloat(str_get_field(data,4," "))

  olon=fspan(115.2,117.6,241)   ;1km 0.01
  olat=fspan(39.2,41.2,201)

  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

   spd@_FillValue = 9999.0
;-----------------------------------------插值---------------------
  ; precip@_FillValue = -999
  ;rscan = (/10,5,3/)
  ;rscan=(/5,3,1/)
  rscan=(/2.5,1.25,0.5/)
  final=obj_anal_ic_deprecated(lon,lat,spd,olon,olat,rscan,False)  ;Cressman插值

;---------------------------------------------
wks_type="png"
wks_type@wkWidth=4500
wks_type@wkHeight=4500

wks = gsn_open_wks(wks_type,"D:\WR\awsnew\Ave\ff2ave\ff2ave_1")

res                         = True
res@gsnMaximize             = True
res@gsnAddCyclic            =False              ;--是否要添加周期点使维圈完整, 不是全球数据设为 False
res@gsnMaximize             =True               ;--在工作台中尽可能大绘图(最大化绘图)
res@gsnDraw                 =False              ;--如果设置为 False 则调用 gsn 函数时暂时不会画到工作台上  
res@gsnFrame                =False              ;--如果设置为 False 则调用 gsn 函数时暂时不翻页, ; 常与 gsnDraw 配合用于多图层或一页多图绘图

;---------------------------------------MAP 设置----------------------------------

    res@mpMinLatF              =39.2                   ;改经纬
    res@mpMaxLatF              =41.2
    res@mpMinLonF              =115.2
    res@mpMaxLonF              =117.6
    res@mpFillOn               = True
    res@mpOutlineOn            = False                ;--打开地图轮廓,Use outlines from shapefile
    res@mpDataBaseVersion      ="MediumRes"           ;--地图分辨率
    res@mpDataSetName          ="Earth..4"            ;--选择地图集
    res@mpLandFillColor        = "white"            ;--陆地填充颜色
    res@mpOceanFillColor       = "white"            ;--海洋填充颜色
    ;res@mpInlandWaterFillColor = "white"            ;--内陆水面填充颜色
    ;res@mpOutlineBoundarySets  = "NoBoundaries"
    ;res@mpOutlineSpecifiers="China:states"           ;--选择绘制区域
    res@mpAreaMaskingOn       = True                  ;设置为可以填充覆盖
    res@mpMaskAreaSpecifiers  =(/"China:states","Taiwan"/)   ;--设置填色区域maskout
    ;加粗边界线
    res@mpGeophysicalLineThicknessF= 2.      ; double the thickness of geophysical boundaries
    res@mpNationalLineThicknessF= 2.         ; double the thickness of national boundaries

;-------------------------------------------等值线的设置------------------------------
    res@cnFillOn               = True               ;--设置填色
    res@cnLinesOn              = False              ;--不画等值线
    res@cnLineLabelsOn         = False              ;--不显示等值线数值
    res@cnSmoothingOn          = True               ;--平滑线条
    ;试试气象家园 cnLineDrawOrder
    res@cnLineDrawOrder       ="PreDraw"
    ;res@cnFillDrawOrder       ="PreDraw"             ;--在绘制地图前先绘制填色图
    res@cnLevelSelectionMode ="ExplicitLevels"
    res@cnLevels =(/0.5,1,1.5,2,2.5,3,4,5/)              
    res@cnExplicitLabelBarLabelsOn = True
    ;res@cnFillPalette = ""

;--------------------------------------------其他的设置
    res@vpXF = 0            ;左边距
    res@vpYF = 0
    res@vpHeightF = 1.0
    res@vpWidthF  = 0.8
;-------------------------------------------标题
    ;res@tiMainString = "OBS_accpre(mm)050312(12hr)"             ; 改标题  
    ;res@tiMainFontColor = "black"
    ;res@tiMainFontHeightF = 0.025
    ;res@gsnMajorLatSpacing= 4
    ;res@gsnMajorLonSpacing= 4
    ;res@pmTickMarkDisplayMode  ="Always"              ;--坐标标签上添加度符号
    ;res@pmLabelBarKeepAspect =True
    ;res@pmLabelBarHeightF = 0.07                       ;控制色标厚度,数字越大色标越后
    ;res@pmLabelBarOrthogonalPosF =0.07                 ;控制色标与坐标距离 ,数字越大色标越靠下
    res@lbOrientation          = "Horizontal"       ;--设置色标方向,水平或垂直
    res@lbBoxLinesOn          = True                ;--关闭lbar box 线条 ,数字越大色标越靠下
    res@tmXTOn         = False
    res@tmYROn         = False
    res@tmXBMinorOn    = False
    res@tmYLMinorOn    = False
    res@tmXBLabelsOn   = True                        ;打开tickMark的开关,否则后面设置的一系列都没有用!
    res@tmYLLabelsOn   = True
    res@lbLabelBarOn = True       ;LabelBar显示

    res@lbLabelStrings = (/"0.5m/s","1m/s","1.5m/s","2m/s","2.5m/s","3m/s","4m/s","5m/s"/)
;    res@tmXBLabelDeltaF = -0.5                       ;使其更靠近X轴
;    res@tmYLLabelDeltaF = -0.5
;    res@tmXBMajorLengthF = 0.01                      ;刻度线长短
;   res@tmYLMajorLengthF = 0.01  
;   res@tmXBMajorThicknessF = 1.0
;   res@tmYLMajorThicknessF = 1.0
;   res@tmXBLabelFontHeightF = 0.03                  ;字体大小
;   res@tmYLLabelFontHeightF = 0.025
;   res@tmXBLabelFontThicknessF = 3
;   res@tmYLLabelFontThicknessF = 3
;   res@tmBorderThicknessF     = 0.5
;   res@tmXBLabelFontQuality   ="Low"
map=gsn_csm_contour_map(wks, final, res)

draw(map)

frame(wks)
end

error output.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-7-23 10:38:05 | 显示全部楼层
还有一个问题是 对于风速插值应该使用cressman插值 obj_anal_ic_deprecated函数么?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-8-14 20:05:50 | 显示全部楼层
奇怪,我也出现这个错误了  请问您解决了吗 我是在一台新电脑上重装的ncl  之前一直这么安装没出现这个问题   这次在测试的时候就出现这个错误了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-8-15 09:16:54 | 显示全部楼层
1374203670 发表于 2018-8-14 20:05
奇怪,我也出现这个错误了  请问您解决了吗 我是在一台新电脑上重装的ncl  之前一直这么安装没出现这个问题 ...

没有解决。。我本机上的ncl 只要画这种图就总是这样 后面用同学的大型机里的ncl画的就可以了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-8-20 19:07:35 | 显示全部楼层
Gabriella 发表于 2018-8-15 09:16
没有解决。。我本机上的ncl 只要画这种图就总是这样 后面用同学的大型机里的ncl画的就可以了

我后面发现只要不画图片格式的就行 把格式改成ps,eps就不报错了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-8-20 19:07:38 | 显示全部楼层
Gabriella 发表于 2018-8-15 09:16
没有解决。。我本机上的ncl 只要画这种图就总是这样 后面用同学的大型机里的ncl画的就可以了

我后面发现只要不画图片格式的就行 把格式改成ps,eps就不报错了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-8-21 09:10:59 | 显示全部楼层
1374203670 发表于 2018-8-20 19:07
我后面发现只要不画图片格式的就行 把格式改成ps,eps就不报错了

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

新浪微博达人勋

发表于 2021-4-12 22:04:26 | 显示全部楼层
您好 麻烦问一下您解决了嘛 必须输出矢量格式的图嘛
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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