pysondehub/examples/sondehub.ipynb

387 wiersze
46 KiB
Plaintext

{
"cells": [
{
"cell_type": "markdown",
"id": "agricultural-wellington",
"metadata": {},
"source": [
"# Python Prerequisites\n",
"\n",
"In this below cell we install sondehub library"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "multiple-ribbon",
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Requirement already satisfied: sondehub in /usr/local/lib/python3.9/site-packages (0.1.7)\n",
"Collecting sondehub\n",
" Using cached sondehub-0.1.8-py3-none-any.whl (16 kB)\n",
"Requirement already satisfied: boto3<2.0.0,>=1.14.44 in /usr/local/lib/python3.9/site-packages (from sondehub) (1.17.5)\n",
"Requirement already satisfied: paho-mqtt<2.0.0,>=1.5.1 in /usr/local/lib/python3.9/site-packages (from sondehub) (1.5.1)\n",
"Requirement already satisfied: botocore<1.21.0,>=1.20.5 in /usr/local/lib/python3.9/site-packages (from boto3<2.0.0,>=1.14.44->sondehub) (1.20.5)\n",
"Requirement already satisfied: jmespath<1.0.0,>=0.7.1 in /usr/local/lib/python3.9/site-packages (from boto3<2.0.0,>=1.14.44->sondehub) (0.10.0)\n",
"Requirement already satisfied: s3transfer<0.4.0,>=0.3.0 in /usr/local/lib/python3.9/site-packages (from boto3<2.0.0,>=1.14.44->sondehub) (0.3.4)\n",
"Requirement already satisfied: python-dateutil<3.0.0,>=2.1 in /usr/local/lib/python3.9/site-packages (from botocore<1.21.0,>=1.20.5->boto3<2.0.0,>=1.14.44->sondehub) (2.8.1)\n",
"Requirement already satisfied: urllib3<1.27,>=1.25.4 in /usr/local/lib/python3.9/site-packages (from botocore<1.21.0,>=1.20.5->boto3<2.0.0,>=1.14.44->sondehub) (1.26.2)\n",
"Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.9/site-packages (from python-dateutil<3.0.0,>=2.1->botocore<1.21.0,>=1.20.5->boto3<2.0.0,>=1.14.44->sondehub) (1.15.0)\n",
"Installing collected packages: sondehub\n",
" Attempting uninstall: sondehub\n",
" Found existing installation: sondehub 0.1.7\n",
" Uninstalling sondehub-0.1.7:\n",
" Successfully uninstalled sondehub-0.1.7\n",
"Successfully installed sondehub-0.1.8\n",
"\u001b[33mWARNING: You are using pip version 20.3.3; however, version 21.0.1 is available.\n",
"You should consider upgrading via the '/usr/local/opt/python@3.9/bin/python3.9 -m pip install --upgrade pip' command.\u001b[0m\n"
]
}
],
"source": [
"# Install a pip package in the current Jupyter kernel\n",
"import sys\n",
"!{sys.executable} -m pip install --upgrade sondehub"
]
},
{
"cell_type": "markdown",
"id": "piano-parameter",
"metadata": {},
"source": [
"# Imports\n",
"Next we import the python libraries we'll be using."
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "canadian-collapse",
"metadata": {},
"outputs": [],
"source": [
"# Sondehub lib that we'll be using to download and access the data\n",
"import sondehub\n",
"\n",
"#numpy, matplotlib and scipy to help us graph and process some of the data\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import scipy.stats as stats\n",
"\n",
"import datetime"
]
},
{
"cell_type": "markdown",
"id": "general-annotation",
"metadata": {},
"source": [
"# Download data\n",
"The sondehub library handles accessing the data. Behind the scenes it's downloading the data from AWS Open Data S3 bucket.\n",
"\n",
"For this example we'll be looking at the \"S1120364\" radiosonde. You can find other serial numbers by browsing the S3 bucket for the open data at https://sondehub-open-data.s3-website-us-east-1.amazonaws.com or you can look at which radiosondes are currently aloft at https://sondehub.org"
]
},
{
"cell_type": "code",
"execution_count": 60,
"id": "processed-winning",
"metadata": {},
"outputs": [],
"source": [
"# This will take a little bit of time depending on your internet connection\n",
"radiosonde = sondehub.download(serial=\"S4620525\")"
]
},
{
"cell_type": "code",
"execution_count": 61,
"id": "local-vietnamese",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'datetime': '2021-02-09T22:30:33.001000Z',\n",
" 'uploader_position': '-34.8137,138.7488',\n",
" 'software_name': 'radiosonde_auto_rx',\n",
" 'uploader_callsign': 'AREG_AUTO_RX',\n",
" 'alt': -4.83791,\n",
" 'lon': 138.52043,\n",
" 'vel_h': 0.77782,\n",
" 'frequency': 401.501,\n",
" 'vel_v': 5e-05,\n",
" 'manufacturer': 'Vaisala',\n",
" 'batt': 3,\n",
" 'software_version': '1.4.1-beta8',\n",
" 'uploader_antenna': '6dBi Vertical',\n",
" 'lat': -34.95243,\n",
" 'subtype': 'RS41-SG',\n",
" 'snr': 11.6,\n",
" 'type': 'RS41',\n",
" 'sats': 7,\n",
" 'heading': 291.15022,\n",
" 'frame': 1262,\n",
" 'burst_timer': 65535,\n",
" 'time_received': '2021-02-09T22:30:17.135788Z',\n",
" 'serial': 'S4620525',\n",
" 'user-agent': 'autorx-1.4.1-beta8',\n",
" 'position': '-34.95243,138.52043',\n",
" 'upload_time_delta': -2.001443,\n",
" 'uploader_alt': 420}"
]
},
"execution_count": 61,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"radiosonde[0] # let's have a look at the first record"
]
},
{
"cell_type": "markdown",
"id": "double-insulation",
"metadata": {},
"source": [
"# Parse data\n",
"To make things easier we use numpy to make an array out of the data. This will help us when we go to graph the data.\n",
"\n",
"In this case we are going to graph altitude, snr vs time"
]
},
{
"cell_type": "code",
"execution_count": 62,
"id": "married-founder",
"metadata": {},
"outputs": [],
"source": [
"data = np.array( [ [datetime.datetime.strptime(each['datetime'], \"%Y-%m-%dT%H:%M:%S.%fZ\"), each['alt'], each['snr'] if 'snr' in each else None, each['uploader_callsign'] if 'uploader_callsign' in each else None] for each in radiosonde if each['uploader_callsign'] == 'AREG_AUTO_RX' ] )"
]
},
{
"cell_type": "code",
"execution_count": 63,
"id": "level-conversation",
"metadata": {},
"outputs": [],
"source": [
"filtered = [\n",
" [\n",
" datetime.datetime.strptime(each['datetime'], \"%Y-%m-%dT%H:%M:%S.%fZ\"),\n",
" float(each['alt']),\n",
" float(each['snr']) if 'snr' in each else None,\n",
" each['uploader_callsign'] if 'uploader_callsign' in each else None\n",
" ]\n",
" for each in radiosonde\n",
" ]\n"
]
},
{
"cell_type": "code",
"execution_count": 64,
"id": "meaningful-herald",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([datetime.datetime(2021, 2, 9, 22, 30, 33, 1000), -4.83791, 11.6,\n",
" 'AREG_AUTO_RX'], dtype=object)"
]
},
"execution_count": 64,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data[0]"
]
},
{
"cell_type": "code",
"execution_count": 65,
"id": "weekly-charter",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[datetime.datetime(2021, 2, 9, 22, 30, 33, 1000), -4.83791, 11.6,\n",
" 'AREG_AUTO_RX'],\n",
" [datetime.datetime(2021, 2, 9, 22, 30, 29, 1000), -6.23293, 11.0,\n",
" 'AREG_AUTO_RX'],\n",
" [datetime.datetime(2021, 2, 9, 22, 30, 38, 1000), -4.91941, 9.4,\n",
" 'AREG_AUTO_RX'],\n",
" ...,\n",
" [datetime.datetime(2021, 2, 10, 4, 44, 0, 188437), 277.0, None,\n",
" 'VK5KJL_AUTO_RX'],\n",
" [datetime.datetime(2021, 2, 10, 4, 43, 30, 212890), 277.0, None,\n",
" 'VK5KJL_AUTO_RX'],\n",
" [datetime.datetime(2021, 2, 10, 1, 31, 0, 73080), 482.0, None,\n",
" 'VK5ST_AUTO_RX']], dtype=object)"
]
},
"execution_count": 65,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"\n",
"data = np.array(\n",
" filtered\n",
")\n",
"data"
]
},
{
"cell_type": "code",
"execution_count": 56,
"id": "insured-probability",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[datetime.datetime(2021, 2, 15, 23, 17, 28, 754111), 759.0, None,\n",
" 'F6BYJ'],\n",
" [datetime.datetime(2021, 2, 15, 23, 18, 0, 148398), 916.0, None,\n",
" 'F6BYJ'],\n",
" [datetime.datetime(2021, 2, 15, 23, 18, 26, 819436), 1049.0, None,\n",
" 'F1JBB'],\n",
" ...,\n",
" [datetime.datetime(2021, 2, 16, 2, 1, 30, 157053), 1195.0, None,\n",
" 'F6BYJ'],\n",
" [datetime.datetime(2021, 2, 16, 2, 2, 30, 69061), 1036.0, None,\n",
" 'F6BYJ'],\n",
" [datetime.datetime(2021, 2, 16, 2, 3, 0, 177289), 965.0, None,\n",
" 'F6BYJ']], dtype=object)"
]
},
"execution_count": 56,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data = data[np.argsort(data[:, 0])] # order the data by the datetime\n",
"data # have a look at the data"
]
},
{
"cell_type": "markdown",
"id": "confused-mistake",
"metadata": {},
"source": [
"# Graph the data"
]
},
{
"cell_type": "code",
"execution_count": 57,
"id": "exciting-record",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"sonde_time = data[:,0] # get the datetime from the ndarray\n",
"alt = data[:,1] # get the altitude from the ndarray\n",
"\n",
"\n",
"plt.plot(sonde_time, alt)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 59,
"id": "interpreted-contributor",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Plot SNR along side\n",
"\n",
"sonde_time = data[:,0] # get the datetime from the ndarray\n",
"alt = data[:,1] # get the altitude from the ndarray\n",
"snr = data[:,2] # get the altitude from the ndarray\n",
"\n",
"fig,ax = plt.subplots()\n",
"\n",
"ax.plot(sonde_time, alt) # plot altitude on the first axis\n",
"ax.set_ylabel(\"Alt\",fontsize=14)\n",
"\n",
"ax2=ax.twinx() # get a second axis\n",
"ax2.set_ylabel(\"SNR\",fontsize=14)\n",
"ax2.plot(sonde_time, snr, color=\"red\")\n",
"\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "extended-aberdeen",
"metadata": {},
"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.9.1"
}
},
"nbformat": 4,
"nbformat_minor": 5
}