Skip to content

Instantly share code, notes, and snippets.

@arnaldorusso
Last active January 28, 2016 12:52
Show Gist options
  • Save arnaldorusso/5836119 to your computer and use it in GitHub Desktop.
Save arnaldorusso/5836119 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "seal_datasounds"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Sonification of Elephant Seal dataset and Chlrophyll-a from SeaWiFS satellite\n",
"\n",
"[Arnaldo Russo](https://github.com/DataSounds)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Introduction\n",
"\n",
"Sonification is a scientific field of study, where the transformation of data relations into perceived relations in an acoustic signal for the purposes of facilitating communication or interpretation (Kramer et al., 1999). This sonification approch could be used with many datasets as [we](http://datasounds.org/category/team.html) have demonstrating the usage of chlorophyll-a time series from MODIS satellite [DataSounds.org](http://ocean.datasounds.org). \n",
"At this moment we have used the Chlorophyll as a predictor of the movements of marine seals searching for better food areas. \n",
"Southern Elephant Seals are one of the top predators, that feed mainly on small fishes and cephalopods (McConnel et al, 1992). \n",
"At Southern Oceans the food webs consists of fewer steps in the energy transfer, where phytoplankton plays a big role. Diatoms domain phytoplankton composition at these areas, and due for their size are mainly grazed by the larger zooplankton (most of the time by Krill *Euphausia superba*) and follows the energy transfer to larger organisms (Boyd, 2002). \n",
"The Southern Oceans is one of the largest areas of High Nutrient Low Chlorophyll-a (HNLC), where phytoplankton are limited by the micronutrient iron (Martin, 1990). Marine Seals marked on Southern Elephant Seals as Oceanographic Samplers project are located mainly at Antarctic Polar Front, where higher flux of deeper waters to the surface can fertilize the waters and permits phytoplankton growth (Moore & Abbot, 2002). \n",
"Primary production at these areas are higher at austral summer, in which diatom blooms can occur and when marine mammals are on their better situation for dietary supply. \n",
"In this situation we expect that Seals swiming and the position changing is governed by their food search, where ocean color data could be a proxy for understanding hotspots of feeding areas. \n",
"\n",
" \n",
" \n",
"#### References\n",
"Boyd, I. L., 2002. Estimating Food Consumption of Marine Predators: Antarctic Fur Seals and Macaroni Penguins. Journal of Applied Ecology. 39(1):103-119. \n",
"Kramer, G., Walker, B. N., Bonebright, T., Cook, P., Flowers, J., Miner, N., et al. 1999. The Sonification\n",
"Report: Status of the Field and Research Agenda. Report prepared for the National Science Foundation by\n",
"members of the International Community for Auditory Display. Santa Fe, NM: International Community for\n",
"Auditory Display (ICAD). \n",
"Martin, J.H., 1990. Glacial-interglacial CO2: the iron hypothesis. Paleoceanography 5(1):13. \n",
"McConnel, B. J., Chambers, C., Fedak, M. A., 1992. Foraging Ecology of Southern Elephant seals in relation to the bathymetry and productivity of the Southern Ocean. Antarctic Science, 4(4):393-398. \n",
"Moore, J. K., Abbott, M. R., 2002. Surface chlorophyll concentrations in relation to the Antarctic Polar\n",
"Front: seasonal and spatial patterns from satellite observations. Journal of Marine Systems 37:69\u201386.\n",
"\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Dataset preparation\n",
"\n",
"In this preset we have take out 13 samples from seals, while tracked salinity and temperature during profiles and a prepared dataset from sea surface chlorophyll-a in the same period. We want to see if the migration position of seals are in accordance with food chain supported by primary production. \n",
"Despite chlorophyll-a data are monthly means, their function correlation with priamry production could represent a significant biomas convertion in the sea food web and available for top predators during this period.\n",
"\n",
"\n",
"\n",
"* Southern Elephant Seals as Oceanographic Samplers [SEaOS](http://biology.st-andrews.ac.uk/seaos/).\n",
" \n",
" ![Transmission dongle](http://www.meop.net/_Media/fig1-2_med-3.png) \n",
" This project have permited observations of how seals interact with their environment, specially registering physical data of at Southern Ocean. \n",
" Data presented as records of position (lat/lon) and collected variables (Roquete et al., 2014).\n",
" \n",
"* MyOcean: Ocean Colour Sea Surface Chlorophyll-A concentration SeaWiFS Level-3 Standard Mapped Image \n",
"![](http://oceancolor.gsfc.nasa.gov/SeaWiFS/ICONS/table_images_icon.gif) \n",
" ![OceanColor](http://oceancolor.gsfc.nasa.gov/SeaWiFS/ICONS/rainbow_line.gif) \n",
"This dataset contains as other Optical properties of sea surface the chlorophyll-a concentration in mg.m<sup>-3</sup>. Chlorophyll-a concentration are acquired from algorithm applications of special wavelenghts and other optical data. \n",
" They are available as monthly means for the same period as the SEaOS project in 1 Km resolution. \n",
"\n",
"In these analysis we have prepared information of seal tracklogs, and for each pair of lat/lon at respective date and time, a chlorophyll-a concentration value was taken from satellite data. \n",
"A pattern comparison was calculated with an hypothetical situation, of Seals standing on the same initial position all the time. This pattern was constructed as a time series of the first point of tracklog."
]
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"Python code"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from pylab import *\n",
"import numpy as np\n",
"import itertools\n",
"from dateutil import parser\n",
"from scipy.stats import mannwhitneyu\n",
"from netCDF4 import Dataset\n",
"from os import walk\n",
"\n",
"\n",
"def find_nearest(array,value):\n",
" idx = (np.abs(array-value)).argmin()\n",
" return array[idx], idx\n",
"\n",
"svals = []\n",
"sparams = []\n",
"stats = []\n",
"ndirs = np.sort([x[0] for x in walk('.')])\n",
"for j,i in enumerate(ndirs):\n",
" if 'seal' in i:\n",
" data = np.genfromtxt('%s/data.csv' %(i),delimiter=',',dtype=None, names=True, usemask=True)\n",
" \n",
" #seal\n",
" lat = data['latitude_degrees_north']\n",
" lon = data['longitude_degrees_east']\n",
" lon = data['longitude_degrees_east']\n",
" time = data['date_time']\n",
" \n",
" #Chlorophyll\n",
" f = Dataset('MYO.OC.SeaWiFS.CHLA.nc','r')\n",
" chla = f.variables['mass.concentration_of.chlorophyll.in_sea_water']\n",
" clat = f.variables['lat'][:]\n",
" clon = f.variables['lon'][:]\n",
" \n",
" lons = []\n",
" p_lon = []\n",
" p_lon_ix = []\n",
" lats = []\n",
" p_lat = []\n",
" p_lat_ix = []\n",
" tt = []\n",
" for pos, (ln, lt) in enumerate(zip(lon, lat)):\n",
" if ln not in lons and lt not in lats:\n",
" lons.append(ln)\n",
" val,x = find_nearest(clon,ln)\n",
" p_lon.append(val)\n",
" p_lon_ix.append(x)\n",
" \n",
" lats.append(lt)\n",
" val,x = find_nearest(clat,lt)\n",
" p_lat.append(val)\n",
" p_lat_ix.append(x)\n",
" \n",
" tt.append(time[pos])\n",
" \n",
" cvals = []\n",
" sealmonth = []\n",
" for k,n in enumerate(p_lat_ix):\n",
" seal_month = parser.parse(tt[k]).month\n",
" sealmonth.append(seal_month)\n",
" # 0-Nov-2003 | 1-Dez-2003 | 2-jan-2004 | 3-fev\n",
" chla_month = seal_month + 1\n",
" cvals.append(chla[chla_month,0,p_lat_ix[k],p_lon_ix[k]])\n",
" \n",
" svals.append(cvals)\n",
" \n",
" # Chl-a series for the first seal lat/lon\n",
" # Stationary time series\n",
" cparam = []\n",
" plon = lon[0]\n",
" plat = lat[0]\n",
" x,ix = find_nearest(clon, plon)\n",
" y,iy = find_nearest(clat, plat)\n",
" \n",
" for lv in sealmonth:\n",
" cparam.append(chla[lv, 0, iy, ix])\n",
"\n",
" sparams.append(cparam)\n",
" \n",
" stat = mannwhitneyu(np.array(cvals), np.array(cparam))\n",
" stats.append(stat)\n",
" print('Mann-Whitney significance of %s = %s' % (i, stat[1]))\n"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Mann-Whitney significance of ./seal_1 = 9.65042655039e-48\n",
"Mann-Whitney significance of ./seal_10 = 0.226939416097"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Mann-Whitney significance of ./seal_11 = 0.0729985785485"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Mann-Whitney significance of ./seal_12 = 0.0489163984591"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Mann-Whitney significance of ./seal_13 = 5.47066738746e-127"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Mann-Whitney significance of ./seal_2 = 3.4467992589e-55"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Mann-Whitney significance of ./seal_3 = 7.24860387267e-40"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Mann-Whitney significance of ./seal_4 = 1.79882672989e-74"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Mann-Whitney significance of ./seal_5 = 4.89001789377e-37"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Mann-Whitney significance of ./seal_6 = 1.02674660539e-56"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Mann-Whitney significance of ./seal_7 = 4.79950840376e-05"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Mann-Whitney significance of ./seal_8 = 0.166052877059"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Mann-Whitney significance of ./seal_9 = 6.35761162119e-05"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n"
]
}
],
"prompt_number": 1
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Results \n",
"The output of Mann-Whitney statistical test shows *p-value* of Chlorophyll-a concentration in seals tracks against stationary chlorophyll-a time series . In 11 of 13 seal tracklogs the differences were signifficant. Only 2 of them contain at most time lower Chlorophyll-a or values equals of them calculated for stationary time series."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Table 1 - OPeNDAP link, number o seal processed and p-value for Mann-Whitney test\n",
"<table border=\"1\" style=\"background-color:yellow;border:1px dotted black;width:80%;border-collapse:collapse;\">\n",
"<tr style=\"background-color:orange;color:white;\">\n",
"<th style=\"padding:3px;\">OPeNDAP link</th><th style=\"padding:3px;\">Number of File</th><th style=\"padding:3px;\">Mann-Whitney p-value</th>\n",
"</tr>\n",
"<tr>\n",
"<td style=\"padding:3px;\">http://dap.marinexplore.org/dap/u/ad17ea5395ba/e83936ba-bcc4-11e2-a8c1-22000a1c6aad</td><td style=\"padding:3px;\">1</td><td style=\"padding:3px;\">9.65042655039e-48</td>\n",
"</tr>\n",
"<tr>\n",
"<td style=\"padding:3px;\">http://dap.marinexplore.org/dap/u/ad17ea5395ba/f66b4c60-d9c4-11e2-8e46-22000a1d2d96</td><td style=\"padding:3px;\">10</td><td style=\"padding:3px;\">0.226939416097</td>\n",
"</tr>\n",
"<tr>\n",
"<td style=\"padding:3px;\">http://dap.marinexplore.org/dap/u/ad17ea5395ba/ffb8ff56-d9c4-11e2-a004-22000a1d2d96</td><td style=\"padding:3px;\">11</td><td style=\"padding:3px;\">0.0729985785485</td>\n",
"</tr>\n",
"<tr>\n",
"<td style=\"padding:3px;\">http://dap.marinexplore.org/dap/u/ad17ea5395ba/0feefbd2-d9c5-11e2-8602-22000a1d2d96</td><td style=\"padding:3px;\">12</td><td style=\"padding:3px;\">0.0489163984591</td>\n",
"</tr>\n",
"<tr>\n",
"<td style=\"padding:3px;\">http://dap.marinexplore.org/dap/u/ad17ea5395ba/c2f4f6c4-d9ce-11e2-94f9-22000a1d2d96</td><td style=\"padding:3px;\">13</td><td style=\"padding:3px;\">5.47066738746e-127</td>\n",
"</tr>\n",
"<tr>\n",
"<td style=\"padding:3px;\">http://dap.marinexplore.org/dap/u/ad17ea5395ba/a688d660-d918-11e2-8e46-22000a1d2d96</td><td style=\"padding:3px;\">2</td><td style=\"padding:3px;\">3.4467992589e-5</td>\n",
"</tr>\n",
"<tr>\n",
"<td style=\"padding:3px;\">http://dap.marinexplore.org/dap/u/ad17ea5395ba/ae264be6-d918-11e2-94f9-22000a1d2d96</td><td style=\"padding:3px;\">3</td><td style=\"padding:3px;\">7.24860387267e-40</td>\n",
"</tr>\n",
"<tr>\n",
"<td style=\"padding:3px;\">http://dap.marinexplore.org/dap/u/ad17ea5395ba/d794c84e-d919-11e2-94f9-22000a1d2d96</td><td style=\"padding:3px;\">4</td><td style=\"padding:3px;\">1.79882672989e-74</td>\n",
"</tr>\n",
"<tr>\n",
"<td style=\"padding:3px;\">http://dap.marinexplore.org/dap/u/ad17ea5395ba/ea1abffe-d91a-11e2-94f9-22000a1d2d96</td><td style=\"padding:3px;\">5</td><td style=\"padding:3px;\">4.89001789377e-37</td>\n",
"</tr>\n",
"<tr>\n",
"<td style=\"padding:3px;\">http://dap.marinexplore.org/dap/u/ad17ea5395ba/eea564fc-d91a-11e2-94f9-22000a1d2d96</td><td style=\"padding:3px;\">6</td><td style=\"padding:3px;\">1.02674660539e-56</td>\n",
"</tr>\n",
"<tr>\n",
"<td style=\"padding:3px;\">http://dap.marinexplore.org/dap/u/ad17ea5395ba/d82b7f18-d9c4-11e2-8602-22000a1d2d96</td><td style=\"padding:3px;\">7</td><td style=\"padding:3px;\">4.79950840376e-05</td>\n",
"</tr>\n",
"<tr>\n",
"<td style=\"padding:3px;\">http://dap.marinexplore.org/dap/u/ad17ea5395ba/dfc06df6-d9c4-11e2-8602-22000a1d2d96</td><td style=\"padding:3px;\">8</td><td style=\"padding:3px;\">0.166052877059</td>\n",
"</tr>\n",
"<tr>\n",
"<td style=\"padding:3px;\">http://dap.marinexplore.org/dap/u/ad17ea5395ba/f12db292-d9c4-11e2-8602-22000a1d2d96</td><td style=\"padding:3px;\">9</td><td style=\"padding:3px;\">6.35761162119e-05</td>\n",
"</tr>\n",
"\n",
"</table>"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"fig1 = figure(figsize=(10,10))\n",
"ax1 = fig1.add_subplot(111)\n",
"ax1.plot(svals[2],'*')\n",
"ax1.plot(sparams[2])\n",
"ax1.set_xticklabels(('feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug'))\n",
"ax1.set_title('Chlorophyll-a concentration of Seal tracklog')\n",
"ax1.set_xlabel('Months')\n",
"ax1.set_ylabel(r'Chlorophyll-a $(mg.m{^3})$')\n",
"fig1.savefig('fig11.png', bbox_inches=0)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAAm0AAAJmCAYAAAAOzLd9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4VHXe/vH7hCAQCBABKaFEJQqETpBiIaiglEUEVBAU\nBSP6gIplXeCHUmTRFSwoWOL6hEUW9RFQYCniqgHLIuoi1RLUSCiLIkQSJWGSfH9/sIwEUmaSKTnn\nvF/XlevKZE7mfOaQwM19mmWMMQIAAEClFhHuAQAAAFA2QhsAAIANENoAAABsgNAGAABgA4Q2AAAA\nGyC0AQAA2AChDfDD9OnTddNNN5X4fFxcnN59990QTnTCLbfcooceeqhc3xsXF6f33ntPUtnvD/55\n9NFHlZycHPL1vvnmm2rWrJmio6O1devWkK23Ij+HwVx3OOcCAonQBpxmyZIlSkxMVHR0tJo0aaL+\n/fvro48+kiRZllXq91qWVeYywVCR9Z76feGYvTIIRFhNS0tTs2bNinxt8uTJeumllyr0uuXxwAMP\n6LnnnlN2drY6dOhwxvMrVqxQx44dVadOHTVo0EBXXHGFMjIyKrze0n4OFy5cqEsvvbTC6yjPusP1\newkEGqENOMWTTz6pe++9V1OnTtWPP/6ozMxMjR8/XqtWrZIkBeta1Pn5+UF5XX9xre3iGWNss22M\nMdqzZ4/atGlT7PO7d+/W6NGj9dRTT+mXX37R999/r/Hjx6tKlSoBW395FRYWBm3ddvnzA0pDaAP+\n65dfftG0adP03HPPafDgwapRo4aqVKmiAQMG6LHHHpN04n/sx48f1+jRo1W7dm21bdtWn3/+ebGv\nl5eXp4kTJyo2NlaxsbG69957dfz4cUknWpmmTZvq8ccfV+PGjTV27FgdP368zOUfffRRNWjQQOee\ne66WLFlSZH2HDx/WwIEDVbt2bXXv3l3fffedJGn8+PF64IEHiiw7aNAgzZs3z+9tlJqaqjZt2qh2\n7do6//zzlZKSUuryL730knf5hIQEbdmyRZL05ZdfKikpSTExMWrbtq03FEsndmWNHz++2PciSTt3\n7lSfPn1Ur149NWrUSI8++qikE//gP/bYY2rZsqXq16+vG264QUeOHJEkZWRkKCIiQosWLVKLFi3U\noEEDzZ49W5K0bt06Pfroo3r99dcVHR2tTp06SZKSkpI0depUXXzxxapZs6a+++67Et//r7/+qn79\n+mn//v2Kjo5W7dq1deDAgTMavJUrVyohIUExMTHq3bu3vvrqK+9zcXFxeuKJJ9ShQwfVrVtXw4cP\nV15eXrHb1RijWbNmKS4uTg0bNtTo0aN19OhR5eXlKTo6WgUFBerQoYPi4+PP+N4vvvhC5557rnr3\n7i1JqlWrloYMGeJtCY0xJW5HSbruuuvUuHFj1a1bV7169dKuXbtK/Rk4+ed955136l//+peio6N1\n9tlne/+s77zzTvXv31+1atVSWlqaVq9erU6dOqlOnTpq3ry5ZsyYUeS1PvzwQ/Xs2VMxMTFq3ry5\nFi1adMb6srOz1bt3b02cOLHYeV566SXFx8erXr16uuaaa3TgwAHvc+vXr9eFF16ounXravz48erV\nq5defvnlMt8jEBIGgDHGmLVr15rIyEhTUFBQ4jLTpk0z1atXN2vXrjWFhYVm8uTJpnv37t7n4+Li\nzLvvvmuMMeahhx4yPXr0MD/99JP56aefTM+ePc1DDz1kjDHm/fffN5GRkWbSpEnm+PHj5tixYz4t\nf//995vjx4+bDRs2mJo1a5qvv/7aGGPM6NGjTb169cynn35q8vPzzciRI83w4cONMcZs3rzZNGnS\nxBQWFhpjjPnpp59MVFSU+fHHH8+Yedq0aWbUqFElvv/Vq1eb7777zhhjzIYNG0xUVJT597//Xeyy\n//d//2diY2PNZ599ZowxZvfu3eaHH34wx48fN+eff7559NFHjcfjMe+9956Jjo726b0cPXrUNGrU\nyDz55JMmLy/PZGdnm08++cQYY8zTTz9tevToYfbt22eOHz9uxo0bZ0aMGGGMMeb77783lmWZ22+/\n3eTm5pqtW7eaatWqma+++soYY8z06dPNTTfdVGT+Xr16mRYtWphdu3aZgoIC4/F4Sn3/aWlppmnT\npkVeY/r06d7t+fXXX5uaNWuaf/7znyY/P988/vjjpmXLlsbj8Xj/HLp162YOHDhgDh8+bFq3bm1e\neOGFYrftyy+/bFq2bGm+//57k5OTY4YMGVJkfsuyzLffflvs93733XemevXq5t577zXvv/++yc7O\nLvJ8advRGGNSU1NNTk6OOX78uJk4caLp2LGj97lbbrnFTJ06tdj1Lly40FxyySVFvjZ69GhTp04d\n8/HHHxtjjMnNzTVpaWlmx44dxhhjtm3bZho2bGjeeustY4wxGRkZJjo62rz22msmPz/f/Pzzz+aL\n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\nELQBAAA4wH94YNUpWYsS4gAAAABJRU5ErkJggg==\n"
}
],
"prompt_number": 4
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Sonification\n",
"\n",
"We have used an experimental part of our source code [DataSounds](https://github.com/DataSounds/DataSounds), where two time series are included in the same song with *get_music* function . \n",
"Sometimes the use of sonification require a little training, but it can be very easy to understand the pitch variation corresponding to chlorophyll concentration intensities. \n",
"All the graphical information such as points and lines could be complemented as sounds, and permits to obtain the same information but in a different way. \n",
"*PIANO* is the chlorophyll-a concentration from seals tracklog (represented as asterisks). \n",
"*ORGAN* is the sationary time series, obtained from the first point of seals log (represented as green line)."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<iframe width=\"100%\" height=\"166\" scrolling=\"no\" frameborder=\"no\" src=\"https://w.soundcloud.com/player/?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F97934873\"></iframe>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Some conclusion \n",
"\n",
"It seems that Seal elephant are migrating for areas of greater values of Chlorophyll-a, while we can see the increasing tendency of chlorophyll-a along time. Sonification output should plays this same tendency as well the differences in concentrations after may.\n",
"\n",
"### Considerations \n",
"\n",
"I would like to thanks all MX staff for supporting scientific database in an integrated way."
]
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment