A collection of diagnostic and interpolation routines for use with output from the Weather Research and Forecasting (WRF-ARW) Model.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

46 KiB

In [ ]:
from wrf.extension import _slp
In [ ]:
from wrf import getvar
from netCDF4 import Dataset as nc
ncfile = nc("/Users/ladwig/Documents/wrf_files/wrf_vortex_multi/wrfout_d01_2005-08-28_00:00:00")
b = getvar([ncfile,ncfile,ncfile], "slp", timeidx=None)
In [ ]:
print(b)
In [ ]:
b = getvar([ncfile,ncfile,ncfile], "td", None)
In [ ]:
print(b)
In [ ]:
b = getvar([ncfile,ncfile,ncfile], "tk", None)
In [ ]:
print(b)
In [ ]:
b = getvar([ncfile,ncfile,ncfile], "rh", None)
In [ ]:
print (b)
In [ ]:
# 500 MB Heights
from wrf import getvar, interplevel

z = getvar([ncfile,ncfile,ncfile], "z", timeidx=None)
p = getvar([ncfile,ncfile,ncfile], "pressure", timeidx=None)
ht_500mb = interplevel(z, p, 500)

print(ht_500mb)
del ht_500mb, z, p
In [ ]:
# Pressure using pivot and angle
from wrf import getvar, vertcross

z = getvar(ncfile, "z", timeidx=None)
p = getvar(ncfile, "pressure", timeidx=None)
pivot_point = (z.shape[-2] / 2, z.shape[-1] / 2) 
angle = 90.0

p_vert = vertcross(p, z, pivot_point=pivot_point, angle=angle)
print(p_vert)
del p_vert

# Pressure using start_point and end_point
start_point = (z.shape[-2]/2, 0)
end_point = (z.shape[-2]/2, -1)

p_vert = vertcross(p, z, start_point=start_point, end_point=end_point)
print(p_vert)
del p_vert, p, z
In [ ]:
# T2 using pivot and angle
from wrf import interpline, getvar

t2 = getvar([ncfile,ncfile,ncfile], "T2", timeidx=None)
pivot_point = (t2.shape[-2] / 2, t2.shape[-1] / 2) 
angle = 90.0

t2_line = interpline(t2, pivot_point=pivot_point, angle=angle)
print(t2_line)

del t2_line

# T2 using start_point and end_point
start_point = (t2.shape[-2]/2, 0)
end_point = (t2.shape[-2]/2, -1)

t2_line = interpline(t2, start_point=start_point, end_point=end_point)
print(t2_line)

del t2_line, t2
In [ ]:
from wrf import getvar
from netCDF4 import Dataset as nc
lambertnc = nc("/Users/ladwig/Documents/wrf_files/wrfout_d01_2010-06-13_21:00:00")
uvmet = getvar([lambertnc,lambertnc], "uvmet", timeidx=None)
uvmet10 = getvar([lambertnc,lambertnc], "uvmet10", timeidx=None)
uv_wspd_wdir = getvar([lambertnc,lambertnc], "wspd_wdir_uvmet", timeidx=None)
uv_wspd_wdir10 = getvar([lambertnc,lambertnc], "wspd_wdir_uvmet10", timeidx=None)
wspd_wdir = getvar([lambertnc,lambertnc], "wspd_wdir", timeidx=None)
wspd_wdir10 = getvar([lambertnc,lambertnc], "wspd_wdir10", timeidx=None)
print (uvmet)
print (uvmet10)
print (uv_wspd_wdir)
print (uv_wspd_wdir10)
print (wspd_wdir)
print (wspd_wdir10)
In [ ]:
from wrf import (ALL_TIMES, npvalues, Constants, getvar, extract_vars, destagger, 
                 interp1d, interp2dxy, interpz3d, 
                 slp, tk, td, rh, uvmet, smooth2d)
from netCDF4 import Dataset as nc

wrfnc = nc("/Users/ladwig/Documents/wrf_files/wrf_vortex_multi/wrfout_d01_2005-08-28_00:00:00")
timeidx = ALL_TIMES
method = "cat"
squeeze = True
cache = None
In [ ]:
varnames=("T", "P", "PB", "QVAPOR", "PH", "PHB")
ncvars = extract_vars(wrfnc, timeidx, varnames, method, squeeze, cache,
                          meta=True)

t = ncvars["T"]
p = ncvars["P"]
pb = ncvars["PB"]
ph = ncvars["PH"]
phb = ncvars["PHB"]


ncvars = extract_vars(wrfnc, timeidx, ("QVAPOR",), method, squeeze, cache,
                          meta=False)
qvapor = ncvars["QVAPOR"]

    
full_t = t + Constants.T_BASE
full_p = p + pb
qvapor[qvapor < 0] = 0.
    
full_ph = (ph + phb) / Constants.G
    
destag_ph = destagger(full_ph, -3)
    
_tk = tk(full_p, full_t)
_slp = slp(destag_ph, _tk, full_p, qvapor)
_td = td(full_p, qvapor)
_smooth2d = smooth2d(npvalues(_slp), 3)

