iem
iem copied to clipboard
Additional Sounding/RAOB JSON endpoints
Currently, we have /json/raob.py?station=XXXX&ts=YYYYMMDDHH24MI
JSON service that emits a profile for a given station and time (why didn't I do ISO timestamps, sigh). Lets implement some more.
- [x] if no station is specified, return all profiles for a given timestamp
- [x] allow ISO date format in the current service, but not break previous clients
/json/raob.py?station=XXXX&ts=YYYY-MM-DDTHH24:MMZ
- [ ] Lists available soundings for a given station and UTC date
/json/raob.py?metadata&station=XXXX&date=YYYY-MM-DD
- [ ] Lists available soundings (station, name, lat, lon) for a given UTC date
/json/raob.py?metadata&date=YYYY-MM-DD
- [ ] List available soundings for a single UTC timestamp
/json.raob.py?metadata&ts=YYYY-MM-DDTHH24:MMZ
- [ ] Lists available soundings for a given station and time range, start inclusive, end exclusive, perhaps limited to 365 days between start and end time
/json/raob.py?metadata&station=XXXX&start=YYYY-MM-DDTHH24:MMZ&end=YYYY-MM-DDTHH24:MMZ
- [ ] Support fetching based on the "threaded" stations nomenclature the IEM uses to merge nearby sites into a single ID, ie
_OAX
. These IDs would not be used in the metadata calls.
Currently, the service returns a JSON object like so:
{"profiles": [{"station": "", "valid": "", "profile": []}]
}
So lets extend the above and in the case of metadata
requests, not include the profile:[]
{"profiles": [{"station": "", "valid": "", "name": "",
"latitude": 99.99, "longitude": 99.99, "profile_href": "/uri-fordata"}]
}
How difficult would it be to allow for multiple simultaneous station requests?
Hi @jthielen it is probably more a matter of being practical than difficult. Are you hoping to get all stations for a given time or period of time?
Indeed, what I've been looking to do is request all stations at a given time, in order to make an upper air chart example with siphon/metpy.
@jthielen you can now make a request http://mesonet.agron.iastate.edu/json/raob.py?ts=2018-06-26T12:00:00Z&pressure=500 to get all my 500 hPa values for a given timestamp. Dropping the pressure parameter yields all profiles for all stations :)
Very nice! Thank you for helping with this so quickly!