{ "cells": [ { "cell_type": "code", "execution_count": 101, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from scipy.linalg import solve" ] }, { "cell_type": "code", "execution_count": 111, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.5688779724862596 , 0.6428571428571428 , 1 , 0.934375 , 0.6367343068461976\n", "0.9553772070626003 , 0.5929384343645865 , 0.5078530310567835 , 0.6680170575692963 , 0.4970843052315894\n", "0.24291845493562236 , 0.41473988439306353 , 0.4100334448160535 , 0.35158789697424353\n" ] } ], "source": [ "# Define the ecological efficiencies\n", "E0 = 1 - (234852/544746)\n", "E1 = 1 - (51700/144760)\n", "E2 = 1\n", "E3 = 1 - (31500/480000)\n", "E4 = 1 - (68958/(134298+22950+26064+6516))\n", "E5 = 1 - (33360/747600)\n", "#E6 = 1 - (111773/(21146+42293+21146)) <---- error situation? Ends up negative\n", "E6 = 1 - (111773/(21146+42293+211146))\n", "E7 = 1 - ((2736+1543+1038+1208+400)/(1851+9406+2814))\n", "E8 = 1 - (3114/(3114+4152+1076+1038))\n", "E9 = 1 - (6037/(236+6059+4756+953))\n", "E10 = 1 - (1764/(173+661+288+1208))\n", "E11 = 1 - (46170/(8436+5700+50844+11172+2736))\n", "E12 = 1 - (1764/(259+328+860+1543))\n", "E13 = 1 - (2593/(400+130+998+248+95+2128))\n", "\n", "print(E0, \",\", E1, \",\", E2, \",\", E3, \",\", E4)\n", "print(E5, \",\", E6, \",\", E7, \",\", E8, \",\", E9)\n", "print(E10, \",\", E11, \",\", E12, \",\", E13)" ] }, { "cell_type": "code", "execution_count": 109, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([ 100., 100., 100., 100., 100., 100., 100., 0., 100.,\n", " 100., 100., 100., 100., 100.])" ] }, "execution_count": 109, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Naragansett Bay Food Web Model\n", "\n", "# Use the ecological efficiencies\n", "E = [E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13]; \n", "nodes = len(E); # number of nodes in the food web\n", "\n", "#Build the food-web model as a 14x14 matrix\n", "fw = (14,14)\n", "Diet = np.zeros(fw)\n", "\n", "# N Organism Category\n", "# = =================\n", "# 0 Phytoplankton\n", "# 1 Benthic Algae\n", "# 2 Detritus\n", "# 3 Pelagic Bacteria\n", "# 4 Microzooplankton\n", "# 5 Baterial Sediment POC\n", "# 6 Mesozooplankton\n", "# 7 Benthic Suspension Feeders\n", "# 8 Parabenthos\n", "# 9 Invertebrate Carnivores\n", "# 10 Benthic Invertebrate Carnivores\n", "# 11 Benthic Deposit Feeders\n", "# 12 Carnivorous Fish\n", "# 13 Planktivorous Fish\n", "\n", "Diet[3,2] = 480000/(480000+4152+747600+50844+402+248+6516)*100\n", "Diet[4,4] = 26064/(2814+4756+5700+26064+2128)*100\n", "Diet[4,5] = 22950/(22950+11172)*100\n", "Diet[4,0] = 134298/(21146+9406+3114+134298)*100\n", "Diet[4,2] = 6516/(480000+4152+747600+50844+402+248+6516)*100\n", "Diet[5,2] = 747600/(480000+4152+747600+50844+402+248+6516)*100\n", "Diet[6,0] = 21146/(21146+9406+3114+134298)*100\n", "Diet[6,3] = 42293/(943+1851+42293)*100\n", "Diet[6,6] = 21146/(2076+21146+6059)*100\n", "Diet[7,3] = 1851/(943+1851+42293)*100\n", "Diet[7,0] = 9406/(21146+9406+3114+134298)*100\n", "Diet[7,4] = 2814/(2814+4756+5700+26064+2128)*100\n", "Diet[8,11] = 1038/(2736+1543+1038+1208+400)*100\n", "Diet[8,2] = 4152/(480000+4152+747600+50844+402+248+6516)*100\n", "Diet[8,0] = 3114/(21146+9406+3114+134298)*100\n", "Diet[8,6] = 2076/(2076+21146+6059)*100\n", "Diet[9,9] = 236/(130+236)*100\n", "Diet[9,6] = 6059/(2076+21146+6059)*100\n", "Diet[9,4] = 4756/(2814+4756+5700+26064+2128)*100\n", "Diet[9,3] = 943/(943+1851+42293)*100\n", "Diet[10,13] = 288/(860+288)*100\n", "Diet[10,8] = 661/(661+998)*100\n", "Diet[10,2] = 402/(480000+4152+747600+50844+402+248+6516)*100\n", "Diet[10,10] = 173/(173+259)*100\n", "Diet[10,11] = 1208/(2736+1543+1038+1208+400)*100\n", "Diet[11,4] = 5700/(2814+4756+5700+26064+2128)*100\n", "Diet[11,1] = 8436/(95+8436)*100\n", "Diet[11,2] = 50844/(480000+4152+747600+50844+402+248+6516)*100\n", "Diet[11,5] = 11172/(22950+11172)*100\n", "Diet[11,11] = 2736/(2736+1543+1038+1208+400)*100\n", "Diet[12,11] = 1543/(2736+1543+1038+1208+400)*100\n", "Diet[12,13] = 860/(860+288)*100\n", "Diet[12,10] = 259/(173+259)*100\n", "Diet[12,12] = 328/(328)*100\n", "Diet[13,11] = 400/(2736+1543+1038+1208+400)*100\n", "Diet[13,9] = 130/(130+236)*100\n", "Diet[13,8] = 998/(661+998)*100\n", "Diet[13,2] = 248/(480000+4152+747600+50844+402+248+6516)*100\n", "Diet[13,1] = 95/(95+8436)*100\n", "Diet[13,4] = 2128/(2814+4756+5700+26064+2128)*100\n", "\n", "# columns should sum to 100 except the last one\n", "Diet.sum(axis=0)" ] }, { "cell_type": "code", "execution_count": 110, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([ 100., 100., 100., 100., 100., 100., 100., 100., 100.,\n", " 100., 100., 100., 100., 100.])" ] }, "execution_count": 110, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Naragansett Bay Food Web Model with Detritus accumulation\n", "\n", "# Use the ecological efficiencies\n", "E = [E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13]; \n", "nodes = len(E); # number of nodes in the food web\n", "\n", "#Build the food-web model as a 14x14 matrix\n", "fw = (14,14)\n", "Diet = np.zeros(fw)\n", "\n", "# N Organism Category\n", "# = =================\n", "# 0 Phytoplankton\n", "# 1 Benthic Algae\n", "# 2 Detritus\n", "# 3 Pelagic Bacteria\n", "# 4 Microzooplankton\n", "# 5 Baterial Sediment POC\n", "# 6 Mesozooplankton\n", "# 7 Benthic Suspension Feeders\n", "# 8 Parabenthos\n", "# 9 Invertebrate Carnivores\n", "# 10 Benthic Invertebrate Carnivores\n", "# 11 Benthic Deposit Feeders\n", "# 12 Carnivorous Fish\n", "# 13 Planktivorous Fish\n", "\n", "Diet[3,2] = 480000/(480000+4152+747600+50844+402+248+6516)*100\n", "Diet[4,4] = 26064/(2814+4756+5700+26064+2128+88598)*100\n", "Diet[4,5] = 22950/(22950+11172+679980)*100\n", "Diet[4,0] = 134298/(21146+9406+157124+3114+134298)*100\n", "Diet[4,2] = 6516/(480000+4152+747600+50844+402+248+6516)*100\n", "Diet[5,2] = 747600/(480000+4152+747600+50844+402+248+6516)*100\n", "Diet[6,0] = 21146/(21146+9406+157124+3114+134298)*100\n", "Diet[6,3] = 42293/(943+1851+42293+270575)*100\n", "Diet[6,6] = 21146/(2076+21146+6059+67932)*100\n", "Diet[7,3] = 1851/(943+1851+42293+270575)*100\n", "Diet[7,0] = 9406/(21146+9406+157124+3114+134298)*100\n", "Diet[7,4] = 2814/(2814+4756+5700+26064+2128+88598)*100\n", "Diet[8,11] = 1038/(2736+1543+1038+1208+400+31265)*100\n", "Diet[8,2] = 4152/(480000+4152+747600+50844+402+248+6516)*100\n", "Diet[8,0] = 3114/(21146+9406+157124+3114+134298)*100\n", "Diet[8,6] = 2076/(2076+21146+6059+67932)*100\n", "Diet[9,9] = 236/(130+236+5747)*100\n", "Diet[9,6] = 6059/(2076+21146+6059+67932)*100\n", "Diet[9,4] = 4756/(2814+4756+5700+26064+2128+88598)*100\n", "Diet[9,3] = 943/(943+1851+42293+270575)*100\n", "Diet[10,13] = 288/(860+288+1016)*100\n", "Diet[10,8] = 661/(661+998+4563)*100\n", "Diet[10,2] = 402/(480000+4152+747600+50844+402+248+6516)*100\n", "Diet[10,10] = 173/(173+259+609)*100\n", "Diet[10,11] = 1208/(2736+1543+1038+1208+400+31265)*100\n", "Diet[11,4] = 5700/(2814+4756+5700+26064+2128+88598)*100\n", "Diet[11,1] = 8436/(95+8436+82525)*100\n", "Diet[11,2] = 50844/(480000+4152+747600+50844+402+248+6516)*100\n", "Diet[11,5] = 11172/(22950+11172+679980)*100\n", "Diet[11,11] = 2736/(2736+1543+1038+1208+400+31265)*100\n", "Diet[12,11] = 1543/(2736+1543+1038+1208+400+31265)*100\n", "Diet[12,13] = 860/(860+288+1016)*100\n", "Diet[12,10] = 259/(173+259+609)*100\n", "Diet[12,12] = 328/(328+1041)*100\n", "Diet[13,11] = 400/(2736+1543+1038+1208+400+31265)*100\n", "Diet[13,9] = 130/(130+236+5747)*100\n", "Diet[13,8] = 998/(661+998+4563)*100\n", "Diet[13,2] = 248/(480000+4152+747600+50844+402+248+6516)*100\n", "Diet[13,1] = 95/(95+8436+82525)*100\n", "Diet[13,4] = 2128/(2814+4756+5700+26064+2128+88598)*100\n", "\n", "#Add Full Detritus\n", "Diet[2,0] = 157124/(21146+9406+157124+3114+134298)*100\n", "Diet[2,1] = 82525/(95+8436+82525)*100\n", "Diet[2,3] = 270575/(943+1851+42293+270575)*100\n", "Diet[2,4] = 88598/(2814+4756+5700+26064+2128+88598)*100\n", "Diet[2,5] = 679980/(22950+11172+679980)*100\n", "Diet[2,6] = 67932/(2076+21146+6059+67932)*100\n", "Diet[2,7] = 5555/(5555)*100\n", "Diet[2,8] = 4563/(661+998+4563)*100\n", "Diet[2,9] = 5747/(130+236+5747)*100\n", "Diet[2,10] = 609/(173+259+609)*100\n", "Diet[2,11] = 31265/(2736+1543+1038+1208+400+31265)*100\n", "Diet[2,12] = 1041/(328+1041)*100\n", "Diet[2,13] = 1016/(860+288+1016)*100\n", "\n", "# columns should sum to 100 except the last one\n", "Diet.sum(axis=0)" ] }, { "cell_type": "code", "execution_count": 105, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Bottom-up Food-web model\n", "[[ 1.75784623e+00 -0.00000000e+00 -0.00000000e+00 -0.00000000e+00\n", " -0.00000000e+00 -0.00000000e+00 -0.00000000e+00 -0.00000000e+00\n", " -0.00000000e+00 -0.00000000e+00 -0.00000000e+00 -0.00000000e+00\n", " -0.00000000e+00 -0.00000000e+00]\n", " [ -0.00000000e+00 1.55555556e+00 -0.00000000e+00 -0.00000000e+00\n", " -0.00000000e+00 -0.00000000e+00 -0.00000000e+00 -0.00000000e+00\n", " -0.00000000e+00 -0.00000000e+00 -0.00000000e+00 -0.00000000e+00\n", " -0.00000000e+00 -0.00000000e+00]\n", " [ -4.83327591e-01 -9.06310402e-01 1.00000000e+00 -8.57166843e-01\n", " -6.81208673e-01 -9.52216910e-01 -6.98795429e-01 -1.00000000e+00\n", " -7.33365477e-01 -9.40127597e-01 -5.85014409e-01 -8.18669809e-01\n", " -7.60409058e-01 -4.69500924e-01]\n", " [ -0.00000000e+00 -0.00000000e+00 -3.72161686e-01 1.07023411e+00\n", " -0.00000000e+00 -0.00000000e+00 -0.00000000e+00 -0.00000000e+00\n", " -0.00000000e+00 -0.00000000e+00 -0.00000000e+00 -0.00000000e+00\n", " -0.00000000e+00 -0.00000000e+00]\n", " [ -4.13112757e-01 -0.00000000e+00 -5.05209488e-03 -0.00000000e+00\n", " 1.37011396e+00 -3.21382660e-02 -0.00000000e+00 -0.00000000e+00\n", " -0.00000000e+00 -0.00000000e+00 -0.00000000e+00 -0.00000000e+00\n", " -0.00000000e+00 -0.00000000e+00]\n", " [ -0.00000000e+00 -0.00000000e+00 -5.79641825e-01 -0.00000000e+00\n", " -0.00000000e+00 1.04670699e+00 -0.00000000e+00 -0.00000000e+00\n", " -0.00000000e+00 -0.00000000e+00 -0.00000000e+00 -0.00000000e+00\n", " -0.00000000e+00 -0.00000000e+00]\n", " [ -6.50470027e-02 -0.00000000e+00 -0.00000000e+00 -1.33981917e-01\n", " -0.00000000e+00 -0.00000000e+00 1.46899339e+00 -0.00000000e+00\n", " -0.00000000e+00 -0.00000000e+00 -0.00000000e+00 -0.00000000e+00\n", " -0.00000000e+00 -0.00000000e+00]\n", " [ -2.89337041e-02 -0.00000000e+00 -0.00000000e+00 -5.86386705e-03\n", " -2.16361679e-02 -0.00000000e+00 -0.00000000e+00 2.41728225e+00\n", " -0.00000000e+00 -0.00000000e+00 -0.00000000e+00 -0.00000000e+00\n", " -0.00000000e+00 -0.00000000e+00]\n", " [ -9.57894478e-03 -0.00000000e+00 -3.21919858e-03 -0.00000000e+00\n", " -0.00000000e+00 -0.00000000e+00 -2.13551685e-02 -0.00000000e+00\n", " 1.49696776e+00 -0.00000000e+00 -0.00000000e+00 -2.71798900e-02\n", " -0.00000000e+00 -0.00000000e+00]\n", " [ -0.00000000e+00 -0.00000000e+00 -0.00000000e+00 -2.98737257e-03\n", " -3.65677380e-02 -0.00000000e+00 -6.23270550e-02 -0.00000000e+00\n", " -0.00000000e+00 1.97312494e+00 -0.00000000e+00 -0.00000000e+00\n", " -0.00000000e+00 -0.00000000e+00]\n", " [ -0.00000000e+00 -0.00000000e+00 -3.11685412e-04 -0.00000000e+00\n", " -0.00000000e+00 -0.00000000e+00 -0.00000000e+00 -0.00000000e+00\n", " -1.06235937e-01 -0.00000000e+00 3.95042141e+00 -3.16313171e-02\n", " -0.00000000e+00 -1.33086876e-01]\n", " [ -0.00000000e+00 -9.26462836e-02 -3.94212266e-02 -0.00000000e+00\n", " -4.38259265e-02 -1.56448238e-02 -0.00000000e+00 -0.00000000e+00\n", " -0.00000000e+00 -0.00000000e+00 -0.00000000e+00 2.33950803e+00\n", " -0.00000000e+00 -0.00000000e+00]\n", " [ -0.00000000e+00 -0.00000000e+00 -0.00000000e+00 -0.00000000e+00\n", " -0.00000000e+00 -0.00000000e+00 -0.00000000e+00 -0.00000000e+00\n", " -0.00000000e+00 -0.00000000e+00 -2.48799232e-01 -4.04032469e-02\n", " 2.19923451e+00 -3.97412200e-01]\n", " [ -0.00000000e+00 -1.04331400e-03 -1.92283538e-04 -0.00000000e+00\n", " -1.63616792e-02 -0.00000000e+00 -0.00000000e+00 -0.00000000e+00\n", " -1.60398586e-01 -2.12661541e-02 -0.00000000e+00 -1.04739461e-02\n", " -0.00000000e+00 2.84423898e+00]]\n" ] } ], "source": [ "# Build the food-web model\n", "print('Bottom-up Food-web model')\n", "M = -0.01*Diet\n", "\n", "for n in range(0,nodes): #update the diagonal\n", " M[n,n] += 1/E[n]\n", " \n", "print(M)" ] }, { "cell_type": "code", "execution_count": 106, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[544746 144760 290877 0 0 0 0 0 0 0\n", " 0 0 0 0]\n" ] } ], "source": [ "# Define the vector of constants\n", "# initialize with primary productivity\n", "C = np.array([544746,144760,290877,0,0,0,0,0,0,0,0,0,0,0])\n", "\n", "print(C)" ] }, { "cell_type": "code", "execution_count": 107, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Solve for the fluxes\n", "[ 3.09894000e+05 9.30600000e+04 5.16836275e+06 1.79723910e+06\n", " 1.79631585e+05 2.86211829e+06 1.77642199e+05 9.67685570e+03\n", " 1.76883605e+04 1.16615315e+04 1.88881641e+03 1.13277969e+05\n", " 2.82219953e+03 2.91874473e+03]\n" ] } ], "source": [ "print('Solve for the fluxes')\n", "\n", "#given the linear system x*C = M, solve for x\n", "F = solve(M, C)\n", "\n", "print(F)" ] }, { "cell_type": "code", "execution_count": 108, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA78AAAIkCAYAAADWNpyuAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAMTQAADE0B0s6tTgAAIABJREFUeJzs3X2QVfWd5/FP2yBGaCWACog8NU2YChiNshJMhElihp1i\nDYNhWolEF0WQCdkNlhsrDJUxmmRdGZwkjGF8YhWmEINiGZEwxIqAs5OIIkOEIYDyPAIGBAQVeTj7\nR9a7YTShVZrWk9erqqu453f6nu891wp5c+5DVVEURQAAAKDETmjqAQAAAKCxiV8AAABKT/wCAABQ\neuIXAACA0hO/AAAAlJ74BQAAoPTELwAAAKUnfgGAUvvZz36Wqqqq437cgQMH5q//+q+P+3EBeGfi\nF4APhIEDB6aqqio/+clPjth+xRVX5KqrrmqaoT4ErrrqqlxxxRVHbHvyySdTVVWVgwcPHvV3mzdv\nnlatWqVVq1Zp3759RowYkd/85jeNNu/69etTVVWVli1bVo7bqlWr3HnnnY12zD+kKIqcdtppueOO\nO47YftFFF+Xkk0/O/v37K9uWL1+eqqqqrFmz5niPCcAxIH4B+MBo165drr/++rz55pvH7D5/N15+\n17E8xodZfX199u7dm71792b58uXZtGlTxo0b1+jH/dd//dfKcffu3Ztrr7220Y/5TqqqqvK5z30u\nP/vZzyrb9u7dm2eeeSZdunTJP//zP1e2L1iwIF27dk1dXV1TjArA+yR+AfjAuOqqq3L48OH84Ac/\n+L37/P3f/3169+6dU0455R2vVP7N3/xNPv3pT2fixInp2LFjzj333CRJ165d861vfSuDBg1KTU1N\nJk+enJdeeimDBw/OGWeckZqampx99tn58Y9/fMTxnn766fTt2zc1NTU5//zzM3ny5CNeQvvkk0+m\nf//+adu2bT760Y/ms5/9bJYtW3bEelVVVWbPnp2ePXumpqYmF198cbZs2VLZZ8qUKamtrU1NTU3O\nOOOMI65079q1K9ddd126dOmStm3b5s///M/z4osvJkm++93v5h//8R8za9asyhXUjRs35j//5/+c\nJGndunVatWqV7373uw06/6effnr+4i/+IsuXL2/Q4zt8+HC6du2a++6774j7mTRpUuW8v1uHDh3K\nbbfdlp49e+bUU0/N+eefn3nz5h2xz9y5c3Peeefl1FNPTc+ePTNp0qQcPny4sv7ss8/mggsuSKtW\nrXL++ecf8XjeyRe+8IX8/Oc/z6FDhyqP+ZxzzskXv/jFLFiwoLLfggULcvHFF1dub9myJcOHD8+Z\nZ56Z008/PZdffnlefvnlI+57165dGTp0aGpqatKjR4/cf//97+m8AHAMFADwATBgwIBiwoQJxZw5\nc4pTTjml2LZtW1EURfHlL3+5uPLKKyv7zZ49u/j1r39dHDp0qFi/fn3xn/7Tfyouu+yyyvq3vvWt\norq6urjpppuK119/vdi3b19RFEXRpUuX4owzzij+z//5P8Xhw4eLffv2FZs2bSoeeuih4tVXXy3e\nfPPN4u677y6aNWtWPP/880VRFMUrr7xStGnTprjpppuK/fv3F//2b/9W1NXVFb/71+dTTz1V/PM/\n/3Oxf//+Ys+ePcWoUaOKzp07F/v37y+Koih+/vOfF0mK4cOHF7t27Sp27dpV9O/fv/jKV75SFEVR\nrF69uvjIRz5S/OpXvyqKoiheffXVYuHChUVRFMXhw4eLgQMHFsOHDy927NhRvPHGG8X/+B//o/iT\nP/mT4s033yyKoiiuvPLK4stf/vIR5/KtYx44cOAPnvP/+LtbtmwpPvOZzxRjxoxp8OP7zne+U/Tv\n37+y/+HDh4u6urriRz/60Tsec926dUWSYs2aNe+4PmnSpOLMM88snn322eLAgQPFzJkzi+bNmxfP\nPvtsURRF8fTTTxfNmzcvZs2aVRw4cKB45plnig4dOhS33357URRFsXv37qJdu3bFX//1XxdvvPFG\nsWLFiqK2trb4Q/+XZ9OmTUWS4l/+5V+KoiiKr33ta8XEiROLBQsWFOedd15RFEXxxhtvFB/5yEeK\nBx98sHL7Yx/7WHH99dcXe/fuLV599dXiiiuuKD7/+c9X7nfAgAHFSSedVDz66KPFgQMHirlz5xbN\nmzcvnnrqqd87CwCNR/wC8IHwVvwWRVF89rOfLa6++uqiKN4ev//Rww8/XLRp06Zy+1vf+lbRsWPH\n4vDhw0fs16VLl+LGG2886hxnn3128YMf/KAoiqKYPn16ccYZZxSHDh2qrP/whz/8gyG1c+fOIkmx\nfPnyoij+f4hu2LChss+UKVOKXr16FUVRFC+++GJx0kknFQ888ECxe/fuI+7r2WefLZo3b168+uqr\nlW0HDx4sTjrppGLx4sVFUbz/+G3evHlx6qmnFjU1NUWS4uMf/3ixadOmBj++rVu3FieeeGLlHwye\neOKJolWrVsWePXve8fffit+ampri1FNPrfwcPHiwKIqi6NmzZ/F3f/d3R/zOJZdcUowePbooiqK4\n9tpriyFDhhyxPnny5OJjH/tYURRFMWPGjOL000+v3F9RFMUPfvCDP/icFUVR/Mmf/Enx7W9/u/Ln\nhQsXFq+//npx8sknF7/5zW+KJ554ojjhhBOKHTt2FEVRFA899NDb/jvbvHlzkaRy/gYMGFAMHTr0\niOP85V/+ZTFy5Mg/OAsAjcPLngH4wPn+97+f6dOn57nnnnvb2sMPP5z+/fvn9NNPzymnnJIRI0Zk\n586dlZesJkmXLl3e8dN9u3XrdsTtV155JaNGjUq3bt1yyimnpHXr1lmxYkW2b9+e5Lcvaz3rrLNy\nwgn//6/Lrl27HnEfy5cvz3/5L/8lZ555Zk455ZTKMd66j7d07Nix8ueWLVvm1Vdfrcz0wAMPZNq0\naencuXP69u2bmTNnJknWrFmTgwcPplOnTmndunVat26dtm3bJkk2bdr0h09iA/3lX/5ldu3alT17\n9mT37t357Gc/m4suuihvvPFGgx7fGWeckaFDh+Yf/uEfkiT/8A//kOHDh6empuYPHnfp0qXZtWtX\n5ae6urryuGpra4/Yt0ePHtm4cWOD1jdv3pyzzjqrcn/J25/3d3LxxRdnwYIF2bJlSzZt2pRPfepT\nOemkk9KvX7888cQTWbBgQc4777y0adMmyW+fm23btuWjH/1o5bn5+Mc/nhYtWlRmeadjd+vW7Zg9\ndwC8O+IXgA+c3r1755prrsl/+2//7YjtmzdvzrBhwzJu3Lhs3Lgxe/bsyfTp05P89lN73/K7sfq7\n/uP2G2+8MatWrcrChQuze/fu7Nq1Kx//+Mcr93XmmWdm06ZNR7yfdMOGDUfcx7Bhw1JbW5vnn38+\ne/bsybp16942z9F88YtfzE9/+tP85je/yQ033JAvf/nLWb16ddq3b58TTzwxL7/88hGh+Prrr+fy\nyy//vY/19z3+oznllFNy7bXXZt26dVmxYkWDH991112X6dOnZ8OGDZkzZ07GjBnzno6fJGeddVZe\neOGFI7a98MIL6dy5c4PWO3XqlE2bNh3xjyHr168/6nG/8IUv5Be/+EUefvjhfOYzn0nz5s2TJJ//\n/OezYMGCt73ft3379unSpcsRz8uuXbvyxhtvpH///r/32OvXr0+nTp2OfiIAOObELwAfSN/+9rfz\n/PPPZ/78+ZVte/fuzeHDh9OuXbucdNJJWbNmTb73ve+952Ps3r07J598ctq2bZsDBw7khz/8YSX6\nkmTw4MF58803873vfS9vvvlmVq9e/bYP49q9e3dOOeWUnHrqqdm5c2euv/76dzXDr3/96zz++OPZ\nu3dvmjVrllNPPTVJUl1dnU9/+tPp3bt3rrvuusqV1ldeeSUPPfRQXnvttSS/jbAXXnjhiNhr3759\n5b7fjX379uWee+5Jq1at0qNHjwY/vosuuihnnnlmhg4dmnPOOec9f9hVklxzzTWZNGlSli1bloMH\nD+bBBx/M448/nmuuuSZJMnLkyMydOzcPPfRQDh06lOeeey633XZb5dOiBw8enEOHDuXb3/529u/f\nn1WrVuX73//+UY/71ldtfe9738vnP//5yvbPfe5z+clPfpLnnnsuX/jCFyrbhw4dmgMHDmTixInZ\nvXt3kt9eDZ81a9YR9/v4449n7ty5OXToUH76059mzpw5+a//9b++5/MDwHsnfgH4QGrbtm3+5m/+\n5ohPcu7Vq1e+973v5Stf+Upqampy5ZVXvu07bt+NW265Ja+//nrOOOOMdO3aNdu2bcuFF15YWW/d\nunUef/zxzJkzJ23atMnw4cMzcuTItGjRorLPvffemx//+MepqalJv379Kp+03FBvvvlmvvOd71Re\nVnz99dfn/vvvT21tbaqrq7NgwYKcfPLJueCCC1JTU5NPfOITmTNnTuVl3W9FX7t27dK6dets3Lgx\nPXv2zLhx4/Knf/qnad26df7n//yfv/f4v/tJ0WeddVaWLVuWefPmVSK8oY/vuuuuy9KlS9/XVd8k\nGT9+fP7qr/4qX/rSl9KmTZvceuutefjhh3P++ecnSS644ILMnj073/nOd/LRj340w4YNy9e+9rXK\nqwROPfXUPP7443n88cfTtm3bXHHFFbnuuuuOetyWLVumf//+eemll46I3/PPPz/79+/PRz7ykXzq\nU5+qbK+pqcm//Mu/ZOPGjenTp09OOeWU9O/fP4sWLTrifkeOHJl77rknrVu3zl/91V9l6tSp+cxn\nPvO+zhEA701V8W5elwUAf+T+7u/+Lj/60Y/e9VXVsps3b14uv/zy/Pu//3tOPvnkph4HAN7GlV8A\n+AOeeOKJbNq0KUVR5JlnnsmkSZPy5S9/uanH+kB57bXX8r/+1//K6NGjhS8AH1jiFwD+gFWrVuWC\nCy5Iy5Yt86UvfSlXXHFFvvGNbzT1WB8YP/rRj9KuXbskyYQJE5p4GgD4/bzsGQAAgNJz5RcAAIDS\nE78AAACUnvgFAACg9Jo19QAfdi1atMhpp53W1GMAAAD80Xn55Zezf//+Bu0rft+n0047LZs3b27q\nMQAAAP7odOrUqcH7etkzAAAApSd+AQAAKD3xCwAAQOmJXwAAAEpP/AIAAFB64hcAAIDSE78AAACU\nnvgFAACg9MQvAAAApSd+AQAAKD3xCwAAQOmJXwAAAEpP/AIAAFB64hcAAIDSE78AAACUnvgFAACg\n9MQvAAAApSd+AQAAKD3xCwAAQOmJXwAAAEpP/AIAAFB6zZp6AODobl+wuqlHeE++fnHPph4BAACS\nuPILAADAHwHxCwAAQOmJXwAAAEpP/AIAAFB64hcAAIDSE78AAACUnvgFAACg9MQvAAAApSd+AQAA\nKD3xCwAAQOk1evx27do1H/vYx3LOOefknHPOyaxZs5Ik27dvz6BBg1JXV5fevXtn0aJFld957bXX\ncvnll6dHjx7p2bNnZs+eXVk7fPhwxo0bl9ra2vTo0SNTpkw54ni33HJLamtrU1tbmwkTJhyxds89\n96Suri61tbUZNWpUDhw4UFl77LHH0qtXr9TV1WXo0KHZs2dPY5wOAAAAmsBxufI7a9asLFu2LMuW\nLUt9fX2S5MYbb0y/fv2yZs2aTJs2LcOHD6/E6KRJk9KiRYusXbs28+fPz9ixY7Njx44kyYwZM7Jy\n5cqsXr06Tz/9dG677basWLEiSbJo0aLMnDkzy5cvz8qVKzN//vzMnTs3SbJu3bpMnDgxixcvztq1\na7Nt27bceeedSZK9e/fm6quvziOPPJI1a9akY8eOufnmm4/HqQEAAOA4aLKXPT/44IMZM2ZMkqRv\n377p2LFjFi5cmOS3sfzWWrdu3TJw4MDMmTOnsjZq1KhUV1enTZs2qa+vz8yZMytrI0aMSMuWLdOi\nRYuMHDmysjZ79uxccsklad++faqqqjJmzJjK2rx583LuueemV69eSZKxY8dW1gAAAPjwOy7xO2LE\niPTp0ydXX311Xn755ezYsSMHDhxI+/btK/t07do1GzduTJJs3LgxXbp0adK1l156KQcPHjxm5wAA\nAICm0+jxu2jRovzqV7/K0qVL065du1x55ZWNfchGNXny5HTq1Knys3fv3qYeCQAAgKNo9Pjt3Llz\nkqR58+b57//9v2fx4sVp27ZtmjVrlq1bt1b2W79+fWXfzp07Z8OGDU261qFDhzRr1uxtj2f8+PHZ\nvHlz5adVq1bv8cwAAABwvDRq/O7bty+7du2q3J45c2bOPffcJMmwYcMyderUJMmSJUuyZcuWDBgw\n4G1r69aty5NPPpkhQ4ZU1u66664cOnQoO3fuzKxZsyofojVs2LBMnz49+/bty/79+3Pvvffmsssu\nS5JceumlefTRR7N169YURZGpU6dW1gYNGpSlS5dm1apVSZI77rijsgYAAMCH39svbR5D27Zty6WX\nXppDhw6lKIp07949999/f5Lk1ltvzYgRI1JXV5cTTzwxM2bMSPPmzZMkN9xwQ0aOHJna2tpUV1dn\nypQpadeuXZLfvn94yZIlqaurS1VVVcaPH58+ffokSQYOHJj6+vrK7fr6+gwePDhJ0r1799x00025\n8MILK/uOHj06SVJTU5O77747Q4YMycGDB9O7d+/cd999jXlqAAAAOI6qiqIomnqID7NOnTpl8+bN\nTT0GJXf7gtVNPcJ78vWLezb1CAAAlNi76bEm+6ojAAAAOF7ELwAAAKUnfgEAACg98QsAAEDpiV8A\nAABKT/wCAABQeuIXAACA0hO/AAAAlJ74BQAAoPTELwAAAKUnfgEAACg98QsAAEDpiV8AAABKT/wC\nAABQeuIXAACA0hO/AAAAlJ74BQAAoPTELwAAAKUnfgEAACg98QsAAEDpiV8AAABKT/wCAABQeuIX\nAACA0hO/AAAAlJ74BQAAoPTELwAAAKUnfgEAACg98QsAAEDpiV8AAABKT/wCAABQeuIXAACA0hO/\nAAAAlJ74BQAAoPTELwAAAKUnfgEAACg98QsAAEDpiV8AAABKT/wCAABQeuIXAACA0hO/AAAAlJ74\nBQAAoPTELwAAAKUnfgEAACg98QsAAEDpiV8AAABKT/wCAABQeuIXAACA0hO/AAAAlJ74BQAAoPTE\nLwAAAKUnfgEAACg98QsAAEDpiV8AAABKT/wCAABQeuIXAACA0hO/AAAAlJ74BQAAoPTELwAAAKUn\nfgEAACg98QsAAEDpiV8AAABKT/wCAABQeuIXAACA0hO/AAAAlJ74BQAAoPTELwAAAKUnfgEAACg9\n8QsAAEDpiV8AAABKT/wCAABQeuIXAACA0hO/AAAAlJ74BQAAoPTELwAAAKUnfgEAACg98QsAAEDp\niV8AAABKT/wCAABQeuIXAACA0hO/AAAAlN5xi99p06alqqoqjzzySJJk+/btGTRoUOrq6tK7d+8s\nWrSosu9rr72Wyy+/PD169EjPnj0ze/bsytrhw4czbty41NbWpkePHpkyZcoRx7nllltSW1ub2tra\nTJgw4Yi1e+65J3V1damtrc2oUaNy4MCBytpjjz2WXr16pa6uLkOHDs2ePXsa4zQAAADQBI5L/K5f\nvz533XVX+vXrV9l24403pl+/flmzZk2mTZuW4cOHV2J00qRJadGiRdauXZv58+dn7Nix2bFjR5Jk\nxowZWblyZVavXp2nn346t912W1asWJEkWbRoUWbOnJnly5dn5cqVmT9/fubOnZskWbduXSZOnJjF\nixdn7dq12bZtW+68884kyd69e3P11VfnkUceyZo1a9KxY8fcfPPNx+PUAAAAcBw0evwePnw411xz\nTX74wx+mRYsWle0PPvhgxowZkyTp27dvOnbsmIULFyZJZs2aVVnr1q1bBg4cmDlz5lTWRo0alerq\n6rRp0yb19fWZOXNmZW3EiBFp2bJlWrRokZEjR1bWZs+enUsuuSTt27dPVVVVxowZU1mbN29ezj33\n3PTq1StJMnbs2MoaAAAAH36NHr+TJ0/OhRdemPPOO6+ybceOHTlw4EDat29f2da1a9ds3LgxSbJx\n48Z06dKlSddeeumlHDx48P2fAAAAAJpcs8a88+effz4PPfTQEe/n/bCbPHlyJk+eXLm9d+/eJpwG\nAACAhmjUK7+LFy/O+vXrU1dXl65du+YXv/hFrr322jz44INp1qxZtm7dWtl3/fr16dy5c5Kkc+fO\n2bBhQ5OudejQIc2avf3fBsaPH5/NmzdXflq1avXeTxAAAADHRaPG73XXXZeXXnop69evz/r169Ov\nX7/ceeedue666zJs2LBMnTo1SbJkyZJs2bIlAwYMSJIj1tatW5cnn3wyQ4YMqazdddddOXToUHbu\n3JlZs2alvr6+sjZ9+vTs27cv+/fvz7333pvLLrssSXLppZfm0UcfzdatW1MURaZOnVpZGzRoUJYu\nXZpVq1YlSe64447KGgAAAB9+jfqy5z/k1ltvzYgRI1JXV5cTTzwxM2bMSPPmzZMkN9xwQ0aOHJna\n2tpUV1dnypQpadeuXZJkxIgRWbJkSerq6lJVVZXx48enT58+SZKBAwemvr6+cru+vj6DBw9OknTv\n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\nrkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "objects = ('Phyto', 'Algae', 'Detrit', 'PBact', 'MicZoop', 'BSedim', 'MesZoop', 'BSusp', 'ParBnth', 'ICarniv', 'BICarn', 'BDepos', 'CarnFish', 'PlnkFish')\n", "y_pos = np.arange(nodes)\n", "\n", "plt.figure(num=None, figsize=(14, 8), dpi=80, facecolor='w', edgecolor='k')\n", "plt.bar(y_pos, F, align='center', alpha=0.5)\n", "plt.xticks(y_pos, objects)\n", "plt.ylabel('Production')\n", "plt.xlabel('Trophic compartment')\n", "plt.title('Narragansett Bay Food Web')\n", " \n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 100, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0YAAAHwCAYAAACCKH9ZAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xu8LXVdP/7XW46Kimy8Zd6PimhYCnoUTSCsSDBPqFmK\nllH+POk30+im9uiiWV4yo6/aNzteAlMxTU2PYkiKgoogCAhIopEmloqKWyUkhc/vj5kN62z29bD2\nXmfteT4fj/3Ya82aNfP+rFkza73mMzOrWmsBAAAYsptMugAAAIBJE4wAAIDBE4wAAIDBE4wAAIDB\nE4wAAIDBE4wAAIDBE4wAWFRVPaWqPrBG0z6+qv5sLaY9DlX1gqp60zrNq1XVvusxLwAWJhgBDFxV\nHVxVH6+q2ar6ZlV9rKoekiSttTe31n5m0jXO1weJK6vqu/3ft9Z5/p+tqieO3H9EX9P8Yd+pqk3r\nWRsAu0YwAhiwqto7yXuTvCrJbZPcJckLk1w9ybpW6IGttb36v33Wed6nJTl05P6hSf5tgWFntNZ+\nsJ6FAbBrBCOAYdsvSVprJ7bWrmmtXdVa+0Br7dNJUlXHVNVH50bue0X+T1V9ru8NeVFV3bvvcfp2\nVb2tqm7Wj3tYVV1WVX9QVV+vqi9U1VMWK6SqHlNV51XVt/rpPWBXGlRVT6+qz/e9X++pqjuPPPbj\nVfXJvnfsk1X14yOP3bOqPtK365Qkt19iNvOD0SFJXrbAsNNGpv9rVXVxVV1RVSdX1T3mTfPRVXVp\n/1q9vKp8RgOsIxtdgGG7JMk1VXVCVR1ZVbdZwXMeleTBSR6W5PeTbE/yS0nuluRHkxw9Mu4PpwsY\nd0nyK0m2V9V950+wqg5M8oYkv57kdkn+Lsl7qurmq2lMVf1kkpck+cUkd0ryxSRv7R+7bZL3JXll\nP4+/SvK+qrpd//S3JDmnr/dFfb2LOS3J/avqtn2A2ZLkH5PsMzLsEf14qaqjkvxBkscnuUOS05Oc\nOG+aj+un86AkRyX5tdW0HYAbRzACGLDW2reTHJykJXltksv7XpY7LvG0v2itfbu1dlGSC5N8oLV2\naWttNsn7kxw4b/w/aq1d3Vr7SLpg8osLTHNbkr9rrZ3Z91ydkO5wvoctUcen+t6lb1XVK/thT0ny\nhtbap1prVyd5fpKHV9XmJD+b5HOttX9orf2gtXZiusPftlbV3ZM8ZKTW05LsWGzGrbUvJvnPdL1C\nD+yne1WSj40Mu1mSM/unPCPJS1prF/eH1r04yQHzeo1e1lr7ZmvtP5P8dXYOmACsMcEIYOD6L+vH\ntNbumq7H587pvpgv5qsjt69a4P5eI/evaK1dOXL/i/3057tHkt8ZCTrfStcDtdC4cx7UWtun/3t2\nP+zO/Tzm2vbdJN9I12O102Mj9cw9tlCtS5k7nO7QdD1ASfLRkWFn9eFsrn3/d6Rt30xS/bznfGne\nvJdqOwBjJhgBcJ3W2r8lOT5dQBqH21TVrUbu3z3Jfy0w3peS/PlI0NmntXbLvldnNf4rXQhJkvTz\nvl2SL89/bKSeLyf570VqXcpcMDok1wej00eGnTYy7peS/Pq89t2itfbxkXHuNm/eC71OAKwRwQhg\nwKrqflX1O1V11/7+3dIdwvWJMc7mhVV1s6o6JMljkrx9gXFem+QZVXVQdW5VVT9bVbde5bxOTPKr\nVXVAf37Si5Oc2Vr7QpKTkuxXVU+uqk39pbX3T/Le/tC4s0dqPTjJ1mXmdVq6wwYPTXcIXZJckOSe\nSR6ZnYPRa5I8v6runyRVNVNVvzBver9XVbfpl8Fz0p2zBMA6EYwAhu07SQ5KcmZVXZkuEF2Y5HfG\nNP2vJLkiXe/Hm5M8o++V2klr7ewkT0/y6n78zyc5ZrUza639a5I/SvKOdL1A907ypP6xb6QLZr+T\n7vC630/ymNba1/unPznda/HNJH+S5I3LzOuSJJcn+Upr7Vv9sGuTnJVk7yQfHxn3XemuWvfWqvp2\nutf4yHmTfHe6iz+cl+5crNevtv0A7LpqrU26BgA2oKo6LMmb+nOXAGC3pscIAAAYPMEIAAAYPIfS\nAQAAg6fHCAAAGDzBCAAAGLxNky7gxrj97W/fNm/ePOkyAACA3dQ555zz9dbaHZYbb6qD0ebNm3P2\n2WdPugwAAGA3VVVfXMl4DqUDAAAGTzACAAAGTzACAAAGbyqDUVVtrarts7Ozky4FAADYAKYyGLXW\ndrTWts3MzEy6FAAAYAOYymAEAAAwToIRAAAweIIRAAAweIIRAAAweIIRAAAweFMZjFyuGwAAGKep\nDEYu1w0AAIzTVAYjAACAcRKMAACAwROMAACAwROMAACAwROMAACAwROMAACAwds06QJgrR13yiWT\nLmFFjj18v0mXAAAwWFPZY+QHXgEAgHGaymDkB14BAIBxmspgBAAAME6CEQAAMHiCEQAAMHiCEQAA\nMHiCEQAAMHiCEQAAMHiCEQAAMHiCEQAAMHiCEQAAMHhTGYyqamtVbZ+dnZ10KQAAwAYwlcGotbaj\ntbZtZmZm0qUAAAAbwFQGIwAAgHESjAAAgMETjAAAgMETjAAAgMETjAAAgMETjAAAgMETjAAAgMET\njAAAgMETjAAAgMETjAAAgMETjAAAgMETjAAAgMETjAAAgMGbymBUVVuravvs7OykSwEAADaAqQxG\nrbUdrbVtMzMzky4FAADYADZNugCAjeK4Uy6ZdAnLOvbw/SZdAgDslqayxwgAAGCcBCMAAGDwBCMA\nAGDwBCMAAGDwBCMAAGDwBCMAAGDwBCMAAGDwBCMAAGDwBCMAAGDwBCMAAGDwBCMAAGDwBCMAAGDw\nBCMAAGDwBCMAAGDwBCMAAGDwBCMAAGDwBCMAAGDwpjIYVdXWqto+Ozs76VIAAIANYCqDUWttR2tt\n28zMzKRLAQAANoCpDEYAAADjJBgBAACDJxgBAACDt2nSBQCrc9wpl0y6hGUde/h+ky4BAGBV9BgB\nAACDJxgBAACDJxgBAACDJxgBAACDJxgBAACDJxgBAACDJxgBAACDJxgBAACDJxgBAACDJxgBAACD\nJxgBAACDJxgBAACDJxgBAACDJxgBAACDJxgBAACDJxgBAACDJxgBAACDJxgBAACDJxgBAACDJxgB\nAACDJxgBAACDJxgBAACDJxgBAACDJxgBAACDJxgBAACDt2nSBcypqpskeVGSvZOc3Vo7YcIlAQAA\nA7GmPUZV9Yaq+lpVXThv+BFV9dmq+nxVPa8ffFSSuyb5fpLL1rIuAACAUWt9KN3xSY4YHVBVeyT5\nmyRHJtk/ydFVtX+S+yb5eGvtt5M8c43rAgAAuM6aBqPW2mlJvjlv8EOTfL61dmlr7X+TvDVdb9Fl\nSa7ox7l2LesCAAAYNYmLL9wlyZdG7l/WD3tnkkdV1auSfGSxJ1fVtqo6u6rOvvzyy9e2UgAAYBB2\nm4svtNb+J8nTVjDe9iTbk2TLli1tresCAAA2vkn0GH05yd1G7t+1HwYAADARkwhGn0xyn6q6Z1Xd\nLMmTkrxnAnUAAAAkWfvLdZ+Y5Iwk962qy6rqaa21HyR5VpKTk1yc5G2ttYvWsg4AAIClrOk5Rq21\noxcZflKSk3Z1ulW1NcnWfffdd1cnAQAAcJ1JHEp3o7XWdrTWts3MzEy6FAAAYAOYymAEAAAwToIR\nAAAweIIRAAAweIIRAAAweFMZjKpqa1Vtn52dnXQpAADABjCVwchV6QAAgHGaymAEAAAwToIRAAAw\neIIRAAAweIIRAAAweIIRAAAweFMZjFyuGwAAGKepDEYu1w0AAIzTVAYjAACAcRKMAACAwROMAACA\nwROMAACAwROMAACAwZvKYORy3QAAwDhNZTByuW4AAGCcpjIYAQAAjJNgBAAADJ5gBAAADJ5gBAAA\nDJ5gBAAADJ5gBAAADJ5gBAAADN5UBiM/8AoAAIzTVAYjP/AKAACM01QGIwAAgHESjAAAgMETjAAA\ngMETjAAAgMETjAAAgMETjAAAgMETjAAAgMETjAAAgMETjAAAgMETjAAAgMGbymBUVVuravvs7Oyk\nSwEAADaAqQxGrbUdrbVtMzMzky4FAADYAKYyGAEAAIyTYAQAAAyeYAQAAAyeYAQAAAyeYAQAAAye\nYAQAAAyeYAQAAAyeYAQAAAyeYAQAAAyeYAQAAAzepkkXsJEcd8olky5hWccevt+kSwAAgN2OHiMA\nAGDwpjIYVdXWqto+Ozs76VIAAIANYCqDUWttR2tt28zMzKRLAQAANoCpDEYAAADjJBgBAACDJxgB\nAACDJxgBAACDJxgBAACDJxgBAACDJxgBAACDJxgBAACDJxgBAACDJxgBAACDJxgBAACDJxgBAACD\nJxgBAACDJxgBAACDJxgBAACDJxgBAACDJxgBAACDJxgBAACDN5XBqKq2VtX22dnZSZcCAABsAFMZ\njFprO1pr22ZmZiZdCgAAsAFMZTACAAAYJ8EIAAAYPMEIAAAYvE2TLgAYruNOuWTSJazIsYfvN+kS\nAIA1JhgBcAPTEFoFVgDGyaF0AADA4AlGAADA4AlGAADA4AlGAADA4K3o4gtVdYckT0+yefQ5rbVf\nW5uyAAAA1s9Kr0r37iSnJ/nXJNesXTkAAADrb6XB6JatteeuaSUAAAATstJzjN5bVY9e00oAAAAm\nZKXB6DnpwtH3quo7/d+317IwAACA9bKiQ+laa7de60IAAAAmZaXnGKWqfi7Jof3dD7fW3rs2JQEA\nAKyvFR1KV1UvTXc43Wf6v+dU1UvWsjAAAID1stIeo0cnOaC1dm2SVNUJSc5N8vy1KgwAAGC9rPTi\nC0myz8jtmXEXAgAAMCkr7TF6SZJzq+rUJJXuXKPnrVlVAAAA62ilV6U7sao+nOQh/aDntta+smZV\nAQAArKMlD6Wrqvv1/x+U5E5JLuv/7twPAwAAmHrL9Rj9dpJtSV6xwGMtyU+OvSIAAIB1tmQwaq1t\n628e2Vr73uhjVbXnmlUFAACwjlZ6VbqPr3AYAADA1Fmyx6iqfjjJXZLcoqoOTHdFuiTZO8kt17g2\nAACAdbHcOUaPSnJMkrumO89oLhh9O8kfrF1ZAAAA62e5c4xOSHJCVf18a+0d61QTAAATdtwpl0y6\nhGUde/h+ky6BDWSl5xg9uKr2mbtTVbepqj9bo5oAAADW1UqD0ZGttW/N3WmtXZHk0eMspKoOq6rT\nq+o1VXXYOKcNAACwlJUGoz2q6uZzd6rqFkluvsT4c+O9oaq+VlUXzht+RFV9tqo+X1XP6we3JN9N\nsme6H5EFAABYFysNRm9O8sGqelpVPS3JKUlOWMHzjk9yxOiAqtojyd8kOTLJ/kmOrqr9k5zeWjsy\nyXOTvHCFdQEAANxoy12VLknSWntZVX06yU/1g17UWjt5Bc87rao2zxv80CSfb61dmiRV9dYkR7XW\nPtM/fkVW0BsFAAAwLisKRknSWnt/kvePYZ53SfKlkfuXJTmoqh6f7vLg+yR59WJPrqptSbYlyd3v\nfvcxlAMAAAzdioJRVX0n3TlASXKzJDdNcmVrbe9xFdJae2eSd65gvO1JtifJli1b2jKjAwAALGul\nh9Ldeu52VVWSo5I8bBfn+eUkdxu5f9d+GAAAwESs+FC6Oa21luSfq+pPkjxvufEX8Mkk96mqe6YL\nRE9K8uRdmA5ryI+6AQAwJCs9lO7xI3dvkmRLku+t4HknJjksye2r6rIkf9Jae31VPSvJyUn2SPKG\n1tpFqy0cAABgXFbaY7R15PYPknwh3eF0S2qtHb3I8JOSnLTCed9AVW1NsnXffffd1UkAAABcZ6Xn\nGP3qWheyGq21HUl2bNmy5emTrgUAAJh+SwajqnpVrr8a3Q201p499ooAAADW2U2WefzsJOck2TPJ\ng5J8rv87IN1luwEAAKbekj1GrbUTkqSqnpnk4NbaD/r7r0ly+tqXBwAAsPaW6zGac5skoz/mulc/\nDAAAYOqt9Kp0L01yblWdmqSSHJrkBWtV1HJclQ4AABinFfUYtdb+PslBSd6V5B1JHj53mN0ktNZ2\ntNa2zczMTKoEAABgA1lpj1GSPDTJIf3tlmTH+MsBAABYfyvqMaqqlyZ5TpLP9H/PrqoXr2VhAAAA\n62WlPUaPTnJAa+3aJKmqE5Kcm+QP1qowAACA9bLSq9IlyT4jt53cAwAAbBgr7TF6SW54VbrnrVlV\nAAAA62jZYFRVleSjSR6W5CH94Oe21r6yloUtU5PLdQMAAGOz7KF0rbWW5KTW2n+31t7T/00sFPU1\nuVw3AAAwNis9x+hTVfWQ5UcDAACYPis9x+igJL9UVV9IcmW684xaa+0Ba1UYAADAellpMHrUmlYB\nAAAwQUsGo6raM8kzkuyb5IIkr2+t/WA9CgMAAFgvy51jdEKSLelC0ZFJXrHmFQEAAKyz5Q6l27+1\n9mNJUlWvT3LW2pe0PJfrBgAAxmm5HqPvz93YnQ6hc7luAABgnJbrMXpgVX27v11JbtHfn7sq3d5r\nWh0AAMA6WDIYtdb2WK9CAAAAJmWlP/AKAACwYQlGAADA4AlGAADA4AlGAADA4AlGAADA4E1lMKqq\nrVW1fXZ2dtKlAAAAG8BUBiM/8AoAAIzTVAYjAACAcRKMAACAwROMAACAwROMAACAwROMAACAwROM\nAACAwROMAACAwROMAACAwROMAACAwROMAACAwZvKYFRVW6tq++zs7KRLAQAANoCpDEattR2ttW0z\nMzOTLgUAANgApjIYAQAAjJNgBAAADJ5gBAAADJ5gBAAADJ5gBAAADJ5gBAAADJ5gBAAADJ5gBAAA\nDJ5gBAAADJ5gBAAADJ5gBAAADJ5gBAAADN5UBqOq2lpV22dnZyddCgAAsAFMZTBqre1orW2bmZmZ\ndCkAAMAGMJXBCAAAYJwEIwAAYPAEIwAAYPAEIwAAYPAEIwAAYPAEIwAAYPAEIwAAYPAEIwAAYPAE\nIwAAYPAEIwAAYPAEIwAAYPAEIwAAYPAEIwAAYPAEIwAAYPAEIwAAYPAEIwAAYPAEIwAAYPAEIwAA\nYPCmMhhV1daq2j47OzvpUgAAgA1gKoNRa21Ha23bzMzMpEsBAAA2gKkMRgAAAOMkGAEAAIMnGAEA\nAIMnGAEAAIO3adIFAAArd9wpl0y6hGUde/h+ky4BYNX0GAEAAIMnGAEAAIMnGAEAAIMnGAEAAIMn\nGAEAAIMnGAEAAIMnGAEAAIMnGAEAAIMnGAEAAIMnGAEAAIMnGAEAAIMnGAEAAIMnGAEAAIMnGAEA\nAIMnGAEAAIMnGAEAAIMnGAEAAIMnGAEAAIMnGAEAAIMnGAEAAIO3adIFAADDddwpl0y6hGUde/h+\nky4BWAd6jAAAgMETjAAAgMETjAAAgMHbrYJRVd2qqs6uqsdMuhYAAGA41jQYVdUbquprVXXhvOFH\nVNVnq+rzVfW8kYeem+Rta1kTAADAfGvdY3R8kiNGB1TVHkn+JsmRSfZPcnRV7V9Vhyf5TJKvrXFN\nAAAAO1nTy3W31k6rqs3zBj80yedba5cmSVW9NclRSfZKcqt0YemqqjqptXbtWtYHAACQTOZ3jO6S\n5Esj9y9LclBr7VlJUlXHJPn6YqGoqrYl2ZYkd7/73de2UgAAYBB2ux94ba0dv8zj25NsT5ItW7a0\n9agJgOnmR0QBWM4krkr35SR3G7l/134YAADAREwiGH0yyX2q6p5VdbMkT0ryngnUAQAAkGTtL9d9\nYpIzkty3qi6rqqe11n6Q5FlJTk5ycZK3tdYuWss6AAAAlrLWV6U7epHhJyU5aVenW1Vbk2zdd999\nd3USAAAA15nEoXQ3WmttR2tt28zMzKRLAQAANoCpDEYAAADjJBgBAACDJxgBAACDJxgBAACDN5XB\nqKq2VtX22dnZSZcCAABsAFMZjFyVDgAAGKepDEYAAADjJBgBAACDJxgBAACDJxgBAACDJxgBAACD\nN5XByOW6AQCAcZrKYORy3QAAwDhNZTACAAAYJ8EIAAAYPMEIAAAYPMEIAAAYPMEIAAAYvKkMRi7X\nDQAAjNNUBiOX6wYAAMZpKoMRAADAOAlGAADA4AlGAADA4AlGAADA4AlGAADA4AlGAADA4AlGAADA\n4E1lMPIDrwAAwDhNZTDyA68AAMA4TWUwAgAAGCfBCAAAGDzBCAAAGDzBCAAAGDzBCAAAGDzBCAAA\nGDzBCAAAGDzBCAAAGDzBCAAAGDzBCAAAGLypDEZVtbWqts/Ozk66FAAAYAOYymDUWtvRWts2MzMz\n6VIAAIANYCqDEQAAwDgJRgAAwOAJRgAAwOAJRgAAwOAJRgAAwOAJRgAAwOAJRgAAwOAJRgAAwOAJ\nRgAAwOAJRgAAwOAJRgAAwOAJRgAAwOBNZTCqqq1VtX12dnbSpQAAABvApkkXsCtaazuS7NiyZcvT\nJ10LAACsp+NOuWTSJSzr2MP3m3QJqzaVPUYAAADjNJU9RgAAsFJ6WFgJPUYAAMDgCUYAAMDgCUYA\nAMDgCUYAAMDgCUYAAMDgCUYAAMDgCUYAAMDgCUYAAMDgCUYAAMDgCUYAAMDgCUYAAMDgCUYAAMDg\n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\n8nf97R/t23jdXsn+/9zeygckuWk/nTv0jz0xyRvWe9nMG/atdHvwtiX5w37YzZOcneSembd3JF2v\n0GUj7RsOZjxYAAAPhElEQVR9PY7JOvcYjb7P+vvXpNuL929JZpM8eGS8vfvbt0/y+XR7x+6f5JKR\n99pcu47P2vQYPSDd3vk9+zqve31HX790PZW/NfIemhmZzk375fPEkWE/n+SUftw79uvLnZYYfliS\n76Xb67lHP86q27vE633XdOvweUlekeTAkdf+tCS36u8/N12A2DPJl5Lcp18ub1vkdTk+yVv7cY5K\n8u0kP5bucOlz0m9LxrhMXpzrt1X79O+VWyV5VZKn9MNvlr7HaXdbPjdmWc3fZqTbq398f/uCJHeZ\ne11GltN/J7ldkluk+5I1lh6WLL6+z62vc/O7XX+/JfnFked/OMlnk3w6yVVJfn3ksZa+pybJX+T6\n7eDxuWGP0Sv6249O8q9jbNdfJXnOIuPcMsme/e37JDm7v31YuoB3z/7+5iz+OXt8v/w29e+xufXv\nb+fGGdNyWuw9tjnXf068M8lRizx/7/Q9Qkl+Osk7Rt5bo587h/XTv2u6df+MJAevVxtGxt0nyVX9\n7cW2FcdkgfUi3feJC/px9kpyUZID020TXjsyj5lV1v/sJMctMHyxz8DNSa5N8rAVrBMvSPLl/vU5\nL8mjRtaNuTadMvr6jGvdyeLbgLnhi74n0m3fNqc7SuapCyzr85K8a2Q6c9v/HUke0d/eq5/3mr33\n1vtPj9H6uUVVnZfui8F/Jnl9P/w/Wmvn9bfPSfcmTZLXJfnVqtojXVB4ywLTfEiSD7fWLm+t/SBd\nN+qha1T/qKPTfQlL///oeY8fPPd4a+3CdB+6c36xuj3f56b78r1/kvumC1Cn9K/RH6ZbuXYHP5Pk\nqX1dZ6bbiN9nkXFPaa19c90qW9hi77OrWmsHtNbul+SIJG/s9+ZUkhdX1afTbRzvku6L6E8meXtr\n7etJstbtaq19Ot17/+h0PRWL+cl0X1rSWrumtTY78tiLklzUWvvHkWEHJzmxH/er6Q7hesgSw5Pk\nrNbapa21a9L1khy8C01a8PVurV2W7v3+/HQfuh+sqp9K8rB068LH+uX3K0nukeR+6bYRn2vdp9Cb\nFppZb0c/zgVJvtpau6B1vR0X5frtyoots0x+Jsnz+lo/nC483T3dh+EfVNVzk9yjtXbVyHN2p+Uz\narXLaikfS3J8v+d1j5Hhp7TWvtG/Hu8cQ81zFlvfn11dr9Anktwt12+zrknyjnnTeEpr7QHplt/v\nVtU9+uH/m2Su12T0s2kh71zheON00ySvraoLkrw93foz56zW2n+M3F/sczZJ0n9+/kuSrVW1KV1P\n6bvHWOti29+Vmkny9urORzou3WfnnPmfO2e1rnfz2nRfbDffyNrnrKYNo8MX21bM1T5/vTg43Zfx\nK1tr3+2HH5Juu3Z4Vb2sqg6Zt+2/MRb7DEySL7bWPjEy7lLrxHH963NAa+3kefO4NMm9qupVVXVE\nuh1Xc27surPYNmDUUu+Jdyf5+9baG0eGXTXSlsctML2PJfmr6o5i2qdff5abz9TYNOkCBuSq1toB\nowP6bcrVI4OuSbfnJOk+vP4kXS/QOa21b6xHkcupqtum+3L6Y1XV0n34tyR/s4Ln3jNdb9JDWmtX\nVHf4yZ7pNkwXtdbmH9oxEVV1r3TL4mvpavvN+Ru6qjpsgadeufbVLesG77P5WmtnVHfC5R3S7aW6\nQ7q9f9+vqi+kWyaT8J4kf5luz9PtVvPEfnn8fJIHjaGOtsz91U1s59f7a621q5O8P8n7q+qrSR6b\n5APpviTstJOhqpZclvPMbUuuzc7blWuz69v6xZZJJfn51tpn541/cVWdme6L5UlV9euttQ/tzstn\npwmtbFl9cN489xx5/jOq6qB07T+nqh68xjUv9LlyWLpehYe31v6nqj48UuP3+kB5A621y/udVgel\nO9fl+33QTrrt4VLvoatXON5qXZTkJxZ57NgkX013nshN0vUkzpm/LV7sc3bUW5M8K8k30/U+fWdX\nCl7OvPfYqIvS9SwsFMhelOTU1trjqmpzuoAxZ7m2jv173hJtmHNgkov72wtuK/r1ZMXrRWvtkqp6\nULrPrD+rqg+21v50FWVflK53cL6nZPHPwPmv7WrWidHar6iqB6Y7N+sZSX4xya/1D9/YdWfZz/ws\n/Z74WJIjquotI21bUmvtpVX1vnTL4mNV9agVzGdq6DHaTbXWvpfk5HR7x/9+5KHvJJk7nvOsJD9R\nVbfve5aOTrdndS09Ick/tNbu0Vrb3Fq7W5L/SLdXcs7H0q34qe6KLD/WD9873YZmtj82d+6qVJ9N\ncoeqenj/nJtW1egesXVTVXdI8pp0hyi1dMvgmVV10/7x/arqVtl5OSxnNeOuuequJLhHkm+k2xP5\ntf4D4ZHpeimSLpD/QlXdrn/Obfvha9mWN6S76MUFS4zzwXSHoaY/bnumqm6Tbh156gJfZk5Pd37X\nHv2yPTTderPY8CR5aFXds7pzV56Y5KM3plGjr3dVPaiq7twPv0m6w9W+mG7P/iOqau4ckVtVdz7O\nvyXZXNefyzG/d3atLbZMTk7ym3N7jKvqwP7/vZJc2lp7ZboveA/Y3ZfPqBUuqyT5alX9SD/8cSPP\nv3dr7czW2h8nuTzXbxcPr6rbVnduy2PTbSPXykySK/pQdL90vZHLqu5qVgcm+fdlRl3P7dlbkvx4\nVc2d65aqOrSqfjRdO+fOAfvl7NxDtys+ki64Pz3XHxExdvO2v6NeneRX+sAwN+7j+8/KmXSHaiXd\nIWgTtUQb0ge3v0x3WG2yyLait9B6cXqSx1Z3rvKt0q1fp/fr4v+01t6U5OVZ/U6WDyW5ee18zt0D\n0n3mLfQZODZ9iLxJa+0d6Y6IGccOonH543Tniy27c3tOv527oLX2siSfTHdkw4YxlWluQN6cbqPw\ngZFh25P8S1X9V2vtkdVdrvfUdHtl3tdaG2f3/0KOTjL/Ig/vSHe4yZz/l+SEqvpMui92FyWZba19\nrqrO7Yd9Kf2Xg9ba/1bVE5K8sqpm0r0v/7p/3nqY64q+abpj0f8h3bHtSXdI4+Ykn+o37Jen24B/\nOsk11R2ucnwWORG1d2quP5TgJfMOJVovc21MuvfKr7TWrqmqNyfZUd3hKGenWzZprV1UVX+e5CNV\ndU26Qx+PSfeF4bXVdaE/obW23JeoFesPXVr0cqC95yTZXlVPS7dH6pnpejN+KMnf1s5Hdrwk3fkE\nD09yfrq9kb/fWvtKVb1rkeH3S7ehf3W6k1hPTfKuXWjOYq/3D6V7/W7eP3ZWuhD+veoucXviyGN/\n2O8l3ZbkfVX1P+m+NKxbyF5imbwo3Tr66T4c/EeSx6TbIfLLVfX9JF9Jd37BM7L7LZ9Rq1pW/e3n\npTuk5vJ0681e/fCXV3fBiUoX4s9PckD/3HekO0T4Ta21s29kzUv5lyTPqKqL0+10+sQy47+5qq5K\ndw7l8a21c5YZf6dtwI2udgmttauq6jFJ/rqq/jrJ99Nte5+T7nPmHVX11HRtvlE99v0yf2+67dyv\n3KjCb2ix99jo/L9aVU9K8pf9e+/adOcd/ku681lOqKo/TPK+Mde2Uku14d79Z/ue6YLzK1trx/fj\nLratSBZZL6o7mmRuR8jrWmvnVtcr8fKqujbd++CZqym+tdaq6nHp3kvPTdfD+IV05we9cv5n4Jjd\nJcnf1/UXinn+UiNPwHOSvKGq/qK19vsrGP+3+hA5d6j2+3PDi7lMrVphzxkTUFW/m+4Ewz+adC2r\nUV3v1U37L3v3Tnfc7n1ba/874dJgSdUdhvS7rbXHLDcu628al08feLe01p416Vpgd2G9YHelx2g3\n1e8xvXe683mmzS3TXVL8pun2LP0foQgAgN2ZHiMAAGDwXHwBAAAYPMEIAAAYPMEIAAAYPMEIYKCq\n6nZVdV7/95Wq+vLI/ZvdyGl/tBb4gdqqOqiqjrsx0560qrpXf2nlDTEfADquSgcwUK21b6T7nZ1U\n1QuSfLe19pej4/S/31X9D2mOY55nJjlzHNOahKralOReSZ6UNfwh0N56zQeA6DECYJ6q2reqPtP/\nAPBFSe5UVb9UVRdU1YVV9eJ+vE1V9a2qemVVXVRVp1TV7UYm9aSqOquqPltVP94/56er6p/727eu\nqhOq6tP932MXqOWgqjqjqs6vqjOr6pZVdYv+eRdU1aeq6tB+3P+vqt5ZVf9aVV+sqmdW1e9V1blV\n9fGq2qcf76NV9dd9z9gFVbWlH/6wfl7nVtXH+h9rnZvuP1fVqUlOTvLSJI/sn//sVcz3PlV1clWd\nU1WnVdV+/fA3VdX/7ce9tP8hysyfz3iXMgDzCUYALOR+SY5rre2f7vfI/izJI5McmOQRVTX3I6sz\nST7WWrt/kjOSjP4gdbXWHprk95L88QLzeEGSy1trD0jywCQfGX2wqvZM11vyG621Byb5mSRXJ3l2\nkqtbaz+W5JeT/MPIoX/3T3JUkocmeVmSK1prByY5J8kvjUz+5q21A9L96vvr+mEXJzmkH/9FfZvn\nHJjk8a21n0ryvCSnttYOaK29chXz3Z7ud90enOT5SV49Mv0fSvKIJI9N8pJ+2ELzAWCNOJQOgIX8\ne2vt7P72QUk+1Fr7epJU1VuSHJrkX5L8IMnb+/HelOQtI9N4Z///nCSbF5jHT6cLAmndj+pdMe/x\nH0nyn621T/XjzPbzPzjJy/thF1XVfyXZt3/Oh1prVya5sqq+m2RHP/yCJPuNTPvE/vkfqqofqqq9\nkuyT5I1Vde8Fav1Aa21+faOWnG/fa/SwJO/ojk5MsvNn8D/3r8Gnq+ouS8wHgDUiGAGwkCt38Xmj\nvxp+df//mqzf583VI7evHbl/7bwa5v+6eUvy50lObq39v6raN13wm7Pc67HcfCvJ1/tequWeX4uM\nA8AacigdAMs5M925LrfrLz7wpFx/2NumJI/vbz85yUdXMd1TkvxG0l3koapuM+/xzyS5e1U9qB9n\n76raI8npSZ7SD/uRJHdK8vlVtumJ/fMPS/LVvrdnJsmX+8ePWeK530ly69XMrO9t+u+584eq6iZV\n9cBlnrbq+QCw6wQjAJbUWrss3blDH05yXpJPtNbe1z88m+SQqrooycHZ+byc5bwwyR2r6sJ+uofM\nm+/VSY5O8rdVdX6SDyS5eZJXJblFVV2Q5M1Jntpa+99VNuv7VXVeP62n98NeluTlVfWpLN1rc26S\nPfoLQqzmoghPSvKMvi0XJXnMMuPv6nwA2AXVHdIMAKvT9x59vbW2z6RrWY2q+miSZ7XWzpt0LQDs\nPvQYAQAAg6fHCAAAGDw9RgAAwOAJRgAAwOAJRgAAwOAJRgAAwOAJRgAAwOAJRgAAwOD9/yoj7+67\nnIN2AAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "objects = ('Phyto', 'Algae', 'Detrit', 'PBact', 'MicZoop', 'BSedim', 'MesZoop', 'BSusp', 'ParBnth', 'ICarniv', 'BICarn', 'BDepos', 'CarnFish', 'PlnkFish')\n", "\n", "fig, ax = plt.subplots(figsize=(14, 8))\n", "y_pos = np.arange(nodes)\n", "\n", "ax.bar(y_pos, F, align='center', alpha=0.5)\n", "\n", "ax.set_xticks(y_pos)\n", "ax.set_xticklabels(objects)\n", "ax.set_yscale('log')\n", "ax.set_ylabel('Production')\n", "ax.set_xlabel('Trophic compartment')\n", "ax.set_title('Simple Food Web')\n", "plt.show() #logrithmic scale" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.0" } }, "nbformat": 4, "nbformat_minor": 2 }