_uvmet = getvar(wrfnc, "uvmet", timeidx=1)
In [ ]:
print (_tk)
print ("\n")
print (_slp)
print ("\n")
print (_td)
print ("\n")
print (_smooth2d)
print (_uvmet)
In [ ]:
from wrf import (ALL_TIMES, npvalues, Constants, getvar, extract_vars, destagger, 
                 interp1d, interp2dxy, interpz3d, 
                 slp, tk, td, rh, uvmet, smooth2d, extract_global_attrs)
from math import fabs, log, tan, sin, cos
from wrf.util import either
from netCDF4 import Dataset as nc

wrfnc = nc("/Users/ladwig/Documents/wrf_files/wrfout_d01_2010-06-13_21:00:00")
wrfnc = [wrfnc, wrfnc, wrfnc]
ten_m = True
method = "cat"
squeeze=True
cache=None
timeidx = ALL_TIMES

if not ten_m:
    varname = either("U", "UU")(wrfnc)
    u_vars = extract_vars(wrfnc, timeidx, varname, method, squeeze, cache,
                          meta=True)
    
    #renamed = u_vars[varname].rename({"west_east_stag" : "test"})
    u = destagger(u_vars[varname], -1, meta=True)
    #print (renamed)
    #u = destagger(renamed, -1, meta=True)
    #print (u)

    varname = either("V", "VV")(wrfnc)
    v_vars = extract_vars(wrfnc, timeidx, varname, method, squeeze, cache,
                          meta=True)
    v = destagger(v_vars[varname], -2)
else:
    varname = either("U10", "UU")(wrfnc)
    u_vars = extract_vars(wrfnc, timeidx, varname, method, squeeze, cache,
                          meta=True)
    u = (u_vars[varname] if varname == "U10" else 
         destagger(u_vars[varname][...,0,:,:], -1)) 

    varname = either("V10", "VV")(wrfnc)
    v_vars = extract_vars(wrfnc, timeidx, varname, method, squeeze, cache,
                          meta=True)
    v = (v_vars[varname] if varname == "V10" else 
         destagger(v_vars[varname][...,0,:,:], -2))

map_proj_attrs = extract_global_attrs(wrfnc, attrs="MAP_PROJ")
map_proj = map_proj_attrs["MAP_PROJ"]

# 1 - Lambert
# 2 - Polar Stereographic
# 3 - Mercator
# 6 - Lat/Lon
# Note:  NCL has no code to handle other projections (0,4,5) as they 
# don't appear to be supported any longer

if map_proj in (0,3,6):
    # No rotation needed for Mercator and Lat/Lon, but still need
    # u,v aggregated in to one array

    end_idx = -3 if not ten_m else -2
    resdim = (2,) + u.shape[0:end_idx] + u.shape[end_idx:]

    # Make a new output array for the result
    res = np.empty(resdim, u.dtype)

    # For 2D array, this makes (0,...,:,:) and (1,...,:,:)
    # For 3D array, this makes (0,...,:,:,:) and (1,...,:,:,:)
    idx0 = (0,) + (Ellipsis,) + (slice(None),)*(-end_idx)
    idx1 = (1,) + (Ellipsis,) + (slice(None),)*(-end_idx)

    res[idx0] = u[:]
    res[idx1] = v[:]

    result = res
elif map_proj in (1,2):
    lat_attrs = extract_global_attrs(wrfnc, attrs=("TRUELAT1",
                                                   "TRUELAT2"))
    radians_per_degree = Constants.PI/180.0
    # Rotation needed for Lambert and Polar Stereographic
    true_lat1 = lat_attrs["TRUELAT1"]
    true_lat2 = lat_attrs["TRUELAT2"]

    try:
        lon_attrs = extract_global_attrs(wrfnc, attrs="STAND_LON")
    except AttributeError:
        try:
            cen_lon_attrs = extract_global_attrs(wrfnc, attrs="CEN_LON")
        except AttributeError:
            raise RuntimeError("longitude attributes not found in NetCDF")
        else:
            cen_lon = cen_lon_attrs["CEN_LON"]
    else:
        cen_lon = lon_attrs["STAND_LON"]


    varname = either("XLAT_M", "XLAT")(wrfnc)
    xlat_var = extract_vars(wrfnc, timeidx, varname, 
                            method, squeeze, cache, meta=True)
    lat = xlat_var[varname]

    varname = either("XLONG_M", "XLONG")(wrfnc)
    xlon_var = extract_vars(wrfnc, timeidx, varname, 
                            method, squeeze, cache, meta=False)
    lon = xlon_var[varname]

    if map_proj == 1:
        if((fabs(true_lat1 - true_lat2) > 0.1) and
                (fabs(true_lat2 - 90.) > 0.1)): 
            cone = (log(cos(true_lat1*radians_per_degree)) 
                - log(cos(true_lat2*radians_per_degree)))
            cone = (cone / 
                    (log(tan((45.-fabs(true_lat1/2.))*radians_per_degree)) 
                - log(tan((45.-fabs(true_lat2/2.))*radians_per_degree)))) 
        else:
            cone = sin(fabs(true_lat1)*radians_per_degree)
    else:
        cone = 1
    
    result = uvmet(u, v, lat, lon, cen_lon, cone, meta=True)
    
