Использование цикла в ncl для сортировки файлов
У меня есть 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
1 ответ
Проблема в ваших звонках в sprinti, вы делаете:
sprinti("0.4n",n)
где это должно быть:
sprinti("%0.4i",n)
Где 'i' обозначает целое число (документация на веб-странице NCL также использует '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