ConceptioArchiveOpen Geospatial Consortium (OGC)
Open Geospatial Consortium (OGC)open access

OGC WaterML 2.0: Part 1- Timeseries (version 2.0.1) — OGC 10-126r4

Open Geospatial Consortium · Open Geospatial Consortium (OGC)
Open Geospatial Consortium (OGC) · Standards · License: Open Access
Open Source ↗Direct PDF ↓
geospatialogcogc10opengeospatialconsortiumparttimeserieswaterml
ogc, geospatial, standard, open geospatial consortium, waterml, ogc waterml, 10-126r4, ogc 10-126r4, 2.0.1, 2.0, part, timeseries

OGC WaterML 2.0

OGC 10-126r4

Open Geospatial Consortium Approval Date: 2012-06-23 Publication Date: 2014-02-24 Reference number of this OGC® project document: OGC 10-126r4 OGC name of this OGC® project document: http://www.opengis.net/doc/IS/waterml/2.0.1

Version: 2.0.1 Category: OGC® Implementation Standard - Corrigendum Editor: Peter Taylor

OGC® WaterML 2.0: Part 1- Timeseries Copyright notice Copyright © 2012-2014 Open Geospatial Consortium To obtain additional rights of use, visit http://www.opengeospatial.org/legal/.

Notice This document is an OGC Member approved international standard. This document is available on a royalty free, non-discriminatory basis. Recipients of this document are invited to submit, with their comments, notification of any relevant patent rights of which they are aware and to provide supporting documentation.

Document type: Document subtype: Document stage: Document language:

OGC® Implementation Standard - Corrigendum Encoding Approved for Public Release English

OGC 10-126r4

WaterML 2.0

License Agreement Permission is hereby granted by the Open Geospatial Consortium, ("Licensor"), free of charge and subject to the terms set forth below, to any person obtaining a copy of this Intellectual Property and any associated documentation, to deal in the Intellectual Property without restriction (except as set forth below), including without limitation the rights to implement, use, copy, modify, merge, publish, distribute, and/or sublicense copies of the Intellectual Property, and to permit persons to whom the Intellectual Property is furnished to do so, provided that all copyright notices on the intellectual property are retained intact and that each person to whom the Intellectual Property is furnished agrees to the terms of this Agreement. If you modify the Intellectual Property, all copies of the modified Intellectual Property must include, in addition to the above copyright notice, a notice that the Intellectual Property includes modifications that have not been approved or adopted by LICENSOR. THIS LICENSE IS A COPYRIGHT LICENSE ONLY, AND DOES NOT CONVEY ANY RIGHTS UNDER ANY PATENTS THAT MAY BE IN FORCE ANYWHERE IN THE WORLD. THE INTELLECTUAL PROPERTY IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE DO NOT WARRANT THAT THE FUNCTIONS CONTAINED IN THE INTELLECTUAL PROPERTY WILL MEET YOUR REQUIREMENTS OR THAT THE OPERATION OF THE INTELLECTUAL PROPERTY WILL BE UNINTERRUPTED OR ERROR FREE. ANY USE OF THE INTELLECTUAL PROPERTY SHALL BE MADE ENTIRELY AT THE USER’S OWN RISK. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ANY CONTRIBUTOR OF INTELLECTUAL PROPERTY RIGHTS TO THE INTELLECTUAL PROPERTY BE LIABLE FOR ANY CLAIM, OR ANY DIRECT, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM ANY ALLEGED INFRINGEMENT OR ANY LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR UNDER ANY OTHER LEGAL THEORY, ARISING OUT OF OR IN CONNECTION WITH THE IMPLEMENTATION, USE, COMMERCIALIZATION OR PERFORMANCE OF THIS INTELLECTUAL PROPERTY. This license is effective until terminated. You may terminate it at any time by destroying the Intellectual Property together with all copies in any form. The license will also terminate if you fail to comply with any term or condition of this Agreement. Except as provided in the following sentence, no such termination of this license shall require the termination of any third party end-user sublicense to the Intellectual Property which is in force as of the date of notice of such termination. In addition, should the Intellectual Property, or the operation of the Intellectual Property, infringe, or in LICENSOR’s sole opinion be likely to infringe, any patent, copyright, trademark or other right of a third party, you agree that LICENSOR, in its sole discretion, may terminate this license without any compensation or liability to you, your licensees or any other party. You agree upon termination of any kind to destroy or cause to be destroyed the Intellectual Property together with all copies in any form, whether held by you or by any third party. Except as contained in this notice, the name of LICENSOR or of any other holder of a copyright in all or part of the Intellectual Property shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Intellectual Property without prior written authorization of LICENSOR or such copyright holder. LICENSOR is and shall at all times be the sole entity that may authorize you or any third party to use certification marks, trademarks or other special designations to indicate compliance with any LICENSOR standards or specifications. This Agreement is governed by the laws of the Commonwealth of Massachusetts. The application to this Agreement of the United Nations Convention on Contracts for the International Sale of Goods is hereby expressly excluded. In the event any provision of this Agreement shall be deemed unenforceable, void or invalid, such provision shall be modified so as to make it valid and enforceable, and as so modified the entire Agreement shall remain in full force and effect. No decision, action or inaction by LICENSOR shall be construed to be a waiver of any rights or remedies available to it.

ii

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

Contents i.   Preface ......................................................................................................................... ix   ii.   Submitting Organizations.......................................................................................... ix   iii.   Submission Contact Points ........................................................................................ xi   iv.   Future Work ............................................................................................................... xi   v.   Changes to the OGC® Abstract Specification ......................................................... xii   1   Scope ............................................................................................................................ 3   2   Conformance ............................................................................................................... 4   3   Normative References ................................................................................................. 5   4   Terms and Definitions ................................................................................................ 6   5   Conventions ................................................................................................................. 8   5.1   Abbreviated terms ................................................................................................. 8   5.2   UML notation ........................................................................................................ 8   5.3   Finding requirements and recommendations ........................................................ 9   6   Overview of WaterML2.0 ........................................................................................ 10   7   Observations and Measurements overview ............................................................ 12   7.1   Sampling features ................................................................................................ 12   8   The nature of hydrological observations ................................................................ 13   8.1   Observations and forecasts .................................................................................. 15   9   UML Conceptual Models (normative) ..................................................................... 15   9.1   Structural overview of requirements classes ....................................................... 15   9.2   Package dependencies ......................................................................................... 17   9.3   Use of vocabularies ............................................................................................. 19   9.4   Requirements class: Timeseries Observation...................................................... 20   9.5   Time series observation specialisations .............................................................. 27   9.6   Requirements class – Timeseries (domain range) Observation .......................... 28   9.7   Requirements class – Measurement Timeseries (domain range) Observation ... 29   9.8   Requirements class – Categorical Timeseries (domain range) Observation ....... 30   9.9   Requirements class – Timeseries time-value pair (interleaved) Observation ..... 31   9.10   Requirements class – Measurement Timeseries time-value pair (interleaved) Observation ............................................................................... 31   Copyright © 2012-2014 Open Geospatial Consortium

iii

OGC 10-126r4

WaterML 2.0

9.11   Requirements class – Categorical Timeseries time-value pair (interleaved) Observation .................................................................................................... 32   9.12   Requirements class: Timeseries (Core) .............................................................. 33   9.13   Requirements class: Timeseries Domain-Range ................................................ 42   9.14   Requirements class: Timeseries Time-Value Pair (interleaved)......................... 43   9.15   Requirements class: Measurement Timeseries TVP (interleaved) ..................... 45   9.16   Requirements class: Categorical Timeseries TVP (interleaved) ........................ 56   9.17   Requirements class: Measurement Timeseries (Domain-Range) ....................... 57   9.18   Requirements class: Categorical Timeseries (Domain-Range) .......................... 58   9.19   Requirements class: Monitoring Points .............................................................. 59   9.20   Requirements class: Monitoring Point feature of interest .................................. 64   9.21   Requirements class: Sampling Feature Collections ............................................ 64   9.22   Requirements class: Observation process ........................................................... 65   9.23   Requirements Class: Collection .......................................................................... 68   10   XML Implementation (normative) ........................................................................... 72   10.1   Scope of XML implementation .......................................................................... 73   10.2   XML encoding principles ................................................................................... 75   10.3   Requirements Class: XML Rules ....................................................................... 75   10.4   Requirements Class: Timeseries Observation .................................................... 77   10.5   Requirements Class: Timeseries Time-Value Pair (interleaved) Observation ... 79   10.6   Requirements Class: Measurement time-value pair Timeseries (interleaved) Observation .................................................................................................... 80   10.7   Requirements Class: Categorical time-value pair Timeseries (interleaved) Observation .................................................................................................... 81   10.8   Requirements Class: Timeseries – time-value pair representation ..................... 81   10.9   Requirements Class: Measurement Timeseries – time-value pair representation ................................................................................................. 83   10.10  Requirements Class: Categorical Timeseries – time-value pair representation ................................................................................................. 87   10.11  Requirements Class: Monitoring point as feature of interest ............................. 88   10.12  Requirements Class: Observation Process.......................................................... 89   10.13  Requirements Class: Monitoring Point ............................................................... 90   10.14  Requirements Class: Collection .......................................................................... 91   A.1   Conformance classes - UML Package ................................................................ 92   A.1.1  Conformance Class: Timeseries Observation ..................................................... 92   A.1.2  Conformance Class: Domain Range Timeseries Observation............................ 94   iv

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

A.1.3  Conformance Class: Measurement (Domain Range) Timeseries Observation .................................................................................................... 94   A.1.4  Conformance Class: Categorical (Domain Range) Timeseries Observation...... 95   A.1.5  Conformance Class: TVP Timeseries Observation ............................................ 95   A.1.6  Conformance Class: Measurement TVP Timeseries Observation ..................... 96   A.1.7  Conformance Class: Categorical TVP Timeseries Observation ......................... 96   A.1.8  Conformance Class: Timeseries Core ................................................................ 97   A.1.9  Conformance Class: Timeseries Domain Range ................................................ 99   A.1.10   Conformance Class: Timeseries Time-Value Pair (interleaved) ..................... 99   A.1.11   Conformance Class: Measurement Timeseries TVP (Interleaved) ............... 100   A.1.12   Conformance Class: Categorical Timeseries TVP (Interleaved) ................... 101   A.1.13   Conformance Class: Measurement Timeseries (Domain Range) .................. 101   A.1.14   Conformance Class: Categorical Timeseries (Domain Range) ..................... 101   A.1.15   Conformance Class: Monitoring Point .......................................................... 102   A.1.16   Conformance Class: Monitoring Point feature of interest ............................. 102   A.1.17   Conformance Class: Sampling feature collections ........................................ 103   A.1.18   Conformance Class: Observation process ..................................................... 103   A.1.19   Conformance Class: Collection ..................................................................... 104   A.2   Conformance classes – XML Implementation ................................................. 105   A.2.1  Conformance Class: XML Rules ...................................................................... 105   A.2.2  Conformance Class: Timeseries Observation XML (abstract) ......................... 107   A.2.3  Conformance Class: TVP (Interleaved) Timeseries Observation XML........... 108   A.2.4  Conformance Class: Measurement TVP (Interleaved) Timeseries Observation XML ........................................................................................ 109   A.2.5  Conformance Class: Categorical TVP (Interleaved) Timeseries Observation XML ............................................................................................................. 109   A.2.6  Conformance Class: Timeseries (Core) ............................................................ 110   A.2.7  Conformance Class: Timeseries – TVP representation .................................... 111   A.2.8  Conformance Class: Measurement Timeseries – TVP representation ............. 113   A.2.9  Conformance Class: Categorical Timeseries – TVP representation................. 115   A.2.10   Conformance Class: Monitoring point feature of interest ............................. 115   A.2.11   Conformance Class: Observation Process ..................................................... 116   A.2.12   Conformance Class: Monitoring Point .......................................................... 116   A.2.13   Conformance Class: Collection ..................................................................... 117   C.1   Operational forecasting activity at hydrological forecasting service in support of flooding related emergencies ...................................................... 124   Copyright © 2012-2014 Open Geospatial Consortium

v

OGC 10-126r4

WaterML 2.0

C.2   Routine operational forecasting activity in support of infrastructure operation....................................................................................................... 125   C.3   Exchange of groundwater levels across international borders ......................... 126   C.4   Generic data exchange scenario between stakeholders .................................... 127   C.5   Retrieval for data by external users .................................................................. 129

vi

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

Table of Figures Figure 1 - Observation as defined by O&M ..................................................................... 12   Figure 2 – The hydrologic cycle [4] ................................................................................. 13   Figure 3 – Internal package dependencies ........................................................................ 17   Figure 4 - External dependencies (timeseries observations)............................................. 18   Figure 5 - External dependencies (monitoring points) ..................................................... 18   Figure 6 - External dependencies (timeseries) .................................................................. 19   Figure 7 - Observation specialisation ............................................................................... 22   Figure 8 - Observation metadata ....................................................................................... 25   Figure 9 - Observation types as related to ISO19156 (green) and ISO19123 (red) ......... 27   Figure 10 - Relationship to CVT_TimeInstantCoverage (ISO19156 – Annex C, green) 28   Figure 11 - Measurement timeseries (domain range) observation.................................... 29   Figure 12 - categorical timeseries (domain range) observation ........................................ 30   Figure 13 - Timeseries (TVP) Observation ...................................................................... 31   Figure 14 - Measurement timeseries (TVP) Observation ................................................. 32   Figure 15 - Categorical timeseries (TVP) Observation .................................................... 33   Figure 16 - Timeseries base type and relationship to coverages ...................................... 35   Figure 18 - Timeseries as a coverage ................................................................................ 38   Figure 19 - Timeseries metadata ....................................................................................... 39   Figure 20 – Timeseries point metadata ............................................................................. 40   Figure 21 - Timeseries using domain-range view............................................................. 43   Figure 22 - Timeseries using time-value (interleaved) view ............................................ 44   Figure 23 - Measurement Timeseries (TVP) .................................................................... 46   Figure 24 - Anchor points ................................................................................................. 47   Figure 25 - Connecting two time series ............................................................................ 48   Figure 26 - A cumulative series ........................................................................................ 49   Figure 27 - Example accumulated series .......................................................................... 49   Figure 28 - Categorical timeseries (TVP) ......................................................................... 57   Figure 29 - Measurement timeseries (domain range) ....................................................... 58   Copyright © 2012-2014 Open Geospatial Consortium

vii

OGC 10-126r4

WaterML 2.0

Figure 30 - Categorical timeseries (domain range)........................................................... 59   Figure 31 - MonitoringPoint ............................................................................................. 62   Figure 32 - SF_SamplingFeatureCollection as defined by ISO19156.............................. 65   Figure 33 - Observation process feature type ................................................................... 66   Figure 34 - Collection ....................................................................................................... 69

viii

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

i. Abstract WaterML 2.0 is a standard information model for the representation of water observations data, with the intent of allowing the exchange of such data sets across information systems. Through the use of existing OGC standards, it aims at being an interoperable exchange format that may be re-used to address a range of exchange requirements, some of which are described later in this document.

ii. Preface The primary goal of this profile is to capture the semantics of hydrological observational data for data exchange. This will allow hydrological information systems to communicate data between systems and to end users. NOTE!! - Please note that 2.0.1 is a Corrigendum in which a number of errors have been corrected in the WaterML 2.0 schema. As such, please make sure that your application re-loads the schema from the OGC schema repository and that local copies are not being used.

iii. Submitting Organizations The following organizations submitted this Implementation Profile to the Open Geospatial Consortium Inc.: a) CSIRO b) San Diego Supercomputer Center c) Australian Bureau of Meteorology d) Geological Survey of Canada, Natural Resources Canada e) USGS f) KISTERS AG g) NOAA h) Deltares i) Federal Waterways Engineering and Research Institute j) disy Informationssysteme GmbH k) German Federal Institute of Hydrology Copyright © 2012-2014 Open Geospatial Consortium

ix

OGC 10-126r4

WaterML 2.0

l) International Office For Water - Sandre

x

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

iv. Submission Contact Points All questions regarding this submission should be directed to the editor or the submitters: Contact

Company

Email

Peter Taylor

CSIRO

peter.taylor at csiro.au

David Valentine

CUAHSI

valentin at sdsc.edu

Gavin Walker

CSIRO

gavin.walker at csiro.au

I-Lin Kuo

USGS

ilinkuo at usgs.gov

Paul Sheahan

Australian Bureau Of Meteorology

p.sheahan at bom.gov.au

Eric Boisvert

Natural Resources Canada

eric.boisvert at RNCanNRCan.gc.ca

John Halquist

NOAA

john.halquist at noaa.gov

Peter Gijsbers

Deltares

peter.gijsbers at deltares-usa.us

Michael Natschke

KISTERS AG

michael.natschke at kisters.de

Michael Utech

KISTERS AG

michael.utech at kisters.de

Stefan Fuest

KISTERS AG

stefan.fuest at kisters.de

Touraj Farahmand

Aquatic Informatics

tourajf at aquaticinformatics.com

David Blodgett

USGS

dblodgett at usgs.gov

David Briar

USGS

dbriar at usgs.gov

Sylvain Grellet

International Office For Water - Sandre

s.grellet at oieau.fr

Carsten Heidmann

disy Informationssysteme GmbH

carsten.heidmann at disy.net

Irina Dornblut

GRDC

dornblut at bafg.de

Jens Wilhelmi

German Federal Institute of Hydrology

wilhelmi at bafg.de

Simon Cox

CSIRO

simon.cox at csiro.au

Doug Palmer

CSIRO

doug.palmer at csiro.au

Tim Whitaker

CUAHSI

twhit at mail.utexas.edu

v. Future Work -

Specification of an ex-situ (e.g. water quality) profile

-

Inclusion of further complex structures (e.g. rating curves, conversion tables etc.)

-

Harmonizing time series structures with other standards (GML values vs. SWE Common vs. coverage types) and profiles (CSML, netCDF, SWE Common Profiles etc.)

-

Harmonizing/adapting process model with SensorML and/or ISO19115

Copyright © 2012-2014 Open Geospatial Consortium

xi

OGC 10-126r4

WaterML 2.0

vi. Changes to the OGC® Abstract Specification The OGC® Abstract Specification requires changes to accommodate this OGC® Standard. 1. TimeSeries needs to be added to Topic 6 (aka ISO 19123), and it needs to be in a way that supports both TVP and DR forms 2. ObservationCollection needs to be added to Topic 20/ISO 19156 (O&M) 3. The target of OM_Observation::metadata needs to be relaxed from MD_Metadata

xii

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

Foreword This work has, for the most part, been funded through a water information research and development alliance between CSIRO‘s Water for a Healthy Country Flagship and the Australian Bureau of Meteorology. The work has also been supported by The Consortium for the Advancement of Hydrological Sciences Inc. (CUAHSI). The work is operating under the joint World Meteorological Organisation (WMO) and Open Geospatial Consortium (OGC) Hydrology Domain Working Group [1]. Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. Open Geospatial Consortium shall not be held responsible for identifying any or all such patent rights. However, to date, no such rights have been claimed or identified. Recipients of this document are requested to submit, with their comments, notification of any relevant patent claims or other intellectual property rights of which they may be aware that might be infringed by any implementation of the specification set forth in this document, and to provide supporting documentation. This document formalises work discussed in the existing discussion documents OGC 09124r1 – Harmonising Standards for Water Observations Data and 07-041- WaterML.

Copyright © 2012-2014 Open Geospatial Consortium

xiii

OGC WaterML 2.0

OGC 10-126r4

Introduction Motivation The increasing global demand on fresh water supplies is putting increased pressure on the natural resource environment. This demand is leading nations to improve terrestrial water monitoring facilities to better understand the amount, and the quality, of fresh water resources. Traditional water monitoring networks consist of regional monitoring programs that help to address issues of direct significance, such as flood warnings, providing water management guidelines (applying restrictions, setting allocations etc.), drought management and so on. More recently, nations are moving towards more holistic structuring of monitoring systems in order to provide an integrated national view on the state of water resources. This has led to a requirement on monitoring programs to exchange their data with other organisations that may have an interest in the observational data collected. National monitoring programs that often aggregate smaller, locally maintained monitoring networks, are requesting data for the use in national reporting facilities. In addition to this is the increased need for the exchange of data to improve our understanding of complex environmental processes, such as climate change. Terrestrial water movement can play a significant influencing role in such processes; cross-domain scientific enquiry and modelling requires access to increasing set of observational data, including hydrological observations. A report from the Global Climate Observing System (GCOS) into data exchange problems in global hydrological and atmospheric networks identifies standards as a key challenge: “There are no established international standards on the acquisition of river data, the set of required metadata, data formats, and transmission modes." And “Common metadata standards are, even on national scales, the exception rather than the rule.” WaterML 2.0 is a standard information model for the representation of water observations data, with the intent of allowing the exchange of such data sets across information systems. Through the use of existing OGC standards, it aims at being an interoperable exchange format that may be re-used to address a range of exchange requirements, some of which are described later in this document. Historical background A previous report [2] investigated and compared existing standards and initiatives from various countries being used for the exchange of hydrological observations. The report also suggested an approach to developing an OGC compliant conceptual information model and encoding that harmonises existing definitions with OGC standards. This document specifies such a model and encoding. One of the existing standards that was investigated was WaterML1.0 (and 1.1), developed by CUAHSI for use in the U.S. As this was recognized in the community as a data exchange standard with significant traction, the name has been continued for use with the OGC standard Copyright © 2012-2014 Open Geospatial Consortium

1

version. OGC WaterML2.0 is, however, a harmonized information model between a number of standards from various countries with existing OGC standards. OGC WaterML2.0 is based on the OGC Observations and Measurements standard (ISO 19156), and therefore is significantly different from CUAHSI WaterML1.0.

2

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

WaterML2.0: part 1 - timeseries 1 Scope This document is an OpenGIS® Encoding Standard for the representation of hydrological observations data with a specific focus on time series structures. WaterML2.0 is implemented as an application schema of the Geography Markup Language version 3.2.1, making use of the OGC Observations & Measurements standards. WaterML2.0 is designed as an extensible schema to allow encoding of data to be used in a variety of exchange scenarios. Example areas of usage are: exchange of data for operational hydrological monitoring programs; supporting operation of infrastructure (e.g. dams, supply systems); crossborder exchange of observational data; release of data for public dissemination; enhancing disaster management through data exchange; and exchange in support of national reporting. The core aspect of the model is in the correct, precise description of time series. Interpretation of time series relies on understanding the nature of the process that generated them. This standard provides the framework under which time series can be exchanged with appropriate metadata to allow correct machine interpretation and thus correct use for further analysis. Existing systems should be able to use this model as a conceptual ‘bridge’ between existing schema or systems, allowing consistency of the data to maintained.

Copyright © 2012-2014 Open Geospatial Consortium

3

2 Conformance This standard has been written to be compliant with the OGC Specification Model – A Standard for Modular Specification (OGC 08-131r3). Extensions of this standard shall themselves be conformant to the OGC Modular Specification Policy. Conformance with this standard shall be checked using all the relevant tests specified in Annex A. The framework, concepts, and methodology for testing, and the criteria to be achieved to claim conformance are specified in ISO 19105: Geographic information — Conformance and Testing. In order to conform to this OGC® encoding standard, a standardization target shall implement the core conformance class, and choose to implement any one of the other conformance classes (i.e. extensions).

4

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

3 Normative References The following normative documents contain provisions which, through reference in this text, constitute provisions of document OGC 10-126. For dated references, subsequent amendments to, or revisions of, any of these publications do not apply. However, parties to agreements based on this document are encouraged to investigate the possibility of applying the most recent editions of the normative documents indicated below. For undated references, the latest edition of the normative document referred to applies. OGC 08-131r3 – The Specification Model – A Standard for Modular Specification ISO 19103:2005 – Conceptual Schema Language ISO 8601- Data elements and interchange formats – Information interchange – Representation of dates and times OGC Abstract Specification Topic 20 – Observations and Measurements (aka ISO 19156:2011) OGC Abstract Specification Topic 2 – Spatial Referencing by Coordinates (aka ISO 19111:2007) OGC Abstract Specification Topic 6 – Schema for Coverage geometry and functions (aka ISO 19123:2005) OGC Abstract Specification Topic 11 – Geographic information — Metadata (aka ISO 19115:2003) OGC 07-036 Geography Markup Language (aka ISO 19136:2007) OGC Observations and Measurements v2.0 OGC Document 10-004r1 http://www.opengis.net/doc/AS/Topic20 (also published as ISO/DIS 19156:2010, Geographic information — Observations and Measurements) OGC SWE Common Data Model Encoding Standard v2.0 OGC Document 08-094r1 http://www.opengis.net/doc/IS/SWECommon/2.0 Schematron: ISO/IEC 19757-3, Information technology — Document Schema Definition Languages (DSDL) — Part 3: Rule-based validation — Schematron http://standards.iso.org/ittf/PubliclyAvailableStandards/c040833_ISO_IEC_197573_2006(E).zip The Specification Model — A Standard for Modular specifications OGC Document 08-131r3. http://www.opengis.net/doc/POL/SPEC Unified Code for Units of Measure (UCUM) – Version 1.8, July 2009 Unified Modeling Language (UML). Version 2.3. May 2010. Extensible Markup Language (XML) – Version 1.0 (Fourth Edition), August 2006 XML Schema – Version 1.0 (Second Edition), October 2004

Copyright © 2012-2014 Open Geospatial Consortium

5

