2014-05-15 57 views
0

我想从R中的eumetsat打开MUlti传感器降水数据。我只能使用GZIP压缩方法获得这些数据,数据格式类型是GRIB。当我下载数据时,我得到tar文件。 如何在R中打开这些数据? 我试图用代码如何读取R中的gzip压缩grib文件?

> untar("1098496-1of1") 

但得到错误信息

Error in gzfile(path.expand(tarfile), "rb") : cannot open the connection 
In addition: Warning message: 
In gzfile(path.expand(tarfile), "rb") : 
    cannot open compressed file '1098496-1of1', probable reason 'No such file or directory' 

,但我当我使用下面的代码:

> dir.create("rainfalldataeumetstatR") 
> getwd() 
[1] "C:/Users/st/Documents" 
> untar("1098496-1of1.tar") 
> untar("1098496-1of1.tar", files="rainfalldataeumetstatR") 
> list.files("rainfalldataeumetstatR") 

我不明白一些文件在我的目录中,并得到答案:

character(0) 

可能是因为tar zip中的文件是gz压缩文件而出现该错误?

+0

用'getwd()'验证你的目录是否正确。 – josliber

+0

我已经做到了,我得到了 [1]“C:/ Users/st/Documents”,我的文件位于同一个目录中...我的g =文件的全名是1098496-1of1,文件是WinRAR档案(.tar)。可能问题是文件名? – user3642191

+0

哦,是的,那么你需要通过''1098496-1of1.tar''到函数 – josliber

回答

0

就我个人而言,我使用cygwin解压我的文件也是因为cygwin中的wgrib包将允许您获取库存文件,因此您可以告诉R每层中包含哪些数据。在这个假设下,数据是可以直接读取的。 Grib2需要wgrib2在你的机器上,RNomads正在努力应对这一挑战。

好吧我最近发现了一个很棒的网站,展示了如何安装wgrib,以便它可以与rNOMADS一起运行在R中。

https://bovineaerospace.wordpress.com/2015/04/26/how-to-install-rnomads-with-grib-file-support-on-windows/#comments

0

我也一直在设法解决在R.打开GRIB文件你有几个问题,并且可以解决这些问题一个接一个。

对于untar和gzip问题,请从命令行开始工作。我不知道如何从Eumetsat构建/打包tar包;它是否会创建一个目录并将所有数据文件放在该目录中?在这种情况下,把压缩包中的顶级数据的目录,然后

焦油xvf命令tar_file_name CD(到刚刚创建的目录) gunzip解*。广州 记下的全路径名您将要打开的文件供以后使用。

GRIB1或GRIB2中的文件?如果在GRIB1中,则需要安装wgrib。如果在GRIB2中,则需要安装wgrib2。两者均可从NCEP获得。

您可以下载它们: http://www.cpc.ncep.noaa.gov/products/wesley/

在R,3.1和更高版本,安装包rNOMADS 2.0.1及更高版本。 NOAA国家作战模型档案和分发系统(NOMADS)以GRIB格式(目前在GRIB2中)分发全球网格数据。

rNOMADS致电wgrib或wgrib2解码二进制GRIB数据和管它(CSV格式)的R在阅读可以帮助你在R开启GRIB1和GRIB2数据。

打开R,加载rNOMADS ,然后在“data_file_name”中使用数据文件的完整路径名称调用ReadGrib例程。这不是rNOMADS文档中描述的方式,但它起作用。

安装wgrib和wgrib2是唯一的难题,根据您的系统,它可能不是那么难。我正在编写关于如何安装wgrib,wgrib2和使用rNOMADS和本地数据文件的教程。当我完成后,他们将被张贴在这里:

http://rda.ucar.edu/datasets/ds083.2/#!software

现在对于一些坏消息: 你需要打开每个文件顺序。但是,您可以提取并保存所需的子字段,然后读入下一个数据文件,覆盖您读取前一个文件的大型数据结构。如果PITA过多,您是否考虑使用GRADS工具来显示GRIB数据?

0

没有原生的方式来将grib文件读入R.根据您的文件是grib格式还是grib2格式,使用wgrib或wgrib2。我是rNOMADS的软件包管理员 - 相信我,我们试图找出一个简单的R方法,并最终放弃它。也许NCEP的人们有一天会这样做,但它超出了我们的技能范围。