Saltar al contenido

Lea archivos .nc (netcdf) usando python

Por fin luego de tanto batallar hemos hallado la respuesta de este apuro que ciertos los usuarios de nuestro sitio web tienen. Si tienes algún dato que aportar puedes compartir tu información.

Solución:

También uso el MITgcm. Digamos que tiene su salida state.nc. En primer lugar, asegúrese de importar todo lo que necesita:

from scipy.io import netcdf
import numpy as np
import matplotlib
import matplotlib.pyplot as plt

La forma más fácil de leer los datos es:

file2read = netcdf.NetCDFFile(path+'state.nc','r')
temp = file2read.variables[var] # var can be 'Theta', 'S', 'V', 'U' etc..
data = temp[:]*1
file2read.close()

Entonces, una forma rápida de trazar, digamos, la capa z en el tiempo t es:

plt.contourf(data[t,z,:,:])

Para responder a tu pregunta, comenté el código:

from matplotlib import pyplot as plt # import libraries
import pandas as pd # import libraries
import netCDF4 # import libraries
fp='uwstemp.nc' # your file name with the eventual path
nc = netCDF4.Dataset(fp) # reading the nc file and creating Dataset
""" in this dataset each component will be 
in the form nt,nz,ny,nx i.e. all the variables will be flipped. """
plt.imshow(nc['Temp'][1,:,0,:]) 
""" imshow is a 2D plot function
according to what I have said before this will plot the second
iteration of the vertical slize with y = 0, one of the vertical
boundaries of your model. """
plt.show() # this shows the plot

Si desea verificar las diversas dimensiones de sus datos para saber lo que puede trazar, simplemente haga print(nc['Temp'].shape)

Más adelante puedes encontrar las reseñas de otros programadores, tú incluso puedes mostrar el tuyo si dominas el tema.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *