【问题标题】:Using a loop in ncl to sort through files在 ncl 中使用循环对文件进行排序
【发布时间】:2017-01-26 07:55:43
【问题描述】:

我有 50 个文件,我想一个接一个地运行脚本,并且每次都用唯一的名称保存生成的图形。我创建图表的脚本很好,但循环浏览 50 个文件不是。我遗漏了我正在使用的许多资源。我的脚本是:

    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"

    do n=1961,2010
        begin
        fnam="/home/cohara/TempData/yearly_data/average/average_" + sprinti("0.4n",n) + ".nc"
        x=addfile(fnam,"r")
        data=x->var61(0,0,:,:)
        xwks=gsn_open_wks("ps","Average_" + sprinti("0.4n",n)
        resources=True
        resources@tiMainString="Average Annual Temperature" + sprinti("0.4n",n)
            plot=gsn_csm_contour_map(xwks,data,resources)
        end
    end do

【问题讨论】:

    标签: loops maps ncl


    【解决方案1】:

    问题在于你对 sprinti 的调用,你正在做:

    sprinti("0.4n",n) 
    

    它应该在哪里:

    sprinti("%0.4i",n)
    

    “i”代表整数(the NCL webpage 的文档也使用“i”作为变量名,这可能会导致一些混淆......)

    这应该有效:

    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"
    
    do n=1961,2010
        begin
        fnam="/home/cohara/TempData/yearly_data/average/average_" + sprinti("%0.4i",n) + ".nc"
        x=addfile(fnam,"r")
        data=x->var61(0,0,:,:)
        xwks=gsn_open_wks("ps","Average_" + sprinti("%0.4i",n)
        resources=True
        resources@tiMainString="Average Annual Temperature" + sprinti("%0.4i",n)
            plot=gsn_csm_contour_map(xwks,data,resources)
        end
    end do
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-31
      • 2021-12-07
      • 1970-01-01
      • 2017-08-26
      • 2011-09-30
      • 1970-01-01
      • 2021-09-24
      相关资源
      最近更新 更多