Skip to content

Instantly share code, notes, and snippets.

@emiliom
Created June 18, 2014 16:52
Show Gist options
  • Save emiliom/35db17392c5d652faeb2 to your computer and use it in GitHub Desktop.
Save emiliom/35db17392c5d652faeb2 to your computer and use it in GitHub Desktop.
#IOOS #pyoos #NERRS #HADS Accessing a "NERRS" station with Pyoos via its HADS Collector, not the CDMO. Currently it only illustrates a request for a station ("feature") given its known station_code (nesdis_id); no other type of collection query is illustrated. Then, it shows access to data from the specified station; extraction of station metada…
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "",
"signature": "sha256:eb61285c895d4c3670c0b3fbccbf62fcd5627727b792ad4a0d2c818e8adc1b6c"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Accessing a \"NERRS\" station with Pyoos via its [HADS Collector](https://github.com/ioos/pyoos/tree/master/pyoos/collectors/hads), not the CDMO\n",
"Currently it only illustrates a request for a station (\"feature\") given its known station_code (nesdis_id); no other type of collection query is illustrated. Then, it shows access to data from the specified station; extraction of station metadata; and conversion of the returned multi-variable time series to a pandas DataFrame, followed by a time series plot from the DataFrame. 2014 June 18. Emilio Mayorga."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from datetime import datetime, timedelta\n",
"import numpy as np\n",
"import pandas as pd\n",
"from pyoos.collectors.hads.hads import Hads"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stderr",
"text": [
"/usr/anaconda/anaconda/envs/ioos_em_13/lib/python2.7/site-packages/pandas/io/excel.py:626: UserWarning: Installed openpyxl is not supported at this time. Use >=1.6.1 and <2.0.0.\n",
" .format(openpyxl_compat.start_ver, openpyxl_compat.stop_ver))\n"
]
}
],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# FROM pyoos SOS handling\n",
"# Convenience function to build record style time series representation\n",
"# Test for string NaN added for HADS collector. Ideally the change should be\n",
"# made in pyoos, on the HADS parser so 'values' returns floats or np.nan\n",
"def flatten_element(p):\n",
" rd = {'time':p.time}\n",
" for m in p.members:\n",
" rd[m['standard']] = float(m['value']) if m['value'] != 'NaN' else np.nan\n",
" #rd[m['standard']] = m['value']\n",
" return rd\n",
"\n",
"# sta.get_unique_members() serves the same function as the pyoos SOS get_unique_members method\n",
"# Convenience function to extract a dict of unique members (observed properties) by standard name\n",
"obsprops_bystdname = lambda sta: {m['standard']:m for m in sta.get_unique_members()}"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Not used, for now\n",
"#states_url = \"http://amazon.nws.noaa.gov/hads/charts/OR.html\""
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"hadsData = Hads()"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 4
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Access South Slough North Spit station, for the last 2 days (roughly)\n",
"#hadsData.filter(features=['346F229A'],\n",
"# start=datetime.utcnow() - timedelta(days=2),\n",
"# end=datetime.utcnow() - timedelta(hours=12))"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 5
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#hadsData.filter(features=['346F229A'], states_url=states_url)\n",
"#hadsData.filter(states_url=states_url)\n",
"# NOT CLEAR YET IF THIS FILTER IF ALSO NEEDED, \n",
"# OR IF SETTING hadsData.station_codes IS ENOUGH\n",
"hadsData.filter(features=['346F229A'])"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 6,
"text": [
"<pyoos.collectors.hads.hads.Hads at 0x7faa10051d10>"
]
}
],
"prompt_number": 6
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"hadsData.station_codes = ['346F229A']"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 7
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"hadsData.metadata_url, hadsData.obs_retrieval_url, hadsData.states_url"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 8,
"text": [
"('http://amazon.nws.noaa.gov/nexhads2/servlet/DCPInfo',\n",
" 'http://amazon.nws.noaa.gov/nexhads2/servlet/DecodedData',\n",
" 'http://amazon.nws.noaa.gov/hads/goog_earth/')"
]
}
],
"prompt_number": 8
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"respCollect = hadsData.collect()"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 9
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"len(respCollect.elements)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 10,
"text": [
"1"
]
}
],
"prompt_number": 10
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"sta = respCollect.elements[0]\n",
"obsprops_bystdname_dict = obsprops_bystdname(sta)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 11
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"print sta.get_location()\n",
"sta._properties"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"POINT Z (-123.7211111111111 43.41388888888889 0)\n"
]
},
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 12,
"text": [
"{'channel': u'34 ',\n",
" 'country': 'USA',\n",
" 'horizontal_crs': 'EPSG:4326',\n",
" 'hsa': u'MFR',\n",
" 'init_transmit': u'000930',\n",
" 'location_description': u'NERRS WATER QUALITY SITE AT SOUTH SLOUGH NORTH SPIT NEAR NORTH BEND 2WNW (CTCLUSI)',\n",
" 'manufacturer': u'SU',\n",
" 'owner': u'NOAERD',\n",
" 'state': u'OR',\n",
" 'vertical_crs': None,\n",
" 'vertical_units': 'ft'}"
]
}
],
"prompt_number": 12
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"obsprops_bystdname_dict.keys(), obsprops_bystdname_dict['dissolved_oxygen']"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 13,
"text": [
"(['sea_water_temperature',\n",
" 'dissolved_oxygen_saturation',\n",
" 'water_level',\n",
" 'dissolved_oxygen',\n",
" 'battery_voltage',\n",
" 'salinity',\n",
" 'sea_water_ph_reported_on_total_scale',\n",
" 'sea_water_electrical_conductivity',\n",
" 'turbidity'],\n",
" {'description': '',\n",
" 'name': 'Dissolved Oxygen',\n",
" 'standard': 'dissolved_oxygen',\n",
" 'unit': 'ppm'})"
]
}
],
"prompt_number": 13
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"flattenedsta_0 = map(flatten_element, sta.elements)\n",
"sta_0df = pd.DataFrame.from_records(flattenedsta_0, index=['time'])\n",
"sta_0df.head()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>battery_voltage</th>\n",
" <th>dissolved_oxygen</th>\n",
" <th>dissolved_oxygen_saturation</th>\n",
" <th>salinity</th>\n",
" <th>sea_water_electrical_conductivity</th>\n",
" <th>sea_water_ph_reported_on_total_scale</th>\n",
" <th>sea_water_temperature</th>\n",
" <th>turbidity</th>\n",
" <th>water_level</th>\n",
" </tr>\n",
" <tr>\n",
" <th>time</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2014-06-11 01:15:00</th>\n",
" <td> NaN</td>\n",
" <td> NaN</td>\n",
" <td> NaN</td>\n",
" <td> NaN</td>\n",
" <td> NaN</td>\n",
" <td> NaN</td>\n",
" <td> NaN</td>\n",
" <td> NaN</td>\n",
" <td> 13.39</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2014-06-11 01:30:00</th>\n",
" <td> 13.9</td>\n",
" <td> 8.33</td>\n",
" <td> 97.1</td>\n",
" <td> 29.63</td>\n",
" <td> 45.72</td>\n",
" <td> 7.66</td>\n",
" <td> 57.18</td>\n",
" <td> 2.2</td>\n",
" <td> 13.62</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2014-06-11 01:45:00</th>\n",
" <td> 13.9</td>\n",
" <td> 8.45</td>\n",
" <td> 98.8</td>\n",
" <td> 29.43</td>\n",
" <td> 45.43</td>\n",
" <td> 7.71</td>\n",
" <td> 57.61</td>\n",
" <td> 2.5</td>\n",
" <td> 13.91</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2014-06-11 02:00:00</th>\n",
" <td> 13.9</td>\n",
" <td> 8.31</td>\n",
" <td> 96.4</td>\n",
" <td> 29.83</td>\n",
" <td> 46.01</td>\n",
" <td> 7.70</td>\n",
" <td> 56.71</td>\n",
" <td> 3.0</td>\n",
" <td> 14.24</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2014-06-11 02:15:00</th>\n",
" <td> 13.8</td>\n",
" <td> 8.48</td>\n",
" <td> 98.1</td>\n",
" <td> 30.07</td>\n",
" <td> 46.35</td>\n",
" <td> 7.73</td>\n",
" <td> 56.30</td>\n",
" <td> 3.4</td>\n",
" <td> 14.53</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 14,
"text": [
" battery_voltage dissolved_oxygen \\\n",
"time \n",
"2014-06-11 01:15:00 NaN NaN \n",
"2014-06-11 01:30:00 13.9 8.33 \n",
"2014-06-11 01:45:00 13.9 8.45 \n",
"2014-06-11 02:00:00 13.9 8.31 \n",
"2014-06-11 02:15:00 13.8 8.48 \n",
"\n",
" dissolved_oxygen_saturation salinity \\\n",
"time \n",
"2014-06-11 01:15:00 NaN NaN \n",
"2014-06-11 01:30:00 97.1 29.63 \n",
"2014-06-11 01:45:00 98.8 29.43 \n",
"2014-06-11 02:00:00 96.4 29.83 \n",
"2014-06-11 02:15:00 98.1 30.07 \n",
"\n",
" sea_water_electrical_conductivity \\\n",
"time \n",
"2014-06-11 01:15:00 NaN \n",
"2014-06-11 01:30:00 45.72 \n",
"2014-06-11 01:45:00 45.43 \n",
"2014-06-11 02:00:00 46.01 \n",
"2014-06-11 02:15:00 46.35 \n",
"\n",
" sea_water_ph_reported_on_total_scale \\\n",
"time \n",
"2014-06-11 01:15:00 NaN \n",
"2014-06-11 01:30:00 7.66 \n",
"2014-06-11 01:45:00 7.71 \n",
"2014-06-11 02:00:00 7.70 \n",
"2014-06-11 02:15:00 7.73 \n",
"\n",
" sea_water_temperature turbidity water_level \n",
"time \n",
"2014-06-11 01:15:00 NaN NaN 13.39 \n",
"2014-06-11 01:30:00 57.18 2.2 13.62 \n",
"2014-06-11 01:45:00 57.61 2.5 13.91 \n",
"2014-06-11 02:00:00 56.71 3.0 14.24 \n",
"2014-06-11 02:15:00 56.30 3.4 14.53 "
]
}
],
"prompt_number": 14
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#hadsData._get_metadata(['346F229A'])\n",
"# ---------------------------------\n",
"#respMeta, respRawdata = hadsData.raw()\n",
"#respMeta\n",
"#Out[]: u'|346F229A|SSNO3|NERRS WATER QUALITY SITE AT SOUTH SLOUGH NORTH SPIT NEAR NORTH BEND 2WNW (CTCLUSI)|43 24 50|-124 16 44|MFR|OR|NOAERD|SU|34 |000930|60|TW|15,-9|0.018,-9|32.0|9|0.0|0.0|WC|15,-9|0.01,-9|0.0|9|0.0|0.0|WS|15,-9|0.01,-9|0.0|9|0.0|0.0|WX|15,-9|0.01,-9|0.0|9|0.0|0.0|WO|15,-9|0.01,-9|0.0|9|0.0|0.0|HM|15,-9|0.03281,-9|0.0|9|0.0|0.0|WP|15,-9|0.01,-9|0.0|9|0.0|0.0|WT|15,-9|0.01,-9|0.0|9|0.0|0.0|VB|15,-9|0.01,-9|0.0|9|0.0|0.0|\\r\\n'"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 15
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Time series plot.\n",
"obsprop_name = 'sea_water_temperature'\n",
"obsprop = obsprops_bystdname_dict[obsprop_name]\n",
"#sta_0df[obsprop_name].plot()\n",
"#ylabel(obsprop_name + ' ('+obsprop['unit']+')');\n",
"# THE VARIABLE COLUMNS ARE NOT NUMERIC (PROBABLY DUE TO THE 'NaN' values),\n",
"# SO .plot() RETURNS AN ERROR.\n",
"# 6/18/2014. I've fixed flatten_elements() to handle this, and it now works!"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 16
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"sta_0df.shape"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 17,
"text": [
"(732, 9)"
]
}
],
"prompt_number": 17
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"sta_0df.dtypes"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 18,
"text": [
"battery_voltage float64\n",
"dissolved_oxygen float64\n",
"dissolved_oxygen_saturation float64\n",
"salinity float64\n",
"sea_water_electrical_conductivity float64\n",
"sea_water_ph_reported_on_total_scale float64\n",
"sea_water_temperature float64\n",
"turbidity float64\n",
"water_level float64\n",
"dtype: object"
]
}
],
"prompt_number": 18
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"sta_0df.tail()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>battery_voltage</th>\n",
" <th>dissolved_oxygen</th>\n",
" <th>dissolved_oxygen_saturation</th>\n",
" <th>salinity</th>\n",
" <th>sea_water_electrical_conductivity</th>\n",
" <th>sea_water_ph_reported_on_total_scale</th>\n",
" <th>sea_water_temperature</th>\n",
" <th>turbidity</th>\n",
" <th>water_level</th>\n",
" </tr>\n",
" <tr>\n",
" <th>time</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2014-06-18 15:00:00</th>\n",
" <td> 13.8</td>\n",
" <td> 9.41</td>\n",
" <td> 108.7</td>\n",
" <td> 30.92</td>\n",
" <td> 47.53</td>\n",
" <td> 7.82</td>\n",
" <td> 55.76</td>\n",
" <td> 4.0</td>\n",
" <td> 14.08</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2014-06-18 15:15:00</th>\n",
" <td> 14.4</td>\n",
" <td> 8.92</td>\n",
" <td> 104.1</td>\n",
" <td> 30.16</td>\n",
" <td> 46.46</td>\n",
" <td> 7.77</td>\n",
" <td> 57.02</td>\n",
" <td> 3.2</td>\n",
" <td> 13.62</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2014-06-18 15:30:00</th>\n",
" <td> 14.5</td>\n",
" <td> 8.83</td>\n",
" <td> 103.2</td>\n",
" <td> 30.03</td>\n",
" <td> 46.27</td>\n",
" <td> 7.74</td>\n",
" <td> 57.27</td>\n",
" <td> 3.6</td>\n",
" <td> 13.22</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2014-06-18 15:45:00</th>\n",
" <td> 13.8</td>\n",
" <td> 8.74</td>\n",
" <td> 102.4</td>\n",
" <td> 29.95</td>\n",
" <td> 46.16</td>\n",
" <td> 7.75</td>\n",
" <td> 57.47</td>\n",
" <td> 2.4</td>\n",
" <td> 12.80</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2014-06-18 16:00:00</th>\n",
" <td> 13.8</td>\n",
" <td> 8.76</td>\n",
" <td> 102.7</td>\n",
" <td> 29.93</td>\n",
" <td> 46.13</td>\n",
" <td> 7.74</td>\n",
" <td> 57.56</td>\n",
" <td> 3.0</td>\n",
" <td> 12.30</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 19,
"text": [
" battery_voltage dissolved_oxygen \\\n",
"time \n",
"2014-06-18 15:00:00 13.8 9.41 \n",
"2014-06-18 15:15:00 14.4 8.92 \n",
"2014-06-18 15:30:00 14.5 8.83 \n",
"2014-06-18 15:45:00 13.8 8.74 \n",
"2014-06-18 16:00:00 13.8 8.76 \n",
"\n",
" dissolved_oxygen_saturation salinity \\\n",
"time \n",
"2014-06-18 15:00:00 108.7 30.92 \n",
"2014-06-18 15:15:00 104.1 30.16 \n",
"2014-06-18 15:30:00 103.2 30.03 \n",
"2014-06-18 15:45:00 102.4 29.95 \n",
"2014-06-18 16:00:00 102.7 29.93 \n",
"\n",
" sea_water_electrical_conductivity \\\n",
"time \n",
"2014-06-18 15:00:00 47.53 \n",
"2014-06-18 15:15:00 46.46 \n",
"2014-06-18 15:30:00 46.27 \n",
"2014-06-18 15:45:00 46.16 \n",
"2014-06-18 16:00:00 46.13 \n",
"\n",
" sea_water_ph_reported_on_total_scale \\\n",
"time \n",
"2014-06-18 15:00:00 7.82 \n",
"2014-06-18 15:15:00 7.77 \n",
"2014-06-18 15:30:00 7.74 \n",
"2014-06-18 15:45:00 7.75 \n",
"2014-06-18 16:00:00 7.74 \n",
"\n",
" sea_water_temperature turbidity water_level \n",
"time \n",
"2014-06-18 15:00:00 55.76 4.0 14.08 \n",
"2014-06-18 15:15:00 57.02 3.2 13.62 \n",
"2014-06-18 15:30:00 57.27 3.6 13.22 \n",
"2014-06-18 15:45:00 57.47 2.4 12.80 \n",
"2014-06-18 16:00:00 57.56 3.0 12.30 "
]
}
],
"prompt_number": 19
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"len(sta.elements), type(sta.elements[0])"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 20,
"text": [
"(732, paegan.cdm.dsg.features.base.point.Point)"
]
}
],
"prompt_number": 20
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"stael0 = sta.elements[0]\n",
"stael0.members"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 21,
"text": [
"[{'description': '',\n",
" 'name': 'Water Level',\n",
" 'standard': 'water_level',\n",
" 'unit': 'ft',\n",
" 'value': u'13.39'}]"
]
}
],
"prompt_number": 21
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"sta_0df[obsprop_name].plot()\n",
"ylabel(obsprop_name + ' ('+obsprop['unit']+')');"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\n4/F4PMXx/wCElJ/k+i3RowAAAABJRU5ErkJggg==\n",
"text": [
"<matplotlib.figure.Figure at 0x7faa09530a50>"
]
}
],
"prompt_number": 22
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment