Gérez les données au format NetCDF avec Python

environnement

Ubuntu18.04LTS Python3

Environnement

Le module NetCDF4 est requis pour utiliser les fichiers au format NetCDF dans Python3. Ce module était facile à installer avec pip3.

E / S de fichier NetCDF en Python

Voici un programme qui ouvre un fichier NetCDF qui stocke les variables tridimensionnelles T2 de latitude, longitude et heure, et crée un nouveau fichier appelé test_ncout.nc.

#coding: utf-8
# This is a sample program to read and write s netCDF file with Python3
from netCDF4 import Dataset
import numpy as np

#*~*~*~*~*~*~*~*~*~*~*~*~*~*~*
#read netCDF file
#*~*~*~*~*~*~*~*~*~*~*~*~*~*~*

#open a netCDF file to read
ifile = "test.nc"
ncin = Dataset(ifile, 'r')

#check
#print(ncin.file_format)

#get variables
#print(ncin.variables.keys())

#get axis data
tin = ncin.variables['time']
latin = ncin.variables['lat']
lonin = ncin.variables['lon']

#get length of axis data
ntime = len(tin)
nlat = len(latin)
nlon = len(lonin)

#check axis
#print(tim[:])
#print(latin[:])
#print(lonin[:])

#read data
vin = ncin.variables['T2']

#check data
#print(vin[:,:,:,:])

#*~*~*~*~*~*~*~*~*~*~*~*~*~*~*
#write netCDF file
#*~*~*~*~*~*~*~*~*~*~*~*~*~*~*

#open a netCDF file to write
ncout = Dataset('test_ncout.nc', 'w', format="NETCDF4")

#check file format
#print(ncout.file_format)

#define axix size
ncout.createDimension('time',ntime)
ncout.createDimension('lat', nlat)
ncout.createDimension('lon', nlon)

#create time axis
time = ncout.createVariable('time', np.dtype('f4').char, ('time'))
time.long_name = 'time'
time.units = 'months since 1850-1-1'
time.axis = 'T'

#create lat axis
lat = ncout.createVariable('lat', np.dtype('f4').char, ('lat'))
lat.long_name = 'latitude'
lat.units ='degrees_north'
lat.axis = 'Y'

#create lon axis
lon = ncout.createVariable('lon', np.dtype('f8').char, ('lon'))
lon.long_name = 'longitude'
lon.units = 'degrees_east'
lon.axis = 'X'

#create variable arry
vout = ncout.createVariable('T2', np.dtype('f4').char, ('time', 'lat', 'lon'))
vout.long_name = '2m temperature'
vout.units = 'K'

#copy axis from original data
time[:] = tin[:]
lon[:] = lonin[:]
lat[:] = latin[:]
vout[:] = vin[:]

ncin.close()
ncout.close()

référence

http://unidata.github.io/netcdf4-python/ https://github.com/Unidata/netcdf4-python

Recommended Posts

Gérez les données au format NetCDF avec Python
Gérez le format GDS II avec Python
format en python
Format d'image en Python
Gérer le démarquage avec python
[Introduction à Python] Comment gérer les données au format JSON
Formatez facilement JSON avec Python
Afficher les données UTM-30LX en Python
Gérer les variables d'environnement en Python
Écrire des données au format HDF
Gérer les nombres complexes en Python
Obtenez des données LeapMotion en Python.
Exporter les données DB au format json
Lire les données des tampons de protocole avec Python3
Obtenir des données de Quandl en Python
Application Python: Traitement des données # 3: Format des données
Formater automatiquement le code Python avec Vim
Gérer les files d'attente de messages posix en python
Hashing de données en R et Python
Comment gérer le japonais avec Python
Gérez plusieurs versions de python en un seul jupyter
Obtenez des données supplémentaires vers LDAP avec python
Entrée / sortie de données en Python (CSV, JSON)
Livre Ali en python: Sec.2-4, structure de données
Essayez de travailler avec des données binaires en Python
Obtenez les données de l'API Google Fit en Python
Python: prétraitement en machine learning: acquisition de données
Obtenez des données Youtube en Python à l'aide de l'API Youtube Data
Représentez facilement des données graphiques dans le shell et Python
Python: prétraitement dans l'apprentissage automatique: conversion de données
Téléchargez des fichiers dans n'importe quel format en utilisant Python
Quadtree en Python --2
CURL en Python
Métaprogrammation avec Python
Python 3.3 avec Anaconda
Géocodage en python
Format de chaîne Python
SendKeys en Python
Méta-analyse en Python
Unittest en Python
Analyse de données python
Époque en Python
Discord en Python
Allemand en Python
DCI en Python
tri rapide en python
nCr en python
N-Gram en Python
Programmation avec Python
Plink en Python
Constante en Python
FizzBuzz en Python
Sqlite en Python
Étape AIC en Python
LINE-Bot [0] en Python
CSV en Python
Assemblage inversé avec Python
Réflexion en Python