print (result)
In [1]:
import numpy as np
from wrf import (ALL_TIMES, npvalues, Constants, getvar, extract_vars, destagger, 
                 interp1d, interp2dxy, interpz3d, 
                 slp, tk, td, rh, uvmet, smooth2d, extract_global_attrs, xy)
from math import fabs, log, tan, sin, cos
from wrf.util import either
from netCDF4 import Dataset as nc

timeidx = None
wrfnc = nc("/Users/ladwig/Documents/wrf_files/wrfout_d01_2010-06-13_21:00:00")

wrfnc = [wrfnc, wrfnc]
field3d = getvar(wrfnc, "P", timeidx, meta=True)

z = getvar(wrfnc, "z", timeidx)

interp = interpz3d(field3d, z, 500, missingval=Constants.DEFAULT_FILL, meta=True)
print (interp)
print ("\n")

# 2dxy test
pivot_point = (field3d.shape[-1] / 2, field3d.shape[-2] / 2 ) 
angle = 90.0

start_point = (0, z.shape[-2]/2)
end_point = (-1, z.shape[-2]/2)

#start_point = (0, 0)
#end_point = (-1, -1)

_xy = xy(field3d, pivot_point=pivot_point, angle=angle)
print(_xy)
print ("\n")

_xy = xy(field3d, start_point=start_point, end_point=end_point)
print(_xy)
print ("\n")

interpxy = interp2dxy(field3d, _xy)
print (interpxy)
print ("\n")

# 1D test
only_height = [0]*field3d.ndim
only_height[-3] = slice(None)
only_height = (Ellipsis,) + tuple(only_height[-3:])

v_in = field3d[only_height]
z_in = z[only_height]
z_out = np.asarray([100.,200.,300.,500.,1000.,5000.], field3d.dtype)

int1d = interp1d(v_in, z_in, z_out, missingval=Constants.DEFAULT_FILL, meta=True)
print(int1d)
print ("\n")
<xarray.DataArray u'P_500_m' (Time: 2, south_north: 324, west_east: 414)>
array([[[ 1284.37878418,  1286.88208008,  1288.14526367, ...,
          1042.98413086,  1043.49230957,  1042.76550293],
        [ 1290.37072754,  1305.41650391,  1315.56066895, ...,
          1058.42687988,  1054.85864258,  1048.94299316],
        [ 1297.45019531,  1319.68493652,  1332.59887695, ...,
          1067.23571777,  1063.85803223,  1054.76965332],
        ..., 
        [ 2282.65576172,  2248.74243164,  2226.04858398, ...,
           680.19281006,   715.02349854,   752.45947266],
        [ 2261.47558594,  2233.76464844,  2212.33129883, ...,
           673.80822754,   712.69897461,   748.10424805],
        [ 2241.63647461,  2225.63354492,  2209.28881836, ...,
           665.93286133,   703.76361084,   743.64093018]],

       [[ 1284.37878418,  1286.88208008,  1288.14526367, ...,
          1042.98413086,  1043.49230957,  1042.76550293],
        [ 1290.37072754,  1305.41650391,  1315.56066895, ...,
          1058.42687988,  1054.85864258,  1048.94299316],
        [ 1297.45019531,  1319.68493652,  1332.59887695, ...,
          1067.23571777,  1063.85803223,  1054.76965332],
        ..., 
        [ 2282.65576172,  2248.74243164,  2226.04858398, ...,
           680.19281006,   715.02349854,   752.45947266],
        [ 2261.47558594,  2233.76464844,  2212.33129883, ...,
           673.80822754,   712.69897461,   748.10424805],
        [ 2241.63647461,  2225.63354492,  2209.28881836, ...,
           665.93286133,   703.76361084,   743.64093018]]], dtype=float32)
Coordinates:
    XLONG        (south_north, west_east) float32 -127.749 -127.627 -127.504 ...
    XLAT         (south_north, west_east) float32 13.69 13.726 13.7617 ...
  * Time         (Time) datetime64[ns] 2010-06-13T21:00:00 2010-06-13T21:00:00
  * south_north  (south_north) int64 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...
  * west_east    (west_east) int64 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...
    datetime     (Time) datetime64[ns] 2010-06-13T21:00:00 2010-06-13T21:00:00
Attributes:
    FieldType: 104
    units: Pa
    stagger: 
    coordinates: XLONG XLAT
    projection: LambertConformal(bottom_left=(13.69003, -127.74881), top_right=(53.277489, -53.45282), stand_lon=-101.0, moad_cen_lat=39.0000038147, pole_lat=90.0, pole_lon=0.0)
    PlotLevelID: 500 m
    missing_value: 9.96920996839e+36
    _FillValue: 9.96920996839e+36


