2015-09-11 3 views
1

Я работаю с данными из: Environment CanadaDownload.file() несравнимы с ручным Скачать

Я использую 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 для обеспечения последовательности и простоты использования.

+1

Использовать 'mode =" wb "'? –

+0

@MartinMorgan, сделал трюк, большое спасибо, должен был проверить это первым! Я, когда все методы, но не режимы! Приветствия. – Badger

ответ

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")