® Hosted and Sponsored by ESA/ESRIN The WCS2.0 Met-Ocean Profile 86th OGC Technical Committee...

27
® Hosted and Sponsored by ESA/ESRIN The WCS2.0 Met-Ocean Profile 86th OGC Technical Committee Frascati, Italy Peter Trevelyan 23rd September 2013 Copyright © 2013 Open Geospatial Consortium

Transcript of ® Hosted and Sponsored by ESA/ESRIN The WCS2.0 Met-Ocean Profile 86th OGC Technical Committee...

®

Hosted and Sponsored by ESA/ESRIN

The WCS2.0 Met-Ocean Profile

86th OGC Technical Committee

Frascati, Italy

Peter Trevelyan

23rd September 2013

Copyright © 2013 Open Geospatial Consortium

OGC®

Agenda

• Agenda items• Progress so far this year:

• An explanation of the WCS2.0 core profile:

• A brief description of each of the WCS2.0 operations:

• The key findings of the working group that met in Stennis space centre;

• Specific encodings;

Copyright © 2013 Open Geospatial Consortium

OGC®

The Route to a WCS2.0 profile for Met-Ocean?:-

• A set of use cases has been created and was submitted to the Met-Ocean dwg.

• Formed a “working group” to look at creating a core Met Ocean profile and if necessary propose changes to the WCS2.0 core definition and if required extend the core profile.

• Work within the OGC WCS swg (chaired by Peter Baumann);

• The Met Ocean dwg group to ensure any proposals are “fit for purpose”.

• A workshop was held at USN (Stennis NASA USA) and the outcomes of the meeting have been published.

Copyright © 2013 Open Geospatial Consortium

OGC®

The Route to a WCS2.0 profile for Met-Ocean?:-

