OGC 16-032r2 - WaterML 2.0 Part 4 Open Geospatial Consortium Submission Date: 2016-07-07 Approval Date: 2016-09-06 Publication Date: 2017-03-06 External identifier of this OGC ® document: http://www.opengis.net/doc/IS/gwml/2.2 URL for this OGC ® document: https://docs.ogc.org/is/16-032r2/16-032r2.html Please refer to the errata for this document, which may include some normative corrections. Additional Formats (informative): Internal reference number of this OGC ® document: 16-032r2 Version: 2.2 Category: OGC ® Implementation Standard Editors: Boyan Brodaric OGC WaterML 2: Part 4 – GroundWaterML 2 (GWML2) Copyright notice Copyright © 2016-2017 Open Geospatial Consortium To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . Warning 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: OGC Standard Document subtype: Document stage: Approved for Public Release Document language: English 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. i. Abstract This standard describes a conceptual and logical model for the exchange of groundwater data, as well as a GML/XML encoding with examples. ii. Keywords The following are keywords to be used by search engines and document catalogues. ogcdoc, OGC document, groundwater, hydrogeology, aquifer, water well, observation, well construction, groundwater flow, groundwater monitoring, UML, GML, GroundwaterML, GWML2. iii. Preface Motivation A significant portion of the global water supply can be attributed to groundwater resources. Effective management of such resources requires the collection, management and delivery of related data, but these are impeded by issues related to data availability, distribution, fragmentation, and heterogeneity: collected data are not all readily available and accessible, available data is distributed across many agencies in different sectors, often thematically fragmented, and similar types of data are diversely structured by the various data providers. This situation holds both within and between political entities, such as countries or states, impairing groundwater management across all jurisdictions. Groundwater data networks are an emerging solution to this problem as they couple data providers through a unified data delivery vehicle, thus reducing or eliminating distribution, fragmentation, and heterogeneity through the incorporation of standards for data access and data content. The relative maturity of OGC data access standards, such as the Web Feature Service (WFS) and Sensor Observation Service (SOS), combined with the rise of water data networks, have created a need for GroundWaterML2 (GWML2), a common groundwater data standard. Historical background Several activities have influenced the development of GWML2. GWML1: a GML application schema for groundwater data developed at Natural Resources Canada and used to exchange groundwater data within Canada, between Canada and the USA, and in some other international efforts (Boisvert & Brodaric, 2012). GWIE1: an interoperability experiment within the OGC HDWG, in which groundwater data was shared across the USA-Canada border (Brodaric & Booth, 2011). GW2IE: a second interoperability experiment within the OGC HDWG, that designed and tested a precursor of GroundWaterML2 (GWML2, version 2.1): a conceptual, logical, and encoding specification for the representation of core groundwater data (OGC, 2016). INSPIRE Data Specification on Geology – hydrogeology package : a conceptual model and GML application schema for hydrogeology (INSPIRE, 2013), with regulatory force in the European Union and for which GWML2 is expected to be an encoding candidate. BDLISA: the French Water Information System information models for water wells and hydrogeological features (BDLISA, 2013). The primary goal of this standard is to capture the semantics, schema, and encoding syntax of key groundwater data, to enable information systems to interoperate with such data. Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. The Open Geospatial Consortium shall not be held responsible for identifying any or all such patent rights. 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 standard set forth in this document, and to provide supporting documentation. iv. Submitting organizations The following organizations submitted this Document to the Open Geospatial Consortium (OGC): Geological Survey of Canada (GSC), Canada U.S. Geological Survey (USGS), United States of America Commonwealth Scientific and Industrial Research Organisation (CSIRO), Australia Bureau of Meteorology (BOM), Australia Federation University Australia (FedUni), Australia Bureau de Recherches Géologiques et Minières (BRGM), France Salzburg University (U Salzburg), Austria The following organizations contributed to the initiation or development of this standard: Geological Survey of Canada (GSC), Canada U.S. Geological Survey (USGS), United States of America Commonwealth Scientific and Industrial Research Organisation (CSIRO), Australia Federation University Australia (FedUni), Australia Bureau of Meteorology (BOM), Australia European Commission, Directorate General – Joint Research Centre (JRC), European Union Polish Association for Spatial Information Polish Geological Institute (PGI), Poland Geological Surveys of Germany (GSG), Germany Salzburg University (U Salzburg), Austria Bureau de Recherches Géologiques et Minières (BRGM), France British Geological Survey (BGS), U.K. International Groundwater Resources Assessment Centre (IGRAC), UNESCO v. Submitters All questions regarding this submission should be directed to the editor or the submitters: Name Affiliation OGC Member? Boyan Brodaric GSC Yes Eric Boisvert GSC Yes Francois Letourneau GSC Yes Jessica Lucido USGS Yes Bruce Simons CSIRO Yes Peter Dahlhaus FedUni Yes Sylvain Grellet BRGM Yes Laurence Chery BRGM Yes Alexander Kmoch U Salzburg Yes 1. Scope This document is an OGC® conceptual, logical and encoding standard for GWML2, which represents key groundwater data. GWML2 is implemented as an application schema of the Geography Markup Language (GML) version 3.2.1, and re-uses entities from other GML application schema, most notably the OGC Observations & Measurements standard and the OGC/IUGS GeoSciML 4.0 (OGC 16-008) standard. GWML2 version 2.2 (this document) updates version 2.1, which was developed by the GW2IE (OGC, 2016), by importing GeoSciML 4.0 instead of GeoSciML 3.2.0, and by using TimeseriesML (OGC 15-042r2) instead of OGC WaterML2.0 part 1 – Timeseries. GWML2 is designed to enable a variety of data exchange scenarios. These scenarios are captured by its five motivating use cases, including: a commercial use-case focused on drilling water wells with knowledge of aquifers, a policy use case concerned with the management of groundwater resources, an environmental use-case that considers the role of groundwater in natural eco-systems, a scientific use-case concerned with modeling groundwater systems, and a technologic use-case concerned with interoperability between diverse information systems and associated data formats. GWML2 is designed in three stages, each consisting of a schema that builds on the previous stages. The three schemas include: Conceptual (UML): a technology-neutral schema denoting the semantics of the domain, Logical (UML): a GML-specific schema that incorporates the OGC suite of standards, XML schema (XSD): a GML syntactical encoding of the logical schema. In addition, this standard describes general and XML-specific encoding requirements, general and XML-specific conformance tests, and XML encoding examples. The standard is designed for future extension into other non-XML encoding syntaxes, which would require each such encoding to describe the related schema, requirements and conformance classes, as well as provide examples. The GWML2 Logical and XML schemas are organized into 6 modular packages: GWML2-Main: core elements such as aquifers, their pores, and fluid bodies, GWML2-Constituent: the biologic, chemical, and material constituents of a fluid body, GWML2-Flow: groundwater flow within and between containers, GWML2-Well: water wells, springs, and monitoring sites, GWML2-WellConstruction: the components used to construct a well, GWML2-AquiferTest: the elements comprising an aquifer test (e.g. a pumping test). Altogether, the schemas and packages represent a machine-readable description of the key features associated with the groundwater domain, as well as their properties and relationships. This provides a semantics and syntax for the correct machine interpretation of the data, which promotes proper use of the data in further analysis. Existing systems can use GWML2 to ‘bridge’ between existing schema or systems, allowing consistency of the data to be maintained and enabling interoperability. 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 Specification Model. 2.1 XML implementation The XML implementation (encoding) of the conceptual and logical groundwater schemas is described using the XML Schema language and Schematron. Requirements for one standardization target type are considered: data instances. i.e. XML documents that encode groundwater data. As data producing applications should generate conformant data instances, the requirements and tests described in this standard effectively also apply to that target. Conformance with this standard shall be checked using all the relevant tests specified in Annex A (normative) of this document. 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). All requirements-classes and conformance-classes described in this document are owned by the standard(s) identified. 2.2 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 organization may define a controlled vocabulary for all observed phenomena, such as water quality parameters, that are to be exchanged between parties. Some of these definitions may be related by hierarchical relationships, such as specialization, or through other relationships such as equivalence. GroundWaterML2.0 does not define a set of vocabularies for groundwater data exchange in this version. It is envisaged that specific communities will develop local vocabularies for data exchange within the community. Future work within the Hydrology Domain Working Group could address standardized controlled vocabularies for the groundwater domain. Such vocabularies require a governance structure that allows changes to be made as definitions evolve, possibly using the OGC definition namespace ( http://www.opengis.net/def/gwml/2.2 ), 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). The following convention has been used throughout the document to identify attributes requiring controlled vocabularies: In the conceptual model, such attributes are typed with a name ending by “Type” (ex : PorosityType); and In the logical model this suffix becomes ‘TypeTerm’ (ex : PorosityTypeTerm). 2.3 Groundwater data Groundwater data conforming to this standard are encoded in GML-conformant XML documents, for this version of GWML2. It is anticipated that future versions or extensions will develop additional encodings such as JSON or RDF. The standard MIME-type and sub-type for GML data should be used to indicate the encoding choice as specified in MIME Media Types for GML , namely: application/gml+xml. Conformance with this standard shall be checked using all the relevant tests specified in Annex A (normative) of this document. The framework, concepts, and methodology for testing, and the criteria to be achieved to claim conformance are specified in the OGC Compliance Testing Policies and Procedures and the OGC Compliance Testing web site [1] . In order to conform to this OGC™ interface standard, a software implementation shall choose to implement: a) Any one of the conformance levels specified in Annex A (normative). All requirements-classes and conformance-classes described in this document are owned by the standard(s) identified. 3. References The following normative documents contain provisions that, through reference in this text, constitute provisions of this document. For dated references, subsequent amendments to, or revisions of, any of these publications do not apply. For undated references, the latest edition of the normative document referred to applies. OGC: OGC 15-043r3, Timeseries Profile of Observations and Measurements (2016) OGC: OGC 08-131r3, The Specification Model – A Standard for Modular Specification (2009) OGC: OGC 10-126r4, WaterML2.0 part 1 – Timeseries (2014) OGC: OGC 15-042r2, TimeseriesML 1.0 – XML Encoding of the Timeseries Profile of Observations and Measurements (2016) OGC: OGC 15-082, OGC GroundWaterML 2 – GW2IE Final Report (2016) OGC: OGC 16-008, OGC Geoscience Markup Language 4.0 (GeoSciML) (in publication) OGC: OGC 06-121r9, OGC Web Services Common Standard (2010) ISO / TC 211: ISO 19103:2005, Conceptual Schema Language (2005) ISO: ISO 8601:2004, Data elements and interchange formats – Information interchange – Representation of dates and times (2004) OGC: OGC 10-004r3, OGC Abstract Specification Topic 20 – Observations and Measurements (aka ISO 19156:2011) (2011) OGC: OGC 08-015r2, OGC Abstract Specification Topic 2 – Spatial Referencing by Coordinates (aka ISO 19111:2007) (2007) OGC: OGC 07-011, OGC Abstract Specification Topic 6 – Schema for Coverage geometry and functions (aka ISO 19123:2005) (2005) OGC: OGC 01-111, OGC Abstract Specification Topic 11 – Geographic information — Metadata (aka ISO 19115:2003) (2003) OGC: OGC 07-036, Geography Markup Language (aka ISO 19136:2007) (2007) OGC: OGC 10-004r1, Observations and Measurements v2.0 (also published as ISO/DIS 19156:2010, Geographic information — Observations and Measurements) (2010) OGC: OGC 10-025r1, Observations and Measurements - XML Implementation v2.0 (2011) OGC: OGC 08-094r1, SWE Common Data Model Encoding Standard v2.0 (2011) ISO/IEC: Schematron: ISO/IEC 19757-3:2006, Information technology — Document Schema Definition Languages (DSDL) — Part 3: Rule-based validation — Schematron (2006) (see http://standards.iso.org/ittf/PubliclyAvailableStandards/c040833_ISO_IEC_19757-3_2006(E).zip ) OGC: OGC 12-000, SensorML (2014) Schadow, G and McDonald, C.: Unified Code for Units of Measure (UCUM) – Version 1.8 (2009) OMG: Unified Modeling Language (UML). Version 2.3 (2010) W3C: Extensible Markup Language (XML) – Version 1.0 (Fourth Edition) (2006) W3C: XML Schema – Version 1.0 (Second Edition) (2004) 4. Terms and Definitions This document uses the terms defined in Sub-clause 5.3 of [OGC 06-121r8], which is based on the ISO/IEC Directives, Part 2, Rules for the structure and drafting of International Standards. In particular, the word “shall” (not “must”) is the verb form used to indicate a requirement to be strictly followed to conform to this standard. For the purposes of this document, the following additional terms and definitions apply. 4.1 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] 4.2 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] 4.3 element <XML> Basic information item of an XML document containing child elements, attributes and character data. NOTE: From the XML Information Set ― each XML document contains one or more elements, the boundaries of which are either delimited by start-tags and end-tags, or, for empty elements, by an empty-element tag. Each element has a type, identified by name, sometimes called its ‘generic identifier’ (GI), and may have a set of attribute specifications. Each attribute specification has a name and a value. [ISO 19136:2007] 4.4 feature Abstraction of a real-world phenomena. [ISO 19101:2002, definition 4.11] 4.5 GML application schema Application schema written in XML Schema in accordance with the rules specified in ISO 19136:2007. [ISO 19136:2007] 4.6 GML document XML document with a root element that is one of the elements AbstractFeature, Dictionary or TopoComplex, specified in the GML schema or any element of a substitution group of any of these elements. [ISO 19136:2007] 4.7 GML schema Schema components in the XML namespace ―http://www.opengis.net/gml/3.2‖ as specified in ISO 19136:2007. [ISO 19136:2007] 4.8 measurement Set of operations having the objective of determining the value of a quantity. [ISO/TS 19101-2:2008, definition 4.20] 4.9 observation Act of observing a property. NOTE: The goal of an observation may be to measure or otherwise determine the value of a property. [ISO 19156:2011 definition 4.10] 4.10 observation procedure Method, algorithm or instrument, or system which may be used in making an observation. [ISO19156, definition 4.11] 4.11 observation result Estimate of the value of a property determined through a known procedure. [ISO 19156:2011] 4.12 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. 4.13 sampled feature The real-world domain feature of interest, such as a groundwater body, aquifer, river, lake, or sea, which is observed. [ISO 19156:2011] 4.14 sampling feature Feature, such as a station, transect, section or specimen, which is involved in making observations of a domain feature. NOTE: A sampling feature is purely an artefact of the observational strategy, and has no significance independent of the observational campaign. [ISO 19156:2011, definition 4.16] 4.15 schema <XML Schema> XML document containing a collection of schema component definitions and declarations within the same target namespace. Example Schema components of W3C XML Schema are types, elements, attributes, groups, etc. NOTE: The W3C XML Schema provides an XML interchange format for schema information. A single schema document provides descriptions of components associated with a single XML namespace, but several documents may describe components in the same schema, i.e. the same target namespace. [ISO 19136:2007] 4.16 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.] 5. Conventions 5.1 Requirements class Each normative statement (requirement or recommendation) in this standard is a member of a requirements class. Each requirements class is described in a discrete clause or sub-clause, and summarized using the following template: Requirements class /req/{classM} Target type [artefact or technology type] Dependency [identifier for another requirements class] Requirement /req/{classM}/{reqN} Recommendation /req/{classM}/{recO} Requirement /req/{classM}/{reqP} Requirement /Recommendation [repeat as necessary] All requirements in a class must be satisfied. Hence, the requirements class is the unit of re-use and dependency, and the value of a dependency requirement is another requirements class. All requirements in a dependency must also be satisfied by a conforming implementation. A requirements class may consist only of dependencies and introduce no new requirements. 5.2 Requirement All requirements are normative, and each is presented with the following template: Requirement /req/[classM]/[reqN] [Normative statement] where /req/[classM]/[reqN] identifies the requirement or recommendation. The use of this layout convention allows the normative provisions of this standard to be easily located by implementers. 5.3 Conformance class Conformance to this standard is possible at a number of levels, specified by conformance classes (Annex A). Each conformance class is summarized using the following template: Conformance class /conf/{classM} Dependency [identifier for another conformance class] Requirements /req/{classA} Tests [reference to clause(s) containing tests] All tests in a class must be passed. Each conformance class tests conformance to a set of requirements packaged in a requirements class. W3C Schema (XSD) and ISO Schematron (SCH) files are considered as part of this standard, although available online only, due to concerns about document size. Many requirements are expressed in a single XSD or SCH file although tests are listed individually in the conformance annex (one test for XSD and one test for SCH). Schematron files explicitly specify which requirements are being tested in the title of the schematron pattern. <pattern id="origin_elevation"> <title>Test requirement: /req/well-xsd/origin-elevation</title> <rule context="gwml2w:GW_Well"> <assert test="count(gwml2w:gwWellReferenceElevation /gwml2w:Elevation[gwml2w:elevationType/ @xlink:href=’http://www.opengis.net/ req/well/origin_elevation’]) = 1">A GW_Well needs at least one origin Elevation</assert> </rule> </pattern> 5.4 Identifiers Each requirements class, requirement and recommendation is identified by a URI. The identifier supports cross-referencing of class membership, dependencies, and links from each conformance test to the requirements tested. In this standard, identifiers are expressed as partial URIs or paths, which can be appended to a base URI that identifies the specification as a whole in order to construct a complete URI for identification in an external context. The URI for each requirements class has the form: http://www.opengis.net/spec/groundwaterml/2.2 /req/[classM] . The URI for each requirement or recommendation has the form: http://www.opengis.net/spec/groundwaterml/2.2 /req/[classM]/[reqN] . The URI for each conformance class has the form: http://www.opengis.net/spec/groundwaterml/2.2 /conf/[classM] . The URI for each conformance test has the form: http://www.opengis.net/spec/groundwaterml/2.2 /conf/[classM]/[testN] . 5.5 External package abbreviations Concepts from schemas defined in some other International Standards are designated with names that start with alpha codes as follow: GF ISO 19109:2005 General Feature Model GFI ISO 19156:2011 General Feature Model Instances TM ISO 19108:2002 Temporal Schema, Temporal Objects MD ISO 19115 Metadata CV ISO 19123:2005 Schema for Coverage Geometry and Functions OM ISO 19156:2011 Observations and Measurements DQ ISO 19157:201X Data Quality WML2 OGC® WaterML 2.0: Part 1- Timeseries GW GroundwaterML 2.0 TS TimeseriesML 5.6 Abbreviated terms In this document the following abbreviations and acronyms are used or introduced: API Application Program Interface GeoSciML 3.2 GeoScience Mark-up Language version 3.2 GeoSciML 4.0 GeoScience Mark-up Language version 4.0 GML OGC Geography Mark-up Language GWML1 Groundater Markup Language version 1.0 (Natural Resources Canada) GWML2 Groundwater Markup Language version 2.0 (this standard) GWML2-Main UML Logical Model of the primary GroundWaterML2 elements (namespace http://www.opengis.net/gwml-main/2.2) GWML2-Flow UML Logical Model of the elements required to capture groundwater flow (namespace http://www.opengis.net/gwml-flow/2.2) GWML2-Constituent UML Logical Model of the groundwater fluid body constituents and their relationships (namespace http://www.opengis.net/gwml-constituent/2.2) GWML2-Well UML Logical Model of the features and properties associated with water well (namespace http://www.opengis.net/gwml-well/2.2) GWML2-WellConstruction UML Logical Model of the well drilling and construction details (namespace http://www.opengis.net/gwml-wellconstruction/2.2 ) GWML2-AquiferTest UML Logical Model of the features and properties associated with aquifer test (namespace http://www.opengis.net/gwml-aquifertest/2.2) INSPIRE Infrastructure for Spatial Information in the European Community (Directive 2007/2/EC) ISO International Organization for Standardization IUGS International Union of Geological Sciences NACSN North American Commission on Stratigraphic Nomenclature NADM North American geological Data Model OGC Open Geospatial Consortium O&M OGC Observations and Measurements Conceptual Model OMXML Observations and Measurements XML Implementation SensorML Sensor Model Language SOS Sensor Observation Service SWE Sensor Web Enablement TSML TimeseriesML UML Unified Modeling Language UTC Coordinated Universal Time URI Universal Resource Identifier URL Universal Resource Locator WML2 WaterML 2.0 – Part 1 XML Extensible Markup Language XSD W3C XML Schema Definition Language 5.7 UML notation The diagrams that appear in this standard, including the GWML2 Conceptual and Logical schemas, are presented using the Unified Modeling Language (UML), in compliance with ISO/IEC 19505-2. Note: Within the GWML2 conceptual and logical diagrams, the following color scheme is used to identify packages in some cases. This is just for information purposes. Amber: GWML2 defined within this standard Green and Purple: from GeoSciML 4.0 Blue: from O&M 5.8 Finding requirements and recommendations This standard is identified as http://www.opengis.net/spec/groundwaterml/2.2 . 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 standard 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, 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. 6. Background 6.1 Technical Basis This standard builds on a number of standards for encoding XML data, including: OMXML (OGC 10-025r1) sweCommon (OGC 08-094r1) GML ISO 19136:2007 (OGC 07-036) ISO 19139 (Metadata) W3C XSD This standard also builds on existing schema, primarily Observations & Measurements (OMXML) and GeoSciML 4.0 (OGC 16-008). It accomplishes this by (a) extending these schemas with groundwater specializations, (b) referring to a class in these schema in order to type a named property, or (c) using a class from the schemas as one of the two participants in a binary relationship. 6.2 Overview of Observations & Measurements ISO19156 – Observations and Measurements is a generic GML schema for observations. As shown in Figure 1, 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.” 6.2.1 Sampling features Sampling features in O&M are defined as a “ feature, such as a station, transect, section or specimen, which is involved in making observations concerning a domain feature. ” Sampling features in the groundwater domain are features along which, or upon, observations are made. The most relevant are water wells and boreholes, which effectively host observations along staged intervals; a collection of these intervals and their observations constitutes a log. Figure : Observation in O&M (from ISO 19156). 6.3 Overview of GeoSciML 4.0 GeoSciML 4.0 is a GML schema for core geological entities including geological units, structures, and earth materials. It is particularly relevant to GWML2 because bodies of rock serve as containers for subsurface water bodies. Such rock bodies possess variable hydrogeologic properties according to their material composition and topological organization. Thus, geological units and earth materials are the key GeoSciML 4.0 entities required by GWML2. GeoSciML 4.0 defines a geological unit as “ a body of material in the Earth whose complete and precise extent is inferred to exist (NADM GeologicUnit, Stratigraphic unit in sense of NACSN or International Stratigraphic Code), or a classifier used to characterize parts of the Earth (e.g. lithologic map unit like ‘granitic rock’ or ‘alluvial deposit’, surficial units like ‘till’ or ‘old alluvium’). ” GeoSciML 4.0 defines an earth material as “ naturally occurring substance in the Earth ” and intuitively refers to various types of rocks such as sandstone, granite, and gneiss. 7. Conceptual Model The GWML2 conceptual model is designed to be technology-neutral, and focused on the semantics of the groundwater domain. It consists of five components, as well as related properties and other entities: hydrogeological units, fluid bodies, voids, fluid flow, and wells. Conceptually, these entities form a simple template for a subsurface water container: the fluid container (a unit or its materials), the fluid itself (fluid body), the spaces in the container occupied by the fluid (void), the flow of fluid within and between containers and their spaces (flow), and the natural and artificial artifacts used to withdraw, inject, or monitor fluid with respect to a container (wells, springs, monitoring sites). Well construction details are excluded from the conceptual model, but are included in the logical model for two reasons: (1) thematic, inasmuch as well construction was considered on the periphery of groundwater science, but important to resource management as well as important to significant data exchange scenarios, and (2) practical, as it is sufficiently modeled in GWML1 and could thus be directly imported with few changes. This eliminates the need for its re-conceptualization in the GWML2 conceptual model, keeping it tightly focused. 7.1 Hydrogeological Units These are distinct volumes of earth material that serve as containers for subsurface fluids. The boundaries of a unit are typically discriminated from those of another unit using properties related to the potential or actual ability to contain or move water. The properties can be geological or hydraulic, and typically include influences from the surrounding hydrological environment. More specifically, the conceptual model delineates two types of hydrogeological units, with slightly different orientations: aquifer-related units have boundaries delimited by the hydrogeological properties of the rock body, while groundwater basins have boundaries delimited by distinct flow regimes. Aquifer-related units are subdivided into aquifer systems, which are collections of aquifers, confining beds, and other aquifer systems. Confining beds are units that impede water flow to surrounding units, and supersede notions such as aquitards, aquicludes, and aquifuges, which are not included herein, as it is difficult to differentiate these in practice. Several significant properties are typically attributed to hydrogeological units, such as porosity, permeability, and conductivity, but these and others are modeled more accurately here as occurring necessarily concurrent with (dependent on) voids or fluid bodies. For example, porosity, in its various forms, requires both the presence of a unit (container) and its voids, as it is typically defined as the proportion of void volume to total unit volume (i.e. volume of solid material plus voids). Likewise, properties such as hydraulic conductivity and yield require the presence of units and fluid bodies, as they are concerned with the rate of movement of a fluid through a unit. Note that permeability and hydraulic conductivity are differentiated here: permeability refers to intrinsic permeability, which measures the ability of a unit to host fluid flow, independent of fluid properties and based solely on the connectivity and size of voids, whereas hydraulic conductivity additionally considers fluid properties. Likewise, management areas are also relational entities in the sense that they are typically necessarily linked with a unit (or system) and possibly a fluid body. Management areas are earth bodies identified for groundwater management purposes and their boundaries can be delineated by social factors, such as policy or regulation, in addition to physical factors related to hydrogeology or hydrology. 7.2 Fluid Bodies These are distinct bodies of fluid (liquid or gas) that fill the voids in hydrogeological units. Fluid bodies are made of biologic (e.g. organisms), chemical (e.g. solutes), or material constituents (e.g. sediment). While it is expected that the major constituent of a fluid body will be water, the conceptual model allows for other types of major constituents such as petroleum. Minor constituents are not necessarily fluids, but can be gases, liquids, or solids (including organisms), and are included in the fluid body in various forms of mixture, such as solution, suspension, emulsion, and precipitates. Fluid bodies can also have other fluid bodies as parts, such as plumes or gas bubbles. Surfaces can be identified on a fluid body, such as a water table, piezometric or potentiometric surface, and some such surfaces can contain divides, which are lines projected to the fluid surface denoting divergence in the direction of flow systems within the fluid. 7.3 Voids Voids are the spaces inside a unit (e.g. aquifer) or its material (e.g. the sandstone material of an aquifer), and might contain fluid bodies. Voids are differentiated from porosity, in that porosity is a ratio of void volume to total volume of unit plus voids, while voids are the spaces themselves. It is important to conceptually differentiate voids from units and their containers, in order to represent, for example, the volume of fractures, caves, or pores in a particular unit or its portion. 7.4 Flow Groundwater flow denotes the process by which a fluid enters or exits a container (unit) or its voids, or flows within them. Flow between one container or void and another is named InterFlow , and flow within a container or void is named IntraFlow . Recharge is the flow into a groundwater container or void, and discharge is flow out of a groundwater container or void. The reciprocal source or destination entity can be any appropriate container or void such as a river, lake, pipe, reservoir, canyon, flood plain, ground surface, etc. A flow system is then a collection of flows ordered in a sequence from recharge to discharge, such that the flow segments of the system make up a connected flow path from source to destination. A water budget is a measure of the balance of recharge and discharge valid for a specific time and relative to a specific groundwater feature, such as a basin, aquifer, management area, or well. Many of these concepts are depicted in Figure 2. Shown is a flow system (A+B) and two subsystems (A, B) that are its parts. Each subsystem is composed of interior flows, indicated by the solid lines with arrows, as well as input and output flows indicated as recharge and discharge, respectively. These flow systems are contained by three distinct hydrogeologic unit bodies, with the middle body oriented at an angle and having a K (hydraulic conductivity) value of 10 -5 . Intraflow is exemplified by a flow line within the right hydrogeologic unit body, while Interflow is exemplified by the flow from right body (the source container) to middle body (the destination container). The boundary between the bodies serves as the interface through which the flow occurs. While not shown, the three hydrogeologic unit bodies contain a groundwater body (i.e. a fluid body) in their pores (i.e. voids), and it is this groundwater body that is flowing. Figure : Example flow system with two subsystems (after Freeze & Cherry, 1979, p. 204). 7.5 Wells Well-related entities include water wells, springs, and monitoring sites. Water wells are man-made constructions for monitoring, withdrawing, or injecting water from/into a hydrogeological unit, while springs are features where water discharges to the surface naturally. Both wells and springs possess important links to the hydrogeological environment, including their host units and materials, as well as the intersecting fluid body. Monitoring sites are locations where devices are placed to measure various properties of significance to hydrogeology, such as water level, flow rate, water temperature, or chemical composition, or to take samples. As such, monitoring sites are roles played by other features, for example, water wells or springs. 7.6 Conceptual Model Specification Figure : GWML2 CM - Hydrogeological Unit. Figure : GWML2 CM - Groundwater Properties. Figure : GWML2 CM - Fluid Body. Figure : GWML2 CM - Groundwater Flow. Figure : GWML2 CM - Wells. 7.6.1 DocumentCitation The class DocumentCitation is abstract, and has no attributes, operations or associations. It serves as a placeholder for legislative and reference documentation for a management area. Legislative documentation refers to the legal instrument or document that required the establishment of the management area. Reference documentation might describe the environmental objectives and measures that are to be undertaken in the management area to protect the environment (a reference to a management or action plan), licensing information, and associated maps. The ‘Legislation References’ and ‘DocumentCitation’ classes from the INSPIRE Generic Conceptual Model are possible candidates for DocumentCitation. Relation Source Target Description Association Entity: GW_ManagementArea Role: Entity: DocumentCitation Role: documentation Relates legislative and reference documentation to a management area. 7.6.2 Elevation Elevation of a feature in reference to a datum. Attribute Type and Multiplicity Definition elevation Geometry Numeric value and coordinate reference system (CRS), including the unit of measure (UoM) for the elevation. elevationAccuracy PositionalAccuracyType Description of the accuracy of the elevation measurement. elevationMeasurementMethod ElevationMeasurementMethodType Method used to measure the elevation, e.g. GPS, Survey, DEM, etc. elevationType elevationTypeTerm Type of reference elevation, defined as a feature, e.g. Top of Casing, Ground, etc. 7.6.3 GL_EarthMaterial From GeoSciML 4.0: Earth materials are substances, e.g. sandstone or granite, that constitute physical bodies, e.g. hydrogeological units. This class enables various hydrogeological properties to be attributed to a specific occurrence of a material, e.g. the sandstone of a specific aquifer. Attribute Type and Multiplicity Definition gwVoidProperty GW_UnitVoidProperty The porosity or permeability of a particular earth material that hosts a void. gwFluidProperty GW_UnitFluidProperty The hydraulic conductivity, transmissivity, or storativity of an earth material. 7.6.4 GL_GeologicUnit From GeoSciML 4.0: Conceptually, may represent a body of material in the Earth whose complete and precise extent is inferred to exist (NADM GeologicUnit, Stratigraphic unit in sense of NACSN or International Stratigraphic Code), or a classifier used to characterize parts of the Earth (e.g. lithologic map unit like ‘granitic rock’ or ‘alluvial deposit’, surficial units like ‘till’ or ‘old alluvium’). Attribute Type and Multiplicity Definition gwUnitDescription char [1..*] Description of the unit. gwUnitMetadata GW_Metadata [1..*] Metadata for the unit . gwUnitName char [1..*] Name of the unit (common local name or formal name). gwUnitShape Geometry The geometry of the unit. gwUnitThickness Measurement Typical thickness of the unit. Relation Source Target Description Generalization Entity: GW_HydrogeoUnit Role: Entity: GL_GeologicUnit Role: A hydrogeological unit is a type of geological unit. 7.6.5 GW_Aquifer A body of earth material that contains / potentially contains / potentially contained sufficient saturated permeable material to yield significant quantities of water to wells and springs (after Lohman, 1972). Attribute Type and Multiplicity Definition gwAquiferType AquiferType Several aquifer types can be distinguished: unconfined, confined, artesian, subartesian, or aquitard (after INSPIRE, 2013). gwAquiferIsExploited boolean Denotes whether groundwater from the hydrogeological unit is being exploited by wells or other intakes (after INSPIRE, 2013). gwAquiferIsMain boolean Denotes whether the unit is primary in an Aquifer System (after INSPIRE, 2013). Relation Source Target Description Association Entity: GW_Aquifer Role: gwConfinedAquifer Entity: GW_ConfiningBed Role: gwConfiningBed Relates an aquifer and its confining beds. Generalization Entity: GW_Aquifer Role: Entity: GW_AquiferUnit Role: An aquifer is a type of aquifer-related unit. 7.6.6 GW_AquiferSystem Aquifer system - a body of permeable and poorly permeable material that functions regionally as a water-yielding unit; it comprises two or more permeable beds separated at least locally by confining beds that impede groundwater movement but do not greatly affect the regional hydraulic continuity of the system; includes both saturated and unsaturated parts of permeable material (after ASCE, 1987). Attribute Type and Multiplicity Definition gwAquiferSystemIsLayered boolean True if this aquifer / system is a layered system. (after INSPIRE, 2013). Relation Source Target Description Generalization Entity: GW_AquiferSystem Role: Entity: GW_AquiferUnit Role: An aquifer system is a type of aquifer-related unit. Association Entity: GW_AquiferSystem Role: gwAquiferSystem Entity: GW_AquiferUnit Role: gwAquiferSystemPart Relates an aquifer system with its parts, which can be other systems, aquifers or confining beds. 7.6.7 GW_AquiferUnit Denotes aquifer-related hydrogeological units: aquifer systems, aquifers, or confining beds. Relation Source Target Description Generalization Entity: GW_AquiferUnit Role: Entity: GW_HydrogeoUnit Role: An aquifer unit is a type of hydrogeological unit. Generalization Entity: GW_AquiferSystem Role: Entity: GW_AquiferUnit Role: An aquifer system is a type of aquifer-related unit. Association Entity: GW_AquiferSystem Role: gwAquiferSystem Entity: GW_AquiferUnit Role: gwAquiferSystemPart Relates an aquifer system with its parts, which can be other systems, aquifers or confining beds. Generalization Entity: GW_ConfiningBed Role: Entity: GW_AquiferUnit Role: A confining bed is a type of aquifer-related unit. Generalization Entity: GW_Aquifer Role: Entity: GW_AquiferUnit Role: An aquifer is a type of aquifer-related unit. 7.6.8 GW_Basin A large hydrogeologically defined body of ground typically consisting of hydraulically connected hydrogeological units, whose waters are flowing to a common or multiple outlets, and which is delimited by a groundwater divide. Attribute Type and Multiplicity Definition gwDivide GW_Divide [1..*] “Line on a water table or piezometric surface on either side of which the groundwater flow diverges" (IGH0556). Relation Source Target Description Generalization Entity: GW_Basin Role: Entity: GW_HydrogeoUnit Role: A basin is a type of hydrogeological unit. Aggregation Entity: GW_Basin Role: Entity: GW_HydrogeoUnit Role: gwBasinUnit Relates hydrogeological units and the basins that contain them, in full or part. 7.6.9 GW_BiologicConstituent Characterisation of the biological composition of the fluid body, both natural and man-made. Attribute Type and Multiplicity Definition gwOrganism OrganismType Biological species. gwState StateType solid Organisms are always solids. Relation Source Target Description Generalization Entity: GW_BiologicConstituent Role: Entity: GW_Constituent Role: A biologic constituent is a type of fluid body constituent. There are 3 types of fluid body constituents: chemical (e.g. arsenic), biologic (e.g. organisms), and material (e.g. sediment). 7.6.10 GW_ChemicalConstituent Characterisation of the chemical composition of the fluid body, both natural and man-made. Attribute Type and Multiplicity Definition gwChemical ChemicalType Chemical component type, e.g. arsenic. Relation Source Target Description Generalization Entity: GW_ChemicalConstituent Role: Entity: GW_Constituent Role: A chemical constituent is a type of fluid body constituent. The 3 types of fluid body constituent are: chemical (e.g. arsenic), biologic ( e.g. organisms), and material (e.g. sediment). 7.6.11 GW_ConfiningBed A layer of rock having very low porosity and in consequence hydraulic conductivity that hampers the movement of water into and out of an aquifer (Heath, 1983). Attribute Type and Multiplicity Definition gwSpatialConfinement SpatialConfinementType Degree of spatial confinement (typically: "Unconfined-Confined", "Partially Confined"). gwConductivityConfinement ConductivityConfinementType Degree of hydraulic confinement (e.g. aquiclude). Relation Source Target Description Association Entity: GW_Aquifer Role: gwConfinedAquifer Entity: GW_ConfiningBed Role: gwConfiningBed Relates an aquifer and its confining beds. Generalization Entity: GW_ConfiningBed Role: Entity: GW_AquiferUnit Role: A confining bed is a type of aquifer-related unit. 7.6.12 GW_Constituent General (abstract) entity denoting a material, chemical or biological constituent of a fluid body. Attribute Type and Multiplicity Definition gwConcentration Measurement The concentration of the constituent in the fluid body. gwState StateType The physical state of the constituent, i.e. solid, liquid, or gas. Relation Source Target Description Association Entity: GW_FluidBody Role: Entity: GW_Constituent Role: gwBackgroundConstituent Relates a fluid body to typical background constituent values for that body. AssociationClass Entity: GW_Constituent Role: gwConstituent Entity: GW_Constituent Role: gwConstitutedOf A general binary relation between constituents, in which the relation type can be specified in addition to the causal mechanism that caused the relationship. Generalization Entity: GW_BiologicConstituent Role: Entity: GW_Constituent Role: A biologic constituent is a type of fluid body constituent. There are 3 types of fluid body constituents: chemical (e.g. arsenic), biologic (e.g. organisms), and material (e.g. sediment). Generalization Entity: GW_ChemicalConstituent Role: Entity: GW_Constituent Role: A chemical constituent is a type of fluid body constituent. There are 3 types of fluid body constituents: chemical (e.g. arsenic), biologic (e.g. organisms), and material (e.g. sediment). Generalization Entity: GW_MaterialConstituent Role: Entity: GW_Constituent Role: A material constituent is a type of fluid body constituent. There are 3 types of fluid body constituents: chemical (e.g. arsenic), biologic (e.g. organisms), and material (e.g. sediment). AssociationClass Entity: GW_FluidBody Role: Entity: GW_Constituent Role: gwBodyConstituent Relates a fluid body to its chemical, biologic, or material constituents, and specifies the nature of the mixture of the constituent within the body, e.g. solution, suspension. 7.6.13 GW_ConstituentRelation Relation between fluid body components, typically caused by a specific mechanism, e.g. coating (from adsorption), constitution (from chemical bonding forming a new material), aggregation (from physical bonding, e.g. pressure), containment (from absorption, digestion). Attribute Type and Multiplicity Definition gwConstituentRelationType ConstituentRelationType Specific type of relation between fluid body components, e.g. coating, constitution, aggregation, containment. gwConstitutionRelationMechanism MechanismType Mechanisms by which materials (of various states) come into a relationship, e.g. sorption, precipitation, digestion, excretion, etc. 7.6.14 GW_Discharge An outflow of fluid from a container such as an aquifer, watershed, pipe. Relation Source Target Description Generalization Entity: GW_Discharge Role: Entity: GW_InterFlow Role: Discharge is a type of interflow in which fluid exits a feature. 7.6.15 GW_Divide “A line on a water table or piezometric surface, on either side of which the groundwater flow diverges" (IGH0556). Attribute Type and Multiplicity Definition gwDivideShape Geometry Shape / position of the divide (line, plane or point) intersecting a fluid body surface. gwDivideFlow GW_FlowSystem [2..*] Flow system on each side of the divide. Relation Source Target Description Association Entity: GW_Divide Role: gwSurfaceDivide Entity: GW_FluidBodySurface Role: gwDivideSurface Relates a fluid body surface to a line on e.g. a water table or piezometric surface, on either side of which the groundwater flow diverges. 7.6.16 GW_Flow Process by which the fluid enters or exits a hydrogeological unit or a void, or flows within a unit or a void. Can flow from/to other natural or man-made features such as rivers, filtration stations, etc. Attribute Type and Multiplicity Definition gwFlowProcess WaterFlowProcess The process causing the flow, e.g. evapotranspiration, evaporation, transpiration, runoff, baseflow, pumping, infiltration, injection, etc. gwFlowTime TemporalType Refers to the duration, instant or interval of the flow (actual time, not observation time). E.g. "yearly", "summer", "2009" or "2009-2011". gwFlowVelocity Measurement Measure of length traveled per time period. gwFlowVolumeRate Measurement Measure of water quantity per time period. gwFlowPersistence FlowPersistenceType The regularity of flow occurrence, e.g. ephemeral, intermittent, perennial, seasonal. After http://inspire.ec.europa.eu/codeList/WaterPersistenceValue/ (INSPIRE, 2013). Relation Source Target Description Generalization Entity: GW_InterFlow Role: Entity: GW_Flow Role: An interflow is a type of directed flow between two features, e.g. flow between two units. Generalization Entity: GW_IntraFlow Role: Entity: GW_Flow Role: An intraflow is a type of flow within a single feature, e.g. flow within a unit. Aggregation Entity: GW_FlowSystem Role: Entity: GW_Flow Role: gwFlow Relates a flow system to the individual flows that comprise the system. Flows are atomic entities that cannot have parts, but which form parts of flow systems. 7.6.17 GW_FlowSystem Flow path from recharge to discharge location, through hydrogeological units. It is related to a fluid body, and consists of a collection or aggregation of at least two specific flows, as well as possibly other flow systems. Attribute Type and Multiplicity Definition gwFlowPath Geometry [1..*] The path of flow of a fluid through a container. Relation Source Target Description Association Entity: GW_FlowSystem Role: gwFlowSystemPart Entity: GW_FlowSystem Role: gwPartOfSystemFlow Relates a flow system part to a flow system whole. Aggregation Entity: GW_FlowSystem Role: Entity: GW_Flow Role: gwFlow Relates a flow system to the individual flows that comprise the system. Flows are atomic entities that cannot have parts, but which form parts of flow systems. 7.6.18 GW_FluidBody A distinct body of some fluid (liquid, gas) that fills the voids of a container such as an aquifer, system of aquifers, water well, etc. In hydrogeology this body is usually constituted by groundwater, but the model allows for other types of fillers e.g. petroleum. Attribute Type and Multiplicity Definition gwBodyDescription char [1..*] General description of the fluid body gwBodyFlow GW_Flow [1..*] Flows associated with the fluid body. gwBodyMetadata GW_Metadata [1..*] Metadata about the fluid body. gwBodyQuality BodyQualityType [1..*] Categorical assessment of quality of the fluid body as a whole: e.g. saline, brackish, fresh, turbide, sulfurous, mixed, ... 1000-3000mg/l tds, etc. A normative quality description is an assesment based upon some guideline edited by a government or a quality standard. gwBodyShape Geometry Shape and position of the fluid body. gwBodyVolume Measurement Description of the volume/quantity of a fluid present in a container at a certain time. gwBodyVulnerability GW_Vulnerability [0..*] The susceptibility of the fluid body to specific threats such as surface contamination, etc. Relation Source Target Description Association Entity: GW_HydrogeoVoid Role: gwFluidBodyVoid Entity: GW_FluidBody Role: gwVoidFluidBody Relates a void and a fluid body contained by the void. Each void contains at most one fluid body, which can have multiple parts that could be disconnected. Likewise, each fluid body is contained by a single void, which could be an aggregation of disconnected void parts. Association Entity: GW_ManagementArea Role: Entity: GW_FluidBody Role: gwAreaBody Relates a management area to the fluid bodies contained within the area. As with units, the spatial boundaries of management areas do not necessarily coincide with the spatial boundaries of fluid bodies. Association Entity: GW_FluidBodySurface Role: gwBodySurface Entity: GW_FluidBody Role: gwSurfaceBody Relates a fluid body to a surface hosted by the body, e.g. the top of the water table. Aggregation Entity: GW_FluidBody Role: gwPartOfBody Entity: GW_FluidBody Role: gwBodyPartOf Relates a fluid body part to a fluid body whole. AssociationClass Entity: GW_HydrogeoUnit Role: gwFluidBodyUnit Entity: GW_FluidBody Role: gwUnitFluidBody Relates hydrogeological units and the fluid bodies contained by the units. Association Entity: GW_FluidBody Role: Entity: GW_FluidBodyProperty Role: gwBodyProperty Relates a fluid body to additional properties such as age, temperature, density, viscosity, turbidity, color, hardness, acidity, etc. Association Entity: GW_FluidBody Role: Entity: GW_Constituent Role: gwBackgroundConstituent Relates a fluid body to typical background constituent values for that body. AssociationClass Entity: GW_FluidBody Role: Entity: GW_Constituent Role: gwBodyConstituent Relates a fluid body to its chemical, biologic, or material constituents, and specifies the nature of the mixture of the constituent within the body, e.g. solution, suspension. 7.6.19 GW_FluidBodyProperty Additional properties that characterize a fluid body. Can include synoptic values for the whole body or location-specific observations such as age, temperature, density, viscosity, turbidity, color, hardness, acidity, etc. Attribute Type and Multiplicity Definition gwBodyProperty gwBodyPropertyType Type of fluid body property, e.g. age, temperature, density, viscosity, turbidity, color, hardness, acidity, etc. gwBodyPropertyValue Measurement Value of the fluid body property (with uom). Relation Source Target Description Association Entity: GW_FluidBody Role: Entity: GW_FluidBodyProperty Role: gwBodyProperty Relates a fluid body to additional properties such as age, temperature, density, viscosity, turbidity, color, hardness, acidity, etc. 7.6.20 GW_FluidBodySurface A surface on a fluid body within a local or regional area, e.g. piezometric, potentiometric, water table, salt wedge, etc. Attribute Type and Multiplicity Definition gwSurfaceShape Surface Geometry / position of the surface. gwSurfaceType SurfaceType Type of fluid body surface, e.g. piezometric, potentiometric, water table, salt wedge, etc. gwSurfaceMetadata ObservationMetadata Date, time, method, etc., of the observation or calculation of the surface. Relation Source Target Description Association Entity: GW_Divide Role: gwSurfaceDivide Entity: GW_FluidBodySurface Role: gwDivideSurface Relates a fluid body surface to a line on e.g. a water table or piezometric surface, on either side of which the groundwater flow diverges. Association Entity: GW_FluidBodySurface Role: gwBodySurface Entity: GW_FluidBody Role: gwSurfaceBody Relates a fluid body to a surface hosted by the body, e.g. the top of the water table. 7.6.21 GW_HydrogeoUnit Any soil or rock unit or zone that by virtue of its hydraulic properties has a distinct influence on the storage or movement of groundwater (after ANS, 1980). Attribute Type and Multiplicity Definition gwUnitMedia PorosityType Type of material or, by proximity, type of voids (e.g. granular, fracture, karstic, or mixed). gwUnitRecharge GW_Recharge [1..*] Volumetric flow rate of water that enters an hydrogeologic unit, at potentially multiple locations. gwUnitDischarge GW_Discharge [1..*] Volumetric flow rate of water that goes out of an hydrogeologic unit, at potentially multiple locations. gwUnitWaterBudget GW_WaterBudget Sum of water input and output of a hydrogeologic unit, at a particular point in time, with a description of inflows and outflows. gwUnitVulnerability GW_Vulnerability [0..*] The susceptibility of the aquifer to specific threats such as various physical events (earthquakes), human processes (depletion), etc. Relation Source Target Description Generalization Entity: GW_Basin Role: Entity: GW_HydrogeoUnit Role: A basin is a type of hydrogeological unit. Generalization Entity: GW_AquiferUnit Role: Entity: GW_HydrogeoUnit Role: An aquifer unit is a type of hydrogeological unit. Generalization Entity: GW_HydrogeoUnit Role: Entity: GL_GeologicUnit Role: A hydrogeological unit is a type of geological unit. AssociationClass Entity: GW_HydrogeoUnit Role: gwVoidUnit Entity: GW_HydrogeoVoid Role: gwUnitVoid Relates hydrogeological units with a void hosted by the units. A unit hosts one void, which can be an aggregation of multiple voids potentially spatially disconnected. Voids in turn can be hosted by many units, particularly when units are arranged in whole-part relations, such that a void hosted by a part is also hosted by any associated whole, e.g. a void is hosted by both an aquifer and a related aquifer system, or a member and a related formation. Association Entity: GW_HydrogeoUnit Role: Entity: GW_UnitProperties Role: gwUnitProperty Relates a hydrogeological unit to possibly many additional properties. Aggregation Entity: GW_Basin Role: Entity: GW_HydrogeoUnit Role: gwBasinUnit Relates hydrogeological units and the basins that contain them, in full or part. AssociationClass Entity: GW_HydrogeoUnit Role: gwFluidBodyUnit Entity: GW_FluidBody Role: gwUnitFluidBody Relates hydrogeological units and the fluid bodies contained by the units. Association Entity: GW_ManagementArea Role: gwManagementArea Entity: GW_HydrogeoUnit Role: gwManagedUnit Relates a management area to the hydrogeological units contained within it. Because the spatial boundaries of management areas can be determined by human concerns, e.g. regulatory, these boundaries do not necessarily align with the spatial boundaries of units, which are determined by physical criteria. 7.6.22 GW_HydrogeoVoid Voids represent the spaces inside (hosted by) a unit or its material. E.g. the pores in an aquifer, or in the sandstone of an aquifer. Voids can contain fluid bodies. Voids are differentiated from ‘porosity’ in that porosity is the proportion of void volume to total volume, while voids are the spaces themselves. Voids are required in GWML2, for example, to capture the volume of fractures in an aquifer. Attribute Type and Multiplicity Definition gwVoidDescription char General description of the void gwVoidHostMaterial EarthMaterial [0..*] The material that hosts the void, if specified. Note voids can be hosted by a unit (an aquifer) or its material (e.g. sandstone). gwVoidMetadata GW_Metadata Metadata for the void. gwVoidShape Geometry Shape and position of the void. gwVoidType PorosityType Type of void e.g. fractured, intergranular, etc. gwVoidVolume Measurement Volume of the void. Relation Source Target Description Association Entity: GW_HydrogeoVoid Role: gwFluidBodyVoid Entity: GW_FluidBody Role: gwVoidFluidBody Relates a void and a fluid body contained by the void. Each void contains at most one fluid body, which can have multiple parts that could be disconnected. Likewise, each fluid body is contained by a single void, which could also be an aggregation of disconnected void parts. AssociationClass Entity: GW_HydrogeoUnit Role: gwVoidUnit Entity: GW_HydrogeoVoid Role: gwUnitVoid Relates hydrogeological units with a void hosted by the units. A unit hosts one void, which can be an aggregation of multiple voids potentially spatially disconnected. Voids in turn can be hosted by many units, particularly when units are arranged in whole-part relations, such that a void hosted by a part is also hosted by any associated whole, e.g. a void is hosted by both an aquifer and a related aquifer system, or a member and a related formation. Aggregation Entity: GW_HydrogeoVoid Role: gwPartOfVoid Entity: GW_HydrogeoVoid Role: gwVoidPartOf Relates a void part to a void whole. 7.6.23 GW_InterFlow Fluid flow between features through an interface, exiting one feature and entering another. Features into which fluid is flowing are usually units, voids, or fluid bodies, but can be natural surface water features such as rivers or lakes, or even man-made features such as dams or canals. Likewise for features where water is exiting. Attribute Type and Multiplicity Definition gwFlowLocation Geometry [1..*] The location at which water is being transferred from one feature into another. gwFlowSourceContainer Feature The feature from which water is flowing. gwFlowSourceBody Feature The fluid body from which water is flowing. gwFlowDestinationContainer Feature The feature into which water is flowing. gwFlowDestinationBody Feature The fluid body into which water is flowing. gwFlowInterfaceFeature Feature [0..*] The feature that denotes the interface between, for example, the groundwater and surface, such as a well, spring, seep, etc., or between two aquifers. Relation Source Target Description Generalization Entity: GW_InterFlow Role: Entity: GW_Flow Role: An interflow is a type of directed flow between two features, e.g. flow between two units. Generalization Entity: GW_Recharge Role: Entity: GW_InterFlow Role: Recharge is a type of interflow in which fluid enters a feature. Generalization Entity: GW_Discharge Role: Entity: GW_InterFlow Role: Discharge is a type of interflow in which fluid exits a feature. 7.6.24 GW_IntraFlow Fluid flow within a feature such as a unit, void, gw body, or even a man-made feature such as a conduit of some kind. Attribute Type and Multiplicity Definition gwFlowLocation Geometry The location where a fluid is flowing within a feature. gwFlowContainer Feature The feature in which the fluid is flowing. Typically a unit, void, or gw body, but can also be a man made feature such as some conduit. gwFlowBody Feature The fluid body that is flowing. Relation Source Target Description Generalization Entity: GW_IntraFlow Role: Entity: GW_Flow Role: An intraflow is a type of flow within a single feature, e.g. flow in a unit. 7.6.25 GW_Licence Licence relating to the drilling of a well, the extraction of groundwater, etc. Attribute Type and Multiplicity Definition gwLicenceID CharacterString Licence ID, e.g. a number. gwPurpose CharacterString Purpose of the licence. gwAssociatedGWVolume QuantityRange Fluid volume associated with the licence. gwTimePeriod TimeRange The period of time for which the licence is valid. 7.6.26 GW_ManagementArea The GW_ManagementArea represents an area of ground identified for management purposes. The area can be delineated by human factors such as policy or regulation concerns, as well as by domain concerns (in this case hydrogeological or hydrological). The spatial boundaries of a management area do not necessarily align exactly with associated hydrogeological feature boundaries. GW_ManagementArea has the potential to provide a pattern for a more generic OGC ‘trans-domain’ feature management class. GW_ManagementArea is equivalent to InspireAM:ManagementRestrictionOrRegulationZone. Attribute Type and Multiplicity Definition gwAreaName char [1..*] Name of the management area. gwAreaDescription char [1.. *] General description of the management area. gwAreaFeature Feature [1..*] Other features that are associated with the management area (watershed, ecological zones, etc) that are not hydrogeological units. gwAreaWaterBudget GW_WaterBudget [1..*] Water budget associated with the management area. gwAreaYield GW_Yield Yield associated with the management area. gwAreaShape Geometry Geometric shape and position of management area. gwAreaType ManagementAreaType General classification of the management area (e.g. restricted use zone, irrigation area, consumption area, etc.) gwAreaSpecialisedAreaType SpecialisedZoneAreaTypeTerm Additional classification value which further specialises the gwAreaType. gwAreaEnvironmentalDomain EnvironmentalDomainTypeTerm Classification of the environment domain(s) for which, through the establishment of the management area, certain environmental objectives are to be reached. gwAreaCompetentAuthority CI_ResponsibleParty [0..*] Description of the organization(s) responsible for managing, restricting or regulating measures or activities within the management area. gwAreaDesignationPeriod TM_Period Time period specifying when the management area was legally designated or became effective in the real world Relation Source Target Description Association Entity: GW_ManagementArea Role: Entity: DocumentCitation Role: documentation Relates legislative and reference documentation to a management area. Association Entity: GW_ManagementArea Role: Entity: GW_FluidBody Role: gwAreaBody Relates a management area to the fluid bodies contained within the area. As with units, the spatial boundaries of management areas do not necessarily coincide with the spatial boundaries of fluid bodies. Association Entity: GW_ManagementArea Role: Entity: GW_ManagementArea Role: relatedManagementArea Relates a management area part to a management area whole. Association Entity: GW_ManagementArea Role: gwManagementArea Entity: GW_HydrogeoUnit Role: gwManagedUnit Relates a management area to the hydrogeological units contained within it. Because the spatial boundaries of management areas can be determined by human concerns, e.g. regulatory, these boundaries do not necessarily align with the spatial boundaries of units, which are determined by physical criteria. 7.6.27 GW_MaterialConstituent Suspended or colloidal material in a fluid body, e.g sediment. Attribute Type and Multiplicity Definition gwMaterial MaterialType Name of the suspended or colloid material in the fluid body, e.g. a lithology or mineral name. Relation Source Target Description Generalization Entity: GW_MaterialConstituent Role: Entity: GW_Constituent Role: A material constituent is a type of fluid body constituent. There are 3 types of fluid body constituents: chemical (e.g. arsenic), biologic (e.g. organisms), and material (e.g. sediment). 7.6.28 GW_Mixture The nature of the inclusion of the constituent in the fluid body, e.g. suspension, emulsion, etc. Attribute Type and Multiplicity Definition gwMixture MixtureType The manner in which a constituent is within a fluid body, e.g. solution, suspension, emulsion, precipitate, colloidal. 7.6.29 GW_MonitoringSite Site of observation related to groundwater. Attribute Type and Multiplicity Definition gwSiteName char [0..*] Name (or identifier) of the monitoring site. gwSiteLocation Geometry Spatial location of the site. gwSiteReferenceElevation Elevation [1..*] Reference elevation for all observations at the site, e.g. ground elevation, casing elevation. This can differ from the host feature elevation, or be more specific. gwSiteType SiteType Type of monitoring site, e.g. well, gauging station, etc. gwMonitoringHost Feature The feature hosting the site, e.g. a well, spring, lake or stream. 7.6.30 GW_Porosity Measure of the proportion of the volume occupied by voids over the total volume of material including the voids. Voids are differentiated from ‘porosity’ in that porosity is a proportion, while voids are the spaces themselves. Types of porosity include: primary, secondary, dual, specific, effective, granular, fractured, karstic, etc. Attribute Type and Multiplicity Definition gwPorosityType PorosityType Type of porosity (primary, secondary, dual, specific, effective, granular, fractured, karstic, etc.) gwPorosity Measurement Measure of the proportion of the volume occupied by specific voids over the total volume of material including the voids. Relation Source Target Description Association Entity: GW_UnitVoidProperty Role: Entity: GW_Porosity Role: gwPorosity Relates possibly many types of porosity values to a unit and related void combination. 7.6.31 GW_Recharge Fluid added to an aquifer by various means such as precipitation, injection, etc. Relation Source Target Description Generalization Entity: GW_Recharge Role: Entity: GW_InterFlow Role: Recharge is a type of interflow in which fluid enters a feature. 7.6.32 GW_Spring Any natural feature where groundwater flows to the surface of the earth. Attribute Type and Multiplicity Definition gwSpringName CharacterString [0..*] Name or ID of the spring. gwSpringLocation Geometry Geometry / position of the spring. gwSpringReferenceElevation Elevation [1..*] Reference elevation for all observations at the site, e.g. ground elevation, casing elevation. gwSpringType SpringType Type of spring e.g. mineral, thermal, saline, etc. gwSpringCauseType SpringCauseType The cause of the spring e.g. artesian, geyser, perched, etc. gwSpringPersistence SpringPersistenceType The periodicity of the spring e.g. ephemeral, perennial, intermittent, seasonal, etc. gwSpringGeology GL_Feature [0..*] Related geology features. gwSpringUnit GW_HydrogeoUnit [1..*] The hydrogeological unit(s) hosting the spring. gwSpringBody GW_FluidBody [0..*] The fluid body being depleted by the spring. gwSpringConstruction SpringConstruction [0..1] Spring construction details gwSpringLicence GW_Licence [0..*] Any licence relating to the spring. 7.6.33 GW_UnitFluidProperty A measured or calculated physical or hydraulic property that can be inherent in either an aquifer or its material, and some fluid body, e.g. hydraulic conductivity, transmissivity, storativity, permeability, porosity. Attribute Type and Multiplicity Definition gwHydraulicConductivity Measurement [1..*] Hydraulic conductivity measures how easily a fluid can move through the voids in a material. gwTransmissivity Measurement [1..*] The rate of groundwater flow laterally through an aquifer, determined by hydraulic conductivity and container thickness. gwStorativity Measurement [1..*] Storativity is the volume of water released from storage per unit decline in hydraulic head in the aquifer, per unit area of the aquifer. Relation Source Target Description Association Entity: GW_UnitFluidProperty Role: Entity: GW_Yield Role: gwYield Relates possibly many types of yield values to a unit and fluid body combination. 7.6.34 GW_UnitProperties Additional properties of an aquifer not included in the model. Attribute Type and Multiplicity Definition gwUnitProperty gwUnitPropertyType The type of hydrogeological unit property, e.g. average well depth. gwUnitPropertyValue Any The value of the hydrogeological unit property. Relation Source Target Description Association Entity: GW_HydrogeoUnit Role: Entity: GW_UnitProperties Role: gwUnitProperty Relates a hydrogeological unit to possibly many additional properties. 7.6.35 GW_UnitVoidProperty Properties inherent in the relation between a hydrogeological unit and a void: includes the proportion of voids to the unit (porosity) or to the connectivity / size of void openings (intrinsic permeability). Attribute Type and Multiplicity Definition gwPermeability Measurement [1..*] Refers to intrinsic permeability: a measure of a material's ability to allow fluid flow that is independent of fluid properties, and based on connectivity of pores and size of their openings. This is different from hydraulic conductivity. Relation Source Target Description Association Entity: GW_UnitVoidProperty Role: Entity: GW_Porosity Role: gwPorosity Relates possibly many types of porosity values to a unit and related void combination. 7.6.36 GW_Vulnerability The susceptibility of a feature to specific threats such as various physical events (earthquakes), human processes (depletion), etc. Attribute Type and Multiplicity Definition gwVulnerabilityType VulnerabilityType The type of vulnerability. gwVulnerability Measurement A quantitative estimate of the susceptibility to contamination, e.g. a DRASTIC value. Should be accompanied by metadata about the method of calculation. 7.6.37 GW_WaterBudget An accounting of the water input and output of a hydrogeological unit, at a particular point in time or over a period of time, with a description of inflows and outflows. Attribute Type and Multiplicity Definition gwBudgetAmount Measurement Final quantity (sum) of the budget. If recharge = discharge, the sum is 0. gwBudgetValidTime TemporalType Valid time of this budget (e.g, 2010). gwBudgetRecharge GW_Recharge [1..*] Recharge (inflows) considered by the budget. gwBudgetDischarge GW_Discharge [1..*] Discharge (outflows) considered in the budget. 7.6.38 GW_Well A shaft or hole sunk, dug or drilled into the Earth to observe, extract or inject water (after IGH1397). Attribute Type and Multiplicity Definition gwWellName char [0..*] Name or ID of the well. gwWellLocation Geometry Surface location of the well. gwWellReferenceElevation Elevation [1..*] Reference elevation for all observations at the site, e.g. ground elevation, casing elevation. gwWellContributionZone Geometry The area or volume surrounding a pumping well or other discharge site that encompasses all areas and features that supply groundwater to the well or discharge site. gwWellGeology GeologyLog [0..*] Related borehole, including lithology log. gwWellUnit GW_HydrogeoUnit [1..*] The aquifers or confining beds intersecting the well. gwWellBody GW_FluidBody [0..*] The fluid body occupying the well. gwWellPurpose WellPurposeType [1..*] Purpose of well, e.g. extraction, injection, observation, dewatering, cathodic protection, decontamination, disposal, FlowingShot, Geotechnical, Mineral, MonitoringlevelHead, MonitoringQuality, Oil, OilExploratory, Seismic, WaterExploratory, etc. gwWellStatus WellStatusType Status of the well, Can be new, unfinished, reconditioned, deepened, not in use, standby, unknown, abandoned dry, abandoned insufficient, abandoned quality. (gwml1) gwWellWaterUse WellWaterUseType [1..*] E.g. Agricultural, Domestic, Industrial, Recreation. gwWellTotalLength Measurement Total length of the well from reference elevation. gwWellConstructedDepth Measurement [0..1] Constructed depth of the well. gwWellStaticWaterDepth Measurement Depth of the fluid body (e.g. piezometric level). gwWellYield GW_Yield Estimated or calculated yield from a well. gwWellConstruction WellConstruction Construction details for a well. gwWellLicence GW_Licence [0..*] Licence relating to the drilling of the well or to the extraction of groundwater. 7.6.39 GW_Yield Yield is the rate of fluid withdrawal associated with a unit, well, etc., expressed as m 3 . There are several types of yield, that can be considered: specific yield, sustainable yield, safe yield, aquifer yield, etc. Attribute Type and Multiplicity Definition gwYieldType YieldType Type of aquifer yields: e.g. specific yield, safe yield, etc. gwYield Measurement Measurement of the yield in units of volume per unit of time. Relation Source Target Description Association Entity: GW_UnitFluidProperty Role: Entity: GW_Yield Role: gwYield Relates possibly many types of yield values to a unit and fluid body combination. 7.7 Requirements Requirements class /req/conceptual Target type Logical Model Name GWML2 conceptual model Dependency ISO19101:2002 Reference Model Clause 7 Dependency ISO19103 2015 Conceptual Model Language Dependency ISO19104:2008 Dependency Unified Modeling Language (UML). Version 2.3. May 2010 Requirement /req/conceptual/similarity Target logical models that are compliant with the conceptual model shall implement components of the conceptual model respecting their semantics, i.e. their definition and intent. In other words, the logical model must be highly semantically similar to components of the conceptual model and must not specify any requirements that would contradict or result in non-conformance to the conceptual model. Semantic similarity can be tested in multiple ways, including but not limited to: (i) direct comparison of UML components, (ii) comparison after mapping components to a common expressive knowledge representation language, such as first order logic or common logic, or (iii) comparison after mapping components to a reference ontology. The target can reuse and adapt existing logical models. Requirement /req/conceptual/similarity Target logical model when claiming compliance with this conceptual model SHALL implement its components (classes, attributes, relationships) respecting the conceptual model definitions and intent, such that high semantic similarity is obtained between the logical and conceptual model components, and the logical model must not specify any requirements that would contradict or result in non-conformance to the conceptual model. 8. Logical Model The logical model incorporates all concepts from the conceptual model, and maintains their general intent. It differs from the conceptual model in its introduction of technology-specific artifacts from the OGC General Reference Model and derived schemas. These include additions such as classes, relations, properties, constraints, and usage principles. Another difference is the incorporation of the well construction package from GWML1. The logical model is not a syntactical encoding, but is an OGC-compliant schema that is syntax-neutral. Syntactical encodings are derived from the logical model, such as the reference GML encoding described herein. The addition of OGC constructs to the conceptual model amounts to the integration of several OGC-compliant GML schemas, primarily GeoSciML 4.0 and Observations & Measurements, but also MD_Metadata and others. These are adapted using the following strategies. HydrogeologicalUnit in GWML2 specializes GeologicUnit from GeoSciML 4.0, recognizing that in its most basic sense a hydrogeological unit is a body of rock (a geological unit) exhibiting some hydrogeological properties including possibly fluid storage and transfer. Water wells and boreholes specialize O&M:SF_SamplingCurve, which allows them to have a shape described by 3D points at the start and end of each segment along the well or borehole. Wells and boreholes differ by purpose and use: boreholes are physical engineering artifacts consisting of a hole and potentially materials fitted inside the hole for some human use, and wells are constructions for the extraction or injection of water from/into the ground, and have specific hydrogeological properties such as water yield and intended use. As a consequence, well and associated borehole lengths can differ for the same well. A well can be seen as a specific role played by a borehole. Property values are assigned datatypes from O&M: properties that can be numeric and/or categorical are assigned the OM_Observation datatype. Two factors compel this choice: method metadata can be added to each value to describe determination of the value, and each property can be further soft-typed for greater precision. An example of the latter is the porosity property, which in pratice could refer to any of a wide range of porosity types such as effective porosity, primary porosity, or secondary porosity. Fluid body constituent values are modeled as observations: for example, a chemical analysis of a groundwater sample might be represented in the following way: Each measured value is the result of an observation; The observedProperty would be e.g. “As_Concentration;” and The featureOfInterest would be an instance of e.g. GW_ChemicalConstituent with ChemicalTypeTerm = “As” and gwState = “solid”. This approach is quite flexible: it allows for different mixture types (e.g. suspension, solution, emulsion), states (i.e. liquid, solid, gas), and measurement types (e.g. concentration) for a constituent type (e.g. “As”). Aquifer Tests are completely modelled using O&M, except for the single signature class GW_AquiferTest. This class is a property-less extension of O&M Sampling Feature. The logical model for Aquifer Test is thus the O&M logical model, as illustrated further in Figure 17. Time series generated by aquifer tests are represented using TimeseriesML1.0 (OGC 15-042r2). DocumentCitation is replaced by Any type (i.e. the ‘documentation’ role is assigned a datatype of Any), in order to satisfy the original intention of the DocumentCitation class of enabling re-use of relevant classes from other schemas. This allows, for example, use of classes such as GW_Licence, MD_Metadata, INSPIRE’s DocumentCitation or LegislativeReferences. If an entity in the logical model is stereotyped as GMF_Feature (from the OGC General Feature Model), then any name, description and identifier attributes from the conceptual model are replaced by equivalents from GMF_Feature (e.g. GW_FluidBody::gwBodyDescription maps to AbstractFeature::description). The logical model is organized into six application schema packages, as mentioned in Section 1. GWML2-Main: core items, e.g. aquifers, their pores, fluid bodies, and management areas. GWML2-Constituent: the biologic, chemical, and material elements of a fluid body. GWML2-Flow: fluid flow within and between containers, and water budgets. GWML2-Well: water wells, springs, and monitoring sites. GWML2-WellConstruction: the components used to construct a borehole or well. GWML2-AquiferTest: aspects associated with an aquifer test. Because most of the differences between the logical and conceptual model can be inferred directly from the logical model UML diagrams, all diagrams are included below. Complete class descriptions are subsequently included only for additions or alterations to the conceptual model. Additions primarily include borehole construction elements and geology logs, while the alterations mainly consist of a cardinality revision: all attributes and relations are now optional, primarily to enable sparse encodings that avoid empty data fields if so desired. 8.1 Logical Model Specification Figure : GWML2 LM - Package Dependencies (Internal). Figure : GWML2 LM - Package Dependencies (External – indirect dependencies not shown). Figure : GWML2 LM - Hydrogeological Unit. Figure : GWML2 LM - Groundwater Properties. Figure : GWML2 LM - Fluid Body. Figure : GWML2 LM - GroundWaterML2-Constituent. Figure : GWML2 LM - Groundwater Flow. Figure : GWML2 LM - Well. Figure : GWML2 LM - WellConstruction. Figure : GWML2 LM - Aquifer Test. 8.1.1 BoreCollar Topmost component of a borehole construction. Attribute Type and Multiplicity Definition collarElevation DirectPosition [0..*] The elevation of the bore collar with CRS including UOM. collarElevationType CollarElevationTypeTerm [0..1] Type of reference elevation, defined as a feature, e.g. Top of Casing, Ground, etc. collarHeadworkType HeadworkTypeTerm [0..1] Type of assembly bolted to the production casing to control the well, and to provide access and protection (e.g. from flooding, vandalism). Example: raised tube, covers, manhole, 'Gattick Cover' flush, concrete ring, etc. (after Fretwell, et al., 2006). collarLocation GM_Point [0..1] The geographical location of the collar. Relation Source Target Description Association Entity: Borehole Role: bholeDetails Entity: BoreCollar Role: bholeHeadworks Relation between a borehole and its collar, which represents the top construction component of the borehole. Association Entity: BoreCollar Role: Entity: SealingComponent Role: collarSeal Relation between a bore collar and its sealing parts. 8.1.2 Borehole General term for a hole drilled in the ground for various purposes such extraction of a core, release of fluid, etc. Attribute Type and Multiplicity Definition bholeMaterialCustodian CI_ResponsibleParty [0..*] The custodian of the drill core or samples recovered from the borehole. bholeCoreInterval GM_Envelope [0..*] The geometries for the intervals from which core is extracted along the borehole. bholeDateOfDrilling TM_CalDate [0..1] Date of drilling. bholeDriller CI_ResponsibleParty [0..1] The organisation responsible for drilling the borehole (as opposed to commissioning the borehole). bholeDrillingMethod BoreholeDrillingMethodTerm [0..*] Method of drilling. bholeInclinationType BoreholeInclinationTerm [0..1] vertical Type of borehole inclination, e.g. vertical or horizontal. bholeNominalDiameter Quantity [0..1] Diameter of the borehole. bholeOperator CI_ResponsibleParty [0..1] Organisation responsible for commissioning the borehole (as opposed to drilling the borehole). bholeStartPoint BholeStartPointTypeTerm [0..1] Describes the location of the start of the borehole, e.g. ground surface. Relation Source Target Description Association Entity: Borehole Role: Entity: Equipment Role: installedEquipment Relation designating the equipment installed in a borehole. Association Entity: Borehole Role: Entity: WellConstruction Role: bholeConstruction Relation between a borehole and its construction components. Association Entity: Borehole Role: bholeDetails Entity: BoreCollar Role: bholeHeadworks Relation between a borehole and its collar, which represents the top construction component of the borehole. Generalization Entity: Borehole Role: Entity: SF_SamplingCurve Role: A borehole is a type of Sampling Curve. 8.1.3 Casing Collection of linings of the borehole. Relation Source Target Description Generalization Entity: Casing Role: Entity: WellConstruction Role: A casing is a type of well construction entity. Association Entity: Casing Role: Entity: CasingComponent Role: casingElement Relation between a casing and its parts. 8.1.4 CasingComponent A single part of a borehole casing. Attribute Type and Multiplicity Definition casingMaterial CasingMaterialTerm [0..1] Material in which the casing is made. E.g. metal, steel, iron, concrete, wood, brick, plastic, teflon, PVC, ABS, fibreglass, etc. casingCoating CasingCoatingTerm [0..1] Coating applied to the casing. E.g. galvanized, stainless, mild, low carbon, copper bearing, black, etc. casingForm CasingFormTerm [0..1] Form of material used in the casing. E.g. curbing, cribbing, corrugated, culvert, hose, etc. casingInternalDiameter Quantity [0..1] Internal diameter of the casing. casingExternalDiameter Quantity [0..1] External diameter of the casing. casingWallThickness Quantity [0..1] Thickness of the wall of the casing. Relation Source Target Description Generalization Entity: CasingComponent Role: Entity: ConstructionComponent Role: A casing part is a type of construction component. Association Entity: Sealing Role: Entity: CasingComponent Role: casingSlit Casing slit opposing water bearing zones before plugging. Association Entity: Casing Role: Entity: CasingComponent Role: casingElement Relation between a casing and its parts. Association Entity: Sealing Role: Entity: CasingComponent Role: casingLeft Casing left after plugging. 8.1.5 ConstructionComponent Elements used in borehole construction. Attribute Type and Multiplicity Definition from Quantity [0..1] Position of the top (nearest to the borehole start) of the component. to Quantity [0..1] Position of the bottom (farthest to the borehole start) of the component. Relation Source Target Description Generalization Entity: CasingComponent Role: Entity: ConstructionComponent Role: A casing part is a type of construction component. Generalization Entity: ScreenComponent Role: Entity: ConstructionComponent Role: A screen part is a type of construction component. Generalization Entity: FiltrationComponent Role: Entity: ConstructionComponent Role: A filtration part is a type of construction component. Generalization Entity: SealingComponent Role: Entity: ConstructionComponent Role: A seal part is a type of construction component. 8.1.6 Equipment Equipment installed in a borehole (like a pump or any other device). Attribute Type and Multiplicity Definition characteristics NamedValue [0..*] General characteristics of the equipment. equipmentType EquimentTypeTerm Type of equipment. installationDate TM_Instant [0..1] Date of installation of the equipment. Relation Source Target Description Association Entity: Borehole Role: Entity: Equipment Role: installedEquipment Relation designating the equipment installed in a borehole. 8.1.7 Filtration Collection of filtration components used to filter a fluid body in a well. Relation Source Target Description Association Entity: Filtration Role: Entity: FiltrationComponent Role: filterElement Relation between a filtration device and its parts. Generalization Entity: Filtration Role: Entity: WellConstruction Role: A filtration device is a type of well construction entity. 8.1.8 FiltrationComponent Material used to filter the fluid in a borehole or well. Attribute Type and Multiplicity Definition filterGrainSize Quantity [0..1] Size of the particles of the filtration material. filterMaterial FiltrationMaterialTerm [0..1] Material used in the filtration device. E.g. gravel, pit run, silica sand, washed sand, crushed rock, etc. Relation Source Target Description Association Entity: Filtration Role: Entity: FiltrationComponent Role: filterElement Relation between a filtration device and its parts. Generalization Entity: FiltrationComponent Role: Entity: ConstructionComponent Role: A filtration part is a type of construction component. 8.1.9 GW_GeologyLog Specialization of the OM_Observation containing the log start and end depth for coverages. For Stratigraphic logs the observedProperty will be a GeoSciML 4.0:GeologicUnit/name. For Lithologic logs the observedProperty will be a GeoSciML 4.0:GeologicUnit/composition/CompositionPart/material. Attribute Type and Multiplicity Definition startDepth Quantity [0..1] The start of the log measured as a depth from the reference elevation. endDepth Quantity [0..1] The end of the log measured as a depth from the reference elevation. Relation Source Target Description Generalization Entity: GW_GeologyLog Role: Entity: OM_Observation Role: A geology log is a type of observation. Association Entity: GW_GeologyLog Role: Entity: GW_GeologyLogCoverage Role: result Relates a geology log with a particular collection of values (the result) that represent the group of measurements taken in intervals along the length of the log. Association Entity: GW_Well Role: Entity: GW_GeologyLog Role: gwWellGeology Relates a GeologyLog with a well. 8.1.10 GW_GeologyLogCoverage A particular collection of values that represent the group of measurements taken in intervals along the length of the log. Overrides DiscreteElementCoverage to enable LogValues to be elements of the collection (GeologyLogCoverage). Relation Source Target Description Realization Entity: GW_GeologyLogCoverage Role: Entity: CV_DiscreteElementCoverage Role: A GeologyLogCoverage is a realization of a DiscreteElementCoverage. Association Entity: GW_GeologyLogCoverage Role: collection Entity: LogValue Role: element Relates a collection with the values that are part of the collection and that represent the measurements taken in intervals along the length of the log. Association Entity: GW_GeologyLog Role: Entity: GW_GeologyLogCoverage Role: result Relates a geology log with a particular collection of values (the result) that represent the group of measurements taken in intervals along the length of the log. 8.1.11 LogValue The value of the log property at a depth interval along the log. Attribute Type and Multiplicity Definition fromDepth Quantity [0..1] Start depth of the interval along a log. toDepth Quantity [0..1] End depth of the interval along a log. value DataRecord [0..1] Value of the log property. Relation Source Target Description Association Entity: GW_GeologyLogCoverage Role: collection Entity: LogValue Role: element Relates a collection with the values that are part of the collection and that represent the measurements taken in intervals along the length of the log. Realization Entity: LogValue Role: Entity: CV_ElementValuePair Role: A LogValue is a realization of a CV_ElementValuePair from O&M. 8.1.12 Screen Collection of components of the water pump screen. Relation Source Target Description Generalization Entity: Screen Role: Entity: WellConstruction Role: A screen is a type of well construction entity. Association Entity: Screen Role: Entity: ScreenComponent Role: screenElement Relation between a screen and its parts. 8.1.13 ScreenComponent Component of the well lining where water enters the well. Attribute Type and Multiplicity Definition screenAttachmentMethod AttachmentMethodTerm [0..1] Screen attachment method. E.g. telescoped, on casing, on riser pipe, neoprene (K) packer, Lead packer, etc. screenCoating ScreenCoatingTerm [0..1] Thin outer layer applied to the screen. E.g. galvanized, stainless, copper bearing, low carbon, black, porous, etc. screenForm ScreenFormTerm [0..1] Form of the screen. E.g. slotted casing, perforated casing, bridge slot casing, wire wrap or continuous slot, wire mesh, shutter or louvered, well point, tube, etc. screenHoleWidth Quantity [0..1] Width of the slots or perforations of the screen. screenHoleLength Quantity [0..1] Length of the slots or perforations of the screen. screenMaterial ScreenMaterialTerm [0..1] Material that makes up the screen. E.g. metal, steel, iron, copper, brass, bronze, everdur, Armco metal, veriperm, stone, plastic, PVC, ABS, Fibreglass, etc. screenInternalDiameter Quantity [0..1] Internal screen diameter. screenExternalDiameter Quantity [0..1] External screen diameter. screenPerforationMethod PerforationMethodTerm [0..1] Method used for perforating the screen. E.g. drill, grinder, axe / chisel, machine, saw, torch, other, etc. screenFitting ScreenFittingTerm [0..1] The screen fitting (from the bottom). E.g. bail, open, plug, tail pipe, washdown, etc. screenMake ScreenMakerTerm [0..1] Make of the screen. screenModel ScreenModelTerm [0..1] Model of the screen screenNumber ScreenNumberTerm [0..1] Screen number corresponds to hole size and is given in 0.001 inch. The value is expressed as an alphanumeric code. screenPlacement ScreenPlacementTerm [0..1] Screen placement method. E.g. bail down, pull back, jetted, washed down, etc. screenWallThickness Quantity [0..1] Thickness of the screen wall. Relation Source Target Description Generalization Entity: ScreenComponent Role: Entity: ConstructionComponent Role: A screen part is a type of construction component. Association Entity: Screen Role: Entity: ScreenComponent Role: screenElement Relation between a screen and its parts. 8.1.14 Sealing Collection of materials that prevent undesirable elements from entering the borehole or well. Attribute Type and Multiplicity Definition sealingGroutingPlacementMethod OM_Process [0..1] Method of placing the sealing grouting. Relation Source Target Description Association Entity: Sealing Role: Entity: CasingComponent Role: casingSlit Casing slit opposing water bearing zones before plugging. Generalization Entity: Sealing Role: Entity: WellConstruction Role: A sealing is a type of well construction entity. Association Entity: Sealing Role: Entity: CasingComponent Role: casingLeft Casing left after plugging. Association Entity: Sealing Role: Entity: SealingComponent Role: sealingElement Relation between a seal and its parts. 8.1.15 SealingComponent A material used for sealing the construction of a borehole or well. Attribute Type and Multiplicity Definition sealingMaterial SealingMaterialTerm [0..1] Material used in the sealing component of a water well. E.g. formation packer, welded ring, shale trap, drive shoe, driven casing, etc. sealingType SealingTypeTerm [0..1] Type of sealing. E.g. annular sealing, plugging, etc. Relation Source Target Description Generalization Entity: SealingComponent Role: Entity: ConstructionComponent Role: A seal part is a type of construction component. Association Entity: BoreCollar Role: Entity: SealingComponent Role: collarSeal Relation between a bore collar and its sealing parts. Association Entity: Sealing Role: Entity: SealingComponent Role: sealingElement Relation between a seal and its parts. 8.1.16 WellConstruction Construction components of the well. These are particularly important when assessing results of pump tests. Relation Source Target Description Generalization Entity: Casing Role: Entity: WellConstruction Role: A casing is a type of well construction entity. Association Entity: Borehole Role: Entity: WellConstruction Role: bholeConstruction Relation between a borehole and its construction components. Generalization Entity: Screen Role: Entity: WellConstruction Role: A screen is a type of well construction entity. Generalization Entity: Filtration Role: Entity: WellConstruction Role: A filtration device is a type of well construction entity. Generalization Entity: Sealing Role: Entity: WellConstruction Role: A sealing is a type of well construction entity. 9. Requirements Classes (normative) This section describes requirement classes for any target implementation conforming to GWML2. Target implementations must meet related conformance class tests for at least one concrete requirements class (in Sections 9.2 and greater). The core requirement class (Section 9.1) is abstract, therefore solely meeting the core requirements is insufficient to claim compliance with GWML2. Note, this section documents only those requirements that cannot be read directly from the UML logical model— the logical model denotes the first suite of canonical requirements, which are supplemented by those below . 9.1 Abstract requirements classes: GWML2 core logical model This core requirement class describes requirements that must be met by all target implementations that claim compliance with GWML2 (this standard). It also sets common requirements for all extensions of this standard. Since this requirement class is abstract, a conformant target implementation SHALL also implement at least one concrete requirements class from Sections 9.2 and greater. Requirements class /req/core Target type Encoding of logical models Name GWML2 core logical model Dependency urn:iso:dis:iso:19156:clause:7.2.2 Dependency urn:iso:dis:iso:19156:clause:8 Dependency http://www.opengis.net/doc/IS/GML/3.2/clause/2.4 Dependency O&M Abstract model, OGC 10-004r3, clause D.3.4 Dependency http://www.opengis.net/spec/SWE/2.0/req/core/core-concepts-used Requirement /req/core/encoding Requirement /req/core/quantities-uom Recommendation /req/core/codelist Requirement /req/core/codelistURI Requirement /req/core/identifier Requirement /req/core/feature The properties, constraints, cardinalities and associations documented in the UML will be honoured by all the target implementations. Requirement /req/core/encoding All target implementations SHALL conform to the appropriate GroundWaterML2 Logical Model UML defined in Section 8. 9.1.1 Quantities The Quantities and Measurements units of measure shall be taken from a standard vocabulary governed by an appropriate community. Requirement /req/core/quantities-uom Quantities and measurements SHALL have explicit units of measure specified using the URI for an individual from a class governed as an external ontology. 9.1.2 Code lists All properties that should use formal vocabularies are modelled in UML as classes having the stereotype <<CodeList>>. The list of valid terms should be taken from a standard vocabulary governed by an appropriate community. Vocabulary term identifiers should be HTTP URI conformant to RFC 3986. Requirement /req/core/codelist Classes of stereotype <<CodeList>> SHOULD be encoded as externally governed vocabularies using HTTP URIs conformant to RFC 3986. 9.1.3 Code list URIs The URI used to identify vocabulary terms SHOULD be resolvable using Linked Data Principles, such that a URI identifier can resolve to multiple representations (or formats) for the term using HTTP content codings, MIME-type, and language negotiation mechanisms. Requirement /req/core/codelistURI URI used for vocabulary terms SHOULD be resolvable using Linked Data principles, such that a URI identifier can resolve to multiple representations (or formats) for the term using HTTP content, MIME-type, and language negotiation mechanisms. 9.1.4 Identifiers Features that use an HTTP URI as their identifier SHALL be resolvable following Linked Data principles (the HTTP URI is a link to possibly multiple representations of the resource). It is expected that a HTTP URI that is a feature identifier can be used to extract one or more representations of that feature by deferencing that URI, because the URI represents both its online location and its identity. Requirement /req/core/identifier HTTP URIs used as identifiers SHALL be resolvable following Linked Data principles, such that a URI identifier can resolve to multiple representations (or formats) for the term using HTTP content, MIME-type, and language negotiation mechanisms. 9.1.5 Feature A valid instance document SHALL contain at least one valid GWML 2.2 feature. Requirement /req/core/feature A valid GWML 2.2 document SHALL contain at least one valid GWML 2.2 feature. 9.2 Requirement class: GWML2-Main Requirements class /req/main Target type Encoding of logical model Name Main logical model Dependency /req/core Dependency ISO-19115 Dependency GeoSciML-Basic 4.0 Dependency /req/flow-uml Dependency /req/constituent-uml Requirement /req/main/observed-unit-fluid-property-foi Requirement /req/main/observed-unit-void-property-foi Requirement /req/main/managementArea 9.2.1 Feature of interest for Association classes OM_Observation is extensively used to represent property values wherever it is useful to include supporting metadata such as the methods used to obtain the values. As stated in ISO19156/OGC 10-004r3, the OM_Observation’s feature of interest should be the bearer of the observed property (10-004r3, clause 7.2.2.7). All properties in GWML 2.2 that use OM_Observation in the model are carried by Features; the relationship between the observation and the bearer of properties is obvious, except for two cases: GW_UnitFluidProperty ( Figure 18 ) and GW_UnitVoidProperty ( Figure 19). GW_FluidProperty is an association class linking a GW_HydroGeoUnit and a GW_FluidBody and carries properties that are inherently related to the association of a geological unit and the fluid occupying its voids. Not being a feature, this class cannot be the feature of interest of the properties it bears. Figure : Association class between a GW_HydrogeoUnit and GW_FluidBody. Traditionaly, those properties (gwHydraulicConductivity, gwStorativity, gwTransmissivity and gwYield) are assigned by convenience to the hydrogeological unit (GW_HydrogeoUnit), because the fluid is a body of groundwater (GW_FluidBody) that is rarely explicitly identified. Therefore, the feature of interest of all the values of GW_UnitFluidProperty SHALL be the GW_HydrogeoUnit instance at the gwFluidBodyUnit end of the GW_UnitFluidProperty association. Requirement /req/main/observed-unit-fluid-property-foi The feature of interest of OM_Observation values for GW_UnitFluidProperty properties (gwHydraulicConductivity, gwStorativity, gwTransmissivity and gwYield) SHALL be the GW_HydrogeoUnit instance at the gwFluidBodyUnit end of the GW_UnitFluidProperty association. Similarly, GW_UnitVoidProperty is an association class linking a GW_HydroGeoUnit with a GW_HydrogeoVoid, and this association class also then cannot be the feature of interest for the properties it bears (Figure 19). Figure : Association class between a GW_HydrogeoUnit and GW_HydrogeoVoid. As void properties are traditionally assigned to the hydrogeologic unit, the feature of interest of all property values of GW_UnitVoidProperty SHALL be the GW_HydrogeoUnit instance, which is located at the gwVoidUnit end of the GW_UnitVoidProperty association. Requirement /req/main/observed-unit-void-property-foi The feature of interest of OM_Observation values for GW_UnitVoidProperty properties (gwPermeability and gwPorosity) SHALL be the GW_HydrogeoUnit instance at the gwVoidUnit end of the GW_UnitVoidProperty association. Requirement /req/main/managementArea GW_Management’s gwAreaFeature SHALL NOT be a subtype of GW_HydrogeoUnit. 9.3 Requirement class: GWML2-Constituent Requirements class / req/constituent Target type Encoding of logical model Name Constituent logical model Dependency /req/core Dependency ISO-19115 Recommendation /req/constituent/sampled-fluid-body Analytical results are modelled as OM_Observation having GW_Constituent as features of interest (see Figure 20). A typical analytical procedure involves a sampling feature (such as a SF_Specimen) and a series of OM_Observations reporting on some properties of the feature of interest. Figure : The pattern for analytical results. By referring to the real world identifiable feature using the sampledFeature property, and using the observation’s featureOfInterest to refer to the constituent of the fluid body, this pattern permits a detailed description of the composition of various parts of the fluid body. Requirement /req/constituent/sampled-fluid-body Sampling feature SHOULD link to a real world identifiable feature through sampledFeature, while individual observations should refer to the constituent that has been measured. 9.4 Requirement class: GWML2-Flow Requirements class / req/flow Target type Encoding of logical model Name Flow logical model Dependency /req/core Dependency /req/constituent This requirements class does not contain any requirement. All the requirements are inherited from /req/core and /req/constituent. 9.5 Requirement class: GWML2-Well This clause describes groundwater abstraction and monitoring through artificial features (water wells, monitoring stations) and natural features (springs). Artificial features are modelled as O&M sampling features (by the ISO-19156 definition) as they are used as support for observations. 9.5.1 Water wells Requirements class /req/well Target type Encoding of logical model Name Water well logical model Dependency /req/main Dependency /req/construction Requirement /req/well/waterwell-elevationCRS Requirement /req/well/waterwell-shape Requirement /req/well/waterwell-observation-spatial-reference Requirement /req/well/waterwell-observation-fromparam Requirement /req/well/waterwell-observation-toparam Requirement /req/well/waterwell-sf-spatial-reference Requirement /req/well/waterwell-sf-fromparam Requirement /req/well/waterwell-sf-toparam Requirement /req/well/well-geology Requirement /req/well/log-coverage Requirement /req/well/log-geometry-origin Requirement /req/well/log-depth Requirement /req/well/log-depth-order Requirement /req/well/monitoring-elevationCRS The shape of the well is a 3D curve, in absolute coordinates, that represents the path of the hole in the ground. However, it is common practice to position observations, construction artefacts, and properties of the surrounding materials along this 3D path using a 1D coordinate system relative to the beginning of the hole. Although most wells are often assumed to be straight vertical bores, this standard allows for the generic case, where the well path is not a straight line, and therefore any such property or element needs to refer to the well path to calculate its absolute position. This standard also provides alternative representations for commonly used origin elevations, such as the location of the well on the surface of the earth, the location and elevation of the well collar, the reference elevation for down hole properties, etc. Note that the reference elevation and the well path are distinct reference elements but it is best practice to ensure that the reference elevation point intersect the path. Because of the variety of practices and because the reference elevation can actually change over time (replaced headwork, subsidence, etc.) it is not always possible to have a definitive reference elevation. Several GW_Well features need to be located relative to the well path: GW_GeologyLog LogValue Construction elements Any related Observation Any related SamplingFeature The following set of requirements defines how to report these values: The elevation CRS must be a relevant EPSG vertical (1 dimension) CRS. Example: EPSG:5100 (Mean Sea Level : http://epsg.io/5100-datum). Requirement /req/well/waterwell-elevationCRS GW_Well:gwWellReferenceElevation/Elevation:elevation CRS SHALL have a vertical datum. 9.5.2 Well shape Requirement /req/well/waterwell-shape GW_Well:shape SHALL be a 3D geometry that represents the complete well that includes any elements above the ground 9.5.3 Relative position The relative positions of all elements positioned relative to the 3D shape shall be calculated from the origin point of that shape, which is the first vertex of the shape. The relative position is the linear distance along the bore path, expressed as a positive value, using the uom inferred from the CRS of the shape z axis (metres or feet in the vast majority of cases). Different GW_Well elements may have different ways to encode the relative positions. 9.5.3.1 Observations Any Observation that needs to be positioned along the well must provide a reference geometry (a GM_Curve) and a position along that curve. In a case where the path is the path of the well or a borehole, the reference geometry is expected to be the shape of the well or the borehole, but it is not required. For instance, the relative location can be a “virtual path” somewhat related to a well or a group of wells. Requirement /req/well/waterwell-observation-spatial-reference The reference geometry of an Observation SHALL be encoded in a om:NamedValue with the name http://www.opengis.net/def/param-name/GWML/2.2/referenceGeometry and a value of type GM_Curve. The relative position shall be encoded in a specially named NamedValue. Requirement /req/well/waterwell-observation-fromparam The boundary of the interval closest to the well path origin, the “from” distance, SHALL be encoded in a om:NamedValue with the name- http://www.opengis.net/def/param-name/GWML/2.2/fromDistance and a value of type swe:Quantity Requirement /req/well/waterwell-observation-toparam The boundary of the interval farthest from the well path origin, the “to” distance, SHALL be encoded in a om:NamedValue with the name http://www.opengis.net/def/param-name/GWML/2.2/toDistance and a value of type swe:Quantity 9.5.3.2 Related SamplingFeature Any sampling feature that must be positioned along the linear path shall encode the reference GM_Curve and the relative position using sams:parameter Requirement /req/well/waterwell-sf-spatial-reference The reference geometry of an Observation SHALL be encoded in a sams:NamedValue with the name http://www.opengis.net/def/param-name/GWML/2.2/referenceGeometry and a value of type GM_Curve. The relative position shall be encoded in specially labelled NamedValue. Requirement /req/well/waterwell-sf-fromparam The boundary of the interval, closest to the well path origin, the “from” distance, SHALL be encoded in a om:NamedValue with the name http://www.opengis.net/def/param-name/GWML/2.2/fromDistance and a value of type swe:Quantity Requirement /req/well/waterwell-sf-toparam The boundary of the interval farthest from the well path origin, the “to” distance, SHALL be encoded in a om:NamedValue with the name- http://www.opengis.net/def/param-name/GWML/2.2/toDistance and a value of type swe:Quantity 9.5.4 Geology Log GW_GeologyLog is an OM_Observation, with a start and end depth, that shall capture downhole geological observations (including geophysical and geochemical) using the gwml:gwWellGeology property rather than other OM_Observation properties. Requirement /req/well/well-geology gwWellGeology SHALL associate GW_Well and any GW_GeologyLog The geologic log is encoded as a GW_GeologyLogCoverage. Requirement /req/well/log-coverage The value of om:result of GW_GeologyLog SHALL be a GW_GeologyLogCoverage The GW_GeologyLogCoverage/LogValue is positioned at the origin of the support feature, which is a SF_SamplingCurve. Requirement /req/well/log-geometry-origin The origin of the GW_GeologyLogCoverage/LogValue location SHALL be the first vertex of the GW_Well shape Depth shall be expressed as linear distance from the first vertex of the GM_Curve. When the featureOfInterest is a GW_Well, the origin is implicitly gwWellLocation + gwWellReferenceElevation:elevation. Requirement /req/well/log-depth The fromDepth and toDepth of a LogValue SHALL be the linear distance along the path from featureOfInterest’s linear geometry The fromDepth must be nearest the reference elevation. Requirement /req/well/log-depth-order The fromDepth of a LogValue SHALL be the closest along the path to gw_WellReferenceElevation while the toDepth shall be the farthest. 9.5.5 Monitoring Sites Elevation CRS must be a relevant EPSG vertical (1 dimension) CRS. Example EPSG:5100 (Mean Sea Level : http://epsg.io/5100-datum). Requirement /req/well/monitoring-elevationCRS The elevation CRS SHALL be an appropriate vertical datum. 9.6 Requirement class: GWML2-WellConstruction Requirements class / req/construction Target type Encoding of logical model Name Construction logical model Dependency /req/core Requirement /req/construction/collar-elevationCRS Requirement /req/construction/construction-origin-elevation Requirement /req/construction/borehole-shape Requirement /req/construction/log-depth Requirement /req/construction/log-depth-order 9.6.1 Borehole BoreCollar:collarElevation CRS must be a relevant vertical (1 dimension) CRS. Example EPSG:5100 (Mean Sea Level : http://epsg.io/5100-datum). Requirement /req/construction/collar-elevationCRS Borehole:bholeHeadworks/BoreCollar:collarElevation CRS SHALL be a relevant vertical datum. 9.6.2 Construction Borehole shall identify a BoreCollar that must be used as the reference location. The reference BoreCollar shall have a collarElevationType equal to http://resource.gwml.org/def/collarElevationType/originElevation . Note that this BoreCollar need not be a physical feature, but would normally coincide with one. In a typical instance, we would find 2 or more collars, one or more real physical features, and another one as the reference collar that might or might not match one of the physical collars. Requirement /req/construction/construction-origin-elevation Each Borehole SHALL have one bholeHeadworks/BoreCollar:collarElevationType @xlink:href = “http://resource.gwml.org/def/collarElevationType/originElevation” The Borehole shape SHALL be a 3D geometry that represents the complete well that includes any construction elements above the ground. Requirement /req/construction/borehole-shape Borehole:shape SHALL be a 3D geometry that represents the complete borehole that includes any Construction Component above the ground. Depth shall be expressed as linear distance from the Borehole shape’s first vertex. Requirement /req/construction/log-depth The “from” and “to” of a Construction Component SHALL be the linear distance along the shape of the borehole. The ‘from’ value must be closer to the Borehole origin than the ‘to’ value. Requirement /req/construction/log-depth-order The ‘from’ value of a Construction Component SHALL be the closest along the path to first vertex of the Borehole shape while the ‘to’ value SHALL be the farthest. 9.7 Requirement class: Vertical Well (profile) Requirements class /req/vertical-well Target type Model encoding Name Vertical well logical model Dependency /req/well Requirement /req/vertical-well/waterwell-shape Requirement /req/vertical-well/end-vertex A vertical well is a special case where the shape of the well is a straight vertical line. The rationale to create a special profile is to inform the data consumer that calculation of relative position into absolute position is greatly simplified. Vertical wells are very common and several groundwater applications expect them to be vertical. GW_Well:shape shall have only 2 vertices. Requirement /req/vertical-well/waterwell-shape GW_Well:shape SHALL have only 2 vertices The second vertex shall have the same x and y as the first vertex. Requirement /req/vertical-well/end-vertex The planar position (x,y) of the second vertex SHALL be the same as the first vertex 9.8 Requirement Class: GeologyLog (profile) This requirement class describes the recommended pattern to encode a GeologyLog. Requirements class /req/well-log Target type Encoding of logical model Name Geologic Unit logs Dependency /req/well Dependency http://www.opengis.net/spec/SWE/2.0/req/uml-record-components Recommendation /req/well-log/log-definition Geological logs are modelled as GML discrete coverages (CV_DiscreteElementCoverage) of elements of type LogValue. Each Log Value is composed of a pair of properties to locate the element along the Well path (fromDepth and toDepth) and a SWE DataRecord that contains an arbitrary set of fields to report properties of interest along the path (see Figure 21). Figure : SWE Data Record. SWE (Clause 7.3 of OGC 08-094r1) describes the requirements to encode a DataRecord. A community that defined a common Geologic Log encoding should agree on a definition and scoped name for the DataRecord, and definitions of the individual fields composing the record. For example, a community that wants to use a GeoSciML 4.0 vocabulary to encode a geology log can agree on a field type (eg: SWE Category) and a definition (a URI) to flag that field in the DataRecord as having controlled content. Another community might chose to constrain the complete DataRecord by agreeing on the scoped name of the DataRecord itself. Requirement /req/well-log/log-definition The Log Value of a Geologic Log SHOULD use a community controlled definition for the DataRecord and / or the fields that compose it. 9.9 Requirement class: Aquifer test (profile) Requirements class / req/aquifertest Target type Encoding of logical model Name Aquifer test Dependency /req/core Dependency Observations and Measurements Dependency http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-observation Dependency http://www.opengis.net/spec/SWE/2.0/req/uml-record-components Requirement /req/aquifertest/sampledfeature Requirement /req/aquifertest/testfeature Requirement /req/aquifertest/observationfeature Recommendation /req/aquifertest/testparameter Recommendation /req/aquifertest/observation Requirement /req/aquifertest/observation-role Recommendation /req/aquifertest/observedProperty Requirement /req/aquifertest/timeseries Requirement /req/aquifertest/timeseries-datarecord Aquifer hydraulic parameters are routinely evaluated by a series of tests that involves pumping or injecting water at known rates and by observing the changes in the water table. Other tests might involve injecting a tracer (radio element or dye) at some location and follow its progression at observation points. From these observations, various methods have been developed to compute aquifer properties. To adequately report an aquifer test, the data about initial conditions, test parameters, sampling features, measured and calculated observation must be packaged and put into context. Figure 17, above, shows the elements required to encode an aquifer test. An AquiferTest assesses an Aquifer using a method (eg: Packer test) that is encoded as an OM_Process. The test is performed at a test site (the GW_AquiferTest defines a geometry corresponding to the test location) and consists of sampling features (usually the GW_Well) that are associated to the GW_AquiferTest through relatedSamplingFeature. Each sampling feature has a role in the test (observation or test features). Some sampling features are sites where test activities are performed (referred to as “test feature”), such as pumping water out of a bore. Other features are sites where more passive observations are made, such as measuring the impact of pumping made at the test sampling feature on the water table. From this activity, a series of observation are made, typically time series along the timespan of the test. Then from these observations, a method is used to infer some aquifer properties (such as transmissivity, storativity or yield). The findings are then documented in a report that can be attached to GW_AquiferTest using generic metadata properties. A typical AquiferTest might be sketched as follows in Figure 22: Figure : A typical pumping test. 9.9.1 Aquifer Test O&M mapping Observation and Measurement (O&M 2.0 : OGC 10-004r3), along with its GWML extensions, contains all the elements needed to model an aquifer test. A complete aquifer test can be built around SF_SamplingFeature and OM_Observation, with the addition of GW_AquiferTest, a subtype of SF_SpatialSamplingFeature (Figure 23), to distinguish aquifer tests from other sampling features and to package observations and sampling features. Figure : GW_AquiferTest. 9.9.2 GW_AquiferTest (O&M profile) GW_AquiferTest is a specialized sampling feature representing an aquifer test (or pump test). It packages all the sampling features and observations generated by the test and the computed results from those observations. The following section describes implementation of aquifer test in O&M. 9.9.3 SF_SamplingFeature properties 9.9.3.1 sampledFeature In the context of an aquifer test, it links to the real world feature being assessed by the aquifer test (generally a GW_AquiferUnit ). O&M does not constrain SF_SamplingFeature to any particular feature type, but this standard requires that the sampledFeature shall be a subtype of a GW_HydrogeoUnit . Requirement /req/aquifertest/sampledfeature The sampledFeature of a GW_AquiferTest SHALL be an instance of (or a reference to) a subtype of GW_HydrogeoUnit. 9.9.3.2 relatedSamplingFeature In the context of an aquifer test, the related sampling feature property identifies all the sampling features participating in the aquifer test. The role of each feature is assigned by the SF_SamplingFeatureComplex:role property. The role of the sampling feature is scoped by the test. Therefore the same sampling feature can have different roles in different tests, but also within the same test (by having multiple SF_SamplingFeatureComplex referring to the same SF_SamplingFeature ). Single bore tests are examples where the observation bore and the test bore are the same feature. This standard proposes a list of core roles to identify the observation features and test features. The test feature is the “active” sampling feature where the test is performed (e.g. the well that is pumped or injected). Requirement /req/aquifertest/testfeature SF_SamplingFeatureComplex:role for the sampling feature where the test is performed SHALL have the value http://www.opengis.net/req/aquifertest/testfeature The observation feature is the “passive” feature where observations are made. It is the feature at which the effects of the test are measured. Requirement /req/aquifertest/observationfeature SF_SampleFeatureComplex:role for the sampling feature where the observations are made SHALL have the value http://www.opengis.net/req/ gwml2-aquifer-test/observationfeature A single sampling feature can be the target of several SF_SamplingFeatureComplex. A data provider can add more than one SF_SamplingFeatureComplex to accommodate other roles (see Figure 24). Figure : Multiple roles for the same well using two SF_SamplingFeatureComplexes. 9.9.3.3 parameter Test parameters, such as pumping rates during the test are not considered as being an observation, but as test parameters. To document test parameters, there are two options: · Using SF_SpatialSamplingFeature:hostedProcedure of type OM_Process that can encode all possible details of a test using SensorML (OGC 12-000), MD_Metadata (ISO-19115) or any other suitable model. · Use parameter of type SF_SamplingFeature:parameter:NamedValue using agreed value types for well-known test parameters. Although the formal mechanism to report test parameters is through OM_Process , this standard recommends reporting community defined values in simple parameter key-value pairs (KVP) using sf:NamedValue . Requirement /req/aquifertest/testparameter When present, SF_SamplingFeature:parameter:NamedValue SHALL be encoded using community defined values 9.9.3.4 relatedObservation All related observations, including the observations made at the test feature sites and observation derived from those observations should be available as related observations ( sf:relatedObservation ). Requirement /req/aquifertest/observation All observations relevant to an aquifer test SHOULD be available as relatedObservation From the raw observations measured during a test, new observations can be inferred or calculated. The raw observations (related from the observation Features) and the derived observations (the result of the test) SHALL be related to each other using om:ObservationContext. The role of the observation context defines which observation derives or supports the other one. ‘supportObservation’ and ‘derivedObservation’ roles can be considered complementary: if A is supportObservation of B, then B is the derivedObservation of A. Requirement /req/aquifertest/observation-role Raw observations from the observation sampling feature SHALL be link to the test result observations using the roles defined in Table 1 Table : ObservationContext roles. Role URI Direction Support observation http://resource.gwml.org /def/role/supportObservation Observation linking to other observation used to calculate, derive or infer a new values Derived observation http://resource.gwml.org /def/role/derivedObservation Observation linking to another observation that has calculated, inferred or derived values 9.9.3.5 hostedProcedure A hostedProcedure is used to document such things as methods to identify or localise the sampling feature, but its use is not constrained to anything specific. The hostedProcedure property, of type OM_Process, may be used to accommodate detailed aquifer test parameters if needed by the data provider. The O&M standard does not prescribe any model to encode OM_Process, but suggests: ISO 19115-2 provides MI_Instrument, LE_Processing and LE_Algorithm, which could all be modelled as specializations of OM_Process. OGC SensorML [16] provides a model which is suitable for many observation procedures OGC 10-0043 / ISO-19156, clause 7.2.3, p. 14 For instance, a pump (used to pump water from the borehole) can be modelled as a SensorML sml:PhysicalSystem. 9.9.3.6 shape SF_SpatialSamplingFeature does not constrain the geometry type (Point, Curve, Polygon, etc), therefore any geometry can represent a test. In most situations, the geometry of the test is the test area, the zone of influence around the pumping test or even the volume of rock affected or in scope for the test. This standard also does not constrain the geometry type. Communities that wish to constrain the geometry type should create a profile of this standard. 9.9.4 OM_Observation OM_Observations are used to represent values of properties observed or computed in the context of this test. There are at least two categories of observations generated through an aquifer test: Raw observations, normally taken at the observationFeatures; and Derived observations, calculated from the raw observations. These two kinds of observations differ by their respective feature of interest. For the former (raw data) the feature of interest is the sampling feature from which observations are made (e.g. observation bore). In the latter case, the feature of interest is the GW_AquiferTest itself. Observations can be linked together using related observations ( om:relatedObservation/om:ObservationContext ), which provide a role ( om:ObservationContext/om:role ) for the targeted observation. Figure 25 shows an example of “raw” observations (Drawdown1 and Drawdown2) measured at two observation wells (obs1 and obs2). The same figure also shows a derived observation (transmissivity) having the aquifer test itself as its feature of interest. The derived observation provides a link back to the supporting observation used to compute the derived values. Figure : Relationships between observations and features of interest. Observations made during the test and computed observations are modelled as OM_Observations. 9.9.4.1 phenomenonTime, resultTime and validTime As specified in Observation and Measurement; phenomenonTime reflects the time that the result applies to the property; the resultTime is the time at which the value has been obtained or became available and validTime is the time during which the value is usable. Depending on the type of observation (raw or computed), those time might be different (see Table 2). Table : Types of observations and times. Type of Observation phenomenonTime resultTime validTime Raw Duration of the test End of the test Period during which the condition are the same, so the same test would produce the same values Derived Duration of the test When calculation are done (publication) Depends on the parameters or test 9.9.4.2 observedProperty This property describes the phenomenon being observed (e.g. groundwater level). The observed property is normally a reference to a property inherent in the feature of interest (“ the real word feature is the subject of the observation and carries the observed property, OGC-10-004r3, clause 7.2.2.7). But because of subtle variations in the semantics of such properties (such as specific Yield versus maximum Yield versus sustainable Yield, etc.), the observedProperty meaning should be formally defined by a community. The value of observedProperty becomes a reference to that definition (expressed in SWE, SKOS or OWL for example). ObservedProperty can also be a compound property (a collection of observedProperty ). Again, because of the close tie to use cases, compound properties should be defined by a community. Requirement /req/aquifertest/observedProperty The observedProperty SHOULD be a reference to a community managed vocabulary. 9.9.4.3 result The result property reports the product of the observation process. In many cases, the aquifer test will produce a time series, such as drawdown data over time. When the result is a time series, it shall be modelled as a TimeSeriesML 1.0 (OGC 15-082r3). Requirement /req/aquifertest/timeseries Observation producing time series SHALL be modelled as TimeSeriesML 1.0 (OGC 10-042r1) Derived (or computed) observations will often produce compound values. It is possible to report each result component as distinct observations, but GWML2 shall use the more efficient alternative of wrapping compound results into swe:DataRecord. Requirement /req/aquifertest/timeseries-datarecord Derived or computed observations SHALL be encoded as swe:DataRecord 9.9.5 Aquifer test overview Figure 26 provides an example of the mapping of AquiferTest to O&M. Figure : Typical pump test instance: 1 sampling feature and 2 observation features. 10. XML Implementation (normative) 10.1 GWML2-XSD Groundwater features and their properties will be encoded in XML using standard GML encoding rules (Annex E of OGC Geography Markup Language v3.2 (ISO 19136:2007). In examples, HTTP URIs that are used as resolvable resources (e.g. for vocabularies) are encoded using the DTD entity resource.gwml.org to avoid binding the examples to a specific URI. Full instance documents will have an entity declaration in the xml header in the form. XML snippets will use the following prefixes: Prefix HTTP URI gwml2 http://www.opengis.net/gwml-main/2.2 gwml2c http://www.opengis.net/gwml-constituent/2.2 gwml2f http://www.opengis.net/gwml-flow/2.2 gwml2w http://www.opengis.net/gwml-well/2.2 gwml2at http://www.opengis.net/gwml-aquifertest/2.2 gwml2wc http://www.opengis.net/gwml-wellconstruction/2.2 gml http://www.opengis.net/gml/3.2 cv http://www.opengis.net/cv/0.2/gml32 om http://www.opengis.net/om/2.0 sam http://www.opengis.net/sampling/2.0 sams http://www.opengis.net/samplingSpatial/2.0 spec http://www.opengis.net/samplingSpecimen/2.0 swe http://www.opengis.net/swe/2.0 gco http://www.isotc211.org/2005/gco gmd http://www.isotc211.org/2005/gmd gsmlb http://xmlns.geosciml.org/GeoSciML-Basic/4.0 gsmlx http://xmlns.geosciml.org/GeoSciML-Extension/4.0 xlink http://www.w3.org/1999/xlink wfs http://www.opengis.net/wfs/2.0 Requirements class /req/xsd-xml-rules Target type XML data document Name GML/XML encoding Dependency ISO-19118 Dependency ISO/IEC 19757-3:2006 (Schematron) 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 Dependency req/core Dependency http://www.ietf.org/rfc/rfc2616 Dependency http://www.opengis.net/spec/GML/3.3/req/definitions Requirement /req/xsd-xml-rules/W3C_XSD Requirement /req/xsd-xml-rules/ISO-schematron Requirement /req/xsd-xml-rules/iso8601-time Requirement /req/xsd-xml-rules/time-zone Requirement /req/xsd-xml-rules/swe-types Requirement /req/xsd-xml-rules/identifier Recommendation /req/xsd-xml-rules/byrefproperty Recommendation /req/xsd-xml-rules/xlink-title Recommendation /req/xsd-xml-rules/vocabulary-reference ISO-19136_2007 provides a mapping between UML classifiers and XSD entities. All XSD types and elements must be created following those mapping rules. This standard considers the XSD files (the schema files) to be normative (they contain the official interpretation of 19136 conversion of the UML classifiers into XML). Requirement /req/xsd-xml-rules/W3C_XSD All elements and attributes in a namespace SHALL validate according to W3C XSD rules encoded in the xsd file associated with this namespace and its dependencies. Other rules, that can’t be expressed in XSD, are provided as schematron rules. As the XSD files, schematron rules files are considered normative. Requirement /req/xsd-xml-rules/ISO-schematron All elements and attributes covered by this standard SHALL pass schematron validation rules in http://schemas.opengis.net/gwml/2.0/xml-rules.sch The date-time formats will conform to ISO standards. Although this is already a GML 3.2.1 encoding rule (clause 14.2.2.7), this format shall also be used in any string that is not normally checked for an occurrence of dates. Requirement /req/xsd-xml-rules/iso8601-time All date-time elements or occurrences within strings SHALL be encoded using ISO8601 extended time format Note that this precludes the use of time-coordinate systems such as UNIX time. This is specified in order to be maximally consistent with WML2 requirements. The time zone will be included in the time element. Requirement /req/xsd-xml-rules/time-zone The value of each 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) Greenwich Mean Time (GMT or Zulu) <om:phenomenonTime> <gml:TimeInstant gml:id="ab.ww.402557.wl.1.ti.1"> <gml:timePosition>1981-09-12T00:00:00Z</gml:timePosition> </gml:TimeInstant> </om:phenomenonTime> Time Zone (example is Newfoundland time zone -3:30) <om:phenomenonTime> <gml:TimeInstant gml:id="nf.ww.34212.wl.1.ti.1"> <gml:timePosition>1981-09-12T00:00:00-03:30</gml:timePosition> </gml:TimeInstant> </om:phenomenonTime> Some SWE Common types are restricted to avoid ambiguity. 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. 10.1.1 Identifier A feature that can be accessed through Linked Data using a resolvable HTTP URI must use this HTTP URI as its global unique identifier. In GML, this shall be encoded using gml:identifier and code space = “http://www.ietf.org/rfc/rfc2616”. In other words, the gml:identifier shall point to a representation of itself. Requirement /req/xsd-xml-rules/identifier A resolvable resource SHALL expose its resolvable HTTP URI as a gml:identifier AND use http://www.ietf.org/rfc/rfc2616 for the codeSpace value. Example of a feature that exposes its resolvable HTTP URI as a globally unique identifier (…) <gwml2w:GW_Well gml:id="ca.ab.gov.wells.402557"> <gml:description>Water well from Alberta water well database</gml:description> <gml:identifier codeSpace="http://www.ietf.org/rfc/rfc2616">http://ngwd-bdnes.cits.nrcan.gc.ca/Reference/uri-cgi/feature/gsc/waterwell/ca.ab.gov.wells.402557</gml:identifier> <gml:name codeSpace="urn:cgi:featureType:CA.AB:WaterWell">402557</gml:name> <gml:name codeSpace="urn:x-gin">ca.ab.waterWell.402557</gml:name> (…) 10.1.2 By-Reference properties Properties can be constrained to be by-reference only, or either inline or by-reference. For a by-reference property that refers to an external feature, the reference shall be resolvable over the web. The reference shall be either a resolvable HTTP URI that might also match the feature’s globally unique identifier (see /req/core/identifier) or an HTTP request (for instance, a WFS GetFeature with the stored query “urn:ogc:def:query:OGC-WFS::GetFeatureById”) to the a representation of the feature in GML. Requirement /req/xsd-xml-rules/byrefproperty A reference to an external feature SHOULD be resolvable to a GML representation of the feature (…) <gwml2:gwAquiferSystemPart xlink:href="http://environment.data.gov.au/groundwater/feature/hydrogeologicalunit/hgu.nsw.5" xlink:title="Stuarts Point - Lower Quaternary Sands"/> (…) Note that elements under GWML2 namespaces can be mixed with other namespaces. For example, this standard does not have a dependency to WFS, but GWML can be serialised in a WFS document, along with features from other domains. Failure to validate such a document does not necessarily mean that the GWML XML requirements are not met, as other external indirect instances might fail. Therefore, this requirement class only addresses instances of GWML in an XML document. All property by reference using xlink:href should provide a human readable label in xlink:title. Requirement /req/xsd-xml-rules/xlink-title If an xlink:href is used to reference a controlled vocabulary item, the xlink:title attribute SHOULD encode a text label of the referenced item. Example of a casing material showing the use of xlink:href (/req/xsd-xml-rules/vocabulary-references ) and xlink:title (/req/xsd-xml-rules/xlink-title): <gwml2wc:casingMaterial xlink:href="http://www.sandre.eaufrance.fr/?urn=urn:sandre:donnees:154::CdElement:5:::referentiel:3.1:xml" xlink:title="PVC"/> Vocabulary references for all classes of stereotype «CodeList» are implemented as gml:Reference using xlink:href and ought to be a resolvable URI in the form of an HTTP URL. Requirement /req/xsd-xml-rules/vocabulary-reference A resolvable HTTP URL SHOULD be used in an xlink:href when specifying references to vocabulary (CodeList) items. 10.2 Requirement class: GWML2-Main XML encoding Requirements class / req/main-xsd Target type XML data document Name Main xml encoding Dependency /req/xsd-xml-rules Dependency GeoSciML/GeoSciML-Basic Dependency ISO-19115 Dependency /req/main-uml Requirement /req/main-xsd/xsd Requirement /req/main-xsd/observed-unit-fluid-property-foi Requirement /req/main-xsd/observed-unit-void-property-foi Requirement /req/main-xsd/managementArea All xml elements under namespace http://www.opengis.net/gwml-main/2.2 must validate against the schema located at http://schemas.opengis.net/gwml/2.2/gwml2-main.xsd. Requirement /req/main-xsd/xsd All the elements and types under namespace “http://www.opengis.net/gwml-main/2.2” SHALL validate with schema located at http://schemas.opengis.net/gwml/2.2/gwml2-main.xsd OM_Observation values, used as property values in GW_UnitFluidProperty must identify the instance of GW_HydrogeoUnit at the gwFluidBodyUnit end of the association between this feature and the GW_FluidProperty Requirement /req/main-xsd/observed-unit-fluid-property-foi All OM_Observation:featureOfInterest for OM_Observation properties of one coherent GW_UnitFluidProperty instance SHALL reference the same feature as GW_UnitFluidProperty/gwFluidBodyUnit. <?xml version=“1.0” encoding=“UTF-8”?> <gwml2:GW_Aquifer gml:id="aq.1"> <gsmlb:geologicUnitType xlink:href="http://www.opengis.net/def/gwml/2.2/geologicunitype/aquifer_unit" xlink:title="Aquifer" xsi:type="gwml2:AquiferPropertyType"/> <!– (…) –> <gwml2:gwUnitFluidBody> <gwml2:GW_UnitFluidProperty> <gwml2:gwYield> <om:OM_Observation gml:id="aq.1.fp.1"> <om:phenomenonTime> <gml:TimeInstant gml:id="aq.1.fp.1.ti.1"> <gml:timePosition>2015/7/28T12:00:00Z</gml:timePosition> </gml:TimeInstant> </om:phenomenonTime> <!– (…) –> <om:featureOfInterest xlink:href="#aq.1" xlink:title="aquifer 1"/> <!– (…) –> </om:OM_Observation> </gwml2:gwYield> <gwml2:gwUnitFluidBody xlink:href="http://resource.org/id/fluid-body/fb1" xlink:title="fluid body f1"/> <gwml2:gwFluidBodyUnit xlink:href="#aq.1" xlink:title="aquifer 1"/> </gwml2:GW_UnitFluidProperty> </gwml2:gwUnitFluidBody> </gwml2:GW_Aquifer> OM_Observation values, used as property values in GW_UnitVoidProperty must identify the instance of GW_HydrogeoUnit at the gwVoidUnit end of the association between this feature and the GW_VoidProperty Requirement /req/main-xsd/observed-unit-void-property-foi All OM_Observation:featureOfInterest for OM_ Observation properties of one coherent GW_UnitVoidProperty instance SHALL reference the same feature as GW_UnitVoidProperty/gwVoidUnit. <?xml version=“1.0” encoding=“UTF-8”?> <gwml2:GW_AquiferSystem gml:id="as.1"> <!– (…) –> <gwml2:gwUnitVoid> <gwml2:GW_UnitVoidProperty gml:id="v1"> <gwml2:gwPorosity> <om:OM_Observation gml:id="aq.1.fp.1"> <om:phenomenonTime> <gml:TimeInstant gml:id="aq.1.fp.1.ti.1"> <gml:timePosition>2015/7/28T12:00:00Z</gml:timePosition> </gml:TimeInstant> </om:phenomenonTime> <!– (…) –> <om:featureOfInterest xlink:href="#as.1" xlink:title="Aquifer System 1"/> <!– (…) –> </om:OM_Observation> </gwml2:gwPorosity> <gwml2:gwUnitVoid xlink:href="http://www.opengis.net/def/nil/OGC/0/unknown" xlink:title="Unknown"/> <gwml2:gwUnitVoid xlink:href="#as.1" xlink:title="Aquifer System 1"/> </gwml2:GW_UnitVoidProperty> </gwml2:gwUnitVoid> </gwml2:GW_AquiferSystem> Requirement /req/main-xsd/managementArea GW_ManagementArea/gwAreaFeature SHALL NOT refer to features of type ‘GW_Aquifer’, ‘GW_AquiferSystem’, ‘GW_Basin’ or ‘GW_ConfiningBed’ 10.3 Requirement class: GWML2-Constituent XML encoding Requirements class /req/constituent-xsd Target type XML data document Name Constituent xml encoding Dependency /req/xsd-xml-rules Dependency /req/constituent Requirement /req/constituent-xsd/xsd All xml elements under namespace http://www.opengis.net/gwml-constituent/2.2 must validate with the schema located at http://schemas.opengis.net/gwml/2.2/gwml2-constituent.xsd. Requirement /req/constituent-xsd/xsd All the elements and types under namespace “ http://www.opengis.net/gwml-constituent/2.2 ” SHALL validate with schema located at http://schemas.opengis.net/gwml/2.2/gwml2-constituent.xsd 10.4 Requirement class: GWML2-Flow XML encoding Requirements class /req/flow-xsd Target type XML data document Dependency /req/xsd-xml-rules Dependency /req/flow Requirement /req/flow-xsd/xsd All xml elements under namespace http://www.opengis.net/gwml-flow/2.2 must validate with the schema located at http://schemas.opengis.net/gwml/2.2/gwml2-flow.xsd. Requirement /req/flow-xsd/xsd All the elements and types under namespace “ http://www.opengis.net/gwml-flow/2.2 ” SHALL validate with schema located at http://schemas.opengis.net/gwml/2.2/gwml2-flow.xsd 10.5 Requirement class: GWML2-Well XML encoding Requirements class /req/well-xsd Target type XML data document Dependency /req/xsd-xml-rules Dependency /req/construction-xsd Dependency /req/well Requirement /req/well-xsd/xsd Requirement /req/well-xsd/origin-elevation Requirement /req/well-xsd/waterwell-elevationCRS Requirement /req/well-xsd/waterwell-CRS-uom Requirement /req/well-xsd/waterwell-shapeCRS Requirement /req/well-xsd/obs-relative-pos-spatial-reference Requirement /req/well-xsd/waterwell-observation-fromparam Requirement /req/well-xsd/waterwell-observation-toparam Requirement /req/well-xsd/waterwell-sf-spatial-reference Requirement /req/well-xsd/waterwell-sf-fromparam Requirement /req/well-xsd/waterwell-sf-toparam Requirement /req/well-xsd/well-geology Requirement /req/well-xsd/log-coverage Requirement /req/well-xsd/log-depth-order Requirement /req/well-xsd/monitoring-elevationCRS Requirement /req/well-xsd/monitoring-elevation-uom All xml elements under namespace http://www.opengis.net/gwml-well/2.2 must validate with the schema located at http://schemas.opengis.net/gwml/2.2/gwml2-well.xsd. Requirement /req/well-xsd/xsd All the elements and types under namespace “ http://www.opengis.net/gwml-well/2.2 ” SHALL validate with schema located at http://schemas.opengis.net/gwml/2.2/gwml2-well.xsd Well shall provide an origin elevation as a reference for relative positions along the borehole path. Requirement /req/well-xsd/origin-elevation There SHALL be a gwWellReferenceElevation: Elevation:elevationType with a xlink:href equal to “http://resource.gwml.org/def/elevationType/originElevation” Elevation geometries must have a relevant vertical 1D srsName. Requirement /req/well-xsd/waterwell-elevationCRS gwWellReferenceElevation:Elevation:elevation @srsName SHALL contain a 1D vertical SRS Requirement /req/well-xsd/waterwell-CRS-uom gwWellReferenceElevation:Elevation:elevation @srsName datum units and coordinate reference system SHALL be the same as the /req/xsd-gwml-well/waterwell-shapeCRS units and coordinate reference system of the vertical axis Examples of reference elevations (measured using different methods); note, one of them is designated as the origin (‘reference’) elevation for relative positions: <gwml2w:gwWellReferenceElevation> <gwml2w:Elevation> <gwml2w:elevation srsDimension="1" srsName="http://www.opengis.net/def/crs/EPSG/0/5711" uomLabels="m AHD">139.06</gwml2w:elevation> <gwml2w:elevationAccuracy xlink:href="http://www.opengis.net/def/nil/OGC/0/unknown" xlink:title="unknown"/> <gwml2w:elevationType xlink:href="http://www.bom.gov.au/water/groundwater/ngis/elevation-type/natural-ground-surface" xlink:title="natural ground surface"/> <gwml2w:elevationMeasurementMethod xlink:href="http://www.bom.gov.au/water/groundwater/ngis/elevation-method/dem" xlink:title="Digital Elevation Model"/> </gwml2w:Elevation> </gwml2w:gwWellReferenceElevation> <gwml2w:gwWellReferenceElevation> <gwml2w:Elevation> <gwml2w:elevation srsDimension="1" srsName="http://www.opengis.net/def/crs/EPSG/0/5711" uomLabels="m AHD">139.06</gwml2w:elevation> <gwml2w:elevationAccuracy xlink:href="http://www.opengis.net/def/nil/OGC/0/unknown" xlink:title="unknown"/> <gwml2w:elevationType xlink:href="http://resource.gwml.org/def/elevationType/originElevation" xlink:title="reference elevation"/> <gwml2w:elevationMeasurementMethod xlink:href="http://www.bom.gov.au/water/groundwater/ngis/elevation-method/dem" xlink:title="Digital Elevation Model"/> </gwml2w:Elevation> </gwml2w:gwWellReferenceElevation> 10.5.1 Well shape The CRS of the shape must be a 3D CRS that is coherent with the planar CRS of gwWellLocation and the elevation CRS of origin Elevation. Requirement /req/well-xsd/waterwell-shapeCRS GW_Well:shape @srsName SHALL contain a 3D SRS. Example of a well shape represented as a vertical line, using a relevant srsName: <sams:shape> <gml:Curve gml:id="ab.ww.402557.shape.1" srsDimension="3" srsName="urn:ogc:def:crs:EPSG:4955"> <gml:segments> <gml:LineStringSegment> <gml:posList>49.671622 -114.625045 0.00 49.671622 -114.625045 11.58</gml:posList> </gml:LineStringSegment> </gml:segments> </gml:Curve> </sams:shape> 10.5.1.1 Observations Any observation that is positioned relative to a geometry, such as well or borehole path, SHALL identify the geometry as a spatial reference Requirement /req/well-xsd/obs-relative-pos-spatial-reference Any OM_Observation that is positioned relative to a GM_Curve SHALL provide this geometry using a om:NamedValue with the name http://www.opengis.net/def/param-name/GWML/2.2/referenceGeometry and a value of type gml:GM_Curve The relative position of the observation must be encoded in the om:parameter using a specific encoding. Requirement /req/well-xsd/waterwell-observation-fromparam The closest boundary of the interval, the “from” distance, SHALL be encoded in a om:NamedValue with the name http://www.opengis.net/def/param-name/GWML/2.2/fromDistance and a value of type swe:Quantity Requirement /req/well-xsd/waterwell-observation-toparam The farthest boundary of the interval, the “to” distance, SHALL be encoded in a om:NamedValue with the name http://www.opengis.net/def/param-name/GWML/2.2/toDistance and a value of type swe:Quantity Example of Observation positioned along the path of a bore: <om:OM_Observation gml:id="feduni.borehole.observation.51409.44574.32328"> <gml:identifier codeSpace="http://www.ietf.org/rfc/rfc2616"> http://groundwater.victoria.com.au/feature/observation/feduni.borehole.observation.51409.44574.32328 </gml:identifier> <om:phenomenonTime> <gml:TimeInstant gml:id="feduni.borehole.observation.time.51409.44574"> <gml:timePosition>1997-07-14+12:00:00</gml:timePosition> </gml:TimeInstant> </om:phenomenonTime> <om:resultTime xlink:href="#feduni.borehole.observation.time.51409.44574"/> <om:procedure xlink:title="PUM"/> <om:parameter> <om:NamedValue> <om:name xlink:href="http://www.opengis.net/def/param-name/GWML/2.2/fromDistance" xlink:title="from"/> <om:value xsi:type="swe:QuantityPropertyType"> <swe:Quantity> <swe:uom xlink:href="http://qudt.org/vocab/unit#Meter" xlink:title="metre"/> <swe:value>10.5</swe:value> </swe:Quantity> </om:value> </om:NamedValue> </om:parameter> <om:parameter> <om:NamedValue> <om:name xlink:href="http://www.opengis.net/def/param-name/GWML/2.2/toDistance" xlink:title="to"/> <om:value xsi:type="swe:QuantityPropertyType"> <swe:Quantity> <swe:uom xlink:href="http://qudt.org/vocab/unit#Meter" xlink:title="metre"/> <swe:value>10.6</swe:value> </swe:Quantity> </om:value> </om:NamedValue> </om:parameter> <om:parameter> <om:NamedValue> <om:name xlink:href="http://www.opengis.net/def/param-name/GWML/2.2/referenceGeometry" xlink:title="geometry"/> <om:value xsi:type="gml:GeometryPropertyType" xlink:href="# feduni.borehole.51409.shape.1"/> </om:NamedValue> </om:parameter> <om:observedProperty xlink:href="http://environment.data.gov.au/def/property/pH_water" xlink:title="pH"/> <om:featureOfInterest xlink:href="#feduni.borehole.51409"/> (…) </om:OM_Observation> 10.5.1.2 Related Sampling Feature positioned along well path Any sampling feature that is positioned along the well path shall encode a relative position in sams:parameters Requirement /req/well-xsd/waterwell-sf-spatial-reference A SF_SamplingFeature that is positioned relative to a path SHALL provide the geometry in a om:NamedValue with the name http://www.opengis.net/def/param-name/GWML/2.2/referenceGeometry and a value of type gml:GM_Curve If included, the relative positions along the GW_Well shall be encoded using NamedValue. Requirement /req/well-xsd/waterwell-sf-fromparam The closest boundary of the interval , the “from” distance, SHALL be encoded in a om:NamedValue with the name http://www.opengis.net/def/param-name/GWML/2.2/fromDistance and a value of type swe:Quantity Requirement /req/well-xsd/waterwell-sf-toparam The farthest boundary of the interval , the “to” distance, SHALL be encoded in a om:NamedValue with the name http://www.opengis.net/def/param-name/GWML/2.2/toDistance and a value of type swe:Quantity Example of a related sampling feature (the parent feature is a GW_Well) : <sam:relatedSamplingFeature> <sam:SamplingFeatureComplex> <sam:role xlink:href="http://resource.gwml.org/def/role/waterSample" xlink:title="Water sample"/> <sam:relatedSamplingFeature> <spec:SF_Specimen gml:id="spc.1"> (…) <sam:parameter> <om:NamedValue> <om:name xlink:href="http://www.opengis.net/def/param-name/GWML/2.2/fromDistance " xlink:title="from"/> <om:value xsi:type="swe:QuantityPropertyType"> <swe:Quantity> <swe:uom xlink:href=" http://www.opengis.net/def/uom/UCUM/0/m " xlink:title=“metre” code=“m”/> <swe:value>8.12</swe:value> </swe:Quantity> </om:value> </om:NamedValue> </sam:parameter> <sam:parameter> <om:NamedValue> <om:name xlink:href="http://www.opengis.net/def/param-name/GWML/2.2/toDistance " xlink:title="to"/> <om:value xsi:type="swe:QuantityPropertyType"> <swe:Quantity> < swe:uom xlink:href=" http://www.opengis.net/def/uom/UCUM/0/m " xlink:title=“metre” code=“m”/> <swe:value>8.4</swe:value> </swe:Quantity> </om:value> </om:NamedValue> </sam:parameter> <sam:parameter> <om:NamedValue> <om:name xlink:href="http://www.opengis.net/def/param-name/GWML/2.2/referenceGeometry " xlink:title="to"/> <om:value xsi:type="gml:GeometryPropertyType" xlink:href=“#well.path.1” /> </om:NamedValue> </sam:parameter> (…) </spec:SF_Specimen> </sam:relatedSamplingFeature> </sam:SamplingFeatureComplex> </sam:relatedSamplingFeature> 10.5.1.3 Geology Log This standard forbids the use of relatedObservation to link a GW_Well to a GW_GeologyLog, the property gwWellGeology must be used. Requirement /req/well-xsd/well-geology GW_Well SHALL NOT be associated with GW_GeologyLog using om:relatedObservation The geologic log is encoded as a GW_GeologyLogCoverage. Requirement /req/well-xsd/log-coverage The XML element om:result of GW_GeologyLog SHALL have a data type GW_GeologyLogCoverage The fromDepth value must be less than or equal to the toDepth value. Requirement /req/well-xsd/log-depth-order For any given value where both fromDepth and toDepth are non-null, the value of gww:fromDepth/swe:Quantity/swe:Value SHALL be less than or equal to gww:toDepth/swe:Quantity/swe:Value <gwml2w:GW_GeologyLogCoverage gml:id="borehole.INDIANA.USGS.403836085374401.lithology.coverage"> <gwml2w:element> <gwml2w:LogValue> <gwml2w:fromDepth> <swe:Quantity> <swe:uom xlink:href="http://qudt.org/vocab/unit#Foot" xlink:title="foot" code="ft"/> <swe:value>0</swe:value> </swe:Quantity> </gwml2w:fromDepth> <gwml2w:toDepth> <swe:Quantity> <swe:uom xlink:href="http://qudt.org/vocab/unit#Foot" xlink:title="foot" code="ft"/> <swe:value>9</swe:value> </swe:Quantity> </gwml2w:toDepth> <gwml2w:value> <swe:DataRecord definition="http://www.opengis.net/def/gwml/2.2/datarecord/earthMaterial"> <swe:field name="major_lithology"> <swe:Category definition="http://www.opengis.net/def/gwml/2.0/observedProperty/earthMaterial"> <swe:identifier>http://cida.usgs.gov/groundwater/def/lithology/CLAY</swe:identifier> <swe:value>CLAY</swe:value> </swe:Category> </swe:field> <swe:field name="lithology-description"> <swe:Category definition="http://www.opengis.net/def/gwml/2.0/observedProperty/earthMaterial"> <swe:value>BROWN</swe:value> </swe:Category> </swe:field> </swe:DataRecord> </gwml2w:value> </gwml2w:LogValue> </gwml2w:element> </gwml2w:GW_GeologyLogCoverage> 10.5.2 Monitoring Sites Monitoring site elevation geometry must have a relevant vertical 1D srsName. Requirement /req/well-xsd/monitoring-elevationCRS GW_MonitoringSite:gwSiteReferenceElevation/Elevation:elevation @srsName SHALL contain a vertical SRS. Requirement /req/well-xsd/monitoring-elevation-uom GW_MonitoringSite:gwSiteReferenceElevation/Elevation:elevation @srsName datum units and coordinate system SHALL be the same as the /req/well-xsd/monitoring-elevationCRS units and coordinate system vertical axis <gwml2w:gwSiteReferenceElevation> <gwml2w:Elevation> <gwml2w:elevation srsName="http://www.opengis.net/def/crs/EPSG/0/5711" uomLabels="m AHD" srsDimension="1">523.27</gwml2w:elevation> <gwml2w:elevationAccuracy xlink:href="http://www.opengis.net/def/nil/OGC/0/unknown" xlink:title="unknown"/> <gwml2w:elevationType xlink:title="Relative Level Natural Surface"/> <gwml2w:elevationMeasurementMethod xlink:href="http://www.opengis.net/def/nil/OGC/0/unknown" nilReason="unknown" xlink:title="unknown"/> </gwml2w:Elevation> </gwml2w:gwSiteReferenceElevation> 10.6 Requirement class: GWML2-WellConstruction XML encoding Requirements class /req/construction-xsd Target type XML data document Dependency /req/xsd-xml-rules Dependency /req/construction Requirement /req/construction-xsd/xsd Requirement /req/construction-xsd/collar-elevationCRS Requirement /req/construction-xsd/depth-order All xml elements under namespace http://www.opengis.net/gwml-construction/2.2 must validate with the schema located at http://schemas.opengis.net/gwml/2.2/gwml2-wellconstruction.xsd. Requirement /req/construction-xsd/xsd All the elements and types under namespace “ http://www.opengis.net/gwml-construction/2.2 ” SHALL validate with the schema located at http://schemas.opengis.net/gwml/2.2/gwml2-wellconstruction.xsd BoreCollar:collarElevation must have a relevant vertical 1D srsName. Requirement /req/construction-xsd/collar-elevationCRS BoreCollar:collarElevations SHALL have a relevant vertical srsName Requirement /req/construction-xsd/depth-order Each Borehole SHALL have one bholeHeadworks/BoreCollar:collarElevationType @xlink:href = “http://resource.gwml.org/def/collarElevationType/originElevation” Example Borehole BoreCollar and collarElevationType encodings: </gwml2wc:Borehole> <gwml2wc:bholeHeadworks> <gwml2wc:BoreCollar gml:id="borehole.construction.nsw.10019168.collar"> <gwml2wc:collarElevation axisLabels="m AHD" srsDimension="1" srsName="http://www.opengis.net/def/crs/EPSG/0/5711" uomLabels="metre">139.06</gwml2wc:collarElevation> <gwml2wc:collarElevationType xlink:href="http://resource.gwml.org/def/collarElevationType/originElevation "/> <gwml2wc:collarHeadworkType xlink:href="http://www.opengis.net/def/nil/OGC/0/missing" xlink:title="missing"/> <gwml2wc:collarLocation> <gml:Point gml:id="borehole.construction.nsw.10019168.location" srsDimension="2" srsName="http://www.opengis.net/def/crs/EPSG/0/4283"> <gml:pos>-35.50485492957156 146.2265360498699</gml:pos> </gml:Point> </gwml2wc:collarLocation> <gwml2wc:bholeDetails xlink:href="http://environment.data.gov.au/groundwater/feature/borehole/nsw.10019168"/> </gwml2wc:BoreCollar> </gwml2wc:bholeHeadworks> </gwml2wc:Borehole> Construction element “from” value must be less than or equal to the “to” value. Requirement /req/gwml-construction-xsd/depth-order For any given value where both “from” and “to” are non-null, the value of bh:from/swe:Quantity/swe:Value SHALL be less or equal to bh:to/swe:Quantity/swe:Value 10.7 Requirement class: GWML2-Well-Vertical XML encoding (profile) Requirements class /req/vertical-well-xsd Target type XML data document Dependency /req/gwml2well-xsd Dependency /req/vertical-well Requirement /req/vertical-well-xsd/waterwell-shape Requirement /req/vertical-well-xsd/endvertex Vertical wells are represented as simple gml:Curve, made of a single Segment having only 2 coordinates. Requirement /req/vertical-well-xsd/waterwell-shape The sams:shape value of a vertical GW_Well SHALL be of type gml:Curve, consisting of a single segment of type LineStringSegment, containing 2 3D vertices Example of a 3D vertical curve: <sams:shape> <gml:Curve gml:id="ab.ww.402557.shape.1" srsDimension="3" srsName="http://www.opengis.net/def/crs/EPSG/0/4955"> <gml:segments> <gml:LineStringSegment> <gml:posList>49.671622 -114.625045 0.00 49.671622 -114.625045 11.58</gml:posList> </gml:LineStringSegment> </gml:segments> </gml:Curve> </sams:shape> The first vertex (v0) of the LineStringSegment must have the same planar coordinate as the last vertex (v1). Requirement /req/vertical-well-xsd/endvertex The first vertex of the LineStringSegment SHALL have the same planar (x,y) coordinate as the last vertex. 10.8 Requirement class: GeologicLog XML encoding This requirement class specifies the requirements for encoding Geologic Logs Requirements class /req/well-log-xsd Target type XML data document Dependency / req/well-log-xsd Dependency http://www.opengis.net/spec/SWE/2.0/req/xsd-record-components Recommendation /req/gwml2-well-log-xsd/log-definition Log values are encoded as swe:DataRecord, which is an encoding of ISO 11404 Record. It is a composite datatype made of 1 to many fields that are defined along with the instance (not by the XSD). DataRecord allows any collection of fields of any SWE AbstractDataComponent. The DataRecord definition URI defines the structure of the data record and the semantics of the fields. This standard recommends that the definition be controlled by a community with specific use cases to address. Requirement /req/well-log-xsd/log-definition The definition of a DataRecord and the fields that compose it SHOULD have a defining URI governed by an appropriate community Example of a complete gwWellGeology/GW_GeologyLog for geologic units illustrating how swe:DataRecord/definition specifies the field and DataRecord content for the log. <gwml2w:gwWellGeology> <gwml2w:GW_GeologyLog gml:id="borehole.qld.14483A.1.1.stratigraphy"> <gml:identifier codeSpace="http://www.ietf.org/rfc/rfc2616">http://environment.data.gov.au/groundwater/feature/stratigraphy-log.qld.14483A.1.1</gml:identifier> <om:phenomenonTime xlink:href="http://www.opengis.net/def/nil/OGC/0/unknown" xlink:title="unknown"/> <om:resultTime xlink:href="http://www.opengis.net/def/nil/OGC/0/unknown" xlink:title="unknown"/> <om:procedure xlink:href="http://www.opengis.net/def/nil/OGC/0/unknown" xlink:title="unknown"/> <om:observedProperty xlink:href="http:// resource.gwml.org/def/gwml/2.0/observedProperty/hydrostratigraphy" xlink:title="hydrostratigraphy"/> <om:featureOfInterest xlink:href="http://environment.data.gov.au/groundwater/feature/borehole/qld.14483A"/> <om:result> <gwml2w:GW_GeologyLogCoverage gml:id="borehole.qld.14483A.1.1.stratigraphy.coverage"> <gwml2w:element> <gwml2w:LogValue> <gwml2w:fromDepth> <swe:Quantity> <swe:uom xlink:href="http://qudt.org/vocab/unit#Meter" xlink:title="metre" code="m"/> <swe:value>0.00</swe:value> </swe:Quantity> </gwml2w:fromDepth> <gwml2w:toDepth> <swe:Quantity> <swe:uom xlink:href="http://qudt.org/vocab/unit#Meter" xlink:title="metre" code="m"/> <swe:value>14.02</swe:value> </swe:Quantity> </gwml2w:toDepth> <gwml2w:value> <swe:DataRecord definition="http://resource.gwml.org/def/gwml/2.0/datarecord/geologicUnit"> <swe:field name="geologic unit"> <swe:Category definition="http://resource.gwml.org/def/gwml/2.0/observedProperty/hydrostratigraphy"> <swe:identifier>http://environment.data.gov.au/groundwater/feature/hydrogeologicunit/hgu.1079</swe:identifier> <swe:description>Lockyer Creek alluvium</swe:description> <swe:codeSpace xlink:href="http://www.bom.gov.au/water/groundwater/hydrogeologicunit"/> <swe:value>Lockyer Creek alluvium</swe:value> </swe:Category> </swe:field> </swe:DataRecord> </gwml2w:value> </gwml2w:LogValue> </gwml2w:element> <gwml2w:element>{ more gwml2w:elements here }</gwml2w:element> </gwml2w:GW_GeologyLogCoverage> </om:result> <gwml2w:startDepth> <swe:Quantity> <swe:uom xlink:href="http://qudt.org/vocab/unit#Meter" xlink:title="metre" code="m"/> <swe:value>0</swe:value> </swe:Quantity> </gwml2w:startDepth> <gwml2w:endDepth> <swe:Quantity> <swe:uom xlink:href="http://qudt.org/vocab/unit#Meter" xlink:title="metre" code="m"/> <swe:value>57</swe:value> </swe:Quantity> </gwml2w:endDepth> </gwml2w:GW_GeologyLog> </gwml2w:gwWellGeology> Example of a complete gwWellGeology/GW_GeologyLog for lithology illustrating how swe:DataRecord/definition specifies the field and DataRecord content for the log: <gwml2w:gwWellGeology> <gwml2w:GW_GeologyLog gml:id="borehole.nsw.10019168.1.lithology"> <gml:identifier codeSpace="http://www.ietf.org/rfc/rfc2616">http://environment.data.gov.au/groundwater/feature/lithology-log/borehole.nsw.10019168.1</gml:identifier> <om:phenomenonTime xlink:href="http://www.opengis.net/def/nil/OGC/0/unknown" xlink:title="unknown"/> <om:resultTime xlink:href="http://www.opengis.net/def/nil/OGC/0/unknown" xlink:title="unknown"/> <om:procedure xlink:href="http://environment.data.gov.au/groundwater/def/procedure/drillers_log" xlink:title="drillers_log"/> <om:observedProperty xlink:href="http://www.opengis.net/def/gwml/2.0/observedProperty/earthMaterial" xlink:title="lithology"/> <om:featureOfInterest xlink:href="http://environment.data.gov.au/groundwater/feature/borehole/nsw.10019168"/><om:result> <gwml2w:GW_GeologyLogCoverage gml:id="borehole.nsw.10019168.1.lithology.coverage"> <gwml2w:element> <gwml2w:LogValue> <gwml2w:fromDepth> <swe:Quantity> <swe:uom code="m" xlink:href="http://qudt.org/vocab/unit#Meter" xlink:title="metre"/> <swe:value>7.32</swe:value> </swe:Quantity> </gwml2w:fromDepth> <gwml2w:toDepth> <swe:Quantity> <swe:uom code="m" xlink:href="http://qudt.org/vocab/unit#Meter" xlink:title="metre"/> <swe:value>28.35</swe:value> </swe:Quantity> </gwml2w:toDepth> <gwml2w:value> <swe:DataRecord definition="http://www.opengis.net/def/gwml/2.2/datarecord/earthMaterial"> <swe:field name="major_lithology"> <swe:Category definition="http://www.opengis.net/def/gwml/2.0/observedProperty/earthMaterial"> <swe:identifier>http://environment.data.gov.au/groundwater/def/lithology/CLAY</swe:identifier> <swe:value>CLAY</swe:value> </swe:Category> </swe:field> <swe:field name="lithology-description"> <swe:Category definition="http://www.opengis.net/def/gwml/2.0/observedProperty/earthMaterial"> <swe:value>Clay white sandy</swe:value> </swe:Category> </swe:field> </swe:DataRecord> </gwml2w:value> </gwml2w:LogValue> </gwml2w:element> <…> [more gwml2:element properties here] </gwml2w:GW_GeologyLogCoverage> </om:result> <gwml2w:startDepth> <swe:Quantity> <swe:uom code="m" xlink:href="http://qudt.org/vocab/unit#Meter" xlink:title="metre"/> <swe:value>0.0</swe:value> </swe:Quantity> </gwml2w:startDepth> <gwml2w:endDepth> <swe:Quantity> <swe:uom code="m" xlink:href="http://qudt.org/vocab/unit#Meter" xlink:title="metre"/> <swe:value>91.44</swe:value> </swe:Quantity> </gwml2w:endDepth> </gwml2w:GW_GeologyLog> </gwml2w:gwWellGeology> 10.9 Requirement class: Aquifer test XML encoding Requirements class /req/aquifertest-xsd Target type XML data document Dependency /req/xsd-xml-rules Dependency /req/gwml-aquifer-test Dependency http://www.opengis.net/spec/SWE/2.0/req/xsd-record-components Requirement /req/aquifertest-xsd/xsd Requirement /req/aquifertest-xsd/sampledfeature Requirement /req/aquifertest-xsd/testfeature Requirement /req/aquifertest-xsd/observationfeature Requirement /req/aquifertest-xsd/observation-role Requirement /req/aquifertest-xsd/timeseries Requirement /req/aquifertest-xsd/timeseries-datarecord All xml elements under namespace http://www.opengis.net/gwml-aquifertest/2.2 must validate with the schema located at http://schemas.opengis.net/gwml/2.2/gwml2-aquifertest.xsd. Requirement /req/aquifertest-xsd/xsd All the elements and types under namespace “ http://www.opengis.net/gwml-aquifertest/2.2 ” SHALL validate with schema located at http://schemas.opengis.net/gwml/2.2/gwml2-aquifertest.xsd XML encoding conforms to O&M XML encoding (10-025r1), sweCommon (08-094r1) and TimeSeriesML 1.0 (OGC 10-042r1) encoding. This extension introduces a single new class with no new property or association. Note that, while O&M (OGC 10-004r3) proposes subtypes of (abstract) SF_SpatialSamplingFeature , based on their geometries (SF_SamplingPoint, SF_SamplingCurve, etc.), the XML encoding does not materialise any classes for these sub types, but maps (OGC 10-025r1) them all to a concrete SF_SpatialSamplingFeature . The sub types are “soft types” and reported using sam:type property. This property is an XML encoding artefact from 10-025r1 and is not described in the conceptual model (10-004r3). <gwml2at:GW_AquiferTest xmlns:gwml2at="http://www.opengis.net/gwml-aquifertest/2.2" xmlns:sf="http://www.opengis.net/samplingSpatial/2.0" xmlns:swe="http://www.opengis.net/swe/2.0" xmlns:om="http://www.opengis.net/om/2.0" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:sam="http://www.opengis.net/sampling/2.0" gml:id="pump.wit.63" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/gwml-aquifertest/2.2 http://schemas.opengis.net/gwml/2.2/aquifertest.xsd http://www.opengis.net/samplingSpatial/2.0 http://schemas.opengis.net/samplingSpatial/2.0/spatialSamplingFeature.xsd"> <gml:description>Multiple well pumping test using Thiems’s method. Data from The Netherland (from Kruseman & deRitter, 2000). Pumping test done in Oude Korendijk documented by Wit (1963).</gml:description> <gml:identifier codeSpace=" http://www.ietf.org/rfc/rfc2616 ">http://opengis.org/example/pumpingTest/wit63</gml:identifier> <gml:name codeSpace="urn:gwml2:example:name">wik63</gml:name> <gml:location> <gml:LocationString>Oude Korendijk</gml:LocationString> </gml:location> <sam:type xlink:href="http://www.opengis.net/def/samplingFeatureType/OGC-OM/2.0/SF_SamplingSurface"/> <sam:sampledFeature xlink:href="http://opengis.org/example/aquifer/OudeKorendijk" xlink:title="Oude Korendijk aquifer"/> (…) </gwml2at:GW_AquiferTest> GW_AquiferTest , as a subtype of SF_SpatialSamplingFeature , inherits sam:type property. The sampled feature of GW_AquiferTest SHALL be a reference to an instance of a GW_HydrogeoUnit Requirement /req/aquifertest-xsd/sampledfeature The sam:sampledFeature SHALL have a xlink:href to an instance of GW_HydrogeoUnit. SF_SamplingFeatures that are test features, as defined in 9.9.3.2, shall be associated with the GW_AquiferTest using a SF_SamplingFeatureComplex, with the role’s xlink:href set to “http://resource.gwml.org/def/role/testFeature” Requirement /req/aquifertest-xsd/testfeature SF_SamplingFeatureComplex roles that associates GW_AquiferTest with test features SHALL have it’s xlink:href set to http://resource.gwml.org/def/role/testFeature <sam:relatedSamplingFeature> <sam:SamplingFeatureComplex> <!– this one is the pumping well –> <sam:role xlink:href="http://resource.gwml.org/def/role/testFeature" xlink:title="Well that is being pumped"/> <sam:relatedSamplingFeature xlink:href="http://example.gw.com/samplingFeature/WellWit63"/> </sam:SamplingFeatureComplex> </sam:relatedSamplingFeature> SF_SamplingFeatures that are observation features, as defined in 9.9.3.2, shall be associated with the GW_AquiferTest using a SF_SamplingFeatureComplex, with the role’s xlink:href set to http://resource.gwml.org/def/role/observationFeature Requirement /req/aquifertest-xsd/observationfeature SF_SamplingFeatureComplex roles that associates GW_AquiferTest with test features SHALL have it’s xlink:href set to http://resource.gwml.org/def/role/observationFeature <sam:relatedSamplingFeature> <sam:SamplingFeatureComplex> <sam:role xlink:href="http://resource.gwml.org/def/role/observationFeature" xlink:title="Well at which the observation is made"/> <sam:relatedSamplingFeature xlink:href="http://example.gw.com/samplingFeature/WellWit63h215"/> </sam:SamplingFeatureComplex> </sam:relatedSamplingFeature> OM_Observations are linked together using ObservationComplex in the specific case when new observations are derived from support observations. This standard imposes URI for those specifics roles. Requirement /req/aquifertest-xsd/observation-role Raw observations from the observation sampling feature SHALL be link to the test result observations using the roles defined in 9.9.3.4 <sam:relatedObservation> <om:OM_Observation gml:id="obs.wik63.1"> <om:relatedObservation> <om:ObservationContext> <om:role xlink:href="http://resource.gwml.org/def/role/supportObservation" xlink:title="supporting Observation"/> <!–LINK TO TRANSMISSIVITY IN GWML2 –> <om:relatedObservation xlink:href="http://example.gw.com/observations/00001" xlink:title="Accepted Transmissivity for aquifer"/> </om:ObservationContext> </om:relatedObservation> <om:phenomenonTime> <gml:TimePeriod gml:id="tp.wik63.1"> <gml:beginPosition>1963-07-01T13:00:00Z</gml:beginPosition> <gml:endPosition>1963-07-02T02:50:00Z</gml:endPosition> </gml:TimePeriod> </om:phenomenonTime> <om:resultTime> <gml:TimeInstant gml:id="ti.wik63.1"> <!– result valid at the end of the test –> <gml:timePosition>1963-07-02T02:50:00Z</gml:timePosition> </gml:TimeInstant> </om:resultTime> <om:procedure xlink:href="http://resource.gwml.org/def/method/Thiem" xlink:title="Thiem method"/> <!– this is one option to pump test related properties, the other option is to have the procedure above to point to a full SensorML description of the test –> <!– links to a combo of typical pumptest results –> <om:observedProperty xlink:href="http://resource.gwml.org/def/property/pumpTestProperties" xlink:title="Pump test results"/> <om:featureOfInterest xlink:href="#pump.wit.63" xlink:title="Wit 63 Pump test"/> <om:result> <swe:DataRecord definition="http://resource.gwml.org/def/property/pumpTestProperties" id="le.1"> <!– Since pump test can result in many parameters, they are grouped in a record –> <swe:field name="transmissivity"> <swe:Quantity definition="http://resource.gwml.org/def/phenomenon/groundwaterTransmissivity"> <swe:uom code="m^2/d"/> <swe:value>385</swe:value> </swe:Quantity> </swe:field> </swe:DataRecord> </om:result> </om:OM_Observation> </sam:relatedObservation> Observation results that are time series must be encoded with TimeSeriesML 1.0 (OGC 10-042r1). Requirement /req/aquifertest-xsd/timeseries OM_Observation results that are timeseries SHALL be encoded as tsml:TimeseriesObservation Derived (or computed) observation results SHALL be encoded using swe:DataRecord XML encoding. Requirement /req/aquifertest-xsd/timeseries-datarecord Derived or computed observations SHALL be encoded as swe:DataRecord as defined in 08-094r1 (http://www.opengis.net/spec/SWE/2.0/req/xsd-record-components) <om:result> <swe:DataRecord definition="http://resource.gwml.org/def/property/pumpTestProperties" id="le.1"> <swe:field name="transmissivity"> <swe:Quantity definition="http://resource.gwml.org/def/phenomenon/groundwaterTransmissivity"> <swe:uom code="m^2/d"/> <swe:value>385</swe:value> </swe:Quantity> </swe:field> </swe:DataRecord> </om:result> Annex : Conformance Class Abstract Test Suites (Normative) A.1 Introduction This test suite contains 7 conformance classes, including one abstract conformance class. Each test relates to one or more specific requirements, which are explicitly indicated in the description of the test. A.2 Conformance classes – Conceptual Model Conformance Class /conf/conceptual Requirements req/conceptual Test /conf/conceptual/similarity Requirement /req/conceptual/similarity Test purpose Ensure that the target logical model is compatible with the conceptual model. Test method Determine semantic similarity between the logical model and conceptual model using an established method such as : (i) visual comparison of the UML diagrams, (ii) comparison of logical and conceptual components expressed in a common knowledge representation language such as first order logic, or (iii) comparison after mapping to a reference ontology. Test type Capability A.3 Conformance classes – Logical Model A.3.1 Conformance class: GWML 2.0 core logical model (Abstract) Conformance Class /conf/core Requirements /req/core Dependency Urn:iso:dis:iso:19156:clause:A.1.1 Test /conf/core/encoding Requirement /req/core/encoding Test purpose Ensure that all mandatory classes and properties are encoded Test method Verify that the target implementation has all mandatory classes and properties implemented. If mandatory class or property are missing, the test fails Test type Capability Test /conf/core/quantities-uom Requirement /req/core/quantities-uom Test purpose Ensure that all properties of type swe:Quantity or om:OM_ Observation contain an xlink:href with a URI to a valid unit of measurement Test method Visually inspect the target implementation and validate that all properties of type Quantity or Measurement report a unit of measurement Test type Capability Test /conf/core/identifier Requirement /req/core/identifier Test purpose Ensure that the HTTP URI used as a globally unique identifier actually resolves to an instance of the feature using Linked Open Data principles Test method For each feature that has a HTTP URI as a globally unique identifier, resolve the URI and inspect the result to see if it matches the same instance. Note, this conformance class does not imply any specific format, nor a single format Test type Capability Test /conf/core/feature Requirement /req/core/feature Test purpose Ensure that an instance of GWML 2.2 contains at least one valid GWML 2.2 element Test method Inspect the instance and check that a GWML 2.2 element is correctly encoded. Test type Capability A.3.2 Conformance class: GWML 2.0 main logical model Conformance Class /conf/main Requirements /req/main Dependency /conf/core Dependency /conf/constituent Dependency /conf/flow Test /conf/main/observed-unit-fluid-property-foi Requirement /req/main/observed-unit-fluid-property-foi Test purpose Ensure that GW_UnitFluidProperty properties have featureOfInterest referring to the GW_HydrogeoUnit that owns the association with GW_FluidBody Test method Check that each OM_ Observation instance that uses a property value for gwHydraulicConductivity, gwStorativity, gwTransmissivity or gwYield has a featureOfInterest that matches the gwFluidBodyUnit property Test type Capability Test /conf/main/observed-unit-void-property-foi Requirement /req/main/observed-unit-void-property-foi Test purpose Ensure that GW_UnitVoidProperty properties have featureOfInterest referring to the GW_HydrogeoUnit that owns the association with GW_HydrogeoVoid Test method Check that each OM_ Observation instance that uses a property value for gwPermeability or gwPorosity has a featureOfInterest that matches the gwVoidUnit property Test type Capability Test /conf/main/managementArea Requirement /req/main/managementArea Test purpose Ensure that GW_ManagementArea::gwAreaFeauture is not a subtype of GW_HydrogeoUnit Test method Visual inspection of target and insure that gwAreaFeature is not a subtype of GW_HydrogeoUnit Test type Capability A.3.3 Conformance class: GWML 2.0 constituent logical model Conformance Class /conf/constituent Requirements /req/constituent Dependency /conf/core A.3.4 Conformance class: GWML 2.0 flow logical model Conformance Class /conf/gwml2_flow Requirements /req/flow Dependency /conf/core A.3.5 Conformance class: GWML 2.0 Well logical model Conformance Class /conf/well Requirements /req/ well Dependency /conf/main-uml Test /conf/well/waterwell-elevationCRS Requirement /req/well/waterwell-elevationCRS Test purpose Ensure that the all Elevation elevation geometry has a 1D CRS where the units and reference system matches vertical axis of the well shape’s CRS Test method Check, for each well, Elevation instance and check the elevation geometry CRS identifier. Check that this identifier is a valid EPSG code in the EPSG database (http://epsg.io) Test type Capability Test /conf/well/waterwell-shape Requirement /req/well/waterwell-shape Test purpose Ensure that the shape is a 3D GM_Curve Test method Check that the shape geometry has 3 coordinates and that it has a valid 3D CRS Test type Capability Test /conf/well/waterwell-observation-spatial-reference Requirement /req/well/waterwell-observation-spatial-reference Test purpose Ensure that the reference geometry is encoded correctly in the NamedParameter of OM_Observation and is of the correct type Test method For each Observation that is positioned relative to the bore path, check that the value of om:parameter has an instance of om::NamedParameter with two components; the name must be the string “http://www.opengis.net/def/param-name/GWML/2.2/referenceGeometry” and the value type is GM_Curve Test type Capability Test /conf/well/waterwell-observation-fromparam Requirement /req/well/waterwell-observation-fromparam Test purpose Ensure that the “from” distance is encoded correctly in the NamedParameter of OM_Observation Test method For each Observation that is positioned relative to the bore path, check that the value of om:parameter has an instance of om::NamedParameter with two components; the name must be the string “ http://www.opengis.net/def/param-name/GWML/2.2/fromDistance ” and the distance from the origin must be an instance of swe:Quantity, properly encoded according to /conf/core/quantities-uom Test type Capability Test /conf/well/waterwell-observation-toparam Requirement /req/well/waterwell-observation-toparam Test purpose Ensure that the “to” distance is encoded correctly in the NamedParameter of OM_Observation Test method For each Observation that is positioned relative to the bore path, check that the value of om:parameter has an instance of om::NamedParameter with two components. the name must be the string “http://www.opengis.net/def/param-name/GWML/2.2/toDistance” and the distance from the origin must a instance of swe:Quantity, properly encoded according to /conf/core/quantities-uom Test type Capability Test /conf/well/waterwell-sf-spatial-reference Requirement /req/well/waterwell-sf-spatial-reference Test purpose Ensure that the reference geometry is encoded correctly in the NamedParameter of SF_SamplingFeature and is of type GM_Curve Test method For each SamplingFeature that is positioned relative to the bore path, check that the value of sams:parameter has an instance of sams::NamedParameter with two components; the name must be the string “http://www.opengis.net/def/param-name/GWML/2.2/referenceGeometry” and the value must be a GM_Curve Test type Capability Test /conf/well/waterwell-sf-fromparam Requirement /req/well/waterwell-sf-fromparam Test purpose Ensure that the “from” distance is encoded correctly in the NamedParameter of SF_SamplingFeature Test method For each SamplingFeature that is positioned relative to the bore path, check that the value of om:parameter has an instance of sams::NamedParameter with two components; the name must be the string “ http://www.opengis.net/def/param-name/GWML/2.2/fromDistance ” and the distance from the origin must a instance of swe:Quantity, properly encoded according to /conf/core/quantities-uom Test type Capability Test /conf/well/waterwell-sf-toparam Requirement /req/well/waterwell-sf-toparam Test purpose Ensure that the “to” distance is encoded correctly in the NamedParameter of SF_SamplingFeature Test method For each sampling feature that is positioned relative to the bore path, check that the value of om:parameter has an instance of sams:NamedParameter with two components. the name must be the string “ http://www.opengis.net/def/param-name/GWML/2.2/toDistance ” and the distance from the origin must a instance of swe:Quantity, properly encoded according to /conf/core/quantities-uom Test type Capability Test /conf/well/well-geology Requirement /req/well/well-geology Test purpose Ensure that an association between a GW_Well and a GW_GeologyLog is only made using a gwWellGeology. Test method Check that there are no occurrences of GW_Well/om:relatedObservation/GW_GeologyLog Test type Capability Test /conf/well/log-coverage Requirement /req/well/log-coverage Test purpose Ensure that the om:result of GeologyLog is an instance of GW_GeologyLogCoverage Test method Check the om:result of GeologyLog and check if it’s an instance of GW_GeologyLogCoverage or any of its subtypes. Test type Capability Test /conf/well/geometry-origin Requirement /req/well/log-geometry-origin Test purpose Ensure the LogValue are positioned relative to the first vertex of the SF_SamplingCurve of the feature identified by the GW_GeologyLog’s feature if interest Test method Compare coherence with source data Test type Capability Test /conf/well/log-depth Requirement /req/well/log-depth Test purpose Ensure the LogValue depth (fromDepth or toDepth) is the linear distance from the origin of the GM_Curve Test method Compare with the source data that the distance is correctly calculated Test type Capability Test /conf/well/log-depth-order Requirement /req/well/log-depth-order Test purpose Ensure the fromDepth and toDepth are ordered correctly Test method Check for each LogValue, where both fromDepth and toDepth are not nil, that the fromDepth is less or equal to toDepth. Test type Capability Test /conf/well/monitoring-elevationCRS Requirement /req/well/monitoring-elevationCRS Test purpose Ensure the reference elevation geometries have a 1D CRS and its units and CRS match the vertical axis of the shape of the site Test method Check in the EPSG database that CRS of Elevation::elevation exists and is an elevation CRS. Test type Capability A.3.6 Conformance class GWML 2.0 Construction logical model Conformance Class /conf/construction Requirements /req/ construction Test /conf/construction/collar-elevationCRS Requirement /req/construction/collar-elevationCRS Test purpose Ensure that the collar elevation geometry has a 1D CRS and its units and reference system matches the vertical axis of the borehole shape’s CRS. Test method Check in the EPSG database that CRS of collarElevation exists and is an elevation CRS. Test type Capability Test /conf/construction/borehole-shape Requirement /req/construction/construction-origin-elevation Test purpose Ensure that the borehole has one bholeHeadworks/BoreholeCollar which collarElevationType equal to http://resource.gwml.org/def/collarElevationType/originElevation Test method Check target and check Borehole has at one BoreCollar which collarElevationType is of correct type. Test type Capability Test /conf/construction/borehole-shape Requirement /req/construction/borehole-shape Test purpose Ensure that the geometry that describes the borehole path represents the complete length of the bore in such as way that all construction elements (above in below the ground) can be located along the path. Test method Check that the starting point is prior or at the location of the topmost element and the end point is beyond or at the location of the bottommost element. Test type Capability Test /conf/construction/log-depth Requirement /req/construction/log-depth Test purpose Ensure that construction component are positioned linearly from the first vertex of the bore shape, along its path Test method Check that each construction components has a “from” and “to” value is between 0 (zero) and the length of Borehole::shape. If a value is unknown, a “nil” value can be used Test type Capability Test /conf/construction/log-depth-order Requirement /req/well/log-depth-order Test purpose Ensure that ConstructionComponent’s “from” value is always less (closer to origin) than “to” value Test method When both “from” and “to” are non nil, check that “from” is less than or equal to “to” value Test type Capability A.3.7 Conformance class : GWML 2.0 Vertical Well logical model Conformance Class /conf/vertical-well Requirements /req/vertical-well Dependency /conf/well Test /conf/vertical-well/waterwell-shape Requirement /req/vertical-well/waterwell-shape Test purpose Ensure that the shape of a vertical well is made of only one segment (two vertices) Test method Check that GW_Well::shape geometry has 6 and only 6 coordinates Test type Capability Test /conf/vertical-well/endvertex Requirement /req/vertical-well/end-vertex Test purpose Ensure that the shape of the GW_Well is vertical Test method Considering that the GW_Well:shape is composed of two 3D points, [x0,y0,z0] and [x1,y1,z1]. Check coordinates x1 == x0 and y1 == y0 Test type Capability A.3.8 Conformance class: GWML 2.0 Geologic logs Conformance Class /conf/well-log Requirements /req/well-log Dependency /conf/well A.3.9 Conformance class : GWML 2.2 Aquifer Test Conformance Class /conf/aquifertest Requirements /req/aquifertest Dependency /conf/core Dependency http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-observation Dependency http://www.opengis.net/spec/SWE/2.0/conf/uml-record-components Test /conf/aquifertest/sampledfeature Requirement /req/aquifertest/sampledfeature Test purpose Ensure that aquifer tests are about hydrogeological units Test method Check that the sampledFeaure of the test refers to an instance of GW_HydrogeoUnit. Test type Capability Test /conf/aquifertest /testfeature Requirement /req/aquifertest/testfeature Test purpose Ensure that the sampling features use to perform the test itself are correctly identified Test method Check that the role of the SF_SamplingFeatureComplex is “http://resource.gwml.org/def/role/testFeature” Test type Capability Test /conf/aquifertest /observationfeature Requirement /req/aquifertest/observationfeature Test purpose Ensure that the sampling features use to monitor the test itself are correctly identified Test method Check that the role of the SF_SamplingFeatureComplex is “http://resource.gwml.org/def/role/observationFeature” Test type Capability Test /conf/aquifertest /observation-role Requirement /req/aquifertest/observation-role Test purpose Ensure that observations gained from observation features are linked to derived observations Test method Check that the value type use the correct URI when any of the roles are listed in 9.9.3.3 Test type Capability Test /conf/aquifertest /timeseries Requirement /req/aquifertest/timeseries Test purpose Ensure that results that represent values taken over time are encoded using TimeSeriesML 1.0 (OGC 10-042r1) Test method Check the encoding of the result and check it fits conformance classes of TimeSeriesML 1.0 Test type Capability Test /conf/aquifertest /timeseries-datarecord Requirement /req/aquifertest/timeseries-daterecord Test purpose Ensure that derived observation results are encoded using a swe:DataRecord Test method Check the encoding of derived observation and check they comply to swe:DataRecord Test type Capability A.4 Conformance classes – XML encoding A.4.1 Conformance classes : xml-rules Conformance Class /conf/xsd-xml-rules Requirements /req/xsd-xml-rules Dependency 08-131r3 Req 39 Dependency 08-131r3 Req 40 Dependency 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 Test /conf/xsd-xml-rules/W3C_XSD Requirement /req/xsd-xml-rules/W3C_XSD Test purpose Ensure that the xml element are valid with XSD Test method Use a XSD validation tool and check that validation does not return any error Test type Capability Test /conf/xsd-xml-rules/sch Requirement /req/xsd-xml-rules/ISO-schematron Requirement /req/xsd-xml-rules/swe-types Requirement /req/xsd-xml-rules/xlink-title Test purpose Validate the XML document using the schematron document http://schemas.opengis.net/gwml/2.2/xml-rules.sch . Passes if no errors are reported for ‘ unit-of-measure ’ test. Fails otherwise. Test method Use a schematron validation tool and check that validation does not return any error Test type Capability Test /conf/xsd-xml-rules/ iso8601-time Requirement /req/xsd-xml-rules/iso8601-time Test purpose Ensure that all instance of date time, even in free text string, use the iso8601 encoding Test method Inspect instance where date-time instance appears and check if they are encoded as iso8601 Test type Capability Test /conf/xsd-xml-rules/ time-zone Requirement /req/xsd-xml-rules/time-zone Test purpose Ensure that all time are flagged with time zone Test method Inspect occurrence of date-time and check if it has a 4 digit character or a Z (Zulu). If absent, test fails Test type Capability Test /conf/xsd-xml-rules/identifier Requirement /req/xsd-xml-rules/identifier Test purpose Ensure that gml:identifiers with codeSpace == http://www.ietf.org/rfc/rfc2616 have a http URI that resolves Test method Check that HTTP URI, when invoked returns an HTTP code between 200 and 203, or 300 and 305 Test type Capability A.4.2 Conformance classes: GWML2-Main xml encoding Conformance Class /conf/main-xsd Requirements /req/main-xsd Dependency /conf/flow-xsd Dependency /conf/constituent-xsd Dependency http://www.opengis.net/spec/OMXML/2.0/conf/observation Dependency http://www.opengis.net/spec/OMXML/2.0/conf/sampling Test /conf/ main-xsd/xsd Requirement /req/main-xsd/xsd Test purpose Ensure that all elements under the namespace http://www.opengis.net/gwml-main/2.2 validate with the schema located at http://schemas.opengis.net/gwml/2.2/gwml2-main.xsd Test method Use an XSD validator to validate the XML instance against the schema located at http://schemas.opengis.net/gwml/2.2/gwml2-main.xsd and check that no errors are generated for elements under the namespace http://www.opengis.net/gwml-main/2.2 or its dependencies. Pass if no errors reported. Fail otherwise Test type Capability Test /conf/ main-xsd/sch Requirement /req/main-xsd Requirement /req/main-xsd/observed-unit-fluid-property-foi Requirement /req/main-xsd/observed-unit-void-property-foi Requirement /req/main-xsd/managementArea Test purpose Ensure that instance document validate agains schematron rules Test method Use a schematron validator and test the instance document against http://schemas.opengis.net/gwml/2.2/gwml2-main.sch . The test fails if any schematron rules are broken Test type Capability A.4.3 Conformance classes : GWML2-Constituent xml encoding Conformance Class /conf/gwml2-constituent-xsd Dependency /conf/xsd-xml-rule Requirements /req/constituent-xsd Test /conf/constituent-xsd/xsd Requirement /req/constituent-xsd/xsd Test purpose Ensure that all element under the namespace http://www.opengis.net/gwml-constituent/2.2 validates with schema located at http://schemas.opengis.net/gwml/2.2/gwml2-constituent.xsd Test method Use a XSD validator to validate the XML instance against schema located at http://schemas.opengis.net/gwml/2.2/gwml2-constituent.xsd and check that no error are generate for elements under namespace http://www.opengis.net/gwml-constituent/2. 1 or its dependencies. Pass if no errors reported. Fail otherwise Test type Capability A.4.4 Conformance classes : GWML2-flow xml encoding Conformance Class /conf/gwml2-flow-xsd Dependency /conf/xsd-xml-rule Requirements / req/flow-xsd Test /conf/ flow-xsd/xsd Requirement /req/flow-xsd/xsd Test purpose Ensure that all element under the namespace http://www.opengis.net/gwml-flow/2. 2 validates with schema located at http://schemas.opengis.net/gwml/2.2/gwml2-flow.xsd Test method Use a XSD validator to validate the XML instance against schema located at http://schemas.opengis.net/gwml/2.2/gwml2-flow.xsd and check that no error are generate for elements under namespace http://www.opengis.net/gwml-flow/2. 1 or its dependencies. Pass if no errors reported. Fail otherwise Test type Capability A.4.5 Conformance classes: GWML2-well xml encoding Conformance Class /conf/gwml2-well-xsd Dependency /conf/xsd-xml-rule Dependency /conf/construction-xsd Requirements / req/well-xsd Test /conf/well-xsd/xsd/ Requirement /req/well-xsd/xsd Test purpose Ensure that the GW_Well instances conform to the rules expressed in the schema Test method Use a XSD validator to validate instances. If the validator reports an error on a GWML 2.1 element, then the test fails Test type Capability Test /conf/well-xsd/sch/ Requirement /req/well-xsd Requirement /req/well-xsd/origin-elevation Requirement /req/well-xsd/obs-relative-pos-spatial-reference Requirement /req/well-xsd/waterwell-observation-fromparam Requirement /req/well-xsd/waterwell-observation-toparam Requirement /req/well-xsd/waterwell-sf-spatial-reference Requirement /req/well-xsd/waterwell-sf-fromparam Requirement /req/well-xsd/waterwell-sf-toparam Requirement /req/well-xsd/well-geology Requirement /req/well-xsd/log-coverage Requirement /req/well-xsd/log-depth-order Requirement /req/well-xsd/monitoring-elevation-uom Test purpose Ensure that instance document validates agains schematron rules Test method Use a schematron validator and test the instance document against http://schemas.opengis.net/gwml/2.2/gwml2-well.sch . The test fails if any schematron rules are broken Test type Capability Test /conf/well-xsd/waterwell-elevationCRS Requirement /req/well-xsd/waterwell-elevationCRS Test purpose Ensure that all Elevations have a relevant 1D vertical srsName Test method Check the value of :GW_Well/sam:gwWellReferenceElevation/Elevation/elevation/@srsName against the EPSG database or CRS specification to ensure it represents a 1D vertical SRS Test type Capability Test /conf/xsd-gwml-well/waterwell-elevationCRS-uom Requirement /req/xsd-gwml-well/waterwell-shape-CRS-uom Test purpose Ensure that the elevation is expressed using the same units of measure and coordinate system as the geometry Test method Check the CRS of the elevation and compare the uom and coordinate systems. If they are not compatible, the test fails. Test type Capability Test /conf/well-xsd/waterwell-elevationCRS Requirement /req/well-xsd/waterwell-shape-CRS Test purpose Ensure that the shape’s coordinate system is sharing the same elevation CRS than the than the original Elevation Test method Check the value of GW_Well/sam:shape/*/@srsName against EPSG database or CRS specification to ensure that it’s elevation reference system (z) matches the CRS used in the Elevations used in Elevation Test type Capability Test /conf/well-xsd /monitoring-elevationCRS Requirement /req/xsd-gwml-well/ monitoring-elevationCRS Test purpose Ensure that the monitoring site elevation has relevant 1D vertical CRS Test method Check the value of GW_Well/gwSiteReferenceElevation/Elevation/elevation/@srsName against EPSG database or CRS specification to ensure it represents a 1D vertical SRS Test type Capability A.4.6 Conformance classes : GWML2-construction xml encoding Conformance Class /conf/construction-xsd Requirements /req/construction-xsd Dependency /conf/xsd-xml-rule Test /conf/ construction-xsd /xsd Requirement /req/construction-xsd Test purpose Ensure that all elements under the namespace http://www.opengis.net/gwml-construction/2.2 validate with the schema located at http://schemas.opengis.net/gwml/2.2/gwml2-wellconstruction.xsd Test method Use an XSD validator to validate the XML instance against the schema located at http://schemas.opengis.net/gwml/2.2/gwml2-well.xsd and check that no errors are generated for elements under the namespace http://www.opengis.net/gwml-construction/2.2 or its dependencies. Pass if no errors reported. Fail otherwise. Test type Capability Test /conf/ construction-xsd /sch Requirement /req/construction-sch Test purpose Ensure that instance document validate agains schematron rules Test method Use a schematron validator and test the instance document against http://schemas.opengis.net/gwml/2.2/gwml2-construction.sch . The test fails if any schematron rules are broken Test type Capability Test /conf/ construction-xsd/depth-order Requirement /req/ construction/depth-order Test purpose Ensure that instance document validates with rules expressed in schematron file. Test method Validate the XML document using the Schematron document http://schema.opengis.net/gwml/2.2/gwml2-construction.sch. Conformance passes if no error, fails otherwise. Test type Capability Test /conf/ construction-xsd/collar-elevationCRS Requirement /req/construction/collar-elevationCRS Test purpose Ensure that collar elevation uses a relevant 1D vertical CRS Test method Check the values of BoreCollar/collarElevation/@srsName against EPSG database or CRS specification to Ensure it represents a 1D vertical SRS Test type Capability A.4.7 Conformance classes: GWML2-vertical well xml encoding Conformance Class /conf/vertical-well-xsd Requirements /req/ vertical-well-xsd Dependency /conf/xsd-xml-rule Dependency /conf/well-xsdl Test /conf/ vertical-well-xsd/waterwell-shape Requirement /req/vertical-well-xsd/waterwell-shape Requirement /req/vertical-well-xsd/endvertex Test purpose Ensure that instance document validate with rules expressed in schematron file. Test method Validate the XML document using the Schematron document http://schema.opengis.net/gwml/2.2/gwml2-well-vertical.sch . Conformance passes if no error, fails otherwise. Test type Capability A.4.8 Conformance classes: GWML2-Aquifertest xml encoding Conformance Class /conf/gwml2-aquifertest-xsd Dependency /conf/xsd-xml-rule Requirements /req/aquifertest-xsd Test /conf/aquifertest-xsd/xsd Requirement /req/aquifertest-xsd/xsd Test purpose Ensure that all elements under the namespace http://www.opengis.net/gwml-aquifertestt/2.2 validate with the schema located at http://schemas.opengis.net/gwml/2.2/gwml2-aquifertest.xsd Test method Use an XSD validator to validate the XML instance against the schema located at http://schemas.opengis.net/gwml/2.2/gwml2-aquifertest.xsd and check that no errors are generated for elements under the namespace http://www.opengis.net/gwml-aquifertest/2. 1 or its dependencies. Pass if no errors reported. Fail otherwise Test type Capability Test /conf/aquifertest -xsd /sch Requirement /req/aquifertest-xsd Requirement /req/aquifertest-xsd/sampledfeature Test purpose Ensure the instance document validates agains the schematron rules Test method Use a schematron validator and test the instance document against http://schemas.opengis.net/gwml/2.2/gwml2-aquifertest.sch . The test fails if any schematron rules are broken Test type Capability Test /conf/aquifertestxsd/testfeature Requirement /req/aquifertest-xsd/testfeature Test purpose Ensure that test features are associated with the aquifer test using the correct role Test method For all sampling features that are test features, check that the SF_SamplingFeatureComplex::role is set to http://resource.gwml.org/def/role/testFeature Test type Capability Test /conf/aquifertest-xsd/observationfeature Requirement /req/aquifertest-xsd/observationfeature Test purpose Ensure that observation features are associated with the aquifer test using the correct role Test method For all sampling features that are observation features, check that the SF_SamplingFeatureComplex role is set to http://resource.gwml.org/def/role/observationFeature Test type Capability Test /conf/aquifertestxsd/observation-role Requirement /req/aquifertest-xsd/observation-role Test purpose Ensure that the observations that are part of a chain, or support and derived observations, are linked together with OM_ObservationContext using the proper role Test method For all observations that are part of a chain of transformation, check that the OM_ObservationContext has it’s role xlink:href set to one of the values defined in 9.9.3.4 Test type Capability Test /conf/aquifertestxsd/timeseries Requirement /req/aquifertestxsd/timeseries Test purpose Ensure that Observation results that are time series are encoded in TimeSeriesML 1.0 (OGC 10-042r1) Test method Inspect instance documents and verify that any time series results are encoded in valid TimeSeriesML 1.0 (OGC 10-042r1) Test type Capability Test /conf/aquifertest-xsd/timeseries-datarecord Requirement /req/aquifertest-xsd/timeseries-datarecord Test purpose Ensure that the final aquifer test result, encoded as OM_Observation, delivers the result using a swe:DataRecord Test method Scan the document for Observations that are the final outcome of the test, and check that the results are encoded according to http://www.opengis.net/spec/SWE/2.0/req/xsd-record-components Test type Capability Annex : Revision history (informative) Date Release Author Paragraph modified Description 2016-01-29 0.1.0 Bruce Simons All Initial internal version based on IE report 2016-01-29 0.1.1 Boyan Brodaric All Draft submission 2016-03-03 0.1.2 Bruce Simons All Version, namespaces, GeoSciML 4.0 2016-03-07 0.1.3 Boyan Brodaric All Final edits 2016-03-30 0.1.4 Scott Simmons All Moved to current OGC standard template 2016-05-02 r1 Boyan Brodaric All Changes as per OGC OAB review 2016-05-18 r1.1 Eric Boisvert All Changes as per OGC-NA review Left justified XML snippets Moved Conceptual Conformance in Annex Annex : Bibliography (informative) (ANS, 1980) American Nuclear Society, 1980. American national standard for evaluation of radionuclide transport in groundwater for nuclear power sites. ANSI/ANS-2.17-1980, American Nuclear Society, La Grange Park, Illinois. (ASCE, 1987) American Society of Civil Engineers, 1987. Ground water management. ASCE Manual and Reports on Engineering Practice No. 40, New York, 263 pp. (BDLISA, 2013) BDLISA, 2013. Dictionnaire des données - Référentiel hydrogéologique (Version 2). Retrieved 13 July 2015, from: http://www.sandre.eaufrance.fr/urn.php?urn=urn:sandre:dictionnaire:SAQ:FRA:::ressource:2.0:::pdf (OGC 2016) Brodaric, B., (Ed), 2016. OGC GroundWaterML2 – GW2IE Final Report. Open Geospatial Consortium Engineering Report 15-082, v2.1, 175 pp., http://www.opengis.net/doc/groundwaterml/2.1 . (Boisvert & Brodaric, 2012) Boisvert, B., Brodaric, B., 2012. GroundWater Markup Language (GWML) – Enabling Groundwater Data Interoperability in Spatial Data Infrastructures. Journal of Hydroinformatics, 14(1):93–107. (Brodaric & Booth, 2011) Brodaric, B, Booth, N., 2011. Groundwater Interoperability Experiment, FINAL REPORT. OGC 10-194r3, Open Geospatial Consortium, 48 pp. (Freeze & Cherry, 1979) Freeze, R.A., Cherry, J.A., 1979. Groundwater. Prentice Hall, Englewood Cliffs, NJ, 604 pp. (Heath, 1983) Heath, R. C., 1983. Basic ground-water hydrology. Water-Supply Paper 2220, U.S. Geological Survey, 86 pp. (INSPIRE, 2013) INSPIRE, 2013. D2.8.II.4 Data Specification on Geology – Technical Guidelines. D2.8.II.4_v3.0. European Commission, Thematic Working Group Geology, 362 pp., http://inspire.jrc.ec.europa.eu/documents/Data_Specifications/INSPIRE_DataSpecification_GE_v3.0.pdf (Lohman, 1972) Lohman, S.W., 1972. Definitions of selected grpound-water terms, revisions and conceptual refinemets. Water Supply Paper 1988, U.S. Geological Survey, 21 pp. (IGH0556) WMO, UNESCO, 2012. Groundwater Divide. In: International Glossary of Hydrology, WMO-No. 385. Geneva, Swittzerland, 471 pp. http://webworld.unesco.org/water/ihp/db/glossary/glu/EN/GF0556EN.HTM . (IGH1397) WMO, UNESCO, 2012. Well. In: International Glossary of Hydrology, WMO-No. 385. Geneva, Swittzerland, 471 pp. http://webworld.unesco.org/water/ihp/db/glossary/glu/EN/GF1397EN.HTM . [1] www.opengeospatial.org/cite