280 likes | 349 Views
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
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