<xarray.DataArray u'P_xy' (idx: 413, x_y: 2)>
array([[   0.,  162.],
       [   1.,  162.],
       [   2.,  162.],
       [   3.,  162.],
       [   4.,  162.],
       [   5.,  162.],
       [   6.,  162.],
       [   7.,  162.],
       [   8.,  162.],
       [   9.,  162.],
       [  10.,  162.],
       [  11.,  162.],
       [  12.,  162.],
       [  13.,  162.],
       [  14.,  162.],
       [  15.,  162.],
       [  16.,  162.],
       [  17.,  162.],
       [  18.,  162.],
       [  19.,  162.],
       [  20.,  162.],
       [  21.,  162.],
       [  22.,  162.],
       [  23.,  162.],
       [  24.,  162.],
       [  25.,  162.],
       [  26.,  162.],
       [  27.,  162.],
       [  28.,  162.],
       [  29.,  162.],
       [  30.,  162.],
       [  31.,  162.],
       [  32.,  162.],
       [  33.,  162.],
       [  34.,  162.],
       [  35.,  162.],
       [  36.,  162.],
       [  37.,  162.],
       [  38.,  162.],
       [  39.,  162.],
       [  40.,  162.],
       [  41.,  162.],
       [  42.,  162.],
       [  43.,  162.],
       [  44.,  162.],
       [  45.,  162.],
       [  46.,  162.],
       [  47.,  162.],
       [  48.,  162.],
       [  49.,  162.],
       [  50.,  162.],
       [  51.,  162.],
       [  52.,  162.],
       [  53.,  162.],
       [  54.,  162.],
       [  55.,  162.],
       [  56.,  162.],
       [  57.,  162.],
       [  58.,  162.],
       [  59.,  162.],
       [  60.,  162.],
       [  61.,  162.],
       [  62.,  162.],
       [  63.,  162.],
       [  64.,  162.],
       [  65.,  162.],
       [  66.,  162.],
       [  67.,  162.],
       [  68.,  162.],
       [  69.,  162.],
       [  70.,  162.],
       [  71.,  162.],
       [  72.,  162.],
       [  73.,  162.],
       [  74.,  162.],
       [  75.,  162.],
       [  76.,  162.],
       [  77.,  162.],
       [  78.,  162.],
       [  79.,  162.],
       [  80.,  162.],
       [  81.,  162.],
       [  82.,  162.],
       [  83.,  162.],
       [  84.,  162.],
       [  85.,  162.],
       [  86.,  162.],
       [  87.,  162.],
       [  88.,  162.],
       [  89.,  162.],
       [  90.,  162.],
       [  91.,  162.],
       [  92.,  162.],
       [  93.,  162.],
       [  94.,  162.],
       [  95.,  162.],
       [  96.,  162.],
       [  97.,  162.],
       [  98.,  162.],
       [  99.,  162.],
       [ 100.,  162.],
       [ 101.,  162.],
       [ 102.,  162.],
       [ 103.,  162.],
       [ 104.,  162.],
       [ 105.,  162.],
       [ 106.,  162.],
       [ 107.,  162.],
       [ 108.,  162.],
       [ 109.,  162.],
       [ 110.,  162.],
       [ 111.,  162.],
       [ 112.,  162.],
       [ 113.,  162.],
       [ 114.,  162.],
       [ 115.,  162.],
       [ 116.,  162.],
       [ 117.,  162.],
       [ 118.,  162.],
       [ 119.,  162.],
       [ 120.,  162.],
       [ 121.,  162.],
       [ 122.,  162.],
       [ 123.,  162.],
       [ 124.,  162.],
       [ 125.,  162.],
       [ 126.,  162.],
       [ 127.,  162.],
       [ 128.,  162.],
       [ 129.,  162.],
       [ 130.,  162.],
       [ 131.,  162.],
       [ 132.,  162.],
       [ 133.,  162.],
       [ 134.,  162.],
       [ 135.,  162.],
       [ 136.,  162.],
       [ 137.,  162.],
       [ 138.,  162.],
       [ 139.,  162.],
       [ 140.,  162.],
       [ 141.,  162.],
       [ 142.,  162.],
       [ 143.,  162.],
       [ 144.,  162.],
       [ 145.,  162.],
       [ 146.,  162.],
       [ 147.,  162.],
       [ 148.,  162.],
       [ 149.,  162.],
       [ 150.,  162.],
       [ 151.,  162.],
       [ 152.,  162.],
       [ 153.,  162.],
       [ 154.,  162.],
       [ 155.,  162.],
       [ 156.,  162.],
       [ 157.,  162.],
       [ 158.,  162.],
       [ 159.,  162.],
       [ 160.,  162.],
       [ 161.,  162.],
       [ 162.,  162.],
       [ 163.,  162.],
       [ 164.,  162.],
       [ 165.,  162.],
       [ 166.,  162.],
       [ 167.,  162.],
       [ 168.,  162.],
       [ 169.,  162.],
       [ 170.,  162.],
       [ 171.,  162.],
       [ 172.,  162.],
       [ 173.,  162.],
       [ 174.,  162.],
       [ 175.,  162.],
       [ 176.,  162.],
       [ 177.,  162.],
       [ 178.,  162.],
       [ 179.,  162.],
       [ 180.,  162.],
       [ 181.,  162.],
       [ 182.,  162.],
       [ 183.,  162.],
       [ 184.,  162.],
       [ 185.,  162.],
       [ 186.,  162.],
       [ 187.,  162.],
       [ 188.,  162.],
       [ 189.,  162.],
       [ 190.,  162.],
       [ 191.,  162.],
       [ 192.,  162.],
       [ 193.,  162.],
       [ 194.,  162.],
       [ 195.,  162.],
       [ 196.,  162.],
       [ 197.,  162.],
       [ 198.,  162.],
       [ 199.,  162.],
       [ 200.,  162.],
       [ 201.,  162.],
       [ 202.,  162.],
       [ 203.,  162.],
       [ 204.,  162.],
       [ 205.,  162.],
       [ 206.,  162.],
       [ 207.,  162.],
       [ 208.,  162.],
       [ 209.,  162.],
       [ 210.,  162.],
       [ 211.,  162.],
       [ 212.,  162.],
       [ 213.,  162.],
       [ 214.,  162.],
       [ 215.,  162.],
       [ 216.,  162.],
       [ 217.,  162.],
       [ 218.,  162.],
       [ 219.,  162.],
       [ 220.,  162.],
       [ 221.,  162.],
       [ 222.,  162.],
       [ 223.,  162.],
       [ 224.,  162.],
       [ 225.,  162.],
       [ 226.,  162.],
       [ 227.,  162.],
       [ 228.,  162.],
       [ 229.,  162.],
       [ 230.,  162.],
       [ 231.,  162.],
       [ 232.,  162.],
       [ 233.,  162.],
       [ 234.,  162.],
       [ 235.,  162.],
       [ 236.,  162.],
       [ 237.,  162.],
       [ 238.,  162.],
       [ 239.,  162.],
       [ 240.,  162.],
       [ 241.,  162.],
       [ 242.,  162.],
       [ 243.,  162.],
       [ 244.,  162.],
       [ 245.,  162.],
       [ 246.,  162.],
       [ 247.,  162.],
       [ 248.,  162.],
       [ 249.,  162.],
       [ 250.,  162.],
       [ 251.,  162.],
       [ 252.,  162.],
       [ 253.,  162.],
       [ 254.,  162.],
       [ 255.,  162.],
       [ 256.,  162.],
       [ 257.,  162.],
       [ 258.,  162.],
       [ 259.,  162.],
       [ 260.,  162.],
       [ 261.,  162.],
       [ 262.,  162.],
       [ 263.,  162.],
       [ 264.,  162.],
       [ 265.,  162.],
       [ 266.,  162.],
       [ 267.,  162.],
       [ 268.,  162.],
       [ 269.,  162.],
       [ 270.,  162.],
       [ 271.,  162.],
       [ 272.,  162.],
       [ 273.,  162.],
       [ 274.,  162.],
       [ 275.,  162.],
       [ 276.,  162.],
       [ 277.,  162.],
       [ 278.,  162.],
       [ 279.,  162.],
       [ 280.,  162.],
       [ 281.,  162.],
       [ 282.,  162.],
       [ 283.,  162.],
       [ 284.,  162.],
       [ 285.,  162.],
       [ 286.,  162.],
       [ 287.,  162.],
       [ 288.,  162.],
       [ 289.,  162.],
       [ 290.,  162.],
       [ 291.,  162.],
       [ 292.,  162.],
       [ 293.,  162.],
       [ 294.,  162.],
       [ 295.,  162.],
       [ 296.,  162.],
       [ 297.,  162.],
       [ 298.,  162.],
       [ 299.,  162.],
       [ 300.,  162.],
       [ 301.,  162.],
       [ 302.,  162.],
       [ 303.,  162.],
       [ 304.,  162.],
       [ 305.,  162.],
       [ 306.,  162.],
       [ 307.,  162.],
       [ 308.,  162.],
       [ 309.,  162.],
       [ 310.,  162.],
       [ 311.,  162.],
       [ 312.,  162.],
       [ 313.,  162.],
       [ 314.,  162.],
       [ 315.,  162.],
       [ 316.,  162.],
       [ 317.,  162.],
       [ 318.,  162.],
       [ 319.,  162.],
       [ 320.,  162.],
       [ 321.,  162.],
       [ 322.,  162.],
       [ 323.,  162.],
       [ 324.,  162.],
       [ 325.,  162.],
       [ 326.,  162.],
       [ 327.,  162.],
       [ 328.,  162.],
       [ 329.,  162.],
       [ 330.,  162.],
       [ 331.,  162.],
       [ 332.,  162.],
       [ 333.,  162.],
       [ 334.,  162.],
       [ 335.,  162.],
       [ 336.,  162.],
       [ 337.,  162.],
       [ 338.,  162.],
       [ 339.,  162.],
       [ 340.,  162.],
       [ 341.,  162.],
       [ 342.,  162.],
       [ 343.,  162.],
       [ 344.,  162.],
       [ 345.,  162.],
       [ 346.,  162.],
       [ 347.,  162.],
       [ 348.,  162.],
       [ 349.,  162.],
       [ 350.,  162.],
       [ 351.,  162.],
       [ 352.,  162.],
       [ 353.,  162.],
       [ 354.,  162.],
       [ 355.,  162.],
       [ 356.,  162.],
       [ 357.,  162.],
       [ 358.,  162.],
       [ 359.,  162.],
       [ 360.,  162.],
       [ 361.,  162.],
       [ 362.,  162.],
       [ 363.,  162.],
       [ 364.,  162.],
       [ 365.,  162.],
       [ 366.,  162.],
       [ 367.,  162.],
       [ 368.,  162.],
       [ 369.,  162.],
       [ 370.,  162.],
       [ 371.,  162.],
       [ 372.,  162.],
       [ 373.,  162.],
       [ 374.,  162.],
       [ 375.,  162.],
       [ 376.,  162.],
       [ 377.,  162.],
       [ 378.,  162.],
       [ 379.,  162.],
       [ 380.,  162.],
       [ 381.,  162.],
       [ 382.,  162.],
       [ 383.,  162.],
       [ 384.,  162.],
       [ 385.,  162.],
       [ 386.,  162.],
       [ 387.,  162.],
       [ 388.,  162.],
       [ 389.,  162.],
       [ 390.,  162.],
       [ 391.,  162.],
       [ 392.,  162.],
       [ 393.,  162.],
       [ 394.,  162.],
       [ 395.,  162.],
       [ 396.,  162.],
       [ 397.,  162.],
       [ 398.,  162.],
       [ 399.,  162.],
       [ 400.,  162.],
       [ 401.,  162.],
       [ 402.,  162.],
       [ 403.,  162.],
       [ 404.,  162.],
       [ 405.,  162.],
       [ 406.,  162.],
       [ 407.,  162.],
       [ 408.,  162.],
       [ 409.,  162.],
       [ 410.,  162.],
       [ 411.,  162.],
       [ 412.,  162.]])
