Title: Example application
1Example application
- Developing WKML to grid-enable environmental
applications - Gen-Tao Chiang and Toby White
- thanks to Rik Tyer (Daresbury), Andrew Walker
(Cambridge), Ian Rutt (Swansea)
2Aim to provide a complete job and data life-cyle
- We aim to provide a complete job and data
life-cycle for environmental science applications
within a grid environment - Our aim is to make grids usable
- Running compute jobs on a gridCollating data and
metadataVisualising the outputs
3eScience tools to be used
- Security
- Myproxy upload tool
- Computing Grid
- Condor pool (including CamGrid)
- Globus 4 (Pre WS and WS GRAM)
- MPI enabled PBS Clusters
- RMCS desktop job submission with data and
metadata integration (see eMinerals talk) - Data Grid
- Storage Resource Broker (SRB)
- TobysSRB and Scommands interfaces
- Metadata management Rcommands
4NIEeS grid infrastructure
5eXtensible Markup Language (XML)
- XML allows information to be encoded with a
meaningful structure - XML is good for information exchange, and can
easily be extended to include user-specified tags - We aim for our applications to generate XML
output - We use KML to represent the geospatial
information within environmental science
applications - KML is used in Google Earth
6WKML KML output from Fortran applications
- Many environmental simulation codes are written
in Fortran - FoX Tobys Fortran library to handle XML data
- We have developed the WKML library within FoX to
writing KML output files for visualisation in
geobrowsers such as Google Earth
7Example WKML functions
- Several higher level WKML functions to create
points, lines, polygons and contours. - kmlCreatePoints
- kmlCreateLines
- kmlCreatePolygon
- kmlCreateCells
- kmlCreateContours
- Also some netCDF to KML functions
8How would you do this in Fortran?
- call kmlAddPoint(x,y)
- write(10,'(a)') 'ltPointgt'
- write(10,'(a)') 'ltcoordinatesgt'
- write(10,'(16f8,a1,16f8)') x, ',', y
- write(10,'(a)') 'lt/coordinatesgt'
- write(10,'(a)') 'lt/Pointgt
- call kmlAddContour(xvec,yvec,zmat,contour)
- ... endless ...
9WKML usage example
- call kmlBeginFile(myfile, kmlfilename, -1)
- call kmlOpenDocument(myfile,point-test)
- call kmlCreatePointStyle(myfile,color"orange")
- call kmlOpenFolder(myfile,namereloc)
- call kmlCreatePoints(myfile,longitude,latitude,
- colororange,scalemagnitude(i))
- call kmlCloseFolder(myfile)
- call kmlCloseDocument(myfile)
- call kmlFinishFile(myfile)
Only 8 lines to write the whole file!
WKML Userguide Scispace and Gridinfo
10Case study 1 HypoDD seismology code
- Earthquake location algorithm calculates the
positions of the hypocentres of a series of
earthquakes. Input file contains initial guesses
for the hypocentre locations - Program generates the final best estimate of
hypocenters through inverse modelling
11Google map plots the data and predicted new
hypocentre locations
12Case study 2 Glimmer glaciology code
- GLIMMER a glaciology model
- GENIE land ice model with multiply enabled
regionsThe case study aims to represent the
thickness of an ice sheet in three dimensions
13Ice is represented by z-axis contours
14Case study 3 remote sensing
- MCHSIM a hyperspectral remote sensing model for
coastal water quality applicationIt reads in
several parameters such as chlorophyll, dissolved
organic matters and suspended sediments - Simulates the radiance, irradiance,
reflectanceetc of water surface
15First attempt using fine grid of pixels
16Better to use a contour approach we have
implemented
17Tomorrow we will demonstrate the complete job
life cycle
- from original dataparameter sweeprunning job on
remote grid resources (National Grid
Service)one-click to visualise output using
Google Earth