{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# imports\n", "from sqlalchemy import create_engine, Column, String, Integer, Float, Date, MetaData, Table, type_coerce\n", "from sqlalchemy.orm import mapper, create_session\n", "import csv\n", "from sqlalchemy import case\n", "import numpy as np\n", "from sqlalchemy.ext.automap import automap_base\n", "import matplotlib.pyplot as plt\n", "import sqlalchemy.types as types\n", "import numbers\n", "from sqlalchemy.sql import and_, or_, not_, func\n", "from sqlalchemy.sql import select\n", "import datetime as dt\n", "import os\n", "import re\n", "from mpl_toolkits.basemap import Basemap\n", "import netCDF4 as nc\n", "import pandas as pd\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# First, calculate river concentrations from EC data at Hope and Gravesend\n", "# NOTE: am assuming all forms of N are reported in grams of N, so that mole conversion is \n", "# by division by 14.006720 (mol. weight N), rather than weights of full molecules. This \n", "# is consistent with NO23 values in Susan's notebook.\n", "# This is consistent with report in 'precdetectlimits.pdf', although it is rather old.\n", "# However, assume Si in grams of SiO2 (mo. weight = 60.08). This is consistent with \n", "# Si data in Susan's notebook (http://nbviewer.jupyter.org/url/bitbucket.org/salishsea/tools/\n", "# raw/tip/I_ForcingFiles/Rivers/FraserRiverNutrients.ipynb?at=default&fileviewer=file-\n", "# view-default)\n", "# Also appears to result in rough consistency with Debby's river Si and NO3 values\n", "mwN=14.006720\n", "#mwSiO3=76.083820\n", "mwSiO2=60.08\n", "mwAmm=17.031 ## ammonia NH3 g/mol\n", "#\n", "# nh4 muM (N) = nh4_cst from mean of data at Hope/Gravesend\n", "# don muM (N) = don_cst from mean of data at Hope/Gravesend\n", "# - only 1 data point available. Should use it or set to zero? Sutton (2013) suggests DON may be unreactive on timescales\n", "# of exchange of water in SoG, but Clair (2013) reports that organic nitrogen dominated total nitrogen in \n", "# Canadian rivers.\n", "# -> for now, using available data point\n", "# no3 muM (N) -> daily from smoothed data\n", "# sil muM (Si) -> daily from smoothed data\n", "# dia muM (N) = 0.001\n", "dia = 0.001\n", "# phy muM (N) = 0.001\n", "phy = 0.001\n", "# mes muM (N) = 0.001\n", "mes = 0.001\n", "# zoo muM (N) = 0.001\n", "zoo = 0.001\n", "# pon muM (N) = 0.0\n", "pon = 0.0\n", "# bsi muM (Si) = 0.0\n", "don=0.0\n", "bsi = 0.0\n", "# oxy ? empty\n", "oxy = 160\n", "# other rivers const vals:\n", "const_si=59.57 ## updated June 2019\n", "const_no=6.18 ## updated June 2019\n", "const_nh=4.30 ## updated June 2019\n", "const_tur=1.0 # default river turbidity (NTU)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# load EC Rivers database\n", "dbpath='/ocean/eolson/MEOPAR/obs/ECRivers/ECRiversDB'\n", "engine = create_engine('sqlite:///'+dbpath+'.sqlite')\n", "Base = automap_base()\n", "Base.prepare(engine, reflect=True)\n", "Profs=Base.classes.profiles\n", "session = create_session(bind = engine, autocommit = False, autoflush = True)\n", "# relevant data types: \n", "#('NITROGEN DISSOLVED NITRATE',)\n", "#('NITROGEN DISSOLVED NO3 & NO2',)\n", "#('NITROGEN DISSOLVED ORGANIC (CALCD.)',)\n", "#('NITROGEN NITRITE',)\n", "#('NITROGEN TOTAL',)\n", "#('NITROGEN TOTAL DISSOLVED',)\n", "#('NITROGEN TOTAL ORGANIC (CALCD.)',)\n", "#('SALINITY',)\n", "#('SILICA DISSOLVED',)\n", "#('SILICA EXTRACTABLE',)\n", "#('SILICA REACTIVE',)\n", "#('SILICON DISSOLVED',)\n", "#('SILICON EXTRACTABLE',)\n", "#('SILICON TOTAL',)\n", "#('TURBIDITY',)\n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "#define function to plot results of query as repeating fxn of year-day if output rows contain Year, Month, Day, value:\n", "def plotYMDV(qout,pcolor,ptitle):\n", " Y=[]\n", " M=[]\n", " D=[]\n", " Amm=[]\n", " date=[]\n", " for Y0, M0, D0, Amm0 in qout:\n", " Y.append(Y0)\n", " M.append(M0)\n", " D.append(D0)\n", " Amm.append(Amm0)\n", " date.append(dt.date(Y0,M0,D0))\n", " Y=np.array(Y)\n", " M=np.array(M)\n", " D=np.array(D)\n", " Amm=np.array(Amm)\n", " date=np.array(date)\n", " YD=0.0*Y\n", " for i in range(0,len(Y)):\n", " YD[i]=date[i].timetuple().tm_yday\n", " plt.plot(YD,Amm,'.',color=pcolor)\n", " plt.plot(YD+365.0,Amm,'.',color=pcolor)\n", " plt.title(ptitle)\n", " plt.plot((366,366),(0,np.max(Amm)),'k--')\n", " return(YD,Amm)\n", " \n", "# definte function to smooth data with gaussian filter, plot result, and return dict of days, values\n", "def gsmooth(YD,Amm,L):\n", " allt=np.arange(1,367)\n", " fil=np.empty(np.size(allt))\n", " s=L/2.355\n", " sdict={}\n", " for t in allt:\n", " diff=[min(abs(x-t),abs(x-t+365), abs(x-t-365)) for x in YD]\n", " weight=[np.exp(-.5*x**2/s**2) if x <= 3*L else 0.0 for x in diff]\n", " #weight=[np.exp(-.5*x**2/s**2) for x in diff]\n", " fil[t-1]=np.sum(weight*Amm)/np.sum(weight)\n", " sdict[t]=fil[t-1]\n", " plt.plot(allt,fil,'k-')\n", " plt.plot(allt+365,fil,'k-')\n", " diff_ex=[min(abs(x-t),abs(x-t+365), abs(x-t-365)) for x in allt]\n", " weight_ex=[np.exp(-.5*x**2/s**2) if x <= 3*L else 0.0 for x in diff_ex]\n", " plt.plot(allt,weight_ex/np.sum(weight_ex)*np.max(2.0*Amm),'k:')\n", " plt.plot(allt+365,weight_ex/np.sum(weight_ex)*np.max(2.0*Amm),'k:')\n", " return(sdict)\n", " #plt.plot(YD,weight,'*')" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "units: ('MG/L',)\n", "don_cst = 17.1346325192 uM N ....DON\"T USE\n" ] }, { "data": { "image/png": "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\nqliT4q62AfwAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# calculate mean DON from data at Hope and Gravesend:\n", "\n", "qdataG=session.query(Profs.Year, Profs.Month, Profs.Day, Profs.value).\\\n", " filter(and_(\n", " Profs.variable_name=='NITROGEN DISSOLVED ORGANIC (CALCD.)',\n", " Profs.station_name=='Fraser River (Main Arm) at Gravesend Reach - Buoy'))\n", "if qdataG.count()>0:\n", " YDG, valG = plotYMDV(qdataG.all(),'r','DON, red=Gravesend, blue=Hope')\n", " \n", "qdataH=session.query(Profs.Year, Profs.Month, Profs.Day, Profs.value).\\\n", " filter(and_(\n", " Profs.variable_name=='NITROGEN DISSOLVED ORGANIC (CALCD.)',\n", " Profs.station_name.like('%Hope%')))\n", "if qdataH.count()>0:\n", " YDH, valH = plotYMDV(qdataH.all(),'b',)\n", "else:\n", " YDH=[]\n", " valH=[]\n", "\n", "units=session.query(Profs.unit_code).\\\n", " filter(and_(\n", " Profs.variable_name=='NITROGEN DISSOLVED ORGANIC (CALCD.)',\n", " or_(Profs.station_name=='Fraser River (Main Arm) at Gravesend Reach - Buoy',\n", " Profs.station_name.like('%Hope%')))).group_by(Profs.unit_code).all()\n", "for row in units:\n", " print('units:',row)\n", "val=np.concatenate((valG,valH))\n", "don_cst=np.mean(val)\n", "print('don_cst =', don_cst/mwN*1000, 'uM N ....DON\"T USE')" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "def returnDF(fname):\n", " obsdir='/ocean/eolson/MEOPAR/obs/ECRivers/SOGRivers'\n", " df=pd.read_csv(os.path.join(obsdir,fname))\n", " temp=[dt.datetime.strptime(s, \"%Y-%m-%d %H:%M:%S\") for s in df['Sample time']]\n", " df['TS']=temp\n", " df['YD']=[(t-dt.datetime(t.year-1,12,31)).days for t in temp]\n", " return df\n", "df0=dict()\n", "df0['Fraser-Hope']=returnDF('BC08MF0001_FraserHope_19790717_to_20170125.csv')\n", "df0['Fraser-Gravesend']=returnDF('BC08MH0453_FraserGravesend_20080902_to_20161104.csv')" ] }, { "cell_type": "raw", "metadata": { "scrolled": true }, "source": [ "# calculate mean NH4 from data at Hope and Gravesend\n", "\n", "dataG=session.query(Profs.Year, Profs.Month, Profs.Day, Profs.value).\\\n", " filter(and_(\n", " Profs.variable_name=='AMMONIA DISSOLVED',\n", " Profs.station_name=='Fraser River (Main Arm) at Gravesend Reach - Buoy')).all()\n", "YDG, valG = plotYMDV(dataG,'r','temp')\n", " \n", "dataH=session.query(Profs.Year, Profs.Month, Profs.Day, Profs.value).\\\n", " filter(and_(\n", " Profs.variable_name=='AMMONIA DISSOLVED',\n", " Profs.station_name.like('%Hope%'))).all()\n", "YDH, valH = plotYMDV(dataH,'b','NH4, red=Gravesend, blue=Hope')\n", "\n", "units=session.query(Profs.unit_code).\\\n", " filter(and_(\n", " Profs.variable_name=='AMMONIA DISSOLVED',\n", " or_(Profs.station_name=='Fraser River (Main Arm) at Gravesend Reach - Buoy',\n", " Profs.station_name.like('%Hope%')))).group_by(Profs.unit_code).all()\n", "for row in units:\n", " print('units:',row)\n", "val=np.concatenate((valG,valH))\n", "nh4_cst=np.mean(val)\n", "print('nh4_cst =', nh4_cst/mwN*1000, 'uM')" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[('Fraser-Gravesend', 'Ammonia Dissolved [Lab: -54] [VMV: 1109]'), ('Fraser-Hope', 'Ammonia Dissolved [Lab: 1] [VMV: 7557]')]\n", "nh4_cst = 4.23255330777 uM\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# calculate mean NH4 from data at Hope and Gravesend\n", "\n", "llNH=list()\n", "for ff in df0.keys():\n", " llNH=llNH+[(ff,i) for i in df0[ff].keys() if ((re.search('[Aa]mm',i) is not None) \\\n", " and (re.search('[Dd]is',i) is not None))]\n", "print(llNH)\n", "plt.plot(df0['Fraser-Hope']['YD'],\n", " df0['Fraser-Hope']['Ammonia Dissolved [Lab: 1] [VMV: 7557]'],'r.')\n", "plt.plot(df0['Fraser-Gravesend']['YD'],\n", " df0['Fraser-Gravesend']['Ammonia Dissolved [Lab: -54] [VMV: 1109]'],'b.')\n", "val=np.concatenate((df0['Fraser-Hope']['Ammonia Dissolved [Lab: 1] [VMV: 7557]'],\n", " df0['Fraser-Gravesend']['Ammonia Dissolved [Lab: -54] [VMV: 1109]']))\n", "\n", "nh4_cst=np.nanmean(val)\n", "print('nh4_cst =', nh4_cst/mwAmm*1000, 'uM')" ] }, { "cell_type": "raw", "metadata": {}, "source": [ "# NO2+NO3 at Hope and Gravesend\n", "dataG=session.query(Profs.Year, Profs.Month, Profs.Day, Profs.value).\\\n", " filter(and_(\n", " Profs.value<2.5, # remove single high outlier\n", " Profs.variable_name=='NITROGEN DISSOLVED NO3 & NO2',\n", " Profs.station_name.like('%Gravesend%'))).all()\n", "YDG, valG = plotYMDV(dataG,'r','temp')\n", "\n", "dataH=session.query(Profs.Year, Profs.Month, Profs.Day, Profs.value).\\\n", " filter(and_(\n", " Profs.variable_name=='NITROGEN DISSOLVED NO3 & NO2',\n", " Profs.station_name.like('%Hope%'))).all()\n", "YDH, valH = plotYMDV(dataH,'b','NO3, red=Gravesend, blue=Hope')\n", "\n", "units=session.query(Profs.unit_code).\\\n", " filter(and_(\n", " Profs.variable_name=='NITROGEN DISSOLVED NO3 & NO2',\n", " or_(Profs.station_name.like('%Gravesend%'),\n", " Profs.station_name.like('%Hope%')))).group_by(Profs.unit_code).all()\n", "for row in units:\n", " print('units:',row)\n", " \n", "YD=np.concatenate((YDG,YDH))\n", "val=np.concatenate((valG, valH))\n", "no3dict=gsmooth(YD,val,60)\n", "#print(i,np.max([v for v in no3dict.values()]))" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "NO3\n", "Fraser-Gravesend Nitrogen Dissolved Nitrate [Lab: -54] [VMV: 1115] 2009-05-13 20:20:00 2015-04-30 20:45:00\n", "Fraser-Hope Nitrogen Dissolved Nitrate [Lab: 1] [VMV: 7315] 1994-04-26 17:00:00 1994-09-27 21:15:00\n", "Fraser-Hope Nitrogen Dissolved Nitrate [Lab: 36] [VMV: 7315] 1994-10-11 21:35:00 1998-12-08 22:10:00\n", "Fraser-Hope Nitrogen Dissolved Nitrate [Lab: -54] [VMV: 1115] 2006-09-26 21:45:00 2015-05-25 18:11:00\n" ] }, { "data": { "image/png": "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\nRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# NO2+NO3 at Hope and Gravesend\n", "llNO3=list()\n", "for ff in df0.keys():\n", " llNO3=llNO3+[(ff,i) for i in df0[ff].keys() if ((re.search('[Nn]itrate',i) is not None and re.search('[Nn]itrite',i) is None and re.search('[Dd]is',i) is not None))]\n", "print('NO3')\n", "for (ff,i) in llNO3:\n", " print(ff,i,np.min(df0[ff]['TS'][df0[ff][i]>=0]),np.max(df0[ff]['TS'][df0[ff][i]>=0]))\n", "\n", "plt.plot(df0['Fraser-Hope']['YD'],\n", " df0['Fraser-Hope']['Nitrogen Dissolved Nitrate [Lab: 1] [VMV: 7315]'],'r.')\n", "plt.plot(df0['Fraser-Hope']['YD'],\n", " df0['Fraser-Hope']['Nitrogen Dissolved Nitrate [Lab: 36] [VMV: 7315]'],'m.')\n", "plt.plot(df0['Fraser-Hope']['YD'],\n", " df0['Fraser-Hope']['Nitrogen Dissolved Nitrate [Lab: -54] [VMV: 1115]'],'.',color='darkorange')\n", "plt.plot(df0['Fraser-Gravesend']['YD'],\n", " df0['Fraser-Gravesend']['Nitrogen Dissolved Nitrate [Lab: -54] [VMV: 1115]'],'b.')\n", "plt.plot(df0['Fraser-Hope']['YD']+365,\n", " df0['Fraser-Hope']['Nitrogen Dissolved Nitrate [Lab: 1] [VMV: 7315]'],'r.')\n", "plt.plot(df0['Fraser-Hope']['YD']+365,\n", " df0['Fraser-Hope']['Nitrogen Dissolved Nitrate [Lab: 36] [VMV: 7315]'],'m.')\n", "plt.plot(df0['Fraser-Hope']['YD']+365,\n", " df0['Fraser-Hope']['Nitrogen Dissolved Nitrate [Lab: -54] [VMV: 1115]'],'.',color='darkorange')\n", "plt.plot(df0['Fraser-Gravesend']['YD']+365,\n", " df0['Fraser-Gravesend']['Nitrogen Dissolved Nitrate [Lab: -54] [VMV: 1115]'],'b.')\n", "val=np.concatenate((df0['Fraser-Hope']['Nitrogen Dissolved Nitrate [Lab: 1] [VMV: 7315]'],\n", " df0['Fraser-Hope']['Nitrogen Dissolved Nitrate [Lab: 36] [VMV: 7315]'],\n", " df0['Fraser-Hope']['Nitrogen Dissolved Nitrate [Lab: -54] [VMV: 1115]'],\n", " df0['Fraser-Gravesend']['Nitrogen Dissolved Nitrate [Lab: -54] [VMV: 1115]']))\n", "YD=np.concatenate((df0['Fraser-Hope']['YD'],\n", " df0['Fraser-Hope']['YD'],\n", " df0['Fraser-Hope']['YD'],\n", " df0['Fraser-Gravesend']['YD']))\n", "ii=~np.isnan(val)\n", "no3dict=gsmooth(YD[ii],val[ii],60)\n", "#print(i,np.max([v for v in no3dict.values()]))" ] }, { "cell_type": "raw", "metadata": {}, "source": [ "# Si at Hope and Gravesend\n", "dataG=session.query(Profs.Year, Profs.Month, Profs.Day, Profs.value).\\\n", " filter(and_(\n", " Profs.value<2.5, # remove single high outlier\n", " or_(Profs.variable_name=='SILICA DISSOLVED',\n", " Profs.variable_name=='SILICON DISSOLVED'),\n", " Profs.station_name.like('%Gravesend%'))).all()\n", "YDG, valG = plotYMDV(dataG,'r','temp')\n", "\n", "dataH=session.query(Profs.Year, Profs.Month, Profs.Day, Profs.value).\\\n", " filter(and_(\n", " or_(Profs.variable_name=='SILICA DISSOLVED',\n", " Profs.variable_name=='SILICON DISSOLVED'),\n", " Profs.station_name.like('%Hope%'))).all()\n", "YDH, valH = plotYMDV(dataH,'b','Si, red=Gravesend, blue=Hope')\n", "\n", "units=session.query(Profs.unit_code).\\\n", " filter(and_(\n", " or_(Profs.variable_name=='SILICA DISSOLVED',\n", " Profs.variable_name=='SILICON DISSOLVED'),\n", " or_(Profs.station_name.like('%Gravesend%'),\n", " Profs.station_name.like('%Hope%')))).group_by(Profs.unit_code).all()\n", "for row in units:\n", " print('units:',row)\n", " \n", "YD=np.concatenate((YDG,YDH))\n", "val=np.concatenate((valG, valH))\n", "sidict=gsmooth(YD,val,60)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Si\n", "Fraser-Hope Silica Dissolved [Lab: 36] [VMV: 103469] 1991-03-08 18:10:00 1999-12-21 22:10:00\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXEAAAEACAYAAABF+UbAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJztnXmcFOW1939P9wwgMqzDgA6yDPswIBgXFAcmLogkcYmI\nihgDaojLq0EjoG8iaO4l8VUxEHfkGhON5ioSwCsG0JlgBM1lk7BIEGUbFmUZekACzPTv/aO6ZqqL\nqu7q7uruqpnz/XzmM13d1VWnqn51+jznOc9TiiQEQRAEfxLItgGCIAhC8ogTFwRB8DHixAVBEHyM\nOHFBEAQfI05cEATBx4gTFwRB8DGOnLhS6j6l1D8jf/em2yhBEATBGXGduFKqH4DbAJwLYCCA7yul\nitJtmCAIghAfJ5F4XwCfkjxOshbAMgA/TK9ZgiAIghOcOPH1AEqVUm2UUs0BjARwVnrNEgRBEJyQ\nE28Fkp8rpR4HsATAEQBrANSm2zBBEAQhPirRuVOUUv8JYCfJF0zvyyQsgiAICUJSpfJ9p9Up7SP/\nOwO4FsCfbIzx9N/UqVOzboPYKXaKnWKn/ucGcdMpEeYqpdoCOAngLpIhV/YuCIIgpIQjJ05yaLoN\nEQRBEBKnUY3YLCsry7YJjhA73UXsdBex01sk3LFpuyGl6Na2BEEQGgNKKTATHZuCIAiCNxEnLgiC\n4GPEiQuCIPgYceKCIAg+Rpy4IAiCjxEnLgiC4GPEiQuCIPgYceI61dXAihXaf0FwG9GXkCbEiQPa\njVVaCgwdqv2XG01wE9GXkEbEiQPA+vXAhg1ATQ2wcaP2WhDcQvQlpBFx4gBQUgL06wfk5gLFxdpr\nQXAL0ZeQRmTuFJ3qai1C6tcPyMvLtjVCQ0P0JVjgxtwp4sQFQRCyhEyAlSmkskBIN6IxIUmcPp7t\nIaXUBqXUOqXU60qpJuk2zDNIZYGQbkRjQgrEdeJKqS4A7gAwiOQAaE8DujHdhnkGqSwQ0o1oTEgB\nJ5F4CMAJAKcrpXIANAewO61WeQmpLBDSjWhMSAFHHZtKqTsAzADwLYDFJG+xWKfhdmxKZYGQbkRj\njRI3OjbjPihZKVUEYCKALgAOA3hbKTWG5J/M606bNq3udVlZWcN5xl1eHjB4cLatEBoyorFGQUVF\nBSoqKlzdZtxIXCk1GsDlJO+ILN8C4AKS95jWa7iRuCAIQhrIVInhZgCDlVLNlFIKwKUANqWyU0EQ\nBMEd4jpxkp8B+AOAVQA+A6AAvJRmuwRBEAQHyIhNQRCELCEjNgVBEBo54sQFQRB8jDhxQRAEHyNO\nXBAEwceIExcEQfAx4sQFQRB8jDhxQRAEHyNOXBAEwceIExcEQfAx4sQFQRB8jDjxbCLPVRTSjWis\nwSNOPFvIcxWFdCMaaxSIE88W8lxFId2IxhoF4sSzhTxXUUg3orFGgUxFm03kuYpCuhGNeRo3pqIV\nJy4IgpAlMjKfuFKql1JqjVJqdeT/YaXUvansVBAEQXCHhCJxpVQAwC5oD0reafpMInFBEIQEyMaT\nfS4DsNXswAVBEITskKgTvwHAG+kwJO3IoAchnYi+hCyR43RFpVQugKsATLFbZ9q0aXWvy8rKUFZW\nloJpLqIPetB76T/6SHrqBfcQfQkOqaioQEVFhavbdJwTV0pdBeAukiNsPvduTnzFCm3UWk2NVjO7\nbBkweHC2rRIaCqIvIUkynRO/CX5Npbg96EGazoKRdAyqEY0JDnEUiSulmgPYDqCIpKWqPB2JA+4N\nepCms2CFm4NqRGONBhnskw2k6SykG9FYoyEbJYaCzEchpBvRmJAAEokng8xHIaQb0VijQNIpgiAI\nPkbSKYIgCI0cceKCIAg+Rpy4IAiCjxEnLgiC4GPEiQuCIPgYceKCIAg+Rpy4IAiCjxEnLgiC4GPE\niQuCIPgYceKCIAg+Rpy4IAiCjxEnLgiC4GPEiQuCIPgYR05cKdVKKfWWUmqTUmqDUuqCdBsmCIIg\nxMfp0+5nAniP5PVKqRwAzdNokyAIguCQuPOJK6VaAlhDsnuc9WQ+cUEQhATI1Hzi3QDsV0q9opRa\nrZR6SSl1Wio7FQRBENzBSTolB8A5AO4muVIp9VsAUwBMNa84bdq0utdlZWUoKytzx8p0UV0NrF+v\nPdNQHoElpAPRmGCgoqICFRUVrm7TSTqlA4AVJIsiyxcDmEzyB6b1/JVOqa4GSkvrn2P40Udykwnu\nIhoT4pCRdArJfQB2KqV6Rd66FMDGVHbqCdav126umhpg40btdbJUVwMrVmj/BUFHNCZkAKd14vcC\neF0ptRbA2QCmp8+kDFFSokVHublAcbH2Ohn0aGvoUO2/3GSCjmhMyACN+2n31dVadNS5M7B9e33e\nMpE85ooV2s1VU6PdrMuWAYMHZ8Z+wfuIxoQYyNPuUyUvT4uORo6sj3J2704s6nEr2hIaJqIxIc00\nbicOnJq3nDUrsTxmXp7WYbVsWfo7riQv6k/8ojHRly9p3OkUQIuKhg0Dtm0DcnKAEyeAJk2A2lot\n6knkpklnOZlUOvgXP2hM9JUVJJ2SKtXVWjN32zagY0ft5gqHtQjpuecSv7nS2fnkZqWDkDn8ojHR\nl29p3E7cKNx9+4CiIi3v2K8fcMMNiUUi6b4JJC/qT/yiMdGXb2nc6RQ9stm4URPue+8BO3ZoAk60\nKWneVjqao3qlQzL2CdnBTxoTfWUcN9IpjduJA+4KV24CwQrRmGCDOHFBEAQfIx2b6UZKroR0IxoT\nUkScuB2JVALIjSgkg1ONib6EGIgTt8NpJYDMayEkixONib6EOIgTt8NpyZXU1wrJ4kRjoi8hDtKx\nGQsnlQCZKC0UGi7xNCb6atBIdYpXkLIvIZ2Ivhos4sQFQRB8jBtO3MkzNqGU2gbgMIAwgJMkz09l\np4IgCII7OO3YDAMoIznI8w7crXIsKesSrHBTF6IxwQWcOnGVwLrZw63abinrEqxIVBeiMSEDOHXM\nBLBEKfW/Sqk70mlQSrhV2y1lXYIViehCNCZkCKdOfAjJcwCMBHC3UuriNNqUPG7Vdsu0nIIViehC\nNCZkiISrU5RSUwFUk5xhep9Tp06tWy4rK0NZWZkbNiaGuRzL6kkoTmpvs1nWlc4nBAmpYaULv2lM\n9JU1KioqUFFRUbf86KOPpr/EUCnVHECA5BGl1OkAFgN4lORi03reKzGM9cgpr9beymOy/IXfNCb6\n8hSZmsWwA4C/K6XWAPgEwEKzA/cssZq0eXnA4MHeE7DkSv2F3zQm+mpwxHXiJL8iOTBSXtif5G8c\nbz3bJVR+zDu6ZXO2z32myPZx+k1jbtqb7XMvAEjniE2vNNu82KTVsctNpmqzV859uvHKcfpNY27Y\n65Vz73PcSKeApCt/2qYMLF9O5uSQAJmbS65YwVMIhbT1QqFTP2vohELk2Wdr5+jss909B07OfUNA\nNBYb0ZjnifjNlHxv+gbwxGu2ORns0JCba/Lk8tQRjcVGNNY4SPVXQP+DORIntV/+FSusI4B4v+Tp\njCK8gH58ubnpOb5Y574hIRqzRzTmeeBCJJ69WQzj1dGuWKFFUDU12q/9smVaT39Dwsu51IaAaEw0\n5nH8PxVtLIFlaDL8o0ePYvv27QiFQsjLy0NRURFOO+001/cjZAkPaOzgwYPYvn07ampq0Lp1axQV\nFSEYDLq+H8F/+N+JxyNNUcShQ4cwZ84cvPPOO1i7di06d+6MVq1aIRQKYceOHRgwYADGjBmDsWPH\nok2bNtH22I10k1Fw/iRNGtu6dSteeOEFLFiwAHv27EG3bt3QpEkTHDhwAAcOHEBpaSluvfVWXH31\n1WjSpEm9LbE0JBprcHi7OsVrhEL8trycj0yezDZt2vCWW27h4sWL+e9//ztqtaNHj/L999/njTfe\nyHbt2vE//uM/ePTo0dj504aeWxWcEQqxcv58jrn+erZr146TJ0/mypUrWVtbG7Xa/v37+Yc//IFD\nhw5lUVER33jjDYYPH46tIdFYgwQu5MQblhO3KycLhbi0qIhFAK9v1YrbN2xwtLktW7bwuuuuY8+e\nPfnxiy/Wd5Ll5JBLl9avKOVWjQcbjYUPH+bvCguZD/D/FhSwevduR5v78MMPOWjQIF5xwQXcEQzW\na+ill6L3IRprkIgTN2ITqdTU1PCX48bxTICLkqwnnjt3LjsUFPCJjh0ZBrTTVlJCVlZq36msTG8V\nQBz7hAxho7EDBw7wqosv5nkAP49VCWNz/U6cOMFf/eIXLMjJ4eJgkGzWjAwGNY0tWaJ9JxOVJqKv\njCNOXCcUIo2RcuQmCoVCHD58OC8tK+Oe4mLt/R49NKdr/n6cpur27dv5nZ49eaNSPKbvo0eP+u9U\nVp5abuXWjSFN6exjo7HNmzezqKiIP7vrLh7v399aYw6vX8V777Fjy5Z8Uqn6YCEYrP+OVUmfGxoT\nfWUNceJkvQD1CCYSqez94gt+5zvf4R133MGTJ09qN1WPHtE3hY7Dpuq3+/bxhtatOUwpVnXrpm0r\nEzXI0pTOLjYa++SDD9ixY0fOmTNHW89OYwlcvx0bN7J/s2a8XynW6o48VuvRDY2JvrKGOHEyWoA5\nOeTs2fxi7Vp2796dU6dOZTgcrl9Pd7o5OdFCTaCpWltVxbuvu46DSkq4T4/urb7j5o0Ryz5pBqcf\nC439z1tvMT8/nwsXLoxez0pjCaZCDm7fzov69eOtrVvzZCwH7ZbG4tknGksb4sTJaAEWFXHlU0/x\njI4d+fzzz0evM38+2bSpdsjNmlmnVByOPguHw3zkkUfYt3dv7vuf/7H+jts5TLumtDSD049JY6/c\ney87FBRwhTkQiKWxBEc3Hj16lCMuu4yjL72UJw8ejG9Xqtffzj7RWFppHE7cGAXYRQSVlWRRERcD\nbA/wnc6d69cxijBe8zTWvi145JFH2L9/f+7fv9/++/qNkY5oRprB7uBQY+Fu3fhrgF0AburZM+0a\nO3bsGIcPH86xY8eypqbG/vuiMd/SMJ24+YbSb46SEu3PKiJYvpyvK8UCgB8ZSwCXL9d69403l1VO\n3M6OOBFIOBzmlClTOGjQIB6MFS0tWWJveyqku2KhoZKExmr//nf+H6XYH2BlBjX27bff8pJLLuG4\nceNOqTePOha9Qko05isy6sShPUBiNYAFNp+nfkRmURtvjpwc647EUIhPTZjAs3Jy+E/9Jurdmywq\nir4xc3O1/0uXOhOiwwgkHA5z4sSJPO+883j48GH740k0QrM7P+ZIS4/E9HLHhnCTpTMHm4TG/v3N\nNxw9bBiHNW/OQ/p17NqVLC7OiMaOHDnC0tJSTpgwob6Px3wseodqujS2dGl9uaPf8VCOP9NOfCKA\n19LqxM2iXrq0Pgow3iiRiKC2qoo/y89nX4Dbe/UiFyzQ/oqKop3m0qWJz7aWQAQSDod55513srS0\nVBvdaXU8iURosexp6CNG030sCWrs4PbtHHb66RylFI8VF5NvvqnpKxDIqMZCoRAvuOAC3n///dGd\n9cZj6dEjtYjZ7tyLvtJGxpw4gE4AlgAoy0gkbhSiOecXiTq/LS/ndaWlHAbwoDH6MFYIAJqwk71Q\nCXRG1dbW8kc/+hGHDx9eP5TfeDyJRGhWxIraGlLeMt3H4kRjkahz2/r17Nu1Kyfq5X76SErjD3Oq\nziABjR08eJADBgzg1KlTrY/FaqxCItide9FX2sikE38LwEAAw9LqxMn4og6F+E2/frwI4JhWrfhv\nc5mfuYlprkJJIydPnuR1113Ha665hidOnHB2PE6JFbV5PW+ZSPM1E8cS65pE9r8qGOSZOTn87aOP\nnuoo3fphToK9e/eyd+/efOKJJ+IfS6LYnXvRV9rIiBMH8D0Az0Rel0F72n36nLgZY8fN8uVc+eyz\n7ArwYYC1wSA5a9apN5KDH4KYFz2FnNnx48d55ZVX8uabb7buiEqFeM7Hi7nxZJqvbjomJ/sydnK+\n+CL/qBTzAc4NBLTI2xzhpqovp+vYsHPnTnbt2jW6jNYt7I7N3Frxisa8rq84ZMqJTwewA8CXAPYA\nOALgDxbrcerUqXV/5eXlqR+hfoEiI+XmBALMDwb51llnaRetWbPEm7NWF918I6eSMwtpsyUOu/ji\nUzui0o3H8n0kPdd8jcJ4vkpKeLy4mHcrxR5KcV0gkB592a2ToN1f/Pd/s1NhIf/4xz8m9t1U8ZrG\nvKwvC8rLy6P8ZMZLDJNOpyT7yx25QFUAbwXYG+BGvbTLmJtM5OKZR9/NmhVdVmasVkhUFAaBh0pK\neMG550Z3RKUbNx8c7Fa0lan0SAr6IsDPAwGeD/D7AA/l5JBTpqSur9xcraPdPBQ/Fcdj0NiG3r3Z\nsUMHzp07N7HjTgWvacxj6ZFE8YcTT+WXO6RNIdsZ4E+DQVabo5tkLp7RHn22OHOVQbLbnTmzvmoh\nN5cH//pXrSNqypTMND/jnROn1yLRa+YkPZWu5muK+qodMIAzAwG2Cwb5uzPOYK1xQrNU9KXnzI2V\nUvpQ/GS1W1lJTpoUpbHVv/89C9q356IZMzKXfvKaxjyUHkkUfwz2sSrpspnz2/j+3r17OX78eHYq\nLOT7Tz9tP0ugXf7OkEe3/NxcZRBvtrgYtjIU0m5YfVuAthwKce8XX7B306Z8MhDITKQQy3anEWAi\nkWKmmtd2N7GVrXbrmt5fu3YtSy+6iINLSrh51apTz12scxkKaa02q9pp/XvmQUDGSqlENVZZqQUd\nAKlUvV4rK/lxjx5sD/Bv3btnzpE3NI251fJMEH84cXNk0revJsC+fU+dKzknh8f79+eM6dOZn5/P\nBx54gFVVVYmdFatIO1bEoNu1YIGzwQxWgrKqB9cfGrF8OXcGg+wG8PlAILs5O6cRoPncxDovmchJ\nxrqJzcdUWanZHENj3/Trxztvu40FBQV84YUX7Ie0x7LH+KMd+cG2tVuv4d682XmawXy8L74YHSRM\nmRKlvaXQppz49OWXEzsWt/GjxjIViFjgDydO1v9yz58fLUTdwc6fz+OBAF+ENi/FlRdeyE2bNiV3\nVswONV7uTq/osBvkYL7p7CI/u5s6IpAvcnLYKTeXv09HRUEiOG16hkLaD1G86QKcNK8dRMUxiXcT\nG49pyRJbje0PBPgwwLYA7xk1igcOHIi/73j26PuwcyyxNJZI68IYiRsn1zKc/4XdurGgfXuuXr06\nueNyC79pLIudo9524lYn0HyDAawOBvlcfj67ABwO8OOiImc3dqwLp19wp9UFdo7ZzrHb1dIuXWpd\nNxwR9aaVK3nWWWdx5syZiR1TtnAq7lhprVjnMJF8qN05d6CxncEgp7RuzbYAfwJwW69eqWvMSSRu\nxG6kqJPWhTGlMnt2zBk4586dy/bt23PZsmXOjyebeEFjTlsPacB7TlwXSazINtLU3ZKby58FAmwb\nCPBapfix3vFjfHalHfEukO5Q5893NhjD6iLGEpfTSMOCbdu2sWfPnnzkkUfs58HwSi97quJ2awSg\nHmEbU16xbt6SEoYDAS7LyeH1SrFNIMB7lOJXbmtswQKtusnJgDLzuYxXBZWCxpYsWcL27dtHz3Xu\nRX2R3tFYZWX9mIAM4j0nrovEZjKe2tpaLnrtNY5s3pz5ACe3bs1tH36Y+EV00rxOVLDmm8acz3Tx\n4u7bt48DBw7kXXfdpT11yMkxZYsUnEnMCNrpNdfX1Z+qE6cU9Ntvv+XLTz7Js5s0YS+As/LzeXjV\nKu9pzHgO4uWEk+CTTz5hhw4d+Oqrrzo7nmziFY1JThy2k/Ec3rWLM2fOZK9evTiwZ0/OCQT4rTl1\nYXag8UrWYl0gtwRr9bgtl5qkVVVVvOyyyzhixAit8zbWMXmxGeyUWM1gJzeuXR+HqRR02/r1nDRp\nEvPz8/m9iy7i+4FA/XwnXtWY3mI054Rdut4bNmxg165d+fDDD7O2qiq5vLIfcFNjjT4nbux4WbWK\nnz/2GO8ZN45t2rTh6NGj+dFHHzF8+LD9L+eSJVoKxMnc27EukFsOMZE8ZhKcOHGCd999N/v06cMt\nW7bU39TGqMyrzeBYuOkQjJG4UvX6qqxkeNcufnj//bz2yivZtm1bTpw4sf48mq+/MdXndH73ZDSW\n6LGnWWNff/01S0tLee2117J6927rqRlEY5ITp+7Eg0HWAlwYCHD4aaexAOAvCgq46/PPoy23iorM\nddZJ1P3G3If+XiodaqmM5ozBc889x4KCAr7/zjun2uflZrAVTs6xkyjY7GReeqkuRXckGOQLP/sZ\nS5o1Y1+AzxUWag7KvA1z6sJugJdbGks2xZJmjR0/fpzjx4/n2WefzS1r1ojGrD5PJaWTAp5z4jM6\ndmR3gOc2bcpXAwEecyoKqyazYTCDKxUO5v04FatdHtPlX+yKigoWtm/Ph5TiSasqGb8MK041l6yn\nsPS+Fb0vorKSW7t04QNKsV0wyKsuvJBLAwGGnVxLK32lQ2PJOsMMaCwcDvOZZ55h+9at+WfDiM9G\nq7GiIu36O6ksSiOec+I3tWrFFbNmMbxrV7Qo4s2sZ47E+/atrypxc45jN8Tqxi+2njoydWbt27qV\nw1u04MVKcWffvlmPEhLCmK6wS2WYr6e5UiQU0hy3wdGGu3fn3+bOZZfcXLYG+PPWrfml2fHE6xg0\nrqt3jhqnkXWzisYNZ+jG9a6s1AYImTrkVy1bxu5NmvCngQCP9e/fODVmnAoB4In33+drr73GK664\ngseOHcvoIXnOiUcNq9eHyTsdSKPng62mlbWqEjFGbIncMKmI1Y08nPkHyxQJ1FZV8T8nTGCHgoLM\nTmyUKMZzYY58jFMkWH1md/zLl9elOk4CfBPguQB7FhTwYaX4ta6xl16q37bdYBG75rLd9A1uaSxV\nZ+iGxuwGBkU4vGsXR196KQeUlPCzzz5Lfj/pxOr6uaWxSEukCuATAM/Kz2dZWRkXLlzo/vTRcfCe\nEy8q0qJoo+iXLDm13DDRZqq5SsT4w5CpBz8kk76xwuFov+XLl7NHjx685ZZbeOjQoRSNdxnzuYiV\nx7WKZq00QZKVlTzStSt/C23kbinAv+TmsnbTpnon26SJdhO6qa/IvhuMxsxD9GfPPmWVcDjMV155\nhfn5+Xz88ccTn3ognVidh1itogQ1tqtTJz4AbeTuTQBXZmrOGQu858StZgS0+kVMtJlqviDJTkOb\nCm51/sSJxI0cOXKEd955Jzt37sylTgaoZAq7igq7aiCrpq/JQR7cvp2PFRSwAOB1AD/Vz09OTn0E\n3alT/XnTm8lu6ItsWBqLE4kb+eqrrzhs2DAOGTKEX3zxRZKGu0ysEdQpaOxfq1fz9jZt2AbgRIDb\nzZ3bWcB7TtzcYWR+krjuiBLJHVo5vWSnCU0FNzt/QqGERvu9//77LCws5L333hv9IOZsYXfTxCrH\nM38WiXz3BIOc1Lo12+bl8cdKcZOVjsyOGdBuTDf0pa/f0DRWWanpa/78uNupra3ljBkz2K5dO774\n4ouZfZCJFXbnIRmNFRVxbSDAG1q1Yn6rVpyqFPfbaSwLeM+J651Mel7bLtdIWp90qw4/u06KbHTE\nuLXPJJrNBw4c4E033cSePXtaz4vhZJ+pTkRl/l68cxFj21++/TbvVIptAP4fgNs7d9ZScVad2/q2\nzFoyvmfu3LSzTzRmy4YNG3jOOefw8ssv57Zt25Lbp1sac3oeYmz7708/zZEAz4zkvkNvvmlfQJEl\nvOfEreYesBr1aIVdmsHN6MQLhEJaztIqX+eAd955h2eeeSbvueceVldXO99nvBI6t4Z+6zeVTYf2\n+vXrOXbsWLZr04YPBwLcZ06P2E0iRlrPbxEKOZsJT19XNBaTEydOcPr06WzXrh2fffZZ5x19HtFY\nOBzmokWLWFpaym4dOvAFQCt1BrTWr66XLDtvnUw9Y7MpgE8BrAGwAcB0m/Wsb6JkJok3d/hlIyKK\nRSrRqy66ZJ7fGOHAgQO89dZb2bVrVy5ZsiT+F5yU0Nldv1jHYj4H5jykYZ+f/O53vLq0lB0KCvjr\nX/+aVYsX14/A1NMjxhs/1rZFY7G/54LGNm7cyMGDB3PYsGHaKNh4ZFljNTk5/O9f/pKDevViSXEx\nX3/9dZ58//36/QKnlhp6YJqBjEXiAJpH/gcBfAJgiMU61jeR0yjHLkryGkk0U+swC33KlOSrHkIh\nvvfUUzyrUyfefvvtsR+eESvHePbZ1iMY4+zb8hyY0hLh7t25NBjkJaefzs65ufxdIMCjem2ysfMt\nJ4dctcr5tkVj9riosZpDhzjj3nvZrm1bzpgxI3YFS5Y0drx7d84JBtmrSRNecNppnB8IsHbAgHqN\nNW1av8/Nm2NvOwtk4xmbzQH8A0CxxWexJ9dJZJJ4jzR1TiFeMzXer7tR6FZPHXIaHRhEeLikhBPG\nj2enTp347rvvnrqesZbbLkespyOcphPsHGrESdYGApzXuTPPGziQfbp04e8ffJAnzOfMqqNSt9du\n27EctWis/nOXNbalTx8OHTKEgwcP5saNG+1tyaDGjgYCnHnGGTzrzDN5+fnn88MnnmA4VY1lgUxG\n4oFIOiUE4P/ZrOOt5qjbxGumxvp1NztTwzwgSdU2W4jwgw8+YLdu3ThmzBju3r078Wgj1g1o16Q1\n3ZAnDhzgq4WFLAb4nWbNOPe117ScqtX6oVD06Ez9kXaxnLXXUh5u42GN1X78MZ999lm2a9eOjz76\nKI99/XXi0awLGjuwbRt/FSlFvbZlS/6jvNx+fbPG9HJVpy23DJCNSLxlJJ0yzOIzTp06te6vXD+5\nDQWz45w9O/rix4sgjWK3ElEi0YHx+4aqnyNHjnDSpEls164dn7jnHh5PsvP0lP3YOY3IDVFdXc2n\nn36aZ3XowEuU4l8BhvUbRseqU1Kfw8Kqo7EhO2s7fKCxbdu28dprr2W3M8/kX5zOXRMLhxrbuXMn\nJ06cyDaRUtQNVvu10tjmzdoAMeDUx9plQWPl5eVRfjIr1SkAfgngAYv3034CsoqT5rzxc32+GLvR\njGYROYkOjBFLjKqfzZs388rLL2evpk25IBhkWM8RJordoIuIDbt37+YjjzzC9u3bc9SoUVpUFCsv\nanWj2o2yWk51AAATZElEQVSsc9rsb0hkW2Pmcx5DY4v/8hf2bdqUVyjFdU4fd2dFHI2tW7eO4yLT\nWd9///3caRy960RjhqkcaA4sPKCxTFWn5ANoFXl9GoBlAC61WC8Tx5xdjDeFXRPQPF9MSYnzXKDx\n+/GqMxxMWbrwz39mSVERzx00iAsWLEh8XggLpxEeMIAfBgK8vlUrtm7VihOuuYab9U5J8znSsXPU\nVvswRpEe6HjKONnSmNU5jxO5nzhwgE/fdx87FBTwuuuu49q1a5M7XpPG/t2/P18LBDikeXMW5ufz\nV7/4RfRDrRPRmN0Pl0c0likn3h/A6khO/DMAP7dZLxPH7A3iCcBqWLrTplusiMLpUHcDtbW1fPvt\ntzlw4EB2796dv/nNb1iZSLVCKMTw8uVc+be/cfLYsewGsBjgM4EAqzp3rncidscWCsWvCDHflB7q\neMoamdZYokPdDRw5coRPPvkkzzjjDA4ZMoSvvvqq8zEMEXtOfPQRF82dy/Hf/z7bArwM4DsATyoV\nf+6aeBqzcvoe0Zj3Bvs0FpzOZ5xox0koRM6c6TyicJLXi9yg4cOH+emnn3L8+PFs3bo1zznnHD74\n4IN8/fXXuWbNGu7YsYOHDh3inj17uHnzZi5atIhP//rXHPXd77JDQQG7d+/Ohx54gGu6d9fyoOY/\nu7ldYk0LGstmj3Q8ZY10aEx31vPnO3fY8TRmaC2cOHGC8+bN48iRI9miRQtedtllfOyxxzh//nxu\n2LCBe/bs4aFDh1hZWcl169bxnddf52N33MHLv/td5uXl8cILL+SM6dO5o1evU/VlHEcQ61z5TGPi\nxLOF0/x1Ih0n5mgC0Dr94k1VYLetGKMmT5w4wWXLlvGxxx7jqFGj2L9/fxYWFrJly5bs0LYtu3fr\nxsu++13e2a4d/xAIcJtxbnNjs9X4p88DY9X810dTJlKXnej5a2i4rTF9e8Fgfe20WWOJbi/GY+5C\noRDnzZvHyZMnc8SIEezduzcLCgrYsmVLnpGfz749e/IHLVvyQaU4v2tXHjAO87fSWDCoacxqxKeP\nNeZvJ+6BToWUcFsAxg4Y/c845WoidumOW++USqQaIV7O3ehcmjbVRl02bVpfFmdVl1xSkp2nqIjG\n6rF7ulGqGkt2AI9pRK9tP4k+9bDxh8cqXZItjaWIf524RzoVPIVVJK43D/WHIDjB3Azv0cNZkzHR\n6WX1zjHjlK3mmm+r7WYq9ygai8Z4Ppo2jQ4YUtGYfr2dnGNz2iOWNs0aM9obCESnTDyS304G/zpx\nH5/0tBIKaZP0dO1aL1g9yo11kxgjTovefscpmGRz7sbI3KrmOxu5R9HYqYRCmvPr27c+rRIMOptj\nxU5jxllLnew/WW2aAxxjxO2R/HYy+NeJ+/ikxyXVJrzR+QSD8dMhVhFnAp1Rp7xOZvpP/Xvz59t3\nymZjSlfR2KlYza0S78cuUY1Z6cMNjc2aFbtU1Yd9KP514qRvT3pM3GjCm6Mcc/2vWdyJRpzGTqDi\nYmdTuBqJNbWw3ei4bCEas/++MRq2aoElqzFz3nvz5sTsDYXsO0yNE1o1bZp9fbmAv514Q8TNR7gZ\nB3wYX1tFRIlEnEuWRDdLY0X6VtGQ1VwUVp/ZPDtUSBE3NGb+cXNTY+Z8eadO8UslzWkauw5Ts3a9\n9MjCJBEn7jXS3YSPNXeG04hz/vzoG6FrV/vOy1gDQsy1u7E+E9zD6xqrrKxvjemdkHYdmGaNGSui\nrDpMxYlb/gUguEdeHvDRR8CyZdr/vLz6z6qrgRUrtP9OsFq/pATo1w/IyQG6dAE6d67/TPshjU/z\n5tHLs2bV2wvU73P9emDDBqCmBti4EXjzTW2f/foBublAjx7A3/5Wf4y6bVafCe7hlsbs1i0pAfr0\nAYJBoHdv7ZrqONHY9u1AbW39clGRpgUnGtu0Sdt3bq5mx1//Gn2MF1ygvZ+To/0///z49jQGUv0V\n0P8gkbg9sfKYVp1UsdbXc9L6ZzYDemJu22pghHmfxlypsf47VkVBQ8xB+wU7zSSqLyt9JKJfY0vB\n6rm68TQWr9qlgWkMkk7xCYlMIRprfavPjHXaxiHUVp1D+g1n5YjfeKP+cWnG7VjNS50sqVRVCLGJ\nNfdJKvoyP1zBicaWLDnVEYdC5OOPp1djPtSXOHG/YJfHTOYpNvGqC4yRubFzSB+8YxVNbd4c/bxL\n49SiemSW6mg4Nyp3BHusNOOGvqw6NhPVWCik1aYb89nGqRzMrctktOFTfYkT9xNWzcB4N5OTtIU5\n8rEbTWfsNMrJ0Sba0rc9aVL0DTZxYvS+kpmXwowMvkk/VlUnbujL3HpLVGNWU0rMmhVto16SmGzZ\noE/1JU68IZBKji9eOZgxv6g7Y6tRb8ZIXKn6B8qSsaO5RJqu6a6qEKxxW1/G951qrLIyOhI31ng3\ncn2JE2/sJFoOZp4dzljLvXmzNnrP6MD1bdk1rxNtujawTqkGT6zoNlGNhULalBL6bJfG7TRifYkT\nb+zESnXYVSXEe0CD3X7koQ2Nj1iVJvrnbmisEevLDScet05cKdVJKfWhUmqDUuqfSql7Xa5yFFKF\npvrd6mqgtBQYOlT7r9cC5+UBy5cDS5dqf8uXx6/l1ut5+/WzrgkvLo6uJRYaDnl5wHvvaeMDvvoK\nGDmyXktuagyI1rDoKzHieXkAHQEMjLxuAWAzgD4W62Xih0swYhexuDn8P1Z9sM+arkISZEtjjURf\nyEQkTnIvybWR10cAbAJQmJ6fFCEh7CIWtyIZ84i6DRvqP8vLAwYPllGZDZ1saUz05RhFc1M81spK\ndQVQAaAk4tCNnzGRbQkuUV2tCd+Y7oj1fqLbLi3Vbq7i4lOHeQuNA9FY2lBKgaRKaRtOHa9SqgU0\nB/4rkvMtPufUqVPrlsvKylBWVpaKbUKm0PPeJSWn3kBu3KiCIBoDAFRUVKCioqJu+dFHH82ME1dK\n5QB4F8AikjNt1pFI3I/okZB+EzWySEjIAKIxW9yIxJ3OYvhfADbaOXDBx8TKewuCG4jG0oqTEsMh\nAG4GcIlSao1SarVSakT6TRMygpRzCelGNJZWEurYjLkhSaf4l0aUkxSyhGjMkox2bDowRpy4IAhC\nAmQyJy4IgiB4EHHigiAIPkacuCAIgo8RJy4IguBjxIkLgiD4GHHigiAIPkacuCAIgo8RJy4IguBj\nxIkLgiD4GHHigiAIPkacuCAIgo8RJy4IguBjxIkLgiD4GHHigiAIPkacuCAIgo9x8mSfOUqpfUqp\ndZkwSBAEQXCOk0j8FQBXpNsQQRAEIXHiOnGSfwdwKAO2CIIgCAkiOXFBEAQfk+PmxqZNm1b3uqys\nDGVlZW5uXhAEwddUVFSgoqLC1W06elCyUqoLgIUkB8RYRx6ULAiCkACZfFCyivwJgiAIHsJJieGf\nACwH0EsptUMpNS79ZgmCIAhOcJROcbQhSacIgiAkRCbTKYIgCIIHEScuCILgY8SJC4Ig+Bhx4oIg\nCD5GnLggCIKPEScuCILgY8SJC4Ig+Bhx4oIgCD5GnLggCIKPEScuCILgY8SJC4Ig+Bhx4oIgCD7G\nVScuE2AJbkMS4XAYx48fR1VVVbbNERog4XDY174rLZF4TU0NJk6ciHA4nI7NCw2Y/fv34+uvv65b\nvuWWW/D2229j5cqVGDeufhbk9evX4/nnn8+GiYLP2bJlC06ePFm33KVLF+zbty+LFqWGq05cKW1G\nxZMnT6K4uBiBgLb5gwcP4o033nBzV0IDwhgFPffcc1i6dGnd8iuvvILRo0djyJAhmDdvXt37eXl5\nKCwsrFtevXo1VqxYkRmDBd9h1NiDDz6IrVu31i1/+eWX6NixYzbMcgWnj2cbAeC30Jz+HJKPW6xj\nO5/41q1bMW/ePPz85z8HAFRVVaFJkyZo3rx5KrYLDYAFCxZg4cKFmD17dkrbWbx4Mb799ltcc801\nAIC9e/eiffv2CAaDbpgp+JgpU6agd+/eUS05r+DGfOIgGfMPmuP+AkAXALkA1gLoY7EenfLKK69w\nypQpjtd3i/Ly8ozvMxkasp27du3i5MmT65arq6tZXV3tolUat912G999912SDft8ZgOv21leXs6X\nX365zs5vvvmGJ0+ezK5RNkT8Zlw/HOvPSTrlfABbSG4neRLAmwCuTuWH48c//jGmT59et3zfffdh\n0aJFqWzSEW4/ZTpdNCQ7a2pq8NRTT9U1Z/Pz8zFw4MC6z1u0aIEWLVq4btvLL7+MkSNHAgDKy8sx\ndOhQz+c9G9J1zyS7du3Ca6+9VrdcWFiIPn361NmZn5+PnJycLFmXfpw48UIAOw3LuyLvpYSePweA\nhx56CBdeeGHd8lVXXYVVq1bVLX/yySeorq5OdZdCmti7d29UR9F9991XV0mSk5OD6upqHDt2DADQ\ntGlT3HjjjRmxy6ix2bNno6CgAABw/Phx9OzZEzU1NQC06oQPPvggIzYJiRMOh7F79+665X379mHS\npEl1y0opHDhwoG65Z8+eGDJkSEZtzCaeqBPv2LEjWrduXbc8Z84c9OvXL2r5m2++qVs+77zz8Pnn\nn9ctjxo1Kqqj4rbbbsP27dvrlu+4446o5QkTJmDHjh11yz/96U+jlu+8886Yn0+YMCFqez/5yU+i\nlm+//faoZbM948ePx7Zt2+qWx40bF7U8b968qOUf/ehHUctjx46NWr755pvx1Vdf1S2PGTMmavmm\nm26KWr7hhhuilkePHo0vv/yybvn666+PWh41alTU8iWXXIJ//etfUd83np+hQ4fWdWoDwLRp07La\n/6GUQu/eveucepMmTVBeXl4XnVVXV+OZZ56pW3///v3o2rVr3fKhQ4dw6aWX1i1XVVVh1KhRUcuj\nR4+OWjb+UB0+fBhjxoyJ+vzmm2+OWjZ/bvx+VVUVbrjhhqjl66+/PqY9P/zhD6OWr7322qjj0fsO\n9OWrr746avkHP/hB1PL3vve9uuVjx47VtXL0z0eMGBG1fMUVV9QtHzx4EMOHD49avvzyy6OWjed3\n//79GDRoUNSycf8tW7bEOeecU7dcWFiI++67D42VuB2bSqnBAKaRHBFZngItj/O4aT3/FloKgiBk\nCabYsenEiQcBbAZwKYA9AP4B4CaSm1LZsSAIgpA6cbP9JGuVUvcAWIz6EkNx4IIgCB7AUZ24IAiC\n4E1S7thUSo1QSn2ulPqXUmqyG0alYMscpdQ+pdQ6w3ttlFKLlVKblVJ/VUq1Mnz2kFJqi1Jqk1Jq\nuPVWXbexk1LqQ6XUBqXUP5VS93rUzqZKqU+VUmsitk73op2GfQeUUquVUgu8aqdSaptS6rPIOf2H\nh+1spZR6K7LfDUqpC7xmp1KqV+Q8ro78P6yUuteDdj4UOYfrlFKvK6WauG5jKkXmcDgQKFN/AC4G\nMBDAOsN7jwOYFHk9GcBvIq+LAayBllLqGjkOlQEbOwIYGHndAlp/Qx+v2RnZd/PI/yCATwAM8aKd\nkf1PBPAagAVevO6RfX8JoI3pPS/a+XsA4yKvcwC08qKdBnsDAHYDOMtLdkLzi18CaBJZ/jOAW922\nMVUjBwNYZFieAmByJi+gzYkzOvHPAXSIvO4I4HMrWwEsAnBBFuz9C4DLvGwngObQOrSLvWgngE4A\nlgAoQ70T96KdXwFoZ3rPU3YCaAlgq8X7nrLTZNtwAB95zU4AbSL2tIk45gXpuNdTTaekZSCQyxSQ\n3AcAJPcCKIi8b7a9Ehm2XSnVFVrL4RNoF9VTdkZSFGsA7AVQQXKjF+0E8DSABwEYO3i8aCcBLFFK\n/a9S6naP2tkNwH6l1CuRVMVLSqnmHrTTyA0A/hR57Rk7SR4C8BSAHZH9HSa51G0bPTHYJ8N4oidX\nKdUCwNsA7iN5BKfalXU7SYZJDoIW6ZYqpcrgMTuVUt8DsI/kWgCx6m2zfj4BDCF5DoCRAO5WSpXC\nY+cTWsR4DoBnI7YehRYhes1OAIBSKhfAVQDeirzlGTuVUkXQ0nxdAJwJ4HSl1M0WNqVkY6pOvBJA\nZ8Nyp8h7XmKfUqoDACilOgLQJ6uuhJZD08mY7UqpHGgO/I8k53vVTh2SIQDvATjXg3YOAXCVUupL\nAG8AuEQp9UcAez1mJ0juifz/Bloa7Xx473zuArCT5MrI8lxoTt1rdupcCWAVyf2RZS/ZeS6Aj0ke\nJFkLYB6Ai9y2MVUn/r8AeiiluiilmgC4EVreJ5soREdkCwD8OPL6VgDzDe/fGOkt7gagB7S8byb4\nLwAbSc70qp1KqXy911wpdRqAy6F1unjKTpIPk+xMsgia/j4keQuAhV6yUynVPNL6glLqdGh53H/C\ne+dzH4CdSqlekbcuBbDBa3YauAnaj7eOl+zcDGCwUqqZUkpBO5cbXbfRheT9iIixWwBMyWSHhoUt\nf4LWS30cWh5qHLROhaURGxcDaG1Y/yFoPcCbAAzPkI1DANRCq+RZA2B15By29Zid/SO2rQHwGYCf\nR973lJ0mm4ehvmPTU3ZCyzXr1/yf+r3iNTsj+z0bWoC2FsA70KpTvGhncwDfAMgzvOcpO6H11WwA\nsA7Aq9Cq+Fy1UQb7CIIg+JjG2LEpCILQYBAnLgiC4GPEiQuCIPgYceKCIAg+Rpy4IAiCjxEnLgiC\n4GPEiQuCIPgYceKCIAg+5v8Db49M/qXFUbMAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Si at Hope and Gravesend\n", "ll=list()\n", "for ff in df0.keys():\n", " ll=ll+[(ff,i) for i in df0[ff].keys() if ((re.search('[Ss]ilica',i) is not None) and (re.search('[Dd]is',i) is not None)) ]\n", "print('Si')\n", "for (ff,i) in ll:\n", " print(ff,i,np.min(df0[ff]['TS'][df0[ff][i]>=0]),np.max(df0[ff]['TS'][df0[ff][i]>=0]))\n", " \n", "plt.plot(df0['Fraser-Hope']['YD'],\n", " df0['Fraser-Hope']['Silica Dissolved [Lab: 36] [VMV: 103469]'],'r.')\n", "plt.plot(df0['Fraser-Hope']['YD']+365,\n", " df0['Fraser-Hope']['Silica Dissolved [Lab: 36] [VMV: 103469]'],'r.')\n", " \n", "YD=df0['Fraser-Hope']['YD']\n", "val=df0['Fraser-Hope']['Silica Dissolved [Lab: 36] [VMV: 103469]']\n", "ii=~np.isnan(val)\n", "sidict=gsmooth(YD[ii],val[ii],60)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAVcAAAEACAYAAAAHujVXAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAHT5JREFUeJzt3X20XFWZ5/HvLwlJB5qXIAg2ad4E2+BSeQ2MUSlU0rwM\nYVp7EGfQRkZkJjZmtTROgjq56RcDjjTdM6OL1SIO2JF0VF7SYzckEQoXNCQRAk2TaEclSMeQEUzD\n0EiSmzzzx9mB8t46t06l6tStl99nrVqp2rXP2WffuvfJrufsc7YiAjMza68J430AZmb9yMHVzKwE\nDq5mZiVwcDUzK4GDq5lZCRxczcxKUCi4Stok6XFJ6yStGfHeVZJ2Szq4pmyBpI2SNkia3e6DNjPr\ndpMK1tsNVCJiW22hpOnA2cDTNWUzgIuAGcB0YJWk48MTas2sx0maB3wsvfxKRPyPvLpF0wLKqXsD\ncPWIsguBpRExHBGbgI3AzILtmJl1JUlvAf4TcCpwIvBvJR2bV79ocA1gpaS1ki5PDc0BnomIJ0bU\nPQJ4pub15lRmZtbLZgCrI2J7ROwCvge8P69y0bTArIjYIulQYIWkHwDXkKUEzMwGwT8CfyJpGrAd\nOA9Ym1e5UHCNiC3p359LuhM4EzgaeFySyHKrj0qaSTZSPbJm8+mp7FdIcg7WzAqLCLWy/UFSvFC8\n+taIOHxE+z+QdB2wEngJWAfsytuBGp1nkrQvMCEiXpK0H7ACWBQRK2rqPAWcHBHbJJ0ALAFOJ0sH\nrARGndCS1LfnuIaGhhgaGhrvwyhFv/atX/sF/dE3SS0HV0nxJwXrfpbGwVzSn5KlRm+s936Rketh\nwB1ppDkJWFIbWJMgO+lFRKyXtAxYD+wE5vZtFDWznrJPi9tLOjR9gz8S+B3gjLy6DYNrRDxFdmZs\nrDrHjni9GFhc7HDNzDqj6EmmMXw7zenfM3B8scS2bKRKpTLeh1Cafu1bv/YL+rtvzZra4vYR8e6i\ndRvmXMvSzzlXA2lR7nsRCzt4JONL+oem6ke8raQj6W3tyrl+pWDdy2n9BJpHrmY2MDoZ8Bxcra6x\nRp7dvO/x1I4Reb2fTdH9tuPn2u/fKlo9odUMB9cB16+BbjyU9bP0Z9Q+HrmaWen6fZRaj0euVgqP\ngAbTIAbRPA6uZtaQg2bzWp2K1QwH1z7kEWp/cRBtH+dczcxK4LSAGZ2dgtRpHo2OD49cbeC0Emya\n2bbMQOyA2f08crXCenHUNp4cAAebR65mZiXwyNXMrASeijXg/FXfrBxdN3KVtAl4AdgN7IyImZK+\nAFxAtlDXj4GP7rlxrKQFwGXAMDCvzsoFab97f5OKfuAgatZZrY4mU2y7hGztrCfI4t6OunWL3FNV\n0k+AUyJiW03Z+4B7I2K3pGuBiIgFNWtonUa2OOEqctbQgqG96V9D3RigHUhf042fj3W3dt3P9fmC\n0fV1w6Pv5yrpKOA+4M0RsUPSXwPfiYhb6+1jQtHjGlk3IlZFxO708mGyQAowB1gaEcMRsQnYCMws\n2I6ZWWkmTSr2yPEisAPYT9IkYF/gZ7ltFTymAFZK2gX8ZcSoG3pfBtyWnh8BPFTz3uZU1jHNjBLb\nPYryCNWse+0zce+3TatbXw/8FHgZWBERq/LqFw2usyJii6RDyYLshoh4AEDSZ8jysLeNvYt67qt5\nfjRwTPO7aJGDYXv0+lf9gw8+mG3btjWuaKWbNm0at99+O9Vqte37HmNU2pCkY4E/AI4iOwf1LUn/\nISK+UbetIjuNiC3p359LuoPsa/4Dki4FzgPeU1N9M/CbNa+np7I6zirSvI2TXg+Yzdi2bRte0607\nSKJSqfzKwoqLFrVnELTPlPrl1R3Zo4FTgQcj4hcAkm4H3gHUDa4NT2hJ2heYEBEvSdoPWAEsIsvB\nXg+8OyKer6m/54TW6WTpgJV0+ISWNWeQgmiedMJkvA/DqP9ZtOuEVvxGwbo/q3tC6+3AX5GdrN8O\nfA1YGxFfqrePIiPXw4A7smDIJGBJRKyQtBGYTJYmAHg4IuZGxHpJy4D1vLa2t39ru4QDqQ20FtIC\nEfG4pFuBR8imYq0D/jKv/rgure2Ra+c5uNbnkWv3KHXkemzBuj/x0tpmZsW1MFugWQ6ufcCjUbOC\nOhjxHFx7iIOoWYtyZguUwcG1SzmQmpXAI1czsxI4uA4Oj1DNOsgntPqTA6nZOPPItbc5iJp1KQfX\n7uSgadbjHFzNzErgqVid49Go2QDxyLU1DphmVpdnCxTjIGpmTfHIdTQHUjNr2SAHVwdRMyuN0wJm\nZiXoYMQrtLS2pE2SHpe0TtKaVDZN0gpJP5R0j6QDa+ovkLRR0gZJs8s6eDOzpvxawUcdkt6UYuCj\n6d8XJH0yr6lCwRXYDVQi4qSImJnK5gOrIuK3gHuBBekATgAuAmYA5wJfVloHxsxsXE0s+KgjIv4p\nxcCTgVOAfwXuyGuq6CBZjA7EFwJnpue3AFWygDsHWBoRw8CmtNbWTGB1wbbMrMstGmO8tLCbl8tp\nX1rgfcCPI+KZvApFR65BthDhWkkfS2WHRcRWgIh4Fnh9Kj8CqG1wcyozMxtfkwo+GvsgcFujpoqY\nFRFbJB0KrJD0Q7KAW2sv/ru6r+b50cAxze/CzPpOtVqlWq22f8c5X/mrT2ePIiTtQ/YNff6Y9Zpd\n8VLSQuAl4GNkeditkg4H7ouIGZLmAxER16X6dwMLI2L1iP3UXf3VU7FsPHj11+ZIi3Lfa/VvuNTV\nX/9bwbp/lL/6q6Q5wNyIOGesfTQcuUraF5gQES9J2g+YDSwClgOXAtcBvwfclTZZDiyRdANZOuA4\nYE29fTuQmllHtSfn+iEapASKNnUYcEc20mQSsCQiVkj6PrBM0mXA02QzBIiI9ZKWAeuBnWQR3kMC\nMxt/Ld4VKw023wd8vFHdhsE1Ip4CTqxT/ovUSL1tFgOLGx6pmVkntThyjYiXgUM70JSZWQ8Z5HsL\nmJmVxvcWMDMrgUeuZmYlcHA1MyuB0wJmZiXIueNVGRxczWxwOC1gZlYCpwXMzErgkauZWQkcXM3M\nSuC0gJlZCTxbwMysBB65mpmVwDlXM7MSOLiamZWggxGv6OqvSJogaZ2k5en1TElrUtkaSafW1F0g\naaOkDZJml3HgZmZNm1jwkUPSgZK+mWLbk5JOz6vbTByfBzwJHJBeXwd8Ni35ci7w34GzJJ1AtuTL\nDGA6sErS8V7qxczGXesj178A/jYi/r2kScC+eRULjVwlTQfOA26qKd4CHJieHwRsTs/nAEsjYjgi\nNgEbgZlNHb6ZWRmmFHzUIekA4F0R8TWAFONezGuqaBy/Abia14IpZGt2PyjpekDAO1L5EcBDNfU2\npzIzs/HV2sj1GOA5SV8D3g58H5gXEb/cq6YknQ9sjYjHJFVq3voqcGVE3Cnpd4GbgbObOdKhoaFX\nn1cqFSqVSm5dMxsc1WqVarXa/h3nRLzq32ePAlufDHwiIr4v6c/JBpkL61VWo1SopM8DlwDDwFRg\nf+AOYE5EHFhT718i4iBJ84GIiOtS+d3AwohYPWK/TsNa15CEfx+LkxblvhdRN9Y0se/Rn0UqU4v7\njfi/Beu+nlHtSToMeCgijk2v3wn814i4oN4+GuZcI+KaiDgy7fBi4N6I+DDwI0lnpkbeS5ZbBVgO\nXCxpsqRjgOOANcW6ZGZWnphY7FF324itwDOS3pSK3gusz2urlQzEFcCXJE0GXgE+ng5gvaRlqdGd\nwFwPUc2sG+xqfbbAJ4ElkvYBfgJ8NK9iw7RAWZwWsG7itEBzejUt8Mq/Fqv7a/uNTgs0y1domdnA\n2D5lcsGaO1puy8HVzAbGromduy2Wg6uZDYxdHbznoIOrmQ2MYQdXM7P229XBkOfgamYDw2kBM7MS\nOLiamZVgO0WnYrXOwdXMBoZzrmZmJXBawMysBA6uZmYl8DxXM7MSOOdqZlYCpwXMzEqwo4NTsQqt\n/gogaYKkRyUtrym7Mq3f/YSka2vKF0jamN6b3e6DNjPbG8NMLPRoh2ZGrvPIVhc4AEDSWcAFwFsj\nYljSIal8BnARMAOYDqySdLzvjG1m463VnKukTcALwG5gZ0TMzKtbaOQqaTpwHnBTTfF/Bq6NiGGA\niHgulV8ILE1rem8iW1sr9wDMzDplFxMLPcawG6hExEljBVYonha4AbgaqB19vgl4t6SHJd0n6ZRU\nfgTwTE29zanMzGxctSG4ioJxs2ElSecDWyPisbTjPSYB0yLiDODTwDeLNGhmNl7akHMNYKWktZIu\nH6tikQTELGCOpPOAqcD+km4lG53eDhARayXtkvQ6spHqkTXbT09lowwNDb36vFKpUKlUChyOmfW7\narVKtVpt+353MKVu+frqz1lffa7ueyPMiogtkg4lC7IbIuKBehWbWv1V0pnAVRExR9IVwG9ExMK0\njvfKiDhK0gnAEuB0snTASmDUCS2v/mrdxKu/NqdXV3/9q/hAobqX6NsN25O0EPh/EfFn9d5v5dTZ\nzcDNkp4AtgMfAYiI9ZKWkc0s2AnMdRQ1s27QyjQrSfsCEyLiJUn7AbOB3P9lmgquEXE/cH96vhP4\ncE69xcDiZvZtZla2FqdiHQbcISnIYueSiFiRV9lXaJnZwGjl8teIeAo4sWh9B1czGxi+t4CZWQkc\nXM3MSrA9ZypWGRxczWxgeORqZlYCB1czsxJ4mRczsxJ4mRczsxI4LWBmVgIHVzOzEmzv4BpaDq5m\nNjCcczUzK4HTAmZmJXBwNTMrgee5mpmVoJM516KrvyJpgqRHJS0fUX6VpN2SDq4pWyBpo6QNkma3\n84DNzPZWG1Z/zY2FIzUTxueRLd1yQE0j04GzgadrymYAFwEzyBYnXCVp1BpaZmadtqM9U7FGxcJ6\nCo1cUxA9D7hpxFs3AFePKLsQWBoRwxGxCdgIzCzSjplZmVpdWnuMWDhK0ZHrniB6YE0jFwLPRMQT\n0q8skngE8FDN682pzMxsXLUh5zoqFuZpOHKVdD6wNSIeA5TKpgILgNbW0DUz66BWcq51YuGYS28X\nCeOzgDmSzgOmAvsDtwJHA48rG7ZOBx6VNJNspHpkzfbTU9koQ0NDrz6vVCpUKpUCh2Nm/a5arVKt\nVtu+37zA+Vz1SZ6vPtlo81GxUNKtEfGRepXVzHkmSWcCV0XEnBHlTwEnR8Q2SScAS4DTydIBK4FR\nJ7Qk+RyXdQ1J+PexOGlR7nsRrX2hrfdZpLIxR4oF9hvnxrcL1f07fWDM9vJiYa12TfoK0hA5ItZL\nWkZ2Nm0nMNdR1My6QdfeWyAi7gfur1N+7IjXi4HFrR2amVl7tWkqVm4srOUrtMxsYPjyVzOzEnRt\nWsDMrJf5rlhmZiVwcDUzK4GDq5lZCbYzpWNtObia2cDwyNXMrAQOrmZmJfA81y6Udy11q9dRd9JY\n14MX1Uv9NRvJ81zbrB1BpZl993MA6of/ZGxwOS3QgjIDaa8Yj5/BoP0nY73JwbWAbg6inRzd+edg\nVtz2He25cUsRPRtc26XoH3o3BzEzK2bXsHOuv8KBrb84hWDjZdfwgKQFygqaZfyh1ttns8dfNKj4\nPxOzcnRlcJU0AXiEbMXXOZK+AFwAbAd+DHw0Il5MdRcAlwHDwLyIWNH2I2f8RztlBdxB5NGsdcLw\nzr0PrpKmAN8DJqfHXRFxTV79Zkau84AngQPS6xXA/IjYLelastVgF6Q1tC4CZpAtTrhK0qg1tJrV\njX9o/RIYPXq2QbF7195/WY+I7ZLOioiXJU0EHpQ0KyIerFe/UEuSpgPnAX8KfCo1tKqmysPAB9Lz\nOcDSiBgGNknaCMwEVhfrQPcF0V7U6s/RAdf6UotpgYh4OT2dAkwAtuXVLRrGbwCuBg7Mef8y4Lb0\n/AjgoZr3NqeynuAA0j08lcva7pXWTjPVpEffCNwYEevz6jZsSdL5wNaIeExShbTKa837nwF2RsRt\n9bYfy8KFr2UKKpUKlUql2V0U0i8Bc7yDSl77nf75Oj/b/6rVKtVqtf07Hm5t84jYDZwk6QBghaQz\n02KFo6hRKlTS54FL0mFNBfYHbo+Ij0i6FLgceE9EbE/152fHENel13cDCyNi9Yj9Fk7D9ktwbFU/\nBJDu/SyH8ArwxY31Obb6eypp1GeRypSzSdH9Bo/nfMZrq/D96muvb1zUsD1JnwNejojr677fzC+U\npDOBq9JsgXOA64F3R8TzNXVOAJYAp5OlA1YCo05o1Quu3fKH18l8Yz8EzFZ1x+c+lB57b5A+y54N\nro8UjHenjG5P0iFk39JfkDQVuAdYFBHfrbeLVhIQ/5NsOsJKSQAPR8TciFgvaRmwHtgJzG11pkCZ\nBukPolv55Jl1zM6Wtn4DcIuygDcB+HpeYIUmg2vKLdyfnh8/Rr3FwOJG+/MfkPWTZn6f/Z/6ONm1\n95tGxBPAyUXr98Tlr9C5X8YyA77/oIpr5mfVi/9J9+Ix94UWT2g1o2eCay9xEO2sbpnFYD3glc41\nNa7BdbyDkP/4+lu35HJ957Uu0sGRa1OzBdracBNTsco7Bi97Ypl6Z6htfJQ6W+Cugp/xha23NxBp\nAY8IzAxwzrUVDqRmlqu1qVhN6Zn7uY78+u0gamZNa2EqVrN6ZuTaDcHU+VWzHue0QOc4YJoNkEGZ\nimVm1lEeubafR6hm5uBakAOmmTVlUIKrg6OZddSgTMUyM+soT8UyMyuBZwuYmZWggznXCUUrSpog\n6VFJy9PraZJWSPqhpHskHVhTd4GkjZI2SJpdxoGbmTVtZ8FHHZKmS7pX0pOSnpD0ybGaKhxcgXlk\nS7fsMR9YFRG/BdwLLEgHcAJwETADOBf4cloWwcxsfO0q+KhvGPhURLwF+DfAJyS9Oa9yoeAqaTpw\nHnBTTfGFwC3p+S3Av0vP5wBLI2I4IjYBG4GZRdoxMyvVcMFHHRHxbEQ8lp6/BGwgW4S1rqIj1xuA\nq4HamyEeFhFb9zQKvD6VHwE8U1Nv81gHYGbWMS0E11qSjgZOBFbn1Wl4QkvS+cDWiHhMUmWMqk3f\naXhoaOjV55VKhUplrN2blcvZq+4wbdo0qtUq1Wq1/TvPm+f6sypsKdaepF8HvgXMSyPY+vUa3X1d\n0ueBS8ji+VRgf+AO4FSgEhFbJR0O3BcRMyTNByIirkvb3w0sjIjVI/Y77isRmFlvaNtKBB8uGHO+\nXr89SZOA/wP8XUT8xVi7aJgWiIhrIuLIiDgWuBi4NyI+DPwNcGmq9nvAXen5cuBiSZMlHQMcB6wp\n1iMzsxK1nha4GVjfKLBCa/NcrwWWSboMeJpshgARsV7SMrKZBTuBuR6imllXaOHyV0mzgP8IPCFp\nHVkq9JqIuLtu/UFeoNDMekPb0gK/UzDm3NHjCxTWW13AN3Mxs9IMyl2x6mllXS0zszENcnBthgOx\nmTXFtxw0MyvB9s415eBqZoPDaQEzsxI4LdAa51fNrC6vRGBmVoJBTgt41GlmpRnk4GpmVhrnXM3M\nStDBqVi+t4CZdb223VvgDQVjzpYev7eAmVlHOS1gZlYCT8UyMyuBZwuYmZWgg8G14TIvkqZIWi1p\nnaQn05paSJopaU0qXyPp1JptFkjaKGmDpNlldsDMrLCdBR91SPqqpK2S/qFIU4VmC0jaNyJeljQR\neBD4Q+CPgcURsULSucCnI+IsSScAS4DTgOnAKuD4kVMDPFvAzIpq22yBwotUj25P0juBl4BbI+Jt\njfbQcOQKEBEvp6dT0ja/ALYAB6Xyg4DN6fkcYGlEDEfEJmAjMLNIO2Zm3SoiHgC2Fa1fKOcqaQLw\nCPBG4Ma0COF84EFJXwQEvCNVPwJ4qGbzzanMzGxgFAquEbEbOEnSAcA9kirAZ4ArI+JOSb9LtuTs\n2c00nu1mj6OBY5rZ3PchMOtT1WqVarXayRbTo32avkJL0ueAXwKfi4gDa8r/JSIOSiPaiIjrUvnd\nwMKIWD1iPwFDrR5/XQ66Zv2lfTnXHQVrT67bnqSjgL8pknNtOHKVdAiwMyJekDSVbHS6CPiRpDMj\n4n5J7yXLrQIsB5ZIuoEsHXAcsKZgj9rCq8qaWX0tz8VSejRUJC3wBuAWSSI7mfX1iPiupCuAL0ma\nDLwCfBwg5WOXAevJJjXM9bQAM+sOe3/9q6RvABXgdZJ+SvaN/Gu59cfzxi1lpQWa4RGtWfdrX1rg\n2YK1D/eNW8zMiuvcnVsGPrg6P2s2SDp3/evAB9d66gVccNA1630euXYlj3LNep1HrmZmJfDI1cys\nBL/sWEsOrmY2QJwW6ErOr5r1OqcFzMxK4JGrmVkJBnjkWvSrd95cVDOzfB65diXPczXrdQMycnVg\nMrPO8lSsruT/DMx63YCMXM3MOquLcq6SpgDfAyanx10RcU1670pgLtkRfyci5qfyBcBlqXxeRKxo\n94HnjSJ9osvM8rU2cpV0DvDnZAsHfHXPclb1NFxaOyK2A2dFxEnA24D3SJqVFim8AHhrRLwV+GJq\nfAZwETADOBf4clrFYGB0dmG1zurXvvVrv6C/+9a84YKP0dIq2P8L+G3gLcCHJL05r6Wiq7++nJ5O\nIQvI24CFwLURMZzqPJfqXAgsTeWbJG0EZgKr6YB6I9qxRrNl5FGr1SqVSqXt++0G/dq3fu0X9Hff\nmtfSyHUmsDEingaQtJQs3v2gXuVCwTVF7EeANwI3pnWy3gS8W9LnyU7B/WFEPEK2KOFDNZtvTmXj\nxieizCzTUs71COCZmtf/TBZw6yo6ct0NnCTpAOCelBKYBEyLiDMknQZ8Ezh2b4/azKx8nZuK1fQC\nhZI+R3aE7wGui4j7U/lG4AzgcoCIuDaV3022SuLqEfvxirBmVlgbFijcBBxVsPrWiDh8xPZnAEMR\ncU56PT87rPontYrMFjgE2BkRL0iaCpwNLAJeJAuw96cUweSIeF7ScmCJpD8jG0YfB6wZud9Wf1Bm\nZs2IiKNb3MVa4DhJRwFbgIuBD+VVLpIWeANwSzrjPwH4ekR8V9L3gJslPQFsBz4CkPKxy4D1ZNnj\nuTFe63ebmbVJROyS9PvACl6birUhr37TaQEzM2us4TzXvSFpiqTVktZJejLNKEDSQkn/LOnR9Din\nZpsFkjZK2iBpdhnH1Q55fUvvXZmO/wlJ19aU93TfJC2t+cyekvRozTZd37cx+jVT0ppUvkbSqTXb\ndH2/YMy+vV3S30t6XNJdkn69Zpue6FvPi4hSHsC+6d+JwMPALLK5sZ+qU3cGsI4sTXE08CPSqLob\nHzl9q5B9XZiU3jukX/o24v0vAp/ttb7V6dc7gfuA2an8XOC+9PyEXunXGH1bA7wzlV8K/FEv9q2X\nH6WMXCH3wgOAeieyXr3wICI2AXsuPOhKOX37LzS4qKKH+1brIuAb6XnP9K1Ov35BdlLioFR+ENmc\nbIA59Ei/ILdvx0fEA6l8FfCB9Lyn+tbLSguukiZIWgc8C1QjYn166/clPSbpJkkHprKRk3PH/cKD\nseT0bc9FFQ9Luk/SKal6P/Rtz3vvAp6NiJ+kop7pW06/5gPXS/op8AVgQareM/2C3L49KWlOqnIR\nMD0976m+9bIyR667I7sfwXSyoHMm8GXg2Ig4kewX4fqy2i/TiL69a+RFFcCnyS6q6Dk5n9seHwJu\nG58ja03OZ/ZV4MqIOBL4A+DmcTzEvZbzmV0GfELSWmA/YMd4HuMgKi247hERLwLfAU6NiJ9HSvwA\nX+G1ryObgd+s2Ww6r31F61qpb38LnEo2Grg9la8Fdkl6HVk/jqzZrJf69h2yviFpIvB+4K9rqvXc\n5zbiM5sZEXem8m8Bp6VqPdcvGPW39k8R8dsRcRqwFPhxqtaTfetFZc0WOGTPV/6aCw8ek1R7xcP7\ngX9Mz5cDF0uaLOkYci486AY5fVsH3El2UQW1F1WQ9e2DPdy3x9LbZwMbIuJnNZv0xOc2xmf2oz0j\nc0nvJcs/Qo/0C8b8Wzs0lU0APgvcmDbpmb71urJulp134cGtkk4EdgObgCug5y486OeLKur2Lb33\nQUakBHqob3mf2RXAlyRNBl4BPg491S/I79snJX0CCOD2iPjf0HN962m+iMDMrASl51zNzAaRg6uZ\nWQkcXM3MSuDgamZWAgdXM7MSOLiamZXAwdXMrAQOrmZmJfj//R9wD9Z3fYwAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# find fraser location\n", "mesh=nc.Dataset('/ocean/eolson/MEOPAR/NEMO-forcing/grid/mesh_mask201702.nc')\n", "tmask=mesh.variables['tmask'][0,0,:,:]\n", "f=nc.Dataset('/results/forcing/rivers/R201702DFraCElse_y2016m01d23.nc') # example for dims\n", "plt.pcolormesh(np.ma.masked_where(tmask==0,f.variables['rorunoff'][0,:,:]))\n", "plt.colorbar()\n", "plt.xlim(350,399)\n", "plt.ylim(360,540)\n", "plt.plot((380,398,398,380,380),(400,400,520,520,400),'k-')" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "masked_array(data = [--],\n", " mask = [ True],\n", " fill_value = 9.96921e+36)" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f.variables['time_counter'][:]" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "# create daily files, use data to initialize fields\n", "year=2016\n", "fname='/data/eolson/MEOPAR/NEMO-forcing-new/rivers-climatology/bio/R201906_bioClim_'\n", "for yearday in range(1,367):\n", " t2=dt.date(year, 1, 1) + dt.timedelta(days = yearday - 1)\n", " #datestr='y'+t2.strftime('%Y')+'m'+t2.strftime('%m')+'d'+t2.strftime('%d')\n", " datestr='m'+t2.strftime('%m')+'d'+t2.strftime('%d')\n", " new=nc.Dataset(fname+datestr+'.nc','w')\n", " #Copy dimensions\n", " for dname, the_dim in f.dimensions.items():\n", " #print (dname, len(the_dim) if not the_dim.isunlimited() else None)\n", " new.createDimension(dname, len(the_dim) if not the_dim.isunlimited() else None)\n", " #new_tc=new.createVariable('time_counter',float,('time_counter'),zlib=True)\n", " #new_tc[:]=f.variables['time_counter'][:]\n", " \n", " new_run=new.createVariable('no3',float,('time_counter', 'y', 'x'),zlib=True)\n", " new_run[:,:,:]=const_no # other river value\n", " new_run[:,400:520,380:]=no3dict[yearday]/mwN*1000.0 # convert to muM; Fraser value\n", "\n", " new_run=new.createVariable('sil',float,('time_counter', 'y', 'x'),zlib=True)\n", " new_run[:,:,:]=const_si # other river value\n", " new_run[:,400:520,380:]=sidict[yearday]/mwSiO2*1000.0 # convert to muM; Fraser value\n", " \n", " new.close()" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "# create constants file\n", "f=nc.Dataset('/results/forcing/rivers/R201702DFraCElse_y2016m01d23.nc') # example for dims\n", "year=2016\n", "fnameC='/data/eolson/MEOPAR/NEMO-forcing-new/rivers-climatology/bio/R201906_bioConst'\n", "new=nc.Dataset(fnameC+'.nc','w')\n", "#Copy dimensions\n", "for dname, the_dim in f.dimensions.items():\n", " #print (dname, len(the_dim) if not the_dim.isunlimited() else None)\n", " new.createDimension(dname, len(the_dim) if not the_dim.isunlimited() else None)\n", "\n", "#new_tc=new.createVariable('time_counter',float,('time_counter'),zlib=True)\n", "#new_tc[:]=f.variables['time_counter'][:]\n", "\n", "new_run=new.createVariable('no3',float,('time_counter', 'y', 'x'),zlib=True)\n", "new_run[:,:,:]=const_no # other rivers\n", "new_run[:,400:520,380:]=np.mean([no3dict[yearday]/mwN*1000.0 for yearday in range(1,367)])\n", "\n", "new_run=new.createVariable('nh4',float,('time_counter', 'y', 'x'),zlib=True)\n", "new_run[:,:,:]=const_nh # other river value\n", "new_run[:,400:520,380:]=nh4_cst/mwAmm*1000.0 # convert to muM; Fraser value\n", "\n", "new_run=new.createVariable('sil',float,('time_counter', 'y', 'x'),zlib=True)\n", "new_run[:]=const_si # other river value\n", "new_run[:,400:520,380:]=np.mean([sidict[yearday]/mwSiO2*1000.0 for yearday in range(1,367)])\n", "\n", "new_run=new.createVariable('dia',float,('time_counter', 'y', 'x'),zlib=True)\n", "new_run[:]=dia\n", "\n", "new_run=new.createVariable('phy',float,('time_counter', 'y', 'x'),zlib=True)\n", "new_run[:]=phy\n", "\n", "new_run=new.createVariable('mes',float,('time_counter', 'y', 'x'),zlib=True)\n", "new_run[:]=mes\n", "\n", "new_run=new.createVariable('zoo',float,('time_counter', 'y', 'x'),zlib=True)\n", "new_run[:]=zoo\n", "\n", "new_run=new.createVariable('don',float,('time_counter', 'y', 'x'),zlib=True)\n", "new_run[:]=don\n", "\n", "new_run=new.createVariable('pon',float,('time_counter', 'y', 'x'),zlib=True)\n", "new_run[:]=pon\n", "\n", "new_run=new.createVariable('bsi',float,('time_counter', 'y', 'x'),zlib=True)\n", "new_run[:]=bsi\n", "\n", "new_run=new.createVariable('tur',float,('time_counter', 'y', 'x'),zlib=True)\n", "new_run[:]=const_tur\n", "\n", "new.close()" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "session.close()\n", "engine.dispose()" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f.close()\n", "mesh.close()" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1 [('no3', 6.1799999999999997, 8.2761044385521991), ('sil', 57.08212707723338, 59.57)]\n", "2 [('no3', 6.1799999999999997, 8.2882785962522743), ('sil', 57.206163580199082, 59.57)]\n", "3 [('no3', 6.1799999999999997, 8.2994811508050681), ('sil', 57.329740172292432, 59.57)]\n", "4 [('no3', 6.1799999999999997, 8.3097422957544573), ('sil', 57.452843088808478, 59.57)]\n", "5 [('no3', 6.1799999999999997, 8.3190924830764814), ('sil', 57.575459917952642, 59.57)]\n", "6 [('no3', 6.1799999999999997, 8.3275622467559174), ('sil', 57.697579976153257, 59.57)]\n", "7 [('no3', 6.1799999999999997, 8.335182031345342), ('sil', 57.819194697302521, 59.57)]\n", "8 [('no3', 6.1799999999999997, 8.3419820273049403), ('sil', 57.940298032288815, 59.57)]\n", "9 [('no3', 6.1799999999999997, 8.347992014782081), ('sil', 58.06088685553464, 59.57)]\n", "10 [('no3', 6.1799999999999997, 8.3532412174565813), ('sil', 58.180961373846529, 59.57)]\n", "11 [('no3', 6.1799999999999997, 8.3577581677750405), ('sil', 58.300525533589997, 59.57)]\n", "12 [('no3', 6.1799999999999997, 8.3615705848992636), ('sil', 58.419587421660282, 59.57)]\n", "13 [('no3', 6.1799999999999997, 8.3647052663268013), ('sil', 58.538159655556683, 59.57)]\n", "14 [('no3', 6.1799999999999997, 8.3671879941058815), ('sil', 58.656259757986291, 59.57)]\n", "15 [('no3', 6.1799999999999997, 8.3690434562051923), ('sil', 58.773910511271517, 59.57)]\n", "16 [('no3', 6.1799999999999997, 8.3702951835098478), ('sil', 58.891140287107483, 59.57)]\n", "17 [('no3', 6.1799999999999997, 8.3709655026844718), ('sil', 59.007983347211464, 59.57)]\n", "18 [('no3', 6.1799999999999997, 8.3710755048617571), ('sil', 59.124480110786024, 59.57)]\n", "19 [('no3', 6.1799999999999997, 8.3706450300838178), ('sil', 59.240677384888244, 59.57)]\n", "20 [('no3', 6.1799999999999997, 8.3696926671118295), ('sil', 59.356628554282757, 59.57)]\n", "21 [('no3', 6.1799999999999997, 8.3682357681479882), ('sil', 59.472393727748241, 59.57)]\n", "22 [('no3', 6.1799999999999997, 8.3662904778163565), ('sil', 59.57, 59.588039838143551)]\n", "23 [('no3', 6.1799999999999997, 8.3638717756908445), ('sil', 59.57, 59.703640694292837)]\n", "24 [('no3', 6.1799999999999997, 8.3609935314903332), ('sil', 59.57, 59.819276983026114)]\n", "25 [('no3', 6.1799999999999997, 8.3576685719585395), ('sil', 59.57, 59.935036220408811)]\n", "26 [('no3', 6.1799999999999997, 8.3539087584889025), ('sil', 59.57, 60.051012651672657)]\n", "27 [('no3', 6.1799999999999997, 8.349725074277508), ('sil', 59.57, 60.167307099898551)]\n", "28 [('no3', 6.1799999999999997, 8.3451277199737248), ('sil', 59.57, 60.284026764046693)]\n", "29 [('no3', 6.1799999999999997, 8.3401262165584242), ('sil', 59.57, 60.401284967266172)]\n", "30 [('no3', 6.1799999999999997, 8.3347295142408147), ('sil', 59.57, 60.51920085704112)]\n", "31 [('no3', 6.1799999999999997, 8.3289461061946852), ('sil', 59.57, 60.63789905892326)]\n", "32 [('no3', 6.1799999999999997, 8.3227841457506564), ('sil', 59.57, 60.757509286051636)]\n", "33 [('no3', 6.1799999999999997, 8.316251565877506), ('sil', 59.57, 60.878165906826055)]\n", "34 [('no3', 6.1799999999999997, 8.3093561996377794), ('sil', 59.57, 61.000007473369472)]\n", "35 [('no3', 6.1799999999999997, 8.3021059003083071), ('sil', 59.57, 61.123176213543715)]\n", "36 [('no3', 6.1799999999999997, 8.2945086599383036), ('sil', 59.57, 61.2478174893145)]\n", "37 [('no3', 6.1799999999999997, 8.2865727250959633), ('sil', 59.57, 61.374079224321768)]\n", "38 [('no3', 6.1799999999999997, 8.2783067084946946), ('sil', 59.57, 61.502111303569059)]\n", "39 [('no3', 6.1799999999999997, 8.2697196953832606), ('sil', 59.57, 61.632064947924647)]\n", "40 [('no3', 6.1799999999999997, 8.2608213434550279), ('sil', 59.57, 61.764092066132378)]\n", "41 [('no3', 6.1799999999999997, 8.2516219751300834), ('sil', 59.57, 61.898344587015082)]\n", "42 [('no3', 6.1799999999999997, 8.2421326612054777), ('sil', 59.57, 62.034973774167938)]\n", "43 [('no3', 6.1799999999999997, 8.2323652947107373), ('sil', 59.57, 62.174129525537943)]\n", "44 [('no3', 6.1799999999999997, 8.2223326541131634), ('sil', 59.57, 62.315959660014812)]\n", "45 [('no3', 6.1799999999999997, 8.2120484549737061), ('sil', 59.57, 62.460609193147583)]\n", "46 [('no3', 6.1799999999999997, 8.2015273891641609), ('sil', 59.57, 62.608219603705258)]\n", "47 [('no3', 6.1799999999999997, 8.1907851510825349), ('sil', 59.57, 62.758928093172891)]\n", "48 [('no3', 6.1799999999999997, 8.1798384501945627), ('sil', 59.57, 62.912866839730022)]\n", "49 [('no3', 6.1799999999999997, 8.1687050094360369), ('sil', 59.57, 63.070162248489993)]\n", "50 [('no3', 6.1799999999999997, 8.1574035492017583), ('sil', 59.57, 63.230934199710809)]\n", "51 [('no3', 6.1799999999999997, 8.1459537566704796), ('sil', 59.57, 63.395295296636689)]\n", "52 [('no3', 6.1799999999999997, 8.1343762404249915), ('sil', 59.57, 63.563350114774003)]\n", "53 [('no3', 6.1799999999999997, 8.1226924705313195), ('sil', 59.57, 63.735194454340935)]\n", "54 [('no3', 6.1799999999999997, 8.1109247042585313), ('sil', 59.57, 63.910914597933811)]\n", "55 [('no3', 6.1799999999999997, 8.0990958979525978), ('sil', 59.57, 64.090586575338406)]\n", "56 [('no3', 6.1799999999999997, 8.087229605647094), ('sil', 59.57, 64.274275437728335)]\n", "57 [('no3', 6.1799999999999997, 8.0753498650929441), ('sil', 59.57, 64.462034543555149)]\n", "58 [('no3', 6.1799999999999997, 8.0634810722731025), ('sil', 59.57, 64.653904858672874)]\n", "59 [('no3', 6.1799999999999997, 8.0516478453546654), ('sil', 59.57, 64.849914273379142)]\n", "60 [('no3', 6.1799999999999997, 8.0398748793365087), ('sil', 59.57, 65.05007693912853)]\n", "61 [('no3', 6.1799999999999997, 8.0281867927940294), ('sil', 59.57, 65.254392628124208)]\n", "62 [('no3', 6.1799999999999997, 8.0166079681165083), ('sil', 59.57, 65.462846118831322)]\n", "63 [('no3', 6.1799999999999997, 8.0051623868725859), ('sil', 59.57, 65.675406610836873)]\n", "64 [('no3', 6.1799999999999997, 7.9938734619150642), ('sil', 59.57, 65.892027172655105)]\n", "65 [('no3', 6.1799999999999997, 7.9827638679891617), ('sil', 59.57, 66.112644225955108)]\n", "66 [('no3', 6.1799999999999997, 7.9718553725403316), ('sil', 59.57, 66.337177070159072)]\n", "67 [('no3', 6.1799999999999997, 7.9611686685211636), ('sil', 59.57, 66.565527451173793)]\n", "68 [('no3', 6.1799999999999997, 7.9507232109363706), ('sil', 59.57, 66.797579178254693)]\n", "69 [('no3', 6.1799999999999997, 7.9405370588180002), ('sil', 59.57, 67.033197793018928)]\n", "70 [('no3', 6.1799999999999997, 7.9306267243038748), ('sil', 59.57, 67.272230294676135)]\n", "71 [('no3', 6.1799999999999997, 7.9210070303016522), ('sil', 59.57, 67.514504925479613)]\n", "72 [('no3', 6.1799999999999997, 7.9116909782355105), ('sil', 59.57, 67.75983102045042)]\n", "73 [('no3', 6.1799999999999997, 7.9026896271237392), ('sil', 59.57, 68.0079989255252)]\n", "74 [('no3', 6.1799999999999997, 7.8940119850893602), ('sil', 59.57, 68.258779987732595)]\n", "75 [('no3', 6.1799999999999997, 7.885664914328629), ('sil', 59.57, 68.51192662153781)]\n", "76 [('no3', 6.1799999999999997, 7.8776530502533069), ('sil', 59.57, 68.767172454871357)]\n", "77 [('no3', 6.1799999999999997, 7.8699787353512676), ('sil', 59.57, 69.024232558296191)]\n", "78 [('no3', 6.1799999999999997, 7.8626419682162707), ('sil', 59.57, 69.282803760643873)]\n", "79 [('no3', 6.1799999999999997, 7.8556403678305786), ('sil', 59.57, 69.542565054068447)]\n", "80 [('no3', 6.1799999999999997, 7.848969153077312), ('sil', 59.57, 69.803178091223231)]\n", "81 [('no3', 6.1799999999999997, 7.8426211373441301), ('sil', 59.57, 70.064287776742532)]\n", "82 [('no3', 6.1799999999999997, 7.8365867376743452), ('sil', 59.57, 70.325522955103992)]\n", "83 [('no3', 6.1799999999999997, 7.8308539980217091), ('sil', 59.57, 70.586497196023672)]\n", "84 [('no3', 6.1799999999999997, 7.8254086258462987), ('sil', 59.57, 70.846809678334964)]\n", "85 [('no3', 6.1799999999999997, 7.8202340411854516), ('sil', 59.57, 71.106046172568611)]\n", "86 [('no3', 6.1799999999999997, 7.8153114373008901), ('sil', 59.57, 71.363780121597102)]\n", "87 [('no3', 6.1799999999999997, 7.8106198518680543), ('sil', 59.57, 71.619573818405925)]\n", "88 [('no3', 6.1799999999999997, 7.8061362475925318), ('sil', 59.57, 71.872979678683492)]\n", "89 [('no3', 6.1799999999999997, 7.8018356011454744), ('sil', 59.57, 72.123541605494708)]\n", "90 [('no3', 6.1799999999999997, 7.7976909993248018), ('sil', 59.57, 72.370796442254615)]\n", "91 [('no3', 6.1799999999999997, 7.7936737412241079), ('sil', 59.57, 72.614275509030747)]\n", "92 [('no3', 6.1799999999999997, 7.7897534453922184), ('sil', 59.57, 72.853506216686512)]\n", "93 [('no3', 6.1799999999999997, 7.7858981608810449), ('sil', 59.57, 73.088013751734593)]\n", "94 [('no3', 6.1799999999999997, 7.7820744811712315), ('sil', 59.57, 73.31732282432263)]\n", "95 [('no3', 6.1799999999999997, 7.7782476600703712), ('sil', 59.57, 73.540959470360789)]\n", "96 [('no3', 6.1799999999999997, 7.7743817286960857), ('sil', 59.57, 73.758452897859115)]\n", "97 [('no3', 6.1799999999999997, 7.7704396127850428), ('sil', 59.57, 73.969337366734138)]\n", "98 [('no3', 6.1799999999999997, 7.7663832496462977), ('sil', 59.57, 74.173154090260311)]\n", "99 [('no3', 6.1799999999999997, 7.7621737041448231), ('sil', 59.57, 74.36945314551663)]\n", "100 [('no3', 6.1799999999999997, 7.7577712832260266), ('sil', 59.57, 74.557795379692621)]\n", "101 [('no3', 6.1799999999999997, 7.7531356485622869), ('sil', 59.57, 74.737754298121189)]\n", "102 [('no3', 6.1799999999999997, 7.7482259269662039), ('sil', 59.57, 74.908917919798455)]\n", "103 [('no3', 6.1799999999999997, 7.7430008183270393), ('sil', 59.57, 75.070890585869321)]\n", "104 [('no3', 6.1799999999999997, 7.737418700890494), ('sil', 59.57, 75.223294705856247)]\n", "105 [('no3', 6.1799999999999997, 7.7314377337259943), ('sil', 59.57, 75.365772427463654)]\n", "106 [('no3', 6.1799999999999997, 7.7250159563570504), ('sil', 59.57, 75.497987215217563)]\n", "107 [('no3', 6.1799999999999997, 7.7181113855165133), ('sil', 59.57, 75.619625323903094)]\n", "108 [('no3', 6.1799999999999997, 7.7106821090491264), ('sil', 59.57, 75.73039715391289)]\n", "109 [('no3', 6.1799999999999997, 7.7026863770631593), ('sil', 59.57, 75.830038475825262)]\n", "110 [('no3', 6.1799999999999997, 7.694082690374799), ('sil', 59.57, 75.918311513104172)]\n", "111 [('no3', 6.1799999999999997, 7.6848298864258107), ('sil', 59.57, 75.995005872982873)]\n", "112 [('no3', 6.1799999999999997, 7.6748872227848457), ('sil', 59.57, 76.059939317130898)]\n", "113 [('no3', 6.1799999999999997, 7.6642144583828813), ('sil', 59.57, 76.112958365070483)]\n", "114 [('no3', 6.1799999999999997, 7.6527719327130468), ('sil', 59.57, 76.153938725514095)]\n", "115 [('no3', 6.1799999999999997, 7.6405206431142458), ('sil', 59.57, 76.182785552347866)]\n", "116 [('no3', 6.1799999999999997, 7.6274223203873541), ('sil', 59.57, 76.199433523855319)]\n", "117 [('no3', 6.1799999999999997, 7.6134395029387774), ('sil', 59.57, 76.203846746310631)]\n", "118 [('no3', 6.1799999999999997, 7.5985356096518304), ('sil', 59.57, 76.19601848424054)]\n", "119 [('no3', 6.1799999999999997, 7.5826750117332731), ('sil', 59.57, 76.175970722374259)]\n", "120 [('no3', 6.1799999999999997, 7.5658231037503967), ('sil', 59.57, 76.143753565861587)]\n", "121 [('no3', 6.1799999999999997, 7.5479463741110511), ('sil', 59.57, 76.099444486991715)]\n", "122 [('no3', 6.1799999999999997, 7.529012475225108), ('sil', 59.57, 76.043147428822778)]\n", "123 [('no3', 6.1799999999999997, 7.5089902936094441), ('sil', 59.57, 75.97499177716692)]\n", "124 [('no3', 6.1799999999999997, 7.4878500201974125), ('sil', 59.57, 75.895131213958109)]\n", "125 [('no3', 6.1799999999999997, 7.4655632211001137), ('sil', 59.57, 75.803742466127332)]\n", "126 [('no3', 6.1799999999999997, 7.4421029091217727), ('sil', 59.57, 75.701023965124776)]\n", "127 [('no3', 6.1799999999999997, 7.4174436162450439), ('sil', 59.57, 75.587194432537203)]\n", "128 [('no3', 6.1799999999999997, 7.391561467376877), ('sil', 59.57, 75.462491408158101)]\n", "129 [('no3', 6.1799999999999997, 7.3644342555950626), ('sil', 59.57, 75.327169736783802)]\n", "130 [('no3', 6.1799999999999997, 7.3360415190829498), ('sil', 59.57, 75.181500029716645)]\n", "131 [('no3', 6.1799999999999997, 7.3063646200071997), ('sil', 59.57, 75.025767117322147)]\n", "132 [('no3', 6.1799999999999997, 7.27538682544475), ('sil', 59.57, 74.8602685075587)]\n", "133 [('no3', 6.1799999999999997, 7.2430933904969192), ('sil', 59.57, 74.685312865332719)]\n", "134 [('no3', 6.1799999999999997, 7.2094716436461868), ('sil', 59.57, 74.501218526289932)]\n", "135 [('no3', 6.1799999999999997, 7.1745110743276497), ('sil', 59.57, 74.308312057347351)]\n", "136 [('no3', 6.1799999999999997, 7.138203422628866), ('sil', 59.57, 74.106926875399779)]\n", "137 [('no3', 6.1799999999999997, 7.1005427709268236), ('sil', 59.57, 73.897401933777502)]\n", "138 [('no3', 6.1799999999999997, 7.061525637161278), ('sil', 59.57, 73.680080484740216)]\n", "139 [('no3', 6.1799999999999997, 7.0211510693324239), ('sil', 59.57, 73.455308924618123)]\n", "140 [('no3', 6.1799999999999997, 6.9794207406808022), ('sil', 59.57, 73.223435726622597)]\n", "141 [('no3', 6.1799999999999997, 6.9363390448611355), ('sil', 59.57, 72.984810464496761)]\n", "142 [('no3', 6.1799999999999997, 6.8919131902909649), ('sil', 59.57, 72.73978292877932)]\n", "143 [('no3', 6.1799999999999997, 6.8461532926873954), ('sil', 59.57, 72.488702335603719)]\n", "144 [('no3', 6.1799999999999997, 6.7990724646698109), ('sil', 59.57, 72.231916626437069)]\n", "145 [('no3', 6.1799999999999997, 6.7506869011245829), ('sil', 59.57, 71.969771855855541)]\n", "146 [('no3', 6.1799999999999997, 6.7010159589389033), ('sil', 59.57, 71.702611662686635)]\n", "147 [('no3', 6.1799999999999997, 6.6500822294947497), ('sil', 59.57, 71.43077681900354)]\n", "148 [('no3', 6.1799999999999997, 6.5979116022667492), ('sil', 59.57, 71.154604850114495)]\n", "149 [('no3', 6.1799999999999997, 6.5445333177387894), ('sil', 59.57, 70.874429717623144)]\n", "150 [('no3', 6.1799999999999997, 6.4899800077388656), ('sil', 59.57, 70.590581557201617)]\n", "151 [('no3', 6.1799999999999997, 6.4342877213404517), ('sil', 59.57, 70.303386461776114)]\n", "152 [('no3', 6.1799999999999997, 6.3774959343514501), ('sil', 59.57, 70.013166300506796)]\n", "153 [('no3', 6.1799999999999997, 6.3196475405525554), ('sil', 59.57, 69.720238563858345)]\n", "154 [('no3', 6.1799999999999997, 6.2607888228502313), ('sil', 59.57, 69.424916224889074)]\n", "155 [('no3', 6.1799999999999997, 6.2009694026527828), ('sil', 59.57, 69.127507607090564)]\n", "156 [('no3', 6.1402421659776332, 6.1799999999999997), ('sil', 59.57, 68.828316249603176)]\n", "157 [('no3', 6.078663164981629, 6.1799999999999997), ('sil', 59.57, 68.527640761135629)]\n", "158 [('no3', 6.0162914938995762, 6.1799999999999997), ('sil', 59.57, 68.225774654632502)]\n", "159 [('no3', 5.9531891387248681, 6.1799999999999997), ('sil', 59.57, 67.923006155872088)]\n", "160 [('no3', 5.8894208002965067, 6.1799999999999997), ('sil', 59.57, 67.619617979980319)]\n", "161 [('no3', 5.825053690869793, 6.1799999999999997), ('sil', 59.57, 67.315887071324056)]\n", "162 [('no3', 5.7601573047401384, 6.1799999999999997), ('sil', 59.57, 67.01208430348251)]\n", "163 [('no3', 5.6948031638698131, 6.1799999999999997), ('sil', 59.57, 66.708474137301451)]\n", "164 [('no3', 5.6290645400106856, 6.1799999999999997), ('sil', 59.57, 66.405314236745014)]\n", "165 [('no3', 5.5630161552689179, 6.1799999999999997), ('sil', 59.57, 66.102855043509791)]\n", "166 [('no3', 5.4967338635152165, 6.1799999999999997), ('sil', 59.57, 65.801339312929017)]\n", "167 [('no3', 5.4302943154971652, 6.1799999999999997), ('sil', 59.57, 65.501001615137312)]\n", "168 [('no3', 5.3637746109104381, 6.1799999999999997), ('sil', 59.57, 65.202067806759231)]\n", "169 [('no3', 5.2972519410488728, 6.1799999999999997), ('sil', 59.57, 64.904754479539321)]\n", "170 [('no3', 5.2308032259208712, 6.1799999999999997), ('sil', 59.57, 64.609268393520082)]\n", "171 [('no3', 5.1645047499786907, 6.1799999999999997), ('sil', 59.57, 64.31580590318903)]\n", "172 [('no3', 5.0984318007221701, 6.1799999999999997), ('sil', 59.57, 64.024552385580563)]\n", "173 [('no3', 5.03265831450104, 6.1799999999999997), ('sil', 59.57, 63.735681680125609)]\n", "174 [('no3', 4.9672565338362329, 6.1799999999999997), ('sil', 59.57, 63.449355549824432)]\n", "175 [('no3', 4.9022966804224559, 6.1799999999999997), ('sil', 59.57, 63.165723173741974)]\n", "176 [('no3', 4.8378466477961091, 6.1799999999999997), ('sil', 59.57, 62.884920680335703)]\n", "177 [('no3', 4.7739717173662219, 6.1799999999999997), ('sil', 59.57, 62.607070730731756)]\n", "178 [('no3', 4.7107343011185776, 6.1799999999999997), ('sil', 59.57, 62.33228216055344)]\n", "179 [('no3', 4.6481937139095573, 6.1799999999999997), ('sil', 59.57, 62.060649687792221)]\n", "180 [('no3', 4.586405977760533, 6.1799999999999997), ('sil', 59.57, 61.79225369351154)]\n", "181 [('no3', 4.5254236600551128, 6.1799999999999997), ('sil', 59.57, 61.527160080794637)]\n", "182 [('no3', 4.4652957469713739, 6.1799999999999997), ('sil', 59.57, 61.265420216264751)]\n", "183 [('no3', 4.4060675529499918, 6.1799999999999997), ('sil', 59.57, 61.007070957158483)]\n", "184 [('no3', 4.3477806663961047, 6.1799999999999997), ('sil', 59.57, 60.752134765630025)]\n", "185 [('no3', 4.2904729312784609, 6.1799999999999997), ('sil', 59.57, 60.500619910674637)]\n", "186 [('no3', 4.2341784637772051, 6.1799999999999997), ('sil', 59.57, 60.25252075678172)]\n", "187 [('no3', 4.1789277025961793, 6.1799999999999997), ('sil', 59.57, 60.007818137234842)]\n", "188 [('no3', 4.1247474911559916, 6.1799999999999997), ('sil', 59.57, 59.766479808909033)]\n", "189 [('no3', 4.0716611894497197, 6.1799999999999997), ('sil', 59.528460984410003, 59.57)]\n", "190 [('no3', 4.019688813021876, 6.1799999999999997), ('sil', 59.293704936601145, 59.57)]\n", "191 [('no3', 3.9688471962406178, 6.1799999999999997), ('sil', 59.062143669823008, 59.57)]\n", "192 [('no3', 3.9191501768244716, 6.1799999999999997), ('sil', 58.833698651625902, 59.57)]\n", "193 [('no3', 3.8706087984161943, 6.1799999999999997), ('sil', 58.608281598393866, 59.57)]\n", "194 [('no3', 3.8232315278984577, 6.1799999999999997), ('sil', 58.385795308006315, 59.57)]\n", "195 [('no3', 3.7770244841228031, 6.1799999999999997), ('sil', 58.166134532603067, 59.57)]\n", "196 [('no3', 3.7319916746872401, 6.1799999999999997), ('sil', 57.949186884485357, 59.57)]\n", "197 [('no3', 3.6881352375128889, 6.1799999999999997), ('sil', 57.734833768349695, 59.57)]\n", "198 [('no3', 3.6454556840442862, 6.1799999999999997), ('sil', 57.522951333289704, 59.57)]\n", "199 [('no3', 3.6039521410216677, 6.1799999999999997), ('sil', 57.313411438150979, 59.57)]\n", "200 [('no3', 3.5636225879741485, 6.1799999999999997), ('sil', 57.106082624456441, 59.57)]\n", "201 [('no3', 3.5244640877911921, 6.1799999999999997), ('sil', 56.900831091214549, 59.57)]\n", "202 [('no3', 3.4864730078911541, 6.1799999999999997), ('sil', 56.697521666442718, 59.57)]\n", "203 [('no3', 3.4496452298400282, 6.1799999999999997), ('sil', 56.496018770834894, 59.57)]\n", "204 [('no3', 3.4139763454539249, 6.1799999999999997), ('sil', 56.296187369030164, 59.57)]\n", "205 [('no3', 3.3794618377218026, 6.1799999999999997), ('sil', 56.097893904677747, 59.57)]\n", "206 [('no3', 3.3460972451713347, 6.1799999999999997), ('sil', 55.90100721569145, 59.57)]\n", "207 [('no3', 3.3138783085440329, 6.1799999999999997), ('sil', 55.705399426368253, 59.57)]\n", "208 [('no3', 3.2828010989875138, 6.1799999999999997), ('sil', 55.510946813423942, 59.57)]\n", "209 [('no3', 3.2528621272019453, 6.1799999999999997), ('sil', 55.317530643152324, 59.57)]\n", "210 [('no3', 3.224058433295578, 6.1799999999999997), ('sil', 55.125037977099794, 59.57)]\n", "211 [('no3', 3.1963876573649088, 6.1799999999999997), ('sil', 54.933362443799908, 59.57)]\n", "212 [('no3', 3.1698480911231663, 6.1799999999999997), ('sil', 54.742404974222573, 59.57)]\n", "213 [('no3', 3.1444387110877781, 6.1799999999999997), ('sil', 54.552074498557957, 59.57)]\n", "214 [('no3', 3.1201591941610198, 6.1799999999999997), ('sil', 54.362288602108528, 59.57)]\n", "215 [('no3', 3.0970099166497418, 6.1799999999999997), ('sil', 54.17297413796333, 59.57)]\n", "216 [('no3', 3.0749919379219923, 6.1799999999999997), ('sil', 53.98406779412403, 59.57)]\n", "217 [('no3', 3.0541069701786867, 6.1799999999999997), ('sil', 53.795516612842853, 59.57)]\n", "218 [('no3', 3.0343573359250553, 6.1799999999999997), ('sil', 53.607278459677886, 59.57)]\n", "219 [('no3', 3.0157459148318009, 6.1799999999999997), ('sil', 53.419322440094057, 59.57)]\n", "220 [('no3', 2.9982760818501379, 6.1799999999999997), ('sil', 53.231629261157842, 59.57)]\n", "221 [('no3', 2.9819516384346874, 6.1799999999999997), ('sil', 53.044191536030851, 59.57)]\n", "222 [('no3', 2.9667767387795747, 6.1799999999999997), ('sil', 52.857014029184846, 59.57)]\n", "223 [('no3', 2.9527558129737965, 6.1799999999999997), ('sil', 52.670113840048607, 59.57)]\n", "224 [('no3', 2.9398934888896444, 6.1799999999999997), ('sil', 52.483520523322873, 59.57)]\n", "225 [('no3', 2.9281945145464015, 6.1799999999999997), ('sil', 52.297276144149528, 59.57)]\n", "226 [('no3', 2.9176636826093589, 6.1799999999999997), ('sil', 52.111435266739477, 59.57)]\n", "227 [('no3', 2.9083057583998611, 6.1799999999999997), ('sil', 51.92606487528581, 59.57)]\n", "228 [('no3', 2.9001254127545422, 6.1799999999999997), ('sil', 51.741244226381703, 59.57)]\n", "229 [('no3', 2.893127160781527, 6.1799999999999997), ('sil', 51.557064632637186, 59.57)]\n", "230 [('no3', 2.8873153072781998, 6.1799999999999997), ('sil', 51.373629177417072, 59.57)]\n", "231 [('no3', 2.882693899486803, 6.1799999999999997), ('sil', 51.19105236146526, 59.57)]\n", "232 [('no3', 2.8792666874659751, 6.1799999999999997), ('sil', 51.00945968230824, 59.57)]\n", "233 [('no3', 2.8770370921788651, 6.1799999999999997), ('sil', 50.828987148104197, 59.57)]\n", "234 [('no3', 2.8760081811937419, 6.1799999999999997), ('sil', 50.649780728129493, 59.57)]\n", "235 [('no3', 2.8761826516125844, 6.1799999999999997), ('sil', 50.471995742437194, 59.57)]\n", "236 [('no3', 2.8775628196794845, 6.1799999999999997), ('sil', 50.29579619407415, 59.57)]\n", "237 [('no3', 2.880150616344229, 6.1799999999999997), ('sil', 50.121354047373657, 59.57)]\n", "238 [('no3', 2.8839475879085059, 6.1799999999999997), ('sil', 49.948848456713591, 59.57)]\n", "239 [('no3', 2.8889549007518234, 6.1799999999999997), ('sil', 49.778464950242466, 59.57)]\n", "240 [('no3', 2.895173349110995, 6.1799999999999997), ('sil', 49.610394573685632, 59.57)]\n", "241 [('no3', 2.9026033647849321, 6.1799999999999997), ('sil', 49.444832999632013, 59.57)]\n", "242 [('no3', 2.9112450276281239, 6.1799999999999997), ('sil', 49.281979607889518, 59.57)]\n", "243 [('no3', 2.9210980758298195, 6.1799999999999997), ('sil', 49.122036542969958, 59.57)]\n", "244 [('no3', 2.9321619148309077, 6.1799999999999997), ('sil', 48.965207754517579, 59.57)]\n", "245 [('no3', 2.9444356240256431, 6.1799999999999997), ('sil', 48.811698027134952, 59.57)]\n", "246 [('no3', 2.957917960381121, 6.1799999999999997), ('sil', 48.661712005517202, 59.57)]\n", "247 [('no3', 2.9726073582281272, 6.1799999999999997), ('sil', 48.515453221179087, 59.57)]\n", "248 [('no3', 2.9885019247254738, 6.1799999999999997), ('sil', 48.373123126836305, 59.57)]\n", "249 [('no3', 3.0055994305377247, 6.1799999999999997), ('sil', 48.234920144195172, 59.57)]\n", "250 [('no3', 3.0238972955202059, 6.1799999999999997), ('sil', 48.101038730952737, 59.57)]\n", "251 [('no3', 3.0433925693265231, 6.1799999999999997), ('sil', 47.971668472369309, 59.57)]\n", "252 [('no3', 3.0640819070452885, 6.1799999999999997), ('sil', 47.846993202583647, 59.57)]\n", "253 [('no3', 3.0859615401153788, 6.1799999999999997), ('sil', 47.727190160385192, 59.57)]\n", "254 [('no3', 3.1090272429591472, 6.1799999999999997), ('sil', 47.612429184083069, 59.57)]\n", "255 [('no3', 3.1332742958715345, 6.1799999999999997), ('sil', 47.502871949359232, 59.57)]\n", "256 [('no3', 3.1586974448535017, 6.1799999999999997), ('sil', 47.39867125394148, 59.57)]\n", "257 [('no3', 3.1852908592223446, 6.1799999999999997), ('sil', 47.299970352477551, 59.57)]\n", "258 [('no3', 3.2130480878313925, 6.1799999999999997), ('sil', 47.20690234436077, 59.57)]\n", "259 [('no3', 3.2419620149054134, 6.1799999999999997), ('sil', 47.119589617357548, 59.57)]\n", "260 [('no3', 3.2720248164807919, 6.1799999999999997), ('sil', 47.038143348957711, 59.57)]\n", "261 [('no3', 3.3032279184586346, 6.1799999999999997), ('sil', 46.962663067442037, 59.57)]\n", "262 [('no3', 3.335561957322267, 6.1799999999999997), ('sil', 46.893236274181554, 59.57)]\n", "263 [('no3', 3.3690167444922117, 6.1799999999999997), ('sil', 46.829938128030427, 59.57)]\n", "264 [('no3', 3.4035812352755657, 6.1799999999999997), ('sil', 46.772831193016415, 59.57)]\n", "265 [('no3', 3.4392435032695929, 6.1799999999999997), ('sil', 46.721965249388894, 59.57)]\n", "266 [('no3', 3.4759907209883516, 6.1799999999999997), ('sil', 46.677377168420051, 59.57)]\n", "267 [('no3', 3.5138091473782427, 6.1799999999999997), ('sil', 46.639090850696917, 59.57)]\n", "268 [('no3', 3.5526841227150907, 6.1799999999999997), ('sil', 46.607117227439623, 59.57)]\n", "269 [('no3', 3.5926000712679538, 6.1799999999999997), ('sil', 46.581454324032116, 59.57)]\n", "270 [('no3', 3.6335405119202675, 6.1799999999999997), ('sil', 46.562087384603288, 59.57)]\n", "271 [('no3', 3.6754880767770319, 6.1799999999999997), ('sil', 46.548989056459277, 59.57)]\n", "272 [('no3', 3.718424537605669, 6.1799999999999997), ('sil', 46.542119632193057, 59.57)]\n", "273 [('no3', 3.7623308397910376, 6.1799999999999997), ('sil', 46.541427347920759, 59.57)]\n", "274 [('no3', 3.8071871432968374, 6.1799999999999997), ('sil', 46.546848734901097, 59.57)]\n", "275 [('no3', 3.8529728699549044, 6.1799999999999997), ('sil', 46.558309021952198, 59.57)]\n", "276 [('no3', 3.8996667562776191, 6.1799999999999997), ('sil', 46.575722585857342, 59.57)]\n", "277 [('no3', 3.9472469108034445, 6.1799999999999997), ('sil', 46.598993446045142, 59.57)]\n", "278 [('no3', 3.9956908749073961, 6.1799999999999997), ('sil', 46.628015800421451, 59.57)]\n", "279 [('no3', 4.0449756858830401, 6.1799999999999997), ('sil', 46.662674598182839, 59.57)]\n", "280 [('no3', 4.0950779410373359, 6.1799999999999997), ('sil', 46.702846145604639, 59.57)]\n", "281 [('no3', 4.1459738614977946, 6.1799999999999997), ('sil', 46.74839874043677, 59.57)]\n", "282 [('no3', 4.1976393544172419, 6.1799999999999997), ('sil', 46.799193330546601, 59.57)]\n", "283 [('no3', 4.2500500722569639, 6.1799999999999997), ('sil', 46.855084191901597, 59.57)]\n", "284 [('no3', 4.303181467895743, 6.1799999999999997), ('sil', 46.915919621276636, 59.57)]\n", "285 [('no3', 4.3570088443654198, 6.1799999999999997), ('sil', 46.981542638976016, 59.57)]\n", "286 [('no3', 4.4115073981244448, 6.1799999999999997), ('sil', 47.051791696405708, 59.57)]\n", "287 [('no3', 4.4666522548989516, 6.1799999999999997), ('sil', 47.126501384095043, 59.57)]\n", "288 [('no3', 4.5224184972613566, 6.1799999999999997), ('sil', 47.205503135172364, 59.57)]\n", "289 [('no3', 4.5787811833187488, 6.1799999999999997), ('sil', 47.288625919975765, 59.57)]\n", "290 [('no3', 4.6357153560055409, 6.1799999999999997), ('sil', 47.375696927393747, 59.57)]\n", "291 [('no3', 4.6931960427223078, 6.1799999999999997), ('sil', 47.466542228702252, 59.57)]\n", "292 [('no3', 4.7511982452494399, 6.1799999999999997), ('sil', 47.560987420426052, 59.57)]\n", "293 [('no3', 4.8096969200464637, 6.1799999999999997), ('sil', 47.658858242489821, 59.57)]\n", "294 [('no3', 4.8686669492773742, 6.1799999999999997), ('sil', 47.759981168665966, 59.57)]\n", "295 [('no3', 4.9280831030870313, 6.1799999999999997), ('sil', 47.864183966617311, 59.57)]\n", "296 [('no3', 4.987919993858422, 6.1799999999999997), ('sil', 47.971296225338733, 59.57)]\n", "297 [('no3', 5.0481520233170851, 6.1799999999999997), ('sil', 48.081149847879935, 59.57)]\n", "298 [('no3', 5.1087533235445326, 6.1799999999999997), ('sil', 48.193579508179809, 59.57)]\n", "299 [('no3', 5.1696976930887892, 6.1799999999999997), ('sil', 48.308423071019519, 59.57)]\n", "300 [('no3', 5.2309585294566974, 6.1799999999999997), ('sil', 48.425521973957125, 59.57)]\n", "301 [('no3', 5.292508759380163, 6.1799999999999997), ('sil', 48.544721571947889, 59.57)]\n", "302 [('no3', 5.3543207683234053, 6.1799999999999997), ('sil', 48.665871444030508, 59.57)]\n", "303 [('no3', 5.4163663307007655, 6.1799999999999997), ('sil', 48.788825662798757, 59.57)]\n", "304 [('no3', 5.4786165423106059, 6.1799999999999997), ('sil', 48.913443027917772, 59.57)]\n", "305 [('no3', 5.5410417564812979, 6.1799999999999997), ('sil', 49.039587264065879, 59.57)]\n", "306 [('no3', 5.6036115253388914, 6.1799999999999997), ('sil', 49.167127185110949, 59.57)]\n", "307 [('no3', 5.6662945476002458, 6.1799999999999997), ('sil', 49.295936826058039, 59.57)]\n", "308 [('no3', 5.729058624128526, 6.1799999999999997), ('sil', 49.425895544086352, 59.57)]\n", "309 [('no3', 5.7918706224484486, 6.1799999999999997), ('sil', 49.556888090844673, 59.57)]\n", "310 [('no3', 5.8546964512223347, 6.1799999999999997), ('sil', 49.68880465774776, 59.57)]\n", "311 [('no3', 5.9175010455686881, 6.1799999999999997), ('sil', 49.821540895981713, 59.57)]\n", "312 [('no3', 5.980248363952156, 6.1799999999999997), ('sil', 49.954997913506361, 59.57)]\n", "313 [('no3', 6.0429013971455721, 6.1799999999999997), ('sil', 50.089082250621829, 59.57)]\n", "314 [('no3', 6.1054221896618204, 6.1799999999999997), ('sil', 50.223705835916192, 59.57)]\n", "315 [('no3', 6.1677718738058855, 6.1799999999999997), ('sil', 50.358785924645325, 59.57)]\n", "316 [('no3', 6.1799999999999997, 6.2299107163160174), ('sil', 50.494245020799916, 59.57)]\n", "317 [('no3', 6.1799999999999997, 6.2917981774517067), ('sil', 50.63001078459169, 59.57)]\n", "318 [('no3', 6.1799999999999997, 6.3533929821159489), ('sil', 50.76601592690708, 59.57)]\n", "319 [('no3', 6.1799999999999997, 6.4146532024972931), ('sil', 50.902198091475128, 59.57)]\n", "320 [('no3', 6.1799999999999997, 6.4755363515708426), ('sil', 51.038499726572411, 59.57)]\n", "321 [('no3', 6.1799999999999997, 6.535999486622516), ('sil', 51.174867946831732, 59.57)]\n", "322 [('no3', 6.1799999999999997, 6.5959993218767785), ('sil', 51.311254385988917, 59.57)]\n", "323 [('no3', 6.1799999999999997, 6.6554923492084397), ('sil', 51.447615041818487, 59.57)]\n", "324 [('no3', 6.1799999999999997, 6.7144349658377021), ('sil', 51.583910113364389, 59.57)]\n", "325 [('no3', 6.1799999999999997, 6.7727836078476562), ('sil', 51.720103831300385, 59.57)]\n", "326 [('no3', 6.1799999999999997, 6.8304948883460224), ('sil', 51.856164281984384, 59.57)]\n", "327 [('no3', 6.1799999999999997, 6.8875257390682281), ('sil', 51.992063225528923, 59.57)]\n", "328 [('no3', 6.1799999999999997, 6.9438335542407446), ('sil', 52.127775908133842, 59.57)]\n", "329 [('no3', 6.1799999999999997, 6.9993763355260654), ('sil', 52.263280869420264, 59.57)]\n", "330 [('no3', 6.1799999999999997, 7.0541128369523234), ('sil', 52.39855974479908, 59.57)]\n", "331 [('no3', 6.1799999999999997, 7.1080027087445155), ('sil', 52.533597063219879, 59.57)]\n", "332 [('no3', 6.1799999999999997, 7.1610066390764757), ('sil', 52.66838004101718, 59.57)]\n", "333 [('no3', 6.1799999999999997, 7.2130864928240657), ('sil', 52.802898371856813, 59.57)]\n", "334 [('no3', 6.1799999999999997, 7.2642054464799539), ('sil', 52.937144013465286, 59.57)]\n", "335 [('no3', 6.1799999999999997, 7.3143281184806836), ('sil', 53.071110971741184, 59.57)]\n", "336 [('no3', 6.1799999999999997, 7.3634206942730271), ('sil', 53.204795082638206, 59.57)]\n", "337 [('no3', 6.1799999999999997, 7.4114510455308915), ('sil', 53.33819379261783, 59.57)]\n", "338 [('no3', 6.1799999999999997, 7.4583888429873708), ('sil', 53.471305938545918, 59.57)]\n", "339 [('no3', 6.1799999999999997, 7.5042056624305058), ('sil', 53.604131527619131, 59.57)]\n", "340 [('no3', 6.1799999999999997, 7.5488750834526019), ('sil', 53.736671518524894, 59.57)]\n", "341 [('no3', 6.1799999999999997, 7.592372780558164), ('sil', 53.868927604836152, 59.57)]\n", "342 [('no3', 6.1799999999999997, 7.6346766063094238), ('sil', 54.000902001519179, 59.57)]\n", "343 [('no3', 6.1799999999999997, 7.6757666661535309), ('sil', 54.132597236164095, 59.57)]\n", "344 [('no3', 6.1799999999999997, 7.7156253845973382), ('sil', 54.264015945991751, 59.57)]\n", "345 [('no3', 6.1799999999999997, 7.754237562399954), ('sil', 54.395160681989339, 59.57)]\n", "346 [('no3', 6.1799999999999997, 7.7915904244102148), ('sil', 54.526033721852585, 59.57)]\n", "347 [('no3', 6.1799999999999997, 7.8276736576749286), ('sil', 54.656636892999479, 59.57)]\n", "348 [('no3', 6.1799999999999997, 7.8624794394268411), ('sil', 54.786971407309224, 59.57)]\n", "349 [('no3', 6.1799999999999997, 7.8960024545129697), ('sil', 54.917037709221923, 59.57)]\n", "350 [('no3', 6.1799999999999997, 7.9282399018424172), ('sil', 55.046835338766492, 59.57)]\n", "351 [('no3', 6.1799999999999997, 7.9591914894412179), ('sil', 55.176362811078555, 59.57)]\n", "352 [('no3', 6.1799999999999997, 7.9888594176324315), ('sil', 55.305617514166428, 59.57)]\n", "353 [('no3', 6.1799999999999997, 8.0172483500209957), ('sil', 55.434595626367347, 59.57)]\n", "354 [('no3', 6.1799999999999997, 8.0443653718908052), ('sil', 55.56329205510351, 59.57)]\n", "355 [('no3', 6.1799999999999997, 8.0702199357420792), ('sil', 55.691700398422753, 59.57)]\n", "356 [('no3', 6.1799999999999997, 8.0948237938433092), ('sil', 55.819812930648453, 59.57)]\n", "357 [('no3', 6.1799999999999997, 8.1181909176580547), ('sil', 55.947620613450894, 59.57)]\n", "358 [('no3', 6.1799999999999997, 8.1403374043036578), ('sil', 56.075113133478176, 59.57)]\n", "359 [('no3', 6.1799999999999997, 8.161281370233592), ('sil', 56.202278967449601, 59.57)]\n", "360 [('no3', 6.1799999999999997, 8.1810428325623885), ('sil', 56.329105475543237, 59.57)]\n", "361 [('no3', 6.1799999999999997, 8.1996435786654853), ('sil', 56.455579023648681, 59.57)]\n", "362 [('no3', 6.1799999999999997, 8.2171070248225977), ('sil', 56.581685134675631, 59.57)]\n", "363 [('no3', 6.1799999999999997, 8.2334580648882838), ('sil', 56.707408669124732, 59.57)]\n", "364 [('no3', 6.1799999999999997, 8.2487229102184187), ('sil', 56.832734034515347, 59.57)]\n", "365 [('no3', 6.1799999999999997, 8.2629289221420184), ('sil', 56.957645423143013, 59.57)]\n", "366 [('no3', 6.1799999999999997, 8.2761044385521991), ('sil', 57.08212707723338, 59.57)]\n" ] } ], "source": [ "year=2016\n", "for yearday in range(1,367):\n", " t2=dt.date(year, 1, 1) + dt.timedelta(days = yearday - 1)\n", " #datestr='y'+t2.strftime('%Y')+'m'+t2.strftime('%m')+'d'+t2.strftime('%d')\n", " datestr='m'+t2.strftime('%m')+'d'+t2.strftime('%d')\n", " new=nc.Dataset(fname+datestr+'.nc')\n", " print(yearday,[(ikey, np.min(new.variables[ikey]), np.max(new.variables[ikey])) for ikey in new.variables.keys()])\n", " new.close()" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "366 [('no3', 6.1235179805710107, 6.1799999999999997), ('nh4', 4.2325533077690913, 4.2999999999999998), ('sil', 59.554968806333505, 59.57), ('dia', 0.001, 0.001), ('phy', 0.001, 0.001), ('mes', 0.001, 0.001), ('zoo', 0.001, 0.001), ('don', 0.0, 0.0), ('pon', 0.0, 0.0), ('bsi', 0.0, 0.0), ('tur', 1.0, 1.0)]\n" ] } ], "source": [ "new=nc.Dataset(fnameC+'.nc')\n", "print(yearday,[(ikey, np.min(new.variables[ikey]), np.max(new.variables[ikey])) for ikey in new.variables.keys()])\n", "new.close()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "anaconda-cloud": {}, "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.7.4" } }, "nbformat": 4, "nbformat_minor": 1 }