{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Time series of spring phytoplankton bloom and model forcing at station S3 from Feb 15th - June 15th 2015" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import matplotlib.dates as mdates\n", "import matplotlib as mpl\n", "import netCDF4 as nc\n", "import datetime as dt\n", "from salishsea_tools import evaltools as et, places, viz_tools, visualisations\n", "import xarray as xr\n", "import pandas as pd\n", "import pickle\n", "import os\n", "\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "start=dt.datetime(2015,2,15)\n", "end=dt.datetime(2015,6,15)\n", "year=str(start.year)\n", "modver='201812'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Location of station S3" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Latitude')" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "loc='S3'\n", "\n", "# lat and lon informatin for place:\n", "lon,lat=places.PLACES['S3']['lon lat']\n", "# get place information on SalishSeaCast grid:\n", "ij,ii=places.PLACES['S3']['NEMO grid ji']\n", "# GEM2.5 grid ji is atm forcing grid for ops files\n", "jw,iw=places.PLACES['S3']['GEM2.5 grid ji']\n", "\n", "fig, ax = plt.subplots(1,1,figsize = (6,6))\n", "with nc.Dataset('/data/vdo/MEOPAR/NEMO-forcing/grid/bathymetry_201702.nc') as grid:\n", " viz_tools.plot_coastline(ax, grid, coords ='map', isobath=.1)\n", "ax.plot(lon, lat, '.', markersize=14, color='red')\n", "ax.set_ylim(48,50)\n", "ax.set_xlim(-125,-122)\n", "ax.set_title('Location of Station S3')\n", "ax.set_xlabel('Longitude')\n", "ax.set_ylabel('Latitude')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### load data" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "savedir='/ocean/aisabell/MEOPAR/extracted_files'\n", "#savedir='/data/eolson/results/MEOPAR'\n", "fname=f'springTimeSeries_{year}_{loc}_{modver}.pkl'\n", "savepath=os.path.join(savedir,fname)\n", "recalc=False" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "if recalc==True or not os.path.isfile(savepath):\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 \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", " # a list of the files we want between start and end date\n", " print(flist)\n", " fliste3t = et.index_model_files(start,end,basedir,nam_fmt,flen,\"carp_T\",tres)\n", "\n", " ik=0\n", " with xr.open_mfdataset(flist['paths']) as bio:\n", " bio_time=np.array(bio.time_centered[:])\n", " sno3=np.array(bio.nitrate.isel(deptht=ik,y=ij,x=ii))\n", " sdiat=np.array(bio.diatoms.isel(deptht=ik,y=ij,x=ii))\n", " sflag=np.array(bio.flagellates.isel(deptht=ik,y=ij,x=ii))\n", " scili=np.array(bio.ciliates.isel(deptht=ik,y=ij,x=ii))\n", " no3_alld=np.array(bio.nitrate.isel(y=ij,x=ii)) \n", " diat_alld=np.array(bio.diatoms.isel(y=ij,x=ii))\n", " flag_alld=np.array(bio.flagellates.isel(y=ij,x=ii))\n", " cili_alld=np.array(bio.ciliates.isel(y=ij,x=ii))\n", " with xr.open_mfdataset(fliste3t['paths']) as carp:\n", " intdiat=np.array(np.sum(bio.diatoms.isel(y=ij,x=ii)*carp.e3t.isel(y=ij,x=ii),1)) # depth integrated diatom\n", " intphyto=np.array(np.sum((bio.diatoms.isel(y=ij,x=ii)+bio.flagellates.isel(y=ij,x=ii)\\\n", " +bio.ciliates.isel(y=ij,x=ii))*carp.e3t.isel(y=ij,x=ii),1))\n", " spar=np.array(carp.PAR.isel(deptht=ik,y=ij,x=ii))\n", " fracdiat=intdiat/intphyto # depth integrated fraction of diatoms\n", "\n", " sphyto=sdiat+sflag+scili\n", " phyto_alld=diat_alld+flag_alld+cili_alld\n", " percdiat=sdiat/sphyto # percent diatoms\n", "\n", " opsdir='/results/forcing/atmospheric/GEM2.5/operational'\n", "\n", " flist2=et.index_model_files(start,end,opsdir,nam_fmt='ops',flen=1,ftype='None',tres=24)\n", " with xr.open_mfdataset(flist2['paths']) as winds:\n", " u_wind=np.array(winds.u_wind.isel(y=jw,x=iw))\n", " v_wind=np.array(winds.v_wind.isel(y=jw,x=iw))\n", " twind=np.array(winds.time_counter)\n", " solar=np.array(winds.solar.isel(y=jw,x=iw))\n", " # wind speed:\n", " wspeed=np.sqrt(u_wind**2 + v_wind**2)\n", " # wind direction in degrees from east\n", " d = np.arctan2(v_wind, u_wind)\n", " winddirec=np.rad2deg(d + (d < 0)*2*np.pi)\n", "\n", " # reading Fraser river flow files\n", " dfFra=pd.read_csv('/ocean/eolson/MEOPAR/obs/ECRivers/Flow/FraserHopeDaily__Dec-2-2020_10_31_05PM.csv',\n", " skiprows=1)\n", " # the original file contains both flow and water level information in the same field (Value)\n", " # keep only the flow data, where PARAM=1 (drop PARAM=2 values, water level data)\n", " # flow units are m3/s\n", " # DD is YD, year day (ie. 1 is jan 1)\n", " dfFra.drop(dfFra.loc[dfFra.PARAM==2].index,inplace=True) \n", "\n", " # rename 'Value' column to 'Flow' now that we have removed all the water level rows\n", " dfFra.rename(columns={'Value':'Flow'}, inplace=True) \n", " # inplace=True does this function on the orginal dataframe\n", "\n", " # no time information so use dt.date\n", " dfFra['Date']=[dt.date(iyr,1,1)+dt.timedelta(days=idd-1) for iyr, idd in zip(dfFra['YEAR'],dfFra['DD'])]\n", " # taking the value from the yr column, jan1st date, and making jan1 column to be 1 not 0\n", " dfFra.head(2)\n", "\n", " # select portion of dataframe in desired date range\n", " dfFra2=dfFra.loc[(dfFra.Date>=start.date())&(dfFra.Date<=end.date())]\n", " riv_time=dfFra2['Date'].values\n", " rivFlow=dfFra2['Flow'].values\n", " # could also write dfFra['Date'], sometimes this is required\n", " # newstart is a datetime object, so we convert it to just a date with .date\n", " pickle.dump((bio_time,sno3,sdiat,sflag,scili,diat_alld,no3_alld,flag_alld,cili_alld,phyto_alld,intdiat,intphyto,spar,fracdiat,sphyto,percdiat,\n", " u_wind,v_wind,twind,solar,wspeed,winddirec,riv_time,rivFlow),open(savepath,'wb'))\n", "else:\n", " bio_time,sno3,sdiat,sflag,scili,diat_alld,no3_alld,flag_alld,cili_alld,phyto_alld,intdiat,intphyto,spar,fracdiat,sphyto,percdiat,\\\n", " u_wind,v_wind,twind,solar,wspeed,winddirec,riv_time,rivFlow=pickle.load(open(savepath,'rb'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Total surface phytoplankton and nitrate:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Surface Phytoplankton and Nitrate at Station S3')" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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4vwilaHVOFtITq8vbXdVvccWtvd9D3Wfz3p5pZRSSinlEVrY9paAklDzUfsAOHfQFryT4+zokL6BnttXsWoQeh3smWC7H8xuLblSSimllHKL5mznF0UqQpW+UG2AZwvaqcLvsQPiRK/3/LaVUkopdUUTEZ599tkL74cPH86wYcMAGD16NOPHjwdg3LhxREZGur39X375hc2bN3sk1iuNFravFpX7gPhpQ0mllFJKXaZQoUL8/PPPHD9+/LJ5gwcP5t577wUyL2wnJydnuH0tbOcBEflaRI6JyEanacNE5JCIrHU8umaw7s0isk1EdorIC3kVc4ESGGobZu79HlIy/mdQSiml1NXHz8+PQYMG8dFHH102b9iwYQwfPpypU6eycuVK7rnnHho3bkxcXBzh4eG88cYbtGnThh9//JExY8bQvHlzGjVqRK9evTh37hxLlixhxowZPPfcczRu3Jhdu3axa9cubr75Zpo1a0bbtm3ZunWrFz513sjLnO1xwEhgfJrpHxljhme0koj4Ap8BNwEHgX9FZIYx5uq8PMqJ8H5w6Fc49jeUvcHb0SillFIqrVVD4NRaz26zZGNo9nGWiz322GM0bNiQoUOHpju/d+/ejBw5kuHDhxMRcXGwxMDAQBYvXgzAiRMneOihhwB45ZVXGDt2LE888QQ9evSge/fu9O7dG4COHTsyevRoatSowfLly3n00UcL7AA5eVbYNsYsFJHwbKzaAthpjNkNICI/ALcCWth2V4VbwC/IppJoYVsppZRSTooXL869997LiBEjKFy4sMvr9e3b98LrjRs38sorrxAdHU1sbCydO3e+bPnY2FiWLFnCHXfccWFaQkJCzoLPx9wubItIUSDeGOOpXITHReReYCXwrDHmVJr5FYADTu8PAi0ziW8QMAigcmXtU/oSfoXtEPH7p0LEZ/a9UkoppfIPF2qgc9OQIUNo2rQp999/v8vrFC1a9MLrAQMG8Msvv9CoUSPGjRvHggULLls+JSWF4OBg1q5d64GI878sc7ZFxEdE7haRWSJyDNgKHBaRTSLyvojUyMH+PweqA42Bw8AH6YWQzrR0hl10zDDmS2NMhDEmIiwsLAehFVDh/SApBnZ+4e1IlFJKKZXPlCpVij59+jB27Nh05wcFBRETE5Ph+jExMZQrV47ExEQmTpyY7nrFixenatWq/PijHWPE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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig,ax=plt.subplots(1,1,figsize=(12,3))\n", "p1=ax.plot(bio_time,sphyto,\n", " '-',color='forestgreen',label='Phytoplankton')\n", "p2=ax.plot(bio_time,sno3,\n", " '-',color='orange',label='Nitrate')\n", "ax.legend(handles=[p1[0],p2[0]],loc=1)\n", "ax.set_ylabel('Concentration ($\\mu$M N)')\n", "ax.set_title('Surface Phytoplankton and Nitrate at Station S3')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Spring Bloom Timing Metrics (3 ways)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Metric 1: Allen and Wolfe definition: “peak phytoplankton concentration (averaged from the surface to 3 m depth) within four days of the average 0-3 m nitrate concentration going below 0.5 uM (the half-saturation concentration) for two consecutive days”\n", "a) Average phytoplankton concentration over upper 3 m\n", "\n", "b) Average nitrate over upper 3 m\n", "\n", "c) Find first location where nitrate crosses below 0.5 micromolar and stays there for 2 days\n", "\n", "d) Find date with maximum phytoplankton concentration within four days (say 9 day window) of date in c).\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Metric 2: the first peak in which chlorophyll concentrations are above 5 ug/L for more than two days (Olson et. al 2020)\n", "Take first peak, check if it has two days around have concentrations>5, if no, move to next peak\n" ] }, { "cell_type": "code", "execution_count": 9, "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", " \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", "
bio_timesphytosno3
02015-02-15 12:00:001.25521217.625977
12015-02-16 12:00:001.32098817.007074
22015-02-17 12:00:001.45841715.910181
32015-02-18 12:00:001.57988015.771015
42015-02-19 12:00:001.72928016.093336
............
1162015-06-11 12:00:003.3404730.654803
1172015-06-12 12:00:003.5684570.687857
1182015-06-13 12:00:004.3217140.978154
1192015-06-14 12:00:003.9358451.039611
1202015-06-15 12:00:004.0368340.768613
\n", "

121 rows × 3 columns

\n", "
" ], "text/plain": [ " bio_time sphyto sno3\n", "0 2015-02-15 12:00:00 1.255212 17.625977\n", "1 2015-02-16 12:00:00 1.320988 17.007074\n", "2 2015-02-17 12:00:00 1.458417 15.910181\n", "3 2015-02-18 12:00:00 1.579880 15.771015\n", "4 2015-02-19 12:00:00 1.729280 16.093336\n", ".. ... ... ...\n", "116 2015-06-11 12:00:00 3.340473 0.654803\n", "117 2015-06-12 12:00:00 3.568457 0.687857\n", "118 2015-06-13 12:00:00 4.321714 0.978154\n", "119 2015-06-14 12:00:00 3.935845 1.039611\n", "120 2015-06-15 12:00:00 4.036834 0.768613\n", "\n", "[121 rows x 3 columns]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# A dataframe that contains the variables needed to determine the timing of the spring bloom for metric 2 & 3\n", "df = pd.DataFrame({'bio_time':bio_time, 'sphyto':sphyto, 'sno3':sno3})\n", "df" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "4 1.729280\n", "9 2.591403\n", "17 6.799445\n", "19 7.249289\n", "25 4.688278\n", "27 4.428394\n", "32 3.556840\n", "36 3.740952\n", "41 5.728502\n", "45 6.933609\n", "52 2.370629\n", "55 2.248283\n", "59 4.077229\n", "63 2.983586\n", "67 2.449699\n", "73 4.258922\n", "77 6.421648\n", "82 2.535459\n", "85 1.446307\n", "92 3.555163\n", "101 3.418709\n", "107 1.573672\n", "111 2.291829\n", "118 4.321714\n", "Name: sphyto, dtype: float32" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.sphyto[(df.sphyto.shift(1) < df.sphyto) & (df.sphyto.shift(-1) < df.sphyto)]" ] }, { "cell_type": "code", "execution_count": 10, "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", " \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", " \n", " \n", " \n", " \n", " \n", "
bio_timesphytosno3phytopeaks
02015-02-15 12:00:001.25521217.625977NaN
12015-02-16 12:00:001.32098817.007074NaN
22015-02-17 12:00:001.45841715.910181NaN
32015-02-18 12:00:001.57988015.771015NaN
42015-02-19 12:00:001.72928016.0933361.729280
...............
1162015-06-11 12:00:003.3404730.654803NaN
1172015-06-12 12:00:003.5684570.687857NaN
1182015-06-13 12:00:004.3217140.9781544.321714
1192015-06-14 12:00:003.9358451.039611NaN
1202015-06-15 12:00:004.0368340.768613NaN
\n", "

121 rows × 4 columns

\n", "
" ], "text/plain": [ " bio_time sphyto sno3 phytopeaks\n", "0 2015-02-15 12:00:00 1.255212 17.625977 NaN\n", "1 2015-02-16 12:00:00 1.320988 17.007074 NaN\n", "2 2015-02-17 12:00:00 1.458417 15.910181 NaN\n", "3 2015-02-18 12:00:00 1.579880 15.771015 NaN\n", "4 2015-02-19 12:00:00 1.729280 16.093336 1.729280\n", ".. ... ... ... ...\n", "116 2015-06-11 12:00:00 3.340473 0.654803 NaN\n", "117 2015-06-12 12:00:00 3.568457 0.687857 NaN\n", "118 2015-06-13 12:00:00 4.321714 0.978154 4.321714\n", "119 2015-06-14 12:00:00 3.935845 1.039611 NaN\n", "120 2015-06-15 12:00:00 4.036834 0.768613 NaN\n", "\n", "[121 rows x 4 columns]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# to find all the peaks\n", "df['phytopeaks'] = df.sphyto[(df.sphyto.shift(1) < df.sphyto) & (df.sphyto.shift(-1) < df.sphyto)]\n", "df" ] }, { "cell_type": "code", "execution_count": 11, "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", " \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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
bio_timesphytosno3phytopeaks
412015-03-28 12:00:005.7285025.0564585.728502
422015-03-29 12:00:005.1047874.266105NaN
432015-03-30 12:00:005.6489784.286055NaN
442015-03-31 12:00:006.7488894.585369NaN
452015-04-01 12:00:006.9336091.7957696.933609
462015-04-02 12:00:005.4898530.169281NaN
472015-04-03 12:00:004.7640100.043544NaN
482015-04-04 12:00:004.0812540.226728NaN
492015-04-05 12:00:003.6744270.649200NaN
502015-04-06 12:00:003.0630720.378349NaN
512015-04-07 12:00:002.2662600.095489NaN
522015-04-08 12:00:002.3706290.1988712.370629
\n", "
" ], "text/plain": [ " bio_time sphyto sno3 phytopeaks\n", "41 2015-03-28 12:00:00 5.728502 5.056458 5.728502\n", "42 2015-03-29 12:00:00 5.104787 4.266105 NaN\n", "43 2015-03-30 12:00:00 5.648978 4.286055 NaN\n", "44 2015-03-31 12:00:00 6.748889 4.585369 NaN\n", "45 2015-04-01 12:00:00 6.933609 1.795769 6.933609\n", "46 2015-04-02 12:00:00 5.489853 0.169281 NaN\n", "47 2015-04-03 12:00:00 4.764010 0.043544 NaN\n", "48 2015-04-04 12:00:00 4.081254 0.226728 NaN\n", "49 2015-04-05 12:00:00 3.674427 0.649200 NaN\n", "50 2015-04-06 12:00:00 3.063072 0.378349 NaN\n", "51 2015-04-07 12:00:00 2.266260 0.095489 NaN\n", "52 2015-04-08 12:00:00 2.370629 0.198871 2.370629" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.loc[df.bio_time>dt.datetime(2015,3,28)].head(12)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "i=45\n", "df['sphyto'].iloc[i-1]>5 and df['sphyto'].iloc[i-2]>5 and pd.notna(df['phytopeaks'].iloc[i])" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0\n", "1\n", "2\n", "3\n", "4\n", "5\n", "6\n", "7\n", "8\n", "9\n", "10\n", "11\n", "12\n", "13\n", "14\n", "15\n", "16\n", "17\n" ] }, { "data": { "text/plain": [ "Timestamp('2015-03-04 12:00:00')" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# extract the bloom time date\n", "for i, row in df.iterrows():\n", " if df['sphyto'].iloc[i-1]>5 and df['sphyto'].iloc[i-2]>5 and pd.notna(df['phytopeaks'].iloc[i]):\n", " bloomtime2=df.bio_time[i]\n", " break\n", " elif df['sphyto'].iloc[i+1]>5 and df['sphyto'].iloc[i+2]>5 and pd.notna(df['phytopeaks'].iloc[i]):\n", " bloomtime2=df.bio_time[i]\n", " break\n", "# i dont undestand? this was working before???\n", "bloomtime2" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "for i, row in df.iterrows():\n", " try:\n", " if df['sphyto'].iloc[i-1]>5 and df['sphyto'].iloc[i-2]>5 and pd.notna(df['phytopeaks'].iloc[i]):\n", " bloomtime2=df.bio_time[i]\n", " break\n", " elif df['sphyto'].iloc[i+1]>5 and df['sphyto'].iloc[i+2]>5 and pd.notna(df['phytopeaks'].iloc[i]):\n", " bloomtime2=df.bio_time[i]\n", " break\n", " except IndexError:\n", " bloomtime2=np.nan\n", " print('bloom not found')" ] }, { "cell_type": "code", "execution_count": 18, "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", " \n", " \n", " \n", " \n", " \n", " \n", "
bio_timesphytosno3phytopeaks
1162015-06-11 12:00:003.3404730.654803NaN
1172015-06-12 12:00:003.5684570.687857NaN
1182015-06-13 12:00:004.3217140.9781544.321714
1192015-06-14 12:00:003.9358451.039611NaN
1202015-06-15 12:00:004.0368340.768613NaN
\n", "
" ], "text/plain": [ " bio_time sphyto sno3 phytopeaks\n", "116 2015-06-11 12:00:00 3.340473 0.654803 NaN\n", "117 2015-06-12 12:00:00 3.568457 0.687857 NaN\n", "118 2015-06-13 12:00:00 4.321714 0.978154 4.321714\n", "119 2015-06-14 12:00:00 3.935845 1.039611 NaN\n", "120 2015-06-15 12:00:00 4.036834 0.768613 NaN" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.tail()" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "not found\n" ] } ], "source": [ "i=120\n", "try:\n", " df['sphyto'].iloc[i+1]\n", "except IndexError:\n", " print('not found')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Metric 3: For a given year, bloom initiation is determined to be the week that first reaches the threshold value (by looking at weekly averages) as long as one of the two following weeks was >70% of the threshold value. (Karyn’s method)\n", "The median + 5% of the annual Chl concentration is deemed “threshold value” for each year." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# 1) determine threshold value\n", " # a) find median chl value of that year\n", " # b) add 5%\n", " # c) secondthresh = find 70% of threshold value\n", "\n", "threshold=df['sphyto'].median()*1.05\n", "secondthresh=threshold*0.7\n", " \n", "# 2) Take the average of each week and make a dataframe with start date of week and weekly average\n", "weeklychl = pd.DataFrame(df.resample('W', on='bio_time').sphyto.mean())\n", "weeklychl.reset_index(inplace=True)\n", "\n", "# 3) Loop through the weeks and find the first week that reaches the threshold. Is one of the two week values after this week > secondthresh? \n", " # yes? that is the bloomtime\n", " # no? go to next week\n", " \n", "for i, row in weeklychl.iterrows():\n", " if weeklychl['sphyto'].iloc[i]>threshold and weeklychl['sphyto'].iloc[i+1]>secondthresh:\n", " bloomtime3=df.bio_time[i]\n", " elif weeklychl['sphyto'].iloc[i]>threshold and weeklychl['sphyto'].iloc[i+2]>secondthresh:\n", " bloomtime3=df.bio_time[i]\n", " break\n", "bloomtime3" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Fraction of surface phytoplankton that is diatoms" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "fig,ax=plt.subplots(1,1,figsize=(12,3))\n", "ax.plot(bio_time,percdiat, '-',color='orchid')\n", "ax.set_ylabel('Diatoms / Total Phytoplankton')\n", "ax.set_title('Fraction of Diatoms in Total Surface Phytoplankton')\n", "ax.set_ylim(0,1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Depth integrated phytoplankton:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%%time\n", "fig,ax=plt.subplots(1,1,figsize=(12,3))\n", "ax.plot(bio_time,intphyto,'-',color='forestgreen',label='Phytoplankton')\n", "ax.legend(loc=2);\n", "ax.set_ylabel('Concentration (mmol N/m2)')\n", "ax.set_xlim(bio_time[0],bio_time[-1])\n", "ax.set_title('Depth Integrated Phytoplankton Concentration')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Fraction of depth integrated phytoplankton that is diatoms" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%%time\n", "fig,ax=plt.subplots(1,1,figsize=(12,3))\n", "ax.plot(bio_time,fracdiat,'-',color='orchid')\n", "ax.set_ylabel('Diatoms / Total Phytoplankton')\n", "ax.set_xlim(bio_time[0],bio_time[-1])\n", "ax.set_title('Fraction of Diatoms in Total Depth Integrated Phytoplankton')\n", "ax.set_ylim(0,1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Fraser River Flow" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# plot phytoplankton on top:\n", "fig,ax1=plt.subplots(1,1,figsize=(12,3))\n", "p1=ax1.plot(bio_time,sphyto,\n", " '-',color='forestgreen',label='Phytoplankton')\n", "p2=ax1.plot(bio_time,sno3,\n", " '-',color='orange',label='Nitrate')\n", "ax1.set_ylabel('Concentration ($\\mu$M N)')\n", "ax1.set_ylim(0,18)\n", "\n", "# Now plot Fraser Flow\n", "ax2=ax1.twinx()\n", "p3=ax2.plot(riv_time,rivFlow,'c-', label='Fraser Flow')\n", "ax2.set_ylabel('Flow (m$^3$s$^{-1}$)')\n", "ax2.set_title('Fraser Flow at Hope and Surface Phytoplankton at Station S3')\n", "ax1.legend(handles=[p1[0],p2[0],p3[0]],loc='upper center')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Forcing (ops): Wind Speed" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "fig,ax=plt.subplots(1,1,figsize=(18,2))\n", "ax.plot(twind,u_wind,'c-')\n", "ax.plot(twind,v_wind,'b-')\n", "ax.set_xlim(start,end)\n", "ax.set_title('Wind speed')\n", "ax.set_ylabel('m/s')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "fig,ax=plt.subplots(1,1,figsize=(20,6))\n", "q=ax.quiver(twind, np.zeros(len(twind)), u_wind, v_wind,scale=200, width=0.001); # change the scale\n", "ax.set_yticklabels([]);\n", "fig.autofmt_xdate(bottom=0.3, rotation=30, ha='right')\n", "yearsFmt = mdates.DateFormatter('%b %d')\n", "ax.xaxis.set_major_formatter(yearsFmt)\n", "ax.set_xlim(start,end)\n", "ax.set_title('Wind Vectors in Geographic Coordinates')\n", "# this can probably be done better?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Daily average wind speed" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# calculate daily average wind speed:\n", "ttday=twind[12::24] # start at 12th value and take every 24th\n", "wsdaily=list()\n", "for ii in range(0,int(len(wspeed)/24)):\n", " wsdaily.append(np.mean(wspeed[(ii*24):((ii+1)*24)]))\n", "wsdaily=np.array(wsdaily) # convert to numpy array from list to be able to plot" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "fig,ax=plt.subplots(1,1,figsize=(18,2))\n", "ax.plot(ttday,wsdaily,'b-')\n", "ax.set_xlim(start,end)\n", "ax.set_title('Daily average wind speed')\n", "ax.set_ylabel('m/s')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Daily average wind speed cubed" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "wscubed=wsdaily**3\n", "\n", "# plot phytoplankton on top:\n", "fig,ax1=plt.subplots(1,1,figsize=(12,3))\n", "p1=ax1.plot(bio_time,sphyto,\n", " '-',color='forestgreen',label='Phytoplankton')\n", "p2=ax1.plot(bio_time,sno3,\n", " '-',color='orange',label='Nitrate')\n", "ax1.set_ylabel('Concentration ($\\mu$M N)')\n", "ax1.set_ylim(0,18)\n", "\n", "ax2=ax1.twinx()\n", "p3=ax2.plot(ttday,wscubed,'b-',label='Wind Speed Cubed')\n", "ax2.set_xlim(start,end)\n", "ax2.set_title('Daily Average Wind Speed cubed and Surface Phytoplankton at Station S3')\n", "ax2.set_ylabel('$\\mathregular{m^3}$/$\\mathregular{s^3}$')\n", "ax1.legend(handles=[p1[0],p2[0],p3[0]],loc='upper center')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Photosynthetically Available Radiation (PAR) at Surface" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# plot phytoplankton on top:\n", "fig,ax1=plt.subplots(1,1,figsize=(12,3))\n", "p1=ax1.plot(bio_time,sphyto,\n", " '-',color='forestgreen',label='Phytoplankton')\n", "p2=ax1.plot(bio_time,sno3,\n", " '-',color='orange',label='Nitrate')\n", "ax1.set_ylabel('Concentration ($\\mu$M N)')\n", "ax1.set_ylim(0,18)\n", "\n", "ax2=ax1.twinx()\n", "p3=ax2.plot(bio_time,spar,\n", " '-',color='red',label='Model PAR')\n", "ax2.set_ylabel('PAR (W/$\\mathregular{m^2}$)') # say its model PAR\n", "ax2.set_title('Modeled PAR and Surface Phytoplankton at Station S3')\n", "ax1.legend(handles=[p1[0],p2[0],p3[0]],loc='center left')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Forcing: Solar radiation" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "fig,ax=plt.subplots(1,1,figsize=(18,2))\n", "ax.plot(twind,solar,'r-')\n", "ax.set_xlim(start,end)\n", "ax.set_title('Solar radiation')\n", "ax.set_ylabel('W/$\\mathregular{m^2}$')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# calculate daily average solar radiation:\n", "ttday=twind[12::24] # start at 12th value and take every 24th\n", "solardaily=list()\n", "for ii in range(0,int(len(solar)/24)):\n", " solardaily.append(np.mean(solar[(ii*24):((ii+1)*24)]))\n", "solardaily=np.array(solardaily) # convert to numpy array from list to be able to plot" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# plot phytoplankton on top:\n", "fig,ax1=plt.subplots(1,1,figsize=(12,3))\n", "p1=ax1.plot(bio_time,sphyto,\n", " '-',color='forestgreen',label='Phytoplankton')\n", "p2=ax1.plot(bio_time,sno3,\n", " '-',color='orange',label='Nitrate')\n", "ax1.set_ylabel('Concentration ($\\mu$M N)')\n", "ax1.set_ylim(0,18)\n", "\n", "ax2=ax1.twinx()\n", "p3=ax2.plot(ttday,solardaily,'m-',label='Solar Radiation')\n", "ax2.set_xlim(start,end)\n", "ax2.set_title('Daily Average Solar Radiation and Surface Phytoplankton at Station S3')\n", "ax2.set_ylabel('W/$\\mathregular{m^2}$')\n", "ax1.legend(handles=[p1[0],p2[0],p3[0]],loc='upper center')\n" ] }, { "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.1" } }, "nbformat": 4, "nbformat_minor": 4 }