{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import netCDF4 as nc\n", "import datetime as dt\n", "from salishsea_tools import evaltools as et, places\n", "import xarray as xr\n", "\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Example 1: load a time series at one location by accessing netCDF4 files stored on /results or /results2" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " paths t_0 t_n\n", "0 /results/SalishSea/nowcast-green.201812/01mar1... 2017-03-01 2017-03-02\n", "1 /results/SalishSea/nowcast-green.201812/02mar1... 2017-03-02 2017-03-03\n", "2 /results/SalishSea/nowcast-green.201812/03mar1... 2017-03-03 2017-03-04\n", "3 /results/SalishSea/nowcast-green.201812/04mar1... 2017-03-04 2017-03-05\n", "4 /results/SalishSea/nowcast-green.201812/05mar1... 2017-03-05 2017-03-06\n", "5 /results/SalishSea/nowcast-green.201812/06mar1... 2017-03-06 2017-03-07\n", "6 /results/SalishSea/nowcast-green.201812/07mar1... 2017-03-07 2017-03-08\n", "7 /results/SalishSea/nowcast-green.201812/08mar1... 2017-03-08 2017-03-09\n", "8 /results/SalishSea/nowcast-green.201812/09mar1... 2017-03-09 2017-03-10\n", "9 /results/SalishSea/nowcast-green.201812/10mar1... 2017-03-10 2017-03-11\n", "10 /results/SalishSea/nowcast-green.201812/11mar1... 2017-03-11 2017-03-12\n", "11 /results/SalishSea/nowcast-green.201812/12mar1... 2017-03-12 2017-03-13\n", "12 /results/SalishSea/nowcast-green.201812/13mar1... 2017-03-13 2017-03-14\n", "13 /results/SalishSea/nowcast-green.201812/14mar1... 2017-03-14 2017-03-15\n", "14 /results/SalishSea/nowcast-green.201812/15mar1... 2017-03-15 2017-03-16\n", "15 /results/SalishSea/nowcast-green.201812/16mar1... 2017-03-16 2017-03-17\n", "16 /results/SalishSea/nowcast-green.201812/17mar1... 2017-03-17 2017-03-18\n", "17 /results/SalishSea/nowcast-green.201812/18mar1... 2017-03-18 2017-03-19\n", "18 /results/SalishSea/nowcast-green.201812/19mar1... 2017-03-19 2017-03-20\n", "19 /results/SalishSea/nowcast-green.201812/20mar1... 2017-03-20 2017-03-21\n", "20 /results/SalishSea/nowcast-green.201812/21mar1... 2017-03-21 2017-03-22\n", "21 /results/SalishSea/nowcast-green.201812/22mar1... 2017-03-22 2017-03-23\n", "22 /results/SalishSea/nowcast-green.201812/23mar1... 2017-03-23 2017-03-24\n", "23 /results/SalishSea/nowcast-green.201812/24mar1... 2017-03-24 2017-03-25\n", "24 /results/SalishSea/nowcast-green.201812/25mar1... 2017-03-25 2017-03-26\n", "25 /results/SalishSea/nowcast-green.201812/26mar1... 2017-03-26 2017-03-27\n", "26 /results/SalishSea/nowcast-green.201812/27mar1... 2017-03-27 2017-03-28\n", "27 /results/SalishSea/nowcast-green.201812/28mar1... 2017-03-28 2017-03-29\n", "28 /results/SalishSea/nowcast-green.201812/29mar1... 2017-03-29 2017-03-30\n", "29 /results/SalishSea/nowcast-green.201812/30mar1... 2017-03-30 2017-03-31\n", "30 /results/SalishSea/nowcast-green.201812/31mar1... 2017-03-31 2017-04-01\n", "31 /results/SalishSea/nowcast-green.201812/01apr1... 2017-04-01 2017-04-02\n", "CPU times: user 48 ms, sys: 0 ns, total: 48 ms\n", "Wall time: 62.6 ms\n" ] } ], "source": [ "%%time\n", "start= dt.datetime(2017,3,1)\n", "end=dt.datetime(2017,4,1) # the code called below (evaltools.index_model_files) includes the end date \n", " # in the values returned\n", "basedir='/results/SalishSea/nowcast-green.201812/'\n", "nam_fmt='nowcast'\n", "flen=1 # files contain 1 day of data each\n", "ftype= 'ptrc_T' # load bio files\n", "tres=24 # 1: hourly resolution; 24: daily resolution <- try changing to 1 and loading hourly data\n", "flist=et.index_model_files(start,end,basedir,nam_fmt,flen,ftype,tres)\n", "# flist contains paths: file pathes; t_0 timestemp of start of each file; t_n: timestamp of start of next file\n", "print(flist)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "dict_keys(['nav_lat', 'nav_lon', 'bounds_lon', 'bounds_lat', 'area', 'deptht', 'deptht_bounds', 'nitrate', 'time_centered', 'time_centered_bounds', 'time_counter', 'time_counter_bounds', 'ammonium', 'silicon', 'diatoms', 'flagellates', 'ciliates', 'microzooplankton', 'dissolved_organic_nitrogen', 'particulate_organic_nitrogen', 'biogenic_silicon', 'Fraser_tracer', 'mesozooplankton'])\n", "time origin: 1900-01-01 00:00:00\n" ] } ], "source": [ "# reminder of variable names in ptrc files:\n", "with nc.Dataset(flist.loc[0,['paths']].values[0]) as ff: # <-when you access elements of a pandas array, sometimes\n", " # you get an array output, even if it only contains one\n", " # element. To get the element rather than the array \n", " # containing it, use [0]\n", " print(ff.variables.keys())\n", " # also grab time reference:\n", " torig=dt.datetime.strptime(ff.variables['time_centered'].time_origin,'%Y-%m-%d %H:%M:%S')\n", " print('time origin:',torig)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# get model i,j of location S3 from places\n", "ij,ii=places.PLACES['S3']['NEMO grid ji']\n", "ik=0 # choose surface level\n", "\n", "nlen= int(tres*24/flen) # number of data points per file" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CPU times: user 8.99 s, sys: 1.64 s, total: 10.6 s\n", "Wall time: 18.8 s\n" ] } ], "source": [ "%%time\n", "# create empty numpy arrays of shape of desired timeseries (1 dimension, length of flist)\n", "tt= np.zeros((flist.shape[0]*nlen,),dtype=object) # array to hold times\n", "micZ= np.zeros((flist.shape[0]*nlen,)) # array to hold microzo conc\n", "diat= np.zeros((flist.shape[0]*nlen,)) # array to hold diatom conc\n", "for ind, row in flist.iterrows():\n", " with nc.Dataset(row['paths']) as ff:\n", " tt[ind*nlen:(ind+1)*nlen]=[torig+dt.timedelta(seconds=xx) for xx in ff.variables['time_centered'][:]]\n", " micZ[ind*nlen:(ind+1)*nlen]=ff.variables['microzooplankton'][:,ik,ij,ii]\n", " diat[ind*nlen:(ind+1)*nlen]=ff.variables['diatoms'][:,ik,ij,ii]" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CPU times: user 56 ms, sys: 0 ns, total: 56 ms\n", "Wall time: 57.6 ms\n" ] }, { "data": { "text/plain": [ "(17226.5, 17257.5)" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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7c8//zy7d+8+0dCEEEIIIfxidjg4v7oaq8vFe6WljPaZyXswCWdP9ynAQqVUI/AX4Ayl1J8OfZLW+mmtdaXWujJnkFxtGqiFCxdy9913+/VcrTVud/R0/EvSLYQQQohwsbvdfGnjRrZarfy9uJiZKSmRDmlAYUu6tdbf01qP01oXAF8BqrTW14Tr+MHS2NjI9OnTuemmmyguLubqq6/m3//+N6eccgpTp07ls88+4/nnn+e2224DYN++fVxyySWUlZVRVlbGf//7XxobG5kxYwa33nors2bNYufOnXznO9+huLiYkpIS/vrXvwJw3333UV5eTnl5OXl5edxwww0A/OIXv6C4uJji4mIef/zx3tiOtN0b7/XXX09paSmXXXYZ3d3dh72vW265hcrKSoqKivjhD3/Yu72goIAf/vCHzJo1i5KSEjZv3nzYa//whz9w3nnn8dJLL7Fq1SquvvpqysvLsVqtLFmyhIqKCkpKSrjxxhvp6enxe79CCCGEEAPRWnNzXR1VZjPPTJvGGVlZkQ7pqIb2ON1L74T964K7z9xyOP3xoz6lvr6ev/3tbzz99NPMmTOHl19+meXLl/P222/z05/+lIsvvrj3ubfffjunnXYab7zxBi6Xi87OTtra2qirq+O5557jiSee4PXXX2fdunWsX7+e1tZW5syZw4IFC3jggQd44IEHaG9vZ/78+dx2222sXr2a5557jk8//RStNfPmzeO0007D7XYfcXtWVhZ1dXU8++yznHLKKdx444088cQTfPvb3+73nh588EFGjBiBy+XizDPPpLq6mtLSUgCys7NZs2YNTzzxBI8++ijPPNN3Hexvf/tbPvjgA958800SEhJ49tlnefTRR6msrMRms7Fo0SKWLFlCYWEh1113HU8++SR33nnnMfcrhBBCCHE0P96xgxf27eP+ggKuGz060uEcUySGDERr/ZHW+sJIHDsYJk6cSElJCSaTiaKiIs4880yUUpSUlNDY2NjvuVVVVdxyyy0AxMTEkJGRAUB+fj4nnXQSAMuXL+fKK68kJiaGUaNGcdppp7Fy5UrA+BZ39dVX861vfYvZs2ezfPlyLrnkElJSUkhNTeXSSy9l2bJlA24HGD9+PKeccgoA11xzDcuXLz/sPb366qvMmjWLiooKNm7cyKZNm3ofu/TSSwGYPXt2v/f30ksv8f777/P6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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "%%time\n", "fig,ax=plt.subplots(1,1,figsize=(12,3))\n", "ax.plot(tt,diat,'c-',label='diatoms')\n", "ax.plot(tt,micZ,'-',color='darkorange',label='microzooplankton')\n", "ax.legend(loc=2);\n", "ax.set_ylabel('Concentration ($\\mu$M N)')\n", "ax.set_xlim(tt[0],tt[-1])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### repeat with hourly data over a shorter interval" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
pathst_0t_n
0/results/SalishSea/nowcast-green.201812/01mar1...2017-03-012017-03-02
1/results/SalishSea/nowcast-green.201812/02mar1...2017-03-022017-03-03
2/results/SalishSea/nowcast-green.201812/03mar1...2017-03-032017-03-04
3/results/SalishSea/nowcast-green.201812/04mar1...2017-03-042017-03-05
4/results/SalishSea/nowcast-green.201812/05mar1...2017-03-052017-03-06
\n", "
" ], "text/plain": [ " paths t_0 t_n\n", "0 /results/SalishSea/nowcast-green.201812/01mar1... 2017-03-01 2017-03-02\n", "1 /results/SalishSea/nowcast-green.201812/02mar1... 2017-03-02 2017-03-03\n", "2 /results/SalishSea/nowcast-green.201812/03mar1... 2017-03-03 2017-03-04\n", "3 /results/SalishSea/nowcast-green.201812/04mar1... 2017-03-04 2017-03-05\n", "4 /results/SalishSea/nowcast-green.201812/05mar1... 2017-03-05 2017-03-06" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "start= dt.datetime(2017,3,1)\n", "end=dt.datetime(2017,3,5) # the code called below (evaltools.index_model_files) includes the end date \n", " # in the values returned\n", "tres=1 # 1: hourly resolution; 24: daily resolution <- try changing to 1 and loading hourly data\n", "flist=et.index_model_files(start,end,basedir,nam_fmt,flen,ftype,tres)\n", "# flist contains paths: file pathes; t_0 timestemp of start of each file; t_n: timestamp of start of next file\n", "flist" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "# get model i,j of location S3 from places\n", "ij,ii=places.PLACES['S3']['NEMO grid ji']\n", "ik=0 # choose surface level\n", "\n", "nlen= int(tres*24/flen) # number of data points per file" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CPU times: user 32.4 s, sys: 5.78 s, total: 38.1 s\n", "Wall time: 40 s\n" ] } ], "source": [ "%%time\n", "# create empty numpy arrays of shape of desired timeseries (1 dimension, length of flist)\n", "tt= np.zeros((flist.shape[0]*nlen,),dtype=object) # array to hold times\n", "micZ= np.zeros((flist.shape[0]*nlen,)) # array to hold microzo conc\n", "diat= np.zeros((flist.shape[0]*nlen,)) # array to hold diatom conc\n", "for ind, row in flist.iterrows():\n", " with nc.Dataset(row['paths']) as ff:\n", " tt[ind*nlen:(ind+1)*nlen]=[torig+dt.timedelta(seconds=xx) for xx in ff.variables['time_centered'][:]]\n", " micZ[ind*nlen:(ind+1)*nlen]=ff.variables['microzooplankton'][:,ik,ij,ii]\n", " diat[ind*nlen:(ind+1)*nlen]=ff.variables['diatoms'][:,ik,ij,ii]" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CPU times: user 12 ms, sys: 4 ms, total: 16 ms\n", "Wall time: 14 ms\n" ] }, { "data": { "text/plain": [ "(17226.020833333332, 17230.979166666668)" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "%%time\n", "fig,ax=plt.subplots(1,1,figsize=(12,3))\n", "ax.plot(tt,diat,'c-',label='diatoms')\n", "ax.plot(tt,micZ,'-',color='darkorange',label='microzooplankton')\n", "ax.legend(loc=2);\n", "ax.set_ylabel('Concentration ($\\mu$M N)')\n", "ax.set_xlim(tt[0],tt[-1])" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python (py39)", "language": "python", "name": "py39" }, "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.9.2" } }, "nbformat": 4, "nbformat_minor": 4 }