{ "cells": [ { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "# Boundary Pass Central Node Model Results Slab\n", "\n", "Assemble time series from a model results slab for Rich:\n", "\n", "* NEMO-3.6 nowcast-green runs\n", "* full water column\n", "* hourly average results at Boundary Pass location of ONC mooring\n", "* hourly average results at ONC central node\n", "* 13-26 Jul-2016\n", "\n", "*Note: The code in this notebook uses language features that are available only in Python 3.6 and later.*" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [], "source": [ "import os\n", "import pathlib\n", "\n", "import arrow\n", "import cmocean\n", "import numpy as np\n", "from matplotlib.path import Path\n", "from matplotlib.patches import PathPatch\n", "import matplotlib.pyplot as plt\n", "import xarray as xr" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true, "deletable": true, "editable": true }, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true, "deletable": true, "editable": true }, "outputs": [], "source": [ "# ONC description of central node location:\n", "# Depth: 297 m\n", "# Latitude: 49.040066666\n", "# Longitude: -123.425825\n", "central_ji = (424, 266)\n", "# ONC description of Boundary Pass mooring location:\n", "# Depth: 230 m\n", "# Latitude: 48.7665\n", "# Longitude: -123.039556\n", "boundary_ji = (343, 289)" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "## Region of Interest" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true, "deletable": true, "editable": true }, "outputs": [], "source": [ "bathy = xr.open_dataset('https://salishsea.eos.ubc.ca/erddap/griddap/ubcSSnBathymetry2V16-07')" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1, 1, figsize=(10, 8))\n", "ax.set_aspect(5/4.4)\n", "\n", "cmap = cmocean.cm.deep\n", "cmap.set_bad('burlywood')\n", "bathy.bathymetry.isel(gridY=slice(325, 451), gridX=slice(200, 350)).plot(ax=ax, cmap=cmap)\n", "\n", "# Mark closest model points to Boundary Pass mooring and VENUS Central node with red stars\n", "ax.plot(boundary_ji[1], boundary_ji[0], marker='*', color='red')\n", "ax.plot(central_ji[1], central_ji[0], marker='*', color='red')\n", "\n", "# Mark the x-y region of interest with at lime green rectangle\n", "codes = [Path.MOVETO] + [Path.LINETO]*3 + [Path.CLOSEPOLY]\n", "offsets = {'north': 0, 'south': 5, 'east': 25, 'west': 15}\n", "vertices = [\n", " (central_ji[1] - offsets['west'], boundary_ji[0] - offsets['south']),\n", " (central_ji[1] - offsets['west'], central_ji[0] + offsets['north']),\n", " (boundary_ji[1] + offsets['east'], central_ji[0] + offsets['north']),\n", " (boundary_ji[1] + offsets['east'], boundary_ji[0] - offsets['south']),\n", " (0, 0)]\n", "vertices = np.array(vertices, float)\n", "path = Path(vertices, codes)\n", "pathpatch = PathPatch(path, facecolor='None', edgecolor='lime')\n", "ax.add_patch(pathpatch)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "deletable": true, "editable": true }, "source": [ "## Datasets\n", "\n", "* Index ranges in the `y` and `x` directions that define the region of interest above\n", "* Results date range\n", "* Time origin for the dataset we are building\n", "* Results archive storage path\n", "* List of dataset paths to process" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [], "source": [ "y_slice = slice(boundary_ji[0] - offsets['south'], central_ji[0] + offsets['north'])\n", "x_slice = slice(central_ji[1] - offsets['west'], boundary_ji[1] + offsets['east'])\n", "\n", "start_date = arrow.get('2016-07-13')\n", "end_date = arrow.get('2016-07-13')\n", "time_origin = start_date.format('YYYY-MM-DD HH:mm:ss')\n", "\n", "results_archive = pathlib.Path('/results/SalishSea/nowcast-green/')\n", "\n", "def build_datasets_list(grid):\n", " datasets = []\n", " for a in arrow.Arrow.range('day', start_date, end_date):\n", " ddmmmyy = a.format('DDMMMYY').lower()\n", " yyyymmdd = a.format('YYYYMMDD')\n", " results_dir = f'{ddmmmyy}'\n", " grid_1h = f'SalishSea_1h_{yyyymmdd}_{yyyymmdd}_grid_{grid}.nc'\n", " datasets.append(os.fspath(results_archive/results_dir/grid_1h))\n", " return datasets" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "The code below:\n", "\n", "* opens the list of datasets generated above\n", "* indexes into them to isolate the `(y_slice, x_slice)` region of interest\n", "* creates a new dataset object containing, for each model grid point in the region of interest:\n", "\n", " * longitude and latitude\n", " * full depth salinity and temperature profiles\n", " \n", "* stores the new dataset as a netCDF4 file\n", "\n", "**Do not run the cell below in this notebook for more than 1 day for testing purposes!**\n", "\n", "It requires a LOT of memory.\n", "\n", "To produce the whole 2016-06-13 through 2016-06-26 dataset:\n", "\n", "* save this notebook as a Python module\n", "* use the `environment.yaml` file in this directory to create a conda environment to run the module in on `salish`\n", "* activate the conda environment and execute the module from the command-line" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Temperature and Salinity" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [], "source": [ "creation_time = arrow.now().format('YYYY-MM-DD HH:mm:ss ZZ')\n", "start_yyyymmdd = start_date.format('YYYYMMDD')\n", "end_yyyymmdd = end_date.format('YYYYMMDD')\n", "\n", "grid = 'T'\n", "datasets = build_datasets_list(grid)\n", "\n", "with xr.open_mfdataset(datasets) as results:\n", " slab = results.isel(y=y_slice, x=x_slice)\n", "\n", " ds = xr.Dataset(\n", " data_vars={\n", " 'nav_lon': slab.nav_lon,\n", " 'nav_lat': slab.nav_lat,\n", " 'vosaline': slab.vosaline,\n", " 'votemper': slab.votemper,\n", " },\n", " attrs={\n", " 'name': f'SalishSea_1h_{start_yyyymmdd}_{end_yyyymmdd}_grid_{grid}',\n", " 'title': 'SalishSeaCast Boundary Pass and ONC Central Node Temperature and Salinity Results',\n", " 'conventions': 'CF-1.5',\n", " 'source_code': 'https://bitbucket.org/salishsea/results/src/tip/BoundaryPassCentralNodeForRich/BoundaryPassCentralNodeResultsTimeSeries.py',\n", " 'rendered_notebook': 'https://nbviewer.jupyter.org/urls/bitbucket.org/salishsea/results/raw/tip/BoundaryPassCentralNodeForRich/BoundaryPassCentralNodeResultsSlab.ipynb',\n", " 'history': f'{creation_time}: Processed from results files in /results/SalishSea/nowcast-green/',\n", " },\n", " )\n", "\n", " ds.vosaline.attrs['standard_name'] = 'sea_water_reference_salinity'\n", " ds.vosaline.attrs['units'] = 'g kg-1'\n", " ds.time_centered.attrs['time_origin'] = f'hours since {time_origin}'\n", " ds.time_counter.attrs['time_origin'] = f'hours since {time_origin}'\n", "\n", " ds.to_netcdf(\n", " f'SalishSea_1h_{start_yyyymmdd}_{end_yyyymmdd}_grid_{grid}.nc',\n", " format='netCDF4', engine='netcdf4',\n", " encoding={\n", " 'time_counter': {'units': 'hours since 2016-06-13 00:00:00'},\n", " 'time_centered': {'units': 'hours since 2016-06-13 00:00:00'},\n", " },\n", " unlimited_dims='time_counter',\n", " )" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "### `u` Velocity Component" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [], "source": [ "creation_time = arrow.now().format('YYYY-MM-DD HH:mm:ss ZZ')\n", "start_yyyymmdd = start_date.format('YYYYMMDD')\n", "end_yyyymmdd = end_date.format('YYYYMMDD')\n", "\n", "grid = 'U'\n", "datasets = build_datasets_list(grid)\n", "\n", "with xr.open_mfdataset(datasets) as results:\n", " slab = results.isel(y=y_slice, x=x_slice)\n", "\n", " ds = xr.Dataset(\n", " data_vars={\n", " 'nav_lon': slab.nav_lon,\n", " 'nav_lat': slab.nav_lat,\n", " 'vozocrtx': slab.vozocrtx,\n", " },\n", " attrs={\n", " 'name': f'SalishSea_1h_{start_yyyymmdd}_{end_yyyymmdd}_grid_{grid}',\n", " 'title': 'SalishSeaCast Boundary Pass and ONC Central Node {grid.lower()} Velocity Component Results',\n", " 'conventions': 'CF-1.5',\n", " 'source_code': 'https://bitbucket.org/salishsea/results/src/tip/BoundaryPassCentralNodeForRich/BoundaryPassCentralNodeResultsTimeSeries.py',\n", " 'rendered_notebook': 'https://nbviewer.jupyter.org/urls/bitbucket.org/salishsea/results/raw/tip/BoundaryPassCentralNodeForRich/BoundaryPassCentralNodeResultsSlab.ipynb',\n", " 'history': f'{creation_time}: Processed from results files in /results/SalishSea/nowcast-green/',\n", " },\n", " )\n", "\n", " ds.time_centered.attrs['time_origin'] = f'hours since {time_origin}'\n", " ds.time_counter.attrs['time_origin'] = f'hours since {time_origin}'\n", "\n", " ds.to_netcdf(\n", " f'SalishSea_1h_{start_yyyymmdd}_{end_yyyymmdd}_grid_{grid}.nc',\n", " format='netCDF4', engine='netcdf4',\n", " encoding={\n", " 'time_counter': {'units': 'hours since 2016-06-13 00:00:00'},\n", " 'time_centered': {'units': 'hours since 2016-06-13 00:00:00'},\n", " },\n", " unlimited_dims='time_counter',\n", " )" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "### `v` Velocity Component" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [], "source": [ "creation_time = arrow.now().format('YYYY-MM-DD HH:mm:ss ZZ')\n", "start_yyyymmdd = start_date.format('YYYYMMDD')\n", "end_yyyymmdd = end_date.format('YYYYMMDD')\n", "\n", "grid = 'V'\n", "datasets = build_datasets_list(grid)\n", "\n", "with xr.open_mfdataset(datasets) as results:\n", " slab = results.isel(y=y_slice, x=x_slice)\n", "\n", " ds = xr.Dataset(\n", " data_vars={\n", " 'nav_lon': slab.nav_lon,\n", " 'nav_lat': slab.nav_lat,\n", " 'vomecrty': slab.vomecrty,\n", " },\n", " attrs={\n", " 'name': f'SalishSea_1h_{start_yyyymmdd}_{end_yyyymmdd}_grid_{grid}',\n", " 'title': f'SalishSeaCast Boundary Pass and ONC Central Node {grid.lower()} Velocity Component Results',\n", " 'conventions': 'CF-1.5',\n", " 'source_code': 'https://bitbucket.org/salishsea/results/src/tip/BoundaryPassCentralNodeForRich/BoundaryPassCentralNodeResultsTimeSeries.py',\n", " 'rendered_notebook': 'https://nbviewer.jupyter.org/urls/bitbucket.org/salishsea/results/raw/tip/BoundaryPassCentralNodeForRich/BoundaryPassCentralNodeResultsSlab.ipynb',\n", " 'history': f'{creation_time}: Processed from results files in /results/SalishSea/nowcast-green/',\n", " },\n", " )\n", "\n", " ds.time_centered.attrs['time_origin'] = f'hours since {time_origin}'\n", " ds.time_counter.attrs['time_origin'] = f'hours since {time_origin}'\n", "\n", " ds.to_netcdf(\n", " f'SalishSea_1h_{start_yyyymmdd}_{end_yyyymmdd}_grid_{grid}.nc',\n", " format='netCDF4', engine='netcdf4',\n", " encoding={\n", " 'time_counter': {'units': 'hours since 2016-06-13 00:00:00'},\n", " 'time_centered': {'units': 'hours since 2016-06-13 00:00:00'},\n", " },\n", " unlimited_dims='time_counter',\n", " )" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "### `w` Velocity Component" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [], "source": [ "creation_time = arrow.now().format('YYYY-MM-DD HH:mm:ss ZZ')\n", "start_yyyymmdd = start_date.format('YYYYMMDD')\n", "end_yyyymmdd = end_date.format('YYYYMMDD')\n", "\n", "grid = 'W'\n", "datasets = build_datasets_list(grid)\n", "\n", "with xr.open_mfdataset(datasets) as results:\n", " slab = results.isel(y=y_slice, x=x_slice)\n", "\n", " ds = xr.Dataset(\n", " data_vars={\n", " 'nav_lon': slab.nav_lon,\n", " 'nav_lat': slab.nav_lat,\n", " 'vovecrtz': slab.vovecrtz,\n", " },\n", " attrs={\n", " 'name': f'SalishSea_1h_{start_yyyymmdd}_{end_yyyymmdd}_grid_{grid}',\n", " 'title': f'SalishSeaCast Boundary Pass and ONC Central Node {grid.lower()} Velocity Component Results',\n", " 'conventions': 'CF-1.5',\n", " 'source_code': 'https://bitbucket.org/salishsea/results/src/tip/BoundaryPassCentralNodeForRich/BoundaryPassCentralNodeResultsTimeSeries.py',\n", " 'rendered_notebook': 'https://nbviewer.jupyter.org/urls/bitbucket.org/salishsea/results/raw/tip/BoundaryPassCentralNodeForRich/BoundaryPassCentralNodeResultsSlab.ipynb',\n", " 'history': f'{creation_time}: Processed from results files in /results/SalishSea/nowcast-green/',\n", " },\n", " )\n", "\n", " ds.time_centered.attrs['time_origin'] = f'hours since {time_origin}'\n", " ds.time_counter.attrs['time_origin'] = f'hours since {time_origin}'\n", "\n", " ds.to_netcdf(\n", " f'SalishSea_1h_{start_yyyymmdd}_{end_yyyymmdd}_grid_{grid}.nc',\n", " format='netCDF4', engine='netcdf4',\n", " encoding={\n", " 'time_counter': {'units': 'hours since 2016-06-13 00:00:00'},\n", " 'time_centered': {'units': 'hours since 2016-06-13 00:00:00'},\n", " },\n", " unlimited_dims='time_counter',\n", " )" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.0" }, "toc": { "colors": { "hover_highlight": "#DAA520", "running_highlight": "#FF0000", "selected_highlight": "#FFD700" }, "moveMenuLeft": true, "nav_menu": { "height": "80px", "width": "252px" }, "navigate_menu": true, "number_sections": false, "sideBar": true, "threshold": 4, "toc_cell": false, "toc_section_display": "block", "toc_window_display": false } }, "nbformat": 4, "nbformat_minor": 2 }