python-awips/examples/notebooks/Surface_Obs.ipynb

310 lines
10 KiB
Text
Raw Normal View History

2016-03-15 20:27:25 -05:00
{
"cells": [
{
"cell_type": "code",
2016-04-20 19:05:36 -05:00
"execution_count": null,
2016-03-15 20:27:25 -05:00
"metadata": {
"collapsed": false
},
2016-04-20 19:05:36 -05:00
"outputs": [],
2016-03-15 20:27:25 -05:00
"source": [
"from awips.dataaccess import DataAccessLayer\n",
"\n",
"# Set host\n",
"DataAccessLayer.changeEDEXHost(\"edex-cloud.unidata.ucar.edu\")\n",
"# Init data request\n",
"request = DataAccessLayer.newDataRequest()\n",
"request.setDatatype(\"obs\")\n",
"request.setLocationNames(\"KBJC\")\n",
"datatimes = DataAccessLayer.getAvailableTimes(request)\n",
"time = datatimes[-1].validPeriod\n",
"\n",
"# \"presWeather\",\"skyCover\",\"skyLayerBase\"\n",
"# are multi-dimensional... deal with these later\n",
"request.setParameters(\n",
" \"stationName\",\n",
" \"timeObs\",\n",
" \"wmoId\",\n",
" \"autoStationType\",\n",
" \"elevation\",\n",
" \"reportType\",\n",
" \"temperature\",\n",
" \"tempFromTenths\",\n",
" \"dewpoint\",\n",
" \"dpFromTenths\",\n",
" \"windDir\",\n",
" \"windSpeed\",\n",
" \"windGust\",\n",
" \"visibility\",\n",
" \"altimeter\",\n",
" \"seaLevelPress\",\n",
" \"pressChange3Hour\",\n",
" \"pressChangeChar\",\n",
" \"maxTemp24Hour\",\n",
" \"minTemp24Hour\",\n",
" \"precip1Hour\",\n",
" \"precip3Hour\",\n",
" \"precip6Hour\",\n",
" \"precip24Hour\"\n",
")\n",
"\n",
"response = DataAccessLayer.getGeometryData(request,times=time)\n",
"for ob in response:\n",
" print \"getParameters is\",ob.getParameters()\n",
" print len(ob.getParameters())\n",
" #getParameters\n",
" print ob.getString(\"stationName\"), \"from\", ob.getDataTime().getRefTime()\n",
" print \"stationName is\",ob.getString(\"stationName\")\n",
" print \"timeObs is\",ob.getString(\"timeObs\")\n",
" print \"wmoId is\",ob.getString(\"wmoId\")\n",
" print \"autoStationType is\",ob.getString(\"autoStationType\")\n",
" print \"elevation is\",ob.getString(\"elevation\")\n",
" print \"reportType is\",ob.getString(\"reportType\")\n",
" print \"temperature is\",ob.getString(\"temperature\")\n",
" print \"tempFromTenths is\",ob.getString(\"tempFromTenths\")\n",
" print \"dewpoint is\",ob.getString(\"dewpoint\")\n",
" print \"dpFromTenths is\",ob.getString(\"dpFromTenths\")\n",
" print \"windDir is\",ob.getString(\"windDir\")\n",
" print \"windSpeed is\",ob.getString(\"windSpeed\")\n",
" print \"windGust is\",ob.getString(\"windGust\")\n",
" print \"visibility is\",ob.getString(\"visibility\")\n",
" print \"altimeter is\",ob.getString(\"altimeter\")\n",
" print \"seaLevelPress is\",ob.getString(\"seaLevelPress\")\n",
" print \"pressChange3Hour is\",ob.getString(\"pressChange3Hour\")\n",
" print \"pressChangeChar is\",ob.getString(\"pressChangeChar\")\n",
" print \"maxTemp24Hour is\",ob.getString(\"maxTemp24Hour\")\n",
" print \"minTemp24Hour is\",ob.getString(\"minTemp24Hour\")\n",
" print \"precip1Hour is\",ob.getString(\"precip1Hour\")\n",
" print \"precip3Hour is\",ob.getString(\"precip3Hour\")\n",
" print \"precip6Hour is\",ob.getString(\"precip6Hour\")\n",
" print \"precip24Hour is\",ob.getString(\"precip24Hour\")"
]
},
{
"cell_type": "code",
2016-04-20 19:05:36 -05:00
"execution_count": null,
2016-03-15 20:27:25 -05:00
"metadata": {
"collapsed": false
},
2016-04-20 19:05:36 -05:00
"outputs": [],
2016-03-15 20:27:25 -05:00
"source": [
"# multi-dimensional present WX\n",
"request = DataAccessLayer.newDataRequest()\n",
"request.setDatatype(\"obs\")\n",
"request.setLocationNames(\"KBJC\")\n",
"request.setParameters(\"presWeather\")\n",
"response = DataAccessLayer.getGeometryData(request,times=time)\n",
"for ob in response:\n",
" print \"getParameters is\",ob.getParameters()\n",
" print ob.getString(\"presWeather\")\n",
"\n",
"\n",
"# multi-dimensional Sky Condition\n",
"request.setParameters(\"skyCover\", \"skyLayerBase\")\n",
"response = DataAccessLayer.getGeometryData(request,times=time)\n",
"for ob in response:\n",
" print ob.getString(\"skyCover\")\n",
" print ob.getString(\"skyLayerBase\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Synop/Marine"
]
},
{
"cell_type": "code",
2016-04-20 19:05:36 -05:00
"execution_count": null,
2016-03-15 20:27:25 -05:00
"metadata": {
"collapsed": false
},
2016-04-20 19:05:36 -05:00
"outputs": [],
2016-03-15 20:27:25 -05:00
"source": [
"from awips.dataaccess import DataAccessLayer\n",
"\n",
"request = DataAccessLayer.newDataRequest()\n",
"request.setDatatype(\"sfcobs\")\n",
"request.setLocationNames(\"72421\") # Covington, Kentucky (KCVG)\n",
"\n",
"request.setParameters(\"stationId\",\"timeObs\",\"elevation\",\"reportType\",\n",
" \"wx_present\",\"visibility\",\"seaLevelPress\",\"stationPress\",\n",
" \"pressChange3Hour\",\"pressChangeChar\",\"temperature\",\n",
" \"dewpoint\",\"seaSurfaceTemp\",\"wetBulb\",\"windDir\",\n",
" \"windSpeed\",\"equivWindSpeed10m\",\"windGust\",\"precip1Hour\",\n",
" \"precip6Hour\",\"precip24Hour\" )\n",
"\n",
"datatimes = DataAccessLayer.getAvailableTimes(request)\n",
"time = datatimes[-1].validPeriod\n",
"\n",
"response = DataAccessLayer.getGeometryData(request,times=time)\n",
"print response\n",
"for ob in response:\n",
" print \"getParameters is\",ob.getParameters()\n",
" print len(ob.getParameters())\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Profiler"
]
},
{
"cell_type": "code",
2016-04-20 19:05:36 -05:00
"execution_count": null,
2016-03-15 20:27:25 -05:00
"metadata": {
"collapsed": false
},
2016-04-20 19:05:36 -05:00
"outputs": [],
2016-03-15 20:27:25 -05:00
"source": [
"MULTI_DIM_PARAMS = set(['vComponent', 'uComponent', 'peakPower', \n",
" 'levelMode', 'uvQualityCode', 'consensusNum', \n",
" 'HorizSpStdDev', 'wComponent', 'height', \n",
" 'VertSpStdDev'])\n",
"\n",
"request = DataAccessLayer.newDataRequest(\"profiler\")\n",
"request.setParameters('numProfLvls', 'elevation', 'windDirSfc', 'validTime', \n",
" 'windSpeedSfc', 'pressure', 'submode', 'relHumidity', \n",
" 'profilerId', 'rainRate', 'temperature')\n",
"request.getParameters().extend(MULTI_DIM_PARAMS)\n",
"\n",
"datatimes = DataAccessLayer.getAvailableTimes(request)\n",
"time = datatimes[-1].validPeriod\n",
"\n",
"response = DataAccessLayer.getGeometryData(request,times=time)\n",
"print response\n",
"for ob in response:\n",
" print \"getParameters is\",ob.getParameters()\n",
" print len(ob.getParameters())"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## ACARS"
]
},
{
"cell_type": "code",
2016-04-20 19:05:36 -05:00
"execution_count": null,
2016-03-15 20:27:25 -05:00
"metadata": {
"collapsed": false
},
2016-04-20 19:05:36 -05:00
"outputs": [],
2016-03-15 20:27:25 -05:00
"source": [
"request = DataAccessLayer.newDataRequest(\"acars\")\n",
"request.setParameters(\"tailNumber\", \"receiver\", \"pressure\", \"flightPhase\", \n",
" \"rollAngleQuality\", \"temp\", \"windDirection\", \"windSpeed\",\n",
" \"humidity\", \"mixingRatio\", \"icing\")\n",
"datatimes = DataAccessLayer.getAvailableTimes(request)\n",
"time = datatimes[-1].validPeriod\n",
"\n",
"response = DataAccessLayer.getGeometryData(request,times=time)\n",
"print response\n",
"for ob in response:\n",
" print \"getParameters is\",ob.getParameters()\n",
" print len(ob.getParameters())"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## AIREP"
]
},
{
"cell_type": "code",
2016-04-20 19:05:36 -05:00
"execution_count": null,
2016-03-15 20:27:25 -05:00
"metadata": {
"collapsed": false
},
2016-04-20 19:05:36 -05:00
"outputs": [],
2016-03-15 20:27:25 -05:00
"source": [
"request = DataAccessLayer.newDataRequest(\"airep\")\n",
"request.setParameters(\"id\", \"flightLevel\", \"temp\", \"windDirection\", \"windSpeed\",\n",
" \"flightWeather\", \"flightHazard\", \"flightConditions\")\n",
"\n",
"datatimes = DataAccessLayer.getAvailableTimes(request)\n",
"time = datatimes[-1].validPeriod\n",
"\n",
"response = DataAccessLayer.getGeometryData(request,times=time)\n",
"print response\n",
"for ob in response:\n",
" print \"getParameters is\",ob.getParameters()\n",
" print len(ob.getParameters())"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## PIREP"
]
},
{
"cell_type": "code",
2016-04-20 19:05:36 -05:00
"execution_count": null,
2016-03-15 20:27:25 -05:00
"metadata": {
"collapsed": false
},
2016-04-20 19:05:36 -05:00
"outputs": [],
2016-03-15 20:27:25 -05:00
"source": [
"MULTI_DIM_PARAMS = set([\"hazardType\", \n",
" \"turbType\", \"turbBaseHeight\", \"turbTopHeight\",\n",
" \"iceType\", \"iceBaseHeight\", \"iceTopHeight\",\n",
" \"skyCover1\", \"skyCover2\", \"skyBaseHeight\", \"skyTopHeight\"\n",
" ])\n",
" \n",
"request = DataAccessLayer.newDataRequest(\"pirep\")\n",
"request.setParameters('id', 'flightLevel', 'temp', 'windDirection', 'windSpeed',\n",
" 'horzVisibility', 'aircraftType', 'weatherGroup')\n",
"request.getParameters().extend(MULTI_DIM_PARAMS)\n",
"\n",
"datatimes = DataAccessLayer.getAvailableTimes(request)\n",
"time = datatimes[-1].validPeriod\n",
"\n",
"response = DataAccessLayer.getGeometryData(request,times=time)\n",
"print response\n",
"for ob in response:\n",
" print \"getParameters is\",ob.getParameters()\n",
" print len(ob.getParameters())"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.9"
}
},
"nbformat": 4,
"nbformat_minor": 0
}