Lesen und Schreiben von NetCDF mit Python

Hinweise zur Arbeit mit NetCDF

ChangeLog --2018 / 07/04 Es wurde hinzugefügt, wie fehlende Werte angegeben werden --2015 / 09/04 Reflexion des Kommentarinhalts, Hinzufügung der Schreibmethode

Lesen

NetCDF kann vom netCDF4-Modul gelesen werden. Herunterladen und installieren von Github-Seite oder Es wird standardmäßig mit Anaconda für Mac und Python (x, y) für Windows geliefert.

import netCDF4

nc = netCDF4.Dataset('filename.nc', 'r')
dim = len(nc.dimensions['dimname'])
var = nc.variables['varname'][:]

nc.close()

Schreiben

import netCDF4
from numpy import dtype

#Erstellen Sie ein Objekt und legen Sie die Anzahl der Dimensionen fest.

nc = netCDF4.Dataset('filename.nc', 'w', format='NETCDF3_CLASSIC')
nc.createDimension('ntime', len(time_out))  # e.g. time_out = [0, 1, ...]
# nc.createDimensions('ntime', None)        #Bei Einstellung auf unbegrenzt
nc.createDimension('xi', x)                 # e.g. x = 10
nc.createDimension('eta', y)                # e.g. y = 10

#Definieren Sie danach jede Variable.
#Das folgende Beispiel definiert Zeit-, Breiten-, Längen- und dreidimensionale Variablen.

time = nc.createVariable('time', dtype('int32').char, ('ntime',))
time.long_name = 'time of test variable'
time.units = 'days since 1968-05-23 00:00:00'

lon = nc.createVariable('lon', dtype('double').char, ('eta', 'xi'))
lon.long_name = 'east longitude'
lon.units = 'degree of east longitude'

lat = nc.createVariable('lat', dtype('double').char, ('eta', 'xi'))
lat.long_name = 'north latitude'
lat.units = 'degree of north latitude'

var = nc.createVariable('varname', dtype('double').char, ('ntime', 'eta', 'xi'))
var.long_name = 'test variable'
var.units = 'unit of test variable'

#Zum Schluss np im Voraus.Ersetzen Sie den von ndarray usw. geschaffenen Wert.

time[:] = time_out
lon[:,:] = lon_out
lat[:,:] = lat_out
var[:,:,:] = var_out

nc.close()

So geben Sie fehlende Werte an

Wenn Sie einen bestimmten Wert als fehlenden Wert behandeln möchten, können Sie beim Erstellen der Variablen "fill_value" festlegen.

# -Wenn 999 ein fehlender Wert ist

var = nc.createVariable('varname', dtype('double').char, ('ntime', 'eta', 'xi'), fill_value=-999)

(Hinzugefügt am 04.07.2018, Danke @yutabvb)

Recommended Posts

Lesen und Schreiben von NetCDF mit Python
Lesen und Schreiben von CSV mit Python
Lesen und Schreiben von JSON-Dateien mit Python
Lesen und Schreiben passt Dateien mit Python (Memo)
Beispiel für das Lesen und Schreiben von CSV mit Python
Lesen und Schreiben von Python CSV-Dateien
Lesen und Schreiben von Text in Python
Studie aus Python Lesen und Schreiben von Hour9-Dateien
Lesen und Schreiben von CSV- und JSON-Dateien mit Python
Programmieren mit Python und Tkinter
Python und Hardware-Verwenden von RS232C mit Python-
Zeichnen Sie eine netCDF-Datei mit Python
Lesen und Schreiben von CSV-Dateien
TXT-Dateien mit Python lesen
Python mit Pyenv und Venv
Funktioniert mit Python und R.
Laden / Anzeigen und Beschleunigen von GIF mit Python [OpenCV]
Zeichencode zum Lesen und Schreiben von CSV-Dateien mit Python ~ Windows-Umgebung ver ~
Kommunizieren Sie mit FX-5204PS mit Python und PyUSB
Leuchtendes Leben mit Python und OpenCV
Roboter läuft mit Arduino und Python
Installieren Sie Python 2.7.9 und Python 3.4.x mit pip.
Neuronales Netzwerk mit OpenCV 3 und Python 3
Scraping mit Node, Ruby und Python
Scraping mit Python, Selen und Chromedriver
Kratzen mit Python und schöner Suppe
JSON-Codierung und -Decodierung mit Python
Hadoop-Einführung und MapReduce mit Python
[GUI in Python] PyQt5-Drag & Drop-
Lesen von mehrzeiligen Größenangaben mit Python
Ich habe mit PyQt5 und Python3 gespielt
Mehrfachintegration mit Python und Sympy
Koexistenz von Python2 und 3 mit CircleCI (1.0)
Sugoroku-Spiel und Zusatzspiel mit Python
FM-Modulation und Demodulation mit Python
Hinweise zum Lesen und Schreiben von float32 TIFF-Bildern mit Python
entwurzeln: Python / Numpy-basierte Bibliothek zum Lesen und Schreiben von ROOT-Dateien
Kommunizieren Sie mit gRPC zwischen Elixir und Python
Datenpipeline-Aufbau mit Python und Luigi
Berechnen Sie das Standardgewicht und zeigen Sie es mit Python an
Überwachen Sie Mojo-Ausfälle mit Python und Skype
FM-Modulation und Demodulation mit Python Part 3
Python-Installation und Paketverwaltung mit pip
Verwenden von Python und MeCab mit Azure Databricks
POST verschieden mit Python und empfange mit Flask
Bilder mit Pupil, Python und OpenCV aufnehmen
Fraktal zum Erstellen und Spielen mit Python
Ein Memo mit Python2.7 und Python3 in CentOS
Verwenden Sie PIL oder Pillow mit Cygwin Python
Erstellen und entschlüsseln Sie Caesar-Code mit Python
CentOS 6.4, Python 2.7.3, Apache, mod_wsgi, Django
Umgang mit "Jahren und Monaten" in Python
(Python) Hinweise zum Lesen von HTML und zur Verwendung regulärer Ausdrücke
[Easy Python] Lesen von Excel-Dateien mit openpyxl
Ich habe Numba mit Python3.5 installiert und verwendet
Tweet-Analyse mit Python, Mecab und CaboCha
Verknüpfung von Python und JavaScript mit dem Jupiter-Notizbuch
Verkehrsüberwachung mit Kibana, ElasticSearch und Python
FM-Modulation und Demodulation mit Python Part 2