Exploiting Web Services for Meteorological Applications Jozef Matula [email protected] IBL Software Engineering 2nd Workshop on the Use of GIS/OGC standards in Meteorology, 23rd-25th Nov 2009,

Download Report

Transcript Exploiting Web Services for Meteorological Applications Jozef Matula [email protected] IBL Software Engineering 2nd Workshop on the Use of GIS/OGC standards in Meteorology, 23rd-25th Nov 2009,

Exploiting Web Services for
Meteorological Applications
Jozef Matula
[email protected]
IBL Software Engineering
2nd Workshop on the Use of GIS/OGC standards in Meteorology, 23rd-25th Nov 2009, Toulouse, France
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! 
2nd Workshop on the Use of GIS/OGC standards in Meteorology, 23rd-25th Nov 2009, Toulouse, France
WHAT WE DO...
2nd Workshop on the Use of GIS/OGC standards in Meteorology, 23rd-25th Nov 2009, Toulouse, France
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
2nd Workshop on the Use of GIS/OGC standards in Meteorology, 23rd-25th Nov 2009, Toulouse, France
OGC Web Services in Visual Weather
1.1.0-1.3.0 support
1.0.0 support
1.0.0 support
User configurable
dimensions, dynamically
populated
GRIB1 and GRIB2 NWP
data including Ensemble
Prediction Systems
Retrieval of
observations
Access to all data types
and visualisation
methods with legends
Exposing also radar and
satellite imagery (raster
data)
Access to “feature”
database – authored
forecast objects
Supports styles,
GetFeatureInfo,
GeoTIFF, JPEG2000
Supports all field preprocessing and
diagnostics on server
Transactions allow
storing objects back
to server
2nd Workshop on the Use of GIS/OGC standards in Meteorology, 23rd-25th Nov 2009, Toulouse, France
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
def getTemperature(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
2nd Workshop on the Use of GIS/OGC standards in Meteorology, 23rd-25th Nov 2009, Toulouse, France
The missing piece
Developing services, standards or
profiles without EXERCISING its use at
the same time is a big risk.
So in order to build good services one
need to have good service consumer
tool – The Client.
We decided to build Web 2.0 client to
test our OGC web services - especially
the inter-service behaviour.
2nd Workshop on the Use of GIS/OGC standards in Meteorology, 23rd-25th Nov 2009, Toulouse, France
We decided to build a web 2.0 based forecasting workstation but what are the
COMMON REQUIREMENTS
http://www.projectcartoon.com/cartoon/63775
2nd Workshop on the Use of GIS/OGC standards in Meteorology, 23rd-25th Nov 2009, Toulouse, France
Decomposition of the met application
Lot of different
vis. schemas
(isolines,
windbarbs,
station plots)
Data ingestion
and
interpretation
Decluttering of
symbols and
labels
Wide volumes
of data and/or
high number of
data items
Server
side
Performance
dependant
issues
What should
the client do?
2nd Workshop on the Use of GIS/OGC standards in Meteorology, 23rd-25th Nov 2009, Toulouse, France
What client
can do with
service output?
How to meet requirements? (1)
Miranda IM.lnk
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  ?
2nd Workshop on the Use of GIS/OGC standards in Meteorology, 23rd-25th Nov 2009, Toulouse, France
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.
2nd Workshop on the Use of GIS/OGC standards in Meteorology, 23rd-25th Nov 2009, Toulouse, France
How to meet requirements? (3)
Meteograms & Crosssections (graphs)
• WMS  non-geospat. CRS
• SOS/WFS 
– tens of kB of GML data
– complexity of
visualisation depends
on used client
platform abilities
• WCS  ?
2nd Workshop on the Use of GIS/OGC standards in Meteorology, 23rd-25th Nov 2009, Toulouse, France
How to meet requirements? (4)
Miranda IM.lnk
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.
2nd Workshop on the Use of GIS/OGC standards in Meteorology, 23rd-25th Nov 2009, Toulouse, France
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
2nd Workshop on the Use of GIS/OGC standards in Meteorology, 23rd-25th Nov 2009, Toulouse, France
To open a can
THERE ARE MULTIPLE WAYS
2nd Workshop on the Use of GIS/OGC standards in Meteorology, 23rd-25th Nov 2009, Toulouse, France
Very simple conclusions
Do as much as possible via Web Map
Service, but keep in mind that it’s
not perfect.
Let the concept grow by adding
simple use cases instead of overdesigning everything possible.
2nd Workshop on the Use of GIS/OGC standards in Meteorology, 23rd-25th Nov 2009, Toulouse, France
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!
2nd Workshop on the Use of GIS/OGC standards in Meteorology, 23rd-25th Nov 2009, Toulouse, France
Pushing WMS behind its limits (1)
Extensive use of WMS sample dimensions (also in WCS) –
we have layers with 1-4 dimensions.
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
2nd Workshop on the Use of GIS/OGC standards in Meteorology, 23rd-25th Nov 2009, Toulouse, France
HTML GetFeatureInfo with TIME
GetMap with TIME dimension
HTML empedded <img> GetMap
with TIME & DIM_STATION
2nd Workshop on the Use of GIS/OGC standards in Meteorology, 23rd-25th Nov 2009, Toulouse, France
Pushing WMS behind its limits (3)
Allowed existence of non-geospatial layers (meteograms,
graphs, vertical cross-section profiles) using CRS:1
...&REQUEST=GetMap&CRS=CRS:1&BBOX=0,0,639,479&...
2nd Workshop on the Use of GIS/OGC standards in Meteorology, 23rd-25th Nov 2009, Toulouse, France
Pushing WMS behind its limits (4)
WMS can do much more than is advertised in the
GetCapabilities (for example for “place” dimensions or
CRSs)
<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!
2nd Workshop on the Use of GIS/OGC standards in Meteorology, 23rd-25th Nov 2009, Toulouse, France
Pushing WMS behind its limits (5)
Allowed display of layers displaying thermodiagrams
using custom CRS namespace (tephigrams, SKEW-T, etc.)
...&REQUEST=GetMap&
CRS=IBL:SKEWT&
BBOX=0,0,1,1&...
2nd Workshop on the Use of GIS/OGC standards in Meteorology, 23rd-25th Nov 2009, Toulouse, France
Finally to get closer to what my boss wanted or...
HOW WE PUT EVERYTHING TOGETHER
2nd Workshop on the Use of GIS/OGC standards in Meteorology, 23rd-25th Nov 2009, Toulouse, France
Decisions made
Adobe Flex as platform, runs in Flash VM over HTTPS
in variety of systems, easier to mockup things than in
DHTML&JS.
Let the server do the hard job - client will be simple, but
not primitive!
Implement basic set of meteorological interactive tools
used normally only in high-end forecasting workstations.
Experiment with editing of weather features (like fronts)
in the Flex platform via WFS-T
2nd Workshop on the Use of GIS/OGC standards in Meteorology, 23rd-25th Nov 2009, Toulouse, France
“Flexi Weather”
2nd Workshop on the Use of GIS/OGC standards in Meteorology, 23rd-25th Nov 2009, Toulouse, France
Future of Flexi Weather
Exercise whatever before it becomes a standard while
keeping the whole framework self-consistent.
Implement layer time synchronisation & synchronised
animation, time navigation…
Work towards a platform for building simple but also
advanced meteorological applications.
Have stronger between-CRSs conversion support.
Improve runtime add-on modularity.
2nd Workshop on the Use of GIS/OGC standards in Meteorology, 23rd-25th Nov 2009, Toulouse, France
IBL’s Contribution to MetOcean DWG
We want to extend Flexi Weather Framework into
reference implementation of MetOcean DWG profile.
We will publish the Framework code as Open Source
(likely under LGPL license).
We will publish the first “working” version here:
https://ogcie.iblsoft.com/FlexiWeather
We will publish our web services here:
https://ogcie.iblsoft.com
2nd Workshop on the Use of GIS/OGC standards in Meteorology, 23rd-25th Nov 2009, Toulouse, France
Thank you
for your attention!
Questions?
2nd Workshop on the Use of GIS/OGC standards in Meteorology, 23rd-25th Nov 2009, Toulouse, France