爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 8817|回复: 10

nc数据合并

[复制链接]

新浪微博达人勋

发表于 2020-7-23 20:42:17 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 zhaoyan 于 2020-7-23 20:47 编辑

求助各位大神,我现在是用ncl对一些nc数据进行合并,只是时间维度不同,我用了下面的代码,一直出现报错,请问是哪里出了问题呀??


begin
    diri  = "D:/CMIP6/数据/1/"
    files = systemfunc("ls " +diri+ "*.nc")  
    f     = addfiles(files, "r")
    ListSetType(f, "cat")  
    hh = f[:]->tas                    
    ;print(files)
    printVarSummary(hh)
;================================================================数据筛选
;================================================================数据输出
fout = addfile("D:\CMIP6\数据\pr\tas_Amon_SAM0-UNICON_historical_r1i1p1f1_gn_195001-201412.nc", "c") ; create 文件用以输出
;fout@title = "h1"      ; 给文件加上一个全域属性
fout->tas=hh       ; 将 hh 存储到 fout 里 ,变量名命名为 h

end



密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2020-7-24 12:42:01 | 显示全部楼层
谢谢大家的解答啦,还是ncl小白这个比较常识的问题还不清楚,后来我在大型机上用cdo合并nc文件。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 成长值: 0
发表于 2020-7-24 10:51:59 | 显示全部楼层
是这样的,ncl不支持Windows下的换行符,你可以用dos2unix将它转换成Linux可以识别的格式。
Windows下的换行符是\r\n 而Cygwin识别的换行符是\n因此就出错了。
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-7-23 20:44:22 | 显示全部楼层
然后报错是这样:
$ /cygdrive/c/Users/Zjm/Desktop/CMIP6模式评估说明/merge_and_output.ncl
/cygdrive/c/Users/Zjm/Desktop/CMIP6模式评估说明/merge_and_output.ncl:行1: $'begin\r': 未找到命令
/cygdrive/c/Users/Zjm/Desktop/CMIP6模式评估说明/merge_and_output.ncl:行2: diri: 未找到命令
/cygdrive/c/Users/Zjm/Desktop/CMIP6模式评估说明/merge_and_output.ncl:行3: 未预期的符号 `(' 附近有语法错误
/cygdrive/c/Users/Zjm/Desktop/CMIP6模式评估说明/merge_and_output.ncl:行3: `    files = systemfunc("ls " +diri+           '"*.nc")  
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-7-23 21:07:23 | 显示全部楼层
为什么不用下神奇的CDO呢
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-7-23 22:07:57 | 显示全部楼层
ncl不支持中文,你看错的全是路径有关。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-7-24 08:20:49 | 显示全部楼层
cod mergetime *.nc out.nc
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-7-24 08:22:53 | 显示全部楼层
上面发错了 用法是cdo mergetime *.nc out.nc
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-7-24 12:37:23 | 显示全部楼层
kermit 发表于 2020-7-24 10:51
是这样的,ncl不支持Windows下的换行符,你可以用dos2unix将它转换成Linux可以识别的格式。
Windows下的换 ...

明白了非常感谢!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-7-27 08:30:23 | 显示全部楼层
请问cdo的命令是什么谢谢
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表