Top Banner
GO-ESSP LLNL, June 2006 CSML – Stocktake and Forward Look Andrew Woolf (A. Woolf @ rl .ac. uk ), Dominic Lowe CCLRC Rutherford Appleton Laboratory with contributions from NDG Team (Bryan Lawrence, Roy Lowry, Kerstin Kleese van Dam, Ray Cramer, Siva Kondapalli, Sue Latham, Kevin O’Neill, Ag Stephens)
21

GO-ESSP LLNL, June 2006 CSML – Stocktake and Forward Look Andrew Woolf Dominic CCLRC Rutherford Appleton Laboratory.

Jan 17, 2018

Download

Documents

Esther Phelps

GO-ESSP LLNL, June 2006 CSML: History NERC DataGrid: the integration problem –multiple organisations, formats, storage mechanisms (file, relational) –only commonality is data semantics
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: GO-ESSP LLNL, June 2006 CSML – Stocktake and Forward Look Andrew Woolf Dominic CCLRC Rutherford Appleton Laboratory.

GO-ESSPLLNL, June 2006

CSML – Stocktake and Forward Look

Andrew Woolf ([email protected]), Dominic LoweCCLRC Rutherford Appleton Laboratory

with contributions from NDG Team (Bryan Lawrence, Roy Lowry, Kerstin Kleese van Dam, Ray Cramer, Siva

Kondapalli, Sue Latham, Kevin O’Neill, Ag Stephens)

Page 2: GO-ESSP LLNL, June 2006 CSML – Stocktake and Forward Look Andrew Woolf Dominic CCLRC Rutherford Appleton Laboratory.

GO-ESSPLLNL, June 2006

Outline

• CSML: History• CSML: Present• CSML: Future

Page 3: GO-ESSP LLNL, June 2006 CSML – Stocktake and Forward Look Andrew Woolf Dominic CCLRC Rutherford Appleton Laboratory.

GO-ESSPLLNL, June 2006

CSML: History• NERC DataGrid: the integration problem

– multiple organisations, formats, storage mechanisms (file, relational)

– only commonality is data semantics

Page 4: GO-ESSP LLNL, June 2006 CSML – Stocktake and Forward Look Andrew Woolf Dominic CCLRC Rutherford Appleton Laboratory.

GO-ESSPLLNL, June 2006

CSML: History• The standards-based approach

– “Conceptual modelling is the process of creating an abstract description of some portion of the real world and/or a set of related concepts.” (ISO 19101)

NDG

Universe of discourse

...

startTime[1]bottomTime[1]salinity[*]temperature[*]depth[*]

CTDProfile

...

...

Feature types

ISO 19103

<?xml version="1.0" encoding="UTF-8"?> <schema targetNamespace="http://ndg.nerc.ac.uk/csml" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:csml="http://ndg.nerc.ac.uk/csml" xmlns:om="http://www.opengis.net/om" xmlns:gml="http://www.opengis.net/gml" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.1"> <annotation> <documentation>CSML application schema</documentation> </annotation> <!--====================================================================== --> <import namespace="http://www.opengis.net/gml" schemaLocation="GML-3.1.0/base/gml.xsd"/> <import namespace="http://www.opengis.net/om" schemaLocation="phenomenon.xsd"/> <!--====================================================================== --> <!--===== Root element for CSML dataset =====--> <!--====================================================================== --> <complexType name="DatasetType"> <complexContent> <extension base="gml:AbstractGMLType"> <sequence> <element ref="csml:UnitDefinitions" minOccurs="0" maxOccurs="unbounded"/> <element ref="csml:ReferenceSystemDefinitions" minOccurs="0" maxOccurs="unbounded"/> <element ref="csml:PhenomenonDefinitions" minOccurs="0"/> <element ref="csml:_ArrayDescriptor" minOccurs="0" maxOccurs="unbounded"/> <element ref="gml:FeatureCollection" minOccurs="0" maxOccurs="unbounded"/> </sequence> </extension> </complexContent> </complexType> <element name="Dataset" type="csml:DatasetType"/> <!--====================================================================== --> <!--===== Dictionary/definition elements =====--> <!--====================================================================== --> <complexType name="ReferenceSystemDefinitionsType"> <complexContent> <extension base="gml:DictionaryType"/> </complexContent> </complexType> <element name="ReferenceSystemDefinitions" type="csml:ReferenceSystemDefinitionsType"/> <complexType name="ReferenceSystemDefinitionsPropertyType"> <sequence> <element ref="csml:ReferenceSystemDefinitions" minOccurs="0"/> </sequence> <attributeGroup ref="gml:AssociationAttributeGroup"/> </complexType>

