爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 18372|回复: 12

rning:_NclOpenFile: Can not open file;file format not supported or file is co...

[复制链接]
发表于 2018-8-11 18:38:16 | 显示全部楼层 |阅读模式

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

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

x
各位大侠,想要问问看。我的电脑是macOS High Sierra (Version10.13.3)版本。
在我适应addfile (infile = addfiles(fns, "r"))这个功能的时候,系统显示 warning:_NclOpenFile: Can not open file <A20172132017243.L3m_MO_CHL_chlor_a_4km.nc>; file format not supported or file is corrupted。
可是我这个file 是。nc格式喔。
是我的ncl软体下载错误还是什么问题呢?
我的资料是从NASA的oceancolour webpage 下载的。
方法如下:
wget -q --post-data="sensor=aqua&sdate=2015-11-01&edate=2017-11-01&dtype=L3m&addurl=1&results_as_file=1&search=*DAY_CHL*4km*" -O - https://oceandata.sci.gsfc.nasa.gov/api/file_search | wget -i - -P /home/atmosfera2/data/chlor_a

密码修改失败请联系微信:mofangbao
发表于 2018-12-28 11:16:02 | 显示全部楼层
问题解决了,今天仔细阅读了addfiles的说明有一段说明:Users who aggregate many NetCDF files together in a single call to the addfiles function should be aware that there are limits on the number of files that can be simultaneously open. Many is, of course, a relative term. OPeNDAP-enabled NCL is restricted by the OPeNDAP NetCDF client library to 64 open files when accessing files either locally or over the network. Otherwise, typical Unix/Linux systems usually allow 1024 open files, although this value can vary for older or less-common sytems, and it can also be tweaked when building the OS kernel. Note that the actual number of open files possible may be somewhat less than the limit because of file descriptors used internally. However, NCL can optionally close files after each access, in effect removing this limitation. This is accomplished by invoking the setfileoption procedure to set the option SuppressClose to False. This is only an issue for NetCDF, because, in general, for other file formats supported by NCL, files are closed after each access.
翻译:在一次对addfiles函数的调用中将许多NetCDF文件聚合在一起的用户应该知道,可以同时打开的文件数量是有限制的。当然,很多都是相对的。启用OPeNDAP的NCL被OPeNDAP NetCDF客户端库限制为在本地或通过网络访问文件时打开64个文件。否则,典型的Unix/Linux系统通常允许1024个打开的文件,尽管这个值对于较老的或不太常见的系统可能有所不同,而且在构建操作系统内核时也可以进行调整。注意,由于内部使用的文件描述符,实际可能打开的文件数量可能比限制少一些。但是,NCL可以在每次访问之后选择性地关闭文件,这实际上消除了这个限制。这是通过调用setfileoption过程来实现的,该过程将选项SuppressClose设置为False。这只是NetCDF的一个问题,因为通常对于NCL支持的其他文件格式,文件在每次访问之后都会被关闭。
意思说ncl不能一次性打开太多文件(一般Linux是1024个文件),所以在addfiles读取文件前一行加一个设置setfileoption("nc","SuppressClose",False)让他每次打开文件写入变量后就关闭文件就能读取超过1024的限制

评分

参与人数 1金钱 +2 收起 理由
2223xia + 2 很给力!

查看全部评分

密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

发表于 2018-9-6 13:19:51 | 显示全部楼层

我也是遇到了 _NclOpenFile 的报错,有没有师兄解一下惑呀
密码修改失败请联系微信:mofangbao
发表于 2018-11-24 08:43:45 | 显示全部楼层
想问一下楼主fns文件个数是多少?我的文件个数是4000多个,在用addfiles读的时候会有跟你一样的问题,但是的单个读文件是没有问题的,所以再想是不是文件个数太多了。
密码修改失败请联系微信:mofangbao
发表于 2018-12-27 21:44:41 | 显示全部楼层
我也是,读取多个文件出错了,我觉得可能是那个指令写错了或者权限不够
密码修改失败请联系微信:mofangbao
发表于 2019-7-28 22:43:16 | 显示全部楼层
为什么我的还是不行

密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

发表于 2019-11-7 11:25:29 | 显示全部楼层
我的也还是不行唉
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

发表于 2019-11-19 10:07:33 | 显示全部楼层
感谢setfileoption("nc","SuppressClose",False)答主,可了
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

发表于 2019-12-31 16:40:50 | 显示全部楼层
我也出现了一样的问题,oncean color L2.nc 文件无法读取 setfileoption("nc","SuppressClose",False) 试了并没有成功,请问该怎么读取遥感产品的nc文件呢?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

发表于 2020-3-1 13:45:47 | 显示全部楼层
感谢答主的解决
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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