ACINN workshop, Tue 07.02.2017
Fabien Maussion
Slides: http://fabienmaussion.info/acinn_xarray_workshop
Notebook: On GitHub
Documentation: http://xarray.pydata.org
Repository: https://github.com/pydata/xarray
Initial release: 03.05.2014
Latest release: v0.9.1 (20.01.2017)
53 contributors (latest release: 24)
Umbrellas: Python for data & NumFOCUS (but no funding...)
import numpy as np
a = np.array([[1, 3, 9], [2, 8, 4]])
a
array([[1, 3, 9], [2, 8, 4]])
a[1, 2]
4
a.mean(axis=0)
array([ 1.5, 5.5, 6.5])
import xarray as xr
da = xr.DataArray(a, dims=['lat', 'lon'],
coords={'lon':[11, 12, 13], 'lat':[1, 2]})
da
<xarray.DataArray (lat: 2, lon: 3)> array([[1, 3, 9], [2, 8, 4]]) Coordinates: * lon (lon) int64 11 12 13 * lat (lat) int64 1 2
da.sel(lon=13, lat=2).values
array(4)
da.mean(dim='lat')
<xarray.DataArray (lon: 3)> array([ 1.5, 5.5, 6.5]) Coordinates: * lon (lon) int64 11 12 13
f = 'ERA-Int-MonthlyAvg-4D-TUVWZ.nc'
ds = xr.open_dataset(f)
ds
<xarray.Dataset> Dimensions: (latitude: 241, level: 15, longitude: 480, month: 12) Coordinates: * latitude (latitude) float32 90.0 89.25 88.5 87.75 87.0 ... * level (level) int32 50 100 150 200 300 400 500 600 ... * longitude (longitude) float32 -180.0 -179.25 -178.5 ... * month (month) int64 1 2 3 4 5 6 7 8 9 10 11 12 Data variables: u (month, level, latitude, longitude) float64 10.38 ... v (month, level, latitude, longitude) float64 5.594 ... w (month, level, latitude, longitude) float64 -0.0003052 ... z (month, level, latitude, longitude) float64 1.888e+05 ... t (month, level, latitude, longitude) float64 201.1 ... Attributes: Conventions: CF-1.0 Info: Monthly ERA-Interim data. Downloaded and edited by fabien.maussion@uibk.ac.at
ds.t.sel(month=8, level=850)
<xarray.DataArray 't' (latitude: 241, longitude: 480)> [115680 values with dtype=float64] Coordinates: * latitude (latitude) float32 90.0 89.25 88.5 87.75 87.0 ... level int32 850 * longitude (longitude) float32 -180.0 -179.25 -178.5 ... month int64 8 Attributes: units: K long_name: Temperature standard_name: air_temperature
ds.t.isel(month=7, level=11)
<xarray.DataArray 't' (latitude: 241, longitude: 480)> [115680 values with dtype=float64] Coordinates: * latitude (latitude) float32 90.0 89.25 88.5 87.75 87.0 ... level int32 850 * longitude (longitude) float32 -180.0 -179.25 -178.5 ... month int64 8 Attributes: units: K long_name: Temperature standard_name: air_temperature
ds.t.sel(level=1001, latitude=47.26, longitude=11.38, method='nearest')
<xarray.DataArray 't' (month: 12)> array([ 278.921875, 279.09375 , 282.140625, 285.359375, 290.132812, 293.390625, 295.84375 , 295.867188, 292.21875 , 288.484375, 283.117188, 280.054688]) Coordinates: latitude float32 47.25 level int32 1000 longitude float32 11.25 * month (month) int64 1 2 3 4 5 6 7 8 9 10 11 12 Attributes: units: K long_name: Temperature standard_name: air_temperature
ds.t[7, 11, :, :]
<xarray.DataArray 't' (latitude: 241, longitude: 480)> [115680 values with dtype=float64] Coordinates: * latitude (latitude) float32 90.0 89.25 88.5 87.75 87.0 ... level int32 850 * longitude (longitude) float32 -180.0 -179.25 -178.5 ... month int64 8 Attributes: units: K long_name: Temperature standard_name: air_temperature
ds.u.mean(dim=['month', 'longitude']).plot.contourf(levels=13)
plt.ylim([1000, 100]);
u_avg = ds.u.mean(dim=['month', 'longitude'])
u_avg_masked = u_avg.where(u_avg > 12)
u_avg_masked.plot.contourf(levels=13)
plt.ylim([1000, 100]);
a = xr.DataArray(np.arange(3), dims='time',
coords={'time':np.arange(3)})
b = xr.DataArray(np.arange(4), dims='space',
coords={'space':np.arange(4)})
a + b
<xarray.DataArray (time: 3, space: 4)> array([[0, 1, 2, 3], [1, 2, 3, 4], [2, 3, 4, 5]]) Coordinates: * time (time) int64 0 1 2 * space (space) int64 0 1 2 3
a = xr.DataArray(np.arange(3), dims='time',
coords={'time':np.arange(3)})
b = xr.DataArray(np.arange(5), dims='time',
coords={'time':np.arange(5)+1})
a + b
<xarray.DataArray (time: 2)> array([1, 3]) Coordinates: * time (time) int64 1 2
ts = ds.t.sel(level=1001, latitude=47.26, longitude=11.38, method='nearest')
ts.plot();
import cartopy.crs as ccrs
ax = plt.axes(projection=ccrs.Robinson())
ds.z.sel(level=1000, month=8).plot(ax=ax, transform=ccrs.PlateCarree());
ax.coastlines();
Opening all files in a directory...
mfs = '/home/mowglie/disk/Data/Gridded/GPM/3BDAY_sorted/*.nc'
dsmf = xr.open_mfdataset(mfs)
... results in a consolidated dataset ...
dsmf
<xarray.Dataset> Dimensions: (lat: 732, lon: 620, time: 672) Coordinates: * lat (lat) float32 -56.95 -56.85 -56.75 ... * lon (lon) float32 -93.55 -93.45 -93.35 ... * time (time) datetime64[ns] 2014-03-31 ... Data variables: precipitationCal (time, lat, lon) float64 0.0 0.0 0.3 ... precipitationHQ (time, lat, lon) float64 0.0 0.0 0.325 ...
... on which all usual operations can be applied:
dsmf = dsmf.sel(time='2015')
dsmf
<xarray.Dataset> Dimensions: (lat: 732, lon: 620, time: 365) Coordinates: * lat (lat) float32 -56.95 -56.85 -56.75 ... * lon (lon) float32 -93.55 -93.45 -93.35 ... * time (time) datetime64[ns] 2015-01-01 ... Data variables: precipitationCal (time, lat, lon) float64 0.0 0.0 0.0 ... precipitationHQ (time, lat, lon) float64 0.0 0.0 0.0 ...
Yes, even computations!
ts = dsmf.precipitationCal.mean(dim=['lon', 'lat'])
ts
<xarray.DataArray 'precipitationCal' (time: 365)> dask.array<mean_ag..., shape=(365,), dtype=float64, chunksize=(1,)> Coordinates: * time (time) datetime64[ns] 2015-01-01 2015-01-02 ...
Computations are done "lazily"
No actual computation has happened yet:
ts.data
dask.array<mean_ag..., shape=(365,), dtype=float64, chunksize=(1,)>
But they can be triggered:
ts = ts.load()
ts
<xarray.DataArray 'precipitationCal' (time: 365)> array([ 2.297214, 3.00098 , 2.532836, ..., 2.516468, 2.334409, 3.469001]) Coordinates: * time (time) datetime64[ns] 2015-01-01 2015-01-02 ...
For more information: http://xarray.pydata.org/en/stable/dask.html
ts.plot();
ts.rolling(time=31, center=True).mean().plot();
Taken from: http://ajdawson.github.io/eofs/examples/nao_xarray.html
from eofs.xarray import Eof
from eofs.examples import example_data_path
# Read geopotential height data using the xarray module
filename = example_data_path('hgt_djf.nc')
z_djf = xr.open_dataset(filename)['z']
# Compute anomalies by removing the time-mean.
z_djf = z_djf - z_djf.mean(dim='time')
# Create an EOF solver to do the EOF analysis.
coslat = np.cos(np.deg2rad(z_djf.coords['latitude'].values)).clip(0., 1.)
solver = Eof(z_djf, weights=np.sqrt(coslat)[..., np.newaxis])
# Get the leading EOF
eof1 = solver.eofsAsCovariance(neofs=1)
# Leading EOF expressed as covariance in the European/Atlantic domain
ax = plt.axes(projection=ccrs.Orthographic(central_longitude=-20, central_latitude=60))
ax.coastlines() ; ax.set_global()
eof1[0, 0].plot.contourf(ax=ax, levels=np.linspace(-75, 75, 11),
cmap=plt.cm.RdBu_r, add_colorbar=False,
transform=ccrs.PlateCarree())
ax.set_title('EOF1 expressed as covariance', fontsize=16);
http://salem.readthedocs.io/en/latest/
Try it out:
pip install salem
# importing salem adds a new "toolbox" to xarray objects
import salem
pday = dsmf.precipitationCal.sel(time='2015-02-01')
cm = pday.salem.quick_map(cmap='Blues', vmax=100);
shdf = salem.read_shapefile(salem.get_demo_file('world_borders.shp'))
shdf = shdf.loc[shdf['CNTRY_NAME'].isin(['Peru'])]
dsmfperu = dsmf.salem.subset(shape=shdf, margin=10)
pday = dsmfperu.precipitationCal.sel(time='2015-02-01')
cm = pday.salem.quick_map(cmap='Blues', vmax=100);
dsmfperu = dsmfperu.salem.roi(shape=shdf)
pday = dsmfperu.precipitationCal.sel(time='2015-02-01')
cm = pday.salem.quick_map(cmap='Blues', vmax=100);
prpc_a = dsmfperu.precipitationCal.sum(dim=['time']).load()
prpc_a.salem.quick_map(cmap='Blues', vmax=5000);
Problems:
f = 'wrfpost_d01_2005-09-21_00-00-00_25h.nc'
ds = xr.open_dataset(f)
ds
<xarray.Dataset> Dimensions: (Time: 9, bottom_top: 27, bottom_top_stag: 28, soil_layers_stag: 4, south_north: 200, south_north_stag: 201, west_east: 200, west_east_stag: 201) Coordinates: XLAT (south_north, west_east) float32 1.62003 ... XLAT_U (south_north, west_east_stag) float32 1.59409 ... XLAT_V (south_north_stag, west_east) float32 1.50526 ... XLONG (south_north, west_east) float32 63.3768 ... XLONG_U (south_north, west_east_stag) float32 63.262 ... XLONG_V (south_north_stag, west_east) float32 63.4026 ... Dimensions without coordinates: Time, bottom_top, bottom_top_stag, soil_layers_stag, south_north, south_north_stag, west_east, west_east_stag Data variables: Times (Time) |S19 b'2005-09-21_00:00:00' ... ACGRDFLX (Time, south_north, west_east) float32 0.0 ... ACHFX (Time, south_north, west_east) float32 173706.0 ... ACLHF (Time, south_north, west_east) float32 5.62606e+06 ... ALBBCK (Time, south_north, west_east) float32 0.08 ... ALBEDO (Time, south_north, west_east) float32 0.08 ... AVG_FUEL_FRAC (Time, south_north, west_east) float32 0.0 ... CANWAT (Time, south_north, west_east) float32 0.0 ... CF1 (Time) float32 1.76177 1.76177 ... CF2 (Time) float32 -1.02047 -1.02047 ... CF3 (Time) float32 0.258698 0.258698 ... CFN (Time) float32 1.46268 1.46268 ... CFN1 (Time) float32 -0.462685 -0.462685 ... CLDFRA (Time, bottom_top, south_north, west_east) float32 0.0 ... COSALPHA (south_north, west_east) float32 0.975546 ... DN (bottom_top) float32 0.0 ... DNW (bottom_top) float32 -0.00700003 ... DZS (soil_layers_stag) float32 0.1 0.3 ... E (south_north, west_east) float32 0.000145782 ... EL_PBL (Time, bottom_top, south_north, west_east) float32 0.0 ... EMISS (Time, south_north, west_east) float32 0.98 ... F (south_north, west_east) float32 4.12304e-06 ... FNM (bottom_top) float32 0.0 0.411766 ... FNP (bottom_top) float32 0.0 0.588234 ... GLW (Time, south_north, west_east) float32 404.028 ... GRAUPELNC (Time, south_north, west_east) float32 0.0 ... GRDFLX (Time, south_north, west_east) float32 0.0 ... HAILNC (Time, south_north, west_east) float32 0.0 ... HFX (Time, south_north, west_east) float32 4.29665 ... HFX_FORCE (Time) float32 0.0 0.0 0.0 0.0 0.0 ... HFX_FORCE_TEND (Time) float32 0.0 0.0 0.0 0.0 0.0 ... HGT (south_north, west_east) float32 0.0 ... H_DIABATIC (Time, bottom_top, south_north, west_east) float32 0.0 ... ISLTYP (south_north, west_east) int32 14 ... ITIMESTEP (Time) int32 288 360 432 504 576 ... IVGTYP (south_north, west_east) int32 16 ... K22_SHALLOW (Time, south_north, west_east) int32 0 ... KBCON_SHALLOW (Time, south_north, west_east) int32 0 ... KTOP_SHALLOW (Time, south_north, west_east) int32 0 ... LAI (south_north, west_east) float32 0.0 ... LANDMASK (south_north, west_east) float32 0.0 ... LH (Time, south_north, west_east) float32 140.399 ... LH_FORCE (Time) float32 0.0 0.0 0.0 0.0 0.0 ... LH_FORCE_TEND (Time) float32 0.0 0.0 0.0 0.0 0.0 ... LU_INDEX (south_north, west_east) float32 16.0 ... MAPFAC_M (south_north, west_east) float32 1.14636 ... MAPFAC_MX (south_north, west_east) float32 1.14636 ... MAPFAC_MY (south_north, west_east) float32 1.14636 ... MAPFAC_U (south_north, west_east_stag) float32 1.14663 ... MAPFAC_UX (south_north, west_east_stag) float32 1.14663 ... MAPFAC_UY (south_north, west_east_stag) float32 1.14663 ... MAPFAC_V (south_north_stag, west_east) float32 1.14754 ... MAPFAC_VX (south_north_stag, west_east) float32 1.14754 ... MAPFAC_VY (south_north_stag, west_east) float32 1.14754 ... MAX_MSTFX (Time) float32 0.0 0.0 0.0 0.0 0.0 ... MAX_MSTFY (Time) float32 0.0 0.0 0.0 0.0 0.0 ... MF_VX_INV (south_north_stag, west_east) float32 0.871432 ... MU (Time, south_north, west_east) float32 540.09 ... MUB (Time, south_north, west_east) float32 95000.0 ... NEST_POS (south_north, west_east) float32 0.0 ... NOAHRES (Time, south_north, west_east) float32 0.0 ... OLR (Time, south_north, west_east) float32 285.326 ... P (Time, bottom_top, south_north, west_east) float32 951.938 ... P00 (Time) float32 100000.0 100000.0 ... PB (Time, bottom_top, south_north, west_east) float32 99667.5 ... PBLH (Time, south_north, west_east) float32 803.482 ... PH (Time, bottom_top_stag, south_north, west_east) float32 0.0 ... PHB (Time, bottom_top_stag, south_north, west_east) float32 0.0 ... POTEVP (Time, south_north, west_east) float32 0.0 ... PSFC (Time, south_north, west_east) float32 100959.0 ... P_HYD (Time, bottom_top, south_north, west_east) float32 100618.0 ... P_TOP (Time) float32 5000.0 5000.0 5000.0 ... Q2 (Time, south_north, west_east) float32 0.0201797 ... QCLOUD (Time, bottom_top, south_north, west_east) float32 0.0 ... QFX (Time, south_north, west_east) float32 5.61596e-05 ... QGRAUP (Time, bottom_top, south_north, west_east) float32 0.0 ... QICE (Time, bottom_top, south_north, west_east) float32 0.0 ... QNICE (Time, bottom_top, south_north, west_east) float32 0.0 ... QNRAIN (Time, bottom_top, south_north, west_east) float32 0.0 ... QRAIN (Time, bottom_top, south_north, west_east) float32 0.0 ... QSNOW (Time, bottom_top, south_north, west_east) float32 0.0 ... QVAPOR (Time, bottom_top, south_north, west_east) float32 0.0168769 ... RAINC (Time, south_north, west_east) float32 0.0 ... RAINNC (Time, south_north, west_east) float32 0.0 ... RAINSH (Time, south_north, west_east) float32 0.0 ... RDN (bottom_top) float32 0.0 -117.647 ... RDNW (bottom_top) float32 -142.857 ... RDX (Time) float32 3.33333e-05 ... RDY (Time) float32 3.33333e-05 ... RESM (Time) float32 0.0 0.0 0.0 0.0 0.0 ... SAVE_TOPO_FROM_REAL (Time) int32 0 0 0 0 0 0 0 0 0 SEAICE (Time, south_north, west_east) float32 0.0 ... SEED1 (Time) int32 0 0 0 0 0 0 0 0 0 SEED2 (Time) int32 0 0 0 0 0 0 0 0 0 SFROFF (Time, south_north, west_east) float32 0.0 ... SH2O (Time, soil_layers_stag, south_north, west_east) float32 1.0 ... SINALPHA (south_north, west_east) float32 0.219797 ... SMCREL (Time, soil_layers_stag, south_north, west_east) float32 1.0 ... SMOIS (Time, soil_layers_stag, south_north, west_east) float32 1.0 ... SNOPCX (Time, south_north, west_east) float32 0.0 ... SNOW (Time, south_north, west_east) float32 0.0 ... SNOWC (Time, south_north, west_east) float32 0.0 ... SNOWH (Time, south_north, west_east) float32 0.0 ... SNOWNC (Time, south_north, west_east) float32 0.0 ... SOILTB (Time, south_north, west_east) float32 0.0 ... SR (Time, south_north, west_east) float32 0.0 ... SST (Time, south_north, west_east) float32 302.047 ... SSTSK (Time, south_north, west_east) float32 0.0 ... STEPAVE_COUNT (Time) int32 0 0 0 0 0 0 0 0 0 SWDOWN (Time, south_north, west_east) float32 0.0 ... SWNORM (Time, south_north, west_east) float32 0.0 ... T (Time, bottom_top, south_north, west_east) float32 0.658561 ... T00 (Time) float32 290.0 290.0 290.0 ... T2 (Time, south_north, west_east) float32 301.709 ... TH2 (Time, south_north, west_east) float32 300.887 ... TISO (Time) float32 0.0 0.0 0.0 0.0 0.0 ... TKE_PBL (Time, bottom_top, south_north, west_east) float32 0.105927 ... TLP (Time) float32 50.0 50.0 50.0 50.0 ... TMN (Time, south_north, west_east) float32 302.265 ... TSK (Time, south_north, west_east) float32 302.047 ... TSK_FORCE (Time) float32 0.0 0.0 0.0 0.0 0.0 ... TSK_FORCE_TEND (Time) float32 0.0 0.0 0.0 0.0 0.0 ... TSLB (Time, soil_layers_stag, south_north, west_east) float32 302.047 ... U (Time, bottom_top, south_north, west_east_stag) float32 -2.01244 ... U10 (Time, south_north, west_east) float32 -1.86241 ... UAH (Time, south_north, west_east_stag) float32 0.0 ... UDROFF (Time, south_north, west_east) float32 0.0 ... UST (Time, south_north, west_east) float32 0.20173 ... V (Time, bottom_top, south_north_stag, west_east) float32 6.57835 ... V10 (Time, south_north, west_east) float32 6.27481 ... VAH (Time, south_north_stag, west_east) float32 0.0 ... VEGFRA (south_north, west_east) float32 0.0 ... W (Time, bottom_top_stag, south_north, west_east) float32 0.0 ... XICEM (Time, south_north, west_east) float32 0.0 ... XLAND (Time, south_north, west_east) float32 2.0 ... XMB_SHALLOW (Time, south_north, west_east) float32 0.0 ... XTIME (Time) float32 720.0 900.0 1080.0 ... ZETATOP (Time) float32 0.0 0.0 0.0 0.0 0.0 ... ZNU (Time, bottom_top) float32 0.9965 ... ZNW (Time, bottom_top_stag) float32 1.0 ... ZS (soil_layers_stag) float32 0.05 ... Attributes: TITLE: OUTPUT FROM WRF V3.3.1 MODEL START_DATE: 2005-09-21_00:00:00 SIMULATION_START_DATE: 2005-09-20_12:00:00 WEST-EAST_GRID_DIMENSION: 201 SOUTH-NORTH_GRID_DIMENSION: 201 BOTTOM-TOP_GRID_DIMENSION: 28 DX: 30000.0 DY: 30000.0 GRIDTYPE: C DIFF_OPT: 1 KM_OPT: 4 DAMP_OPT: 3 DAMPCOEF: 0.2 KHDIF: 0.0 KVDIF: 0.0 MP_PHYSICS: 8 RA_LW_PHYSICS: 1 RA_SW_PHYSICS: 1 SF_SFCLAY_PHYSICS: 2 SF_SURFACE_PHYSICS: 2 BL_PBL_PHYSICS: 2 CU_PHYSICS: 5 SURFACE_INPUT_SOURCE: 1 SST_UPDATE: 1 GRID_FDDA: 0 GFDDA_INTERVAL_M: 0 GFDDA_END_H: 0 GRID_SFDDA: 0 SGFDDA_INTERVAL_M: 0 SGFDDA_END_H: 0 SF_URBAN_PHYSICS: 0 FEEDBACK: 1 SMOOTH_OPTION: 0 SWRAD_SCAT: 1.0 W_DAMPING: 0 MOIST_ADV_OPT: 1 SCALAR_ADV_OPT: 1 TKE_ADV_OPT: 1 DIFF_6TH_OPT: 2 DIFF_6TH_FACTOR: 0.12 OBS_NUDGE_OPT: 0 BUCKET_MM: -1.0 BUCKET_J: -1.0 PREC_ACC_DT: 0.0 OMLCALL: 0 ISFTCFLX: 0 ISHALLOW: 0 DFI_OPT: 0 SHCU_PHYSICS: 0 WEST-EAST_PATCH_START_UNSTAG: 1 WEST-EAST_PATCH_END_UNSTAG: 200 WEST-EAST_PATCH_START_STAG: 1 WEST-EAST_PATCH_END_STAG: 201 SOUTH-NORTH_PATCH_START_UNSTAG: 1 SOUTH-NORTH_PATCH_END_UNSTAG: 200 SOUTH-NORTH_PATCH_START_STAG: 1 SOUTH-NORTH_PATCH_END_STAG: 201 BOTTOM-TOP_PATCH_START_UNSTAG: 1 BOTTOM-TOP_PATCH_END_UNSTAG: 27 BOTTOM-TOP_PATCH_START_STAG: 1 BOTTOM-TOP_PATCH_END_STAG: 28 GRID_ID: 1 PARENT_ID: 1 I_PARENT_START: 1 J_PARENT_START: 1 PARENT_GRID_RATIO: 1 DT: 150.0 CEN_LAT: 30.0 CEN_LON: 87.0 TRUELAT1: 30.0 TRUELAT2: 35.0 MOAD_CEN_LAT: 30.0 STAND_LON: 87.0 POLE_LAT: 90.0 POLE_LON: 0.0 GMT: 12.0 JULYR: 2005 JULDAY: 263 MAP_PROJ: 1 MMINLU: USGS NUM_LAND_CAT: 28 ISWATER: 16 ISLAKE: 28 ISICE: 24 ISURBAN: 1 ISOILWATER: 14 history: Thu Nov 10 22:29:11 CET 2011: runncl.sh /cfs/tool/jc_1.4test/utils//POST_wrf.ncl ./wrfout_d01_2005-09-21_00-00-00_24h.nc . 0 vars_stat.csv vars_del.csv Thu Nov 10 22:29:08 2011: ncks -d Time,4,12 wrfout_d01_2005-09-20_12:00:00 wrfout_d01_2005-09-21_00-00-00_24h.nc NCO: 20111110 CREATION_DATE: Thu Nov 10 22:29:11 CET 2011 SPINUP_INDEX: 0 END_INDEX: 8
wrf = salem.open_wrf_dataset(f)
wrf
<xarray.Dataset> Dimensions: (bottom_top: 27, soil_layers: 3, south_north: 200, time: 9, west_east: 200) Coordinates: lat (south_north, west_east) float32 1.62003 ... lon (south_north, west_east) float32 63.3768 ... * time (time) datetime64[ns] 2005-09-21 ... * west_east (west_east) float64 -2.985e+06 ... * south_north (south_north) float64 -2.985e+06 ... Dimensions without coordinates: bottom_top, soil_layers Data variables: ACGRDFLX (time, south_north, west_east) float32 0.0 ... ACHFX (time, south_north, west_east) float32 173706.0 ... ACLHF (time, south_north, west_east) float32 5.62606e+06 ... ALBBCK (time, south_north, west_east) float32 0.08 ... ALBEDO (time, south_north, west_east) float32 0.08 ... AVG_FUEL_FRAC (time, south_north, west_east) float32 0.0 ... CANWAT (time, south_north, west_east) float32 0.0 ... CF1 (time) float32 1.76177 1.76177 ... CF2 (time) float32 -1.02047 -1.02047 ... CF3 (time) float32 0.258698 0.258698 ... CFN (time) float32 1.46268 1.46268 ... CFN1 (time) float32 -0.462685 -0.462685 ... CLDFRA (time, bottom_top, south_north, west_east) float32 0.0 ... COSALPHA (south_north, west_east) float32 0.975546 ... DN (bottom_top) float32 0.0 ... DNW (bottom_top) float32 -0.00700003 ... DZS (soil_layers) float32 0.2 0.45 0.8 E (south_north, west_east) float32 0.000145782 ... EL_PBL (time, bottom_top, south_north, west_east) float32 0.0 ... EMISS (time, south_north, west_east) float32 0.98 ... F (south_north, west_east) float32 4.12304e-06 ... FNM (bottom_top) float32 0.0 0.411766 ... FNP (bottom_top) float32 0.0 0.588234 ... GLW (time, south_north, west_east) float32 404.028 ... GRAUPELNC (time, south_north, west_east) float32 0.0 ... GRDFLX (time, south_north, west_east) float32 0.0 ... HAILNC (time, south_north, west_east) float32 0.0 ... HFX (time, south_north, west_east) float32 4.29665 ... HFX_FORCE (time) float32 0.0 0.0 0.0 0.0 0.0 ... HFX_FORCE_TEND (time) float32 0.0 0.0 0.0 0.0 0.0 ... HGT (south_north, west_east) float32 0.0 ... H_DIABATIC (time, bottom_top, south_north, west_east) float32 0.0 ... ISLTYP (south_north, west_east) int32 14 ... ITIMESTEP (time) int32 288 360 432 504 576 ... IVGTYP (south_north, west_east) int32 16 ... K22_SHALLOW (time, south_north, west_east) int32 0 ... KBCON_SHALLOW (time, south_north, west_east) int32 0 ... KTOP_SHALLOW (time, south_north, west_east) int32 0 ... LAI (south_north, west_east) float32 0.0 ... LANDMASK (south_north, west_east) float32 0.0 ... LH (time, south_north, west_east) float32 140.399 ... LH_FORCE (time) float32 0.0 0.0 0.0 0.0 0.0 ... LH_FORCE_TEND (time) float32 0.0 0.0 0.0 0.0 0.0 ... LU_INDEX (south_north, west_east) float32 16.0 ... MAPFAC_M (south_north, west_east) float32 1.14636 ... MAPFAC_MX (south_north, west_east) float32 1.14636 ... MAPFAC_MY (south_north, west_east) float32 1.14636 ... MAPFAC_U (south_north, west_east) float32 1.14637 ... MAPFAC_UX (south_north, west_east) float32 1.14637 ... MAPFAC_UY (south_north, west_east) float32 1.14637 ... MAPFAC_V (south_north, west_east) float32 1.14637 ... MAPFAC_VX (south_north, west_east) float32 1.14637 ... MAPFAC_VY (south_north, west_east) float32 1.14637 ... MAX_MSTFX (time) float32 0.0 0.0 0.0 0.0 0.0 ... MAX_MSTFY (time) float32 0.0 0.0 0.0 0.0 0.0 ... MF_VX_INV (south_north, west_east) float32 0.872322 ... MU (time, south_north, west_east) float32 540.09 ... MUB (time, south_north, west_east) float32 95000.0 ... NEST_POS (south_north, west_east) float32 0.0 ... NOAHRES (time, south_north, west_east) float32 0.0 ... OLR (time, south_north, west_east) float32 285.326 ... P (time, bottom_top, south_north, west_east) float32 951.938 ... P00 (time) float32 100000.0 100000.0 ... PB (time, bottom_top, south_north, west_east) float32 99667.5 ... PBLH (time, south_north, west_east) float32 803.482 ... PH (time, bottom_top, south_north, west_east) float32 17.5665 ... PHB (time, bottom_top, south_north, west_east) float32 277.505 ... POTEVP (time, south_north, west_east) float32 0.0 ... PSFC (time, south_north, west_east) float32 100959.0 ... P_HYD (time, bottom_top, south_north, west_east) float32 100618.0 ... P_TOP (time) float32 5000.0 5000.0 5000.0 ... Q2 (time, south_north, west_east) float32 0.0201797 ... QCLOUD (time, bottom_top, south_north, west_east) float32 0.0 ... QFX (time, south_north, west_east) float32 5.61596e-05 ... QGRAUP (time, bottom_top, south_north, west_east) float32 0.0 ... QICE (time, bottom_top, south_north, west_east) float32 0.0 ... QNICE (time, bottom_top, south_north, west_east) float32 0.0 ... QNRAIN (time, bottom_top, south_north, west_east) float32 0.0 ... QRAIN (time, bottom_top, south_north, west_east) float32 0.0 ... QSNOW (time, bottom_top, south_north, west_east) float32 0.0 ... QVAPOR (time, bottom_top, south_north, west_east) float32 0.0168769 ... RAINC (time, south_north, west_east) float32 0.0 ... RAINNC (time, south_north, west_east) float32 0.0 ... RAINSH (time, south_north, west_east) float32 0.0 ... RDN (bottom_top) float32 0.0 -117.647 ... RDNW (bottom_top) float32 -142.857 ... RDX (time) float32 3.33333e-05 ... RDY (time) float32 3.33333e-05 ... RESM (time) float32 0.0 0.0 0.0 0.0 0.0 ... SAVE_TOPO_FROM_REAL (time) int32 0 0 0 0 0 0 0 0 0 SEAICE (time, south_north, west_east) float32 0.0 ... SEED1 (time) int32 0 0 0 0 0 0 0 0 0 SEED2 (time) int32 0 0 0 0 0 0 0 0 0 SFROFF (time, south_north, west_east) float32 0.0 ... SH2O (time, soil_layers, south_north, west_east) float32 1.0 ... SINALPHA (south_north, west_east) float32 0.219797 ... SMCREL (time, soil_layers, south_north, west_east) float32 1.0 ... SMOIS (time, soil_layers, south_north, west_east) float32 1.0 ... SNOPCX (time, south_north, west_east) float32 0.0 ... SNOW (time, south_north, west_east) float32 0.0 ... SNOWC (time, south_north, west_east) float32 0.0 ... SNOWH (time, south_north, west_east) float32 0.0 ... SNOWNC (time, south_north, west_east) float32 0.0 ... SOILTB (time, south_north, west_east) float32 0.0 ... SR (time, south_north, west_east) float32 0.0 ... SST (time, south_north, west_east) float32 302.047 ... SSTSK (time, south_north, west_east) float32 0.0 ... STEPAVE_COUNT (time) int32 0 0 0 0 0 0 0 0 0 SWDOWN (time, south_north, west_east) float32 0.0 ... SWNORM (time, south_north, west_east) float32 0.0 ... T (time, bottom_top, south_north, west_east) float32 0.658561 ... T00 (time) float32 290.0 290.0 290.0 ... T2 (time, south_north, west_east) float32 301.709 ... TH2 (time, south_north, west_east) float32 300.887 ... TISO (time) float32 0.0 0.0 0.0 0.0 0.0 ... TKE_PBL (time, bottom_top, south_north, west_east) float32 0.105927 ... TLP (time) float32 50.0 50.0 50.0 50.0 ... TMN (time, south_north, west_east) float32 302.265 ... TSK (time, south_north, west_east) float32 302.047 ... TSK_FORCE (time) float32 0.0 0.0 0.0 0.0 0.0 ... TSK_FORCE_TEND (time) float32 0.0 0.0 0.0 0.0 0.0 ... TSLB (time, soil_layers, south_north, west_east) float32 287.603 ... U (time, bottom_top, south_north, west_east) float32 -1.96133 ... U10 (time, south_north, west_east) float32 -1.86241 ... UAH (time, south_north, west_east) float32 0.0 ... UDROFF (time, south_north, west_east) float32 0.0 ... UST (time, south_north, west_east) float32 0.20173 ... V (time, bottom_top, south_north, west_east) float32 6.60783 ... V10 (time, south_north, west_east) float32 6.27481 ... VAH (time, south_north, west_east) float32 0.0 ... VEGFRA (south_north, west_east) float32 0.0 ... W (time, bottom_top, south_north, west_east) float32 -0.000252068 ... XICEM (time, south_north, west_east) float32 0.0 ... XLAND (time, south_north, west_east) float32 2.0 ... XMB_SHALLOW (time, south_north, west_east) float32 0.0 ... xtime (time) float32 720.0 900.0 1080.0 ... ZETATOP (time) float32 0.0 0.0 0.0 0.0 0.0 ... ZNU (time, bottom_top) float32 0.9965 ... ZNW (time, bottom_top) float32 0.9965 ... ZS (soil_layers) float32 0.15 0.475 1.1 WS (time, bottom_top, south_north, west_east) float32 6.89276 ... GEOPOTENTIAL (time, bottom_top, south_north, west_east) float32 295.071 ... SLP (time, south_north, west_east) float32 1009.71 ... Z (time, bottom_top, south_north, west_east) float32 30.0786 ... T2C (time, south_north, west_east) float32 28.5587 ... PRESSURE (time, bottom_top, south_north, west_east) float32 100619.0 ... THETA (time, bottom_top, south_north, west_east) float32 300.659 ... TK (time, bottom_top, south_north, west_east) float32 301.19 ... PRCP (time, south_north, west_east) float32 nan ... PRCP_NC (time, south_north, west_east) float32 nan ... PRCP_C (time, south_north, west_east) float32 nan ... Attributes: TITLE: OUTPUT FROM WRF V3.3.1 MODEL START_DATE: 2005-09-21_00:00:00 SIMULATION_START_DATE: 2005-09-20_12:00:00 WEST-EAST_GRID_DIMENSION: 201 SOUTH-NORTH_GRID_DIMENSION: 201 BOTTOM-TOP_GRID_DIMENSION: 28 DX: 30000.0 DY: 30000.0 GRIDTYPE: C DIFF_OPT: 1 KM_OPT: 4 DAMP_OPT: 3 DAMPCOEF: 0.2 KHDIF: 0.0 KVDIF: 0.0 MP_PHYSICS: 8 RA_LW_PHYSICS: 1 RA_SW_PHYSICS: 1 SF_SFCLAY_PHYSICS: 2 SF_SURFACE_PHYSICS: 2 BL_PBL_PHYSICS: 2 CU_PHYSICS: 5 SURFACE_INPUT_SOURCE: 1 SST_UPDATE: 1 GRID_FDDA: 0 GFDDA_INTERVAL_M: 0 GFDDA_END_H: 0 GRID_SFDDA: 0 SGFDDA_INTERVAL_M: 0 SGFDDA_END_H: 0 SF_URBAN_PHYSICS: 0 FEEDBACK: 1 SMOOTH_OPTION: 0 SWRAD_SCAT: 1.0 W_DAMPING: 0 MOIST_ADV_OPT: 1 SCALAR_ADV_OPT: 1 TKE_ADV_OPT: 1 DIFF_6TH_OPT: 2 DIFF_6TH_FACTOR: 0.12 OBS_NUDGE_OPT: 0 BUCKET_MM: -1.0 BUCKET_J: -1.0 PREC_ACC_DT: 0.0 OMLCALL: 0 ISFTCFLX: 0 ISHALLOW: 0 DFI_OPT: 0 SHCU_PHYSICS: 0 WEST-EAST_PATCH_START_UNSTAG: 1 WEST-EAST_PATCH_END_UNSTAG: 200 WEST-EAST_PATCH_START_STAG: 1 WEST-EAST_PATCH_END_STAG: 201 SOUTH-NORTH_PATCH_START_UNSTAG: 1 SOUTH-NORTH_PATCH_END_UNSTAG: 200 SOUTH-NORTH_PATCH_START_STAG: 1 SOUTH-NORTH_PATCH_END_STAG: 201 BOTTOM-TOP_PATCH_START_UNSTAG: 1 BOTTOM-TOP_PATCH_END_UNSTAG: 27 BOTTOM-TOP_PATCH_START_STAG: 1 BOTTOM-TOP_PATCH_END_STAG: 28 GRID_ID: 1 PARENT_ID: 1 I_PARENT_START: 1 J_PARENT_START: 1 PARENT_GRID_RATIO: 1 DT: 150.0 CEN_LAT: 30.0 CEN_LON: 87.0 TRUELAT1: 30.0 TRUELAT2: 35.0 MOAD_CEN_LAT: 30.0 STAND_LON: 87.0 POLE_LAT: 90.0 POLE_LON: 0.0 GMT: 12.0 JULYR: 2005 JULDAY: 263 MAP_PROJ: 1 MMINLU: USGS NUM_LAND_CAT: 28 ISWATER: 16 ISLAKE: 28 ISICE: 24 ISURBAN: 1 ISOILWATER: 14 history: Thu Nov 10 22:29:11 CET 2011: runncl.sh /cfs/tool/jc_1.4test/utils//POST_wrf.ncl ./wrfout_d01_2005-09-21_00-00-00_24h.nc . 0 vars_stat.csv vars_del.csv Thu Nov 10 22:29:08 2011: ncks -d Time,4,12 wrfout_d01_2005-09-20_12:00:00 wrfout_d01_2005-09-21_00-00-00_24h.nc NCO: 20111110 CREATION_DATE: Thu Nov 10 22:29:11 CET 2011 SPINUP_INDEX: 0 END_INDEX: 8 pyproj_srs: +units=m +proj=lcc +lat_1=30.0 +lat_2=35.0 +lat_0=30.0 +lon_0=87.0 +x_0=0 +y_0=0 +a=6370000 +b=6370000
wrf.T2C.mean(dim='time', keep_attrs=True).salem.quick_map();
ws_h = wrf.isel(time=5).salem.wrf_zlevel('WS', levels=10000.)
ws_h.salem.quick_map(cmap='Reds');