2013-03-15 14 views
5

GRIB2 Ich weiß, dass es Software wie wgrib2 ist die grib und grib2-Format-Dateien zu NetCDF konvertieren, aber ich brauche den anderen Weg zu gehen, NetCDF-grib2, weil die lokalen hier Wetterbüros nur Daten gerastert verbrauchen in grib2 Format.NetCDF Konvertieren

Es scheint, dass eine Lösung in Python sein könnte, mit den NetCDF4-Python library (oder andere) die NetCDF-Dateien zu lesen und mit pygribgrib2 zu schreiben.

Gibt es einen besseren Weg?

Antwort

5

Nach etwas mehr Forschung, endete ich mit der britischen Met Office "Iris" -Paket (http://scitools.org.uk/iris/docs/latest/index.html), die NetCDF sowie OPeNDAP, GRIB und mehrere andere Formate lesen kann und ermöglicht es, als NetCDF oder GRIB zu speichern.

Grundsätzlich ist der Code wie folgt aussieht:

import iris 

cubes = iris.load('input.nc')  # each variable in the netcdf file is a cube 
iris.save(cubes[0],'output.grib2') # save a specific variable to grib 

Aber wenn Ihr netcdf Datei nicht genügend Metadaten enthält, können Sie es hinzufügen müssen, die Sie auch mit Iris tun können. Hier ist ein voll funktionierendes Beispiel:

https://github.com/rsignell-usgs/ipython-notebooks/blob/master/files/Iris_CFSR_wave_wind.ipynb

3

Man kann auch Klimadaten Operatoren (CDO) für die Aufgabe verwenden - https://code.zmaw.de/projects/cdo/wiki

aber benötigt die Software mit allen zusätzlichen Bibliotheken zu installieren.

+0

Wow, das sieht ziemlich umfangreich aus. Hast du es jemals benutzt, um NetCDF4 in GRIB2 zu konvertieren? –

+0

Dies ist in der Tat der beste Weg, es zu tun. Beim Umgang mit netCDF-Dateien werden CDO und/oder NCO früher oder später sehr nützlich sein. Sie sind schnell und zuverlässig, sie halten Metadaten, sie sind kostenlos und extrem vielseitig. Sobald Sie CDO und NCO gut gelernt haben, können Manipulationen an Grid-Dateien durchgeführt werden. Die beiden sind bei weitem die vollständigsten Lösungen für die Arbeit mit Grid-Dateien, ohne dass Code benötigt wird (R, Python sind vielseitiger, aber in der Regel langsamer). – AF7

+0

Als Antwort auf Rich ist die GRIB2-Ausgabe möglich, indem das Flag -f grb2 verwendet wird, siehe unten für den vollständigen Befehl –

0

ECMWF hat eine Befehlszeile basiertes Tool zu tun, nur dies: https://software.ecmwf.int/wiki/display/GRIB/grib_to_netcdf

+1

die Frage war netcdf zu grib, nicht grib zu netcdf –

+0

Richtig, aber N1B4 ist richtig, um darauf hinzuweisen, dass EZMWF eine hat übersichtliches Toolset für den Umgang mit grib/netcdf, obwohl ich glaube, dass graib_api gerade wieder abgelöst wurde. –

0

Ich weiß CDO oben erwähnt, aber ich dachte, es wäre nützlich, die voll zu geben Befehl

cdo -f grb2 copy in.nc out.grb 
Verwandte Themen