""" import cartopy.crs as ccrs import matplotlib as mpl mpl.rcParams['mathtext.default'] = 'regular' import matplotlib.pyplot as plt import numpy as np import xarray as xr from windspharm.xarray import VectorWind from windspharm.examples import example_data_path # Read zonal and meridional wind components from file using the xarray module. # The components are in separate files. ds = xr.open_mfdataset( [example_data_path(f) for f in ('uwnd_mean.nc', 'vwnd_mean.nc')]) uwnd = ds['uwnd'] vwnd = ds['vwnd'] # Create a VectorWind instance to handle the computation of streamfunction and # velocity potential. w = VectorWind(uwnd, vwnd) # Compute the streamfunction and velocity potential. sf, vp = w.sfvp() # Pick out the field for December. sf_dec = sf[sf['time.month'] == 12] vp_dec = vp[vp['time.month'] == 12] # Plot streamfunction.
from cartopy.mpl.ticker import LongitudeFormatter, LatitudeFormatter from cartopy.util import add_cyclic_point import matplotlib as mpl import matplotlib.pyplot as plt from netCDF4 import Dataset from windspharm.standard import VectorWind from windspharm.tools import prep_data, recover_data, order_latdim from windspharm.examples import example_data_path mpl.rcParams['mathtext.default'] = 'regular' # Read zonal and meridional wind components from file using the netCDF4 # module. The components are defined on pressure levels and are in separate # files. ncu = Dataset(example_data_path('uwnd_mean.nc'), 'r') uwnd = ncu.variables['uwnd'][:] lons = ncu.variables['longitude'][:] lats = ncu.variables['latitude'][:] ncu.close() ncv = Dataset(example_data_path('vwnd_mean.nc'), 'r') vwnd = ncv.variables['vwnd'][:] ncv.close() # The standard interface requires that latitude and longitude be the leading # dimensions of the input wind components, and that wind components must be # either 2D or 3D arrays. The data read in is 3D and has latitude and # longitude as the last dimensions. The bundled tools can make the process of # re-shaping the data a lot easier to manage. uwnd, uwnd_info = prep_data(uwnd, 'tyx') vwnd, vwnd_info = prep_data(vwnd, 'tyx')
""" import numpy as np import matplotlib as mpl mpl.rcParams['mathtext.default'] = 'regular' import matplotlib.pyplot as plt from mpl_toolkits.basemap import Basemap import cdms2 from windspharm.cdms import VectorWind from windspharm.examples import example_data_path # Read zonal and meridional wind components from file using the cdms2 module # from CDAT. The components are in separate files. ncu = cdms2.open(example_data_path('uwnd_mean.nc'), 'r') uwnd = ncu('uwnd') ncu.close() ncv = cdms2.open(example_data_path('vwnd_mean.nc'), 'r') vwnd = ncv('vwnd') ncv.close() # Create a VectorWind instance to handle the computation of streamfunction and # velocity potential. w = VectorWind(uwnd, vwnd) # Compute the streamfunction and velocity potential. sf, vp = w.sfvp() # Pick out the field for December and add a cyclic point (the cyclic point is # for plotting purposes).
from iris.coord_categorisation import add_month import matplotlib as mpl import matplotlib.pyplot as plt from windspharm.iris import VectorWind from windspharm.examples import example_data_path mpl.rcParams['mathtext.default'] = 'regular' # Read zonal and meridional wind components from file using the iris module. # The components are in separate files. We catch warnings here because the # files are not completely CF compliant. with warnings.catch_warnings(): warnings.simplefilter('ignore', UserWarning) uwnd = iris.load_cube(example_data_path('uwnd_mean.nc')) vwnd = iris.load_cube(example_data_path('vwnd_mean.nc')) uwnd.coord('longitude').circular = True vwnd.coord('longitude').circular = True # Create a VectorWind instance to handle the computations. w = VectorWind(uwnd, vwnd) # Compute components of rossby wave source: absolute vorticity, divergence, # irrotational (divergent) wind components, gradients of absolute vorticity. eta = w.absolutevorticity() div = w.divergence() uchi, vchi = w.irrotationalcomponent() etax, etay = w.gradient(eta) etax.units = 'm**-1 s**-1' etay.units = 'm**-1 s**-1'
import matplotlib as mpl mpl.rcParams["mathtext.default"] = "regular" import matplotlib.pyplot as plt from netCDF4 import Dataset import numpy as np from windspharm.standard import VectorWind from windspharm.tools import prep_data, recover_data, order_latdim from windspharm.examples import example_data_path # Read zonal and meridional wind components from file using the cdms2 module # from CDAT. The components are defined on pressure levels and are in separate # files. ncu = Dataset(example_data_path("uwnd_mean.nc"), "r") uwnd = ncu.variables["uwnd"][:] lons = ncu.variables["longitude"][:] lats = ncu.variables["latitude"][:] ncu.close() ncv = Dataset(example_data_path("vwnd_mean.nc"), "r") vwnd = ncv.variables["vwnd"][:] ncv.close() # The standard interface requires that latitude and longitude be the leading # dimensions of the input wind components, and that wind components must be # either 2D or 3D arrays. The data read in is 3D and has latitude and # longitude as the last dimensions. The bundled tools can make the process of # re-shaping the data a lot easier to manage. uwnd, uwnd_info = prep_data(uwnd, "tyx") vwnd, vwnd_info = prep_data(vwnd, "tyx")
import numpy as np import matplotlib as mpl mpl.rcParams['mathtext.default'] = 'regular' import matplotlib.pyplot as plt from mpl_toolkits.basemap import Basemap, addcyclic from netCDF4 import Dataset from windspharm.standard import VectorWind from windspharm.tools import prep_data, recover_data, order_latdim from windspharm.examples import example_data_path # Read zonal and meridional wind components from file using the netCDF4 # module. The components are defined on pressure levels and are in separate # files. ncu = Dataset(example_data_path('uwnd_mean.nc'), 'r') uwnd = ncu.variables['uwnd'][:] lons = ncu.variables['longitude'][:] lats = ncu.variables['latitude'][:] ncu.close() ncv = Dataset(example_data_path('vwnd_mean.nc'), 'r') vwnd = ncv.variables['vwnd'][:] ncv.close() # The standard interface requires that latitude and longitude be the leading # dimensions of the input wind components, and that wind components must be # either 2D or 3D arrays. The data read in is 3D and has latitude and # longitude as the last dimensions. The bundled tools can make the process of # re-shaping the data a lot easier to manage. uwnd, uwnd_info = prep_data(uwnd, 'tyx') vwnd, vwnd_info = prep_data(vwnd, 'tyx')
""" import cartopy.crs as ccrs import cdms2 import matplotlib as mpl import matplotlib.pyplot as plt from windspharm.cdms import VectorWind from windspharm.examples import example_data_path mpl.rcParams['mathtext.default'] = 'regular' # Read zonal and meridional wind components from file using the cdms2 module # from CDAT. The components are in separate files. ncu = cdms2.open(example_data_path('uwnd_mean.nc'), 'r') uwnd = ncu('uwnd') ncu.close() ncv = cdms2.open(example_data_path('vwnd_mean.nc'), 'r') vwnd = ncv('vwnd') ncv.close() # Create a VectorWind instance to handle the computation of streamfunction and # velocity potential. w = VectorWind(uwnd, vwnd) # Compute the streamfunction and velocity potential. sf, vp = w.sfvp() # Pick out the field for December and add a cyclic point (the cyclic point is # for plotting purposes).
from iris.coord_categorisation import add_month import matplotlib as mpl mpl.rcParams['mathtext.default'] = 'regular' import matplotlib.pyplot as plt import numpy as np from windspharm.iris import VectorWind from windspharm.examples import example_data_path # Read zonal and meridional wind components from file using the iris module. # The components are in separate files. We catch warnings here because the # files are not completely CF compliant. with warnings.catch_warnings(): warnings.simplefilter('ignore', UserWarning) uwnd = iris.load_cube(example_data_path('uwnd_mean.nc')) vwnd = iris.load_cube(example_data_path('vwnd_mean.nc')) uwnd.coord('longitude').circular = True vwnd.coord('longitude').circular = True # Create a VectorWind instance to handle the computations. w = VectorWind(uwnd, vwnd) # Compute components of rossby wave source: absolute vorticity, divergence, # irrotational (divergent) wind components, gradients of absolute vorticity. eta = w.absolutevorticity() div = w.divergence() uchi, vchi = w.irrotationalcomponent() etax, etay = w.gradient(eta) etax.units = 'm**-1 s**-1' etay.units = 'm**-1 s**-1'
import matplotlib as mpl mpl.rcParams["mathtext.default"] = "regular" import matplotlib.pyplot as plt import numpy as np from windspharm.iris import VectorWind from windspharm.examples import example_data_path # Read zonal and meridional wind components from file using the iris module. # The components are in separate files. We catch warnings here because the # files are not completely CF compliant. with warnings.catch_warnings(): warnings.simplefilter("ignore", UserWarning) uwnd = iris.load_cube(example_data_path("uwnd_mean.nc")) vwnd = iris.load_cube(example_data_path("vwnd_mean.nc")) uwnd.coord("longitude").circular = True vwnd.coord("longitude").circular = True # Create a VectorWind instance to handle the computations. w = VectorWind(uwnd, vwnd) # Compute components of rossby wave source: absolute vorticity, divergence, # irrotational (divergent) wind components, gradients of absolute vorticity. eta = w.absolutevorticity() div = w.divergence() uchi, vchi = w.irrotationalcomponent() etax, etay = w.gradient(eta) etax.units = "m**-1 s**-1" etay.units = "m**-1 s**-1"
""" import cartopy.crs as ccrs import matplotlib as mpl import matplotlib.pyplot as plt import xarray as xr from windspharm.xarray import VectorWind from windspharm.examples import example_data_path mpl.rcParams['mathtext.default'] = 'regular' # Read zonal and meridional wind components from file using the xarray module. # The components are in separate files. ds = xr.open_mfdataset([example_data_path(f) for f in ('uwnd_mean.nc', 'vwnd_mean.nc')]) uwnd = ds['uwnd'] vwnd = ds['vwnd'] # Create a VectorWind instance to handle the computations. w = VectorWind(uwnd, vwnd) # Compute components of rossby wave source: absolute vorticity, divergence, # irrotational (divergent) wind components, gradients of absolute vorticity. eta = w.absolutevorticity() div = w.divergence() uchi, vchi = w.irrotationalcomponent() etax, etay = w.gradient(eta) etax.attrs['units'] = 'm**-1 s**-1' etay.attrs['units'] = 'm**-1 s**-1'