Application schema

ISO 19109

FTC

ISO 19110 <gml:definitionMember> <om:Phenomenon gml:id="taxon"> <gml:description>The taxon name</gml:description> <gml:name codeSpace="http://www.vliz.be">taxon</gml:name> </om:Phenomenon> </gml:definitionMember> </NDGPhenomenonDefinitions> <!--===================================================================--> <gml:FeatureCollection> <!-- ============================================================== --> <gml:featureMember> <NDGPointFeature gml:id="ICES_100"> <NDGPointDomain> <domainReference> <NDGPosition srsName="urn:EPSG:geographicCRS:4979" axisLabels="Lat Long" uomLabels="degree degree"> <location>55.25 6.5</location> </NDGPosition> </domainReference> </NDGPointDomain> <gml:rangeSet> <gml:DataBlock> <gml:rangeParameters> <gml:CompositeValue> <gml:valueComponents> <gml:measure uom="#tn"/> <gml:measure uom="#amount"/> <gml:measure uom="#gsm"/> </gml:valueComponents> </gml:CompositeValue> </gml:rangeParameters> <gml:tupleList> 'ANTHOZOA',63.1,missing 'Scoloplos armiger',66.1,missing 'Spio filicornis',10,missing 'Spiophanes bombyx',60.3,missing 'Capitellidae',131.8,missing 'Pholoe',10,missing 'Owenia fusiformis',23.4,missing 'Hypereteone lactea',6.8,missing 'Anaitides groenlandica',13.2,missing 'Anaitides mucosa',6.8,missing

ISO 19118

Page 5: GO-ESSP LLNL, June 2006 CSML – Stocktake and Forward Look Andrew Woolf Dominic CCLRC Rutherford Appleton Laboratory.

GO-ESSPLLNL, June 2006

CSML: History

• Is this standards stuff relevant?! One example:– EU INSPIRE Directive

• Establishes European Spatial Data Infrastructure – mandating interoperability of environmental data across EEA

• “[ISO/OGC] standards and specifications ... will be considered as reference material for the Consolidation Team and relevant Drafting Teams.” (INSPIRE Work Programme Preparatory Phase 2005 – 2006)

• Annex III Data Themes, incl.:– Atmospheric Conditions– Meteorological geographical features– Oceanographic geographical features– Sea regions

Page 6: GO-ESSP LLNL, June 2006 CSML – Stocktake and Forward Look Andrew Woolf Dominic CCLRC Rutherford Appleton Laboratory.

GO-ESSPLLNL, June 2006

