- 积分
- 3792
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2021-1-14
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
NCL专辑 | 提高NCL代码的运行效率的各种方法
方法参考的是这一篇的内容,并成功实现
我需要对我所有的数据进行纬向平均,得到的数据应该为三维time,lat,lev,
如果直接用cdo中的zonmean,lon这一维度还存在,所以在网上找到了shell和ncl脚本配合使用输出文件
shell脚本:(在ubuntu下,使用 /. 调用shell脚本,我的脚本是zon.sh)
- export datadirectory='/azong/data/' #文件路径
- declare -i numOFfile=20 #文件总数,整形
- #开始循环
- for ((i=0;i<$numOFfile;i=i+1))
- do
- export fileNO=${i} #循环一次更新声明一次文件编号,由NCL中的getenv函数读取
- ncl zon.ncl #你要循环运行的脚本
- done
复制代码 ncl脚本:(文件名称为zon.ncl)
- begin
- filedirectory = getenv("datadirectory") ;调用文件目录
- fs = systemfunc("ls "+filedirectory+"*") ;列出文件
- i = stringtoint(getenv("fileNO")) ;读文件号,转成整型
- ;读文件内容
- f := addfile(fs(i),"r")
- u = f->uas ;赋值
- uas = dim_avg_n_Wrap(u,2) ;计算平均
- fout=addfile("zon"+fs(i), "c") ;表示给输出数据加前缀zon
- fout->uas=uas
- end
复制代码
|
|