EGOWS, June 2007, Dublin
What is it?What is it?
EGOWS, June 2007, Dublin
Implementation detailsImplementation detailsProgramming language: ANSI/ISO C++
Self-documented sources: Doxygen (web searchable developer’s documentation)
Team programming: Concurrent Version System (CVS)
Continuous integration: Autobuild system (e-mailing, night build, lunch build)
now BAMBOO (fancy web interface)
Automated packaging: Linux & Windows installations, nightly builds for testing
Problem/project tracking: JIRA – TTS portal for users and developers
EGOWS, June 2007, Dublin
System portabilitySystem portability
Linux Unix Windows
Server
Majority Linux systems (binary distribution)
IA32, IA64, EM64T, AMD64, ...RedHat, Fedora, MDK, SuSE,
Debian, ...
Solaris (UltraSPARC, AMD64, IA32),
HPUX (PA-RISC, IA64),AIX (POWERx, AMD64),
IRIX (MIPS, IA64), ...
MS Windows NT-based(2000, XP, 2003+)
ClientMajority Linux systems
(binary distribution)
Solaris (UltraSPARC, AMD64, IA32),
HPUX (PA-RISC, IA64),AIX (POWERx, AMD64),
IRIX (MIPS, IA64), ...
MS Windows NT-based(2000, XP, 2003+)
Remote desktop
All Linux systems (X11)
All Graphical Unix systems (X11)
All MS Windows systems
(X11, Remote Desktop/TSCAL)
Programming language: ANSI/ISO C++ (system independent programming)
gains true portability, equivalent performance
3rd party libraries: Qt (Unix/Windows GUI), STL, Boost
True system portability: Windows, majority of UNIX (incl. Linux), most cost effective: Intel EM64T (Windows/Linux)
EGOWS, June 2007, Dublin
System’s Layered ModelSystem’s Layered Model
Applications / Daemons
Map Toolkit
Message Switching
Graphical Painter
Operating SystemGUI
Display Printers Network Storage
Printer driversSQL
Qt OS Abstraction Layer
NativeDB
Remote DB
UserDB
Database Access & Abstraction Layers
Configuration
MathKernel
CoreToolkit
OtherResources
EGOWS, June 2007, Dublin
ScalabilityScalabilityScalabilityScalabilityThe Visual Weather is designed to be flexible and scalable and provide portable solutions as well. The system can also run on off-the-shelf industry standard PC-based hardware.
Standard operational schemes include:
• Stand-alone workstation: Running on a single computer or notebook (i.e. small monolithic system)
• Server and client systems:
Running on server; sharing database with separate independent clients; Allows clustering – High Availability and Load Balancing
• Heterogeneous environment:
Multi-system mixed architecture with dedicated data distribution, LAN/WAN mixture, cross-platform interoperability
EGOWS, June 2007, Dublin
GenerationsGenerations• Software is being developed for 9 years now• Architecture changes are being natural to development process,
therefore keeps it “young” for going towards future requirements
1st Generation – “Early beginnings” – simple visualization tool, with math calculations.
2nd Generation – Product customization, math, productivity oriented, client-server, turns into “Robust” system.
3rd Generation – turns robust system into “Integration platform” for other applications and modules– Re-using/integrating other applications, even in native code
(such as Fortran and OSFM (UK))– Python + PyQt for high-level forecaster’s tools/gadgets (such
as interactive thermodiagram/normand-point)– Algorithm reusing (such as OSA (UK))– Data provider (API, remote calls, WMS) to other applications
(such as TDA)
EGOWS, June 2007, Dublin
Python scripting & IntegrationPython scripting & Integration
• PyQt performs GUI binding• There are binding in VW to access
core functions (which are time-critical) as well as objects
• Access to full framework – e.g. on-screen modification of thermodiagram is a Python script
• Ideal for applets, diagnostic tools, advising & decision aid
Provides Rapid integration & Development platform – allows to develop high-level functionality quickly and efficiently.
EGOWS, June 2007, Dublin
Re-using & data providerRe-using & data provider
• Integrating computation methodson math-kernel level
• Re-using of know-how: On Screen Analysis
• Re-using of code (even Fortran): FSU Streams, COMPAC, On Screen Field Modification
• Remote/local call API, batchtools, automation already in-build
EGOWS, June 2007, Dublin
Data InputData InputVisual Weather has flexible capabilities for data reception and transmission (Message Switch functionality),including:
• Satellite broadcast reception
• Message Switching Systems
• Surface observation network
• Remote-sensing portable instruments
• SADIS, RETIM, DWDSAT, ISCS systems
• TCP/IP WMO stream protocol
• Highly variable File-transfer (FTP protocol, incl. secure SFTP)
EGOWS, June 2007, Dublin
Database Access Layered ModelDatabase Access Layered Model
Applications / Daemons
Database Abstraction Layer
Local Database “Native”
Database files
Remote Database
Database Proxy
Remote database
Dir
ect
(n
on-
cach
ed
)
LA
N /
WA
N
User Database
User’s local files
Database Access Layer
Database supports:
• aging of the data & expiration• holding case studies• replaying of data• temporary/testing data (user)
EGOWS, June 2007, Dublin
Inter-process communication (ICOP Inter-process communication (ICOP RPC)RPC)
ICOP Server
Service 1 Service 2
User
Application 2
Graphical Application 1
Request
Rep
ly
Reg
iste
ring
Cal
ling
serv
.
Remote ClientApplication 3
Network
TCP Socket4021
Req
uest
System talks to its other components through RPC (but not SOAP or CORBA), in order to allow orchestration of all its components & background processing.
Structure allows real remote calls, i.e. creatingclient-server architectureand different deploymentschemas, if needed.
EGOWS, June 2007, Dublin
Remote and Proxy DatabaseRemote and Proxy Database
Client System
Database Proxy
Application 1
Proxy cache storage
Application 2
Abs
tra
ctio
n L
ayer
Pro
xy d
iver
Acc
ess
Lay
er
Request
Abs
tra
ctio
n L
ayer
Pro
xy d
iver
Acc
ess
Lay
er
Request
Daemon 1
Abs
tra
ctio
n L
ayer
Pro
xy d
iver
Acc
ess
Lay
er
Request
Ch
eck
for
dat
a o
r in
dex
Sto
re to
cac
he
Re
trie
ve c
ache
d ite
ms
LAN / WAN
Request
TCP Socket
Remote database
Request
Re
trie
ve
Retrieve
Server System
EGOWS, June 2007, Dublin
Mathematic Kernel OverviewMathematic Kernel Overview
Applications
pCode functions
Dynamic Kernel Libraries
TACDecoder 1
Token Stack-Machine Processor
Atomic Cache Unit
ConversionUnit
Mathematic Kernel Interface
TACDecoder 2
TDCF Decoder
ThermoDynamics
UserLibraries
• Token (structure)-driven Stack Machine for strong Math
• Class oriented system of computations, unit-type
transparent/checks
• Functions in pCode or Dynamic Libraries
• Array/Grid-transparent processing
• pluggable decoders
• TDCF interpreter engine
• scalar/vector operators
• token-formatting features
• micro-renderers / AnyT /
XML / XSLT
EGOWS, June 2007, Dublin
Mathematic Kernel ExampleMathematic Kernel Example
–
Synop(station, time)
Take( , “temperature”)
FM-12 SYNOPTAC Decoder Library
Database
Grid(EGRR, temperature, 2m, station, time)
[C][K]
[Class Synop]Interpolation
Unit
[GRIB]
GRIBDecoder Library
Database
EGOWS, June 2007, Dublin
User privilegesUser privileges
Alice
Carol
Bob
Dave
System Users
Alice
Bob
Dave
VW Users
ACL ManagerApplications
Report retrieval
Maps
Database retrieval
Editing
Configuration
Request for authorisation
Gra
nt /
Den
y
AccessControlList
Eve
Shared configurations
Office common pre-sets
User-group
pre-sets
User’s own
pre-sets
EGOWS, June 2007, Dublin
Graphic Painter OverviewGraphic Painter Overview
Applications
Image PainterPostScript
PainterPDF Painter SVG Painter
QtSW-RGBA
X11 GDI ASM Printers e-Doc Web
Graphic Painter Abstraction (primitives)
Font Abstraction subsystem
Layout engine
Graphic/Geo toolkit
• Entirely vector-based (not a hard-copy oriented)
• Full Unicode support, layout engine, font smoothing, TTF/OTF
• Internal painter software based (no HW limits, non- blocking), fully 32bit RGBA, anti-aliasing, sub-pixel precision, ASM (IA32&64)
• e-documents standard PDF (model 1.4), print-quality delivery
EGOWS, June 2007, Dublin
WMO Information Systems (WIS)WMO Information Systems (WIS)
• WMS (Web Map Service) – already implemented (1.1.1, 1.2, 1.3 – incl. multi-dimensions). WMS will take crucial place in UK’s production chain.
Moving towards WIS, will put very soon more requirements on Visualization workstations, not just Metadata extraction from original data, but also from forecaster’s products
• WCS (Web Coverage Service) – providing forecaster-modified fields
• WFS (Web Feature Service) – providing depicted weather features
WMS is not only about exposing data for GIS and decision making process (although being important there!), but is about WIS!
EGOWS, June 2007, Dublin
Depiction of Meteorological ObjectsDepiction of Meteorological Objects
Besides WMS (already implemented, test system operational), other “components” are on the way:
• Field cutter to be available soon
• Meteorological featuresare already availablefor sharing for integrationwith production chain;also allows collaboration,etc.
EGOWS, June 2007, Dublin
Message EditingMessage EditingMessage editing is based on pre-configured message templates for automated, and semi-automated message editing.
• The forecaster uses an interactive form where various input-boxes, list-boxes, and check-boxes help the forecaster to fill in the message.
• Messages can contain automatically calculated data, including values from observations, binary forecasts, values interpolated from NWP.
• Messages can be transmitted on demand or at scheduled times.
EGOWS, June 2007, Dublin
Tables & AlertsTables & AlertsComprehensive tables where values are automatically substituted from the selected data type (SYNOP, METAR, TEMP, BUOY, NWP models, lightning detection system, etc).
• Tables can include values and graphical symbols.
• Limits for parameters and places are used for monitoring and automatic issuing of alerts.
EGOWS, June 2007, Dublin
Detailed Geographical DataDetailed Geographical Data
In-build geographical data with world-wide coverage, high-resolution, incl.: shorelines, countries, airports, rivers, Digital Elevation Model – allowing chart production for any area of the world.
Special geographical data can be added for the detailed tactical display of map background. A ESRI shape file with vector orography can be imported from industry-standard GIS mapping software. The shape file can include information about districts, operation area, infrastructure, etc.
EGOWS, June 2007, Dublin
Observations Observations
• Station models with customizable size, look, and density
• Colour status symbols
• Discrete numbers placed at station position
• Automatic weather icons
• Objective analysis
Visualization of SYNOP, METAR, TEMP, BUOY data in various forms:
Information tooltip showing values at the selected point
EGOWS, June 2007, Dublin
Objective AnalysisObjective AnalysisObjective analysis using Barnes or Akima method, featuring unique tools:
• Model-based initialization(multi-pass differential analysis)
• Median and Model-basedquality control
• Manual report corrections
EGOWS, June 2007, Dublin
Satellite and NowCasting DataSatellite and NowCasting Data
• Easy integration of satellite images into all maps and real-time reprojection to selected area.
• Support of low-orbit and geo-stationary satellites, including MSG.
• False colouring and RGB composites available.
• Support of NowCasting data integration.
Visualisation of satellite images in native formats.
EGOWS, June 2007, Dublin
Radar and Lightning DataRadar and Lightning Data
• Display of information about lightning discharges from SFERICS, Vaisala, SAFIR, etc.
• Multiple radar sites can be combined into a single map.
EGOWS, June 2007, Dublin
Forecast Model ParametersForecast Model Parameters
Map Editor displays parameters from forecast models decoded from GRIB and GRID messages. All models, including UKMO, ECMWF, MM5, HRM, HIRLAM, ETA, WAVE are supported.
Model output visualized as:
• Isolines and isosurfaces
• Wind barbs or arrows
• Numerical grids
• Stream-lines
• Trajectories
EGOWS, June 2007, Dublin
Model ComparisonsModel ComparisonsVisual Weather enables to visualize various types of models:
• Parameters from various models can be mathematically combined into a single parameter.
• Parameters from various models can be displayed simultaneously on the same background (different models or ensembles).
EGOWS, June 2007, Dublin
Advanced ComputationsAdvanced ComputationsVisual Weather thanks to powerful mathematical kernel provides several efficient mathematical features for decoding and computing parameters using editable equations.
It also enables to create value-added maps based on user’s equations, e.g.:• Corrected model temperature by previous forecast-error;• Cross-model operations and validations;• Thermal Wind, Icing Probability, Stability Indexes , etc.
EGOWS, June 2007, Dublin
Significant Weather ChartsSignificant Weather ChartsSignificant Weather charts (SIGWX) charts are automatically generated from BUFR messages for any selected area of the world.• Certified for data from
both WAFC centers Exeter and Washington.
• High level charts (SWH).
• Medium level charts (SWM).
EGOWS, June 2007, Dublin
Map EditingMap Editing
Generated maps can be manually edited with:
• Various significant weather elements
• Texts and icons
Edited elements can be automatically encoded and distributes within information network to be available for other users
EGOWS, June 2007, Dublin
Cross-sections & MeteogramsCross-sections & Meteograms
• Route- and time- cross-sections combining different type of observations, models, and objective analysis at once.
• Route cross-sections can be also created by simply clicking the desired route on map.
EGOWS, June 2007, Dublin
ThermodiagramsThermodiagrams
• Skew-T• Stuvegrams• Tephigrams• Aerograms• Hodograms
The look of coordinate system and adiabats is fully configurable.
All significant stability indexes are automatically computed.
Overlay of various thermodiagrams and model-based pseudo-temps
Thermodiagrams can be created on the basis of TEMP, PILOT or model data. The following types are supported:
EGOWS, June 2007, Dublin
OutputOutput
• Regular image files in JPG, PNG, GIF, TIFF, BMP, T4 or PDF format
• Web Map Service (OpenGIS WMS)allows instant integration withGIS tools
• GTS image files with standard headings allowing GTS distribution
• High-quality printout using vector-based processing, enabling output on large scale plotters
• Batch processing/scheduler for background operation
Product output can be obtained in various forms: