3.75km MPAS Atmosphere Output#

Author: Philip Chmielowiec

Data: Falko Judt

This visualization example showcases a 3.75km MPAS Atmosphere mesh, which is composed of roughly 84 million nodes and 42 million faces.

Plots of Relative Humidity (relhum_200hPa) and Vorticity (vorticity_200hPa), with both global Robinson and North Pole Centered Orthographic projections.

import uxarray as ux
import cartopy.crs as ccrs
import geoviews.feature as gf


def features(projection):
    return gf.coastline(projection=projection, linewidth=1, scale="50m") * gf.states(
        projection=projection, linewidth=1, scale="50m"
    )
grid_path = "/glade/campaign/cisl/vast/uxarray/data/dyamond/3.75km/grid.nc"
data_path = "/glade/campaign/mmm/wmr/fjudt/projects/dyamond_1/3.75km/diag.2016-08-01_00.00.00.nc"
uxds = ux.open_dataset(grid_path, data_path)
uxds.uxgrid.sizes
{'n_edge': 125829120,
 'n_node': 83886080,
 'n_max_node_faces': 3,
 'n_max_face_edges': 6,
 'n_face': 41943042,
 'two': 2,
 'n_max_face_nodes': 6}

Face Centered Data Variable: relhum_200hPa#

uxds["relhum_200hPa"]
<xarray.UxDataArray 'relhum_200hPa' (time: 1, n_face: 41943042)> Size: 168MB
[41943042 values with dtype=float32]
Coordinates:
  * time     (time) datetime64[ns] 8B 2016-08-01
Dimensions without coordinates: n_face
Attributes:
    units:      percent
    long_name:  Relative humidity vertically interpolated to 200 hPa
projection = projection = ccrs.Robinson()

uxds["relhum_200hPa"][0].plot.rasterize(
    method="point",
    projection=projection,
    backend="matplotlib",
    pixel_ratio=8.0,
    fig_size=400,
) * features(projection)
projection = ccrs.Orthographic(central_latitude=90)

uxds["relhum_200hPa"][0].plot.rasterize(
    method="point",
    projection=projection,
    backend="matplotlib",
    pixel_ratio=8.0,
    fig_size=250,
) * features(projection)