4 Terms and Definitions For the purpose of this document, the following terms and definitions apply: Coverage Feature that acts as a function to return values from its range for any direct position within its spatial, temporal or spatiotemporal domain. [ISO 19123:2005, definition 4.17] Discharge In its simplest concept discharge means outflow; therefore, the use of this term is not restricted as to course or location, and it can be applied to describe the flow of water from a pipe or from a drainage basin. If the discharge occurs in some course or channel, it is correct to speak of the discharge of a canal or of a river. It is also correct to speak of the discharge of a canal or stream into a lake, a stream, or an ocean. [USGS, http://water.usgs.gov/wsc/glossary.html#Discharge] Domain feature Feature of a type defined within a particular application domain NOTE: This may be contrasted with observations and sampling features, which are features of types defined for cross-domain purposes. [ISO 19156, definition 4.4] Feature Abstraction of real-world phenomena [ISO 19101:2002, definition 4.11] Observation Act of observing a property [ISO19156, definition 4.10] Observation procedure Method, algorithm or instrument, or system of these which may be used in making an observation [ISO19156, definition 4.11] Property <General Feature Model> Facet or attribute of an object referenced by a name EXAMPLE: Abby's car has the colour red, where "colour red" is a property of the car instance Sampling feature

6

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

Feature, such as a station, transect, section or specimen, which is involved in making observations concerning a domain feature [ISO19156, definition 4.16] Sampling point A specialized Sampling Feature (ISO19156) where the geometry of the feature is a point. In the context of this profile this is the point at which a sample is made and is analogous to site, location, measuring point. See Monitoring Point definition for further information. Sensor Type of observation procedure that provides the estimated value of an observed property at its output Note: A sensor uses a combination of physical, chemical or biological means in order to estimate the underlying observed property. At the end of the measuring chain electronic devices often produce signals to be processed [OGC SWE Common 2.0, definition 4.5.]

Copyright © 2012-2014 Open Geospatial Consortium

7

5 Conventions 5.1

Abbreviated terms In this document the following abbreviations and acronyms are used or introduced: API

Application Program Interface

CSIRO

Commonwealth Scientific and Industrial Research Organization

CSML

Climate Science Modelling Language

CSV

Comma Separated Values

CUAHSI

Consortium of Universities for Advancement of Hydrologic Science Incorporated

GWML

Groundwater Markup Language

ISO

International Organization for Standardization

O&M

Observations and Measurements

OGC

Open Geospatial Consortium

SensorML

Sensor Model Language

SI

Système International (International System of Units)

SOS

Sensor Observation Service

SWE

Sensor Web Enablement

TVP

Time-Value Pair

UML

Unified Modeling Language

USGS

United States Geological Survey

UTC

Coordinated Universal Time

XML

Extensible Markup Language

5.2

UML notation The diagrams that appear in this standard are presented using the Unified Modeling Language (UML) static structure diagram. Note: Within the context of this profile, the following color scheme is used to identify the package in which the class exists. This is just for informative purposes. Blue: Defined within this standard Green: ISO19156 – Observations & Measurements Red: Other (ISO or GML) 8

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0 5.3

OGC 10-126r4

Finding requirements and recommendations This standard is identified as http://www.opengis.net/spec/waterml/2.0. For clarity, each normative statement in this standard is in one and only one place and defined within a requirements class table and identified with a URI, whose root is the specification URI. In this standard, all requirements are associated to tests in the abstract test suite in Annex A using the URL of the requirement as the reference identifier. Recommendations are not tested but are assigned URLs and are identified using the ‘Recommendation’ label in the associated requirements table. Requirements classes are separated into their own clauses and named, and specified according to inheritance (direct dependencies). The Conformance test classes in the test suite are similarly named to establish an explicit and mnemonic link between requirements classes and conformance test classes.

Copyright © 2012-2014 Open Geospatial Consortium

9

6 Overview of WaterML2.0 WaterML2.0 is an open standard for encoding water observations data for exchange. It is based on the information model of Observations and Measurements version 2.0 (O&M) and implemented as an application schema according to the rules of Geography Markup Language version 3.2 (GML). GML is an extensible international standard for the exchange of spatial data. O&M is a conceptual model for describing observations and the relationships to various important aspects of the observation process. O&M provides a conceptual model, with an associated implementation as a GML Application Schema in XML schema, for describing a wide range of observations from multiple domains; from observations made by satellites and sensors to manual procedures performed in laboratories. It is a flexible model. Section 7 provides a brief overview of O&M. This profile restricts and extends the O&M conceptual model to define a conceptual model that is directly applicable to observations and derived data specific to the hydrology domain. This conceptual model is then used to define an XML schema that may be used for the exchange of hydrological observations, addressing needs previously identified [2]. This standard represents part 1 of WaterML2.0, with the focus on the description of time series resulting from direct observations and processed data, such as forecasts and derived results. Further parts will extend into other areas of hydrological data, such as the description of rating curves, gauging information, controlled vocabularies etc. This standard is broken up into the following parts: A conceptual UML model for observational data as a profile as ISO19156 – Observations & Measurements; An implementation of the model in XML Schema, specifically a GML 3.2 conformant XML Schema. This separation allows capturing the information model in an implementation-agnostic fashion, using UML, to allow multiple implementations to occur. In additional to GML, other implementations in future work may include JSON, NetCDF, non-GML conformant XML etc. WaterML2.0 defines five main components for describing water observations. Table 1 lists each component and its relationship with Observation and Measurements (ISO-19156). Collections are not defined within O&M and are thus an extension.

10

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

Table 1 - WaterML 2.0 components and equivalent concepts in O&M 2.0

WaterML 2.0 components

O & M 2.0 concepts

Time series

Result

Observation specialisations

Observation

Procedures used in measurement/analysis/processing

Procedure

Observation metadata

Observation (metadata)

Location description

Sampling features

Collections

-

The general characteristics of WaterML2.0: 1. Communicates the semantics of hydrological time series data; 2. An explicit time series model that supports encoding of information crucial to correct interpretation of time series, such as properties describing the nature of individual data values and their relationships; 3. A flexible exchange schema that can be re-used in a number of scenarios. Includes concepts to deal with common complexities in cross-system data exchange, such as multiple identifiers and names; 4. The schema is reusable across different transport technologies, including FTP, and a variety of web services etc.; 5. Ability to extend through use of external schema and soft-typing; 6. Ability to capture information relating to the provenance of a time series (i.e. how the time series was created). Allows for interpretation of ‘data products’ such as statistical summaries;

Copyright © 2012-2014 Open Geospatial Consortium

11

7 Observations and Measurements overview ISO19156 – Observations and Measurements (O&M) is a generic information model for describing observations. It defines an observation as “…an act associated with a discrete time instant or period through which a number, term or other symbol is assigned to a phenomenon. It involves application of a specified procedure, such as a sensor, instrument, algorithm or process chain. The procedure may be applied in-situ, remotely, or ex-situ with respect to the sampling location. The result of an observation is an estimate of the value of a property of some feature.” This is described using UML in Figure 1. «FeatureType» OM_Process

«metaclass» GF_FeatureType

1

+theGF_FeatureType

«FeatureTyp... GFI_Feature

+generatedObservation

1

+featureOfInterest

+metadata

0..*

+carrierOfCharacteristics 1

0..*

Phenomenon

+observedProperty {root}

Metadata 0..*

+ + + + +

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

constraints {observedProperty shall be a phenomenon associated with the feature of interest} {procedure shall be suitable for observedProperty} {result type shall be suitable for observedProperty} {a parameter.name shall not appear more than once} 0..* Range

+relatedObservation 0..*

+result

«DataType» NamedValue + +

0..1

«FeatureType» OM_Observ ation

Domain

+propertyValueProvider

«metaclass» GF_PropertyType

+procedure ProcessUsed

«instanceOf»

1

MD_Metadata

name :GenericName value :Any

«type» Any {root}

Observ ationContext +

role :GenericName

Figure 1 - Observation as defined by O&M

7.1

Sampling features O&M defines the concept of sampling features as a “feature, such as a station, transect, section or specimen, which is involved in making observations concerning a domain feature.” Sampling features are used in two circumstances: 1. The observation does not obtain values for the whole of a domain feature;

12

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

2. The observation procedure obtains values for properties that are not characteristic of the type of the ultimate feature (e.g. measuring electrical conductivity as a proxy for salinity) These concepts are common within the hydrology domain, thus the sampling features concept is used in this profile. Section 9.19 describes the use further.

8 The nature of hydrological observations “Water is found on Earth in significant amounts in all three of its physical phases: liquid, solid, and gaseous. It is also found in all three of Earth‘s major environments that are readily accessible to humans: the atmosphere, the seas and oceans, and the land masses. Because water can readily move from one environment to another and can change from one phase to another in response to its environment, it is a dynamic medium in both space and time.” [3].

Figure 2 – The hydrologic cycle [4]

The field of hydrology focuses on the water cycle as it interacts with land; hydrological observations are performed in order for us to increase our understanding of this interaction. Observations can occur at any point within the hydrologic cycle, employing different techniques, and estimating phenomena related to water quantity or quality. The types of observations made in hydrology differ not just in the phenomena monitored, but also in the observation method. The method or technique used has important implications affecting the frequency and location of observations. For example, water quality observations often require laboratory analysis in which a person may take a sample from a site and return it to a specialist for analysis; this implies a higher cost and will thus occur infrequently. Whereas a river level gauge connected to an automatic telemetry device can make measurements every 15 minutes and relay results

Copyright © 2012-2014 Open Geospatial Consortium

13

periodically to a central data repository. This provides greater temporal granularity but is restricted to a single location. For the purpose of this profile, five broad observation styles are defined, detailed in Table 2. Table 2 - Broad categories of water observations

#

Observation style

Description

1

In-situ, fixed observation style

Generally temporally dense, spatially sparse, small number of observed phenomena. Examples: river level or stage, river discharge, storage level, rainfall, pH, turbidity etc.

2

In-situ, manual observations

Temporally sparse (often associated with sites visits) but potentially spatially dense. E.g. groundwater observations made during pump tests at well sites.

3

Ex-situ, complex processing observations

Temporally sparse, spatially sparse, many observed phenomena. Examples: nutrients (nitrate, phosphorus etc.), pesticides (atrazine, glyphosate etc.), biologicals etc.

4

Remote-sensed observations

Observations that are collected by a sensor that is not in direct contact with the property being observed. These observations can be spatially and temporally dense.

5

Complex data products

These consist of processed or synthesised observational data, mainly created to provide estimation of not directly measurable phenomena or predictions of future values. Examples: outputs from models or algorithms, water storage estimates, calculation of complex physics-chemistry, biological indices etc.

These definitions are not clear-cut; it is possible to have water quality measurements that are made continuously by in-situ measurements (such as dissolved oxygen, turbidity etc.). Similarly, storage volume may be viewed as a complex data product as it often involves the integration of survey data and estimation algorithms. Exchange formats addressing category 1 may be capable of capturing data within category 3, but representation of the procedure used to generate the data set implies extra requirements on metadata (if it is to be supported through transfer). Generally, the more complex the process of making the measurement, the less likely it is to be available as a continuous observation. 14

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

This standard is capable of encoding data sets from the first and second categories from Table 2. Complex data products (category 5) can be accommodated, if they are structurally similar to insitu observations. Ex-situ (e.g. water quality) data will be handled in future work. 8.1

Observations and forecasts While Observations and Measurements (ISO19156) describes a conceptual information model for describing ‘observations’, this may include the description of outputs from simulations such as forecast models, where the ‘observations’ occur into the future, or within a simulated time period. Using the same base concepts for describing observations and simulations increases the ease of data integration.

9 UML Conceptual Models (normative) This standard defines the conceptual models for the description of water observations, making use of ISO19156 as the base conceptual model. The standardization target for the UML conformance classes are: Encoding models derived from the conceptual models of this standard. Software implementations seeking compliance to this standard. 9.1

Structural overview of requirements classes The requirements classes of the standard are structured as shown in Figure 3 (internal package dependencies). Below is a brief summary of the function of the requirements classes. Timeseries Observation (abstract) An abstract class that captures common restrictions of the ISO1956 OM_Observation class, for observations that have timeseries as their result. This class is not directly implemented but used as a basis to define the two types of timeseries observations. Timeseries Observation (domain range) An observation that returns a time series with the time and values represented separately. The two more specific classes (MeasurementTimeseriesDomainRangeObservation and CategoricalTimeseriesDomainRangeObservation) capture common specialized series types where the value-type is restricted. Timeseries Observation (interleaved) An observation that returns a timeseries with the time-value pair coupled (interleaved) representation. The two more specific classes (MeasurementTimeseriesTVPObservation and CategoricalTimeseriesTVPObservation) capture the specialized series types where the value-type is restricted. Timeseries (core)

Copyright © 2012-2014 Open Geospatial Consortium

15

An abstract class that captures the common characteristics of timeseries (the result of the above observation types). This provides the basis for more specialized timeseries types and forms the core requirements class of the standard. Timeseries (domain range) This requirements class describes the structure of timeseries when the time and value components are separated and not explicitly represented as pairs. The two more specific classes (MeasurementDomainRangeTimeseries and CategoricalDomainRangeTimeseries) capture two specific types of timeseries where the value-type is restricted. Timeseries (interleaved) This requirements class describes the structure of interleaved timeseries (time-value pairs) and associated metadata classes. The two more specific classes (MeasurementTimeseriesTVP and CategoricalTimeseriesTVP) capture two specific types of timeseries where the value-type is restricted. Monitoring Points Implement this requirements class to describe monitoring points using ISO19156 sampling features. The requirements class defines a single specialization of a point spatial sampling feature. Monitoring point feature of interest For timeseries observations using in-situ monitoring points this conformance class should be used. It captures one of the more common continuous timeseries observations that occur using a monitoring point. It is a separate conformance class in order to allow timeseries observations using different sampling features (e.g. groundwater wells) or features with more complex geometries such as lines and polygons. Collections Implement this requirements class to provide collections of sampling features, timeseries and inline vocabularies. Observation Process Implement this requirements class to described processes involved in the generation of timeseries.

16

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0 9.2

OGC 10-126r4

Package dependencies Interleaved coverage (time-value pairs) req/uml-measurement-timeseries-tv p-observ ation +

req/uml-measurement-timeseries-tv p

result +

value-type

req/uml-categorical-timeseries-tv p-observ ation +

req/monitoringPoint + +

+

value-type

req/uml-timeseries-tv p-observ ation

shape-point (O&M) monitoringPoint-valid

+

result

req/um-timeseries-observ ation + + + + + +

req/collection

req/uml-categorical-timeseries-tv p

result

req/process

req/uml-timeseries-tv p

req/uml-timeseries-core

result featureOfInterest procedure metadata phenomenonTime resultQuality

+ + + + + +

+

domain-object time-increasing record-homogenous coverage-type quality interpolation-type

interleaved

req/uml-timeseries-domain-range +

domain-range-separate

req/uml-timeseries-domain-range-observ ation +

result

req/uml-measurement-timeseries-domain-range +

value-type

req/uml-monitoring-point-feature-of-interest +

req/uml-measurement-timeseries-domain-range-observ ation

foi

+

result req/uml-categorical-timeseries-domain-range +

value-type

req/uml-categorical-timeseries-domain-range-observ ation +

result

Domain-range coverage

Figure 3 – Internal package dependencies

Copyright © 2012-2014 Open Geospatial Consortium

17

ISO 19103:2005 Schema Language ISO 19115:2006 Metadata (Corrigendum) (from ISO 19103 Conceptual Schema Language)

«RequirementsClass» Procedures

«import»

«import»

(from ISO 19115-All Metadata)

«import»

«requirementsClass» observ ation

«import» «RequirementsClass» Timeseries Observ ation «RequirementsClass» Timeseries (Domain Range) Observ ation

«import»

«import»

(from Observation schema)

«import» «import»

ISO 19123:2005 Cov erages

«import»

(from ISO 19123 Coverage geometry «import» and functions)

«requirementsClass» cov erageObserv ation

«import» «import» «import»

(from Observation schema)

«import»

«import»

«requirementsClass» samplingFeature

«RequirementsClass» Timeseries (TVP) Observ ation

(from Sampling Features)

«import»

«RequirementsClass» Collection «import»

«RequirementsClass» Monitoring Point

Figure 4 - External dependencies (timeseries observations) «RequirementsClass» Monitoring Point «import»

«requirementsClass» samplingPoint

(from Sampling Features)

«requirementsClass» spatialSamplingFeature (from Sampling Features)

«import» ISO 19115:2006 Metadata (Corrigendum)

(from ISO 19115-All Metadata)

«RequirementsClass» MonitoringPointFeatureOfInterest

«import»

«requirementsClass» cov erageObserv ation

(from Observation schema)

«requirementsClass» samplingFeature (from Sampling Features)

«requirementsClass» observ ation (from Observation schema)

Figure 5 - External dependencies (monitoring points)

18

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

«RequirementsClass» Interleav ed (TVP) Timeseries «import»

«import» «RequirementsClass» Categorical (TVP) Timeseries

«RequirementsClass» Timeseries

«import»

«import»

«RequirementsClass» Timeseries (Domain Range)

«import»

«RequirementsClass» Measurement (TVP) Timeseries

«RequirementsClass» Categorical (Domain Range) Timeseries

«import» «RequirementsClass» Measurement (Domain Range) Timeseries

«import» «import» «import»

«Leaf» Simple Components

«import»

(from SWE Common Data Model 2.0)

ISO 19123:2005 Cov erages

«import»

ISO 19103:2005 Schema Language

(from ISO 19123 Coverage geometry and functions)

(from ISO 19103 Conceptual Schema Language)

Figure 6 - External dependencies (timeseries)

9.3

Use of vocabularies Controlled vocabularies, also known as code-lists, are used in data exchange to identify particular concepts or terms, and sometimes relationships between them. For example, an organisation may define a controlled vocabulary for all observed phenomena that are to be exchanged between parties. Some of these definitions may be related in hierarchies or through other relationships such as equivalence (e.g. precipitation and rainfall refer to the same concept). Part 1 of WaterML2.0 does not define a full set of vocabularies for data exchange; it does, however, define a number of vocabularies that were identified as providing a first step for data exchange of time series. This standard defines vocabularies for the following concepts: -

Quality assertions for data values of a broad, categorical type. See section 9.12.3.2.1. The medium that is being sampled as part of the observation process. See section 9.4.1.8.3. The general types of processes used in observation. See section 9.22.1. The interpolation type of the values of a time series. See section 9.15.3.2.

These vocabularies are defined within the OGC definition namespace (http://opengis.net/def/), which is governed by the OGC Naming Authority (OGC-NA). The OGC-NA is responsible for processing requests to change or add new definitions to this namespace. The procedures for the OGC-NA are outlined in OGC document 09-046 (OGC-NA – Procedures) and the structure of URIs is outlined in OGC 09-048 (OGC-NA – Name type specification – definitions). It is envisaged that WaterML2.0 will be used alongside existing sets of vocabularies as agreed upon within communities. The parties involved in exchange will determine the vocabularies that are to be used in exchanged. Optimally a recognized body, such as WMO, would govern the vocabularies. Future work within the Hydrology Domain Working Group should address the area of controlled vocabularies for the hydrology domain. These vocabularies require a governance structure that allows changes to be made as definitions evolve.

Copyright © 2012-2014 Open Geospatial Consortium

19

9.4

Requirements class: Timeseries Observation Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-observation Target Type Name

Encoding of the conceptual model Time series observation

Dependency

urn:iso:dis:iso:19156:clause:6.2.2

Dependency

urn:iso:dis:iso:19156:clause:7

Dependency

http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-core

Dependency

http://www.opengis.net/spec/waterml/2.0/req/uml-observervation-process

Dependency

http://www.opengis.net/spec/waterml/2.0/req/uml-monitoring-point-feature-ofinterest

Requirement

/req/uml-timeseries-observation/result

A TimeseriesObservation shall have a result that is conformant with the Timeseries UML and Timeseries requirements class, as defined in Figure 16 and section 9.12 of this standard. Requirement

/req/uml-timeseries-observation/resultDomain

The spatial domain of the timeseries result shall be consistent with the featureOfInterest of the observation. Requirement

/req/uml-timeseries-observation/featureOfInterest

If the feature of interest of the observation is not a domain feature (e.g. river section, dam, lake) then the featureOfInterest shall be of type or subtype of SF_SpatialSamplingFeature, as defined by ISO19156, which includes MonitoringPoint defined in section 9.20 of this standard. Requirement

/req/uml-timeseries-observation/procedure

A TimeseriesObservation shall have a procedure property of type ObservationProcess, or a reference to such a type, as defined in section 9.22 of this standard. Requirement

/req/uml-timeseries-observation/metadata

A TimeseriesObservation shall have a metadata property of type ObservationMetadata, as defined in section 9.4.1.8 of this standard. Requirement

/req/uml-timeseries-observation/observedProperty

A TimeseriesObservation shall have an observedProperty of type

20

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

GFI_PropertyType, as described in ISO19156. Requirement

/req/uml-timeseries-observation/phenomenonTime

The OM_Observation:phenomenonTime property shall be used to define the period over which the time series result applies for the given observed property. 9.4.1

Timeseries Observation as a specialised OM_Observation

O&M groups observations into two types based on the nature of the result: observations whose result is static (e.g. a single measurement) and observations where the result varies as some function. It is thus possible to define a time series observations two ways using this model: 1. A collection of OM_Observations. Each observation represents a single sensor data point; the collection makes up a time series. 2. An OM_Observation whose result is a discrete coverage that varies in time (c.f. OM_DiscreteCoverageObservation). Here the OM_Observation feature type provides the spatio-temporal context for the series. WaterML 2.0 TimeseriesObservation takes the second view of OM_Observation and defines TimeseriesObservation, TimeseriesTVPObservation and a TimeseriesDomainRangeObservation as shown in Figure 9. The two subtypes of TimeseriesObservation offer two different structuring of the timeseries result: a time-value pair style structure where the time, value and associated metadata are encoded as coupled items (TimeseriesTVPObservation), and a separated structure where the time and values are represented as separate collections with metadata described separately to the time and values (TimeseriesDomainRangeObservation). The first style is most common within the hydrology domain; the second approach is common within communities that make use of coverages. The second approach will most often result in a more compact encoding due to a more efficient structuring. See section 9.12.2 for a detailed description of the relationship to coverages. The TimeseriesObservation may be viewed as the spatiotemporal interoperability context that facilitates data exchange between parties through a common agreement (OM_Observation) of how observations may be conceptualised: i.e. the relationship between features, observed phenomena, procedure and the result generated (a time series). Traditional data exchange within the hydrology domain often occurs at the timeseries level, either with an explicit means to identify the monitoring site, sensor (procedure) and phenomenon or through use of internal identifiers where systems resolve the constituent parts internally. WaterML2.0 views the TimeseriesObservation as a type of interoperability contract that facilitates data exchange. In the context of this profile, metadata at the Observation level is used as the carrier of first class elements required for data exchange and/or discovery (e.g. identifiers, spatiotemporal context, connections to features, procedures, phenomena and so on). Metadata at the Timeseries level is metadata that describes the structure and nature of the series, such as quality interpolation types, whether the series is cumulative etc. It should be noted that the Timeseries class is available for Copyright © 2012-2014 Open Geospatial Consortium

21

use without the TimeseriesObservation feature type; this would be useful, for example, where existing systems are communicating that have previously agreed upon identifiers and/or context that allows sufficient context for exchange to occur. +relatedObservation 0..* «FeatureTyp... General Feature Instance:: GFI_Feature

«FeatureType» observ ation::OM_Observ ation

+featureOfInterest Domain 1

0..*

+ 0..* +propertyValueProvider+ + + +

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

«metaclass» General Feature Model:: GF_PropertyType {root}

+observedProperty Phenomenon

1

+ +

memberName :LocalName definition :CharacterString

«FeatureType» cov erageObserv ation:: OM_DiscreteCov erageObserv ation

MD_Metadata «Type» Observ ationMetadata

+metadata

Range

«FeatureType» TimeseriesObserv ation

0..1

+result

+procedure 0..* +generatedObservation

«FeatureType» Timeseries (TVP) Observ ation:: TimeseriesTVPObserv ation

1

«FeatureType» Timeseries::Timeseries

OM_Process «FeatureType» Procedures:: Observ ationProcess

«FeatureType» TimeseriesDomainRangeObserv ation

Figure 7 - Observation specialisation

The properties (attributes and associations) of the TimeseriesObservation are outlined in the following sections. This includes properties that are inherited from the base classes from O&M; the description of the use is adapted to the context of this profile, providing guidance on how they should be used in the context of hydrological observations. 9.4.1.1

observedProperty (OM_Observation)

This property is used to describe the phenomenon that is being observed, “…such as "temperature", "height", "colour", "material"” [ISO19156]. The definitions of such properties take the form of a controlled vocabulary, ontology or hierarchy of some form. Part 1 of WaterML2.0 does not define the available hydrological phenomena involved in exchange; it is envisaged that a governing body such as WMO or the OGC Hydro Domain Working Group will define and govern such vocabularies. This property should reference a code item that adequately describes the phenomenon. See the XML implementation for how this is done using XLink references. As a minimum the definition of a concept should contain a name and definition, ss shown in the GF_PropertyType in Figure 7. 22

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

It is recommended that the observed phenomena be separated from the physical medium that is being sampled – see the sampled medium property in section 9.4.1.8.3 – and the units used for measurement (see MeasurementTimeseries in section 9.15.3). 9.4.1.2

parameter (OM_Observation)

This allows for arbitrary named value pairs to be specified for the observation. This is an extensible mechanism for adding (typically event-specific) information that may not be captured directly in the schema. The use of this property is described in ISO19156. 9.4.1.3

phenomenonTime (OM_Observation)

This property describes the temporal extent of the time series that is result of this observation. A TM_Object allows for multiple temporal objects defined by GML. WaterML2.0 restricts this to be a time period, defining the start and end times of the time series. 9.4.1.4

resultTime (OM_Observation)

O&M defines result time as the “…the time when the result becomes available, typically when the procedure associated with the observation was completed.” With a time series result, this will depend on the procedure used for the observation. For automated sensors producing continuous measurements, this will most likely be the time of the end of last point in the time series. For algorithms, sensors and manual methods, this will be time when the result time series becomes available, for example, when an algorithm or model has completed. The resultTime should be associated with the procedure producing the time series rather than generation of the encoded document (e.g. generation through a web service). The generationDate (see section 9.23) of the holding collection document should be used in this case. 9.4.1.5

validTime (OM_Observation)

This describes the time period for which the results are intended to be used. This is important for simulations (especially forecasts) that may only be applicable within a given window of time (often a newer data product will be available that supersedes the ‘observation’). 9.4.1.6

resultQuality (OM_Observation)

This is used to describe the overall quality of a time series. Time series often require per point quality information, which is provided by the specific timeseries types that are used (defined in section 9.12). The resultQuality type is DQ_Element, which is defined by ISO19115 - Data quality information. This type allows for a detailed description of various qualitative aspects of data sets. It is possible to describe both the process used in determining the quality (DQ_Element) and the result of the process (i.e. the estimated quality – DQ_Result), which may be a quantitative result or a level of conformance.

Copyright © 2012-2014 Open Geospatial Consortium

23

9.4.1.7

featureOfInterest (OM_Observation)

The feature of interest describes the feature that is the target of the observation. ISO19156 makes the distinction between observations that make direct observations of feature properties and those that sample the feature and use the sample as a proxy for the value of a feature’s property (often this step involves process, e.g. using an aggregation or interpolation method). Within hydrology sampling is the most common approach (e.g. making a measurement at a particular point on a river section to make inferences about the whole river). Example spatial sampling features within the hydrology domain are shown in Table 3 along with the associated type from ISO19156. All these sampling types exist for the purpose of making estimates of properties (phenomena) of a larger body. Table 3 - Mapping of hydrological sampling features

Hydrological term

ISO19156 – Observations & Measurements

Monitoring station, gauging station, site

SF_SamplingPoint

Borehole, observation well, river profile

SF_SamplingCurve

River cross-section

SF_SamplingSurface

This profile defines one specialised sampling feature, a MonitoringPoint, which describes the characteristics of an in-situ point of observation (e.g. a monitoring station). This feature is recommended when describing such observations but it is recognised that more sampling features exist, thus the restriction of this property only extends to SF_SpatialSamplingFeature. The core of WaterML2.0 does not restrict the feature of interest to be only point-based sampling features. It does, however, identify that this is a common pattern for in-situ monitoring and captures this in the “monitoring point feature of interest” requirements class. It is thus possible to use different sampling features as the target feature. For example, the timeseries observation may describe the average value of a polygon through time. A separate OGC Discussion paper (11-039r2 HY_Features a Common Hydrologic Feature Model) provides a model for hydrologic features of interest and domain features. If exchanging detailed information on hydrologic features is required, this provides a framework for exchanging hydrologic features. As most timeseries data sources utilize monitoring points, the addition of a simple monitoring point feature is suitable for data exchange of this style. 9.4.1.8

metadata (OM_Observation)

The metadata property is restricted to type of ObservationMetadata, described in UML in Figure 8. 24

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

Metadata entity set information::MD_Metadata

«FeatureType» observ ation:: OM_Observ ation

0..* +relatedObservation 0..*

+ + + + Metadata+metadata + + 0..1 + + + + + +

fileIdentifier :CharacterString [0..1] language :CharacterString [0..1] characterSet :MD_CharacterSetCode [0..1] = "utf8" parentIdentifier :CharacterString [0..1] hierarchyLevel :MD_ScopeCode [0..*] = "dataset" hierarchyLevelName :CharacterString [0..*] contact :CI_ResponsibleParty [1..*] dateStamp :Date metadataStandardName :CharacterString [0..1] metadataStandardVersion :CharacterString [0..1] dataSet :CharacterString [0..1] locale :PT_Locale [0..*]

«Type» Observ ationMetadata

«CodeList» SampledMediumCode

«CodeList» StatusCode

+ + + + +

intendedObservationSpacing :TM_PeriodDuration [0..1] status :StatusCode [0..1] sampledMedium :SampledMediumCode [0..1] maximumGap :TM_PeriodDuration [0..1] parameter :NamedValue [0..*]

Figure 8 - Observation metadata

ObservationMetadata, defined as a specialisation of the ISO19115 MD_Metadata type, adds observation specific metadata; each property is described in the following sections. 9.4.1.8.1

intendedObservationSpacing

This defines the expected duration between individual observations. It is common that observations will occur frequently (such as those performed by automated sensors or regular visits); this property allows specification of expected time between measurements. This is reflected in the individual points that make up the resulting time series, but there are cases where the observation interval does not match the intended observation interval. One example would be an increased observation interval intended to capture an event such as a peak in flood. Note there is also the spacing property for Timeseries that is a stricter definition, allowing regularly spaced (equidistant) time series to be encoded (see section 9.12.3.1.2 for a full description). 9.4.1.8.2

status

The status is used as a general categorisation of the state of an observation often relating to the level of validation that has occurred to the data. This property will most likely reference a term in code list (e.g. ‘Validated’, ‘Provisional’). WaterML2.0 does not currently define a code list for the list of potential statuses. This will be addressed in future vocabulary work.

Copyright © 2012-2014 Open Geospatial Consortium

25

9.4.1.8.3

sampledMedium

Describes the medium that was sampled in order to make the observation (e.g. water). Table 4 lists some of the commonly represented mediums in hydrological monitoring. Note: future work on vocabularies harmonisation will investigate hierarchical and mapping related vocabulary items (see section 9.3 for further discussion). The URIs listed provide an initial step towards interoperability of code items. Table 4 - Media for hydrological monitoring

Medium

OGC Name

Water

http://www.opengis.net/def/waterml/2.0/medium/Water

Ground Water

http://www.opengis.net/def/waterml/2.0/medium/GroundWater

Surface Water

http://www.opengis.net/def/waterml/2.0/medium/SurfaceWater

Sediment

http://www.opengis.net/def/waterml/2.0/medium/SedimentWater

Pore Water

http://www.opengis.net/def/waterml/2.0/medium/PoreWater

Pore Air

http://www.opengis.net/def/waterml/2.0/medium/PoreAir

Soil

http://www.opengis.net/def/waterml/2.0/medium/Soil

Soil Air

http://www.opengis.net/def/waterml/2.0/medium/SoilAir

Soil Water

http://www.opengis.net/def/waterml/2.0/medium/SoilWater

Atmosphere

http://www.opengis.net/def/waterml/2.0/medium/Atmosphere

Tissue

http://www.opengis.net/def/waterml/2.0/medium/Tissue

Ground snow

http://www.opengis.net/def/waterml/2.0/medium/GroundSnow

Unknown

http://www.opengs.net/def/nil/OGC/0/unknown

9.4.1.8.4

parameter

A soft-typed field for arbitrary name-value pairs, using the O&M NamedValue type. This may be used to extend the available metadata properties. The use is different than the OM_Observation:parameter property which contains observation-specific parameters. This property should be used where cataloguing of the ObservationMetadata element is expected and requires specific extension.

26

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0 9.4.1.8.5

OGC 10-126r4

maximumGap

Maximum gap provides information on the joining of different observations into a larger series. See section 9.15.2.2 for more information. 9.5

Time series observation specialisations The core TimeseriesObservation is restricted in two specialised types that represent the two possible timeseries result structures: domain-range and time-value pairs. See section 9.12 for details on the definition of the timeseries types. Note: The TimeseriesObservation does not directly subclass the OM_TimeseriesObservation from ISO19156 as this type restricts the result to a CVT_DiscreteTimeInstantCoverage, which is a style of TVP timeseries and thus would not allow the domain-range style of timeseries. Future work will attempt to harmonise the definition of timeseries across the ISO/OGC standards. Figure 10 shows the relationship between the time-value pair structuring of timeseries with the CVT_DiscreteTimeInstantCoverage type. The WaterML2.0 TimeValuePair type makes the specialisation of the DomainObject (to a temporal component) explicit through the WML_DomainObject. The two types reflect different styles of representing timeseries observations. +relatedObservation 0..* 0..* «FeatureType» observ ation::OM_Observ ation

CV_Coverage «FeatureType» cov erageObserv ation:: OM_DiscreteCov erageObserv ation

«FeatureType» TimeseriesObserv ation

«FeatureType» Timeseries (TVP) Observ ation:: TimeseriesTVPObserv ation

+result

Range

Range

+result

+result

«type» Discrete Coverages:: CV_DiscreteCoverage

«FeatureType» Timeseries::Timeseries

«FeatureType» Interleav ed (TVP) Timeseries:: TimeseriesTVP

«FeatureType» TimeseriesDomainRangeObserv ation

+result

«FeatureType» Timeseries (Domain Range):: TimeseriesDomainRange

Figure 9 - Observation types as related to ISO19156 (green) and ISO19123 (red)

Copyright © 2012-2014 Open Geospatial Consortium

27

CV_Coverage «type» Discrete Coverages::CV_DiscreteCoverage +

locate(DirectPosition*) :Set<CV_GeometryValuePair>

+collection 0..*

CoverageFunction

Cov erage Core:: CV_GeometryValuePair

+element 0..*

+ +

geometry :CV_DomainObject value :Record

«FeatureType» Timeseries::Timeseries Temporal Cov erage:: CVT_DiscreteTimeInstantCov erage +collection CoverageFunction

0..* «FeatureType» TimeseriesTVP

+element 0..*

«DataType» Temporal Cov erage:: CVT_TimeInstantValuePair +

geometry :TM_Instant

+collection 0..*

CoverageFunction +element

«DataType» TimeValuePair

0..* +

geometry :WML_DomainObject

Figure 10 - Relationship to CVT_TimeInstantCoverage (ISO19156 – Annex C, green)

9.6

Requirements class – Timeseries (domain range) Observation Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-domain-range-observation Target Type Name

Encoding of the conceptual model Time series (domain range) observation

Dependency

http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-observation

Dependency

http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-domain-range

Requirement

/req/uml-timeseries-domain-range-observation/result

A TimeseriesDomainRangeObservation shall have a result of type TimeseriesDomainRange, as defined in section 9.13 of this standard. This is represented in the UML in Figure 9. 9.6.1.1

result (OM_Observation)

The result of a TimeseriesDomainRangeObservation TimeseriesDomainRange as defined in section 9.13.

28

is

restricted

to

be

of

type

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0 9.7

OGC 10-126r4

Requirements class – Measurement Timeseries (domain range) Observation Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-measurement-timeseries-domain-rangeobservation Target Type Name

Encoding of the conceptual model Measurement timeseries (domain range) observation

Dependency

http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-domain-rangeobservation

Dependency

http://www.opengis.net/spec/waterml/2.0/req/uml-measurement-timeseries-domainrange

Requirement

/req/uml-measurement-timeseries-domain-range-observation/result

A MeasurementTimeseriesDomainRangeObservation shall have a result of type MeasurementTimeseriesDomainRange, as defined in section 9.17 of this standard. This is represented in the UML in Figure 11. OM_DiscreteCoverageObservation «FeatureType» Timeseries Observ ation:: TimeseriesObserv ation

«FeatureType» Timeseries Observ ation:: TimeseriesDomainRangeObserv ation

«FeatureType» MeasurementTimeseriesDomainRangeObserv ation

+result

+result

Timeseries «FeatureType» Timeseries (Domain Range):: TimeseriesDomainRange

«FeatureType» Measurement (Domain Range) Timeseries:: MeasurementTimeseriesDomainRange

Figure 11 - Measurement timeseries (domain range) observation 9.7.1.1

result (OM_Observation)

The result of a MeasurementTimeseriesDomainRangeObservation is restricted to be of type MeasurementTimeseriesDomainRange as defined in section 9.17. Copyright © 2012-2014 Open Geospatial Consortium

29

9.8

Requirements class – Categorical Timeseries (domain range) Observation Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-categorical-timeseries-domain-rangeobservation Target Type Name

Encoding of the conceptual model Categorical timeseries (domain range) observation

Dependency

http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-domain-rangeobservation

Dependency

http://www.opengis.net/spec/waterml/2.0/req/uml-categorical-timeseries-domain-range

Requirement

/req/uml-categorical-timeseries-domain-range-observation/result

A CategoricalTimeseriesDomainRangeObservation shall have a result of type CategoricalTimeseriesDomainRange, as defined in section 9.8 of this standard. This is represented in the UML in Figure 12 OM_DiscreteCoverageObservation «FeatureType» Timeseries Observ ation:: TimeseriesObserv ation

«FeatureType» Timeseries Observ ation:: TimeseriesDomainRangeObserv ation

«FeatureType» CategoricalTimeseriesDomainRangeObserv ation

Timeseries

+result

«FeatureType» Timeseries (Domain Range):: TimeseriesDomainRange

+result

«FeatureType» Categorical (Domain Range) Timeseries:: CategoricalTimeseriesDomainRange

Figure 12 - categorical timeseries (domain range) observation 9.8.1.1

result (OM_Observation)

The result of a CategoricalTimeseriesDomainRangeObservation is restricted to be of type CategoricalTimeseriesDomainRange as defined in section 9.18.

30

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0 9.9

OGC 10-126r4

Requirements class – Timeseries time-value pair (interleaved) Observation Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-tvp-observation Target Type Name

Encoding of the conceptual model TVP (interleaved) timeseries observation

Dependency

http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-observation

Dependency

http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-tvp

Requirement

/req/uml-timeseries-tvp-observation/result

A TimeseriesTVPObservation shall have a result of type TVPTimeseries, as defined in clause 9.14 of this standard. This is represented in the UML in Figure 13. OM_DiscreteCoverageObservation «FeatureType» Timeseries Observ ation:: TimeseriesObserv ation

«FeatureType» TimeseriesTVPObserv ation

Timeseries +result

«FeatureType» Interleav ed (TVP) Timeseries:: TimeseriesTVP

Figure 13 - Timeseries (TVP) Observation 9.9.1.1

result (OM_Observation)

The result of a TVPTimeseriesObservation is restricted to be of type TVPTimeseries as defined in section 9.14. 9.10 Requirements class – Measurement Timeseries time-value pair (interleaved) Observation Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-measurement-timeseries-tvp-observation Target Type

Encoding of the conceptual model

Copyright © 2012-2014 Open Geospatial Consortium

31

Name

Time-value pair (interleaved) timeseries observation - measurements

Dependency

http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-tvp-observation

Dependency

http://www.opengis.net/spec/waterml/2.0/req/uml-measurement-timeseries-tvp

Requirement

/req/uml-measurement-timeseries-tvp-observation/result

A MeasurementTimeseriesTVPObservation shall have a result of type MeasurementTimeseriesTVP, as defined in clause 9.15 of this standard. This is represented in the UML in Figure 14. OM_DiscreteCoverageObservation «FeatureType» Timeseries Observ ation:: TimeseriesObserv ation

Timeseries

«FeatureType» Timeseries (TVP) Observ ation:: TimeseriesTVPObserv ation

+result

«FeatureType» MeasurementTimeseriesTVPObserv ation

+result

«FeatureType» Interleav ed (TVP) Timeseries:: TimeseriesTVP

«Type» Measurement (TVP) Timeseries:: MeasurementTimeseriesTVP

Figure 14 - Measurement timeseries (TVP) Observation 9.10.1.1

result (OM_Observation)

The result of a MeasurementTimeseriesTVPObservation is restricted to be of type MeasurementTimeseriesTVP as defined in section 9.15. 9.11 Requirements class – Categorical Timeseries time-value pair (interleaved) Observation Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-categorical-timeseries-tvp-observation 32

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0 Target Type Name

OGC 10-126r4

Encoding of the conceptual model Time-value pair (interleaved) timeseries observation - categorical

Dependency

http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-tvp-observation

Dependency

http://www.opengis.net/spec/waterml/2.0/req/uml-categorical-timeseries-tvp

Requirement

/req/uml-categorical-timeseries-tvp-observation/result

A CategoricalTimeseriesTVPObservation shall have a result of type CategoricalTimeseriesTVP, as defined in clause 9.16 of this standard. This is represented in the UML in Figure 15. OM_DiscreteCoverageObservation «FeatureType» Timeseries Observ ation:: TimeseriesObserv ation

«FeatureType» Timeseries (TVP) Observ ation:: TimeseriesTVPObserv ation

Timeseries +result

«FeatureType» CategoricalTimeseriesTVPObserv ation

+result

«FeatureType» Interleav ed (TVP) Timeseries:: TimeseriesTVP

«Type» Categorical (TVP) Timeseries :: CategoricalTimeseriesTVP

Figure 15 - Categorical timeseries (TVP) Observation 9.11.1.1

result (OM_Observation)

The result of a CategoricalTVPTimeseriesObservation is restricted to be of type CategoricalTimeseriesTVP as defined in clause 9.16. 9.12 Requirements class: Timeseries (Core) Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-core Copyright © 2012-2014 Open Geospatial Consortium

33

Target Type Name

Encoding of the conceptual model Timeseries

Dependency

urn:iso:dis:iso:19123:clause:5.3 (CV_Coverage)

Requirement

/req/uml-timeseries-core/domain-object

A timeseries is a coverage whose domain shall consist of the temporal elements of the timeseries. If the series is spatially varying, the spatial elements shall describe each spatial element (empty for in-situ timeseries). This is shown in Figure 18. Requirement

/req/uml-timeseries-core/time-increasing

The time elements of the timeseries shall be ordered in increasing time. Requirement

/req/uml-timeseries-core/record-homogenous

The record-type for the values (range) of the timeseries shall be homogenous. Requirement

/req/uml-timeseries-core/coverage-type

A timeseries shall implement the domain-range or geometry-value (time-value pairs) coverage type. (This requirements class is abstract). Requirement

/req/uml-timeseries-core/quality

When specifying the quality of a data point using the quality property (section 9.12.3.2.1) an appropriate URI from Table 5 shall be used. Requirement

/req/uml-timeseries-core/timeseries-metadata

The timeseries shall support metadata for the series as shown in the UML in Figure 16 and Figure 19. Requirement

/req/uml-timeseries-core/point-metadata

The timeseries shall support point metadata for each value in the series as shown in the UML in Figure 20.

34

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

«type» Coverage Core::CV_Coverage

«type» +domainElement Cov erage Core:: Domain CV_DomainObj ect 1..*

+collection +collection

Range

«type» Discrete Coverages::CV_DiscreteCoverage +

locate(DirectPosition*) :Set<CV_GeometryValuePair>

«type» Cov erage Core:: 0..* CV_AttributeValues

+rangeElement

+

values :Record

+collection 0..*

CoverageFunction +element

Cov erage Core::CV_GeometryValuePair

0..*

«FeatureType» Timeseries

+ +

geometry :CV_DomainObject value :Record

«type» Records and Class Metadata::Record {root}

constraints {record-type homogenous}

+

locate(MemberName*) :Any

0..* Annotation +metadata

0..1

«DataType» TimeseriesMetadata + + + +

baseTime :TM_Instant [0..1] spacing :TM_PeriodDuration [0..1] temporalExtent :TM_Period [0..1] extension :NamedValue [0..*]

«FeatureType» Interleav ed (TVP) Timeseries:: TimeseriesTVP

«FeatureType» Timeseries (Domain Range):: TimeseriesDomainRange

Figure 16 - Timeseries base type and relationship to coverages

Conceptually, WaterML2.0 captures the notion of timeseries as a low-level data management structure that contains an ordered set of related point observations. The point observations that make up a time series are often made by sensors, but may also be from manual observations, or a combination of both. For in-situ sensors, data loggers are often connected to sensors, store the individual observations, and will group them into time series for a particular phenomenon that is being measured. When data is processed from sensors and/or data loggers, particular metadata is associated with the collection of points that allow interpretation based on how the sensor is configured to measure (e.g. averaging periods, accumulation of values, value resets etc.). A timeseries may not be the result of direct measurements but also derived from combinations of other series, processing and/or calculations. From an O&M perspective, such timeseries are still observations but are results from a different a process (e.g. a temporal aggregation process). This allows disambiguation of timeseries of directly sensed phenomena and those derived through other relationships. E.g. direct measurements of discharge vs. level-to-discharge calculation using a rating curve or table. The value type of the individual observations is another axis of categorisation for time series. Potential types for measurement include: Copyright © 2012-2014 Open Geospatial Consortium

35

Measures (3.2 m/s) Vectors (e.g. wind speed and direction: 3.2 m/s North) Categorical (e.g. ‘cloudy’, ‘windy’ etc.) Composite (combination of phenomena, e.g. Conductivity, Temperature, Dissolved oxygen) WaterML2.0 – part 1 focuses on timeseries with value types of measures and categories. These types capture the percentage of requirements for data exchange, while keeping a level of simplicity in the model and encodings, leading to simpler implementations. Composite timeseries (multiple phenomena) and other types will be addressed in future versions. Within the hydrology domain, downstream processes often annotate timeseries using both manual and automatic methods. An example is quality assurance and control where a timeseries may be marked up to give an indication of quality of data; this may be done, for example, by a person manually looking at a plot, or by algorithms checking for abnormal deviations or other indicators. Such annotations come in many different forms and are important to persist for data exchange purposes. 9.12.1 Relationship to timeseries concepts in other domains

Timeseries are not specific to the hydrology domain, but the observation processes and use of data form a specific view of timeseries that represent the particular domains requirements. Other domains have information models for timeseries that reflect the needs of their domain; for example, financial timeseries, other environmental sciences or science domains making use of continuous observation. This standard, with a focus on assisting interoperability and the growing need for cross-domain exchange, attempts to relate key concepts to those in related domains. The most closely related concept within the spatial and observation community is that of coverages. 9.12.2 Relationship to ISO19123 – Coverages

ISO19123 defines a coverage as a: “(a) feature that acts as a function to return values from its range for any direct position within its spatial, temporal or spatiotemporal domain” Or, “…a coverage is a feature that has multiple values for each attribute type, where each direct position within the geometric representation of the feature has a single value for each attribute type.” A time series in the context of observational data can be seen as a discrete coverage, where the domain is a spatiotemporal axis and the range is all the possible values of the observed property. An instance of such a coverage would be a set of ordered time instances where each is associated with a single value from the attribute space. This association is often represented using timevalue pairs.

36

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

The ISO coverages model describes two approaches to representing coverages: a ‘domain-range’ representation where the domain and range are encoded separately, with a mapping function that allows looking up of the range value for a given domain value; and a ‘geometry-value’, or interleaved, approach whereby the geometry and value are coupled together – the coupling explicitly represents the mapping. GML 3.2.1 notes that the geometry-value approach “... is typically used during data collection where a set or properties relating to a single location are managed together, or update of a datastore where only a small number of features are manipulated at one time.” And the domain-range approach is ‘…more suitable for analysis, where spatio-temporal patterns and anomalies within a specific property are of interest.” Within hydrology this is often the case. For example, a grid showing the spatial distribution of rainfall is often generated from observations using interpolation techniques such as kriging. The surface may be generated using point observations from in-situ sensors. The point observations are often represented using a geometry-value structure with the generated surface being represented using the domain-range approach, with a spatial grid (domain) mapped to its range values (representing total rainfall in the grid cell, for example). This provides a more efficient representation.

Temporal axis (Domain)

Parameter Space (Range)

Figure 17 - Timeseries as a coverage

WaterML2.0 defines a timeseries as a coverage whose domain consists of collection of ordered temporal elements and the spatial component relates to the feature of interest of the observation. For in-situ timeseries the spatial element will be fixed and need not be directly represented in the timeseries domain. The core coverage elements and the relationship to timeseries are shown in Figure 16 and Figure 18.

Copyright © 2012-2014 Open Geospatial Consortium

37

«type» Coverage Core::CV_Coverage + + +

domainExtent :EX_Extent [1..*] rangeType :RecordType commonPointRule :CV_CommonPointRule

+ + + + +

evaluate(DirectPosition*, Sequence<CharacterString>*) :Record evaluateInverse(Record*) :Set<CV_DomainObject> find(DirectPosition*, Integer*) :Sequence<CV_GeometryValuePair> list() :Set<CV_GeometryValuePair> select(GM_Object*, TM_Period*) :Set<CV_GeometryValuePair>

+collection

Range +rangeElement

0..*

«type» Cov erage Core:: CV_AttributeValues +

+collection

values :Record

Domain +domainElement 1..* TM_Primitive Temporal Obj ects:: TM_GeometricPrimitiv e

+temporalElement

«type» Cov erage Core::CV_DomainObj ect

+temporalElement 0..*

+spatialElement SpatialComposition 0..*

TemporalComposition

«type» Geometry root:: GM_Object {root}

+spatialElement

1

TemporalComposition

«Type» WML_DomainObj ect

1

SpatialComposition

constraints {temporalElements shall be ordered in increasing time} {result domain = feature of interest + time series}

Figure 18 - Timeseries as a coverage

A timeseries may then be viewed in two ways from a coverage perspective: using the ‘domainrange’ view or the ‘geometry-value’ or interleaved view. Note that the term ‘geometry’ holds the domain object and is composed of varying spatial and temporal components (e.g. time instants). The two types are show in Figure 21 and Figure 22 respectively. The geometry-value view is consistent with the most common structuring in the hydrology domain: time and values are coupled together and represent discrete observations at time instants. The use of the term geometry is based on the coverage viewpoint; time-value will be used in place for clarity. 9.12.3 Timeseries and point metadata

Associating metadata with timeseries as a whole and at each individual point is a common requirement in hydrological data. Data is annotated with various types of qualifying information such as quality assertions, affecting environmental conditions, description of processing and so on. These annotations are important when processing and analysing timeseries to ensure correct interpretation. At a generic level it is possible to associate any metadata with timeseries and timeseries points, this is shown with Annotation associations in Figure 21 and Figure 22. Using a soft-typed approach, this is simply a collection of named value pairs. Whilst flexible, this approach doesn’t

38

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

capture semantics specific to the metadata elements. WaterML2.0 thus defines two specialisations for timeseries and point-based metadata as shown in Figure 19 and Figure 20. Using the interleaved structuring, metadata is associated with a time-value pair explicitly, with the metadata directly associated with a pair. Using the domain-range structuring, metadata is associated to the timeseries through an AnnotationCoverage. This is a coverage that describes the temporally ranging metadata for the series. The domain of the coverage is the time that the annotation is valid; the range captures the values of the annotation (e.g. a quality assertion). In ISO19123 the values of range are described using a Record, which is a generic set of typed values. Each annotation that is required would need an associate record type. For example, quality may be a string record type that allows for simple categorical representations of quality. The core elements of annotation for timeseries and timeseries points are shown in Figure 19 and Figure 20. These types are further extended for specific series types (e.g. measurement series.) Each of the metadata elements is described in the following sections. 9.12.3.1

Timeseries metadata «DataType» TimeseriesMetadata + + + +

baseTime :TM_Instant [0..1] spacing :TM_PeriodDuration [0..1] domainExtent :TM_Period [0..1] parameter :NamedValue [0..*]

Figure 19 - Timeseries metadata

The following sections define the available metadata properties for timeseries. 9.12.3.1.1 domainExtent

The domain extent is the temporal extent of the timeseries. The concept is inherited from the coverage model as shown in Figure 18. As the domain of the timeseries is temporal, the domainExtent is a time period defining the start and end of its temporal domain (i.e. the start and end of the timeseries). Note that this often the same as the phenomenon time as specified in the OM_Observation; it is still useful here for timeseries that are described separately from an OM_Observation header. 9.12.3.1.2 Equidistant time series (baseTime and spacing)

Time series that are regularly spaced, such as those that are generated from automatic sensors, can be represented without specifying the individual time instant for each point. The spacing property of the time series is used to specify the time between points. This is then used as the spacing for each point encountered, starting from the time set by baseTime. See requirement req/xsd-timeseries-tvp/equidistant-encoding in section 10.8 for details on how this is implemented in XML. If the spacing between the timeseries values differs then the time instants Copyright © 2012-2014 Open Geospatial Consortium

39

should be directly represented. For such cases (non-equidistant times), the intendedObservationSpacing (section 9.4.1.8.1) may be used to indicate the expected spacing. This allows for discovery based on the intended spacing, even there are some values that are note exactly equidistant (e.g. the frequency was increased through an important event). 9.12.3.1.3 parameter

This is a named value extension point that allows extra metadata to be added at the timeseries level. The parameters here are soft-typed (i.e. this standard does not define the properties semantics). Commonly used parameters here would be future candidates for definition within later versions or community extensions. 9.12.3.2

Point metadata «DataType» PointMetadata + + + + + + +

quality :DataQualityCode [0..1] nilReason :NilReason [0..1] comment :CharacterString [0..1] relatedObservation :OM_Observation [0..1] qualifier :Quality [0..*] processing :ProcessingCode [0..1] source :MD_DataIdentification [0..1]

«CodeList» ProcessingCode

«CodeList» DataQualityCode

«CodeList» basicTypes:: NilReasonEnumeration {root} + + + + +

inapplicable missing template unknown withheld

«Union» Simple Components::Quality «property» + byQuantity :Quantity + byQuantityRange :QuantityRange + byCategory :Category + byText :Text

Figure 20 – Timeseries point metadata 9.12.3.2.1 quality

This property is for specifying a quality assertion using the WaterML2.0 defined concepts of quality as described below. When a non-standard quality code is required the qualifier property shall be used as described in section 9.12.3.2.5. WaterML2.0 defines a set of high-level categories for quality to enhance interpretation and interoperability of data exchange, shown in Table 5. The categories defined in table allow for software and/or users to get an idea of the nature of a data series (or point). The URIs from this list shall be used for this property. 40

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4 Table 5 - Quality categories

Quality

OGC Name

Description

Good

http://www.opengis.net/def/wat erml/2.0/quality/good

The data has been examined and represents a reliable measurement.

Suspect

http://www.opengis.net/def/wat erml/2.0/quality/suspect

The data should be treated as suspect.

Estimate

http://www.opengis.net/def/wat erml/2.0/quality/estimate

The data is an estimate only, not a direct measurement.

Poor

http://www.opengis.net/def/wat erml/2.0/quality/poor

The data should be considered as low quality and may have been rejected.

Unchecked

http://www.opengis.net/def/wat erml/2.0/quality/unchecked

The data has not been checked by any qualitative method.

Missing

http://www.opengs.net/def/nil/O The data is missing. GC/0/missing

9.12.3.2.2 nilReason

This property describes the reason that a point has been identified as null. This provides context for interpreting null points (e.g. missing, withheld etc.). 9.12.3.2.3 comment

Context information that does not fit into a controlled list of qualifiers, processing or quality information is often provided in free text per point. The comment property provides a placeholder for such textual information. 9.12.3.2.4 relatedObservation

This property allows individual points to be associated with related observations. This is used when a timeseries consists of interleaved observations from different sources and understanding the relationship to existing observation(s) is important. 9.12.3.2.5 qualifier

The qualifier property is used for qualifying information that is broader in nature than the quality property. These often include indicators or flags that provide further context for the value. Wide ranges of these are in use and harmonisation of the available types will be addressed in future work.

Copyright © 2012-2014 Open Geospatial Consortium

41

Quality information often aggregates these elements, but qualifiers allow for deeper interpretation and capture of useful information on a per point basis. The qualifier uses the SWE Common ‘Quality’ union that allows a qualifier to be specified using a Quantity, Quantity Range, Category or Text type. The qualifier type may also be used to specify a quality code where the WaterML2.0 quality codes are not being used (see 9.12.3.2.1); for example, where an internal quality code needs to be preserved with the data. 9.12.3.2.6 processing

The processing property allows for the categorisation of the processing that has been performed on the time series. This is closely related to the procedure information as defined at the observation level, but allows for more granular definition (i.e. on a per point basis). Often a default processing type will be set for a whole time series, such as for a forecast time series. The XML encoding handles these cases with a defaulting mechanism described in section 10.8. 9.12.3.2.7 source

This property allows for granular definition of the source of a particular timeseries value. The property points to an object of MD_DataIdentification type (from ISO19115) that provides context on where the data was sourced. This is useful derived time series where the values are aggregated from multiple sources. The property is by reference only meaning that the full MD_DataIdentification type would not be encoded directly but referenced. The XML implementation provides a means to do this. 9.13 Requirements class: Timeseries Domain-Range Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-domain-range Target Type Name

Encoding of the conceptual model Timeseries (Domain-Range)

Dependency

urn:iso:dis:iso:19123:clause:5.7 (CV_DiscreteCoverage)

Dependency

http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-core

Requirement

/req/uml-timeseries-domain-range/domain-range-separate

The time (domain) and values (range) shall be directly represented separately with a 1:1 relationship between each time instant and value in the range as shown in Figure 21.

42

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

«type» Coverage Core::CV_Coverage + + +

domainExtent :EX_Extent [1..*] rangeType :RecordType commonPointRule :CV_CommonPointRule

+ + + + +

evaluate(DirectPosition*, Sequence<CharacterString>*) :Record evaluateInverse(Record*) :Set<CV_DomainObject> find(DirectPosition*, Integer*) :Sequence<CV_GeometryValuePair> list() :Set<CV_GeometryValuePair> select(GM_Object*, TM_Period*) :Set<CV_GeometryValuePair>

«type» Discrete Coverages::CV_DiscreteCoverage +

+collection Range

+collection +rangeElement 0..* «type» Cov erage Core:: CV_AttributeValues

locate(DirectPosition*) :Set<CV_GeometryValuePair> Domain +

values :Record

«FeatureType» Timeseries::Timeseries +domainElement 1..* «type» Cov erage Core::CV_DomainObj ect «FeatureType» TimeseriesDomainRange

Annotation +metadata «FeatureType» AnnotationCov erage

+collection

0..*

+domainElement

Domain +collection

Domain

«Type» Timeseries::WML_DomainObj ect

1..* constraints +domainElement {temporalElements shall be ordered in increasing time} {result domain = feature of interest + time series} 1..*

Figure 21 - Timeseries using domain-range view 9.13.1 Domain

Specifies the temporal domain of the coverage. This is the set of time elements that are mapped to the range set using a 1:1 mapping. 9.13.2 Range

Specifies the value set for the timeseries. This class keeps the value-type abstract and subclasses identify the common timeseries types, such as timeseries of measurements 9.14 Requirements class: Timeseries Time-Value Pair (interleaved) Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-tvp

Copyright © 2012-2014 Open Geospatial Consortium

43

Target Type

Encoding of the conceptual model

Name

Timeseries (interleaved)

Dependency

http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-core

Dependency

urn:iso:dis:iso:19123:clause:5.7 (CV_DiscreteCoverage)

Dependency

urn:iso:dis:iso:19123:clause:5.8 (CV_GeometryValuePair)

Requirement

/req/uml-timeseries-tvp/interleaved

The time (domain) and values (range) shall be provided using using time-value pair representation as shown in Figure 22. +rangeElement

«type» Coverage Core::CV_Coverage Domain

+collection

+domainElement 1..* «type» Cov erage Core:: CV_DomainObj ect

+ + +

+collection

domainExtent :EX_Extent [1..*] rangeType :RecordType commonPointRule :CV_CommonPointRule

«type» Discrete Coverages:: CV_DiscreteCoverage

Range

0..*

+

0..* + +

«FeatureType» Timeseries::Timeseries

geometry :CV_DomainObject value :Record

«DataType» TimeValuePair

«Type» Timeseries:: WML_DomainObj ect

+element +

geometry :WML_DomainObject

0..*

CoverageFunction +collection «FeatureType» TimeseriesTVP

values :Record

Cov erage Core:: CV_GeometryValuePair

+collection CoverageFunction +element 0..*

«type» Cov erage Core:: CV_AttributeValues

Annotation

0..*

+metadata

0..1

«DataType» Timeseries::PointMetadata + + + + + + + +

quality :DataQualityCode [0..1] nilReason :NilReason [0..1] comment :CharacterString [0..1] relatedObservation :OM_Observation [0..1] qualifier :Quality [0..*] processing :ProcessingCode [0..1] source :MD_DataIdentification [0..1] aggregationDuration :TM_PeriodDuration [0..1]

Figure 22 - Timeseries using time-value (interleaved) view 9.14.1 geometry

The ‘geometry’ property contains the temporal domain of the timeseries coverage (e.g. the time instant that a value is associated to.) 44

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

9.14.2 Value

The value is a Record (as defined by ISO19123) that indicates the value of the property of interest for the observation. This class keeps the value-type abstract and subclasses identify the common timeseries types, such as timeseries of measurements. 9.15 Requirements class: Measurement Timeseries TVP (interleaved) Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-measurement-timeseries-tvp Target Type Name

Encoding of the conceptual model Measurement Timeseries (interleaved)

Dependency

http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-tvp

Requirement

/req/uml-measurement-timeseries-tvp/value-type

All values of the time-value pairs of a MeasureTimeseries shall be of type Measure. Requirement

/req/uml-measurement-timeseries-tvp/interpolation-type

When specifying the interpolation type of a data point using the interpolation property (section 9.15.3.2) an appropriate URI from Table 6 shall be used.

Copyright © 2012-2014 Open Geospatial Consortium

45

«FeatureType» Interleav ed (TVP) Timeseries:: TimeseriesTVP

+collection CoverageFunction +element 0..*

«Type» MeasurementTimeseriesTVP

«DataType» Interleav ed (TVP) Timeseries:: TimeValuePair

0..*

+

geometry :WML_DomainObject

«Type» MeasureTimeValuePair

+collection CoverageFunction +element 0..*

0..*

+

value :Measure

Annotation

Annotation +metadata

+metadata

PointMetadata

TimeseriesMetadata

«DataType» MeasurementPointMetadata

«DataType» MeasurementTimeseriesMetadata + + + + + +

cumulative :Boolean accumulationIntervalLength :TM_PeriodDuration [0..1] accumulationAnchorTime :TM_Period [0..1] startAnchorPoint :TM_Position [0..1] endAnchorPoint :TM_Position [0..1] maxGapPeriod :TM_PeriodDuration [0..1]

+ + + +

censoredReason :CensoredReasonCode [0..1] accuracy :Quantity [0..1] interpolationCode :InterpolationCode aggregationDuration :TM_PeriodDuration [0..1]

«CodeList» Timeseries::InterpolationCode

Units of Measure::Measure +measure UnitOfMeasure +uom {root} 0..* 1 + value :Number

Units of Measure:: UnitOfMeasure {root} +subunit 0..*0..1 SubUnitsPerUnit

Figure 23 - Measurement Timeseries (TVP) 9.15.1 Value

The Measurement type shown in Figure 23 is always associated to a unit of measure. Conceptually, all individual points have a unit of measure; it is common that for a timeseries the unit of measure will be the same – there are mechanisms for setting default properties in the XML encoding. The units of measure themselves are not defined by WaterML2.0 but referenced through appropriate identifiers.

46

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

9.15.2 Measurement Timeseries metadata 9.15.2.1

Anchor point

The startAnchorPoint and endAnchorPoint properties are used to extend a time series to include non-explicitly represented periods of time for which the observation is valid. Individual points, when associated with their interpolation type (section 9.15.3.2), have a ‘direction’ in time: to correctly process such data it is required to understand where the boundaries of the values lie. For example, in Figure 24, the first point of the series (position B) has a data type of average for the preceding interval. Here the value represents the average from the previous point up to this point. As there is no previous point (it is the first in the series), it is not possible to determine how far back the value should be considered to hold. The anchor point time specifies a ‘ghost’ point to allow the value to be interpreted correctly.

Figure 24 - Anchor points 9.15.2.2

Joining separate observation series (max gap period)

When two non-overlapping time series have been separately collected they require ‘connection’ in order to make a single time series. For example, if the latest two months of river discharge data is transferred from one system to a major archive, the series must be connected in order to make a full series over which reporting can be run (e.g. to calculate yearly summaries). Figure 25 shows an example of this scenario.

Copyright © 2012-2014 Open Geospatial Consortium

47

Figure 25 - Connecting two time series

Observation set #2 is the latest 2 months of data coming into the archival set shown by observation set #1. The join period between the two series will be determined by the time period between the series where no existing points exist. When any analysis is run over this series it is important to know if it is possible to interpolate between point A and point B. The maxGapPeriod property defines this for an observation series – if the join period is greater than the maxGapPeriod then the series should not be interpolated between the adjoining points. 9.15.2.3

Cumulative timeseries

A series that is defined as cumulative (using the cumulative property of type boolean) is one where the values indicate a sequentially increasing series; i.e. each value is added to the last so the value represents the total of a value since accumulation began. An example is shown in Figure 26. Note: cumulative series should only be used for time series of the total data types: instantaneous total, preceding total, succeeding total as these represent total quantities.

48

Copyright © 2012-2014 Open Geospatial Consortium

OGC 10-126r4

Value

OGC WaterML 2.0

Time Figure 26 - A cumulative series

The accumulationAnchorTime is used to define the time at which accumulation begins. This is used for consistently accumulated values (such as rainfall) where the values are representing a continuous stream of totals across a certain period. The accumulationIntervalLength defines the duration of the period. For example, Figure 27 shows accumulated daily rainfall totals from 9am to 9am.

Figure 27 - Example accumulated series

Copyright © 2012-2014 Open Geospatial Consortium

49

9.15.3 Measurement Timeseries point metadata 9.15.3.1

censoredReason

This property allows specification of a reason for a value being censored. This is often used when the value of a measured property moves below or above the threshold of the measuring device. To specify a censor threshold (e.g. 0.02 mm), a point-level qualifier may be used (of type Quantity) as described in section 9.12.3.2.5. 9.15.3.2

accuracy

This property allows for a quantitative assertion of the estimated accuracy of the measurement value. 9.15.3.1

aggregationDuration

This property describes the time aggregation that has occurred to the value in the timeseries. 9.15.3.2

interpolationType

One of the core characteristics of measurement time series is the nature of the relationship between the time instant and the recorded value. This relationship is determined by the procedure that was used in making the estimate that the value represents. Representing this is crucial to correctly interpret the time series values. For example, the value may represent an average across the time period since the last point (average in preceding interval). WaterML2.0 defines a number of types of time series, as shown in Table 6. The interpolation type is defined per point within the time series as it is possible for this to change mid series. Within the XML encoding it is possible to set a default interpolation for the series. Table 6 - Types of time series

http://www.opengis.net/def/waterml/2.0/interpolationTyp 5.3.2.1 Continuous/Instantaneous e/Continuous

50

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

Value

A continuous time series indicates the observation result is the value of a property at the indicated instant in time. The points are essentially connected and interpolation may occur between points in order to estimate the value of the property between points. The appropriate time spacing between successive points to minimise interpolation errors is related to rate of change (wrt time) of the property.

Time

http://www.opengis.net/def/waterml/2.0/interpolationTyp 5.3.2.2 Discontinuous e/Discontinuous The sampling of the property occurs such that it is not possible to regard the series as continuous. The time between samples is too large to classify the measurements as continuous. water

sample

Value

Example: Infrequent measuring pH.

Time

http://www.opengis.net/def/waterml/2.0/interpolationTyp 5.3.2.3 Instantaneous total e/InstantTotal

Copyright © 2012-2014 Open Geospatial Consortium

51

Value represents a total attributed to a specific time instant. This is normally generated from an event based measuring device such as a tipping bucket rain gauge.

Value

Example: An individual tip of a tipping bucket rain gauge.

Time

http://www.opengis.net/def/waterml/2.0/interpolationTyp 5.3.2.4 Average in preceding interval e/AveragePrec Value represents the average value over the preceding interval.

Value

Example: Daily mean discharge.

Time

http://www.opengis.net/def/waterml/2.0/interpolationTyp 5.3.2.5 Maximum in preceding interval e/MaxPrec

52

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4 Value represents the maximum value that was measured during the preceding time interval.

Value

Example: Monthly maximum discharge

Time

http://www.opengis.net/def/waterml/2.0/interpolationTyp 5.3.2.6 Minimum in preceding interval e/MinPrec Value represents the minimum value that was measured during the preceding time interval.

Value

Example: Daily minimum temperature.

Time

http://www.opengis.net/def/waterml/2.0/interpolationTyp 5.3.2.7 Preceding total e/TotalPrec

Copyright © 2012-2014 Open Geospatial Consortium

53

Value represents the total of measurements taken within the previous time interval.

Value

Example: Daily pan evaporation

Time

http://www.opengis.net/def/waterml/2.0/interpolationTyp 5.3.2.8 Average in succeeding interval e/AverageSucc Value represents the average value over the following interval.

Value

Example: Daily mean discharge encoded as value representing beginning of interval (ODM style).

Time

http://www.opengis.net/def/waterml/2.0/interpolationTyp 5.3.2.9 Succeeding total e/TotalSucc

54

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

Value

Value represents the total of measurements taken within the following time interval.

Time

http://www.opengis.net/def/waterml/2.0/interpolationTyp 5.3.2.10 Minimum in succeeding e/MinSucc interval

Value represents the minimum value for the following interval.

http://www.opengis.net/def/waterml/2.0/interpolationTyp 5.3.2.11 Maximum in succeeding e/MaxSucc interval

Value represents the maximum value for the following interval.

http://www.opengis.net/def/waterml/2.0/interpolationTyp 5.3.2.12 Constant in preceding interval e/ConstPrec Value is constant in the preceding interval. Example: Alarm level

http://www.opengis.net/def/waterml/2.0/interpolationTyp 5.3.2.13 Constant in succeeding e/ConstSucc interval

Value is constant in the succeeding interval. Example: Alarm level

http://www.opengis.net/def/waterml/2.0/interpolationTyp 5.3.2.14 Statistical e/Statistical

Copyright © 2012-2014 Open Geospatial Consortium

55

Interpolation type is defined by a statistical method.

9.16 Requirements class: Categorical Timeseries TVP (interleaved) Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-categorical-timeseries-tvp Target Type Name

Encoding of the conceptual model Categorical Timeseries (interleaved) TVP

Dependency

http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-tvp

Requirement

/req/uml-categorical-timeseries-tvp/value-type

All values of the time-value pairs of a CategoricalTimeseriesTVP shall be of type Category as shown in the UML in Figure 28.

56

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

Timeseries «FeatureType» Interleav ed (TVP) Timeseries:: TimeseriesTVP

+collection 0..*

CoverageFunction +element

«DataType» Interleav ed (TVP) Timeseries:: TimeValuePair

0..* +

geometry :WML_DomainObject

«Type» CategoricalTimeseriesTVP +collection 0..*

CoverageFunction +element

«Type» CategoryTimeValuePair

0..* +

value :Category

AbstractSimpleComponent «Type» Simple Components::Category

Figure 28 - Categorical timeseries (TVP)

9.17 Requirements class: Measurement Timeseries (Domain-Range) Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-measurement-timeseries-domain-range Target Type Name

Encoding of the conceptual model Timeseries (Domain-Range)

Dependency

http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-domain-range

Requirement

/req/uml-measurement-timeseries-domain-range/value-type

The type of all the range elements of a MeasurementTimeseriesDomainRange shall be of type Measure.

Copyright © 2012-2014 Open Geospatial Consortium

57

«type» Coverage Core::CV_Coverage

+collection

Range +rangeElement

«type» Cov erage Core:: CV_AttributeValues

0..* +

values :Record

«type» Discrete Coverages:: CV_DiscreteCoverage

«FeatureType» Timeseries::Timeseries Units of Measure::Measure {root}

«DataType» CV_AttributeValuesMeasure +

«FeatureType» Timeseries (Domain Range):: TimeseriesDomainRange

values :Measure

+rangeElement

0..*

Range «FeatureType» +collection MeasurementTimeseriesDomainRange

Figure 29 - Measurement timeseries (domain range)

9.18 Requirements class: Categorical Timeseries (Domain-Range) Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-categorical-timeseries-domain-range Target Type Name

Encoding of the conceptual model Categorical Timeseries (Domain-Range)

Dependency

http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-domain-range

Requirement

/req/uml-categorical-timeseries-domain-range-category/value-type

The type of all the range elements of a CategoricalTimeseriesDomainRange shall be of type Category as shown in the UML in Figure 30.

58

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

«type» Coverage Core::CV_Coverage

+collection

Range

+rangeElement 0..*

«type» Discrete Coverages::CV_DiscreteCoverage

«type» Cov erage Core:: CV_AttributeValues +

values :Record

«FeatureType» Timeseries::Timeseries AbstractSimpleComponent «Type» Simple Components::Category «FeatureType» Timeseries (Domain Range):: TimeseriesDomainRange

«FeatureType» CategoricalTimeseriesDomainRange

«DataType» WML_AttributeValuesMeasure +

values :Category

+rangeElement

+collection

0..*

Range

Figure 30 - Categorical timeseries (domain range)

9.19 Requirements class: Monitoring Points Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-monitoring-point Target Type Name

Encoding of the conceptual model Monitoring point

Dependency

urn:iso:dis:iso:19156:clause:9

Requirement

/req/uml-monitoring-point/valid

An encoding of MonitoringPoint shall represent the class(es) described in Figure 31 with all attributes and associations. Recommendation

/rec/uml-monitoring-point/time-zone-abbreviation

Copyright © 2012-2014 Open Geospatial Consortium

59

When using a time zone abbreviation, an abbreviation from the list supplied at http://www.timeanddate.com/library/abbreviations/timezones/ should be used. Monitoring points within the hydrological domain are often referred to as stations, sites or locations. These are sometimes equivalent, but the meaning can be subtly different across usages. The differences are often in how these terms relate to each other in groups or hierarchies, for example sometimes a station or a site may have many measuring locations. In WaterML2.0, in-situ monitoring points are described using the Sampling Features packages of the O&M model. As described in section 7.1, sampling features are used in the following two circumstances: 1. the observation does not obtain values for the whole of a domain feature; 2. the observation procedure obtains values for properties that are not characteristic of the type of the ultimate feature (e.g. measuring electrical conductivity as a proxy for salinity) Case 1 here is typical of the majority of in-situ observations in hydrology, where a body is sampled to obtain an estimate of the whole. A domain feature is defined as a “feature of a type within a particular application domain”. Examples of domain features for hydrology include: Rivers Reservoirs Lakes Canals Glaciers Aquifers Such domain features almost always have properties whose value may be estimated by observation. Extending the example domain features from the above list, some example property types of interest for hydrology are shown in Table 7. Table 7 - Examples of property-types mapped to domain feature-types

Domain feature

Example property types

River

Stage (or level), temperature, velocity, turbidity, pH

60

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

Reservoirs

Stage (or level), volume, temperature

Lakes

Stage (or level), volume, temperature

Snow drift

Depth, water equivalent

The estimation of such properties is performed by sampling the domain feature at a particular point, which is then used as an estimate of the larger domain body. For example, measuring the temperature at a point on a river gives an estimate of temperature at that exact point, whereas the temperature for the full body of water would be a spatially more complex result, changing in relation to its depth and position upstream or downstream (i.e. a type of spatial coverage). Whilst the distinction is subtle, since O&M is a cross-domain model with the intent of integrating data across different observation styles, it is an important one. This standard does not define the domain features specific to hydrology but it does allow for the relationship between the sampling feature (site, station, location) and the domain feature to be expressed. This is done using the ‘sampledFeature’ property that is defined in the O&M base type, ‘SF_SamplingFeature’. Properties (or attributes) of sampling points that are of interest within the hydrology domain include: Name, alternate names; Connection to a group of measuring sampling points; Identifiers (individual organisations may have separate identifiers); Responsible organisation; Classification of the sampling point; Operator; Time zone in which the sampling point is located; Spatial location, optionally including altitude; Links to hydrological hierarchies such as catchments, stream networks, regions etc. Comments containing extra descriptive information regarding the sampling point. NOTE: Separate sampling points should only be defined if the particular site is different; where there are multiple observed properties (e.g. multiple sensors being used at one site) should reference the same sampling point.

Copyright © 2012-2014 Open Geospatial Consortium

61

MonitoringPoint is defined as a specialisation of the O&M SF_SamplingPoint and thus also inherits the properties of this feature type. SF_SamplingPoint restricts the SF_SamplingFeature’s shape property to be a point. The UML for MonitoringPoint is shown in Figure 31.

+relatedSamplingFeature 0..*

0..* GFI_Feature

«FeatureType» SF_SamplingFeature

«CodeList» CI_RoleCode + + + + + + + + + + +

+ +

resourceProvider custodian owner user distributor originator pointOfContact principalInvestigator processor publisher author

parameter :NamedValue [0..*] lineage :LI_Lineage [0..1]

individualName :CharacterString [0..1] organisationName :CharacterString [0..1] positionName :CharacterString [0..1] contactInfo :CI_Contact [0..1] role :CI_RoleCode

«DataType» TimeZone

+ +

Intention «informative»

1..*

GFI_Feature «informative» GFI_DomainFeature

«FeatureType» SF_SpatialSamplingFeature

GM_Primitive Geometry +shape

«FeatureType» SF_SamplingPoint

«datatype» CI_ResponsibleParty + + + + +

+sampledFeature

+relatedParty

«type» GM_Point

«FeatureType» MonitoringPoint

0..* + + +

+timeZone

0..1 zoneAbbreviation :CharacterString [0..1] +daylightSavingsTimeZone zoneOffset :CharacterString 0..1

descriptionReference :GenericName [0..*] verticalDatum :CD_VerticalDatum [0..*] monitoringType :GenericName [0..*]

::SF_SpatialSamplingFeature + positionalAccuracy :DQ_PositionalAccuracy [0..2] ::SF_SamplingFeature + parameter :NamedValue [0..*] + lineage :LI_Lineage [0..1]

Figure 31 - MonitoringPoint

The properties of sampling points are described in the following sections. 9.19.1 shape (SF_SamplingFeature)

The shape property describes the geometry of the sampling feature. For a MonitoringPoint this is a point. 9.19.2 sampledFeature (SF_SamplingFeature)

This property provides a reference to the ultimate domain feature that is being observed. The type of this feature will depend on the type of sampling feature being used; some examples are shown in Table 7.

62

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

9.19.3 lineage (SF_SamplingFeature)

Used to describe the history of a sampling point. Examples include replacement of equipment, previous names etc. The lineage type (from ISO19115) allows for either simple statements of history, or the definition of chained sources and process steps that have occurred to the sampling feature. 9.19.4 parameter (SF_SamplingFeature)

A name-value parameter allowing soft-typed properties to be specified. This can be used to extend the set of existing properties. E.g. specifying geomorphic characteristics in the vicinity of a sampling point is a specialised requirement that does not exist in the current model but may be added through this property. 9.19.5 positionalAccuracy (SF_SpatialSamplingFeature)

Used to specify the accuracy of the positioning of the sampling point. This will be dependent upon the method used for calculating the coordinates of the point. E.g. differentially corrected GPS, resulting in accuracy of +/- 0.1 meter. 9.19.6 timeZone and daylightSavingsTimeZone

Specifies the time zone that the sampling point is located in. The zone offset must be specified (e.g. +10:00 GMT), with an optional zone abbreviation (e.g. AEST). The daylightSavingsTimeZone property can be used to specify the time zone for daylight time if applicable. 9.19.7 relatedParty

Describes parties –individuals or organisations – that are related to the monitoring point. Multiple related parties may be described using the role code list (from ISO 19115). The most common relationships within the context of this standard (and specifically, monitoring points) include: owner, originator, pointOfContact, principalInvestigator and distributor. 9.19.8 descriptionReference

A property meant to hold links to external descriptions of the monitoring station. For example, links to photos, html description pages etc. Note: gml:descriptionReference specifies it should link to a text description hence was not used. 9.19.9 monitoringType

This property categorises the style of monitoring that occurs at the station. This is often contains a number of categories. WMO [5] defines a set of community topics appropriate for this use (WMO_CommunityTopicCategoryCode), listed in Annex G. Note that sampling points may fall under multiple classifications, as sampling points are often multi-purpose.

Copyright © 2012-2014 Open Geospatial Consortium

63

9.19.10 verticalDatum

Specifies the elevation that is used as the zero point, or datum, for stage measurements. The datum is defined using a vertical datum, which may be defined using the ISO19111 type CD_VerticalDatum, or an agreed upon datum may be reference by its identifier. E.g. the Australian Height Datum (AHD), Tasmania = “EPSG::5112”. The CD_VerticalDatum type allows specification of the local gauge zero as a height above a reference datum. E.g. local gauge zero is 23m above the AHD. 9.20 Requirements class: Monitoring Point feature of interest Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-monitoring-point-feature-of-interest Target Type Name

Encoding of the conceptual model Monitoring point

Dependency

urn:iso:dis:iso:19156:clause:9

Requirement

/req/uml-monitoring-point-feature-of-interest/foi

The target of the featureOfInterest property of the TimeseriesObservation shall be a MonitoringPoint type or a reference to an object of this type. Most direct timeseries observations in hydrology use a monitoring point to sample a domain feature (e.g. edge of a river, on a point on a lake etc.). This requirements class describes this case. This restriction is not captured in the core timeseries observation requirements class, as it is common for derived observations to have a feature of interest as the domain feature (e.g. a derived storage volume measurement is a direct ‘observation’ of the storage’s volume property). 9.21 Requirements class: Sampling Feature Collections Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-sampling-feature-collections Target Type

Encoding of the conceptual model

Name

Sampling feature collections

Dependency

urn:iso:dis:iso:19156:clause:9

Requirement

/req/uml-sampling-feature-collections/groups

Groups of sampling points shall be described using SamplingFeatureCollection feature type from ISO19156.

64

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

Defining groups of sampling points is often required, allowing multiple sampling points to be associated with a particular identifier or name. This is common in hydrology as organisations often have a number of sampling points (often closely located) that may be named for the purposes of site visits, maintenance or reporting. A SamplingFeatureCollection is how a group such as a “field site with many sampling locations” would be expressed. GFI_Feature «FeatureType» SF_SamplingFeature +member

1..*

Collection

«FeatureType» SF_SamplingFeatureCollection

Figure 32 - SF_SamplingFeatureCollection as defined by ISO19156

A sampling group may be defined by fully defining each of the sampling features contained in the group, or by referencing each of the sampling points in the group. It is possible to implement sampling groups in both directions: When defining the sampling point, include a relation to the sampling features in the group using the relatedSamplingFeature property. Define a SF_SamplingFeatureCollection that contains the sampling points. Note: this can be done by referencing already defined sampling points through an identifier or by defining the containing points directly inline. The two approaches are useful in different scenarios; guidance on their use is expanded in examples and future best practice guides. 9.22 Requirements class: Observation process Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-observation-process Target Type Name Dependency

Encoding of the conceptual model Observation process urn:iso:dis:iso:19156:clause:9

Copyright © 2012-2014 Open Geospatial Consortium

65

Requirement

/req/uml-observation-process/valid

The om:procedure property shall point to a feature type that represents the ObservationProcess class described in Figure 33 with attributes and associations. Requirement

/req/uml-observation-process/processType

The processType property of ObservationProcess shall use the appropriate type from Table 8. Within O&M, the ProcessUsed association links the observation to the OM_Process used to generate the result. OM_Process is abstract and does not define any attributes or associations. This standard specialises O&M to define process specific to hydrology, as shown in Figure 33. «FeatureType» observation:: OM_Process

+originatingProcess

«CodeList» ProcessTypeCode

0..1

«FeatureType» Observ ationProcess + + + + + + +

aggregationPeriod :TM_PeriodDuration [0..1] gaugeDatum :CD_VerticalDatum [0..1] input :GenericName [0..*] operatorComments :CharacterString [0..*] parameter :NamedValue [0..*] processReference :GenericName [0..1] processType :ProcessTypeCode

+operator

«datatype» Citation and responsible party information:: CI_ResponsibleParty

+ 0..1 + + + +

individualName :CharacterString [0..1] organisationName :CharacterString [0..1] positionName :CharacterString [0..1] contactInfo :CI_Contact [0..1] role :CI_RoleCode

Figure 33 - Observation process feature type

A large number of direct in-situ hydrological observations are performed by a sensor or sensor system. Common types of sensors include rain gauges, water level gauges, water quality sensors such as temperature, turbidity etc. Manual procedures may also be used to make measurements at a particular sampling point. These may be ad-hoc visits to a particular point, or continued visits to a well identified sampling point. Procedures that generate derived or synthetic results also exist, such as those produced by algorithms or simulations. Algorithms are commonly implemented in hydrological software to process data sets for reporting or other purposes. Examples include: Temporal interpolation or aggregation; Spatial interpolation;

66

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

Quality assurance related tasks such as automatic spike removal or gap filling; Derivation of new “observed phenomena” such as calculation of volume from stage, discharge (flow) from stage etc. These operations are performed on raw observational data to create separate data products more appropriate for particular types of reporting, ingestion into models, or for archival purposes. Maintaining information on the procedure used in the creation of a new ‘observation’ is important for correct interpretation of an observations result. Note here that the data being described is not strictly an observation but the O&M model is appropriate for such description, and encourages such use: “An instance of OM_Process is often an instrument or sensor, but may be a human observer, a simulator, or a process or algorithm applied to more primitive results used as inputs.” WaterML2 defines an ObservationProcess feature type. This a generic class to describe processes related to the creation of hydrological results. Table 8 - available types of processes

Process type

OGC Name

Simulation

http://www.opengis.net/def/waterml/2.0/processType/Simulation

Manual Method

http://www.opengis.net/def/waterml/2.0/processType/ManualMethod

Sensor

http://www.opengis.net/def/waterml/2.0/processType/Sensor

Algorithm

http://www.opengis.net/def/waterml/2.0/processType/Algorithm

Unknown

http://www.opengs.net/def/nil/OGC/0/unknown

The following sections describe the properties available in ObservationProcess. 9.22.1 processType

Identifies the process type that was used to generate this observation. The available process types are listed in Table 8. Note that this should be the last process that operated on the observation. The original source of the data should be identified using the originalSource property. 9.22.2 processReference

A reference to an external process that was used. This could be the specification sheet for a sensor, a piece of code implementing an algorithm, or a reference to a methods repository, such as National Environmental Method Index (https://www.nemi.gov/).

Copyright © 2012-2014 Open Geospatial Consortium

67

9.22.3 verticalDatum

A datum reference is available here (a property also exists in the description of monitoring points, see section 9.19) for cases where the vertical datum used for level measurements differs from the datum associated with the monitoring point. The CD_VerticalDatum type allows specification of the local gauge zero as a height above a reference datum. E.g. local gauge zero is 23m above the AHD. 9.22.4 aggregationDuration

If the process involves temporal aggregation of a result set, the time duration over which data has been aggregated should be expressed here. E.g. hourly, daily aggregates. 9.22.5 parameter

A soft-typed parameter to allow arbitrary properties to be added to the description. This property uses the name-value type from ISO19156. 9.22.6 operator

Describes the party responsible for performing the process. E.g. the person performing the method or operating the sensor. 9.22.7 comment

Free text comments that may be inserted by the operator or the system performing the process 9.22.8 input

Provides a list of references to the inputs used in the simulation process. Note: The process model requires further harmonisation with SensorML and/or ISO19139 LI_Lineage. 9.23 Requirements Class: Collection Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-collection Target Type Name

Encoding of the conceptual model Collection

Dependency

urn:iso:dis:iso:19156:clause:9

Dependency

http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-observation

Dependency

http://www.opengis.net/spec/waterml/2.0/req/uml-monitoring-point

68

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0 Requirement

OGC 10-126r4

/req/uml-collection/valid

A collection shall have the ability to contain multiple sampling features or sampling feature collections; observations; and inline dictionaries as described by the UML in Figure 34. WaterML2.0 defines a generic collection feature type, Collection, to allow the grouping of observations and/or sampling features with metadata to describe the nature of the collection. Its UML is shown in Figure 34. Such collections are required in a number of data exchange scenarios; whether the underlying transport technology is web services, FTP or other technologies. The grouping may indicate a relationship between the contained entities, however the relationship will depend on the individual use of the collection class. For example, a collection of observations may be all the observations within the last 24 hours for a particular measuring location, but this would be determined by the system creating or handling the documents. «Union» SamplingFeatureMember + +

byGroup :SF_SamplingFeatureCollection [0..1] byFeature :SF_SpatialSamplingFeature [0..1]

+samplingFeatureMember

0..*

«FeatureType» Collection + + + + +

OM_DiscreteCoverageObservation

communityExtension :Any [0..*] internalExtension :Any [0..*] localDictionary :Dictionary [0..*] temporalExtent :TM_Period [0..1] parameter :NamedValue [0..*]

+metadata

+observationMember

1

«Type» DocumentMetadata + + +

0..*

«FeatureType» Timeseries Observ ation:: TimeseriesObserv ation

generationDate :TM_DateAndTime version :GenericName [0..1] generationSystem :CharacterString [0..1]

«Type» +profile ConformanceClass 0..*

Figure 34 - Collection

Copyright © 2012-2014 Open Geospatial Consortium

69

The collection class also allows for local definitions of codes, such as quality codes and qualifiers. The local dictionaries are a convenience to allow elements that normally reside in code lists to be specified locally in the document. There are two benefits to this: it allows metadata to be provided alongside each code item; and it allows more compact encoding for code list items that need to be referenced regularly. The contents of a collection will be determined by the scenario in which it is used; some examples include: Web service responses Transactional updates Groups of model outputs (ensemble models) The collection class may be replaced by services that already define such collections - such as in the Sensor Observation Service - but the model may be used as a guide to the content of collections. 9.23.1 metadata

Describes the metadata associated with the document. See section 9.23.8 for the definition of DocumentMetadata. 9.23.2 samplingFeatureMember

This property allows for multiple sampling features to be described within the document. The feature member may also be a sampling feature collection (SF_SamplingFeatureCollection). 9.23.3 observationMember

This property allows for multiple TimeseriesObservation members to be included in the collection document. 9.23.4 temporalExtent

Describes the temporal extent of the all the observation members that exist in the document. 9.23.5 parameter

A soft-typed parameter to allow arbitrary properties to be added to the collection. This property uses the name-value type from ISO19156. 9.23.6 Extension (community and internal)

The communityExtension and internalExtension properties provide a schema extension point that allows new schema types to be used if required. The Any type allows elements from other namespaces to be included. The community extension should be used to place extension types that have been agreed upon by a community (such as the Hydro Domain Working Group); the 70

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

internal extension allows organisations to use internal extensions without affecting agreed on extensions. 9.23.7 Local dictionaries

The localDictionary property allows code lists to be locally defined in a document. This is useful where external vocabularies may want to be stored alongside data to preserve its integrity or resolution to vocabulary services may not be available. These dictionaries may contain, for example, code lists for quality, qualifiers or other regularly referenced terms. In an XML encoding the dictionary allows code items to be encoded and then internally referenced using xlink:href to the gml:id of the required code. This helps to reduce redundancy if codes are used in multiple places. 9.23.8 Document metadata

The metadata property of the Collection class defines the metadata relating to the document. 9.23.9 generationDate

Specifies the date the document was generated. 9.23.10 version

This version property is distinct from the schema version. It indicates the package version that is being used where package is the combination of schema, vocabularies and any profiles used. This allows versions to be more specific based on their implemented usage of the schema. 9.23.11 generationSystem

A textual description of the system that generated the document. 9.23.12 profile

This property identifies the conformance classes that are being adhered to within the collection document. This allows the collection to explicitly identify the profile (which is a set of conformance classes) that is being used. Ultimately the conformance classes would be identified by their URL(s) within the implementation (e.g. as done in the XML implementation).

Copyright © 2012-2014 Open Geospatial Consortium

71

10 XML Implementation (normative) This standard defines a GML XML Schema implementation that is compliant to the UML conceptual models defined in Section 9. Preliminary XML schemas were auto generated from the models following the encoding rules Annex E of OGC Geography Markup Language v3.2 (ISO 19136:2007). These were then modified to meet the requirements outlined. Schematron patterns are also implemented for additional requirements where appropriate. Table 9 - Mapping of WaterML2.0 UML classes to XML elements WaterML 2.0 UML

WaterML 2.0 XML

MeasurementTimeseriesTVPObservation

om:OM_Observation*

CategoricalTimeseriesTVPObservation

om:OM_Observation*

ObservationProcess

wml2:ObservationProcess

MonitoringPoint

wml2:MonitoringPoint

TimeseriesTVP

wml2:Timeseries

MeasurementTimeseriesTVP

wml2:MeasurementTimeseries

CategoricalTimeseriesTVP

wml2:CategoricalTimeseries

TimeValuePair

wml2:TimeValuePair

MeasurementTimeValuePair

wml2:MeasurementTVP

CategoricalTimeValuePair

wml2:CategoricalTVP

TimeseriesMetadata

wml2:TimeseriesMetadata

MeasurementTimeseriesMetadata

wml2:MeasurementTimeseriesMetadata

PointMetadata

wml2:TVPMetadata

MeasurementPointMetadata

wml2:TVPMeasurementMetadata

ObservationMetadata

wml2:ObservationMetadata

Collection

wml2:Collection

* The specialisation of OM_Observation is provided through Schematron rather than a specialised XML type.

72

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4 Table 10 - O&M URIs for observation specialisations

WaterML v2.0

OGC Name

Content of om:result in WaterML2 1 XML

MeasurementTimeseriesTVPObservation

http://www.opengis.net/def/observationType/water ml/2.0/MeasurementTimeseriesTVPObservation

type=’wml2:MeasurementTimeseries'

CategoricalTVPTimeseriesObservation

http://www.opengis.net/def/observationType/water ml/2.0/CategoricalTVPTimeseriesObservation

type=’wml2:CategoricalTimeseries’

10.1 Scope of XML implementation The normative part of this XML implementation does not target the domain-range style of timeseries encoding. This was not included, as the schema design has not progressed through the required analysis from the Standards Working Group. The domain-range XML encoding is provided as an informative schema, within its own namespace, allowing it to be used with the normative WaterML2.0 schema. The implementation is a conformant extension to the gmlcov schema (http://www.opengis.net/gmlcov/1.0), adding support for the WaterML2.0 types. Future work will ensure the schema design is consistent with stakeholder requirements. The major design issue relates to providing the value-level metadata that a timevalue pair encoding supports. The current approach uses supplementary coverages to describe time-varying metadata such as quality assertions. An example is provided in Annex B.

Table 11 - Mapping of UML to XML conformance classes WaterML v2.0 UML Conformance Class Timeseries Observation

WaterML2.0 XML Conformance Class

/conf/xsd-timeseries-observation

http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-observation Monitoring point feature of interest http://www.opengis.net/spec/waterml/2.0/req/uml-monitoring-point-feature-of-interest Interleaved (TVP) style

Timeseries TVP (interleaved)

/conf/xsd-feature-of-interest-monitoring-point /conf/xsd-timeseries-tvp

http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-tvp Measurement Timeseries TVP (interleaved)

/conf/xsd-measurement-timeseries-tvp

http://www.opengis.net/spec/waterml/2.0/req/uml-measurementtimeseries-tvp Categorical Timeseries TVP (interleaved)

/conf/xsd-categorical-timeseries-tvp

http://www.opengis.net/spec/waterml/2.0/req/uml-categorical-timeseriestvp Timeseries TVP (interleaved) Observation

/conf/xsd-timeseries-tvp-observation

http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-tvpobservation Measurement Timeseries TVP (interleaved) Observation

/conf/xsd-measurement-timeseries-tvp-observation

http://www.opengis.net/spec/waterml/2.0/req/uml-measurementtimeseries-tvp-observation Categorical Timeseries TVP (interleaved) Observation

/conf/xsd-categorical-timeseries-tvp-observation

http://www.opengis.net/spec/waterml/2.0/req/uml-categorical-timeseriestvp-observation Monitoring point exchange

/conf/xsd-monitoring-point

http://www.opengis.net/spec/waterml/2.0/req/uml-monitoring-point http://www.opengis.net/spec/waterml/2.0/req/uml-sampling-feature-collections Collection exchange

/conf/xsd-collection

http://www.opengis.net/spec/waterml/2.0/req/uml-collection Observation process exchange http://www.opengis.net/spec/waterml/2.0/req/uml-observervation-process

74

/conf/xsd-observation-process

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

10.2 XML encoding principles 10.2.1 Virtual typing

In accordance with OMXML, the specialisation of the OM_Observation result type is provided through schematron restriction. The om:type element may be used to specify the type of OM_Observation that is being encoded. This shall be done using the OGC Name URI for the corresponding type from Table 10. 10.2.2 Abstract requirements and conformances classes

As noted in the OGC Modular Specification section 6.2, the tests for abstract conformance classes may need to be described in the subclass classes if the base requirements class are ambiguous for the abstract class. This is the case for the two styles of timeseries conformance classes, domain-range and interleaved (time-value pair). Some requirements for these classes are re-specified in more concrete terms to allow more explicit testing. 10.2.3 XML Examples

Some of the requirements listed below have example XML snippets for informative purposes. A complete example is shown in Annex B. In all examples, the following namespaces are used: Table 12 - XML Example Code Namespaces Identifier

Namespace URL

xsi

http://www.w3.org/2001/XMLSchema-instance

gml

http://www.opengis.net/gml/3.2

om

http://www.opengis.net/om/2.0

xlink

http://www.w3.org/1999/xlink

wml2

http://www.opengis.net/waterml/2.0

gmd

http://www.isotc211.org/2005/gmd

gco

http://www.isotc211.org/2005/gco

sam

http://www.opengis.net/sampling/2.0

sams

http://www.opengis.net/samplingSpatial/2.0

10.3 Requirements Class: XML Rules Requirements Class http://www.opengis.net/spec/waterml/2.0/req/xsd-xml-rules Target Type

Data instance

Copyright © 2012-2014 Open Geospatial Consortium

75

Name

Rules for encoding XML

Dependency

http://www.w3.org/TR/xmlschema-2

Dependency

http://www.opengis.net/doc/IS/GML/3.2/clause/2.4

Dependency

http://www.opengis.net/spec/SWE/2.0/req/xsd-simple-components

Dependency

urn:iso:dis:iso:8601:2004:clause:4

Requirement

/req/xsd-xml-rules/iso8601-time All date-time elements shall be encoded using ISO8601 extended time format.

Requirement

/req/xsd-xml-rules/time-zone The value of each time element (defined in the TimeValuePairType ‘time’ element) shall include a time zone definition using a signed 4 digit character or a ‘Z’ to represent Zulu or Greenwich Mean Time (GMT). This is defined by the following regular expression: (Z|[+-]HH:MM)

Requirement

/req/xsd-xml-rules/unit-of-measure All units of measure shall use the appropriate code from the The Unified Code for Units of Measure (UCUM) code system. The unit of measure shall be identified by encoding the UCUM code1 in the ‘code’ attribute of the wml2:uom elelement.

Requirement

/req/xsd-xml-rules/swe-types When using the SWE Common types, the following elements shall not be used: swe:quality (AbstractSimpleComponentType), swe:nilValues (AbstractSimpleComponentType), swe:constraint (QuantityType, QuantityRangeType, CategoryType). The attributes ‘optional’ and ‘updatable’ from the base type ‘AbstractDataComponent’ shall also not be used.

Recommendation

/rec/xsd-xml-rules/xlink-title

1 The UCUM base codes are available in XML form here: http://aurora.regenstrief.org/~ucum/ucum-essence.xml.

76

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4 If an xlink:href is used to reference a controlled vocabulary item, the element should encode the xlink:title attribute with a text description of the referenced item.

Recommendation

/rec/xsd-xml-rules/vocabulary-references When specifying references to vocabulary (code) items using an xlink:href, a resolvable HTTP URL should be used which, when resolved, should provide suitable description of the concept being referenced.

This requirements class defines common rules and recommendations for all XML instances. 10.3.1 Use of vocabularies in XML

Within this GML application schema, code or vocabulary items are referenced using the xlink:href attribute which provides a reference to the appropriate code item. This follows existing best practices for referencing code items from XML documents, where the endpoint of the reference provides adequate description of the concept being referenced, possible relationships to other terms (hierarchical) and multi-lingual labels and descriptions. As discussed in section 9.3, WaterML2.0 defines a number of vocabularies that exist within the http://opengis.net namespace, according the OGC’s NA policies. It is possible to reference vocabularies from other namespaces within WaterML2.0 documents. It is recommended that such concepts have an available online definition and have been recognised by some level of authority. In the following example, the time of the time-value pair is encoded in the ISO8601 time format, using a time-zone offset. The quality is encoded as a reference to a controlled vocabulary, using xlink:href to refer to the term and xlink:title to provide a text description. <wml2:point> <wml2:MeasurementTVP> <wml2:time>2011-11-16T00:00:00+11:00</wml2:time> <wml2:value>2.0</wml2:value> <wml2:metadata> <wml2:TVPMeasurementMetadata> <wml2:quality xlink:href="http://www.opengis.net/def/waterml/2.0/quality/suspect" xlink:title="suspect"/> </wml2:TVPMeasurementMetadata> </wml2:metadata> </wml2:MeasurementTVP> </wml2:point>

XML Example 1 - XML rules example

10.4 Requirements Class: Timeseries Observation This requirements class restricts the content model for the XML element OM_Observation relating specifically to timeseries observations. The requirements classes that depend on this class describe specific result types of time series. The restrictions rules for OM_Observation are captured in the ‘timeseries-observation.sch’ Schematron file.

Copyright © 2012-2014 Open Geospatial Consortium

77

Requirements Class http://www.opengis.net/spec/waterml/2.0/req/xsd-timeseries-observation Target Type Name

Data instance Timeseries observation

Dependency

http://www.opengis.net/spec/OMXML/2.0/req/observation

Dependency

http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-observation

Dependency

http://www.opengis.net/spec/waterml/2.0/req/xsd-xml-rules

Requirement

/req/xsd-timeseries-observation/procedure The xml element om:procedure shall contain a wml2:ObservationProcess element, a member of its substitution group or a reference to an external definition of the process using the xlink:href attribute.

Requirement

/req/xsd-timeseries-observation/metadata If present, the xml element om:metadata shall contain a wml2:ObservationMetadata element, a member of its substitution group or a reference to an external definition of the metadata using the xlink:href attribute.

Requirement

/req/xsd-timeseries-observation/result The xml element om:result shall contain a concrete subelement in the substitution group wml2:Timeseries.

Requirement

/req/xsd-timeseries-observation/phenomenonTime The om:phenomenonTime element shall contain a gml:TimePeriod element that represents the temporal extent of the timeseries result of the observation.

Recommenda /rec/xsd-timeseries-observation/resultQuality tion

The om:resultQuality should use an xlink:href to reference the qualitative tests that have been applied, according to the ISO19115 (encoded in ISO19139) information model.

10.4.1 observedProperty

As outlined in section 9.4.1.1, this standard does not define a list of controlled codes for the observed property. The om:observedProperty element is defined by O&M as a gml:ReferenceType, which uses xlink to reference a URI (URN or URL) that identifies the phenomenon being observed. It is desirable to have a URL that is resolvable to a resolvable description of the phenomenon where possible. There are best practices for management of vocabularies, but their deployment and use is out of scope for this standard.

78

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

An example vocabulary that defines a (small) set of observable properties in a hierarchical form is the SWEET ontology2. 10.4.2 resultQuality

It is recommended (as per /rec/xsd-timeseries-observation/resultQuality) that the resultQuality (of type DQ_Element) not be encoded directly in the XML document but through an xlink:href to the encoded XML. This allows references to be made to the XML description of these tests if they are available. More granular quality descriptions (and qualifiers) are supported at the timeseries level. 10.5 Requirements Class: Timeseries Time-Value Pair (interleaved) Observation This requirements class captures the core type of timeseries observation – one with a result of an interleaved time-value pair timeseries. This restriction is defined in the ‘timeseries-tvpobservation.sch’ Schematron file. Requirements Class http://www.opengis.net/spec/waterml/2.0/req/xsd-timeseries-tvp-observation Target Type Name

Data instance Time-value pair (interleaved) timeseries observation

Dependency

http://www.opengis.net/spec/OMXML/2.0/req/observation

Dependency

http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-tvpobservation

Dependency

http://www.opengis.net/spec/waterml/2.0/req/xsd-timeseries-observation

Requirement

/req/xsd-timeseries-tvp-observation/result The xml element om:result shall have a value that matches the content model defined by wml2:Timeseries.

2 http://sweet.jpl.nasa.gov/2.2/phenHydro.owl

Copyright © 2012-2014 Open Geospatial Consortium

79

10.6 Requirements Class: Measurement time-value pair Timeseries (interleaved) Observation Requirements Class http://www.opengis.net/spec/waterml/2.0/req/xsd-measurement-timeseries-tvpobservation Target Type Name

Data instance Measurement TVP (interleaved) timeseries observation

Dependency

http://www.opengis.net/spec/waterml/2.0/req/uml-measurement-timeseries-tvpobservation

Dependency

http://www.opengis.net/spec/waterml/2.0/req/xsd-timeseries-tvp-observation

Dependency

http://www.opengis.net/spec/waterml/2.0/req/xsd-measurement-timeseries-tvp

Requirement

/req/xsd-measurement-timeseries-tvp-observation/result The xml element om:result shall have a value that matches the content model defined by wml2:MeasurementTimeseries.

The example below shows a measurement timeseries observation with appropriate metadata, phenomenon time, procedure and result elements. The result uses an interleaved timeseries (time-value pair) encoding which references the example in listing XML Example 3 for brevity. <om:OM_Observation gml:id="xsd-timeseries-observation.example"> <om:metadata> <wml2:ObservationMetadata> <gmd:contact xlink:href="http://www.example.com" xlink:title="Example Pty Ltd"/> <gmd:dateStamp> <gco:DateTime>2011-11-21T12:30:00+10:00</gco:DateTime> </gmd:dateStamp> <gmd:identificationInfo xlink:href="http://www.example.com/observations/example" xlink:title="Example Observation"/> </wml2:ObservationMetadata> </om:metadata> <om:phenomenonTime> <gml:TimePeriod gml:id="time-period.1"> <gml:beginPosition>2011-11-21T12:26:00+10:00</gml:beginPosition> <gml:endPosition>2011-11-21T12:27:00+10:00</gml:endPosition> </gml:TimePeriod> </om:phenomenonTime> ... <om:procedure> <wml2:ObservationProcess gml:id="observation-process.1"> <wml2:processType xlink:href="http://www.opengis.net/def/waterml/2.0/processType/ManualMethod" xlink:title="Manual Collection"/> <wml2:processReference xlink:href="http://www.example.com/manual/1.0" xlink:title="Manual Sampling Regime 1.0"/> </wml2:ObservationProcess> </om:procedure> ... <om:result xlink:href=”#xsd-measurement-timeseries-tvp.example” /> </om:OM_Observation>

80

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

XML Example 2 - Measurement timeseries observation

10.7 Requirements Class: Categorical time-value pair Timeseries (interleaved) Observation Requirements Class http://www.opengis.net/spec/waterml/2.0/req/xsd-categorical-timeseries-tvpobservation Target Type Name

Data instance Categorical TVP (interleaved) timeseries observation

Dependency

http://www.opengis.net/spec/waterml/2.0/req/uml-categorical-timeseries-tvpobservation

Dependency

http://www.opengis.net/spec/waterml/2.0/req/xsd-timeseries-tvp-observation

Dependency

http://www.opengis.net/spec/waterml/2.0/req/xsd-categorical-timeseries-tvp

Requirement

/req/xsd-categorical-timeseries-tvp-observation/result The xml element om:result shall have a value that matches the content model defined by wml2:CategoricalTimeseries.

10.8 Requirements Class: Timeseries – time-value pair representation This requirements class describes the structure of the interleaved timeseries. The structure supports time-value pair representation with the ability to associate metadata on a point-by-point basis. This class satisfies both the core timeseries requirements class and the time-value pair representation as described in sections 9.12 and 9.14 respectively. Requirements Class http://www.opengis.net/spec/waterml/2.0/req/xsd-timeseries-tvp Target Type

Data instance

Name

TimeseriesTVP

Dependency

http://www.opengis.net/spec/waterml/2.0/req/xsd-xml-rules

Dependency

http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-core

Dependency

http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-tvp

Requirement

/req/xsd-timeseries-tvp/valid The content model of this XML element shall have a value that matches the content model defined by wml2:Timeseries.

Copyright © 2012-2014 Open Geospatial Consortium

81

Requirement

/req/xsd-timeseries-tvp/time-increasing The domain elements (implemented as the wml2:point element) shall be ordered in increasing time.

Requirement

/req/xsd-timeseries-tvp/record-homogenous The type of the wml2:value element (range) shall be the same for each point in the timeseries, with the exception null values which may be used on any value.

Requirement

/req/xsd-timeseries-tvp/domain-time The domain of the timeseries coverage shall consist only of a temporal component.

Requirement

/req/xsd-timeseries-tvp/default-point-metadata If the element defaultPointMetadata is present, the specified metadata elements apply as default values to all subsequent point elements encoded in the timeseries. If a metadata element is specified for a point then it overrides the default value. For elements with multiple cardinality (e.g. qualifiers), all defaults shall be overridden if a single element is defined in the metadata.

Requirement

/req/xsd-timeseries-tvp/equidistant-encoding If the baseTime and spacing elements are defined, the time element shall not be encoded. The time instants shall be calculated according to the follow: time (n) = baseTime + (n * spacing) n = zero-based point index. e.g. baseTime= 2011-01-01T00:00:00, spacing=P15M points: [0] - 2011-01-01T00:00:00 [1] - 2011-01-01T00:15:00 [2] - 2011-01-01T00:30:00 [3] - 2011-01-01T00:45:00 [4] - 2011-01-01T01:00:00

Requirement

/req/xsd-timeseries-tvp/time-mandatory If the baseTime and spacing elements are not present, the time element shall be encoded.

Requirement

/req/xsd-timeseries-tvp/null-value To indicate a value is null, the xsi:nil attribute shall be set to ‘true’.

Requirement

/req/xsd-timeseries-tvp/null-point-reason If a point is specified as null, a nilReason or censoredReason shall be

82

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

provided.

Requirement

/req/xsd-timeseries-tvp/timeseries-metadata The type of the wml2:metadata element shall be wml2:TimeseriesMetadata or an element in the wml2:TimeseriesMetadata substitution group.

Recommenda /rec/xsd-timeseries-tvp/nil-reason-vocab tion

When specifying a null point reason (nilReason), one of the following URLs should be used: Inapplicable (http://www.opengis.net/def/nil/OGC/0/inapplicable) Missing (http://www.opengis.net/def/nil/OGC/0/missing) Template (http://www.opengis.net/def/nil/OGC/0/template) - value will be available at later date. Unknown (http://www.opengis.net/def/nil/OGC/0/unknown) Withheld (http://www.opengis.net/def/nil/OGC/0/withheld.html)

This requirements class implements the /req/uml-timeseries-core and /req/uml-timeseries-tvp requirements classes from the UML model. See the specialised timeseries requirements classes for specific examples. 10.8.1 Spatially varying timeseries

This implementation adds the simplifying requirement that the domain of the timeseries is fixed in space and only varies through time. Timeseries that vary in space for each value will be addressed in future work – this case is supported the conceptual UML model where the domain may encode varying spatial components. 10.8.2 Defaulting point-based metadata

This XML implementation provides a mechanism for defaulting point metadata for a whole series and overriding for individual points if required. This technique is optional (defaultPointMetadata has cardinality 0…1) and should be used where timeseries are largely homogenous in terms of the individual metadata elements, such as units of measure, quality, and so on. The behaviour for the defaulting is described by requirement /req/xsd-timeseries-tvp/defaultPointMetadata. An example is show in XML Example 3. 10.9 Requirements Class: Measurement Timeseries – time-value pair representation Requirements Class http://www.opengis.net/spec/waterml/2.0/req/xsd-measurement-timeseries-tvp Target Type Name Dependency

Data instance Measure Timeseries – time value pair http://www.opengis.net/spec/waterml/2.0/req/uml-measurement-

Copyright © 2012-2014 Open Geospatial Consortium

83

timeseries-tvp

Dependency

http://www.opengis.net/spec/waterml/2.0/req/xsd-timeseries-tvp

Requirement

/req/xsd-measurement-timeseries-tvp/interpolation-type The interpolation type of each point shall be specified at each point using the interpolationType element or through the use of the defaultPointMetadata/interopolationType element.

Requirement

/req/xsd-measurement-timeseries-tvp/value-measure The type of the wml2:point element shall be wml2:MeasurementTVP.

Requirement

/req/xsd-measurement-timeseries-tvp/unit-of-measure Every value within the time series must have a unit of measure specified, either explicitly or from a specified default.

Requirement

/req/xsd-measurement-timeseries-tvp/timeseries-metadata The type of the wml2:metadata element shall be wml2:MeasurementTimeseriesMetadata.

Requirement

/req/xsd-measurement-timeseries-tvp/point-metadata The type of the wml2:point/wml2:MeasurementTVP/wml2:metadata element shall be wml2:TVPMeasurementMetadata.

The following timeseries shows an example of an equidistant coding of a time series, using default point-metadata and a nil value. The measurements occur at 12:27:00, 12:28:00 and 12:29:00. The measurement expected at 12:29:00 is missing. The temporal extent of the time series runs from 12:27:00 to 2:30:00. <wml2:MeasurementTimeseries gml:id="xsd-measurement-timeseries-tvp.example"> <gml:description>Example timeseries for XML encoding http://www.opengis.net/spec/waterml/2.0/req/xsd-timeseries-time-value-pair</gml:description> <wml2:metadata> <wml2:MeasurementTimeseriesMetadata> <wml2:temporalExtent> <gml:TimePeriod gml:id="time-period.1"> <gml:beginPosition>2011-11-21T12:27:00+10:00</gml:beginPosition> <gml:endPosition>2011-11-21T12:30:00+10:00</gml:endPosition> </gml:TimePeriod> </wml2:temporalExtent> <wml2:baseTime>2011-11-21T12:27:00+10:00</wml2:baseTime> <wml2:spacing>PT1M</wml2:spacing> </wml2:MeasurementTimeseriesMetadata> </wml2:metadata> <wml2:defaultPointMetadata> <wml2:DefaultTVPMeasurementMetadata> <wml2:uom code="m"/> <wml2:interpolationType xlink:href="http://www.opengis.net/def/waterml/2.0/interpolationType/Continuous" xlink:title="Instantaneous"/> </wml2:DefaultTVPMeasurementMetadata> </wml2:defaultPointMetadata>

84

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

<wml2:point> <wml2:MeasurementTVP> <wml2:value>3.0</wml2:value> </wml2:MeasurementTVP> </wml2:point> <wml2:point> <wml2:MeasurementTVP> <wml2:value>3.2</wml2:value> <wml2:metadata> <wml2:TVPMeasurementMetadata> <wml2:accuracy> <swe:Quantity> <swe:uom code="m"/> <swe:value>0.1</swe:value> </swe:Quantity> </wml2:accuracy> </wml2:TVPMeasurementMetadata> </wml2:metadata> </wml2:MeasurementTVP> </wml2:point> <wml2:point> <wml2:MeasurementTVP> <wml2:value xsi:nil="true"/> <wml2:metadata> <wml2:TVPMeasurementMetadata> <wml2:nilReason xlink:href="http://www.opengis.net/def/nil/OGC/0/missing" xlink:title="missing"/> </wml2:TVPMeasurementMetadata> </wml2:metadata> </wml2:MeasurementTVP> </wml2:point> <wml2:point> <wml2:MeasurementTVP> <wml2:value>3.63</wml2:value> </wml2:MeasurementTVP> </wml2:point> </wml2:MeasurementTimeseries>

XML Example 3 – Measurement timeseries (time-value pair)

Copyright © 2012-2014 Open Geospatial Consortium

85

This example shows the use of the qualifier element to provide extra point-based metadata. Here the qualifier is used to describe the lower threshold for a censored value. <wml2:point> <wml2:MeasurementTVP> <wml2:value xsi:nil="true"></wml2:value> <wml2:metadata> <wml2:TVPMeasurementMetadata> <wml2:qualifier> <swe:Quantity definition="http://www.example.com/sensors/lower_threshold"> <swe:description>Lower limit for sensor</swe:description> <swe:uom code="m"/> <swe:value>1.0</swe:value> </swe:Quantity> </wml2:qualifier> <wml2:censoredReason xlink:href="http://www.opengis.net/def/nil/OGC/0/BelowDetectionRange" xlink:title="Below threshold of sensor"/> </wml2:TVPMeasurementMetadata> </wml2:metadata> </wml2:MeasurementTVP> </wml2:point>

XML Example 4 - Use of qualifiers

Notes on implementation of ISO19123 in XML-GML Schema: gmlcov does not contain an implementation of the geometry-value representation of ISO19123 coverage. The best practice at http://bp.schemas.opengis.net/06-188r2/cv/0.2.2_gml32/discreteCoverage.xsd contains an implementation of the geometry-value representation and restricts the geometry to gml:TimeInstantPropertyType (in the CV_TimeInstantValuePairType type). This is not a sub-type of the CV_DomainObject (which has a temporal and spatial element) and as such is not strictly a direct implementation (without a minor mapping rule). The CompactTimeValuePair also does not encode the CV_DomainObject directly, but collapses straight to the required temporal type (for the temporalElement). The timeseries implementation here uses the deviations described as follows: The ‘geometry’ element of the CV_GeometryValuePair that holds the CV_DomainObject has been renamed ‘time’ and is typed as a gml:TimePositionType which is an implementation of the model described in 9.12. This is consistent with the approach taken in 06-188r2. Future work should define a geometry-value GML encoding by aligning with GML Coverage (09-146r1). This was out of scope for the initial version of this standard. The type of the ‘value’ (range) element is restricted to be one of the supported timeseries types as defined in the requirement: http://www.opengis.net/spec/waterml/2.0/req/xsd-timeseriestvp/record-homogenous. The domainExtent of a discrete time coverage describes the temporal bounds of the time series and was renamed temporalExtent to describe more closely its relation to the timeseries. The deviations allow for a schema that more closely reflects the needs of the community. A transformation may be used on instances conforming to this schema to derive a fully compliant instance if required. Future work should investigate harmonising the OGC definition of timeseries from the coverage, GML and SWE Common viewpoints.

86

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

10.10 Requirements Class: Categorical Timeseries – time-value pair representation Requirements Class http://www.opengis.net/spec/waterml/2.0/req/xsd-categorical-timeseries-tvp Target Type Name

Data instance Categorical Timeseries – time value pair

Dependency

http://www.opengis.net/spec/waterml/2.0/req/uml-categorical-timeseries-tvp

Dependency

http://www.opengis.net/spec/waterml/2.0/req/xsd-timeseries-tvp

Requirement

/req/xsd-categorical-timeseries-tvp/value-category The type of the wml2:point XML element shall be wml2:CategoricalTVP.

<wml2:CategoricalTimeseries gml:id="cat_ts_ex_2"> <gml:description>This is an example showing a categorical time series describing a series of manual weather observations. </gml:description> <wml2:temporalExtent> <gml:TimePeriod gml:id="tp_1"> <gml:beginPosition>2011-11-16T00:00:00+11:00</gml:beginPosition> <gml:endPosition>2011-11-18T00:00:00+11:00</gml:endPosition> </gml:TimePeriod> </wml2:temporalExtent> <wml2:point> <wml2:CategoricalTVP> <wml2:time>2011-11-16T00:00:00+11:00</wml2:time> <wml2:value> <swe:Category> <swe:description>Fairly uniform precipitation composed exclusively of very small water droplets (less than 0.5 mm in diameter) very close to one another</swe:description> <swe:codeSpace xlink:href="http://www.bom.gov.au/info/wwords/"/> <swe:value>Drizzle</swe:value> </swe:Category> </wml2:value> </wml2:CategoricalTVP> </wml2:point> <wml2:point> <wml2:CategoricalTVP> <wml2:time>2011-11-17T00:00:00+11:00</wml2:time> <wml2:value> <swe:Category> <swe:description>Usually begin and end suddenly. Relatively short-lived, but may last half an hour. Fall from cumulus clouds, often separated by blue sky. Showers may fall in patches rather than across the whole forecast area. Range in intensity from light to very heavy</swe:description> <swe:codeSpace xlink:href="http://www.bom.gov.au/info/wwords/"/> <swe:value>Showers</swe:value> </swe:Category> </wml2:value> </wml2:CategoricalTVP> </wml2:point> <wml2:point> <wml2:CategoricalTVP> <wml2:time>2011-11-18T00:00:00+11:00</wml2:time> <wml2:value xsi:nil="true"></wml2:value> <wml2:metadata>

Copyright © 2012-2014 Open Geospatial Consortium

87

<wml2:TVPMetadata> <wml2:nilReason xlink:href=“http://www.opengis.net/def/nil/OGC/0/missing”/> <wml2:comment>No observation performed.</wml2:comment> </wml2:TVPMetadata> </wml2:metadata> </wml2:CategoricalTVP> </wml2:point> </wml2:CategoricalTimeseries>

XML Example 5 - Categorical timeseries (time-value pair)

10.11

Requirements Class: Monitoring point as feature of interest

This requirements class captures the restriction of OM_Observation where the feature of interest is a monitoring point. This class is to be used for most in-situ style monitoring situations where the WaterML2.0 monitoring point is sufficient for representing the location metadata. This would not be used in cases where a specific community profile is being used to describe the sampling feature (e.g. a groundwater well) or the observation is made of a whole domain feature (e.g. a derived observation representing lake storage). Requirements Class http://www.opengis.net/spec/waterml/2.0/req/xsd-feature-of-interest-monitoringpoint Target Type Name

Data instance Monitoring point feature of interest

Dependency

http://www.opengis.net/spec/waterml/2.0/req/xsd-xml-rules

Dependency

http://www.opengis.net/spec/OMXML/2.0/req/observation

Dependency

http://www.opengis.net/spec/waterml/2.0/req/uml-timeseriesobservation

Requirement

/req/xsd-feature-of-interest-monitoring-point/featureOfInterest The featureOfInterest element of TimeseriesObservation shall have a value that matches the content model defined by wml2:MonitoringPoint.

Example This example uses xlink:href to refer to the same monitoring point as defined in section 10.13.

<om:featureOfInterest xlink:href=”#xsd-monitoring-point.example” xline:title=”Deddington”/>

88

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0 10.12

OGC 10-126r4

Requirements Class: Observation Process

This requirements class is used to describe the process involved in making timeseries observation. The class is targeted at providing basic process description; full process languages such as SensorML may be used if more detailed information is required. Requirements Class http://www.opengis.net/spec/waterml/2.0/req/xsd-observation-process Target Type Name

Data instance Observation process

Dependency

http://www.opengis.net/spec/waterml/2.0/req/uml-observation-process

Dependency

http://www.opengis.net/spec/waterml/2.0/req/xsd-xml-rules

Requirement

/req/xsd-observation-process/valid The content model of this element shall have a value that matches the content model defined by wml2:ObservationProcess.

The following example shows an algorithmic process that takes data from another process (Observation 1.8) and applies a further process (min_daily_mean_monthly) to it. The process accepts as an input the water height from the source process and applies a bias parameter to it. <?xml version="1.0" encoding="UTF-8"?> <wml2:ObservationProcess gml:id="xsd-observation-process.example"> <wml2:processType xlink:href="http://www.opengis.net/def/waterml/2.0/processType/Algorithm" xlink:title="Algorithmic Process"/> <wml2:originatingProcess xlink:href="http://www.example.com/observations/1.8" xlink:title="Timeseries Observation 1.8"/> <wml2:aggregationDuration>P1D</wml2:aggregationDuration> <wml2:verticalDatum xlink:href="urn:ogc:def:crs:EPSG::5711" xlink:title="Australian height datum"/> <wml2:processReference xlink:href="http://kisters.de/tsm_agent/min_daily_mean_monthly" xlink:title="Minimum Daily Mean Monthly"/> <wml2:input xlink:href="http://sweet.jpl.nasa.gov/2.3/propSpaceThickness.owl#WaterHeight" xlink:title="Water Height"/> <wml2:parameter> <om:NamedValue> <om:name xlink:href="http://sweet.jpl.nasa.gov/2.3/propDifference.owl#Bias" xlink:title="Bias"/> <om:value>-0.1</om:value> </om:NamedValue> </wml2:parameter> </wml2:ObservationProcess>

XML Example 6 - Observation process

Copyright © 2012-2014 Open Geospatial Consortium

89

10.13

Requirements Class: Monitoring Point

This requirements class is to be used to describe monitoring points (sampling points) that are described using a point-based geometry. WaterML2.0 extends the OMXML Sampling Point type to add metadata specific to hydrological monitoring. Requirements Class http://www.opengis.net/spec/waterml/2.0/req/xsd-monitoring-point Target Type Name

Data instance Monitoring point

Dependency

http://www.opengis.net/spec/waterml/2.0/req/uml-monitoring-point

Dependency

http://www.opengis.net/spec/waterml/2.0/req/xsd-xml-rules

Dependency

http://www.opengis.net/spec/OMXML/2.0/req/samplingPoint

Requirement

/req/xsd-monitoring-point/valid The content model of this element shall have a value that matches the content model defined by wml2:MonitoringPoint.

The Deddington monitoring point samples the Nile river. The monitoring point is at latitude 41.814935S and longitude 147.568517W and uses the Australian height datum as a reference datum. The monitoring point is in the Australian Easten Daylight Timezone, 11 hours ahead of UTC. <wml2:MonitoringPoint gml:id="xsd-monitoring-point.example"> <gml:description>Nile river at Deddington, South Esk catchment, Tasmania</gml:description> <gml:name codeSpace="http://www.csiro.au/">Deddington</gml:name> <sam:sampledFeature xlink:href="http://csiro.au/features/rivers/nile " xlink:title="Nile River" /> <sams:shape> <gml:Point gml:id="location_deddington"> <gml:pos srsName="urn:ogc:def:crs:EPSG::4326">-41.814935 147.568517 </gml:pos> </gml:Point> </sams:shape> <wml2:verticalDatum xlink:href="urn:ogc:def:crs:EPSG::5711" xlink:title="Australian height datum" /> <wml2:timeZone> <wml2:TimeZone> <wml2:zoneOffset>+11:00</wml2:zoneOffset> <wml2:zoneAbbreviation>AEDT</wml2:zoneAbbreviation> </wml2:TimeZone> </wml2:timeZone> </wml2:MonitoringPoint>

XML Example 7 - Monitoring point

90

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0 10.14

OGC 10-126r4

Requirements Class: Collection

This requirements class is to be used to describe collections of objects from WaterML2.0. This includes observations, sampling features, sampling feature groups and inline dictionaries. Requirements Class http://www.opengis.net/spec/waterml/2.0/req/xsd-collection Target Type

Data instance

Name

Collection

Dependency

http://www.opengis.net/spec/waterml/2.0/req/uml-collection

Dependency

http://www.opengis.net/spec/waterml/2.0/req/xsd-xml-rules

Requirement

/req/xsd-collection/valid The content model of this element shall have a value that matches the content model defined by wml2:Collection.

See Annex B for an example collection.

10.14.1 Use of inline dictionaries

The localDictionary element allows dictionary/code items to be encoded within the collection. This allows local references to be made to the dictionary rather than external links via xlink. Examples of its use are provided in Annex B.

Copyright © 2012-2014 Open Geospatial Consortium

91

Annex A Abstract test suite (normative)

A.1

Conformance classes - UML Package

A.1.1 Conformance Class: Timeseries Observation Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-observation Requirements http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-observation urn:iso:dis:iso:19156:clause:A.1.1 Dependency Test /conf/uml-timeseries-observation/result

Requirement /req/uml-timeseries-observation/result Test purpose Verify that an observation produces a result that is a Timeseries.

Test

Test method

Inspect the model or software implementation to verify the above requirement.

Test type

Capability

/conf/uml-timeseries-observation/featureOfInterest

Requirement /req/uml-timeseries-observation/featureOfInterest Test purpose Verify that if featureOfInterest of the observation is not a domain feature then the featureOfInterest property shall be SF_SpatialSamplingFeature or a subtype of this class. Test method Inspect the model or software implementation to verify the above requirement. Test type Test

Capability

/conf/uml-timeseries-observation/procedure

Requirement /req/uml-timeseries-observation/procedure Test purpose Verify that the procedure of the Observation is of a type ObservationProcess or a reference to an appropriate 92

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4 definition of the process used in generating the timeseries.

Test

Test method

Inspect the model or software implementation to verify the above requirement.

Test type

Capability

/conf/uml-timeseries-observation/metadata

Requirement /req/uml-timeseries-observation/metadata Test purpose Verify that the metadata property of the Observation is of a type ObservationMetadata.

Test

Test method

Inspect the model or software implementation to verify the above requirement.

Test type

Capability

/conf/uml-timeseries-observation/observedProperty

Requirement /req/uml-timeseries-observation/observedProperty Test purpose This requirement reflects the requirement from ISO19156 that an observation must specify the observed property of the observation. Verify that the observedProperty property of the OM_Observation has been implemented. Test method Inspect the model or software implementation to verify the above requirement. Test type Test

Capability

/conf/uml-timeseries-observation/phenomenonTime

Requirement /req/uml-timeseries-observation/phenomenonTime Test purpose Verify that the OM_Observation:phenomenonTime property describes the temporal range of the timeseries result (OM_Observation:result). Test method Inspect the model or software implementation to verify the above requirement.

Copyright © 2012-2014 Open Geospatial Consortium

93

Test type

Capability

A.1.2 Conformance Class: Domain Range Timeseries Observation Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-domain-range-observation Requirements http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-domainrange-observation http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-observation Dependency http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-domainDependency range Test /conf/uml-timeseries-domain-range-observation/result

Requirement /req/uml-timeseries-domain-range-observation/result Test purpose Verify that an observation result is a Timeseries using the domain range structure. Test method

Inspect the model or software implementation to verify the above requirement.

Test type

Capability

A.1.3 Conformance Class: Measurement (Domain Range) Timeseries Observation Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-measurement-timeseries-domain-rangeobservation Requirements http://www.opengis.net/spec/waterml/2.0/req/uml-measurement-timeseriesdomain-range-observation http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-domainDependency range-observation http://www.opengis.net/spec/waterml/2.0/conf/uml-measurementDependency timeseries-domain-range Test /conf/uml-measurement-timeseries-domain-range-observation/result

Requirement /req/uml-measurement-timeseries-domain-rangeobservation/result

Test purpose Verify that an observation result conforms to the structure of a MeasurementTimeseriesDomainRange.

94

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

Test method

Inspect the model or software implementation to verify the above requirement.

Test type

Capability

A.1.4 Conformance Class: Categorical (Domain Range) Timeseries Observation Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-categorical-timeseries-domain-rangeobservation Requirements http://www.opengis.net/spec/waterml/2.0/req/uml-categorical-timeseriesdomain-range-observation http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-domainDependency range-observation http://www.opengis.net/spec/waterml/2.0/conf/uml-categorical-timeseriesDependency domain-range Test /conf/uml-categorical-timeseries-domain-range-observation/result

Requirement /req/uml-categorical-timeseries-domain-rangeobservation/result

Test purpose Verify that an observation result conforms to the structure of a CategoricalTimeseriesDomainRange. Test method

Inspect the model or software implementation to verify the above requirement.

Test type

Capability

A.1.5 Conformance Class: TVP Timeseries Observation Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-tvp-observation Requirements http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-tvpobservation http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-observation Dependency http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-tvp Dependency Test /conf/uml-timeseries-tvp-observation/result

Requirement /req/uml-timeseries-tvp-observation/result Test purpose Verify that an observation result is a Timeseries using the interleaved (time-value pair) structure.

Copyright © 2012-2014 Open Geospatial Consortium

95

Test method

Inspect the model or software implementation to verify the above requirement.

Test type

Capability

A.1.6 Conformance Class: Measurement TVP Timeseries Observation Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-measurement-timeseries-tvp-observation Requirements http://www.opengis.net/spec/waterml/2.0/req/uml-measurement-timeseriestvp-observation http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-tvpDependency observation http://www.opengis.net/spec/waterml/2.0/conf/uml-measurementDependency timeseries-tvp Test /conf/uml-measurement-timeseries-tvp-observation/result

Requirement /req/uml-measurement-timeseries-tvp-observation/result Test purpose Verify that an observation result conforms to the structure of a MeasurementTimeseriesTVP. Test method

Inspect the model or software implementation to verify the above requirement.

Test type

Capability

A.1.7 Conformance Class: Categorical TVP Timeseries Observation Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-categorical-timeseries-tvp-observation Requirements http://www.opengis.net/spec/waterml/2.0/req/uml-categorical-timeseriestvp-observation http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-tvpDependency observation http://www.opengis.net/spec/waterml/2.0/conf/uml-categorical-timeseriesDependency tvp Test /conf/uml-categorical-timeseries-tvp-observation/result

Requirement /req/uml-categorical-timeseries-tvp-observation/result

96

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

Test purpose Verify that an observation result conforms to the structure of a CategoricalTimeseriesTVP. Test method

Inspect the model or software implementation to verify the above requirement.

Test type

Capability

A.1.8 Conformance Class: Timeseries Core Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-core Requirements http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-core Test /conf/uml-timeseries-core/domain-object

Requirement /req/uml-timeseries-core/domain-object Test purpose Verify that the Timeseries is a coverage with domain consisting of a single temporal element and no spatial element. Test method Inspect the model or software implementation to verify the above requirement. Test type Test

Capability

/conf/uml-timeseries-core/time-increasing

Requirement /req/uml-timeseries-core/time-increasing Test purpose Verify that the time elements of the time series are ordered in increasing time.

Test

Test method

Inspect the model or software implementation to verify the above requirement.

Test type

Capability

/conf/uml-timeseries-core/record-homogenous

Requirement /req/uml-timeseries-core/record-homogenous

Copyright © 2012-2014 Open Geospatial Consortium

97

Test purpose Verify that the record-type for each value (range element) of the timeseries is all the same for the whole series (coverage). Test method Inspect the model or software implementation to verify the above requirement. Test type Test

Capability

/conf/uml-timeseries-core/coverage-type

Requirement /req/uml-timeseries-core/coverage-type Test purpose Verify that the structure of the timeseries (coverage) is defined according to the domain-range timeseries conformance class OR the time-value pair (interleaved) timeseries conformance class. Test method Inspect the model or software implementation to verify the above requirement. Test type Test

Capability

/conf/uml-timeseries-core/quality

Requirement /req/uml-timeseries-core/quality Test purpose Verify that the quality assertions used for the timeseries use a URI from the data quality URIs defined in section 9.12.3.2.1. Test method Inspect the model or software implementation to verify the above requirement. Test type Test

Capability

/conf/uml-timeseries-core/metadata

Requirement /req/uml-timeseries-core/metadata Test purpose Verify that the metadata property is valid by implementing all the required properties and associations. Test method

98

Inspect the model or software implementation to verify the above requirement.

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0 Test type Test

OGC 10-126r4 Capability

/conf/uml-timeseries-core/point-metadata

Requirement /req/uml-timeseries-core/point-metadata Test purpose Verify that the implementation supports point-based metadata with all the required properties and associations as described in the UML. Test method Inspect the model or software implementation to verify the above requirement. Test type

Capability

A.1.9 Conformance Class: Timeseries Domain Range Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-domain-range Requirements http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-domain-range http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-core Dependency Test /conf/uml-timeseries-domain-range/domain-range-separate

Requirement /req/uml-timeseries-domain-range/domain-range-separate Test purpose Verify the domain (time) and range (value) parts of the timeseries are represented as separate data items. Test method

Inspect the model or software implementation to verify the above requirement.

Test type

Capability

A.1.10 Conformance Class: Timeseries Time-Value Pair (interleaved) Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-tvp Requirements http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-tvp http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-core Dependency Test /conf/uml-timeseries-tvp/interleaved

Copyright © 2012-2014 Open Geospatial Consortium

99

Requirement /req/uml-timeseries-tvp/interleaved Test purpose Verify the timeseries is structured using time-value pairs as defined by the TimeValuePair class. Test method

Inspect the model or software implementation to verify the above requirement.

Test type

Capability

A.1.11 Conformance Class: Measurement Timeseries TVP (Interleaved) Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-measurement-timeseries-tvp Requirements http://www.opengis.net/spec/waterml/2.0/req/uml-measurement-timeseriestvp http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-tvp Dependency Test /conf/uml-measurement-timeseries-tvp/value-type

Requirement /req/uml-measurement-timeseries-tvp/value-type Test purpose Verify the values (range elements) of the timeseries are of type Measure.

Test

Test method

Inspect the model or software implementation to verify the above requirement.

Test type

Capability

/conf/uml-measurement-timeseries-tvp/interpolation-type

Requirement /req/uml-timeseries-core/interpolation-type Test purpose Verify that the interpolation type used for the timeseries uses a URI from the interpolation type URIs defined in section 9.15.3.2. Test method Inspect the model or software implementation to verify the above requirement. Test type

100

Capability

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

A.1.12 Conformance Class: Categorical Timeseries TVP (Interleaved) Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-categorical-timeseries-tvp Requirements http://www.opengis.net/spec/waterml/2.0/req/uml-categorical-timeseriestvp http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-tvp Dependency Test /conf/uml-categorical-timeseries-tvp/value-type

Requirement /req/uml-categorical-timeseries-tvp/value-type Test purpose Verify the values (range elements) of the timeseries are of type Category. Test method

Inspect the model or software implementation to verify the above requirement.

Test type

Capability

A.1.13 Conformance Class: Measurement Timeseries (Domain Range) Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-measurement-timeseries-domain-range Requirements http://www.opengis.net/spec/waterml/2.0/req/uml-measurement-timeseriesdomain-range http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-domainDependency range Test /conf/uml-measurement-timeseries-domain-range/value-type

Requirement /req/uml-measurement-timeseries-domain-range/value-type Test purpose Verify the values (range elements) of the timeseries are of type Measure. Test method

Inspect the model or software implementation to verify the above requirement.

Test type

Capability

A.1.14 Conformance Class: Categorical Timeseries (Domain Range) Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-categorical-timeseries-domain-range

Copyright © 2012-2014 Open Geospatial Consortium

101

Requirements Dependency Test

http://www.opengis.net/spec/waterml/2.0/req/uml-categorical-timeseriesdomain-range http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-domainrange /conf/uml-categorical-timeseries-domain-range/value-type

Requirement /req/uml-categorical-timeseries-domain-range/value-type Test purpose Verify the values (range elements) of the timeseries are of type Category. Test method

Inspect the model or software implementation to verify the above requirement.

Test type

Capability

A.1.15 Conformance Class: Monitoring Point Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-monitoring-point

Requirements Dependency Test

http://www.opengis.net/spec/waterml/2.0/req/uml-monitoring-point urn:iso:dis:iso:19156:clause:A.2.4 /conf/uml-monitoring-point/valid

Requirement /req/uml-monitoring-point/valid Test purpose Verify the implementation represents all the required attributes and associations for a monitoring point. Test method

Inspect the model or software implementation to verify the above requirement.

Test type

Capability

A.1.16 Conformance Class: Monitoring Point feature of interest Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-monitoring-point-feature-of-interest

Requirements 102

http://www.opengis.net/spec/waterml/2.0/req/uml-monitoring-point-

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

Dependency Test

OGC 10-126r4

feature-of-interest urn:iso:dis:iso:19156:clause:A.1.1 /conf/uml-monitoring-point-feature-of-interest/foi

Requirement /req/uml-monitoring-point-feature-of-interest/foi Test purpose Verify the featureOfInterest property of the OM_Observation object is of type MonitoringPoint (or a reference to such a type). Test method Inspect the model or software implementation to verify the above requirement. Test type

Capability

A.1.17 Conformance Class: Sampling feature collections Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-sampling-feature-collections

Requirements Dependency Test

http://www.opengis.net/spec/waterml/2.0/req/uml-sampling-featurecollections urn:iso:dis:iso:19156:clause:A.2.2 /conf/uml-sampling-feature-collections/groups

Requirement /req/uml-sampling-feature-collections/groups Test purpose Verify the collections of sampling features are represented using the SamplingFeatureCollection type specified in ISO19156. Test method Inspect the model or software implementation to verify the above requirement. Test type

Capability

A.1.18 Conformance Class: Observation process Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-observation-process

Copyright © 2012-2014 Open Geospatial Consortium

103

Requirements Dependency Test

http://www.opengis.net/spec/waterml/2.0/req/uml-observation-process urn:iso:dis:iso:19156:clause:A.1.1 /conf/uml-observation-process/valid

Requirement /req/uml-observation-process/valid Test purpose Verify the procedure property uses the ObservationProcess type or a reference to such a type.

Test

Test method

Inspect the model or software implementation to verify the above requirement.

Test type

Capability

/conf/uml-observation-process/processType

Requirement /req/uml-observation-process/processType Test purpose Verify the processType property of the ObservationType uses an appropriate URL as defined in section 9.22. Test method

Inspect the model or software implementation to verify the above requirement.

Test type

Capability

A.1.19 Conformance Class: Collection Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-collecton

Requirements Dependency Dependency Dependency Test

http://www.opengis.net/spec/waterml/2.0/req/uml-collection urn:iso:dis:iso:19156:clause:A.2.2 http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-core http://www.opengis.net/spec/waterml/2.0/conf/uml-monitoring-point /conf/uml-collection/valid

Requirement /req/uml-collection/valid Test purpose Verify the model or implementation supports collections of sampling features or collections of sampling features,

104

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4 observations and inline dictionaries as described by the UML in section 9.23.

A.2

Test method

Inspect the model or software implementation to verify the above requirement.

Test type

Capability

Conformance classes – XML Implementation

This is the core conformance class for XML implementation of WaterML 2.0. There is a dependency on the conformance class for GML documents, defined in clause 2.4 (with the test suite in A.3) of OGC Geography Markup Language v3.2. There is a dependency on the conformance class for Geographic Metadata XML encoding, described in Clause 2 and Annex A of Geographic information – metadata – XML implementation. There is a dependency on the conformance class for Observations and Measurements XML encoding, described Annex A of Observations and Measurements – XML implementation. A.2.1 Conformance Class: XML Rules Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/xsd-xml-rules http://www.opengis.net/spec/waterml/2.0/req/xsd-xml-rules Requirements http://www.opengis.net/spec/SWE/2.0/conf/xsd-simple-components Dependency http://www.w3.org/TR/xmlschema-2 Dependency http://www.opengis.net/doc/IS/GML/3.2/clause/2.4 Dependency urn:iso:dis:iso:8601:2004:clause:4 Dependency Test /conf/xsd-xml-rules/iso8601-time

Requirement /req/xsd-xml-rules/iso8601-time Test purpose Verify that all time instants are valid according to the XML Schema implementation of ISO8601. Test method

Test type

Validate the content of each time element against the XML Schema dateTime content type, available here http://www.w3.org/TR/xmlschema-2/#schema. Pass if no errors are reported. Fail otherwise. Capability

Copyright © 2012-2014 Open Geospatial Consortium

105

Test

/conf/xsd-xml-rules/time-zone

Requirement /req/xsd-xml-rules/time-zone Test purpose Verify that all time instants include a time zone specifier. Test method

Test type Test

Validate the XML document using the Schematron document http://schemas.opengis.net/waterml/2.0/xmlrules.sch. Pass if no errors are reported for the “time-zone” test. Fail otherwise Capability

/conf/xsd-xml-rules/unit-of-measure

Requirement /req/xsd-xml-rules/unit-of-measure Test purpose Verify that all time units are specified using the UCUM units system. Test method Test type Test

Inspect the XML document and ensure all units of measure are valid according to UCUM. Fail otherwise. (No automated check against UCUM currently available). Capability

/conf/xsd-xml-rules/swe-types

Requirement /req/xsd-xml-rules/swe-types Test purpose Ensure that only applicable SWE types are used. Some SWE types are related specifically to the SWE encoding style, which is not used. Test method Verify that following SWE elements are not used in the encoding: swe:quality(AbstractSimpleComponentType) swe:nilValues (AbstractSimpleComponentType) swe:constraint (QuantityType, QuantityRangeType, CategoryType) Verify the following SWE attributes are not used:

106

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4 ‘optional’ and ‘updatable’ from the base type ‘AbstractDataComponent’

Test type

Capability

A.2.2 Conformance Class: Timeseries Observation XML (abstract) Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/xsd-timeseries-observation http://www.opengis.net/spec/waterml/2.0/req/xsd-timeseries-observation Requirements http://www.opengis.net/spec/OMXML/2.0/conf/observation Dependency Test /conf/xsd-timeseries-observation/procedure

Requirement /req/xsd-timeseries-observation/procedure Test purpose Verify that the om:procedure element has a value that matches the content model defined by wml2: ObservationProcess or an appropriate reference is used. Test method Validate the XML document using the Schematron document http://schemas.opengis.net/waterml/2.0/timeseriesobservation.sch . Pass if no errors are reported for the “procedure” test. Fail otherwise. Test type Capability Test

/conf/xsd-timeseries-observation/metadata

Requirement /req/xsd-timeseries-observation/metadata Test purpose Verify that the om:metadata element has a value that matches the content model defined by wml2: ObservationMetadata or an appropriate reference is used. Test method Validate the XML document using the Schematron document http://schemas.opengis.net/waterml/2.0/timeseriesobservation.sch. Pass if no errors are reported for the “metadata” test. Fail otherwise. Test type Capability

Copyright © 2012-2014 Open Geospatial Consortium

107

Test

/conf/xsd-timeseries-observation/result

Requirement /req/xsd-timeseries-observation/result Test purpose Verify that the om:result element has a value that matches the content model defined by wml2:TimeseriesType or is in the substitution group wml2:Timeseries. Test method Validate the XML document using the Schematron document http://schemas.opengis.net/waterml/2.0/timeseriesobservation.sch. Pass if no errors are reported for the “result” test. Fail otherwise. Test type Capability Test

/conf/xsd-timeseries-observation/phenomenonTime

Requirement /req/xsd-timeseries-observation/phenomenonTime Test purpose Verify that the phenomenon time describes the temporal extent of the observation result. Test method

Test type

Validate the XML document using the Schematron document http://schemas.opengis.net/waterml/2.0/timeseriesobservation.sch. Pass if no errors are reported for the ‘phenomenonTime. Fail otherwise. Capability

A.2.3 Conformance Class: TVP (Interleaved) Timeseries Observation XML Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/xsd-timeseries-tvp-observation http://www.opengis.net/spec/waterml/2.0/req/xsd-timeseries-tvpRequirements observation http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-tvpDependency observation Test /conf/xsd-timeseries-tvp-observation/result

Requirement /req/xsd-timeseries-tvp-observation/result

108

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

Test purpose Verify that the om:result element has a value that matches the content model defined by wml2:Timeseries. Test method

Validate the XML document using the Schematron document http://schemas.opengis.net/waterml/2.0/timeseries-tvpobservation.sch . Pass if no errors are reported for the “result” test. Fail otherwise.

A.2.4 Conformance Class: Measurement TVP (Interleaved) Timeseries Observation XML Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/xsd-measurement-timeseries-tvp-observation http://www.opengis.net/spec/waterml/2.0/req/xsd-measurement-timeseriesRequirements tvp-observation http://www.opengis.net/spec/waterml/2.0/conf/xsd-timeseries-tvpDependency observation Test /conf/xsd-measurement-timeseries-tvp-observation/result

Requirement /req/xsd-measurement-timeseries-tvp-observation/result Test purpose Verify that the om:result element has a value that matches the content model defined by wml2:MeasurementTimeseries. Test method Validate the XML document using the Schematron document http://schemas.opengis.net/waterml/2.0/measurementtimeseries-tvp-observation.sch. Pass if no errors are reported for the “result” test. Fail otherwise. A.2.5 Conformance Class: Categorical TVP (Interleaved) Timeseries Observation XML Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/xsd-categorical-timeseries-tvp-observation http://www.opengis.net/spec/waterml/2.0/req/xsd-categorical-timeseriesRequirements tvp-observation http://www.opengis.net/spec/waterml/2.0/conf/xsd-timeseries-tvpDependency observation Test /conf/xsd-categorical-timeseries-tvp-observation/result

Requirement /req/xsd-categorical-timeseries-tvp-observation/result

Copyright © 2012-2014 Open Geospatial Consortium

109

Test purpose Verify that the om:result element has a value that matches the content model defined by wml2:CategoricalTimeseries. Test method Validate the XML document using the Schematron document http://schemas.opengis.net/waterml/2.0/categoricaltimeseries-tvp-observation.sch. Pass if no errors are reported for the “result” test. Fail otherwise. A.2.6 Conformance Class: Timeseries (Core)

Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/xsd-timeseries-core http://www.opengis.net/spec/waterml/2.0/req/xsd-timeseries-core Requirements http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-core Dependency Test /conf/xsd-timeseries-core/domain-object

Requirement /req/xsd-timeseries-core/domain-object Test purpose Verify that the XML instance is a valid coverage timeseries consisting of single temporal element. Test method Test

Specific tests for this conformance class are defined in the dependent concrete conformance classes; see section 10.2.2 for details.

/conf/xsd-timeseries-core/time-increasing

Requirement /req/xsd-timeseries-core/time-increasing Test purpose Verify that each point in the timeseries is increasing in time. Test method Test

Specific tests for this conformance class are defined in the dependent concrete conformance classes; see section 10.2.2 for details.

/conf/xsd-timeseries-core/record-homogenous

Requirement /req/xsd-timeseries-tvp/record-homogenous Test purpose Verify that the record type for each point in the series is the same. E.g. all of type Measurement or Categorical.

110

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0 Test method

Test

OGC 10-126r4 Inspect the value-type (range type) of the coverage and ensure that the record type is homogenous. Implementation specific tests exist for this conformance class in the concrete conformance classes, as described in section 10.2.2.

/conf/xsd-timeseries-core/time-mandatory

Requirement /req/xsd-timeseries-tvp/time-mandatory Test purpose Ensure that the time component of the timeseries coverage is sufficiently specified. Test method Test

Specific tests for this conformance class are defined in the dependent concrete conformance classes; see section 10.2.2 for details.

/conf/xsd-timeseries-core/null-point-reason

Requirement /req/xsd-timeseries-tvp/null-point-reason Test purpose Ensure that a reason is specified for each point that is defined as null. Test method

Specific tests for this conformance class are defined in the dependent concrete conformance classes; see section 10.2.2 for details.

A.2.7 Conformance Class: Timeseries – TVP representation Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/xsd-timeseries-tvp http://www.opengis.net/spec/waterml/2.0/req/xsd-timeseries-tvp Requirements

Dependency Test

/conf/xsd-timeseries-tvp/valid

Requirement /req/xsd-timeseries-tvp/valid Test purpose Verify that the XML instance is a valid timeseries. Test method

Validate the XML document using the XML Schema document http://schemas.opengis.net/waterml/2.0/timeseries.xsd. Pass if no errors are reported. Fail otherwise.

Copyright © 2012-2014 Open Geospatial Consortium

111

Test

/conf/xsd-timeseries-tvp/time-increasing

Requirement /req/xsd-timeseries-tvp/time-increasing Test purpose Verify that each point in the timeseries is increasing in time. Test method Test

Inspect the value of each wml2:time element in the series and ensure the time instant is after the previous wml2:time instant.

/conf/xsd-timeseries-tvp/record-homogenous

Requirement /req/xsd-timeseries-tvp/record-homogenous

Test

Test purpose Verify that the record type for each point in the series is the same. E.g. all of type MeasurementTVP or CategoricalTVP. Test method Validate the XML document using the XML Schema document http://schemas.opengis.net/waterml/2.0/timeseries.xsd. Pass if no errors are reported. Fail otherwise. /conf/xsd-timeseries-tvp/default-point-metadata

Requirement /req/xsd-timeseries-tvp/default-point-metadata Test purpose Ensure the default metadata is applied to each point in the timeseries unless it has been overridden. Test method

Test

This requirement describes the logic for defaulting behavior. Conformance is to be tested when creating or parsing the instance document, rather than directly on an instance document.

/conf/xsd-timeseries-tvp/equidistant-encoding

Requirement /req/xsd-timeseries-tvp/equidistant-encoding Test purpose Ensure the equidistant timeseries metadata has been sufficiently defined. Test method

112

Validate the XML document using the Schematron document http://schemas.opengis.net/waterml/2.0/timeseries.sch. Pass if no errors are reported for the ‘equidistant_series’ Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4 test. Fail otherwise.

Test

/conf/xsd-timeseries-tvp/time-mandatory

Requirement /req/xsd-timeseries-tvp/time-mandatory

Test

Test purpose Ensure each point in the series has a time specified, either through definition of an equidistant series or explicitly for each point. Test method Validate the XML document using the Schematron document http://schemas.opengis.net/waterml/2.0/timeseries.sch. Pass if no errors are reported for the ‘time-mandatory’ test. Fail otherwise. /conf/xsd-timeseries-tvp/null-point-reason

Requirement /req/xsd-timeseries-tvp/null-point-reason Test purpose Ensure that a reason is specified for each point that is defined as null. Test method

Validate the XML document using the Schematron document http://schemas.opengis.net/waterml/2.0/timeseries.sch. Pass if no errors are reported for the ‘null-point-reason’ test. Fail otherwise.

A.2.8 Conformance Class: Measurement Timeseries – TVP representation Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/xsd-measurement-timeseries-tvp http://www.opengis.net/spec/waterml/2.0/req/xsd-measurement-timeseriesRequirements tvp http://www.opengis.net/spec/waterml/2.0/conf/xsd-timeseries-tvp Dependency Test /conf/xsd-measurement-timeseries-tvp/interpolation-type

Requirement /req/xsd-measurement-timeseries-tvp/interpolation-type Test purpose Verify that each point within a timeseries has a defined interpolation type.

Copyright © 2012-2014 Open Geospatial Consortium

113

Test method

Test

Validate the XML document using the Schematron document http://schemas.opengis.net/waterml/2.0/measurementtimeseries-tvp.sch. Pass if no errors are reported for the ‘interpolation-type’ test. Fail otherwise.

/conf/xsd-measurement-timeseries-tvp/value-measure

Requirement /req/xsd-measurement-timeseries-tvp/value-measure Test purpose Verify that each point in the timeseries has a value-type of a measure. Test method

Test

Validate the XML document using the XML Schema document http://schemas.opengis.net/waterml/2.0/timeseries.xsd.. Pass if no errors are reported. Fail otherwise.

/conf/xsd-measurement-timeseries-tvp/unit-of-measure

Requirement /req/xsd-measurement-timeseries-tvp/unit-of-measure Test purpose Verify that each value in the timeseries has a unit of measure specified. Test method

Test

Validate the XML document using the Schematron document http://schemas.opengis.net/waterml/2.0/measurementtimeseries-tvp.sch. Pass if no errors are reported for the ‘value-measure-unit-of-measure’ test. Fail otherwise.

/conf/xsd-measurement-timeseries-tvp/timeseries-metadata

Requirement /req/xsd-measurement-timeseries-tvp/timeseries-metadata Test purpose Verify that the type of the wml2:metadata element is wml2:MeasurementTimeseriesMetadata. Test method

Test

Validate the XML document using the XML Schema document http://schemas.opengis.net/waterml/2.0/timeseries.xsd. Pass if no errors are reported. Fail otherwise.

/conf/xsd-measurement-timeseries-tvp/point-metadata

Requirement /req/xsd-measurement-timeseries-tvp/point-metadata

114

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

Test purpose Verify that the type of the wml2:point/wml2:MeasurementTVP/wml2:metadata element is wml2:TVPMeasurementMetadata. Test method Validate the XML document using the XML Schema document http://schemas.opengis.net/waterml/2.0/timeseries.xsd. Pass if no errors are reported. Fail otherwise. A.2.9 Conformance Class: Categorical Timeseries – TVP representation Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/xsd-categorical-timeseries-tvp http://www.opengis.net/spec/waterml/2.0/req/xsd-categorical-timeseries-tvp Requirements http://www.opengis.net/spec/waterml/2.0/conf/xsd-timeseries-tvp Dependency Test /conf/xsd-categorical-timeseries-tvp/value-category

Requirement /req/xsd-categorical-timeseries-tvp/value-category Test purpose Verify that each point in the timeseries has a value-type of a category. Test method

Validate the XML document using the XML Schema document http://schemas.opengis.net/waterml/2.0/timeseries.xsd. Pass if no errors are reported. Fail otherwise.

A.2.10 Conformance Class: Monitoring point feature of interest Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/xsd-feature-of-interest-monitoring-point http://www.opengis.net/spec/waterml/2.0/req/xsd-feature-of-interestRequirements monitoring-point http://www.opengis.net/spec/OMXML/2.0/conf/observation Dependency http://www.opengis.net/spec/waterml/2.0/conf/xsd-monitoring-point Dependency Test /conf/xsd-feature-of-interest-monitoring-point/featureOfInterest

Requirement /req/xsd-feature-of-interest-monitoringpoint/featureOfInterest

Test purpose Verify that the om:featureOfInterest element has a value that matches the content model defined by wml2:MonitoringPoint. Test method Validate the XML document using the Schematron document Copyright © 2012-2014 Open Geospatial Consortium

115

http://schemas.opengis.net/waterml/2.0/monitoring-pointfeature-of-interest.sch . Pass if no errors are reported. Fail otherwise. A.2.11 Conformance Class: Observation Process Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/xsd-observation-process http://www.opengis.net/spec/waterml/2.0/req/xsd-observation-process Requirements http://www.opengis.net/spec/waterml/2.0/req/uml-observation-process Dependency Test /conf/xsd-observation-process/valid

Requirement /req/xsd-observation-process/valid Test purpose Verify that the OM_Observation defines a valid ObservationProcess type or contains a reference to its definition. Test method Validate the XML document using the XML Schema document http://schemas.opengis.net/waterml/2.0/observationProces s.xsd . Pass if no errors are reported. Fail otherwise. A.2.12 Conformance Class: Monitoring Point Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/xsd-monitoring-point http://www.opengis.net/spec/waterml/2.0/req/xsd-monitoring-point Requirements http://www.opengis.net/spec/waterml/2.0/req/uml-monitoring-point Dependency Test /conf/xsd-monitoring-point/valid

Requirement /req/xsd-monitoring-point/valid Test purpose Verify that the MonitoringPoint is a valid definition. Test method

116

Validate the XML document using the XML Schema document http://schemas.opengis.net/waterml/2.0/monitoringPoint.x sd . Pass if no errors are reported. Fail otherwise.

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

A.2.13 Conformance Class: Collection Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/xsd-collection http://www.opengis.net/spec/waterml/2.0/req/xsd-collection Requirements http://www.opengis.net/spec/waterml/2.0/req/uml-collection Dependency Test /conf/xsd-collection/valid

Requirement /req/xsd-collection/valid Test purpose Verify that the Collection is a valid definition. Test method

Validate the XML document using the XML Schema document http://schemas.opengis.net/waterml/2.0/collection.xsd. Pass if no errors are reported. Fail otherwise.

Copyright © 2012-2014 Open Geospatial Consortium

117

Annex B Example XML instances (informative) Examples are provided here for informative purposes, other examples are available with the normative schema. B.1 Full collection example The following example shows a complete collection. The temporal extent, a local dictionary of phenomenon descriptions and the sampling point for the observations are provided as common data for any observations in the collection. This example conforms to the following conformance classes: - /conf/xsd-xml-rules - /conf/xsd-collection - /conf/xsd-timeseries-observation - /conf/xsd-timeseries-tvp-observation - /conf/xsd-timeseries-tvp - /conf/xsd-feature-of-interest-monitoring-point - /conf/xsd-measurement-timeseries-tvp - /conf/xsd-observation-process <wml2:Collection gml:id="xsd-collection.example"> <gml:description>Example collection for XML encoding http://www.opengis.net/spec/waterml/2.0/req/xsd-collection. Time series observation of water temperature</gml:description>

<wml2:metadata> <wml2:DocumentMetadata gml:id="document-metadata.1"> <wml2:generationDate>2011-11-28T10:05:05+11:00</wml2:generationDate> <wml2:version xlink:href="http://www.opengis.net/waterml/2.0" xlink:title="WaterML 2.0"/> <wml2:generationSystem>Manual</wml2:generationSystem> <wml2:profile xlink:href="http://www.opengis.net/spec/waterml/2.0/conf/xsd-xml-rules"/> <wml2:profile xlink:href="http://www.opengis.net/spec/waterml/2.0/conf/xsd-measurementtimeseries-tvp-observation"/> <wml2:profile xlink:href="http://www.opengis.net/spec/waterml/2.0/conf/xsd-measurementtimeseries-tvp"/> <wml2:profile xlink:href="http://www.opengis.net/spec/waterml/2.0/conf/xsd-feature-ofinterest-monitoring-point"/> <wml2:profile xlink:href="http://www.opengis.net/spec/waterml/2.0/conf/xsd-collection"/> <wml2:profile xlink:href="http://www.opengis.net/spec/waterml/2.0/conf/xsd-observationprocess"/> </wml2:DocumentMetadata> </wml2:metadata> <wml2:temporalExtent> <gml:TimePeriod gml:id="time-period.1"> <gml:beginPosition>2011-11-21T12:27:00+10:00</gml:beginPosition> <gml:endPosition>2011-11-21T12:57:10+10:00</gml:endPosition> </gml:TimePeriod> </wml2:temporalExtent> <wml2:localDictionary> <gml:Dictionary gml:id="phenom_codes"> <gml:identifier codeSpace=" http://sweet.jpl.nasa.gov/2.3/">sweet_phenomenon</gml:identifier> <gml:dictionaryEntry> <gml:Definition gml:id="temperature">

118

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

<gml:identifier codeSpace="http://sweet.jpl.nasa.gov/2.3/propTemperature.owl">Temperature</gml:identifier> <gml:name codeSpace="http://sweet.jpl.nasa.gov/2.3/propTemperature.owl">Temperature</gml:name> <gml:remarks>NASA SWEET definition of temperature</gml:remarks> </gml:Definition> </gml:dictionaryEntry> </gml:Dictionary> </wml2:localDictionary> <wml2:samplingFeatureMember> <wml2:MonitoringPoint gml:id="monitoring-point.1"> <gml:name codeSpace="http://www.csiro.au/">Deddington</gml:name> <sam:sampledFeature xlink:href="http://csiro.au/features/rivers/south_esk/deddington" xlink:title="Deddington"/> <sams:shape> <gml:Point gml:id="location_deddington"> <gml:pos srsName="urn:ogc:def:crs:EPSG::4326">-41.814935 147.568517 </gml:pos> </gml:Point> </sams:shape> <wml2:verticalDatum xlink:href="urn:ogc:def:crs:EPSG::5711" xlink:title="Australian height datum"/> <wml2:timeZone> <wml2:TimeZone> <wml2:zoneOffset>+11:00</wml2:zoneOffset> <wml2:zoneAbbreviation>AEDT</wml2:zoneAbbreviation> </wml2:TimeZone> </wml2:timeZone> </wml2:MonitoringPoint> </wml2:samplingFeatureMember> <wml2:observationMember> <om:OM_Observation gml:id="observation.1"> <gml:identifier codeSpace="http://www.example.com/observations">EX.OB.B.1</gml:identifier> <om:metadata> <wml2:ObservationMetadata> <gmd:contact xlink:href="http://www.example.com" xlink:title="Example Pty Ltd"/> <gmd:dateStamp> <gco:DateTime>2011-11-28T10:01:00+10:00</gco:DateTime> </gmd:dateStamp> <gmd:identificationInfo xlink:href="http://www.example.com/observations/C.1" xlink:title="Observation C.1"/> <wml2:intendedObservationSpacing>PT15M</wml2:intendedObservationSpacing> <wml2:status xlink:href="http://water.usgs.gov/provisional.html" xlink:title="Provisional data"/> <wml2:sampledMedium xlink:href="http://www.opengis.net/def/waterml/2.0/medium/Water" xlink:title="Water"/> </wml2:ObservationMetadata> </om:metadata> <om:phenomenonTime xlink:href="#time-period.1" xlink:title="Temporal Extent"/> <om:resultTime> <gml:TimeInstant gml:id="time-instant.1"> <gml:timePosition>2011-11-21T13:05:00+10:00</gml:timePosition> </gml:TimeInstant> </om:resultTime> <om:procedure> <wml2:ObservationProcess gml:id="observation-process.1"> <wml2:processType xlink:href=" http://www.opengis.net/def/waterml/2.0/processType/Sensor" xlink:title="Sensor"/> <wml2:processReference xlink:href="http://www.example.com/sensor/1.0" xlink:title="Sensor Sampling Regime 1.0"/> </wml2:ObservationProcess> </om:procedure> <om:observedProperty xlink:href="#temperature" xlink:title="Temperature"/> <om:featureOfInterest xlink:href="#monitoring-point.1" xlink:title="Deddington"/> <om:result> <wml2:MeasurementTimeseries gml:id="timeseries.1">

Copyright © 2012-2014 Open Geospatial Consortium

119

<wml2:metadata> <wml2:TimeseriesMetadata> <wml2:temporalExtent xlink:href="#time-period.1"/> </wml2:TimeseriesMetadata> </wml2:metadata> <wml2:defaultPointMetadata> <wml2:DefaultTVPMeasurementMetadata> <wml2:uom code="Cel"/> <wml2:interpolationType xlink:href="http://www.opengis.net/def/waterml/2.0/interpolationType/Continuous" xlink:title="Instantaneous"/> </wml2:DefaultTVPMeasurementMetadata> </wml2:defaultPointMetadata> <wml2:point> <wml2:MeasurementTVP> <wml2:time>2011-11-21T12:27:00+10:00</wml2:time> <wml2:value>10.5</wml2:value> </wml2:MeasurementTVP> </wml2:point> <wml2:point> <wml2:MeasurementTVP> <wml2:time>2011-11-21T12:44:35+10:00</wml2:time> <wml2:value>10.5</wml2:value> </wml2:MeasurementTVP> </wml2:point> <wml2:point> <wml2:MeasurementTVP> <wml2:time>2011-11-21T12:57:10+10:00</wml2:time> <wml2:value>10.4</wml2:value> </wml2:MeasurementTVP> </wml2:point> </wml2:MeasurementTimeseries> </om:result> </om:OM_Observation> </wml2:observationMember> </wml2:Collection>

B.2 Categorical timeseries example The following example shows an example categorical timeseries. This example demonstrates the following conformance classes: - /conf/xsd-xml-rules - /conf/xsd-timeseries-tvp-observation - /conf/xsd-categorical-timeseries-tvp <wml2:CategoricalTimeseries gml:id="ts_id33"> <gml:description>This is an example showing a categorical time series in waterml2.0. Describes a timeseries of manual weather observations. </gml:description> <wml2:metadata> <wml2:TimeseriesMetadata> <wml2:temporalExtent> <gml:TimePeriod gml:id="tp_1"> <gml:beginPosition>2011-11-16T00:00:00+11:00</gml:beginPosition> <gml:endPosition>2011-11-18T00:00:00+11:00</gml:endPosition> </gml:TimePeriod> </wml2:temporalExtent> </wml2:TimeseriesMetadata> </wml2:metadata> <wml2:point> <wml2:CategoricalTVP> <wml2:time>2011-11-16T00:00:00+11:00</wml2:time> <wml2:value>

120

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

<swe:Category> <swe:description>Fairly uniform precipitation composed exclusively of very small water droplets (less than 0.5 mm in diameter) very close to one another</swe:description> <swe:codeSpace xlink:href="http://www.bom.gov.au/info/wwords/"/> <swe:value>Drizzle</swe:value> </swe:Category> </wml2:value> </wml2:CategoricalTVP> </wml2:point> <wml2:point> <wml2:CategoricalTVP> <wml2:time>2011-11-17T00:00:00+11:00</wml2:time> <wml2:value> <swe:Category> <swe:description>Usually begin and end suddenly. Relatively short-lived, but may last half an hour. Fall from cumulus clouds, often separated by blue sky. Showers may fall in patches rather than across the whole forecast area. Range in intensity from light to very heavy</swe:description> <swe:codeSpace xlink:href="http://www.bom.gov.au/info/wwords/"/> <swe:value>Showers</swe:value> </swe:Category> </wml2:value> </wml2:CategoricalTVP> </wml2:point> <wml2:point> <wml2:CategoricalTVP> <wml2:time>2011-11-18T00:00:00+11:00</wml2:time> <wml2:value xsi:nil="true"></wml2:value> <wml2:metadata> <wml2:TVPMetadata> <wml2:nilReason xlink:href=“http://www.opengis.net/def/nil/OGC/0/missing”/> <wml2:comment>No observation performed.</wml2:comment> </wml2:TVPMetadata> </wml2:metadata> </wml2:CategoricalTVP> </wml2:point> </wml2:CategoricalTimeseries>

B.3 Monitoring point example The following example shows an example monitoring point description, including a description of the station owner. <wml2:MonitoringPoint gml:id="xsd-monitoring-point.example" <gml:description>Example monitoring point for XML http://www.opengis.net/spec/waterml/2.0/req/xsd-monitoring-point. Nile river at Deddington, South Esk catchment, Tasmania</gml:description> <gml:name codeSpace="http://www.csiro.au/">Deddington</gml:name> <sam:sampledFeature xlink:href="http://csiro.au/features/rivers/nile" xlink:title="Nile river"/> <sams:shape> <gml:Point gml:id="location_deddington"> <gml:pos srsName="urn:ogc:def:crs:EPSG::4326">-41.814935 147.568517 </gml:pos> </gml:Point> </sams:shape> <wml2:relatedParty> <gmd:CI_ResponsibleParty> <gmd:organisationName> <gco:CharacterString>Department of Primary Industries, Parks, Water and Environment (DPIPWE)</gco:CharacterString> </gmd:organisationName>

Copyright © 2012-2014 Open Geospatial Consortium

121

<gmd:role> <gmd:CI_RoleCode codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#CI_RoleCode" codeListValue="CI_RoleCode_owner">Owner</gmd:CI_RoleCode> </gmd:role> </gmd:CI_ResponsibleParty> </wml2:relatedParty> <wml2:verticalDatum xlink:href="urn:ogc:def:crs:EPSG::5711" xlink:title="Australian height datum"/> <wml2:timeZone> <wml2:TimeZone> <wml2:zoneOffset>+11:00</wml2:zoneOffset> <wml2:zoneAbbreviation>AEDT</wml2:zoneAbbreviation> </wml2:TimeZone> </wml2:timeZone> </wml2:MonitoringPoint>

B.4 Forecasting example The following example shows an example forecast of river discharge, using a measurement timeseries. <wml2:Collection gml:id="deterministic_forecast_TAPM4_20100506T00Z"> <gml:description>Example of a Hydrologic Forecast timeseries </gml:description> <wml2:metadata> <wml2:DocumentMetadata gml:id="doc_d"> <wml2:generationDate>2011-09-21T16:46:00+10:00</wml2:generationDate> <wml2:version xlink:href="http://www.opengis.net/waterml/2.0"/> </wml2:DocumentMetadata> </wml2:metadata> <wml2:observationMember> <om:OM_Observation gml:id="series_one"> <om:phenomenonTime> <gml:TimePeriod gml:id="forecast_period"> <gml:beginPosition>2010-05-06T12:00:00Z</gml:beginPosition> <gml:endPosition>2010-05-16T12:00:00Z</gml:endPosition> </gml:TimePeriod> </om:phenomenonTime> <om:resultTime> <gml:TimeInstant gml:id="forecast_available"> <gml:timePosition>2010-05-06T05:00:00Z</gml:timePosition> </gml:TimeInstant> </om:resultTime> <om:validTime> <gml:TimePeriod gml:id="valid_period"> <gml:beginPosition>2010-05-06T05:00:00Z</gml:beginPosition> <gml:endPosition>2010-05-07T05:00:00Z</gml:endPosition> </gml:TimePeriod> </om:validTime> <om:procedure xlink:href="NCRFC:MinnesotaRiver_Forecast" xlink:title="NCRFC:MinnesotaRiver_Forecast" xlink:arcrole="http://www.opengis.net/def/waterml/2.0/processType/Simulation"/> <om:parameter> <om:NamedValue> <om:name xlink:title="T0 (Time of analysis)" xlink:role="analysisTime"/>

122

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

<om:value xsi:type="gml:TimePositionType">2010-05-06T00:00:00+00:00</om:value> </om:NamedValue> </om:parameter> <om:parameter> <om:NamedValue> <om:name xlink:title="Init time of model" xlink:role="initTime"/> <om:value xsi:type="gml:TimePositionType">2010-05-03T12:00:00+00:00</om:value> </om:NamedValue> </om:parameter> <om:observedProperty xlink:href="http://sweet.jpl.nasa.gov/2.3/phenHydro.owl#Discharge" xlink:title="streamflow"/> <om:featureOfInterest xlink:href="http://www.nws.noaa.gov/hb5id/TAPM4" xlink:title="Paradise 12W, MN"/> <om:result> <wml2:MeasurementTimeseries gml:id="ts_one"> <wml2:metadata> <wml2:MeasurementTimeseriesMetadata> <wml2:temporalExtent> <gml:TimePeriod gml:id="fc_1"> <gml:beginPosition>2010-05-06T00:00:00+00:00</gml:beginPosition> <gml:endPosition>2010-05-16T12:00:00+00:00</gml:endPosition> </gml:TimePeriod> </wml2:temporalExtent> <wml2:baseTime>2010-05-06T00:00:00+00:00</wml2:baseTime> <wml2:spacing>PT6H</wml2:spacing> </wml2:MeasurementTimeseriesMetadata> </wml2:metadata> <wml2:defaultPointMetadata> <wml2:DefaultTVPMeasurementMetadata> <wml2:qualifier xlink:href="http://www.example.com/hydro/forecasts/status/approved" xlink:title="Approved and issued"/> <wml2:uom code="m3/s"/> <wml2:interpolationType xlink:href="http://www.opengis.net/def/waterml/2.0/interpolationType/Continuous" xlink:title="Instantaneous"/> </wml2:DefaultTVPMeasurementMetadata> </wml2:defaultPointMetadata> <wml2:point> <wml2:MeasurementTVP> <wml2:value>21.7</wml2:value> </wml2:MeasurementTVP> </wml2:point> <wml2:point> <wml2:MeasurementTVP> <wml2:value>21.7</wml2:value> </wml2:MeasurementTVP> </wml2:point> <wml2:point> <wml2:MeasurementTVP> <wml2:value xsi:nil="true"/> <wml2:metadata> <wml2:TVPMeasurementMetadata> <wml2:nilReason xlink:href="http://www.opengis.net/def/nil/OGC/0/missing" xlink:title="missing"/> </wml2:TVPMeasurementMetadata> </wml2:metadata> </wml2:MeasurementTVP> </wml2:point> <wml2:point> <wml2:MeasurementTVP> <wml2:value>21.8</wml2:value> </wml2:MeasurementTVP> </wml2:point> <wml2:point> <wml2:MeasurementTVP> <wml2:value>22.0</wml2:value>

Copyright © 2012-2014 Open Geospatial Consortium

123

</wml2:MeasurementTVP> </wml2:point> <wml2:point> <wml2:MeasurementTVP> <wml2:value>22.6</wml2:value> </wml2:MeasurementTVP> </wml2:point> </wml2:MeasurementTimeseries> </om:result> </om:OM_Observation> </wml2:observationMember> </wml2:Collection>

Annex C Use cases and requirements (informative) C.1 Operational forecasting activity at hydrological forecasting service in support of flooding related emergencies Summary

Routine work at NMHSs in order to provide emergency agencies, decision makers and citizens with accurate assessment on hydrological hazards, observed or forecasted. This includes post-processing and visualization of observations and simulations results at designated forecast points addressing peak to flood, flood duration, flood extent.

Users/actors

Forecaster at operational Meteorological and Hydrological Services (NMHSs), emergency decision-makers, citizens.

Information types

In-situ observations at hydro stations (gages, reservoirs) and meteo stations; Forecast products (deterministic timeseries, ensembles) at forecast points, generated by simulations and statistical processing; Emergency agency-oriented alerts (of threshold exceedence) and reports.

Query types

For forecasters: Subscribe for data updates (including data quality or confidence) at known points (in-situ and forecast points) and incremental retrieval of spatio-temporal subset updates to be ingested for the forecasting process.

124

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4 Retrieve availability of spatio-temporal subsets, Discover product and service metadata, Retrieve spatio-temporal subsets (including time series) to be visualized. For emergency agencies: Subscribe to alerting service based on threshold exceedence. Retrieve data by geographic area, retrieve data for set of points, retrieve observations and forecast product (including confidence) to be visualized

C.2 Routine operational forecasting activity in support of infrastructure operation Summary

Routine work at NMHSs and infrastructure operators (reservoirs, water supply systems, polder systems) in order to exchange information on expected inflow (to reservoirs) or intakes (in water supply systems) and planned releases (of reservoirs) or discharges having an effect on downstream conditions.

Users/actors

Forecaster at operational Meteorological and Hydrological Services (NMHSs), infrastructure operators.

Information types

In-situ observations at hydro stations (gages, reservoirs) and meteo stations; Forecast products (deterministic timeseries, ensembles) at forecast points, generated by simulations and statistical processing; Time series of releases/discharge;

planned

intake

and

Operator-oriented alerts (of threshold exceedence) and report. Query types

For forecasters:

Copyright © 2012-2014 Open Geospatial Consortium

125

Subscribe for data updates (including data quality or confidence) at known points (in-situ, forecast points, infrastructure points) and incremental retrieval of spatio-temporal subset updates to be ingested for the forecasting process. Retrieve availability of spatio-temporal subsets, Discover product and service metadata, retrieve spatio-temporal subsets (including time series) to be visualized Subscribe to alerting service based on threshold exceedence. Retrieve data by geographic area, retrieve data for set of points, retrieve observations and forecast product (including confidence) to be visualized For operators: Subscribe for data updates (including data quality or confidence) at known points (in-situ, forecast points, infrastructure points) and incremental retrieval of spatio-temporal subset updates to be ingested for the operation planning process. Subscribe to alerting service based on threshold exceedence. Retrieve data by geographic area, retrieve data for set of points, retrieve observations and forecast product (including confidence) to be visualized.

C.3 Exchange of groundwater levels across international borders Summary

Exchange of groundwater levels in wells across the USCanada border to allow enhanced understanding of crossborder aquifer issues.

User communities/actors

USGS, NRCan (Natural Resources Canada), Interested party

Information types

Well locations (sampling features) and description Observations of water level within wells (dynamic and static/archival)

126

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4 Identify the process used in making the observation.

Query types

Retrieve all wells within a bounding box. Retrieve all level observations within a bounding box. Download observation data

C.4 Generic data exchange scenario between stakeholders Summary

User communities/actors

Generic exchange scenario describing the transfer of data from one stakeholder to another. Potential stakeholders: Public data consumer Professional data providers Community data providers Research data providers Research data users Water policy data users Mature data users with automated systems

Purpose of exchange

Forecast data delivery adhoc transfer of raw values adhoc transfer of aggregated values Archive synchronisation Incremental update Aggregated data / data product In order for correctly interpretable data to be exchanged, the exchange document must conform to the following requirements: Data content Data points in a transfer are considered to be chained, gaps in data should be clearly indicated. Total type data series need to have a anchor point before the first value A document may contain many parameters A document should describe how the contained data

Copyright © 2012-2014 Open Geospatial Consortium

127

set is connected to earlier data, if it is connected at all A document should contain data licensing text A document should describe the type of data contained Is it raw Is it data produced by some function A document should contain reference to a function that has been applied to the data A document should contain information about its creation Source system Creation data Source query parameters? A document should state the period for which the time series(s) contained apply A document should enable the removal of time series data in the destination system A document should enable the replacement of time series data in the destination system A document should enable the creation of time series data in the destination system A data chains period of application is the primary update key rather than the DT value of data points Document size A document should be able to transmit the full period of record for multiple parameters A document should be able to transmit a series fragment to be appended to an existing series A document should be able to transmit raw, as observed values A document should be able to transmit derived or modified values A document should be able to transmit multiple 128

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4 version of the same parameter, all uniquely identified Each version of the same parameter should have its own series description metadata

C.5 Retrieval for data by external users Summary

A data provider exposes services for consumption by outside users.

User communities/actors

CUAHSI

Information types

Observation Period of Record/Offering Site/Station location and description Timeseries observations of observed properties, such as Stream Discharge Identify the process used in making the observation, References to analytical sample information, if appropriate.

Query types

Discover stations for a specified observed property in a specified bounding box. Discover vocabularies and code lists for a data source/data provider. Retrieve observations for a specified observed property from a single station Retrieve all observations for a specified observed property for sites in a bounding box.

Copyright © 2012-2014 Open Geospatial Consortium

129

Annex D Relationships to other conceptual models (informative)

Annex D (Best practices in use of the observation and sampling models) of ISO19156 identifies the relationship between sampling observations that produce coverage results. [CSMLv3] also identifiers this relationship, extending the comparison to include Unidata netCDF Common Data Model and Climate Forecasts Point Observation Conventions. CSML categorises the core types as shown in Table 13. Table 13 - Climate Science Markup Language (CSML) spatialtemporal sampling categories

CSML Observation type

Observation ‘phenomenon time’

Observation ‘feature-ofinterest’

Description

Point

instant

sampling point

Single point Single raingauge measurement precipitation in time and measurement space

PointSeries

period

sampling point

Time-series of point measurements at a fixed location in space.

Time-series of daily raingauge precipitation measurements; river-flow timeseries

Profile

instant

sampling curve

Single instantaneous ‘profile’ of a property along a vertical line in space.

Expendable bathythermograph observation of seawater temperature

ProfileSeries

period

sampling curve

Time-series of Radar wind vertical profiler profiles at a measurement fixed horizontal location.

130

Example

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

Grid

instant

sampling solid

A gridded field Midnight at a single time atmospheric instant. surface pressure field analysed on a grid

GridSeries

period

sampling solid

An evolving gridded field at a succession of time instants

of Time-series three-dimensional oceanic velocity field from a finite-difference general circulation model

Trajectory

period

sampling curve

Property varying along a meandering curve in time and space.

Pollutant concentration from mobile air quality sensor

Section

period

sampling surface

Series of profiles topologically offset from a trajectory

Vertical profiles of water current measurements taken by an acoustic doppler current profiler towed along a ship’s track

Swath

instant

sampling surface

TwoAVHRR satellite dimensional imagery surface grid along a satellite ground path

ScanningRadar

period

sampling surface

Profiles along Weather radar a radar look direction rotating in azimuth at fixed elevation.

Copyright © 2012-2014 Open Geospatial Consortium

131

A WaterML2.0 TimeseriesObservation is consistent with the PointSeries CSML Observation type with one variation: the feature of interest in a WaterML2.0 TimeseriesObservation does not restrict the feature of interest property to be a sampling feature. This was not done as timeseries observations may have a domain-level feature of interest such as a river section, dam, lake etc. Often such observations will be an aggregation of multiple sampling feature observations.

132

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

Annex E Describing observed properties/phenomena (informative)

This profile does not define a list of observed phenomena for the hydrology domain. A number of existing initiatives exist that have started to harmonise on the potential set of hydrological observables. This set is most often dynamic, with new additions being required due to new sensing techniques or new properties being identified for measure (this is very typical in the water quality area). The observed phenomenon is specified through linking to a definition of the concept through an identifier (e.g. a URI). The identifier will link to a definition of the concept, preferably one maintained by a recognised standards group, such as WMO. ‘OGC 11-120 – Observable Property Specification’ is a draft submission to OGC describing a conceptual and XML implementation model for observed properties. This model has not been directly used in this standard, as it is work in progress; some initial background into its use is provided here for future consideration. <op:ComplexObservableProperty gml:id="daily_mean_water_temp"> <op:label>Daily mean water temperature</op:label> <op:basePhenomenon xlink:href="http://nwis.waterdata.usgs.gov/usa/nwis/pmcodes?pm_group=Physical& radio_pm_search=pm_search&pm_search=00010&casrn_search=&srsname_search=& format=html_table&show=parameter_group_nm&show=parameter_nm&show=casrn&show=srsname&show=parameter _units" xlink:title="Water temperature" /> <op:qualifier> <op:StatisticalQualifier gml:id="daily_mean"> <op:statisticalOperator xlink:href="http://www.uncertml.org/statistics/mean" /> <op:statisticalPeriod>P1D</op:statisticalPeriod> </op:StatisticalQualifier> </op:qualifier> </op:ComplexObservableProperty>

Code listing 1 - Example showing daily mean temperature <op:ComplexObservableProperty gml:id="daily_mean_water_temp_6ft"> <op:label>Daily mean water temperature - 6ft down</op:label> <op:basePhenomenon xlink:href="#daily_mean_water_temp" /> <op:constraint> <swe:Quantity definition="http://www.opengis.net/def/waterml/2.0/vertical_offset"> <swe:label>6ft depth</swe:label> <swe:uom xlink:href="ft" /> <swe:value>6</swe:value> </swe:Quantity> </op:constraint> </op:ComplexObservableProperty>

Code listing 2 - Example showing derived daily mean temperature

Copyright © 2012-2014 Open Geospatial Consortium

133

Annex F Use of SWE Common encoding (informative)

The use of the SWE Common 2.0 encoding techniques was investigated but given its tendency towards run-time definition of structure, the WaterML2 community decided to proceed with a traditional GML-XML style encoding to allow stricter definitions and re-use of XML tools. A SWE Common 2.0 profile will be investigated and continued, most likely through the SWE Common SWG. The group has been previously discussing setting up basic profiles in which common structures may be defined (such as timeseries). An example SWE data record structure is shown for informative purposes only. <swe:DataRecord> <!-- http://www.opengis.net/WaterML2.0/def/sweCommonProfile/ --> <swe:field name="waterML2_timeseries"> <swe:DataRecord> <swe:field name="period_of_record"> <swe:TimeRange definition="http://www.opengis.net/WaterML2.0/def/sweCommonProfile/period_of_record"> <swe:uom xlink:href="urn:ogc:def:unit:ISO:8601"/> </swe:TimeRange> </swe:field> <!-- other time series level metadata if needed... --> <swe:field name="series"> <swe:DataArray> <swe:elementCount> <swe:Count definition="http://www.opengis.net/WaterML2.0/def/sweCommonProfile/count"></swe:Count> </swe:elementCount> <swe:elementType name="point"> <swe:DataRecord> <!-- Time field --> <swe:field name="time"> <swe:Time definition="http://www.opengis.net/WaterML2.0/def/sweCommonProfile/time"> <gml:name>Time instant</gml:name> <swe:uom xlink:href="urn:ogc:def:unit:ISO:8601"/> </swe:Time> </swe:field> <!-- The value of the observed property --> <swe:field name="value"> <swe:Quantity definition="http://www.opengis.net/WaterML2.0/def/sweCommonProfile/value"> <gml:name>Value of observed property &#8212; observed property specified by O&M </gml:name> <!-- What to do here? --> <swe:uom xlink:href=""/> </swe:Quantity> </swe:field> <!-- The value of the uom property --> <swe:field name="uom"> <swe:Category definition="http://www.opengis.net/WaterML2.0/def/sweCommonProfile/uom">

134

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

<gml:name>Specifies the UCUM code</gml:name> <swe:codeSpace xlink:href="http://unitsofmeasure.org/"/> </swe:Category> </swe:field> <!-- The interpolation type of the time series --> <swe:field name="datatype"> <swe:Category definition="http://www.opengis.net/WaterML2.0/def/sweCommonProfile/datatype"> <gml:name>Specifies the data type of the time series</gml:name> <swe:codeSpace xlink:href="http://www.opengis.net/WaterML2.0/def/timeseriesType"/> </swe:Category> </swe:field> <!-- Free text comment field --> <swe:field name="comment"> <swe:Text definition="http://www.opengis.net/WaterML2.0/def/sweCommonProfile/comment"> <gml:name>Free text comment associated with a data point</gml:name> </swe:Text> </swe:field> <!-- Code list qualifier --> <swe:field name="qualifier"> <swe:Category> <gml:name>A qualifier code for the point</gml:name> <swe:codeSpace xlink:href="http://www.opengis.net/WaterML2.0/def/sweCommonProfile/qualifier"/> </swe:Category> </swe:field> </swe:DataRecord> </swe:elementType> </swe:DataArray> </swe:field> </swe:DataRecord> </swe:field> </swe:DataRecord>

Annex G - WMO monitoring type categories (informative) WMO _CommunityTopicCategoryCode 001 weather observations 002 Weather forecasts 003 meteorology 004 hydrology 005 climatology 006 landMeteorologyClimate 007 synopticMeteorology 008 marineMeteorology

Copyright © 2012-2014 Open Geospatial Consortium

135

009 agriculturalMeteorology 010 Aerology 011 marineAerology 012 oceanography 013 landHydrology 014 rocketSounding 015 Pollution 016 waterPollution 017 landWaterPollution 018 seaPollution 019 landPollution 020 airPollution 021 glaciology 022 actinometry 023 satelliteObservation 024 airplaneObservation 025 observationPlatform

136

Copyright © 2012-2014 Open Geospatial Consortium

OGC WaterML 2.0

OGC 10-126r4

Bibliography

[1]

Hydrology Domain Working Group Charter, OGC document 08-095r5, 26th April 2008 updated 2 September 2009

[2]

OGC Document 09-124r2 - Harmonising Standards for Water Observation Data Discussion Paper

[3]

WMO-168: Guide to Hydrological Practices, Fifth edition, 1994.

[4]

State Energy Conservation Office, http://www.energyeducation.tx.gov/renewables

[5]

WMO code list accessible 1/WMOCodeLists_ver1_1.pdf

[6]

OGC Document 08-078 - OWS-5 ER GSIP Schema Processing

[7]

WaterOneFlow service, accessible at: http://waterservices.usgs.gov/NWISQuery/GetDV1?SiteNum=09429000&ParameterCode= 00065&StatisticCode=00003&AgencyCode=&StartDate=2000-11-16&EndDate=2000-1215&action=Submit. Accessed 24/05/2010.

at:

http://wis.wmo.int/2008/metadata/draft_version_1-

Copyright © 2012-2014 Open Geospatial Consortium

137

Related documents

Record · ID 601205 · SHA-256 9e144e41ad2ff082
Conceptio Open Knowledge Archive — every document is proof-bundled with source, license, and retrieval metadata.