{ "cells": [ { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [], "source": [ "import xarray as xr\n", "from dask.distributed import Client" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [], "source": [ "mesh = xr.open_dataset('/home/sallen/MEOPAR/grid/mesh_mask202108.nc')\n", "# the mask is 1 where there is water, we want the opposite. The meshmask has an extra dimension, hence the [0]\n", "tmask = 1 - mesh.tmask[0]\n", "area = ((1-tmask) * mesh.e1t[0] * mesh.e2t[0]).rename({'z':'depth', 'y':'gridY', 'x':'gridX'})" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [], "source": [ "chunk_sizes = {'time': 1, 'depth': 40, 'gridY': 898, 'gridX': 398}" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [], "source": [ "year = 2019\n", "fname = 'SalishSeaCast_river_trace_day_avg_allR_00_40_{}0101_{}1231_meters_3d'.format(year, year)\n", "meters = xr.open_dataset('/ocean/cdonaldson/research_runs/hindcast_auto/transformations/3d_hindcast_meters/{}.nc'.format(fname),chunks=chunk_sizes)" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
<xarray.Dataset>\n",
"Dimensions: (time: 365, depth: 40, gridY: 898, gridX: 398)\n",
"Coordinates:\n",
" * time (time) datetime64[ns] 2019-01-01T12:00:00 ... 2019-12-31...\n",
" * depth (depth) float32 0.5 1.5 2.5 3.5 ... 360.7 387.6 414.5 441.5\n",
" * gridY (gridY) int64 0 1 2 3 4 5 6 ... 891 892 893 894 895 896 897\n",
" * gridX (gridX) int64 0 1 2 3 4 5 6 ... 391 392 393 394 395 396 397\n",
"Data variables: (12/13)\n",
" nooksack_river (time, depth, gridY, gridX) float64 dask.array<chunksize=(1, 40, 898, 398), meta=np.ndarray>\n",
" skagit_river (time, depth, gridY, gridX) float64 dask.array<chunksize=(1, 40, 898, 398), meta=np.ndarray>\n",
" snohomish_river (time, depth, gridY, gridX) float64 dask.array<chunksize=(1, 40, 898, 398), meta=np.ndarray>\n",
" nisqually_river (time, depth, gridY, gridX) float64 dask.array<chunksize=(1, 40, 898, 398), meta=np.ndarray>\n",
" elwha_river (time, depth, gridY, gridX) float64 dask.array<chunksize=(1, 40, 898, 398), meta=np.ndarray>\n",
" cowichan_river (time, depth, gridY, gridX) float64 dask.array<chunksize=(1, 40, 898, 398), meta=np.ndarray>\n",
" ... ...\n",
" puntledge_river (time, depth, gridY, gridX) float64 dask.array<chunksize=(1, 40, 898, 398), meta=np.ndarray>\n",
" salmon_river (time, depth, gridY, gridX) float64 dask.array<chunksize=(1, 40, 898, 398), meta=np.ndarray>\n",
" homathko_river (time, depth, gridY, gridX) float64 dask.array<chunksize=(1, 40, 898, 398), meta=np.ndarray>\n",
" squamish_river (time, depth, gridY, gridX) float64 dask.array<chunksize=(1, 40, 898, 398), meta=np.ndarray>\n",
" fraser_river (time, depth, gridY, gridX) float64 dask.array<chunksize=(1, 40, 898, 398), meta=np.ndarray>\n",
" other_rivers (time, depth, gridY, gridX) float64 dask.array<chunksize=(1, 40, 898, 398), meta=np.ndarray><xarray.Dataset>\n",
"Dimensions: (time: 365, gridY: 898, gridX: 398)\n",
"Coordinates:\n",
" * time (time) datetime64[ns] 2019-01-01T12:00:00 ... 2019-12-31...\n",
" * gridY (gridY) int64 0 1 2 3 4 5 6 ... 891 892 893 894 895 896 897\n",
" * gridX (gridX) int64 0 1 2 3 4 5 6 ... 391 392 393 394 395 396 397\n",
"Data variables: (12/13)\n",
" nooksack_river (time, gridY, gridX) float64 dask.array<chunksize=(1, 898, 398), meta=np.ndarray>\n",
" skagit_river (time, gridY, gridX) float64 dask.array<chunksize=(1, 898, 398), meta=np.ndarray>\n",
" snohomish_river (time, gridY, gridX) float64 dask.array<chunksize=(1, 898, 398), meta=np.ndarray>\n",
" nisqually_river (time, gridY, gridX) float64 dask.array<chunksize=(1, 898, 398), meta=np.ndarray>\n",
" elwha_river (time, gridY, gridX) float64 dask.array<chunksize=(1, 898, 398), meta=np.ndarray>\n",
" cowichan_river (time, gridY, gridX) float64 dask.array<chunksize=(1, 898, 398), meta=np.ndarray>\n",
" ... ...\n",
" puntledge_river (time, gridY, gridX) float64 dask.array<chunksize=(1, 898, 398), meta=np.ndarray>\n",
" salmon_river (time, gridY, gridX) float64 dask.array<chunksize=(1, 898, 398), meta=np.ndarray>\n",
" homathko_river (time, gridY, gridX) float64 dask.array<chunksize=(1, 898, 398), meta=np.ndarray>\n",
" squamish_river (time, gridY, gridX) float64 dask.array<chunksize=(1, 898, 398), meta=np.ndarray>\n",
" fraser_river (time, gridY, gridX) float64 dask.array<chunksize=(1, 898, 398), meta=np.ndarray>\n",
" other_rivers (time, gridY, gridX) float64 dask.array<chunksize=(1, 898, 398), meta=np.ndarray>