• List of Attendees:-– Dr Roy Ladner, US Navy, Naval Meteorology and Oceanography Command– Peter Baumann, Jacobs University– Pete Trevelyan, UK MetOffice– Jeremy Tandy, UK MetOffice– Yann Genin, Meteo-France– Eric Wise, US Air Force Weather Agency– Chris Kuhl, US Air Force Weather Agency (Northrup Grumman)– Joe Work, US Air Force Weather Agency (Raytheon)– Bryant Obando AFLCMC (Mitre)– Jason Pyron ()– Henry Pugh (USN)– Chris Moreau (GD

Copyright © 2013 Open Geospatial Consortium

OGC®

What is The WCS2.0 Core ?:-

• The WCS interface supports retrieval of geospatial coverage data – i.e. digital geospatial information representing a space/time-varying phenomena.

• The WCS interface specifies the following operations that may be invoked by a WCS client and performed by a WCS server:– GetCapabilities – This operation allows a client to request

information about the server’s capabilities and coverage's offered.– DescribeCoverage – This operation allows a client to request

detailed metadata on a selected coverage's offered by a server.– GetCoverage – This operation allows a client to request a coverage

comprised of selected range properties at a selected set of spatio-temporal locations, expedited in some coverage encoding format.

Copyright © 2013 Open Geospatial Consortium

OGC®

Some Key Challenges:-

• A model run is not a coverage in itself as, for example, the same parameter may well have different vertical coordinates systems, e.g. isobaric, height above ground, height of sea level, ICAO height, maximum wind level etc. A model run is really a collection of coverage's.

• NWP output often being irregular in time so it is difficult to even describe a coverage e.g. temperature on isobaric levels as 4D coverage. The following diagram illustrates this:-

Copyright © 2013 Open Geospatial Consortium

T+0 T+18T+6 T+12

Time

1000.0hPa950.0hPa

850.0hPa

500.0hPa

300.0hPa

250.0hPa

200.0hPa

T+24 T+30 T+36 T+42 T+48

(1,1)

(1000.0,0)

(850.0,6)

(0,0)

(8,6)

Missing

Present

(1,0)

(200.0,48)

Some Key Challenges:-

OGC®

Some Key Challenges:-

• The typical output of a NWP model run will have thousands of fields, each of which can be considered to be “a coverage”, this number is unmanageable and a method of grouping them is needed.

• A concept was introduced that treats the contents of NWP (a numerical weather prediction model) as a collection of coverage's grouped by common vertical coordinate. This will reduce the number of coverage's to a manageable level. These “coverage collections” will have an identifier or Collectionid’s, this identifier may have a semantic meaning, e.g. a model name, it is used in GetCapabilities and DescribeModelRun

• The vertical level types is based on the Met-Ocean WMS best practice.

Copyright © 2013 Open Geospatial Consortium

OGC®

Some Key Challenges:-

• These are expressed as “coverage Subtypes in the DescribeModelRun response (see later),– ComputedSurface;– VerticalDependency;– NoVerticalDependency;– NamedRange;

• The grouping of coverage's by vertical level type enables the description of a “4D” coverage.

• The GetCapabilities response to list the reference times for each collectionId. The collectionId may be semantic.

• Models may be grouped together to indicate a common characteristic e.g. Atmospheric models”, “Aviation services” etc.

Copyright © 2013 Open Geospatial Consortium

OGC®

Some Key Challenges:-

• A new service called “DescribeModelRun” is needed to list the coverage’s contained (CoverageIds’) for a given a CollectionId.

• A NWP model will have a “reference” time indicating a start time . The forecast time is always relative to this time.

• A simple service e.g. “latest convection forecast” may be considered as a forecast run with only one available reference time.

• In order to overcome the problem of NWP output often being irregular in time and in the vertical a mask will be used in the “Describe Coverage response” to mask out missing data.  

Copyright © 2013 Open Geospatial Consortium

GetCapabilities Response

Copyright © 2013 Open Geospatial Consortium

class Capabilities

«Data Type»Capabilities

OWSContents

«Data Type»Contents

OWSServiceMetadata

«DataType»Serv iceMetadata

+ extension: Any [0..*]

details omitted here details omitted here

0..1

+contents+serviceMetadata

<metocean:ModelrunSummary> <metocean:memberList> <metocean:ModelRunCollectionSummary> <metocean:CollectionId>UK-Global_model</metocean:CollectionId> <gml:name>The UK operational Global Model</gml:name> <ows:WGS84BoundingBox> <ows:LowerCorner>-180 -90</ows:LowerCorner> <ows:UpperCorner>180 90</ows:UpperCorner> </ows:WGS84BoundingBox> <metocean:ReferenceTime> <metocean:referenceTimeListProperty> <metocean:ReferenceTimeList> <metocean:referenceTime>2012-12-15T00:00:00Z</metocean:referenceTime> <metocean:referenceTime>2012-12-15T12:00:00Z</metocean:referenceTime> <metocean:referenceTime>2012-12-16T00:00:00Z</metocean:referenceTime> <metocean:referenceTime>2012-12-16T12:00:00Z</metocean:referenceTime>

The following is a fragment showing the Met-Ocean extension

Describe Model Run :-• Example Request:-

– http://metofficeserver.gov.uk/demo/ows? service=wcs&version=2.0.0& request=DescribeModelRun& ReferenceTime ="2012-05-15T00:00:00Z"& collectionId=UK_Global_model

• Note the use of the O&M model for the response document;

• <metocean:ModelRunDescription> <metocean:collectionId>UK_Global_model</metocean:collectionId> <gml:name>The UK operational Global Model</gml:name> <ows:WGS84BoundingBox> <ows:LowerCorner>-180 -90</ows:LowerCorner> <ows:UpperCorner>180 90</ows:UpperCorner> </ows:WGS84BoundingBox> <metocean:referenceTime> <gml:TimeInstant>2013-05-15T12:00:00Z</gml:TimeInstant> </metocean:referenceTime> <metocean:sourceObservationProperty>

Copyright © 2013 Open Geospatial Consortium

Describe Model Run :-

• Note the use of the coverage subtype for the CoverageId• The CoverageId is a an identifier and should not be parsed as all the

qualifying information is encoded.• <metocean:coverageIdList>

<metocean:CoverageSummary> <wcs:CoverageId>UK_GLOBAL_2013-05-15T12:00:00Z_ISBL</wcs:CoverageId> <wcs:CoverageSubtype>VerticalDependency</wcs:CoverageSubtype> <metocean:CoverageDescription coverageDescription="IsobaricSurface" xlink:href="www.codes.wmo.int/GRIB2/table4.5/IsobaricSurface"/> </metocean:CoverageSummary > <wcs:CoverageSummary>

Copyright © 2013 Open Geospatial Consortium

OGC®

Describe Model Run Response

Copyright © 2013 Open Geospatial Consortium

GML ModelRunDescription

«FeatureType»SourceObserv ation

«FeatureType»observ ation::OM_Observ ation

+ parameter :NamedValue [0..*]+ phenomenonTime :TM_Object+ resultQuality :DQ_Element [0..*]+ resultTime :TM_Instant+ validTime :TM_Period [0..1]

SF_SamplingFeature

«FeatureType»spatialSamplingFeature::SF_SpatialSamplingFeature

+ positionalAccuracy :DQ_PositionalAccuracy [0..2]

«DataType»ModelRunDescription

- collectionid :NCName- gml:boundedby :gml:Envelope- referenceTime :gml:TimeInstant

«FeatureType»samplingSurface::

SF_SamplingSurface«metaclass»

General Feature Model::GF_FeatureType

+ definition :CharacterString+ isAbstract :Boolean = false+ typeName :LocalNameAbstractGML

«FeatureType»feature::AbstractFeature

+ boundedBy :GM_Envelope [0..1]

«FeatureType»General Feature

Instance::GFI_Feature

«DataType»ModelRunDescriptions

«DataType»Cov erageSummary

«property»- CoverageDescription :string

«DataType»wcs:Cov erageSummary

+featureOfInterest

«instanceOf»

+propertyValueProvider

0..*

Domain+featureOfInterest

1

+sourceObservationProperty

+coverageIdList 1..*

+sampled_Feature

«instanceOf»

«Composition»

OGC®

DescribeCoverage:-

• Example Request:-– http://metofficeserver.gov.uk/demo/ows? service=wcs& version=2.0.0& request=

DescribeCoverage & subset=ReferenceTime("2013-05-01T00:00:00Z")& CoverageId=Atmospheric_NWP_Models_2013-05-15T00:00:00Z_ISBL

• The big addition is the use of data masks:• A data mask is in fact a coverage (ReferenceableGridCoverage)

• The domain set is a ReferenceableGridByArray

• <metocean:dataMaskProperty> <metocean:DataMasks> <metocean:dataMasksProperty> <metocean:DataMaskmemberList> <metocean:fieldMask fieldName="sensibleTemperature" xlink:href="#maskId_AT"> <gmlcov:ReferenceableGridCoverage gml:id="maskId_AT">

Copyright © 2013 Open Geospatial Consortium

OGC®

DescribeCoverage:-

• A field is associated with a data mask:-• Note that a mask can be re-used:-

<metocean:MemberList> <metocean:dataMask fieldName="airTemperature" xlink:href="#maskId_AT/">

<metocean:dataMask fieldName="airTemperature" xlink:href="#maskId_AT/"> <metocean:dataMask fieldName="relativeHumidity" xlink:href="#maskId_HP/"> </metocean:MemberList>

Copyright © 2013 Open Geospatial Consortium

OGC®

Describe Coverage Response

Copyright © 2013 Open Geospatial Consortium

GML DecribeCoverage

«FeatureType»SourceObserv ation

«FeatureType»observation::OM_Observation

+ parameter :NamedValue [0..*]+ phenomenonTime :TM_Object+ resultQuality :DQ_Element [0..*]+ resultTime :TM_Instant+ validTime :TM_Period [0..1]

SF_SamplingFeature

«FeatureType»spatialSamplingFeature::SF_SpatialSamplingFeature

+ positionalAccuracy :DQ_PositionalAccuracy [0..2]

«DataType»CoverageDescription

- coverageid :NCName

«FeatureType»samplingSurface::

SF_SamplingSurface

«metaclass»General Feature Model::

GF_FeatureType

+ definition :CharacterString+ isAbstract :Boolean = false+ typeName :LocalName

AbstractGML

«FeatureType»feature::AbstractFeature

+ boundedBy :GM_Envelope [0..1]

«FeatureType»General Feature

Instance::GFI_Feature

«DataType»CoverageDescriptions

«DataType»MetOceanCoverageMetadata

- dataMaskProperty :DataMasks- dataMaskReferenceProperty :DataMaskReferences

«DataType»DataMaskReferences

«DataType»MemberList

- dataMask :string [1..*]

«DataType»DataMasks

«DataType»DataMaskmemberList

«property»- fieldMask :gmlcov:ReferenceableGridCoverage [1..*]

«DataType»gmlcov :extension +extensionProperty

+dataMasksProperty+dataMaskReferenceProperty

+sourceObservationProperty

+sampled_Feature

«instanceOf»+featureOfInterest

«instanceOf»

+propertyValueProvider

0..*

Domain+featureOfInterest

1

+gmlcov:metadata

«Composition»

1000.0 0 1000.0 6 1000.0 12 1000.0 18 1000.0 24 1000.0 30 1000.0 36 1000.0 42 1000.0 48

950.0 0 950.0 NaN 950.0 12 950.0 18 950.0 24 950.0 30 950.0 36 950.0 NaN 950.0 48

850.0 0 850.0 6 850.0 12 850.0 18 850.0 24 850.0 30 850.0 36 850.0 42 850.0 48

500.0 0 500.0 6 500.0 12 500.0 18 500.0 24 500.0 30 500.0 36 500.0 42 500.0 48

300.0 0 300.0 6 300.0 NaN 300.0 18 300.0 24 300.0 30 300.0 36 300.0 42 300.0 48

250.0 0 250.0 6 250.0 12 250.0 18 250.0 24 250.0 30 250.0 36 250.0 42 250.0 48

200.0 0 200.0 6 200.0 12 200.0 18 200.0 24 200.0 30 200.0 36 200.0 42 200.0 48

1 1 0 0 1 0 0 1 1

0 1 1 1 1 1 1 0 1

0 1 0 1 1 0 1 0 0

1 0 1 0 1 0 1 1 1

1 1 0 1 0 1 0 1 0

1 0 1 0 0 0 0 0 1

1 1 1 1 1 1 1 1 1

ReferenceableGridByArray

gml:rangeSet

Describe Coverage Data Mask(metocean:dataMaskProperty)

OGC®

Extra GetCoverage Operations:-

• The Met-Ocean community has made extensive use of a data model used by NetCDF (CDM) that is closely related to CSML (Climate Science Markup Language).

• The most common feature types are:-Point Collection, GRID, GRID series, Trajectories, Profiles and Time/Cross Sections.

• Many use cases are based on these feature types.• The goal was to design a web interface (built on WCS2.0)

to support these feature types i.e. GetCoverage operations need to support these feature types.

Copyright © 2013 Open Geospatial Consortium

OGC®

GetCoverage:

Copyright © 2013 Open Geospatial Consortium

• The GetCoverage request encodes the type of extraction based on a simple trim or slice; it consists of:-• The Coverage id (mandatory);• A Trim operation that requires a low and high trim

point; • A Slice operation that reduces the dimension by one

and requires the slice axis;• The dimension or axis name that is to be trimmed or

sliced.• Service Parameters;

OGC®

GetCoverage:

Copyright © 2013 Open Geospatial Consortium

class GetCov erage

«DataType»GetCov erage

+ request: CharacterString = GetCoverage {readOnly}+ coverageId: NCName

«DataType»DimensionSubset

+ dimension: NCname

«DataType»DimensionTrim

+ trimLow: Real [0..1]+ trimHigh: Real [0..1]

«DataType»DimensionSlice

+ slicePoint: Real

«Data Type»RequestBase

+ service: string = WCS {readOnly}+ version: string+ extension: Any [0..*]

+dimensionSubset

0..*

• The basic Trim and Slice Operations

SliceTrim

Reducing the dimensions i.e. extracting a point, profile or 2D level using a simple slice

The primary use of trimming is to sub-set the data on the original grid

OGC®

• The extensions are designed to – To extend the output feature types e.g.

• Cross sections;• Vertical profiles;• 2/3/4D trajectories;• Time Series

– To extend operations e.g.• Interpolation;• Re-projection;• Aggregation.

• It is not the intention to go thro each extension, but to outline the principles.

Copyright © 2013 Open Geospatial Consortium

GetCoverage MetOC:

OGC®

GetCoverage MetOC Adaption:

• Extending the simple slice and trim:-– Add a UOM attribute to SlicePoint.

• SlicePoint has type “string” which is not easy to validate:– Use Parameter Subset:-

• This allows the user to introduce extra output coverages such as trajectory and cross sections that require a base line defines as a set of way points.

• Introduce a new element fieldSubset:- – fieldSubset allows the extraction of a specific parameter name

belonging to a Coverage identified by a unique CoverageId.

Copyright © 2013 Open Geospatial Consortium

OGC®

GetCoverage MetOC:

• Interpolation and re-projection: – Use the existing work from the image community to define a

subsetting CRS and output CRS.• The subsetting CRS defines the CRS on which the subsetting

parameters are based. If it is omitted then the original CRS is used.• The subsetting CRS may be compound e.g. Map CRS (54004)

combined with another axis e.g. a vertical CRS (isobaric)• An output CRS that defines the re-projection CRS.

– New Element: TrimGridOffset:- Interpolation interval• This is used to define the interpolation interval:• <wcsmo:TrimGridOffset uomLabels=" Deg ">1.0</wcsmo:TrimGridOffset>

Copyright © 2013 Open Geospatial Consortium

OGC®

GetCoverage MetOC:

• An example:- This trajectory has three dimensions i.e. a width, a height and a specified number of sample points along the direction of travel.

• The way points of the trajectory are defined (in this example) in latitude, longitude, height and time. The sample points are equally spaced in time i.e. Using the time of the first and last points.

Copyright © 2013 Open Geospatial Consortium

Courtesy of NCAR

OGC®

GetCoverage MetOC:

• The fieldSubset is used to specify the parameters e.g. temperature and wind

• The subsetting CRS is used to specify the CRS of the Trim bounds e.g. epsg 4326 and Geographic height.

• The Trim bounds are used to specify the depth and lateral extents, in this example the axis names are Corridor lateral (UOM Km), Corridor vertical (UOM Km) and Corridor_Axis_Sample_Size i.e. the number of sample points.

• The gridOffsets represent the resolution of the resulting corridor grid in each of the three dimensions, in this example 0.5Km in the vertical and 5Km in the horizontal.

• The OutputFeatureDefinition that is used to specify the way points specified in the subsetting CRS.

Copyright © 2013 Open Geospatial Consortium

Courtesy of NCAR

OGC®

Copyright © 2013 Open Geospatial Consortium

Questions:-

Thanks