280 likes | 352 Views
Explore the UK Climate Projections User Interface (UKCP-UI) architecture, data products & delivery formats, WPS protocol, deployment structure, advantages & disadvantages of WPS, and modifications for high-demand periods.
E N D
Centre for Environmental Data Archival RAL, UK UK Climate Projections User Interface Stephen Pascoe,Ag Stephens, Alan Iwi, Peter Norton, David Alderson, Philip James, Simon Abele
Introduction • Peter Norton • A contractor from Tessella • Worked on the Web Processing Service (WPS) and the data processing code www.tessella.com
Overview • What are the UK Climate Projections • Quick look at the UKCP User Interface • A Closer look at the WPS • The UKCP-UI Deployment Architecture
UK Climate Projections • Funded by UK Department of Environment DEFRA • Designed to serve as the evidence base for climate change mitigation decisions by public and private UK bodies • 7 years work by UK Met. Office • 2 year project at CEDA to build the user interface UKCP-UI
UKCP09 Data Product • Probabilistic: • Ensemble of model runs • Summarised into CDFs and PDFs • Regional and sub-regional resolution • 25km grid over land • Administrative regions and river basins • Weather Generator
Selecting a location • Different methods of selection 25Km Rotated Grid
Selecting a location 5Km Grid Regions
Choosing your output • Select from different output types • Can name the request
Graphical Output Preview Image Adjust Variables Download Options Plot Settings
Data product delivery • The UKCP output formats • Publication quality plots: PNG, PDF, PS, JPG • CF-NetCDF. via subsetting with cdat_lite (cdms) • CSV via nappy NetCDF<->NASA Ames library • Shapefiles via shapelib • Delivered in a zipfile with project-specific metadata • Duplicate outputs avoided using caching • Resubmit jobs via the “MyJobs” page • Share some jobs via URLs
Web Processing Service • OGC Standard for asynchronous processing • A WPS service offers a set of Processes that operate on Inputs producing Outputs • Supports process status polling • Percent complete • Outputs available
COWS WPS • COWS handles OGC interfaces • “Plug-In” process modules • Synchronous processes run in the server • Asynchronous processes run via Sun Grid Engine • Cost estimation • SGE scheduling • Configurable queues for fast and slow jobs • Control number of simultaneous requests • Processing occurs on separate nodes
Evaluating the use of a WPS • Advantages: • Someone has thought about the interface before • Useful access (via http) directly to a process • Clear division between UI and Application layer code • Disadvantages: • Need to negotiate a clear interface (XML) between UI and Application layers • Had to follow (or extend) a specification
Original Server Structure ddp-ps5 ddp-ps4 ddp-admin1 haproxy SGE master userdb (postgres) ddp-adminbak1 mirror state cachebak cache ddp-ps1 ddp-ps2 ddp-ps3 ddp-ui1 UI (php) geoserver (tomcat) spatialdb (postgres) ddp-u2i UI (php) geoserver (tomcat) spatialdb (postgres) ddp-ui3 UI (php) geoserver (tomcat) spatialdb (postgres) ddp-app1 WMS (python) WPS (python) ddp-app2 WMS (python) WPS (python) ddp-app3 WMS (python) WPS (python) ddp-store1 SGE execd ddp-store2 SGE execd ddp-store3 SGE execd archive acache 1 archive acache 2 archive acache 3 Master server and backup Physical servers Virtual Machines Temporary servers for high-demand launch period
Requirements shift “We need 1,000 simultaneous users” from 50 • Extensive system testing: • Login, Request Builder, WMS, WPS, download • Scaled up Xen VM system x3 • Found several critical optimisations
ddp-ps5 ddp-ps4 ddp-admin1 haproxy SGE master userdb (postgres) ddp-adminbak1 mirror state cachebak cache ddp-ps1 ddp-ps2 ddp-ps3 ddp-ps6 ddp-ps7 ddp-ps8 ddp-ui1 UI (php) geoserver (tomcat) spatialdb (postgres) ddp-u2i UI (php) geoserver (tomcat) spatialdb (postgres) ddp-ui3 UI (php) geoserver (tomcat) spatialdb (postgres) ddp-ui6 UI (php) geoserver (tomcat) spatialdb (postgres) ddp-ui7 UI (php) geoserver (tomcat) spatialdb (postgres) ddp-ui8 UI (php) geoserver (tomcat) spatialdb (postgres) ddp-app1 WMS (python) WPS (python) ddp-app2 WMS (python) WPS (python) ddp-app3 WMS (python) WPS (python) ddp-app6 WMS (python) WPS (python) ddp-app7 WMS (python) WPS (python) ddp-app8 WMS (python) WPS (python) ddp-store1 SGE execd ddp-store2 SGE execd ddp-store3 SGE execd ddp-ps9 ddp-ps10 ddp-ps11 ddp-ui9 UI (php) geoserver (tomcat) spatialdb (postgres) ddp-ui10 UI (php) geoserver (tomcat) spatialdb (postgres) ddp-ui11 UI (php) geoserver (tomcat) spatialdb (postgres) archive acache 1 archive acache 2 archive acache 3 ddp-app9 WMS (python) WPS (python) ddp-app10 WMS (python) WPS (python) ddp-app11 WMS (python) WPS (python) Master server and backup Physical servers Virtual Machines Temporary servers for high-demand launch period Modified Server Structure
Thank you Stephen Pascoe,Ag Stephens, Alan Iwi, Peter Norton, David Alderson, Philip James, Simon Abele