2014-02-28 69 views
0

我有50個文件需要一個接一個地運行腳本,並且每次都用一個唯一的名稱保存生成的圖形。我的腳本來創建圖形是好的,但循環50個文件不是。我遺漏了我正在使用的許多資源。我的腳本是:在ncl中使用循環對文件進行排序

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 
     [email protected]="Average Annual Temperature" + sprinti("0.4n",n) 
      plot=gsn_csm_contour_map(xwks,data,resources) 
     end 
    end do 

回答

0

的問題是在您的通話sprinti,你正在做的:

sprinti("0.4n",n) 

它應該是:

sprinti("%0.4i",n) 

當 '我' 代表對於整數(文檔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 
    [email protected]="Average Annual Temperature" + sprinti("%0.4i",n) 
     plot=gsn_csm_contour_map(xwks,data,resources) 
    end 
end do 
相關問題