Coordinates:
  * x_y      (x_y) <U1 u'x' u'y'
  * idx      (idx) int64 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ...
Attributes:
    pivot_point: (207, 162)
    angle: 90.0


<xarray.DataArray u'P_xy' (idx: 323, x_y: 2)>
array([[   0.,  162.],
       [   1.,  162.],
       [   2.,  162.],
       [   3.,  162.],
       [   4.,  162.],
       [   5.,  162.],
       [   6.,  162.],
       [   7.,  162.],
       [   8.,  162.],
       [   9.,  162.],
       [  10.,  162.],
       [  11.,  162.],
       [  12.,  162.],
       [  13.,  162.],
       [  14.,  162.],
       [  15.,  162.],
       [  16.,  162.],
       [  17.,  162.],
       [  18.,  162.],
       [  19.,  162.],
       [  20.,  162.],
       [  21.,  162.],
       [  22.,  162.],
       [  23.,  162.],
       [  24.,  162.],
       [  25.,  162.],
       [  26.,  162.],
       [  27.,  162.],
       [  28.,  162.],
       [  29.,  162.],
       [  30.,  162.],
       [  31.,  162.],
       [  32.,  162.],
       [  33.,  162.],
       [  34.,  162.],
       [  35.,  162.],
       [  36.,  162.],
       [  37.,  162.],
       [  38.,  162.],
       [  39.,  162.],
       [  40.,  162.],
       [  41.,  162.],
       [  42.,  162.],
       [  43.,  162.],
       [  44.,  162.],
       [  45.,  162.],
       [  46.,  162.],
       [  47.,  162.],
       [  48.,  162.],
       [  49.,  162.],
       [  50.,  162.],
       [  51.,  162.],
       [  52.,  162.],
       [  53.,  162.],
       [  54.,  162.],
       [  55.,  162.],
       [  56.,  162.],
       [  57.,  162.],
       [  58.,  162.],
       [  59.,  162.],
       [  60.,  162.],
       [  61.,  162.],
       [  62.,  162.],
       [  63.,  162.],
       [  64.,  162.],
       [  65.,  162.],
       [  66.,  162.],
       [  67.,  162.],
       [  68.,  162.],
       [  69.,  162.],
       [  70.,  162.],
       [  71.,  162.],
       [  72.,  162.],
       [  73.,  162.],
       [  74.,  162.],
       [  75.,  162.],
       [  76.,  162.],
       [  77.,  162.],
       [  78.,  162.],
       [  79.,  162.],
       [  80.,  162.],
       [  81.,  162.],
       [  82.,  162.],
       [  83.,  162.],
       [  84.,  162.],
       [  85.,  162.],
       [  86.,  162.],
       [  87.,  162.],
       [  88.,  162.],
       [  89.,  162.],
       [  90.,  162.],
       [  91.,  162.],
       [  92.,  162.],
       [  93.,  162.],
       [  94.,  162.],
       [  95.,  162.],
       [  96.,  162.],
       [  97.,  162.],
       [  98.,  162.],
       [  99.,  162.],
       [ 100.,  162.],
       [ 101.,  162.],
       [ 102.,  162.],
       [ 103.,  162.],
       [ 104.,  162.],
       [ 105.,  162.],
       [ 106.,  162.],
       [ 107.,  162.],
       [ 108.,  162.],
       [ 109.,  162.],
       [ 110.,  162.],
       [ 111.,  162.],
       [ 112.,  162.],
       [ 113.,  162.],
       [ 114.,  162.],
       [ 115.,  162.],
       [ 116.,  162.],
       [ 117.,  162.],
       [ 118.,  162.],
       [ 119.,  162.],
       [ 120.,  162.],
       [ 121.,  162.],
       [ 122.,  162.],
       [ 123.,  162.],
       [ 124.,  162.],
       [ 125.,  162.],
       [ 126.,  162.],
       [ 127.,  162.],
       [ 128.,  162.],
       [ 129.,  162.],
       [ 130.,  162.],
       [ 131.,  162.],
       [ 132.,  162.],
       [ 133.,  162.],
       [ 134.,  162.],
       [ 135.,  162.],
       [ 136.,  162.],
       [ 137.,  162.],
       [ 138.,  162.],
       [ 139.,  162.],
       [ 140.,  162.],
       [ 141.,  162.],
       [ 142.,  162.],
       [ 143.,  162.],
       [ 144.,  162.],
       [ 145.,  162.],
       [ 146.,  162.],
       [ 147.,  162.],
       [ 148.,  162.],
       [ 149.,  162.],
       [ 150.,  162.],
       [ 151.,  162.],
       [ 152.,  162.],
       [ 153.,  162.],
       [ 154.,  162.],
       [ 155.,  162.],
       [ 156.,  162.],
       [ 157.,  162.],
       [ 158.,  162.],
       [ 159.,  162.],
       [ 160.,  162.],
       [ 161.,  162.],
       [ 162.,  162.],
       [ 163.,  162.],
       [ 164.,  162.],
       [ 165.,  162.],
       [ 166.,  162.],
       [ 167.,  162.],
       [ 168.,  162.],
       [ 169.,  162.],
       [ 170.,  162.],
       [ 171.,  162.],
       [ 172.,  162.],
       [ 173.,  162.],
       [ 174.,  162.],
       [ 175.,  162.],
       [ 176.,  162.],
       [ 177.,  162.],
       [ 178.,  162.],
       [ 179.,  162.],
       [ 180.,  162.],
       [ 181.,  162.],
       [ 182.,  162.],
       [ 183.,  162.],
       [ 184.,  162.],
       [ 185.,  162.],
       [ 186.,  162.],
       [ 187.,  162.],
       [ 188.,  162.],
       [ 189.,  162.],
       [ 190.,  162.],
       [ 191.,  162.],
       [ 192.,  162.],
       [ 193.,  162.],
       [ 194.,  162.],
       [ 195.,  162.],
       [ 196.,  162.],
       [ 197.,  162.],
       [ 198.,  162.],
       [ 199.,  162.],
       [ 200.,  162.],
       [ 201.,  162.],
       [ 202.,  162.],
       [ 203.,  162.],
       [ 204.,  162.],
       [ 205.,  162.],
       [ 206.,  162.],
       [ 207.,  162.],
       [ 208.,  162.],
       [ 209.,  162.],
       [ 210.,  162.],
       [ 211.,  162.],
       [ 212.,  162.],
       [ 213.,  162.],
       [ 214.,  162.],
       [ 215.,  162.],
       [ 216.,  162.],
       [ 217.,  162.],
       [ 218.,  162.],
       [ 219.,  162.],
       [ 220.,  162.],
       [ 221.,  162.],
       [ 222.,  162.],
       [ 223.,  162.],
       [ 224.,  162.],
       [ 225.,  162.],
       [ 226.,  162.],
       [ 227.,  162.],
       [ 228.,  162.],
       [ 229.,  162.],
       [ 230.,  162.],
       [ 231.,  162.],
       [ 232.,  162.],
       [ 233.,  162.],
       [ 234.,  162.],
       [ 235.,  162.],
       [ 236.,  162.],
       [ 237.,  162.],
       [ 238.,  162.],
       [ 239.,  162.],
       [ 240.,  162.],
       [ 241.,  162.],
       [ 242.,  162.],
       [ 243.,  162.],
       [ 244.,  162.],
       [ 245.,  162.],
       [ 246.,  162.],
       [ 247.,  162.],
       [ 248.,  162.],
       [ 249.,  162.],
       [ 250.,  162.],
       [ 251.,  162.],
       [ 252.,  162.],
       [ 253.,  162.],
       [ 254.,  162.],
       [ 255.,  162.],
       [ 256.,  162.],
       [ 257.,  162.],
       [ 258.,  162.],
       [ 259.,  162.],
       [ 260.,  162.],
       [ 261.,  162.],
       [ 262.,  162.],
       [ 263.,  162.],
       [ 264.,  162.],
       [ 265.,  162.],
       [ 266.,  162.],
       [ 267.,  162.],
       [ 268.,  162.],
       [ 269.,  162.],
       [ 270.,  162.],
       [ 271.,  162.],
       [ 272.,  162.],
       [ 273.,  162.],
       [ 274.,  162.],
       [ 275.,  162.],
       [ 276.,  162.],
       [ 277.,  162.],
       [ 278.,  162.],
       [ 279.,  162.],
       [ 280.,  162.],
       [ 281.,  162.],
       [ 282.,  162.],
       [ 283.,  162.],
       [ 284.,  162.],
       [ 285.,  162.],
       [ 286.,  162.],
       [ 287.,  162.],
       [ 288.,  162.],
       [ 289.,  162.],
       [ 290.,  162.],
       [ 291.,  162.],
       [ 292.,  162.],
       [ 293.,  162.],
       [ 294.,  162.],
       [ 295.,  162.],
       [ 296.,  162.],
       [ 297.,  162.],
       [ 298.,  162.],
       [ 299.,  162.],
       [ 300.,  162.],
       [ 301.,  162.],
       [ 302.,  162.],
       [ 303.,  162.],
       [ 304.,  162.],
       [ 305.,  162.],
       [ 306.,  162.],
       [ 307.,  162.],
       [ 308.,  162.],
       [ 309.,  162.],
       [ 310.,  162.],
       [ 311.,  162.],
       [ 312.,  162.],
       [ 313.,  162.],
       [ 314.,  162.],
       [ 315.,  162.],
       [ 316.,  162.],
       [ 317.,  162.],
       [ 318.,  162.],
       [ 319.,  162.],
       [ 320.,  162.],
       [ 321.,  162.],
       [ 322.,  162.]])
