Seite 1 von 1

netCDF mit python

Verfasst: Freitag 20. Mai 2011, 08:19
von tomateundgurke
Ich will in einer netCDF Datei weitere global attributes einfügen. Die netCDF Datei wird als Ausgabe in ArcGIS erzeugt. Zusätzlich möchte ich noch einige Informationen über den Datensatz unterbringen.

Ich habe scipy, numpy und netcdf-4.1.1 installiert und die entsprechenden Funktionen in python importiert (import scipy.io.netcdf, import numpy, import netCDF4). Mit scipy.io.netcdf.netcdf_file kann ich die Dateien nur lesend oder schreibend öffen (r und w). Ich möchte aber eine Datei mit a öffnen (open existing file for write), da bekomme ich aber die Fehlermeldung: ValueError: Mode must be either 'r' or 'w'. Unter http://gfesuite.noaa.gov/developer/netC ... rface.html habe ich gefunden, dass man die Datei mit NetCDFFile() und a öffnen kann. Diese Funktion habe ich aber nicht gefunden, ich bekomme beim Aufruf: NameError: name 'NetCDFFile' is not defined.

Habt ihr eine Idee, wie ich meine bestehende Datei so öffnen kann, dass ich weiteren Informationen einfügen kann?

Re: netCDF mit python

Verfasst: Freitag 20. Mai 2011, 08:36
von deets
Zeig mal dein Skript. Es scheint der richtige Import zu fehlen, sowas wie

Code: Alles auswählen

from Scientific.IO import NetCDF

Re: netCDF mit python

Verfasst: Freitag 20. Mai 2011, 09:01
von tomateundgurke
Wie schon beschrieben importiere ich import scipy.io.netcdf, das ist doch das gleich wie from scipy.io import netcdf!?

import scipy.io.netcdf
import numpy
import netCDF4

filename = 'test.nc'
file = scipy.io.netcdf.netcdf_file(filename, 'a')

Dies gibt dann:

Traceback (most recent call last):
File "netcdf_test.py", line 7, in <module>
file = scipy.io.netcdf.netcdf_file(filename, 'a')
File "...\lib\site-packages\scipy\io\netcdf.py", line 192, in __init__
raise ValueError("Mode must be either 'r' or 'w'.")
ValueError: Mode must be either 'r' or 'w'.

Re: netCDF mit python

Verfasst: Freitag 20. Mai 2011, 09:07
von deets
Noe, ist nicht das gleiche. Sonst waere es ja gleich, oder?

Ausserdem ging es mir um das NetCDFFile, dass du nicht gefunden hast. Denn das der andere Weg nicht geht war doch eh schon klar.

Re: netCDF mit python

Verfasst: Freitag 20. Mai 2011, 09:20
von tomateundgurke
Ich habe es so verstanden, dass die Funktion NetCDFFile in netCDF4 steckt.

Re: netCDF mit python

Verfasst: Freitag 20. Mai 2011, 09:46
von tomateundgurke
Ich hab's.

Mit from netCDF4 import Dataset und file = Dataset(filename, 'a') kann ich die Datei zum schreiben öffnen und global attributes hinzufügen.

Danke für die Anregungen!