1

我正在处理来自加拿大环境部的数据

download.file()用来获取这些数据。当我使用:

download.file(url="http://dd.weather.gc.ca/model_gem_global/25km/grib2/lat_lon/00/000/CMC_glb_VGRD_ISBL_1000_latlon.24x.24_2015091100_P000.grib2",destfile = "Local_Grib.grib2")
GribInfo(grib.file = "Local_File.grib2",file.type = "grib2")

它产生:

$inventory
[1] ""                                                                "*** FATAL ERROR: rd_grib2_msg, missing end section ('7777') ***"
[3] ""                                                               
attr(,"status")
[1] 8

$grid
[1] ""                                                                "*** FATAL ERROR: rd_grib2_msg, missing end section ('7777') ***"
[3] ""                                                               
attr(,"status")
[1] 8

Warning messages:
1: running command 'wgrib2 Local_File.grib2 -inv -' had status 8 
2: running command 'wgrib2 Local_File.grib2 -grid' had status 8 

虽然手动下载,然后是:

GribInfo(grib.file = "CMC_glb_TMP_ISBL_985_latlon.24x.24_2015091100_P000.grib2",file.type = "grib2")

产量:

$inventory
[1] "1:0:d=2015091100:TMP:985 mb:anl:"

$grid
[1] "1:0:grid_template=0:winds(N/S):"                                        "\tlat-lon grid:(1500 x 751) units 1e-06 input WE:SN output WE:SN res 48"
[3] "\tlat -90.000000 to 90.000000 by 0.240000"                               "\tlon 180.000000 to 179.760000 by 0.240000 #points=1126500"    

我曾尝试在其中使用 Curl 和 Wget 方法,download.file()但是它们未能给出非退出错误。我可以使用 wget 批处理文件获取这些文件,但是,为了一致性和易用性,我希望我的整个系统在 R 中运行。

4

1 回答 1

0

根据@Martin Morgan。作为二进制文件下载将绕过这个问题。再次感谢马丁。

download.file(url="http://dd.weather.gc.ca/model_gem_global/25km/grib2/lat_lon/00/000/CMC_glb_VGRD_ISBL_1000_latlon.24x.24_2015091100_P000.grib2",destfile = "Local_Grib.grib2", mode="wb")
GribInfo(grib.file = "Local_File.grib2",file.type = "grib2")
于 2015-10-09T22:15:24.620 回答