首先任意建立一个目录存放自定义的程序,例如:
$ mkdir ~/MyNCL然后建立一个环境变量:
export NCL_DEF_SCRIPTS_DIR="~/MyNCL"
例如该功能可以用于:
a.简化load
每次调试代码都要load一大堆代码,可以如果能自动load该有多好!
b.简化输入
在调试ncl代码时,可以使用print和printVarSummary等,但是print给出的信息太多,而printVarSummary有时对文件变量给出的信息又太少,且输入printVarSummary太繁琐。
这时可以创建一个简化的子程序pvs,方便脚本调试。内容如下:
undef("pvs") procedure pvs(x) local i,varnames begin printVarSummary(x) if (isfile(x))then varnames = getfilevarnames(x) if(.not.any(ismissing(varnames))) then do i=0,dimsizes(varnames)-1 printFileVarSummary (x,varnames(i)) end do end if end if end
测试文件变量的信息,也只要简单地输入pvs(f)即可:
ncl 7> f=addfile("Jsst.nc","r") ncl 8> pvs(f) Variable: x (parameter) Type: file File path: Jsst.nc Number of global attributes: 7 Number of dimensions: 1 Number of variables: 3 Variable: time Type: integer Total Size: 2208 bytes 552 values Number of Dimensions: 1 Dimensions and sizes: [time | 552] Coordinates: time: [0..551] Number of Attributes: 3 long_name : Months since January 1950 short_name : Mo units : Month Variable: SST Type: float Total Size: 2208 bytes 552 values Number of Dimensions: 1 Dimensions and sizes: [time | 552] Coordinates: time: [0..551] Number of Attributes: 4 units : C short_name : sst long_name : SST Anomalies for Nino-3 _FillValue : -999 ncl 9>