CSML: Historygrep ‘ISO|OGC|WFS|WCS|WMS|GML’ {AGU,AMS,GO-ESSP}/* | wc

0

1

2

3

4

5

6

7

1 (2003) 2 (2003) 3 (2004) 4 (2005) 5 (2006)

GO-ESSP

?0

1

2

3

4

5

1998 1999 2000 2001 2002 2003 2004 2005 2006

AMS (all)

0

5

10

15

20

25

1998 1999 2000 2001 2002 2003 2004 2005 2006

AGU (Spring and Fall)

Page 7: GO-ESSP LLNL, June 2006 CSML – Stocktake and Forward Look Andrew Woolf Dominic CCLRC Rutherford Appleton Laboratory.

GO-ESSPLLNL, June 2006

CSML: History

British OceanographicData Centre

British AtmosphericData Centre

ISO standards

‘Governance Principle’

Climate Science Modelling Language

«FeatureType»AbstractGeometryFeature

«FeatureType»AbstractStaticCoverageFeature

«FeatureType»AbstractSeriesCoverageFeature

+domainSet : AbstractDomain+coverageFunction : MappingRule

«FeatureType»AbstractCoverageFeature

+domainSet+rangeSet+coverageFunction

«FeatureType»GML::AbstractDiscreteCoverage

+track : Trajectory

«FeatureType»TrajectoryFeature

+domainSet : ProfileDomain

«FeatureType»ProfileFeature

+domainSet : PointDomain

«FeatureType»PointFeature

«FeatureType»SectionFeature

+domainSet : GridDomain

«FeatureType»GridFeature

+domainSet : PointSeriesDomain

«FeatureType»PointSeriesFeature

+domainSet : ProfileSeriesDomain

«FeatureType»ProfileSeriesFeature

«FeatureType»SectionSeriesFeature

+domainSet : GridSeriesDomain

«FeatureType»GridSeriesFeature

{domainSet.domainReference = Position}

{domainSet.domainReference = Trajectory}

OGC Obs & Meas::Phenomenon

+parameter

{+,-}phenomenon{+,-}seriesFeature{+,-}gridI{+,-}gridJ{+,-}gridK

«Enumeration»IncrementOrder

+scanOrder[0..1] : Sequence<IncrementOrder>

«DataType»MappingRule

+id[0..1]+metaDataProperty[0..1]+description[0..1]+name[0..1]+boundedBy[0..1]

«DataType»GML::AbstractFeature

<?xml version="1.0" encoding="UTF-8"?><schema targetNamespace="http://ndg.nerc.ac.uk/csml" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:csml="http://ndg.nerc.ac.uk/csml" xmlns:om="http://www.opengis.net/om" xmlns:gml="http://www.opengis.net/gml" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.1"> <annotation> <documentation>CSML application schema</documentation> </annotation> <!--====================================================================== --> <import namespace="http://www.opengis.net/gml" schemaLocation="GML-3.1.0/base/gml.xsd"/> <import namespace="http://www.opengis.net/om" schemaLocation="phenomenon.xsd"/> <!--====================================================================== --> <!--===== Root element for CSML dataset =====--> <!--====================================================================== --> <complexType name="DatasetType"> <complexContent> <extension base="gml:AbstractGMLType"> <sequence> <element ref="csml:UnitDefinitions" minOccurs="0" maxOccurs="unbounded"/> <element ref="csml:ReferenceSystemDefinitions" minOccurs="0" maxOccurs="unbounded"/> <element ref="csml:PhenomenonDefinitions" minOccurs="0"/> <element ref="csml:_ArrayDescriptor" minOccurs="0" maxOccurs="unbounded"/> <element ref="gml:FeatureCollection" minOccurs="0" maxOccurs="unbounded"/> </sequence> </extension> </complexContent> </complexType> <element name="Dataset" type="csml:DatasetType"/> <!--====================================================================== --> <!--===== Dictionary/definition elements =====--> <!--====================================================================== --> <complexType name="ReferenceSystemDefinitionsType"> <complexContent> <extension base="gml:DictionaryType"/> </complexContent> </complexType> <element name="ReferenceSystemDefinitions" type="csml:ReferenceSystemDefinitionsType"/> <complexType name="ReferenceSystemDefinitionsPropertyType"> <sequence> <element ref="csml:ReferenceSystemDefinitions" minOccurs="0"/> </sequence> <attributeGroup ref="gml:AssociationAttributeGroup"/> </complexType>

Conceptual model Schemas

Tooling

Page 8: GO-ESSP LLNL, June 2006 CSML – Stocktake and Forward Look Andrew Woolf Dominic CCLRC Rutherford Appleton Laboratory.

GO-ESSPLLNL, June 2006

CSML: PresentConceptual model

numerical weather prediction model, ocean general circulation model

Timeseries of gridded parameter fields.GridSeriesFeature

vertical or scanning radar, shipborne ADCP, thermistor chain timeseries

Series of profile-type measurements.ProfileSeriesFeature

tidegauge, rainfall timeseriesSeries of single datum measurements.PointSeriesFeature

gridded analysis fieldSingle time-snapshot of a gridded field.GridFeature

wind sounding, XBT, CTD, radiosonde

Single ‘profile’ of some parameter along a directed line in space.ProfileFeature

raingauge measurementSingle point measurement.PointFeature

ship’s cruise track, aircraft’s flight pathDiscrete path in time and space of a platform or instrument.TrajectoryFeature

ExamplesDescriptionCSML feature type

‘Coverage’ feature typesPure geometry feature type

ProfileSeriesFeature

ProfileFeature

GridFeature

Page 9: GO-ESSP LLNL, June 2006 CSML – Stocktake and Forward Look Andrew Woolf Dominic CCLRC Rutherford Appleton Laboratory.

GO-ESSPLLNL, June 2006

CSML: Present• GML Application schema

– all sections optional

CSML Dataset

csml:UnitDefinitions

csml:ReferenceSystemDefinitions

csml:PhenomenonDefinitions

Storage descriptors

gml:FeatureCollection

csml:NetCDFExtract, csml:AggregatedArray,csml:GRIBExtract, csml:NASAAmesExtract, etc

(cf. UDUNITS.xml)

GMLdictionaries

(cf. CFStandardNames.xml)

Page 10: GO-ESSP LLNL, June 2006 CSML – Stocktake and Forward Look Andrew Woolf Dominic CCLRC Rutherford Appleton Laboratory.

GO-ESSPLLNL, June 2006

CSML: Present• Tooling

– Scanner

• uses ‘feature file map’ to characterise relationship between feature type and directory/files being scanned

• individual Python classes for GML classes, feature types, dataset, etc all have toXML() method for generating GML/CSML

• instances populated by Scanner

$ python csmlscan.py -d /badc/ecmwf-e40/data/gp/gp/ap-o era40gridseries.xml -c GridSeriesFeature -t 'time'

CDAT/cdunif+

csmlscanCSMLFile.xml

Page 11: GO-ESSP LLNL, June 2006 CSML – Stocktake and Forward Look Andrew Woolf Dominic CCLRC Rutherford Appleton Laboratory.

GO-ESSPLLNL, June 2006

CSML: Present• Tooling

– Parser

• all GML/CSML Python classes have fromXML() method

• called recursively by Parser on ElementTree representation

tree = ElementTree(file=CSMLFile) dataset = Dataset()dataset.fromXML(tree.getroot())

...feature = dataset.featureCollection.members[0]variablePhenomenon = feature.parameterunits = feature.rangeSet.aggregatedArray.uom...

csml = dataset.toXML()

ElementTree+

parserCSMLFile.xmlDataset

NetCDFExtract

GridSeriesFeature

featureMember

AggregatedArray

rangeSet

Page 12: GO-ESSP LLNL, June 2006 CSML – Stocktake and Forward Look Andrew Woolf Dominic CCLRC Rutherford Appleton Laboratory.

GO-ESSPLLNL, June 2006

CSML: Present

• Tooling– API

• experimental at present• defined against CSML data model• e.g.: Dataset.getFeatureList(),

GridSeriesFeature.getDomain(), GridSeriesFeature.subsetToGridSeries()

– Different feature types may support different operations (part of UML model!)

– ‘Subsetting’ regarded as ‘extracting a feature’

Page 13: GO-ESSP LLNL, June 2006 CSML – Stocktake and Forward Look Andrew Woolf Dominic CCLRC Rutherford Appleton Laboratory.

GO-ESSPLLNL, June 2006

CSML: Present

• Higher-level services– BADC DataExtractor– OGC Web Coverage

Service• extension of GALEON

server

http://glue.badc.rl.ac.uk/cgi-bin/TPAC/WCS-CSML?SERVICE=WCS&VERSION=1.0.0&REQUEST=GetCoverage&COVERAGE=solar_3&CRS=EPSG:4326&BBOX=0,-90,356,90&TIME=2790-01-01/2790-05-01&FORMAT=CF-netCDF&RESX=2&RESY=2

Page 14: GO-ESSP LLNL, June 2006 CSML – Stocktake and Forward Look Andrew Woolf Dominic CCLRC Rutherford Appleton Laboratory.

GO-ESSPLLNL, June 2006

CSML: PresentCSML (and friends): software stack

Page 15: GO-ESSP LLNL, June 2006 CSML – Stocktake and Forward Look Andrew Woolf Dominic CCLRC Rutherford Appleton Laboratory.

GO-ESSPLLNL, June 2006

CSML PresentOther User Example: Norwegian Met Office

Page 16: GO-ESSP LLNL, June 2006 CSML – Stocktake and Forward Look Andrew Woolf Dominic CCLRC Rutherford Appleton Laboratory.

GO-ESSPLLNL, June 2006

CSML: Future

• Immediate issues (v2)– Feature types:

• Swath• ProfileSeries{Radar, Section, ProfileSeries}?• Lose ‘composite domain pattern’?

– GML 3.2 ( ISO 19136)– remove ‘storage descriptors’ from core CSML

schema– deployment, testing

Page 17: GO-ESSP LLNL, June 2006 CSML – Stocktake and Forward Look Andrew Woolf Dominic CCLRC Rutherford Appleton Laboratory.

GO-ESSPLLNL, June 2006

CSML: Future

• Longer-term issues– GML irregular grids – CSML extends gml:Grid

(evolving standards is slooow!)– ISO 19131 ‘Data Product Specifications’ (e.g.

CRS should be defined in DPS, not AS)– GML & file-based data (will be discussed next

week at OGC TC in Edinburgh)

Page 18: GO-ESSP LLNL, June 2006 CSML – Stocktake and Forward Look Andrew Woolf Dominic CCLRC Rutherford Appleton Laboratory.

GO-ESSPLLNL, June 2006

CSML: FutureOther activities:

Universe of discourse

Feature types

ISO 19103

Application schema

ISO 19109

ISO 19110 <gml:definitionMember> <om:Phenomenon gml:id="taxon"> <gml:description>The taxon name</gml:description> <gml:name codeSpace="http://www.vliz.be">taxon</gml:name> </om:Phenomenon> </gml:definitionMember> </NDGPhenomenonDefinitions> <!--===================================================================--> <gml:FeatureCollection> <!-- ============================================================== --> <gml:featureMember> <NDGPointFeature gml:id="ICES_100"> <NDGPointDomain> <domainReference> <NDGPosition srsName="urn:EPSG:geographicCRS:4979" axisLabels="Lat Long" uomLabels="degree degree"> <location>55.25 6.5</location> </NDGPosition>'Anaitides mucosa',6.8,missing

ISO 19118

EUproject

‘MOTIIVE’

EUproject‘RISE’

GALEONMetOfficeoperationalmeteorology netCDF

datastandards

RISE and MOTIIVEare both pilots for INSPIRE

Page 19: GO-ESSP LLNL, June 2006 CSML – Stocktake and Forward Look Andrew Woolf Dominic CCLRC Rutherford Appleton Laboratory.

GO-ESSPLLNL, June 2006

CSML: Future• The CSML ‘niche’

– set of base feature types for specialising or using as-is

cd CSML future

CF v ocab Obs & Meas

Climate CRS

CSML

+ GridSeriesFeature+ Profi leSeriesFeature

MyModel

+ Ensemble

+ EnsembleMember+ Mooring

«import»

«import» «import»

«import»

cd MyModel

«interface»CSML::ProfileSeriesFeature

+ domainSet: = ProfileSeriesDomain+ parameter: om:Phenomenon+ rangeSet:

Mooring

+ averaging: + blowover: + deploymentEnd: + deploymentStart:

«interface»CSML::GridSeriesFeature

+ domainSet: = GridSeriesDomain+ parameter: om:Phenomenon+ rangeSet:

Ensemble

+ ensembleParameters:

EnsembleMember

+ memberNumber: + paramValues:

*

Page 20: GO-ESSP LLNL, June 2006 CSML – Stocktake and Forward Look Andrew Woolf Dominic CCLRC Rutherford Appleton Laboratory.

GO-ESSPLLNL, June 2006

CSML: Future

• CSML ‘out-of-the-box’– conceptual model– GML application schema– ‘geometric affordances’ (i.e. operations for

generic Grid, Profile, Point coverages + series)