Coordinates:
  * x_y      (x_y) <U1 u'x' u'y'
  * idx      (idx) int64 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ...
Attributes:
    start_point: (0, 162)
    end_point: (-1, 162)


<xarray.DataArray u'P_2dxy' (Time: 2, bottom_top: 55, xy: 323)>
array([[[ 3167.0234375 ,  3151.203125  ,  3129.890625  , ...,
          1585.2734375 ,  1635.03125   ,  1629.5234375 ],
        [ 3165.59375   ,  3140.640625  ,  3120.1875    , ...,
          1586.25      ,  1633.4140625 ,  1623.125     ],
        [ 3146.46875   ,  3124.3125    ,  3105.953125  , ...,
          1571.5234375 ,  1615.1171875 ,  1610.8828125 ],
        ..., 
        [   47.16455078,    44.47119141,    44.27294922, ...,
            18.95068359,    19.76757812,    19.65283203],
        [   26.86279297,    24.75195312,    24.64208984, ...,
            10.53710938,    10.97021484,    10.92431641],
        [    9.92041016,     7.88720703,     7.86523438, ...,
             3.37207031,     3.5078125 ,     3.48535156]],

       [[ 3167.0234375 ,  3151.203125  ,  3129.890625  , ...,
          1585.2734375 ,  1635.03125   ,  1629.5234375 ],
        [ 3165.59375   ,  3140.640625  ,  3120.1875    , ...,
          1586.25      ,  1633.4140625 ,  1623.125     ],
        [ 3146.46875   ,  3124.3125    ,  3105.953125  , ...,
          1571.5234375 ,  1615.1171875 ,  1610.8828125 ],
        ..., 
        [   47.16455078,    44.47119141,    44.27294922, ...,
            18.95068359,    19.76757812,    19.65283203],
        [   26.86279297,    24.75195312,    24.64208984, ...,
            10.53710938,    10.97021484,    10.92431641],
        [    9.92041016,     7.88720703,     7.86523438, ...,
             3.37207031,     3.5078125 ,     3.48535156]]], dtype=float32)
Coordinates:
  * Time        (Time) datetime64[ns] 2010-06-13T21:00:00 2010-06-13T21:00:00
  * bottom_top  (bottom_top) int64 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...
    datetime    (Time) datetime64[ns] 2010-06-13T21:00:00 2010-06-13T21:00:00
    xy_loc      (xy) object CoordPair(x=0.0, y=162.0) ...
  * xy          (xy) int64 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ...
Attributes:
    description: perturbation pressure
    units: Pa
    Orientation: (0.0,162.0) to (322.0,162.0)


<xarray.DataArray u'P_z' (Time: 2, z: 6)>
array([[ 1398.91162109,  1371.33605957,  1342.515625  ,  1284.37878418,
         1155.76074219,   611.89489746],
       [ 1398.91162109,  1371.33605957,  1342.515625  ,  1284.37878418,
         1155.76074219,   611.89489746]], dtype=float32)
Coordinates:
  * Time     (Time) datetime64[ns] 2010-06-13T21:00:00 2010-06-13T21:00:00
  * z        (z) float32 100.0 200.0 300.0 500.0 1000.0 5000.0
Attributes:
    _FillValue: 9.96920996839e+36
    missing_value: 9.96920996839e+36
    description: perturbation pressure
    units: Pa


In [ ]: