科研中不免要与大量的数据打交道,NCL 中倒也内置了比较好用的 do
循环等,可以方便地批量处理数据,但 NCL 内置的循环批量画图就比较麻烦一些,毕竟涉及 workspace 的 open 与 close(当然,如果画图到 pdf 文件也无所谓,pdf 多页支持还是很好的)。
结合 shell 脚本与 NCL 的命令行参数接收变量赋值的特性,可以方便地批量画图。
例如,若要批量处理 2000 年到 2010 年十年的逐日资料并把每天的日均气温画出来,那么可以写一个如下的 NCL 脚本 [runwithargs.ncl] 以及相应的 Bash 脚本:
NCL:
其中,sdate 这个变量在 NCL 中并没有赋值,而是要在运行时指定。
上面的 NCL 脚本应配合以下的 shell 脚本 [runnclargs.sh] 运行:
如此,只需通过运行 ./runnclargs.sh
, 10 年的数据就处理完了。:-0