2010-06-16 9 views
2

J'utilise R pour travailler avec des données météorologiques. Je procède en deux étapes:Utilisation de R pour ouvrir les fichiers grib

  1. converti GRIB à netcdf en utilisant la fonction de ligne de commande ncl_convert2nc de langage de commande d'NCAR
  2. paquet NCDF utilisation dans R pour importer les données de netcdf.

Il me reste un problème:

2- Pour certains fichiers GRIB particulier, la conversion avec l'outil de NCAR ne fonctionne pas. Existe-t-il d'autres moyens ou astuces (autres que la transcription dans netcdf) pour lire des fichiers grib dans R?

Problème Répondu par Dirk: 1- Je voudrais traiter automatiquement plusieurs fichiers dans R. Puis-je appeler ncl_convert2nc dans R? (répondu par Dirk Eddelbuettel ci-dessous)

Répondre

2

En ce qui concerne la question 1, la réponse est 'Oui' - voir help(system) et l'option internal=TRUE si vous voulez capturer des résultats.

1

rgdal peut également le faire, mais est moins flexible et nécessite plus de soin et de détails que ncdf ou RNetCDF - et dépend de votre GDAL/rgdal construit, y compris le pilote GRIB.

1

ncl_convert2nc semble être la meilleure solution. Cependant, si la structure des données est un peu plus compliquée, j'utilise GrADS pour convertir le fichier GRIB en ASCII (par exemple .csv) et ensuite il est possible de créer un fichier NetCDF en utilisant le paquet ncdf4 dédié à R. GrADS. écrire GRIB à NetCDF, mais il y a une limitation à seulement 1 variable.

0

Une autre solution consiste à utiliser le wgrib/logiciel wgrib2 (http://www.cpc.ncep.noaa.gov/products/wesley/wgrib2/) et vider votre GRIB-1/fichier GRIB-2 directement au format CSV, par exemple:

/path/to/your/wgrib2 input_file.grb -csv output_file.csv 

Ensuite, il peut être lu directement dans R ...

0

une autre solution de ligne de commande rapide et facile est d'utiliser cdo pour effectuer la conversion:

cdo -f nc copy file.grb file.nc 

Si vous voulez afficher un fichier netcdf4 vous spécifiez « -f nc4 ».