280 likes | 412 Views
Exploiting Web Services for Meteorological Applications. Jozef Matula Jozef.Matula@iblsoft.com IBL Software Engineering. Outline. What we do… Building forecasting application – what protocols/formats to use? IBL’s contribution to future MetOceanDWG interoperability experiments. My goal is….
E N D
Exploiting Web Services for Meteorological Applications JozefMatulaJozef.Matula@iblsoft.com IBL Software Engineering
Outline • What we do… • Building forecasting application – what protocols/formats to use? • IBL’s contribution to future MetOceanDWG interoperability experiments. • My goal is… …to get the REAL meteorological forecasting tool into my boss’ iPhone!
What is IBL Visual Weather? • Strategic Weather Information Forecasting Tool– UK Met Office project for workstation upgrade • Visual Weather = Meteorological Workstation SW: • Met. data processing and visualisation • Interactive forecasting tools • Forecast production and workflow management • Batch production • Extensibility with Python API • Web services (WMS, WCS, WFS, JMBL, Python) • Everything in one box or Client-Server • Highly configurable and integration-capable
Python Web Services in Visual Weather • Use of Visual Weather’s Python API together with scripting allow rapid development and instant deployment of web services in mod_python style import IBL.Kernel; from IBL.Net import apache defgetTemperature(req, station): e = K.Expression("@station v6[5,2] Fsynop_latest$sv52$C") e.setArgument("station", K.mkStation(station)) tSYNOP = e.eval() req.write(str(tSYNOP["temperature"]. toValue(K.u.T_CELS))) return apache.OK http://my-server/service/getTemperature?station=LZIB
We decided to build a web 2.0 based forecasting workstation but what are the COMMON REQUIREMENTS http://www.projectcartoon.com/cartoon/63775
How to meet requirements? (1) Synoptic map • Approx. 1500 observations in Europe (hourly) • About 20 parameters needed • WMS 100kB PNG • SOS/WFS 3MB GML: • how to get time axis? • complicated visualisation • WCS ?
How to meet requirements? (2) Isolines from NWP data • WMS this works – tens of kBs. • WFS isoline could be considered as feature • WCS • Size effective output formats are hardly usable by simple clients • Isolines algorithm is rather complicated.
How to meet requirements? (3) Meteograms & Cross-sections (graphs) • WMS non-geospat. CRS • SOS/WFS • tens of kB of GML data • complexity of visualisation depends on used client platform abilities • WCS ?
How to meet requirements? (4) Thermodiagram (profile) • Single site • >5 parameters needed • WMS non-geospat. CRS • SOS/WFS 10kB GML + little bit of processing • WCS ? • NWP profiles need hundreds MB of gridded data • Size of image is approx. size of GML data.
How to meet requirements? (5) Weather features • Single site • Tens of feature types (single point or smooth polylines, text, areas) • WMS Read only • WFS small GML, but complicated visualisation. • WCS no
To open a can THERE ARE MULTIPLE WAYS
Dummy MAPs in the Web MAP Service • Map is ONLY a picture so once you get a picture you usually loose: • Metadata – you don’t know what you got - (time, content description, etc.) • Spatial localisation – (except formats like GeoTIFF, JPEG2000) • Map is a picture, that’s why anyone can work with it simply. • Reference system of the image is CRS:1!
Pushing WMS behind its limits (1) TIME ISO8601 DIM_RUN ISO8601 DIM_FORECAST ISO8601 Duration or +X ELEVATION Vertical level with unit DIM_STATION WMO station number DIM_PLACE Place of time cross-section/meteogram: DIM_PLACE=EPSG:4326[1.5;43.7] DIM_PLACE=EPSG:54004[18627e3;4990e3]Horizontal route (space separated):DIM_PLACE=LZIB EPSG:4326[1;43] EHAM
HTML GetFeatureInfo with TIME GetMap with TIME dimension HTML empedded <img> GetMap with TIME & DIM_STATION
Pushing WMS behind its limits (3) ...&REQUEST=GetMap&CRS=CRS:1&BBOX=0,0,639,479&...
Pushing WMS behind its limits (4) <Dimension name="PLACE“ units="CoordinateOrStationIdList“ default="LZIB EDDF"> LZIB EDDF, CRS:84[0;0] EPSG:4326[1e4;2.0e5]</Dimension> There is infinite number of possible values for this dimension!
Pushing WMS behind its limits (5) ...&REQUEST=GetMap&CRS=IBL:SKEWT&BBOX=0,0,1,1&...
Finally to get closer to what my boss wanted or... HOW WE PUT EVERYTHING TOGETHER