0% found this document useful (0 votes)
235 views141 pages

S-104 Product Specification 1 1 0 Final

The document S-104 outlines the specifications for Water Level Information for Surface Navigation, published by the International Hydrographic Organization in March 2023. It details the data types, encoding, and structure necessary for effective navigation, along with guidelines for data quality, maintenance, and portrayal. The document includes a comprehensive history of revisions and updates made to the specification since its initial draft in 2015.

Uploaded by

1574890668
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
235 views141 pages

S-104 Product Specification 1 1 0 Final

The document S-104 outlines the specifications for Water Level Information for Surface Navigation, published by the International Hydrographic Organization in March 2023. It details the data types, encoding, and structure necessary for effective navigation, along with guidelines for data quality, maintenance, and portrayal. The document includes a comprehensive history of revisions and updates made to the specification since its initial draft in 2015.

Uploaded by

1574890668
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 141

S-104

Water Level Information for


Surface Navigation Product
Specification

Edition 1.1.0 – March 2023

Published by the
International Hydrographic Organization
4b quai Antoine 1er
Principauté de Monaco
Tel: (377) 93.10.81.00
Fax: (377) 93.10.81.40
[email protected]
www.iho.int
ii Water Level Information for Surface Navigation Product Specification

© Copyright International Hydrographic Organization 2023

This work is copyright. Apart from any use permitted in accordance with the Berne
Convention for the Protection of Literary and Artistic Works (1886), and except in the
circumstances described below, no part may be translated, reproduced by any process,
adapted, communicated or commercially exploited without prior written permission from
the International Hydrographic Organization (IHO). Copyright in some of the material in
this publication may be owned by another party and permission for the translation and/or
reproduction of that material must be obtained from the owner.

This document or partial material from this document may be translated, reproduced or
distributed for general information, on no more than a cost recovery basis. Copies may
not be sold or distributed for profit or gain without prior written agreement of the IHO
Secretariat and any other copyright holders.

In the event that this document or partial material from this document is reproduced,
translated or distributed under the terms described above, the following statements are
to be included:

“Material from IHO publication [reference to extract: Title, Edition] is reproduced with
the permission of the IHO Secretariat (Permission No ……./…) acting for the
International Hydrographic Organization (IHO), which does not accept responsibility
for the correctness of the material as reproduced: in case of doubt, the IHO’s
authentic text shall prevail. The incorporation of material sourced from IHO shall
not be construed as constituting an endorsement by IHO of this product.”

“This [document/publication] is a translation of IHO [document/publication] [name].


The IHO has not checked this translation and therefore takes no responsibility for its
accuracy. In case of doubt the source version of [name] in [language] should be
consulted.”
The IHO Logo or other identifiers shall not be used in any derived product without
prior written permission from the IHO Secretariat.

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification iii

Document History
Changes to this Specification are coordinated by the Tides, Water Levels and Currents Working Group
(TWCWG). New editions will be made available via the IHO web site. Maintenance of the Specification
shall conform to IHO Resolution 2/2007 (as amended).

Version Date Editor Purpose


Number
0.0.0 February 2015 Z Jayaswal Initial Draft
0.0.1 May 2016 Z Jayaswal TWCWG1 – Working group input
incorporated from Brazil meeting.
0.0.2 August 2016 Z Jayaswal TWCWG – incorporate feedback on Portrayal
and Attributes.
0.0.3 March 2017 Z Jayaswal Extract commonality from S-111 Ver. 0.1.10
to ensure consistency between standards.
0.0.4 May 2017 Z Jayaswal As edited during TWCWG2.
0.0.5 November 2017 Z Jayaswal Feedback from TWCWG and S-100WG.
0.0.6 September 2018 Z Jayaswal Feedback from TWCWG3 and S-129WG.
0.0.7 March 2019 Z Jayaswal Feedback from S100 Test Strategy Meeting
Sep 2018.
0.0.8 April 2019 Z Jayaswal, K Feedback from NOAA and TWCWG4.
Hess & G. Seroka
0.0.9 Aprril 2021 Z Jayaswal, G. Feedback from TWCWG5.
Seroka, R.
Malyankar
Review by
TWCWG and S-
104 project team
1.0.0 June 2021 R. Malyankar Applied review comments on Ver. 0.0.9.
Draft 1 Added carrier metadata attributes for
coordinate systems approved by S-100WG.
Added exchange set structure and use cases.
1.0.0 August 2021 R. Malyankar. Applied comments on Draft 1.
Draft 2 Review by ZJ,
GS.
1.1.0- August 2022 R. Malyankar Aligned with S-100 5.0.0; applied some of the
20220831 held-over comments from Edition 1.0.0; new
enumeration dictionary material
1.1.0- February 2023 R. Malyankar, G. Fill value for waterLevelHeight now has 2
20230131 Seroka zeroes after decimal point; specified datatype
size for HDF5 attributes; clarification of
attribute dimension in feature type metadata;
updated references; updated rules for dataset
and support file names; guidance on
(optional) ISO metadata; adjusted language
on use of Schematron and digital signatures;
added emphasis for differences between S-
100 and S-104 exchange catalogues; added
productIdentifier metadata attribute; added
Res. 3/1919 as a separate reference. Figures
in Annex E removed.

S-104 March 2023 Edition 1.1.0


iv Water Level Information for Surface Navigation Product Specification

1.1.0 April 2023 R. Malyankar Applied TWCWG review feedback; corrected


S-100 error in digital signature types in
metadata.

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification v

Contents Page
1 Overview ................................................................................................................................ 1
1.1 Introduction ........................................................................................................................ 1
1.1.1 Data types ............................................................................................................... 1
1.1.2 Display ..................................................................................................................... 1
1.1.3 Encoding .................................................................................................................. 1
1.2 Scope ................................................................................................................................ 2
1.3 References ........................................................................................................................ 2
1.3.1 Normative ................................................................................................................ 2
1.3.2 Informative ............................................................................................................... 2
1.4 Terms, definitions and abbreviations ................................................................................ 3
1.4.1 Terms and definitions .............................................................................................. 3
1.4.2 Abbreviations ........................................................................................................... 5
1.4.3 Notation ................................................................................................................... 5
1.5 Use of language ................................................................................................................ 6
1.6 General data product description ...................................................................................... 6
1.7 Data Product Specification metadata ................................................................................ 7
1.7.1 IHO Product Specification maintenance.................................................................. 7
2 Specification Scopes ............................................................................................................ 8
3 Dataset Identification ........................................................................................................... 8
4 Data Content and Structure ............................................................................................... 10
4.1 Introduction ...................................................................................................................... 10
4.2 Application Schema ........................................................................................................ 10
4.3 Feature Catalogue........................................................................................................... 10
4.3.1 Introduction ............................................................................................................ 10
4.3.2 Feature types ......................................................................................................... 10
4.3.3 Feature relationship ............................................................................................... 10
4.3.4 Attributes ............................................................................................................... 10
4.3.5 Spatial quality ........................................................................................................ 11
4.4 Dataset types .................................................................................................................. 11
4.5 Spatial Schema ............................................................................................................... 12
4.5.1 Coverages ............................................................................................................. 12
5 Coordinate Reference Systems (CRS) ............................................................................. 13
5.1 Horizontal reference system ........................................................................................... 13
5.2 Vertical reference system ................................................................................................ 14
5.3 Temporal reference system ............................................................................................ 15
6 Data Quality ......................................................................................................................... 15
6.1 Introduction ...................................................................................................................... 15
6.1.1 Data quality metadata (informative) ...................................................................... 15
6.1.2 Data quality elements and data quality measures ................................................ 15
6.2 Additional components of data quality ............................................................................ 19
6.3 Assessment of data quality ............................................................................................. 19
6.4 Validation checks ............................................................................................................ 20
7 Data Capture and Classification........................................................................................ 20
7.1 Data sources for water levels .......................................................................................... 20
7.1.1 Determination of trend ........................................................................................... 21
7.2 The production process ................................................................................................... 21
7.2.1 Metadata ................................................................................................................ 21
7.2.2 Water Level Data ................................................................................................... 22
7.2.3 Validation (informative) .......................................................................................... 22
7.3 Guidance for chunking and compression (informative)................................................... 22

S-104 March 2023 Edition 1.1.0


vi Water Level Information for Surface Navigation Product Specification

7.4 Datasets in a series ......................................................................................................... 23


7.5 Data use purpose ............................................................................................................ 23
7.5.1 Datum requirements .............................................................................................. 23
7.5.2 Spatial type recommendations (informative) ......................................................... 23
7.5.3 Suitability for navigation (informative) ................................................................... 23
7.5.4 Use purpose metadata .......................................................................................... 24
7.6 Compliance categories .................................................................................................... 24
7.7 Compliance with S-98 ..................................................................................................... 24
7.7.1 Requirements for visual interoperability ................................................................ 24
7.7.2 Requirements for harmonised user experience .................................................... 24
8 Maintenance ........................................................................................................................ 24
8.1 Overview of dataset maintenance ................................................................................... 24
8.1.1 Update of harmonic constants (informative) ......................................................... 25
8.2 Metadata related to dataset maintenance (informative) ................................................. 25
8.2.1 Elements used in S-104 ........................................................................................ 25
8.2.2 New datasets ......................................................................................................... 26
8.2.3 New Editions .......................................................................................................... 26
8.2.4 Cancellations ......................................................................................................... 26
8.2.5 Other S100_Purpose values (informative) ............................................................ 27
8.2.6 Maintenance of support files ................................................................................. 27
8.2.7 Encoding update frequency ................................................................................... 27
9 Portrayal .............................................................................................................................. 28
9.1 Introduction ...................................................................................................................... 28
9.2 Display of water level at a single point ............................................................................ 28
9.2.1 Symbol ................................................................................................................... 28
9.2.2 Text Box ................................................................................................................ 29
9.2.3 Graphic Time Series Plot ...................................................................................... 29
9.3 Display of gridded data ................................................................................................... 30
9.4 Treatment of missing values ........................................................................................... 31
9.5 Temporal considerations ................................................................................................. 31
9.6 Interoperability ................................................................................................................. 31
9.7 Construction and packaging of Portrayal Catalogues ..................................................... 31
10 Data Product Format (Encoding) ...................................................................................... 32
10.1 Introduction ...................................................................................................................... 32
10.2 HDF5 product structure for time series and gridded data ............................................... 32
10.2.1 Data type definition ................................................................................................ 32
10.2.2 Product structure ................................................................................................... 33
10.3 Sample HDF5 encoding .................................................................................................. 39
11 Data Product Delivery ........................................................................................................ 40
11.1 Introduction ...................................................................................................................... 40
11.2 HDF5 dataset packaging ................................................................................................. 40
11.2.1 Exchange Sets ...................................................................................................... 40
11.2.2 Exchange Catalogue ............................................................................................. 43
11.2.3 Dataset file naming ................................................................................................ 43
11.2.4 Support files ........................................................................................................... 44
11.2.5 Support file naming................................................................................................ 44
12 Metadata .............................................................................................................................. 45
12.1 Introduction ...................................................................................................................... 45
12.1.1 Realisation of Exchange Set components and metadata classes (informative) ... 45
12.1.2 Exchange Set components and related metadata ................................................ 46
12.2 Discovery metadata......................................................................................................... 48
12.2.1 S100_ExchangeCatalogue .................................................................................... 51
12.2.2 S100_ExchangeCatalogueIdentifier ...................................................................... 53

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification vii

12.2.3 S100_CataloguePointofContact ............................................................................ 53


12.2.4 S100_DatasetDiscoveryMetadata ......................................................................... 54
12.2.5 S100_NavigationPurpose ...................................................................................... 57
12.2.6 S100_DataCoverage ............................................................................................. 57
12.2.7 S100_Purpose ....................................................................................................... 58
12.2.8 S100_TemporalExtent ........................................................................................... 59
12.2.9 S100_EncodingFormat .......................................................................................... 59
12.2.10 S100_ProductSpecification ................................................................................... 59
12.2.11 S100_CompliancyCategory................................................................................... 60
12.2.12 S100_ProtectionScheme ....................................................................................... 60
12.2.13 S100_SupportFileDiscoveryMetadata ................................................................... 61
12.2.14 S100_SupportFileFormat ...................................................................................... 62
12.2.15 S100_SupportFileRevisionStatus .......................................................................... 62
12.2.16 S100_SupportFileSpecification ............................................................................. 62
12.2.17 S100_ResourcePurpose ....................................................................................... 63
12.2.18 S100_CatalogueDiscoveryMetadata ..................................................................... 63
12.2.19 S100_CatalogueScope ......................................................................................... 64
12.2.20 MD_MaintenanceInformation ................................................................................ 65
12.2.21 MD_MaintenanceFrequencyCode ......................................................................... 65
12.2.22 PT_Locale ............................................................................................................. 66
12.2.23 S100_SE_CertificateContainer ............................................................................. 66
12.2.24 S100_SE_DigitalSignatureReference ................................................................... 66
12.2.25 S100_SE_DigitalSignatureValue ........................................................................... 67
12.2.26 S100_SE_SignatureOnData ................................................................................. 67
12.2.27 S100_SE_SignatureOnSignature .......................................................................... 67
12.2.28 DataStatus ............................................................................................................. 67
12.2.29 EX_GeographicBoundingBox ................................................................................ 68
12.2.30 EX_BoundingPolygon ........................................................................................... 69
12.3 Carrier Metadata ............................................................................................................. 71
12.3.1 General metadata - details .................................................................................... 77
12.3.2 Feature type metadata - details ............................................................................. 80
12.3.3 Feature instance metadata - details ...................................................................... 82
12.3.4 Values group attributes - details ............................................................................ 83
12.3.5 Additional enumerations used in carrier metadata ................................................ 85
12.4 Language ........................................................................................................................ 90
ANNEX A – Data Classification and Encoding Guide .............................................................. 91
A-1 Features ............................................................................................................................. 91
A-2 Feature Attributes............................................................................................................... 91
ANNEX B – Additional Terms and Definitions .......................................................................... 93
ANNEX C – S-104 Comprehensive Model Including Application Schema and Carrier
Metadata (UML Diagrams) ................................................................................................. 99
ANNEX D – Feature Catalogue ................................................................................................. 111
ANNEX E – Sample HDF5 Encoding ........................................................................................ 119
ANNEX F – Validation (Informative) ......................................................................................... 121
F-1 Introduction .................................................................................................................... 121
F-2 Check Classification ...................................................................................................... 121
F-3 Check Application.......................................................................................................... 121
F-4 Validation Steps ............................................................................................................ 121
F-4.1 Dataset validation ................................................................................................ 121
F-4.2 Exchange Set validation (informative) ................................................................. 123
F-4.3 System validation (informative) ........................................................................... 124
F-5 Check Description Format ............................................................................................. 124
F-5.1 Specification of validation checks........................................................................ 124
F-5.2 Phase initialization ............................................................................................... 125
F-5.3 List of checks ....................................................................................................... 125

S-104 March 2023 Edition 1.1.0


viii Water Level Information for Surface Navigation Product Specification

F-6 Test Cases and Methods .............................................................................................. 125


F-6.1 Coverage consistency ......................................................................................... 125
F-6.2 Logical consistency ............................................................................................. 126
ANNEX G – Use Cases .............................................................................................................. 127
G-1 German Water Level Data and Forecast ...................................................................... 127
G-1.1 Summary ............................................................................................................. 127
G-1.2 Additional details ................................................................................................. 127
G-1.2.1 Types of data used to create S-104 test datasets ............................................... 127
G-1.2.2 Data processing................................................................................................... 128
G-1.2.3 S-104 data transformation ................................................................................... 128
G-1.2.4 Results ................................................................................................................. 128
G-2 Depth Adjustment in ECDIS .......................................................................................... 129
G-2.1 Summary ............................................................................................................. 129
G-2.2 Additional details ................................................................................................. 130
G-2.2.1 Types of data ....................................................................................................... 130
G-2.2.2 Processing ........................................................................................................... 130

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification ix

FOREWORD

The International Hydrographic Organization Tides, Water Level and Currents Working Group (TWCWG)
remembers Kurt Hess, and acknowledges his invaluable and significant contributions in developing this
Product Specification within the TWCWG.

S-104 March 2023 Edition 1.1.0


x Water Level Information for Surface Navigation Product Specification

Page intentionally left blank

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 1

1 Overview
S-104 is the Water Level Information for Surface Navigation Product Specification, produced by the
IHO.
The development of electronic navigation with high resolution bathymetric data, and the drive to
increase safety of navigation are now demanding time-sensitive data. IHO has identified the
requirement for a Product Specification for dynamic tidal and water level data.
Tidal height information has traditionally been provided as high/low predictions; however, with
increasing drafts and technology, there has been a move to hourly predictions with major ports providing
real-time water level information to their pilots and web-sites.
There is now a requirement to supply tidal and water level data as a single point time-series and as a
surface time series to manage critical depths and provide tidal windows.

1.1 Introduction
Tidal and water level predictions have been fundamental in route planning and entry to ports (SOLAS
Chapter V). These have traditionally been supplied as a physical hard copy publication and recently as
a separate software installation that may not be integrated with the ECDIS. To improve safety of
navigation, this product specification will ensure that tidal and water level data supplied for dynamic
capability is consistent by all approved authorities.
1.1.1 Data types
There is one data type that can be delivered to a ship and/or to an ECDIS:
1. A time series of water level height relative to a vertical datum and water level trend. The data can
represent either a single point (that is, one geographic location) or for an array of points contained in a
grid. Time and datum information are contained in the metadata. One purpose of this data type is to
update water depths for under-keel clearance management.
1.1.2 Display
There are two different means of displaying water level data to support navigation, route planning,
and route monitoring:
1. Display of water level at a single point. The portrayal options for this are:
a. a symbol at the location of the water level data source.
b. a text box containing information on the water level height, trend, etc.
c. graphic time series plot(s) showing water level height over time at one or more locations.
2. Display of a single point location from gridded data, where a mouse click on the chart area will display
the information at that point from the nearest node in the grid. The display has the qualities as described
in type (1) - display of water level at a single point.
1.1.3 Encoding
There is one encoding of water level data:
1. HDF5 (Hierarchical Data Format version 5) is used for encoding time series of water level heights
and trends at a single point or at an array of points in a grid. HDF5 promotes compatible data exchange
due to its common neutral encoding format. HDF5 is object oriented and suitable for many types of data.
Table 1-1 summarises Clauses 1.1.1 through 1.1.3.

S-104 March 2023 Edition 1.1.0


2 Water Level Information for Surface Navigation Product Specification

Table 1-1 – S-104 data variables, formats, encoding and display.


NOTE: O = Overlay: a layer superimposed on and georeferenced to a nautical chart. I = Inset: a graphic
that can be placed anywhere on the screen.
Data Variable Data Format Encoding Display
Single Location, Single Time
HDF5 Symbol (O), Text Box (O)
(e.g. Obs.)
Water Level Height Single Location, Time Series Symbol (O), Text Box (O),
and Trend HDF5
(e.g. Astronomical Prediction) Graphic Plot (I)

Multiple Locations, Time Series (e.g. Symbol (O), Text Box (O),
HDF5
Gridded Forecast) Graphic Plot (I)

1.2 Scope
This document describes an S-100 compliant Product Specification for the encapsulation and data
transfer of tidal and water level data for use in an Electronic Chart Display and Information System
(ECDIS) or any proposed dynamic tide application. This Product Specification includes the content
model, the encoding, the feature catalogue and metadata. The water level product may be used either
alone or combined with other S-100 compatible data.

1.3 References
1.3.1 Normative
HDF5 Hierarchical Data Format version 5 – www.hdfgroup.org
M-3 Resolutions of the International Hydrographic Organization, IHO Publication M-3,
2nd Edition, 2010 (updated April 2022)
Res. 3/1919 IHO Resolution 3/1919 (as amended), IHO Publication M-3
S-44 IHO Standards for Hydrographic Surveys, 6th Edition, September 2020
S-62 List of Data Producer Codes (online), URL:
https://registry.iho.int/producercode/list.do
S-97 IHO Guidelines for Creating S-100 Product Specifications, Edition 1.1.0, June
2020
S-98 Data Product Interoperability in S-100 Navigation Systems, Edition 1.0.0, May
2022
S-100 IHO Universal Hydrographic Data Model, Edition 5.0.0, December 2022
1.3.2 Informative
IALA G1143 Unique Identifiers for Maritime Resources, Edition 3.0. International Association of
Marine Aids to Navigation and Lighthouse Authorities, June 2021
IOC 14-4 Manual on Sea-level Measurements and Interpretation, Volume IV : An update to
2006. Paris, Intergovernmental Oceanographic Commission of UNESCO. (IOC
Manuals and Guides No.14, vol. IV; JCOMM Technical Report No.31; WMO/TD.
No. 1339)
ISO 3166-1:1997 Country Codes
ISO 8601:2004 Data elements and interchange formats - Information interchange -
Representation of dates and times
ISO/TS 19103:2005 Geographic information – Conceptual schema language
ISO 19111:2003 Geographic information – Spatial referencing by coordinates

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 3

ISO 19115-1 Geographic information – Metadata – Part 1 – Fundamentals. As amended by


Amendment 1, 2018
ISO 19115-2:2009 Geographic information – Metadata: Extensions for imagery and gridded data
ISO 19115-3 Geographic information – Metadata - XML schema implementation for
fundamental concepts, 2016
ISO 19123:2005 Geographic information – Schema for coverage geometry and functions
ISO 19129:2009 Geographic information – Imagery gridded and coverage data framework
ISO 19131:2007 Geographic information – Data product specifications
ISO 19157:2013 Geographic information – Data Quality. As amended by Amendment 1, 2018
ISO/IEC 19501-1 and 19505-2 Information technology — Open Distributed Processing – Unified
Modelling Language Version 2.4.1
netCDF Network Common Data Form Unidata – URL:
www.unidata.ucar.edu/software/netcdf
RFC 3986 Uniform Resource Identifier (URI): Generic Syntax. T. Berners-Lee, R. Fielding, L.
Masinter. Internet Standard 66, IETF. URL: http://www.ietf.org/rfc/rfc3986.txt or
http://www.rfc-editor.org/info/std66
RFC 2141 URN Syntax. R. Moats. IETF RFC 2141, May 1997. URL: http://www.rfc-
editor.org/info/rfc2141
S-100WG7-6.3 Producer Code Register for S-100; User Manual for the S-100 Producer Code
Register (Draft), S-100WG7, https://iho.int/en/s-100wg7-2022
S-101 IHO Electronic Navigational Chart Product Specification, Edition 1.1.0
S-102 IHO Bathymetric Surface Product Specification, Edition 2.2.0
S-111 IHO Surface Currents Product Specification, Edition 1.2.0, March 2023
XML Schema Part 2: Datatypes, Second Edition, W3C Recommendation, 28 October 2004,
URL: https://www.w3.org/TR/xmlschema-2/

1.4 Terms, definitions and abbreviations


1.4.1 Terms and definitions
Terms and definitions have been taken from the normative references cited in Clause 1.3. Only those
which are specific to this document have been included and modified where necessary. Additional terms
are defined in this document.
coordinate
one of a sequence of numbers designating the position of a point in N-dimensional space [ISO 19111]
coordinate reference system
coordinate system which is related to the real world by a datum [ISO 19111]
coverage
feature that acts as a function to return values from its range for any direct position within its spatial,
temporal, or spatiotemporal domain
EXAMPLE: Examples include a raster image, polygon overlay, or digital elevation matrix.
NOTE: In other words, a coverage is a feature that has multiple values for each attribute type, where
each direct position within the geometric representation of the feature has a single value for each
attribute type [ISO 19123].
coverage geometry
Configuration of the domain of a coverage described in terms of coordinates [ISO 19123].
data product
dataset or dataset series that conforms to a data product specification

S-104 March 2023 Edition 1.1.0


4 Water Level Information for Surface Navigation Product Specification

NOTE: The S-104 data product consists of metadata and one or more sets of water level height and
trend [ISO 19131]
direct position
position described by a single set of coordinates within a coordinate reference system [ISO 19107]
domain
well-defined set [ISO 19103]
NOTE: Domains are used to define the domain set and range set of operators and functions.
elevation
the altitude of the ground level of an object, measured from a specified vertical datum. [IHO S100 GFM]
feature
abstraction of real world phenomena [ISO 19101]
NOTE: A feature may occur as a type or an instance. Feature type or feature instance should be used
when only one is meant.
feature attribute
characteristic of a feature
EXAMPLE 1: A feature attribute named colour may have an attribute value green which belongs to
the data type text
EXAMPLE 2: A feature attribute named length may have an attribute value 82.4 which belongs to the
data type real
NOTE 1: A feature attribute may occur as a type or an instance. Feature attribute type or feature
attribute instance is used when only one is meant.
NOTE 2: A feature attribute type has a name, a data type, and a domain associated to it. A feature
attribute instance has an attribute value taken from the domain of the feature attribute type.
NOTE 3: In a Feature Catalogue, a feature attribute may include a value domain but does not specify
attribute values for feature instances.
[ISO 19101, ISO 19109, ISO 19110, ISO 19117]
height
distance of a point from a chosen reference surface measured upward along a line perpendicular to
that surface. [ISO 19111:2006]
NOTE: Height is distinguished from elevation in that it is a directional measurement.
georeferenced Grid
grid for which cells can be located by the use of specific algorithms. See ungeorectified grid.
grid
network composed of a set of elements, or cells, whose vertices, or nodes, have defined positions within
a coordinate system. See also georeferenced grid, regular grid, ungeorectified grid, node, and grid
point. [ISO 19123]
NOTE 1: A rectangular grid has axes perpendicular to each other.
NOTE 2: A uniform rectangular grid has constant spacing in the X-direction and constant spacing in the
Y-direction, although the two spacing values are not necessarily equal.
grid cell
element of a grid defined by its vertices, or nodes
grid point
point located at the intersection of two or more grid cells in a grid. Also called a node. [ISO 19123]
record
finite, named collection of related items (objects or values) [ISO 19107]
NOTE: Logically, a record is a set of pairs <name,item>.
uncertainty
the interval (about a given value) that will contain the true value of the measurement at a specific
confidence level [IHO S-44]

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 5

NOTE: Errors exist and are the differences between the measured value and the true value. Since the
true value is never known it follows that the error itself cannot be known. Uncertainty is a statistical
assessment of the likely magnitude of this error.
water level trend
change of water level at a given time, such as ‘increasing’, ’decreasing’, or ‘steady’.
When the average change of the water level over a one hour period is greater than or equal to a value
set by the Producing Authority in metres it is considered “increasing”. When it is less than or equal to -
(value set by the Producing Authority in metres), it is “decreasing”. When it is between the values set
by the Producing Authority, it is “steady”.
In areas of small water level range, for example Baltic Sea, use of “not available” is optional
ungeorectified grid
grid with non-uniform point spacing in any coordinate system. Includes triangular irregular networks
(TINs) and those curvilinear coordinate grids whose node positions cannot be calculated analytically
1.4.2 Abbreviations
API Application Programming Interface
CRS Coordinate Reference System
ECDIS Electronic Chart Display Information System
EPSG European Petroleum Survey Group
ENC Electronic Navigational Chart
FC Feature Catalogue
GIS Geographic Information Systems
HDF Hierarchical Data Format
IALA International Association of Marine Aids to Navigation and Lighthouse Authorities
IHO International Hydrographic Organization
IMO International Maritime Organization
ISO International Organization for Standardization
MRN Maritime Resource Name
NetCDF Network Common Data Form
PC Portrayal Catalogue
SOLAS International Convention for the Safety of Life at Sea
TIN Triangulated Irregular Network
TWCWG Tides, Water Level and Currents Working Group
UML Unified Modelling Language
URN Uniform Resource Name
UTC Coordinated Universal Time
W3C World Wide Web Consortium
XML eXtensible Markup Language
1.4.3 Notation
In this document conceptual schemas are presented in the Unified Modelling Language (UML). Several
model elements used in this schema are defined in ISO Standards developed by ISO TC 211, or in IHO
S-100. In order to ensure that class names in the model are unique ISO TC/211 has adopted a
convention of establishing a prefix to the names of classes that define the TC/211 defined UML package
in which the UML class is defined. Since the IHO Standards and this Product Specification make use
of classes derived directly from the ISO Standards this convention is also followed here. In the IHO
Standards the class names are identified by the name of the Standard, such as “S100” as the prefix

S-104 March 2023 Edition 1.1.0


6 Water Level Information for Surface Navigation Product Specification

optionally followed by the bialpha prefix derived from ISO. For the classes defined in this Product
Specification the prefix is “S104”. In order to avoid having multiple classes instantiating the same root
classes, the ISO classes and S-100 classes have been used where possible; however, a new
instantiated class is required if there is a need to alter a class or relationship to prevent a reverse
coupling between the model elements introduced in this document and those defined in S-100 or the
ISO model.
Table 1.2 – Sources of externally defined UML classes

Prefix Standard Package

CI ISO 19115-1 Citation and Responsible Party

CV ISO 19123 Coverage Core & Discrete Coverages

DQ ISO 19157 Data Quality Information

DS ISO 19115-1 Metadata Application Information

EX ISO 19115-1 Metadata Extent information

IF ISO 19129 Imagery Gridded and Coverage Data Framework

LI ISO 19115-1 Linage Information

MD ISO 19115-1 Metadata entity set information

MI ISO 19115-2 Metadata entity set imagery

S100 IHO S-100 IHO Standard for Hydrographic Data

SC ISO 19111 Spatial Referencing by Coordinates

SD ISO 19130 Sensor Data

S101 IHO S-101 IHO Electronic Navigational Chart Product Specification

S102 IHO S-102 IHO Bathymetric Surface Product Specification

1.5 Use of language


Within this document:
 “Must” indicates a mandatory requirement.
 “Should” indicates an optional requirement, that is the recommended process to be followed, but is
not mandatory.
 “May” means “allowed to” or “could possibly”, and is not mandatory.

1.6 General data product description


NOTE: This clause provides general information regarding the data product.
Title: Water Level Information for Surface Navigation
Abstract: Encodes information and parameters for use in making a tidal and water level
product.
Content: Describes the tidal and water level data contained in the product. The specific
content is defined by the Feature Catalogue and Schema.
Spatial Extent: Description: Areas where tidal and water level information is available.
East Bounding Longitude: 180
West Bounding Longitude: -180
North Bounding Latitude: 90
South Bounding Latitude: -90

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 7

Purpose: The data shall be used to produce a dataset to be used for dynamic water level
applications, including an ECDIS.

1.7 Data Product Specification metadata


NOTE: This information uniquely identifies this Product Specification and provides information about its
creation and maintenance. For further information on dataset metadata see clause 12.
Title: Water Level Information for Surface Navigation
S-100 Version: 5.0.0
S-104 Version: 1.1.0
Date: 2023-03-31
Language: English
Classification: Unclassified
Contact: International Hydrographic Organization.
4 quai Antoine 1er
B.P. 445 MC 98011 MONACO CEDEX
Telephone: +377 93 10 81 00
Fax: + 377 93 10 81 40
Email: [email protected]
Role: Owner
URL: https://registry.iho.int
Identifier: S-104
Maintenance: Changes to the Product Specification S-104 are coordinated by Tides, Water Level
and Currents Working Group (TWCWG) of the IHO and made available via the IHO
Publications web site. Maintenance of the Product Specification must conform to
IHO Technical Resolution 2/2007 (revised 2010). This Specification will be a
standing agenda item for TWCWG meetings with clarifications, revisions and new
editions released as required. A new edition will be released every 5-10 years
depending on technological advances.
1.7.1 IHO Product Specification maintenance
1.7.1.1 Introduction
Changes to S-104 will be released by the IHO as a New Edition, revision, or clarification.
1.7.1.2 New Edition
New Editions of S-104 introduce significant changes. New Editions enable new concepts, such as the
ability to support new functions or applications, or the introduction of new constructs or data types. New
Editions are likely to have a significant impact on either existing users or future users of S-104. All
cumulative revisions and clarifications must be included with the release of approved New Editions.
1.7.1.3 Revision
Revisions are defined as substantive semantic changes to S-104. Typically, revisions will change S-
104 to correct factual errors; introduce necessary changes that have become evident as a result of
practical experience or changing circumstances. A revision must not be classified as a clarification.
Revisions could have an impact on either existing users or future users of S-104. All cumulative
clarifications must be included with the release of approved revisions.
Changes in a revision are minor and ensure backward compatibility with the previous versions within
the same Edition. Newer revisions, for example, introduce new features and attributes. Within the same
Edition, a dataset of one version could always be processed with a later version of the Feature and
Portrayal Catalogues.
In most cases a new Feature Catalogue or Portrayal Catalogue will result in a revision of S-104.

S-104 March 2023 Edition 1.1.0


8 Water Level Information for Surface Navigation Product Specification

1.7.1.4 Clarification
Clarifications are non-substantive changes to S-104. Typically, clarifications: remove ambiguity; correct
grammatical and spelling errors; amend or update cross references; and insert improved graphics. A
clarification must not cause any substantive semantic change to S-104.
Changes in a clarification are minor and ensure backward compatibility with the previous versions within
the same Edition.
1.7.1.5 Version numbers
The associated version control numbering to identify changes (n) to S-104 must be as follows:

New Editions denoted as n.0.0

Revisions denoted as n.n.0

Clarifications denoted as n.n.n

2 Specification Scopes
This Product Specification outlines the types of water level products from a national authority or
authorised producer, to the end user. The data may be historical observation, real-time observation,
astronomical prediction, analysis or hybrid method, hindcast or forecast models. Requirements for data
and metadata are provided. The data product is:
a) Time series product, including series of water level heights relative to a vertical datum and the water
level trend (rising, falling, etc.). The data products are: i) single point product– provision of water
level information for a single point in the traditional graphic display mariners are familiar with from
hard copy publications and digital tide tables; and ii) gridded data product– provision of water level
information for a defined region as a surface, allowing any grid point to be queried as per a traditional
single point.
Scope ID: Global
Level: 006- series
Level name: Water Level Dataset

3 Dataset Identification
Title: Water Level Information for Surface Navigation
Alternate Title: None
Abstract: This data product is a file containing water level data for a particular
geographic region and set of times, along with the accompanying
metadata describing the content, variables, applicable times, locations
and structure of the data product. Water level data is the height of the
water observed or mathematically-predicted. The data may consist of
water level at a small set of points where observations or predictions are
available or may consist of numerous points organised in a grid as from a
hydrodynamic model forecast.
Topic Category: Producing Authority to choose the most appropriate from the list below:

Concept ISO ISO 19115-1 Definition Remarks


Name 19115-1 Topic
Topic Category
Category Code
Number
Elevation 006 elevation Height above or below Use for datasets intended
mean sea level for physical geography

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 9

Examples: altitude,
bathymetry, digital
elevation models,
slope, derived products
Inland Waters 012 inlandWaters Inland water features, Use for datasets covering
drainage systems and navigation on inland
their characteristics waterways
Examples: rivers and
glaciers, salt lakes,
water utilization plans,
dams, currents, floods,
water quality,
hydrologic information
Oceans 014 oceans Features and Use for datasets intended
characteristics of salt for coastal, offshore, or
water bodies (excluding ocean navigation
inland waters)
Examples: tides,
tsunamis, coastal
information, reefs
Transportation 018 transportation Means and aids for Use for datasets intended
conveying persons for navigation (inland or
and/or goods maritime)
Examples: roads,
airports/airstrips,
shipping routes,
tunnels, nautical charts,
vehicle or vessel
location, aeronautical
charts, railways

Geographic Description: Areas specific to water navigation


Spatial Resolution: The spatial resolution, or the spatial dimension of the earth
covered by the size of a grid matrix cell (nominal ground sample
distance), varies according to the model adopted by the
producer.
Purpose: Water level data is intended to be used as stand-alone data or
as a layer in an ENC.
Language: English
Classification: Data can be classified as one of the following:
1) Unclassified;
2) Restricted;
3) Confidential;
4) Secret;
5) Top Secret;
6) Sensitive but Unclassified;
7) For Official Use Only;
8) Protected; or
9) Limited Distribution.
Spatial Representation Type: Coverage
Point of Contact: Producing Authority.
Use Limitation: Invalid over land. Some datasets may be designated as not for
navigation.

S-104 March 2023 Edition 1.1.0


10 Water Level Information for Surface Navigation Product Specification

4 Data Content and Structure


4.1 Introduction
This Section discusses the Application Schema, which is described in UML; the Feature Catalogue;
dataset types, in which there is an extensive discussion of the water level data; and geometry.
Water level data consist of one basic geographic feature type:
1. A time series of water level height and trend relative to a vertical datum. An optional time attribute is
also provided for use with certain types of water level information. The data can be represented for
either a single point (that is, one geographic location) or for an array of points contained in a grid.
Time and datum information are contained in the metadata.

Figure 4-1 – Water level feature

4.2 Application Schema


The Application Schema is expressed in UML. The single feature type, WaterLevel, is depicted in
Figure 4-1. The details of the Application Schema are given in Annex C, which also describes its relation
to the conceptual model of coverage data described in ISO 19123 and S-100 Part 8.

4.3 Feature Catalogue


4.3.1 Introduction
The S-104 Feature Catalogue describes the feature types, information types, attributes, attribute
values, associations and roles which may be used in the product. See Annex D – Feature Catalogue
The S-104 Feature Catalogue is available in an XML document which conforms to the S-100 XML
Feature Catalogue Schema and can be downloaded from the IHO GI Registry website.
4.3.2 Feature types
4.3.2.1 Geographic
Geographic (geo) feature types form the principal content of S-104 and fully defined by their associated
attributes.
4.3.2.2 Meta
Meta features contain information about other features within a data set. Information defined by meta
features override the default metadata values defined by the data set descriptive records. Meta
attribution on individual features overrides attribution on meta features.
4.3.3 Feature relationship
A feature relationship links instances of one feature type with instances of the same or a different feature
type. There are three common types of feature relationship: Association, Aggregation and Composition.
In S-104 there are no relationships used.
4.3.4 Attributes
S-100 defines attributes as either simple or complex. S-104 uses three types of simple attributes, listed
in Table 4-1. There are no complex attributes.

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 11

Table 4-1 – Simple feature attribute types.

Type Definition
Enumeration A fixed list of valid identifiers of named literal values
Real A signed Real (floating point) number consisting of a mantissa and an exponent
Date and A DateTime is a combination of a date and a time type. Character encoding of a DateTime
Time shall follow ISO 8601:1988
EXAMPLE 19850412T101530

4.3.5 Spatial quality


Spatial quality attributes (Figure 4-2) are encoded as horizontal and vertical uncertainty values. In S-
100 Edition 5.0.0 they are encoded at the feature type level (see Figure 4-2 and Table 12-2), which
means they apply uniformly to all Water Level feature instances in the dataset and uniformly to all
locations (grid points or station locations).

Figure 4-2 – Spatial quality


Note that uncertainty in water levels pertains to the quality of data values, not to spatial quality as that
term is used in S-100, and is encoded differently and at the instance level (see Table 10-2 and Clause
10.2.2.4).
Water levels are usually defined at one or more individual locations, so spatial quality applies to these
locations.
NOTE: The Spatial Quality information type used in S-101 and other products is not used in this Edition
of S-104 even for station-based data formats. Complete specification and implementation of Spatial
Quality information types will be addressed in a later edition of S-104.

4.4 Dataset types


Datasets for S-104 include one basic type of dataset:
1. HDF5 files, which may contain: (a) time series of predicted or observed water level heights and
trends at one or more fixed stations; and (b) gridded hydrodynamic model forecast fields.

S-104 March 2023 Edition 1.1.0


12 Water Level Information for Surface Navigation Product Specification

4.5 Spatial Schema


4.5.1 Coverages
For an ECDIS, water level data are formatted in two ways: arrays of points contained in a regular grid,
and sets of points not described by a regular grid. Further details on the data products are given in
Section 10 – Data Product Format.
Water level data are categorised as follows, based on the data source:
1. Observed, predicted, or forecasted values at a number of stationary locations;
2. Computed values (for example hindcast or forecast data from hydrodynamic models) arranged
in a regular grid; and
3. Values at multiple locations but not in a regular grid.
The three categories of water level data have structures that can be described by three S-100
coverages: S100_PointCoverage, S100_GridCoverage and S100_TINCoverage (S-100 Edition 5.0.0,
clause 8-7.1). In addition, the ISO 19123 class CV_ReferenceableGrid is used for ungeorectified
gridded data1.
Grid Coverage: The class S100_GridCoverage represents a set of values assigned to the points
in a two-dimensional grid. Attributes include interpolationType, dimension, axisNames, origin,
coordinateReferenceSystem, offsetVectors, origin, extent, sequencingRule, startSequence and
rangeType.
Point Coverage: The class S100_PointCoverage represents a set of values, such as water level
height and trend values, assigned to a set of arbitrary X,Y points. Each point is identified by a
horizontal coordinate geometry pair (X,Y) and assigned one or more values as attribute values.
These values are organised in a record for each point. Attributes include domainExtent,
rangeType, metadata, commonPointRule, geometry and value.
TIN Coverage: A TIN coverage is a type of CV_ContinousCoverage 2 as described in ISO 19123.
The attribute values in the value record for each CV_GeometryValuePair represent values for each
of the vertex corners of the triangle. Any additional attributes related to a TIN triangle may be
described as attributes of CV_ValueTriangle.
The types of water level data and their corresponding coverages are shown in Table 4-2.
Table 4-2 – Water level data types and their coverages

Type of Data Coverage


Time series data at one or more stationary locations at one or more S100_PointCoverage
times, organised by time
Time series data at one or more stationary locations at one or more S100_PointCoverage
times, organised by location
Regularly-gridded data at one or more times S100_GridCoverage
Ungeorectified gridded data at one or more times CV_ReferenceableGrid1
TIN coverage at one or more times S100_TINCoverage

The spatial representations in S-104 are encoded using the implementation specification in S-100 Part
10c, which realises S-100 Part 8 and ISO 19123 conceptual models. The relationships are depicted in
Figure 4-3 below.

1 Ungeorectified gridded data is included in S-100 Part 8 (clauses 8-7.2 and 8-8.1.4), but S-100 Part 8 does not
define a corresponding S-100 class in its conceptual model.
2 S-100 Part 8, clause 8-7.1.3 incorrectly says it is a subtype of CV_ContinuousQuadrilatralGridCoverage, but
Figure 8-22 in the same clause correctly depicts it as a subclass of CV_TINCoverage, which in turn is a subclass
of CV_ContinuousCoverage.

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 13

Figure 4-3 – Coverages and their realisation from S-100 Part 8 and ISO 19123

5 Coordinate Reference Systems (CRS)


To define the location of features using the S-100 Framework, one first needs to define a Coordinate
Reference System (CRS). A Coordinate Reference System in two dimensions uses a coordinate pair,
either X and Y for a Cartesian system or latitude and longitude for a geodetic/geographic system to
define the location of a feature on a 2-D grid. However, if one wants to plot features in a 3-dimensional
Coordinate Reference System, where we now want to include depths on a nautical chart or elevations
on a map, one needs to assign the depth or elevation as the third component. For Cartesian systems,
one would use X, Y, Z as the triplet or for geodetic/geographic systems, one would use latitude,
longitude and height. The height can be the ellipsoid height or any of the other vertical references (see
Vertical Reference System below). Geodetic/geographic coordinates are more intuitive for positioning
and navigation applications on or near the Earth’s surface while Cartesian coordinates are more
appropriate if vectors are needed to accurately illustrate a graphical relationship between two or more
points. If geodetic/geographic coordinates are specified, then the IHO recommends using the latest
realisation of the World Geodetic System of 1984 (WGS 84).

5.1 Horizontal reference system


For products based on the S-100 Framework, including this Standard for S-104 products, the
geodetic/geographic Coordinate Reference System must be of the form EPSG:xxxx (WGS 84). The
generic form/code for the WGS 84 frame is EPSG:4326 while the latest and most widely adopted
realisation of the WGS 84 reference frame is EPSG:9057. The full reference to EPSG can be found at
www.epsg-registry.org and other EPSG references for recent WGS 84 realisations are given below:
WGS 84 (generic) ESPG:4326
WGS 84(G1762) EPSG:9057 Valid epoch 2005.0
WGS 84(G1674) EPSG:9056 Valid epoch 2005.0
WGS 84(G1150) EPSG:9055 Valid epoch 2001.0

S-104 March 2023 Edition 1.1.0


14 Water Level Information for Surface Navigation Product Specification

Coordinate Reference System: EPSG:9057 (WGS 84) *latest


Datum: WGS 84 defined by NGA
Projection: None
Horizontal Units: Degrees, minutes and seconds or decimal degrees (Data
format uses decimal degrees)
Coordinate Reference System Registry: EPSG Geodetic Parameter Registry
Date type (according to ISO 19115-1): 002 - publication
Responsible party: International Association of Oil and Gas Producers (IOGP)

5.2 Vertical reference system


For positioning and navigation applications, it is desirable to accurately plot depths, bathymetry,
elevations and terrain on nautical charts and maps using one or more vertical reference systems. To
do so, a vertical datum is defined and serves as a reference surface for vertical positions. Vertical
datums come in three categories: 1) those based on Mean Sea Level (MSL); 2) tidal datums; and 3) 3-
D datums (ellipsoid) which are realised through space-based systems such as GPS. Vertical datums
can be regional (geoid, tidal, chart) or global (ellipsoid) in nature. The vertical axis of a vertical reference
system is defined upwards (away from the Earth’s centre) from its origin (EPSG code 6499) or
downwards (EPSG code 6498) and is perpendicular to the horizontal surface where the observations
or measurements are taken. As an example, a positive value for the level of water above the vertical
datum in a vertical reference system with upward orientation (EPSG code 6499) means that the water
level is above the vertical reference surface. For nautical charts, depths and tides are measured relative
to a chart datum such as Lowest Astronomical Tide (LAT) or Mean Lower Low Water (MLLW).
Coordinate Reference System: Vertical component of a 3-D reference system
Datum: Chart, tidal, geoid, ellipsoid (WGS 84)
Projection: None
Horizontal Units: metres
Coordinate Reference System Registry: EPSG Geodetic Parameter Registry
Date type (according to ISO 19115-1): 002 - publication
Responsible party (vertical datums): National hydrographic and geodetic agencies
The vertical coordinate system is defined by three components. The first component defines the positive
vertical direction (either an upward height or a downward depth). The second refers to the base or origin
(that is, the zero value) of the vertical coordinate; if the base is a tidal datum, the specific datum is
defined from either the S-100 list of vertical datums (for example LAT, MLLW, MSL, etc) or the EPSG
list. Finally the specific datum number from the appropriate list is given. The components are
summarised in Table 5-1.
Table 5-1 – Attributes describing the vertical coordinate system

Name Remarks

Vertical Coordinate EPSG Code; Allowed Values


System  6498 (Depth – Metres – Orientation Down)
 6499 (Height – Metres – Orientation Up)

Vertical Datum Reference 1 – S-100 vertical datum


2 – EPSG

Vertical Datum If verticalDatumReference = 1 this is a value from


S100_VerticalAndSoundingDatum
If verticalDatumReference = 2 this is an EPSG code for vertical datum

The vertical datum must be consistent with the bathymetric CRS in S-102.
NOTE: The S-100 attribute verticalCoordinateBase is no longer used as of S-104 Edition 1.1 because
its “sea surface” and “sea bottom” values have been added to the vertical datums enumeration ( Table
12-8).

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 15

5.3 Temporal reference system


The temporal reference system is the Gregorian calendar for date and UTC for time. Time is measured
by reference to TM_Calendar dates and TM_Clock time in accordance with ISO 19108:2002, Temporal
Schema Clause 5.4.4. A date variable will have the following 8-character format (ISO 8601): yyyymmdd.
A time variable will have the following 7-character format: hhmmssZ. A date-time variable will have the
following 16-character format: yyyymmddThhmmssZ.

6 Data Quality
6.1 Introduction
Quality of water level data for navigation consists of quality of the observed/predicted/forecast data,
quality of the positional data and quality of the time stamp. Quality of the observed data depends on the
accuracy of the water level gauges and their processing techniques, and is normally available in field
survey reports or quality controlled analyses. Quality of predicted/forecast data depends on quality,
timeliness, and spatial coverage of the input data as well as the mathematical techniques. Temporal
accuracy for observational data is normally available in field survey reports or quality controlled
analyses. Temporal accuracy for predicted/forecast data is normally described in technical reports.
6.1.1 Data quality metadata (informative)
The data quality information will list the following:
For Single station data product:
1) Port Type- a) Standard/major or b) Secondary/minor;
2) Sigma confidence of predictions/models; or
3) Instrument measuring accuracy for observed.
For Gridded data product:
1) Sigma confidence of predictions/model.
6.1.2 Data quality elements and data quality measures
Data quality allows users and user systems to assess fitness for use of the provided data. Data quality
measures and the associated evaluation are reported as metadata of a data product. This metadata
improves interoperability with other data products and provides usage by user groups that the data
product was not originally intended for. The secondary users can make assessments of the data product
usefulness in their application based on the reported data quality measures.
For S-104 the following Data Quality Elements have been included :
 Conformance to this Product Specification;
 Intended purpose of the data product;
 Completeness of the data product in terms of coverage;
 Logical Consistency;
 Positional Uncertainty and Accuracy;
 Thematic Accuracy;
 Temporal Quality;
 Aggregation measures;
 Validation checks or conformance checks including:
o General tests for dataset integrity;
o Specific tests for a specific data model.
Table 6-1 below indicates which of the data quality measures recommended in S-97 Part C have been
identified as applicable to S-104. Columns 1-4 are taken as-is from S-97; the contents of column 5 are
from S-97, annotated with whether the measure applies to S-104. Note that for attributes which allow
fill values (see clause 10.2.2.2) the presence of a fill value is not counted as an error for the purposes
of the data quality measures.

S-104 March 2023 Edition 1.1.0


16 Water Level Information for Surface Navigation Product Specification

Table 6-1 – Quality measures applicable to S-104 (from S-97 Part C, clause 7)

Data quality Definition DQ measure / description Evaluation S-104


measure scope applicability

Completeness / Excess data numberOfExcessItems / This data dataset/data Yes


Commission present in a quality measure indicates the set series (All S-100
dataset, as number of items in the dataset, that based PS)
described by the should not have been present in the
scope. dataset.

Completeness / Excess data numberOfDuplicateFeatureInstances dataset/data Yes


Commission present in a / This data quality measure indicates set series (All S-100
dataset, as the total number of exact based PS)
described by the duplications of feature instances
scope. within the data.

Completeness / Data absent from numberOfMissingItems / This data dataset/data Yes


Omission the dataset, as quality measure is an indicator that set (All S-100
described by the shows that a specific item is missing series/spatial based PS)
scope. in the data. object type
See clause 6.2
below

Logical Adherence to the numberOfInvalidSurfaceOverlaps / spatial object No


Consistency / rules of a This data quality measure is a count / spatial (S104 does
Conceptual conceptual of the total number of erroneous object type not define
Consistency schema. overlaps within the data. Which vector surface
surfaces may overlap and which features)
must not is application dependent.
Not all overlapping surfaces are (Applies to PS
necessarily erroneous. with geometric
surfaces)

Logical Adherence of the numberOfNonconformantItems / spatial object Yes


Consistency / values to the value This data quality measure is a count / spatial (All S-100
Domain domains. of all items in the dataset that are not object type based PS)
Consistency in conformance with their value
domain.

Logical Degree to which physicalStructureConflictsNumber / dataset/data Yes


Consistency / data is stored in This data quality measure is a count set series (All S-100
Format accordance with of all items in the dataset that are based PS)
Consistency the physical stored in conflict with the physical
structure of the structure of the dataset.
dataset, as
described by the
scope

Logical Correctness of the rateOfFaultyPointCurveConnections spatial object No


Consistency / explicitly encoded / This data quality measure indicates / spatial (Applies only
Topological topological the number of faulty link-node object type for PS with
Consistency characteristics of connections in relation to the number curves)
the dataset, as of supposed link-node connections.
described by the This data quality measure gives the
scope. erroneous point-curve connections in
relation to the total number of point-
curve connections.

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 17

Data quality Definition DQ measure / description Evaluation S-104


measure scope applicability

Logical Correctness of the numberOfMissingConnectionsUnders spatial object No


Consistency / explicitly encoded hoots / This data quality measure is a / spatial (Applies only
Topological topological count of items in the dataset within object type for PS with
Consistency characteristics of the parameter tolerance that are curves)
the dataset, as mismatched due to undershoots.
described by the
scope.

Logical Correctness of the numberOfMissingConnectionsOversh spatial object No


Consistency / explicitly encoded oots / This data quality measure is a / spatial (Applies only
Topological topological count of items in the dataset within object type for PS with
Consistency characteristics of the parameter tolerance that are curves)
the dataset, as mismatched due to overshoots.
described by the
scope.

Logical Correctness of the numberOfInvalidSlivers / This data dataset / No


Consistency / explicitly encoded quality measure is a count of all dataset (Applies to PS
Topological topological items in the dataset that are invalid series with geometric
Consistency characteristics of sliver surfaces. A sliver is an surfaces)
the dataset, as unintended area that occurs when
described by the adjacent surfaces are not digitised
scope. properly. The borders of the adjacent
surfaces may unintentionally gap or
overlap to cause a topological error.

Logical Correctness of the numberOfInvalidSelfIntersects / This spatial object No


Consistency / explicitly encoded data quality measure is a count of all / spatial (Applies to PS
Topological topological items in the dataset that illegally object type with curves /
Consistency characteristics of intersect with themselves. geometric
the dataset, as surfaces)
described by the
scope.

Logical Correctness of the numberOfInvalidSelfOverlap / This spatial object No


Consistency / explicitly encoded data quality measure is a count of all / spatial (Applies to PS
Topological topological items in the dataset that illegally self- object type with curves /
Consistency characteristics of overlap. geometric
the dataset, as surfaces)
described by the
scope.

Positional Accuracy Closeness of Root Mean Square Error / Standard spatial object Yes, for data
/ Absolute or reported deviation, where the true value is not / spatial coding formats
External Accuracy coordinative values estimated from the observations but object type 1 and 8
to values accepted known a priori. (PS with
as or being true. objects that
have
coordinative
values
associated)

Positional Accuracy Closeness of linearMapAccuracy2Sigma / Half spatial object Yes.


/ Vertical Position reported length of the interval defined by an / spatial (PS with
Accuracy coordinative values upper and lower limit in which the object type objects that
to values accepted true value lies with probability 95%. have vertical
as or being true. coordinative
values
associated.)

S-104 March 2023 Edition 1.1.0


18 Water Level Information for Surface Navigation Product Specification

Data quality Definition DQ measure / description Evaluation S-104


measure scope applicability

Positional Accuracy Closeness of linearMapAccuracy2Sigma / Half spatial object Yes.


/ Horizontal reported length of the interval defined by an / spatial (PS with
Position Accuracy coordinative values upper and lower limit in which the object type objects that
to values accepted true value lies with probability 95%. have
as or being true. horizontal
coordinative
values
associated)

Positional Accuracy Closeness of Root mean square error of spatial object Yes, for data
/ Gridded Data reported planimetry / Radius of a circle / spatial coding formats
Position Accuracy coordinative values around the given point, in which the object type 2, 3
to values accepted true value lies with probability P. (Applies to PS
as or being true. with objects
that have
gridded
coordinative
values
associated)

Temporal Quality / Consistency with Correctness of ordered events or dataset/data Yes, for time
Temporal time. sequences, if reported. set series features
Consistency series/spatial (Applies to PS
object type with objects
that have a
time value
associated)

Thematic Accuracy Comparison of the miscalculationRate / This data dataset/data Yes


/ classes assigned to quality measure indicates the set (All S-100
ThematicClassificat features or their number of incorrectly classified series/spatial based PS)
ionCorrectness attributes to a features in relation to the number of object type
universe of features that are supposed to be
discourse. there. [Adapted from ISO 19157]
This is a RATE which is a ratio, and
is expressed as a REAL number
representing the rational fraction
corresponding to the numerator and
denominator of the ratio.
For example, if there are 1 items that
are classified incorrectly and there
are 100 of the items in the dataset
then the ratio is 1/100 and the
reported rate = 0.01.

Aggregation In a data Product DataProductSpecificationPassed / dataset/data Yes


Measures / Specification, This data quality measure is a set (PS that a
AggregationMeasur several boolean indicating that all series/spatial require a
es requirements are requirements in the referred data object type complete pass
set up for a product Product Specification are fulfilled. of all elements
to conform to the of a
Specification. dataset/datase
t series/spatial
object types)

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 19

Data quality Definition DQ measure / description Evaluation S-104


measure scope applicability

Aggregation In a data Product DataProductSpecificationFailRate / dataset/data Yes


Measures / Specification, This data quality measure is a set (PS that a
AggregationMeasur several number indicating the number of series/spatial require a
es requirements are data Product Specification object type complete pass
set up for a product requirements that are not fulfilled by of all elements
to conform to the the current product/dataset in of a
Specification. relation to the total number of data dataset/datase
Product Specification requirements. t series/spatial
object types)

6.2 Additional components of data quality


A time series is complete when there is a value or a null indicator at every time in the series. A water
level coverage data set is complete when the grid or point set coverage value matrix contains height
value or fill (missing) value for every vertex point defined in the grid, and when all of the mandatory
associated metadata is provided. See Annex F – Validation Checks.

6.3 Assessment of data quality


The prescribed precision (see Annex A – Data Classification and Encoding Guide) of water level
(0.01 m) is close to the perceived accuracy of the data.
Important factors in the quality of water level information for navigation consists of the quality of:
 The observed data;
 The predicted/forecast data;
 The positional data; and
 The time stamp.
Factors determining the accuracy of the data are shown in Table 6-2. Information of the quality of the
components of the data is normally available in field survey reports, QC analyses, or other technical
reports.
Table 6-2 - Data types and accuracy factors

Type of Data Factors Influencing Accuracy


Observed water level Accuracy of the sensors
Processing techniques
Predicted/forecast Water level Quality of input data
Timeliness of input data
Mathematical modelling techniques
Accuracy of harmonic constants
Horizontal Position Accuracy of geolocation techniques
Model grid accuracy
Vertical Position Accuracy of vertical datum
Time stamp Sensor accuracy
Data time tagging accuracy

Data quality measures for the entire data set are described in Table 12-2. These include
horizontalPositionUncertainty, verticalUncertainty, and timeUncertainty. The additional data quality
measure for uncertainty in waterLevelHeight is described in clause 10.2.2.4.

S-104 March 2023 Edition 1.1.0


20 Water Level Information for Surface Navigation Product Specification

6.4 Validation checks


Validation checks (Annex F) are intended for production systems designed to produce S-104 Water
Level Information datasets. The checks can be administered at any time during the production phase.
They can also be applied downstream in the distribution and end user systems to test the conformance
of a dataset to the format rules specified in S-100 Part 10c and the S-104 Product Specification.
For example, checks will be made for: inclusion of mandated variables; variable values being within
accepted ranges; inclusion of optional values when required; matches between number of array
elements and array dimension specifications; timeliness of data; etc. Error severity may be, for example,
that the dataset is unusable, that the dataset is of degraded utility but otherwise safe to use, or that the
dataset has one or more small and inconsequential inconsistencies.
Fill values must be considered as allowed values for attributes which allow them (see clause 10.2.2.2),
even though the fill value will be outside the allowed range in the Feature Catalogue.

7 Data Capture and Classification


The water level product contains data processed from sensors or derived from the output from
mathematical models. In most cases, the data collected by the Producing Authority must be translated,
sub-setted, reorganised, or otherwise processed to restructure into a usable data format.

7.1 Data sources for water levels


Water level data comes primarily from a few specific sources: observations; astronomical predictions;
analyses; and forecast models. When such data are produced and quality-controlled by an approved
Producing Authority (IHO Resolutions A6.3 & A6.9, S-62), they are suitable for inclusion in the water
level data product.
Observational Data: Observational water level data comes initially from in situ sensors in the field (for
example tide gauges deployed along a channel) and are monitored by the data collecting authority.
After data acquisition, the data are quality controlled and stored by the Producing Authority. Some of
the observed data may be available for distribution within minutes of being collected and are described
as being ‘in real time. Other data may be days or years old, and are called historical data.
Astronomical Predictions: Astronomical predictions are produced when a sufficiently long time series
of observed water level has been obtained and the data has been harmonically analysed by the
Producing Authority to produce a set of amplitude and phase constants. The harmonic values can then
be used to predict the astronomical component of the water level as a time series covering any desired
time interval. Astronomical predictions can also be produced by other proven methods of tidal analysis.
Data available for single stations or numerous, may be arranged by the Producing Authority into a
gridded field.
Analysed and Hybrid Values: Analysed water level values may be derived from sea-surface
topography, data assimilation, statistical correlations or other means. A hybrid method combines two of
or more approaches.
Hindcast and Forecast Data: Hydrodynamic models numerically solve a set of fluid dynamic equations
in two or three dimensions, and rely on observational data, including water levels and winds, to supply
boundary conditions. Model grids may be either regular or irregular. Such models are often run several
times per day, and can be a hindcast or a forecast. The hindcast is a model simulation that attempts to
recreate present conditions by using the most recent observational data, while a forecast is a simulation
made for many hours into the future using predicted winds, water levels, etc. The results are saved for
a limited number of times, and are stored as arrays that derive from the model’s grid. These models
and methods are developed, run and monitored by the Producing Authority.
These descriptions are summarised in Table 7-1. (Note that the encoding format does not designate
observation data as “historical” or “real-time”.)

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 21

Table 7-1 - Types of water level data, based on the source of the data

Type Name Description


1 Historical observation Observation made hours, days, etc, in the past
2 Real-time observation Observation no more than a few minutes old
Value computed using harmonic analysis or other proven method of
3 Astronomical prediction
tidal analysis [IHO Res. 3/1919, as amended]
Calculation by statistical or other indirect methods, or a combination of
4 Analysis or hybrid method
methods
Gridded data from a two- or three-dimensional dynamic simulation of
5 Hindcast past conditions using only observed data for boundary forcing, via
statistical method or combination
Gridded data from a two- or three-dimensional dynamic simulation of
6 Forecast future conditions using predicted data for boundary forcing, via
statistical method or combination

7.1.1 Determination of trend


When the average change of the water level over a defined period (time window) is greater than or
equal to a threshold set by the Producing Authority it is considered “increasing”. When it is less than or
equal to the negative of the threshold it is “decreasing”. When it is between the double-sided range (+/-
threshold) set by the Producing Authority, it is “steady”.
The default time window over which the trend is calculated is 60 minutes. However, the 60 minutes
window may not be ideal for all locations (for example, locations where there is no tide versus locations
with strong tides) and producers may use a different window, in which case the window must be
encoded in the trendInterval metadata attribute.
In areas of small water level range, for example Baltic Sea, use of “not available” is optional.
The parameters used by the Producing Authority in determining the trend are the threshold value and
the time interval. These parameters can be encoded in the metadata attributes
waterLevelTrendThreshold and trendInterval respectively. These attributes are allowed at the Values
group level for DCF 8 in addition to being allowed at the general metadata level for all DCFs. When
encoded at the Values group level they apply only to the particular station for which they are encoded
and override the values encoded in the general metadata level.

7.2 The production process


Nearly all available information on water level from the Producer must be reformatted to meet the
standards of this Product Specification (Figure 10-1 – the S-104 format). This means (a) populating the
carrier metadata block (clause 12.3) and values group attributes (Table 12-4) with the relevant metadata
and (b) reorganizing the water level data when using the encoding rules (see Section 10 and Annex E
– HDF5 Encoding for Gridded Data).
7.2.1 Metadata
Metadata is derivable from the information available from the approved Authority. The following
variables will require additional processing:
 The bounding rectangle is computable from either the distribution of stations or nodes, or from
grid parameters. Note that the bounding box is encoded in both carrier metadata at the root group
level and in the discovery metadata block (attribute dataCoverage) in the Exchange Catalogue,
and must be the same in both places.
 Position uncertainties may be available from the approved Authority’s metadata.
 Water level uncertainty may be available from the prediction or forecast model, specification of
the water level gauge or calculated from observations.
 If a previously issued data file is being cancelled or replaced, the replacedData and/or
dataReplacement attributes in the Exchange Catalogue must be populated.

S-104 March 2023 Edition 1.1.0


22 Water Level Information for Surface Navigation Product Specification

 The metadata file name in carrier metadata (attribute metadata in Table 12-1) must be populated
with the name of the ISO 19115-1 metadata file, if any.
NOTE: Exchange Sets conforming to S-104 Edition 1.1.0 may not include an ISO metadata file,
in which case the attribute metadata in Table 12-1 may be encoded as the empty string.
Alternatively, a minimally populated ISO metadata file may be included in the Exchange Set. The
discovery metadata block in the Exchange Catalogue should also reference this file as provided
in the S-100 XML Schema for the Exchange Catalogue.
All mandatory metadata in carrier metadata (clause 12.3) must be populated with appropriate values.
In cases where the attribute is mandatory but inapplicable, the appropriate fill or null value described in
clause 12.3 must be used.
Similarly, when the Exchange Set is being compiled, all mandatory metadata or information fields in the
discovery metadata and Exchange Catalogue (clauses 12.1 and 12.2) must be populated. In cases
where the attribute is mandatory but inapplicable, or the value is unknown or not included in the relevant
enumeration list, the appropriate fill or null value described must be used.
NOTE (informative): Running the validation checks (Annex F) should detect missing metadata, but in
Edition 1.1.0 the checks are yet to be completely defined and automated, and visual checking of
metadata may be necessary. The Tables in clauses 12.2 and 12.3 describe the mandatory requirements
and allowed values.
7.2.2 Water Level Data
Observational water level and tidal water level predictions at a single location and gridded forecast data
must normally be reformatted to fit the S-104 Standard. The following may require additional
calculations:
 For gridded data. If a land mask array is included, the mask value is substituted into the gridded
values as appropriate (see A-2).
 Time stamps must be encoded as UTC.
7.2.3 Validation (informative)
Dataset and Exchange Set validation tests must be passed before the Exchange Set is published.
For numeric attributes, the fill value will be outside the allowed range of values specified in the Feature
Catalogue, if any. Similarly, for enumerations, the fill value will not be a member of the enumeration as
listed in the Feature Catalogue. Validation checks for datasets must allow for the presence of fill values.
NOTE: Validation checks are not an essential component at S-100 Readiness Level 1, for which reason
this sub-clause is designated “informative” in this Edition of S-104.

7.3 Guidance for chunking and compression (informative)


Chunking affects both dataset size and optimised data retrieval, the latter in the sense of how an ECDIS
would most efficiently retrieve relevant chunks of a dataset when a user pans and zooms.
Product Specification developers may desire to assess typical profiles and volumes of data for their
datasets and develop guidance for the use of chunking and compression in their data products.
Common practice is provided below. Product teams should assess its applicability to their own products
and use, omit, and adapt it accordingly.
The development of guidance on how to optimally and correctly do chunking and compression is
ongoing; however, current best practice is:
 For gridded data with 2 dimensions, for example dataCodingFormat = 2 (regular grids), choosing
roughly-square rectangular chunk sizes will result in better performance when reading subsets
of the data, and will probably result in better compression (one reason being that because NoData
areas tend to be clustered together geographically, geographically-tiled chunks will compress out
all those repetitive values).
 Producers may use "auto-chunking", where this functionality is available (for example, in the
production toolset’s HDF5 library). Auto-chunking will choose chunk sizes automatically.

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 23

 Choosing the right chunk sizes depends on the type of data and what the use of chunking is
trying to accomplish. Auto chunking is more ideal for compression and is less ideal for time-
critical access patterns.
Auto-chunking means different datasets may be chunked differently. Applications cannot expect a
standardised chunk size and will have to handle whatever chunk sizes they encounter in datasets.
Data Producers should note experiences from preliminary testing:
 2D arrays – Need to be chunked based on how the data is read. If applications need to hold the
entire grid in memory, use no chunking; otherwise estimate a reasonable size for data extraction.
It is probably better to have the chunking set a little smaller than to make it too big, for I/O
purposes.
 1D arrays – Do not chunk unless they are enormous (for S-104 this is not an issue since clause
11.2.1 limits datasets to well below the size where chunking matters).
 Given the relatively small sizes of datasets for S-104 (for example, 10 MB limit guidelines in
clause 11.2.1) chunking will not be of great benefit in read performance for S-104.
Producers should determine the compression scheme that is optimal for their own use case, as needed.

7.4 Datasets in a series


[Reserved. Will address production and packaging considerations special to datasets that are produced
as a series, for example 4 X daily, monthly, annually.]

7.5 Data use purpose


7.5.1 Datum requirements
Datasets intended for use in navigation must use the same CRS as the underlying ENC 3. Particular
care should be taken to ensure that the horizontal and vertical datum are the same as the underlying
ENC (with preference for S-101 over S-57). The epoch of realization should be included in this
assessment.
NOTE: Conformant datums are a requirement for display on ECDIS, and water level adjustment as
described in S-98 (see also Annex G).
7.5.2 Spatial type recommendations (informative)
Forecast datasets (type = astronomicalPrediction, analysisOrHybrid, hydrodynamicForecast) intended
for use in navigation should be issued as regular grids if possible and if sufficiently high-quality gridded
forecasts can be produced (regular grids being most suitable for water level adjustment, cf. S-98).
Forecasts may also be issued as forecasts at stations if available (note that ECDIS implementations
may not be able to produce adjusted water levels from S-104 data in forms other than regular grids).
Observation datasets (type = observedMinusPredicted, observedMinusAnalysis,
observedMinusHindcast, observedMinusForecast) will usually be issued in one of the point formats
(DCF 1 or 8).
7.5.3 Suitability for navigation (informative)
Datasets may be marked for use in navigation if the Producer is able to consistently produce data of
quality corresponding to the same zone of confidence as the underlying ENC. The Zones of Confidence
are described in S-101 Edition 1.1.0, Annex A – Data Classification and Encoding Guide (attribute
“category of zone of confidence in data” - CATZOC).

3 There will usually be multiple underlying ENCs with different scale ranges, which will ideally use the same CRS
and vertical datums. If not, the ENC Producer(s) should be consulted about possible ENC update plans and the
appropriate ENC to which water level information should conform.

S-104 March 2023 Edition 1.1.0


24 Water Level Information for Surface Navigation Product Specification

Alternatively, datasets may be marked for use in navigation if the Producer is able to consistently
produce data along with their uncertainties.
Producers should note that combining S-104 data of lower accuracy with S-101 or S-102 data of higher
accuracy may degrade the certainty of information available to the mariner.
7.5.4 Use purpose metadata
Datasets not intended for navigation purposes must have the discovery metadata attribute
notForNavigation in the corresponding S100_DatasetDiscoveryMetadata block set to true.
NOTE: The criteria for declaring a dataset as not-for-navigation remain to be determined.

7.6 Compliance categories


Compliance categories are described in S-100 Edition 5.0.0, clause 4a-5.5. Conformance of a S-104
dataset to this Edition of the S-104 Product Specification is sufficient to make a dataset Category 3.
Category 4 has additional requirements pertaining to metadata, Portrayal Catalogue, cyber security,
test datasets, etc.
Considering the requirements stated in S-100 Edition 5.0.0, clause 4a-5.5, the compliance category for
this Edition of S-104 must be coded as Category 3, provided the dataset complies with the requirements
in this Edition of S-104.

7.7 Compliance with S-98


S-98 Edition 1.0.0 consists of a specification for visual interoperability (S-98 Main, S-98 Parts A/B/C/D,
and S-98 Annexes A and B) and a specification for harmonised display of S-100 products on ECDIS
(S-98 Annex C). The requirements for datasets to be compliant with each aspect of interoperability are
described below. Compliance to this Edition of S-104 is a fundamental requirement and will not be
explicitly listed.
7.7.1 Requirements for visual interoperability
This Section will be developed further as exploratory implementations of S-98 interoperability progress.
In the interim, Producers may assume that S-104 products complying with the following requirements
also comply with the requirements for visual interoperability (S-98 Main and Parts A/B):
 The S-104 dataset uses the same CRS and vertical datum as an underlying (or overlapping) S-
101 ENC.
7.7.2 Requirements for harmonised user experience
This Section will be developed further as exploratory implementations of S-98 user experience progress.
In the interim, Producers may assume that S-104 products complying with the following requirements
also comply with the requirements for harmonised user experience:
 A Portrayal Catalogue for this Edition of S-104 is available.

8 Maintenance
8.1 Overview of dataset maintenance
Maintenance and Update Frequency: Water level is always moving, so more-or-less- continual
revision or updating of the data is essential. For real-time observations, new values are periodically
collected (for example every 6 minutes). For a forecast, the entire field of water levels is created one or
more times per day. New issues of real-time observations or forecasts should be considered updates.
Table 8-1 summarises this information.

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 25

Table 8-1 – Typical update/revision intervals and related information for S-104 products produced by a
single Producer.

Data Types Update Number Of Spatial Number Of Time Values Per


Interval Locations Location
Astronomical Predictions 1 year 100 to 1,000 52560 (10 minute data) or
8,760 (hourly data)
Model Forecasts 6 hr 100,000 to 1,000,000 1 to 24
Real-time Observations 0.1 hr 1 to 10 1 to 240

NOTE: Population of the resource maintenance information in metadata will indicate to the ECDIS when
new data can be expected to be available.
Data Source: Data is produced by the Producing Authority through the collection of observed values,
predicting astronomical tides, or running analysis or hindcast/forecast. This data is typically quality-
controlled and reformatted to conform to file size limitations and the S-104 Standard encoding.
Production Process: S-104 datasets, including the metadata and the coverages for water level, are
updated by replacement of the entire data product. Producers routinely collect observational data and
maintain an analysis and/or forecast capability. When new data becomes available (often several times
per day), the data is reformatted and made available for dissemination.
8.1.1 Update of harmonic constants (informative)
Water level harmonic constant data are updated much less often than predictions, typically on an annual
basis. Harmonic constants change their values if the environment changes (typically the bathymetry).
Since this rarely happens an update of the harmonic constants has to be made only in rare occasions.
If a long time series of level data is available, a statistical analysis of the harmonic constants can be
made in order to use their standard deviations to decide if an update is really necessary, for example if
their differences exceed three times the standard deviations.
Water level harmonic constant data should be updated only if their values differ from previous ones by
a given amount (for example three times their standard deviations).
Since this Edition of S-104 does not include harmonic constants in datasets, updates to harmonic
constants will affect S-104 datasets only as and when updated harmonic constants are used in
generating S-104 datasets. Producers may use the comment attribute of dataset discovery blocks in
the Exchange Catalogue to indicate which version of harmonic constants was used for the dataset.

8.2 Metadata related to dataset maintenance (informative)


General principles for dataset maintenance, especially cancellation, are being developed in the S-100
Working Group and this Section is therefore marked Informative in this Edition of S-104.
8.2.1 Elements used in S-104
S-100 Edition 5.0.0 metadata related to maintenance that may be used in S-104 metadata consists of
metadata elements specifying:
 The purpose (of issuing the dataset);
 The Edition number of the dataset;
 When its successor will be available;
 The issue date and time of the dataset; and
 The date of the metadata record for the dataset.
Some types of S-104 datasets use only some of these elements. Clauses 8.2.2 ff. provide guidance for
selecting the values of these elements for the corresponding discovery metadata blocks in the
Exchange Catalogue.

S-104 March 2023 Edition 1.1.0


26 Water Level Information for Surface Navigation Product Specification

8.2.2 New datasets


8.2.2.1 Classification as new datasets
S-100 Part 17 (Table S100_Purpose) defines a new dataset as a “Brand new dataset” with a remark
clarifying that “No data has previously been produced for this area”. The factors that should be
considered in determining whether a dataset should be classified as a new dataset are:
 Whether any S-104 water level datasets are currently being produced for the region.
 Whether a new type of water level information (Table 7-1) is being made available. For example,
if real-time observations are made available for a region where only astronomical predictions
were formerly issued, the real-time dataset should be considered a new dataset.
 Changes to spatiotemporal representations:
o Changes in the grid spacing for gridded data or interval for time series data should not be
considered a new dataset.
o Minor adjustments to spatial extent such as a small adjustment to a grid’s boundaries or
the addition of a new station to station-based data (DCFs 1 and 8) should not be
considered new datasets.
o Significant adjustments to spatial extent should be considered for classification as a new
dataset.
o The determination of whether an adjustment to spatial extent is minor or significant is left
to the Producer.
 Additional factors: The effect on the end user, change of designation (“not for navigation” vs.
“for navigation”), change of navigation purpose, effects on data distribution and data
management on ECDIS.
 Local factors, such as the S-104 cell scheme used by the Producer.
8.2.2.2 Metadata for new datasets
Dataset discovery metadata (Clause 12.2) for a new dataset must be encoded as follows:
 editionNumber in dataset discovery metadata (clause 12.2.4) must be 1.
 purpose in dataset discovery metadata must be newDataset.
8.2.3 New Editions
8.2.3.1 Classification as New Edition
S-100 Part 17, clause 17-4.5 (S100_Purpose) states that a New Edition “Includes new information
which has not been previously distributed by updates”.
New Editions of S-104 datasets are issued either when part or all the dataset is erroneous and must be
replaced, or when better data become available. In either case, the dataset is replaced as a whole.
New Editions are not used for successor datasets (for example, when a forecast for a specific period is
followed by a forecast for a later period). Instead, S-104 provides for a dataset naming convention that
distinguishes successive datasets in a temporal series.
8.2.3.2 Metadata for new editions
For a New Edition, set:
 purpose = newEdition
 edition number: increment by 1
8.2.4 Cancellations
8.2.4.1 Classification as cancellation
S-100 Part 17, clause 17-4.5 (S100_Purpose) states that a cancellation “Indicates the dataset or
Catalogue should no longer be used and can be deleted”.
S-104 datasets are cancelled only when a dataset or data sequence (such as a sequence of forecasts)
is terminated. This might happen for various reasons, for example if Producers reorganise their S-104
cell scheming or replace one type of water level information by another.

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 27

Cancellation of a dataset in S-104 is interpreted consistently with S-100 Part 17, with additional
conditions arising from the time-dependent nature of water level datasets. Cancellation of an S-104
dataset must be treated as described below:
 Water level information in the cancelled dataset for times beginning and after the effective date
and time of cancellation must not be used. The effective date and time are the issue date and
time in the discovery metadata for the cancellation record.
 Producers must ensure that date/time information for water level records in the dataset
commences with the issue date and time.
 Water level information in the cancelled dataset for times preceding the effective date/time of
cancellation may be used only in the absence of an uncancelled dataset covering the area and
time in question.
 Cancellation of a dataset that is part of a sequence of forecasts also cancels preceding datasets
in that sequence as described above. The sequence should be treated as terminated - there can
be no successors to the cancelled dataset in the same sequence.
 There may be a successor sequence that starts with a new dataset. If there is, the fields
dataReplacement and replacedData should be populated accordingly in the cancellation record.
 Cancelled datasets or sequences should not be removed as a consequence of the cancellation
unless their issue date and time are the same or later than the effective date and time of
cancellation.
8.2.4.2 Metadata for cancellation
For a cancellation, set:
 purpose = cancellation
 edition number = 0
 issue date and time = the date and time the cancellation is effective
 replacedData = true if and only if the cancelled dataset or sequence is replaced by another
dataset/sequence
 dataReplacement = cell name of the replacement dataset (if and only if the cancelled
dataset/sequence is replaced by another dataset/sequence).
8.2.5 Other S100_Purpose values (informative)
S-104 does not use the reissue, update and delta values of the S100_Purpose enumeration.
S-100 Part 17, clause 17-4.5 (S100_Purpose) states that a re-issue “Includes all the updates applied
to the original dataset up to the date of the re-issue. A re-issue does not contain any new information
additional to that previously issued by updates”. Since S-104 does not include a format for dataset
updates, S-104 datasets are not reissued. Corrections to datasets, if required, should be addressed by
cancellation of the old dataset accompanied by a New Edition with the same name and an incremented
Edition number.
S-100 Part 17, clause 17-4.5 (S100_Purpose) states that an update is for “Changing some information
in an existing dataset”. S-104 does not provide for replacing part of a dataset; instead, if changing
information is necessary, the whole dataset is replaced.
8.2.6 Maintenance of support files
The Edition number is 1 for the first issue of a support file for a particular dataset. In the event that the
ISO metadata for that dataset is updated or replaced, or the dataset is replaced (for example for a
correction) the Edition number is incremented by 1.
The current practice is for successive datasets in a series of datasets to have different names, and their
corresponding ISO metadata files will therefore each have Edition number = 1.
The Edition number for language packs changes if and only if the language pack file is updated.
8.2.7 Encoding update frequency
The encoding of information about when the next update to a dataset will be released (cf. clause 12.2.4
- resourceMaintenance) is mandatory for datasets that are updated or replaced monthly or more
frequently.

S-104 March 2023 Edition 1.1.0


28 Water Level Information for Surface Navigation Product Specification

The provision of this information for datasets that contain information updated less frequently than
monthly (such as astronomical predictions when these are issued annually) is left to the discretion of
the Producer, with the expectation that if it is not encoded in discovery metadata the expected release
dates will be communicated to distributors and end-users by other means.
For datasets that are continually updated on a fixed cycle, timing information should be encoded as the
interval from the issue date and time of the current dataset (that is, using the
userDefinedMaintenanceFrequency sub-attribute - cf. S-100 Part 17, clause 17-4.9).
Data Producers or metadata compilers must consult S-100 clause 17-4.9 for the rules on encoding
information about release timing.

9 Portrayal
9.1 Introduction
This Section describes means of displaying water level data to support navigation, route planning and
route monitoring. Three types of data are discussed in depth. The first is point data, which would apply
to historical data, astronomical predictions, forecast/hindcast, and real-time data. The second is
regularly gridded data, which would apply to analyses, hindcasts and forecasts. For gridded or point set
data, the water level portrayal characteristics used for single-point data can be adapted to the display
of data at multiple points.
For example, a point portrayal may be provided to display water level at significant locations such as
where real-time observations are available. A gridded portrayal may be provided for voyage planning
where a Mariner’s selection of routes may be influenced by water level at certain way points. Note that
not all portrayal categories (point and gridded) may be available for all types of water level data
(historical observations, real-time observations, astronomical predictions, and forecast total water level).
All recommended sizes are given assuming a minimum size ECDIS display of 270 by 270 mm or 864
by 864 pixels.
Three portrayal options are provided because of the different types of information that could be supplied.
The options listed below allow Member States to cater for the information that they have available for
their countries. The intent is that the mariner will want to use the data for route planning and real-time
navigation.
NOTE: No XML Portrayal Catalogue is provided in S-104 Edition 1.1.0, and implementation of portrayal
is not expected for S-104 Edition 1.1.0.

9.2 Display of water level at a single point


Portrayal of water level using single point data should be used in instances where the data source is a
water level (e.g. a historical or real-time water level measuring device) at a single geographic location.
All text and line colour will be in black unless stated otherwise. The portrayal options are (1) a symbol
at the location of the water level data source, (2) a text box containing information on the height, trend,
etc., and (3) a graphic plot showing the height over time.
NOTE: All text and line colour will be in black unless stated otherwise.
9.2.1 Symbol

The water level point will be represented by symbol entered in the S-100 IHO geospatial Information
(GI) Registry (see Table 9-1).
Table 9-1 – Beta version of the tide station symbol in the GI Registry

Symbol Name Definition


TIDEHT01 Point for which tide height information is available.

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 29

9.2.2 Text Box


The information displayed within a window (minimum of 100 x 100 pixels; see Figure 9-1) will be
dependent on water level information type. See Table 9-2 for a breakdown of information.
Table 9-2 – Numerical information displayed at the location of a water level

Water Level Type Information Displayed


All types Station name, date and time stamp (Ship time zone), water level, trend, water level
type, additional information (link to create pick report).

Figure 9-1 – Sample text box for a single water level station.
The numerical value of the water level is a number in metres in black text on white background (or the
inverse for night vision). This display should be made available when the cursor is held over the data
point.
If available, “Additional information” will be supplied on a priority level or possibly via “pick report”. See
Table 9-3.
Table 9-3 – Priority for additional information

Priority Level Additional Information


1 Only that listed in Table 9-2.
2 Data Source, Latitude, Longitude, Graphic plot display.
3 Uncertainty in water level, uncertainty in horizontal position, uncertainty in vertical
position, uncertainty in time.

9.2.3 Graphic Time Series Plot


The availability of the graphic plot display (605 x 650 pixels), should be indicated by a link in the window
mentioned in clause 9.2.2 that creates another window/tab displaying up to 7 days of water level. The
Mariner will have the option to change between 3 hours, 6 hours, 12 hours, 1 day, 3, 5 or 7 day display.
The display will have the option to display two plots within the one window; a primary plot and a
secondary plot. The number of plots shown will depend on dataset availability for the area in question.
When Portrayal Catalogues use an area fill to depict water level information from an S-104 feature, the
fill colour should have transparency set so that background colours, lines and symbols of features from
other products can be perceived through a coverage area fill shade (for example depth contours and
Traffic Separation Schemes should show through a gridded or TIN water level coverage area fill). Line
and text transparency must be similar to those of hover boxes. The colours to be used for lines are
shown in Table 9-4. Text colour is black.
Table 9-4 – Data Type Colours for Graphic Plot window (see clause 7.1 for definitions of “predicted” and
“forecast”)

Data Type Plot Colour


Primary plot
Observed Magenta
Predicted Black
Analysis Green

S-104 March 2023 Edition 1.1.0


30 Water Level Information for Surface Navigation Product Specification

Forecast Blue
Hindcast Cyan
Secondary plot
Observed minus Predicted Black
Observed minus Analysis Green
Observed minus Forecast Blue
Observed minus Hindcast Cyan
Forecast minus Predicted Red

A maximum limit of five lines in total are to be plotted; for example, Observed, Predicted (astronomical)
and Forecast, and Observed minus Predicted and Observed minus Forecast. The following must be
included in the plot space: (1) Station name and the water level type; (2) date and time information; (3)
height scale; and (4) vertical datum reference. A sample plot for one station is shown in Figure 9-2.

Figure 9-2 – Sample one-day plot of a time series of observed, predicted, forecast, observed minus
predicted, and observed minus forecast water level heights. Sample plot does not include station name
and vertical datum reference.
Multiple lines can be plotted on the graphic plot window at the same time and the colours are used to
differentiate the data type. Data types with the same colours are plotted on different plots. Note that
other ECDIS Standards will define when this graphic plot can be displayed, due to the size of the window
covering the screen size. Note also that the use of dashed lines was considered but discounted by the
viewers who indicated difficulty following lines on a small plot window.
The colour of the curve could be used for the words in the title of the graph (Observed, Predicted,
Forecast, etc), to allow the user to know directly which data is in which colour.

9.3 Display of gridded data


The display of gridded data depicts water level surface information at each individual point having the
qualities described in clause 9.2. As with single point water level data, a mouse click on the chart area
will display the information from the grid node nearest to that point.
NOTE 1: There is no adjustment of bathymetry data because this option is outside the scope of this
Product Specification.

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 31

NOTE 2: There are no specifications for the display of a water surface from gridded data in this Product
Specification Edition.

9.4 Treatment of missing values


For “abnormal” missing values for real-time observations (no data sent for that time stamp, at a location
where data is otherwise available), manufacturers must default to predicted/modelled information on
ECDIS, with an annotation indicating that such substitution has been used.

9.5 Temporal considerations


The time selected for display (that is past, present or future) of the water level by the system will typically
not correspond exactly to the timestamp of the input data. For data with only a single record (that is the
timestamp of the earliest values equals that of the latest value) such as real-time data, the water level
values are displayed only if the absolute difference between the display time and the data timestamp is
less than a discrimination interval (for example 5 minutes). For a single record, the variable
timeRecordInterval (see clause 12.3) can be used to set the discrimination interval. This is related to
real-time delivery of water level, to flag missing real-time data and to revert to prediction data. If no
prediction data is available, retain last provided water level reading.
For data with multiple times, if selected display time is later than the first timestamp and earlier than the
last timestamp, then the closest two timestamps (that is one earlier and one later) in the data are found
and the water level values are linearly interpolated. However, if the selected display time is earlier than
the first timestamp or later than the last timestamp, the water level values at the closest time are
displayed only if the absolute time difference between the display time and the data time stamp is less
than a discrimination interval (for example half the value of the variable timeRecordInterval).

9.6 Interoperability
Interoperability principles determine priority in display of elements so that important image elements,
such as depth numerals, are not obscured by water level values. Water level portrayal will conform to
interoperability rules when they are established.

9.7 Construction and packaging of Portrayal Catalogues


The Portrayal Catalogue must be constructed as a main Portrayal Catalogue XML file (see S-100 Part
9, clause 9-13) and other files in subfolders. The structure is described in S-100 clause 9-13.2. The
main Portrayal Catalogue XML file and portrayal subfolders described in S-100 must be placed in a
single subfolder named 104_1_1_0_PC/YYYYMMDD. When distributed within an exchange set, the
entire Portrayal Catalogue may be packaged as a zip archive named 104_1_1_0_PC_YYYYMMDD.ZIP.
The YYYYMMDD component in the folder and archive names denotes a “build date” and allows
distinguishing Portrayal Catalogues corresponding to the same version of the S-104 Product
Specification (for example, correcting a discrepancy between a portrayal rule and a stable version of
the S-104 Product Specification).
Figure 9-3 depicts a hypothetical S-104 Edition 1.1.0 Portrayal Catalogue, with the build date 01 January
2023. The Portrayal Catalogue is located under the folder 104_1_1_0_PC which is a container for all
S-104 Edition 1.1.x Portrayal Catalogues. If a new Portrayal Catalogue is defined for the same Edition
of S-104, it must receive a new build date and would be placed under 104_1_1_0_PC in a folder named
with the new build date.

S-104 March 2023 Edition 1.1.0


32 Water Level Information for Surface Navigation Product Specification

Figure 9-3 – Typical structure for S-104 Portrayal Catalogue.


Note that some of the sub-folders will be empty since S-104 defines only coverage features and does
not need all the components definable in S-100 Portrayal Catalogues.

10 Data Product Format (Encoding)


10.1 Introduction
The water level data products must be encoded using one of the listed formats. The structure of the
data product is discussed in the next section. There is only one format allowed to encode data.
Format: HDF5 for water level height and trend data
Character Set: MD_CharacterSetCode (ISO19115-1) should be set to utf8
Specification: S-100 profile of HDF5

10.2 HDF5 product structure for time series and gridded data
The key idea at the core of the structure is this: The organisation of the information is substantially the
same for each of the various types of data, but the information itself will be interpreted differently.
10.2.1 Data type definition
HDF5 will be used for all water level data types.
Format Name: HDF5
Character Set: MD_CharacterSetCode (ISO 19115-1)
Specification: S-100 profile of HDF5
This product format is designed to be flexible enough to apply to water level values in the form of: (a)
data at one or more times for one or more individual, fixed stations, organised by time or station; (b)
regularly-gridded data for one or more times; (c) ungeorectified gridded data for one or more times; and
(d) TIN data. This approach contains, for each type, data in a similar format but which is interpreted
differently. Since each type of data will be interpreted differently, the type of data must be identified by
the variable dataCodingFormat, as shown in Table 10-1. (The letters in parentheses in the second
column reference the types listed earlier in this paragraph.)

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 33

Table 10-1 – S-104 data types and values of the variable dataCodingFormat (see S-100 Edition 5.0.0, Table
10c-23)

dataCodingFormat Type of Data


1 Time series data at one or more fixed stations (organised by time) - type (a)
2 Regularly-gridded data at one or more times - type (b)
3 Ungeorectified gridded data or point set data at one or more times - type (c)
7 TIN data - type (d)
8 Stationwise time series at one or more fixed stations (organised by station) - type (a)

For the use of HDF5, the following key concepts (S-100 Part 10c, clause 10c-5.1) are important:
 File - a contiguous string of bytes in a computer store (memory, disk, etc), and the bytes represent
zero or more objects of the model;
 Group - a collection of objects (including groups);
 Dataset - a multidimensional array of data elements with attributes and other metadata;
 Dataspace - a description of the dimensions of a multidimensional array;
 Datatype - a description of a specific class of data element including its storage layout as a pattern
of bits;
 Attribute - a named data value associated with a group, dataset, or named datatype;
 Property List - a collection of parameters (some permanent and some transient) controlling
options in the library;
 Link - the way objects are connected.
In addition, a dataset may have one, two, or more dimensions, and each element in the dataset may
be a compound. That is, each element may itself be an array of possibly different datatypes (float,
integer, string, etc).
For all data types, the product structure in HDF5 includes: (a) a metadata block; which is followed by
(b) one or more Groups which contain the actual water level data. The water level information is saved
in arrays that hold either gridded data or a time series.
10.2.2 Product structure
The structure of the data product follows the form given in S-100 Part 10c – HDF5 Data Model and File
Format. The general structure, which was designed for several S-100 products, not just water levels, is
given in Figure 10-1.

S-104 March 2023 Edition 1.1.0


34 Water Level Information for Surface Navigation Product Specification

Figure 10-1 - Outline of the data file structure for S-104 data files, showing the realisation of S-104
structure from the generic structure described in S-100 (see S-100 Part 10c, Figure 10c-7). Note that there
are four levels from top to bottom
In Figure 10-1 there are four levels:
Level 1: At the top level lies the Root Group, and it contains the Root Metadata ( Table 12-1) and two
subsidiary groups. The Root Metadata applies to all S-100 type products.
Level 2: The next Level contains the Feature Information Group and the Feature Container Group. The
Feature Information Group contains two datasets: the featureCode, which has the name of the S-100
feature (here WaterLevel); and the feature information dataset (WaterLevel) which contains a
compound array with eight parameters for each S-100 feature attribute (height, trend, and time). The
Feature Container Group contains the Feature Type Metadata (Table 12-2) and one or more Feature
Instance Groups. The Feature Type Metadata is common to all water level products.
Level 3: This contains one or more Feature Instances. A feature instance is, for example, a time series
of gridded data for a single region; or a time series of astronomical predictions for a set of stations.
Level 4: This contains the actual data for the feature. S-104 uses only the Values Group and, for only
some data, the Positioning Group.
The basic structure of the S-104 data product is shown in Table 10-2. Levels refer to HDF5 structuring.
(C.f. S-100 Part 10c, Figure 10c-9). Naming in each box below header line is as follows: Generic name;
S-100 or S-104 name; and (HDF5 type) group, attribute or attribute list, or dataset.

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 35

Table 10-2 – Overview of an S-104 data product

LEVEL 1 (ROOT) LEVEL 2 CONTENT LEVEL 3 CONTENT LEVEL 4 CONTENT


CONTENT
General Metadata
(see Table 12-3)
(h5_attribute)
Feature Codes Feature Type Name
Group_F WaterLevel
(h5_group) (h5_dataset)
Feature Type Codes
featureCode
(h5_dataset)
Feature Type Feature Type Metadata
WaterLevel (see Table 12-4)
(h5_group) (h5_attribute)
Horz. & vert. Axis Names
axisNames
(h5_dataset)
First Feature Instance Feature Instance
WaterLevel.01 Metadata
(h5_group) (see Table 12-3)
(h5_attribute)
Location Data Lon+lat Array
Positioning geometryValues
(h5_group) (h5_dataset)
Uncertainty Data
uncertainty
(h5_dataset)
First data group Time Attribute
Group_001 timePoint
(h5_group) (h5_attribute)
Height+trend Array
values
(h5_dataset)
Second data group Time Attribute
Group_002 timePoint
(h5_group) (h5_attribute)
Height+trend Array
values
(h5_dataset)
Third data group Time Attribute
Group_003 timePoint
(h5_group) (h5_attribute)
Height+trend Array
values
(h5_dataset)
Second Feature Instance Feature Instance
WaterLevel.02 Metadata
(h5_group) (see Table 12-3)
(h5_attribute)

The following clauses explain entries in Table 10-2 in more detail.


10.2.2.1 Root group
The Root group contains the Feature Codes group, the Feature Type group, and the simple attributes
shown in Table 12-1.
10.2.2.2 Feature type codes (Group_F)
This group specifies the S-100 feature to which the data applies. The group has no attributes and
consists of two components:

S-104 March 2023 Edition 1.1.0


36 Water Level Information for Surface Navigation Product Specification

featureCode – a dataset with the name(s) of the S-100 feature(s) contained in the data product. For S-
104, the dataset has a single element, the string “WaterLevel”.
WaterLevel – this is a dataset with the name contained in the featureCode dataset. The dataset
contains a one-dimensional compound array of length 3 (one for each of the three water level attributes:
height, trend, and time). Each of the three elements of string values has 8 values, as shown in Table
10-3.
NOTE: Values provided in Table 10-3 are required.
Table 10-3 – Contents of the one-dimensional compound array (length = 3, compound elements = 8)
WaterLevel. All values are strings
N Name Explanation Attribute 1 Attribute 2 Attribute 3
1 code Camel Case Name waterLevelHeight waterLevelTrend waterLevelTime
2 name Plain text Water Level Height Water Level Trend Water Level Time
3 uom.name Units of Measurement metres DateTime
4 fillValue Denotes missing data -9999.00 0 (0-length string)
5 datatype HDF5 datatype H5T_FLOAT H5T_ENUM H5T_STRING
6 lower Lower bound on attribute -99.99 19000101T000000Z
7 upper Upper bound on attribute 99.99 21500101T000000Z
8 closure Open or Closed data closedInterval closedInterval
interval. See
S100_IntervalType in S-100
Part 1

The values in this array must be consistent with the corresponding entries in the Feature Catalogue,
with the exception that Attribute 3 has no uom.name value in the Feature Catalogue.
NOTE: The Specification can still be used for providing water level information outside the 1900-2149
date range but it will fail validation checks pertaining to dates and must be considered "not for
navigation" data.
10.2.2.3 Type group (WaterLevel)
This group contains a dataset called axisNames and one or more instances of the single feature
WaterLevel. A single instance may contain a gridded forecast at multiple hours, or a set of time series
predictions or observations at several stations. This group has the simple attributes shown in Table 12-
2. For S-104, axisNames consists of two elements, the strings ‘longitude’ and ‘latitude’ (EPSG:4326
axis names). The contents of the axisNames array must be exactly the same as the axis names used
by the appropriate registry entry for the coordinate system specified in the metadata; for EPSG, the axis
names in the corresponding EPSG Registry entry must be used.
10.2.2.4 Instance group (WaterLevel.nn)
This group contains a single instance of the feature (see clause 10.2.2.3). The groups are numbered
from 01 to 99. This group has the simple attributes shown in Table 12-3, as well as the (water level,
trend, and time) values groups, the (conditional) positioning group, and a dataset called ‘uncertainty’.
Uncertainty Dataset – The (optional) uncertainty data is contained in a compound HDF5 dataset
named ‘uncertainty’. There is a name and an uncertainty value for water level height, which is
waterLevelHeight. The units of height uncertainty are metres. The default, denoting a missing value, is
-1.0.
10.2.2.5 Value groups (Group_nnn)
These groups each contain an attribute (the date-time stamp), and the compound data arrays containing
water level height and trend, and optionally water level time. These groups have the simple attributes
shown in Table 12-4. These components are explained below.
Date-Time Stamp - The date-time stamp is an attribute named timePoint with a single (string) value.
For gridded (regular, ungeorectified, and TINs: dataCodingFormat = 2, 3, or 7), the time stamp is the

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 37

time of validity for all points in the grid. For a time series at fixed stations (dataCodingFormat = 1), the
time stamp is valid for all stations in that Value group.
Value Arrays - The height and trend values (waterLevelHeight and waterLevelTrend) are stored in
arrays named values, with a prescribed number of rows (numROWS) and, if two-dimensional, columns
(numCOLS).
For a time series of fixed stations (dataCodingFormat = 1 and 8), the height and trend values will be for
times in the series as determined by the starting date-time and the data time interval. If the time intervals
are non-uniform (only for dataCodingFormat = 8), then the time for each height and trend value is given
by waterLevelTime.
For a regular grid (dataCodingFormat = 2), the height and trend values will be for each point in the grid,
the data array values is two-dimensional, and the time for all points in the grid is given by the date-time
stamp.
For an ungeorectified grid and TINs (dataCodingFormat = 3 and 7, respectively), the height and trend
values will be for each point in the grid, the data array values is one-dimensional, and the time for all
points in the grid is given by the date-time stamp.
10.2.2.6 Conditional geography group (Positioning)
The group named Positioning contains all the locations (longitude and latitude values) that have
associated data values. This group has no attributes. In S-104, this group is present in the data product
only for dataCodingFormat values of 1, 3, 7, or 8.
The geographic values are stored in the single, one-dimensional compound array named
geometryValues, of size numPOS. Each element in the compound array geometryValues contains the
pair of float values (longitude, latitude). The value of numPOS and the interpretation of the kinds of
locations depends on the dataCodingFormat as well. The values and number of stations (respectively)
for each data type are explained in Table 10-4.
For dataCodingFormat = 7 (TIN), the Positioning group also contains the required triangles and
optional adjacency arrays. Each row in the triangles array encodes a triangle as the indexes of 3
coordinates in the geometryValues dataset. Each row in the adjacency array encodes the triangles
adjacent to any given triangle by specifying their indexes in the triangles dataset. Elements for edges
without adjacent triangles are filled with the value -1. See S-100 Table 10c-16 for the encoding format.
S-100 Part 8 (Clause 8-6.2.7) explains the structure of TINs and their use for describing coverage data.
For dataCodingFormat = 2 (regular grid), location data for grid points can be computed from the grid
origin and number of grid points in each dimension, which are encoded as HDF5 attributes. The attribute
numPOS is not needed since the grid data is stored as a two-dimensional array with the number of
rows and columns given by the numbers of grid points in each dimension. See S-100 Part 10c, clause
10c-9.3 for more information.
NOTE: the variable names in this Group (longitude, latitude) must match in case and spelling those in
axisNames.
Table 10-4 – Values of numPOS for the group Positioning

Data Coding Data Type Location Data Array Size: Value


Format of numPOS
1 Time series at fixed stations Position of stations numberOfStations
2 Regular grid (Not applicable) (Not applicable)
3 Ungeorectified gridded data Location of the grid nodes numberOfNodes
7 TINs Location of the grid nodes numberOfNodes
8 Stationwise time series at fixed stations Position of stations numberOfStations

10.2.2.7 Summary of generalised dimensions


To summarise, for non-regularly gridded data only, there is an initial Positioning Group with X and Y
position, stored in one-dimensional arrays of size numPOS. Following that, there are data Groups
containing water level and trend data, which are stored in either one-dimensional arrays of size

S-104 March 2023 Edition 1.1.0


38 Water Level Information for Surface Navigation Product Specification

numROWS or two-dimensional arrays of size numROWS by numCOLS. The total number of data
Groups is numGRP.
The four variables that determine the array sizes (numROWS, numCOLS. numPOS, and numGRP) are
different, depending upon which data coding format is used. Their descriptions are given in Table 10-5.
Table 10-5 – The array dimensions used in the data product

Data Positioning Data Values


Coding Data Type
Format numPOS numCOLS numROWS numGRP

1 Fixed Stations numberOfStations 1 numberOfStations numberOfTimes


2 Regular Grid (not used) numPointsLongitudinal numPointsLatitudinal numberOfTimes
3 Ungeorectified Grid numberOfNodes 1 numberOfNodes numberOfTimes
7 TIN numberOfNodes 1 numberOfNodes numberOfTimes
Fixed Stations numberOfStations 1 numberOfTimes numberOfStations
8
(Stationwise)

10.2.2.8 Mandatory naming conventions


The following group and dataset names are mandatory in S-100: ‘Group_F’, ‘featureCode’, and (for S-
104) ‘WaterLevel’, ‘axisNames’, ‘Positioning’, (for S-104) ‘WaterLevel.nn’, and ‘Group_nnn’ (n is an
integer from 0 to 9). Attribute names shown in clause 12.3 are also mandatory.
10.2.2.9 Summary of product structure
For regularly gridded data, the water level array is two dimensional, with dimensions
numPointsLongitudinal and numPointsLatitudinal. These attributes are part of feature instance
metadata described in Table 12-3 and S-100 Part 10c, Table 10c-12. By knowing the grid origin and the
grid spacings, the position of every point in the grid can be computed by simple formulae.
However, for time series data, TINs, and ungeorectified gridded data (that is, when dataCodingFormat
is 1, 3, 7, or 8), the location of each point must be specified individually. This is accomplished by the
data in Positioning Group, which gives the individual longitude (X) and latitude (Y) for each location. For
time series data, the X and Y values are the positions of the stations; the number of stations is
numberOfStations. For TINs and ungeorectified-gridded data, the X and Y values are the positions of
each point in the grid; the number of grid points is numberOfNodes.
NOTE: If dataCodingFormat is 2, the Positioning group is not present.
The remaining groups each contain a title, a date-time value (attribute timePoint, except for
dataCodingFormat = 8), and the water level array. The title can be used to identify each individual
station with time-series data. For dataCodingFormat = 2 or 3, the date-time is for the entire grid. The
water level array is two dimensional, with a number of columns (numCOLS) and rows (numROWS). For
a time series, the water level value will be for each time in the series. For a grid, the water value will be
for each point in the grid.
The format allows features encoding data stationwise (dataCodingFormat=8) to be encoded with either
uniform or non-uniform time intervals.
 For non-uniform time intervals, each record has a date-time encoded in the water level array.
 For uniform time intervals, the time interval is encoded as an attribute of the Values group. In this
case, the date-time of individual records is omitted from the water level array.
The groups are numbered 1, 2, etc, up to the maximum number of groups, numGRP. For fixed station
stationwise data (dataCodingFormat = 8), the number of groups is the number of stations. For regular
and ungeorectified grids and TINs (dataCodingFormat = 2, 3, and 7), and for fixed station timewise data
(dataCodingFormat = 1) the number of groups is the number of time records.
The overall structure of the water level data product is created by assembling the data and metadata.
The product structure is compliant with the HDF5 data architecture, which allows multi-dimensional
arrays of data to be grouped with metadata. The format of the data product (cf. Figure 10-1) described

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 39

above is portrayed in Figure 10.2. The Carrier Metadata is discussed in clause 12.3 (Tables 12-3 – 12-
5), and the Values group attributes are discussed in clause 12.3 (Table 12-4).
NOTE: The name of each Group is the ‘Group_nnn‘, where nnn is numbered from 1 to numGRP.
HDF5 Dataset
File Metadata (Table 12-3)

Group: WaterLevel
Feature Type Metadata (Table 12-4)

Group: WaterLevel.01
Feature Instance Metadata (Table 12-5)

Group: Positioning (conditional)


X + Y values array (m=0,numPOS-1)

Group: Group_001
Values Group attributes (Table 12-6)
Valid Date-Time1
Water Level + Trend Array (i=0,numCOLS-1, j=0,numROWS-1)

Group: Group_002
Values Group attributes
Valid Date-Time2
Water Level + Trend Array (i=0,numCOLS-1, j=0,numROWS-1)

Group: Group_nnn
Values Group attributes
Valid Date-TimenumGRP
Water Level + Trend Array (i=0,numCOLS-1, j=0,numROWS-1)

Figure 10.2 - Schematic of the S-104 HDF5 data product structure. The four parameters numPOS,
numCOLS, numROWS, and numGRP are explained in Table 10-5.
Group ‘Positioning’ appears only for dataCodingFormat = 1, 3, 7, or 8 (Table 10-5).
Valid Date-Time1,2,...numGRP have different meanings and encodings for dataCodingFormat = 1, 2, 3 and 7
compared to dataCodingFormat = 8 (see Table 12-6).
10.2.2.10 Digital Certification Block
Information here is used to certify the validity or integrity of the data.
This Edition does not provide for inclusion of certificates or digital signatures within the HDF5 file. When
necessary, certificates and digital signatures must be provided for the HDF5 file as a whole, using the
mechanisms described in S-100 Parts 15 and 17.

10.3 Sample HDF5 encoding


The product structure has been designed for compatibility with the HDF5 capabilities. The HDF5
encoding of the data set is discussed in Annex E – Sample HDF5 Encoding.

S-104 March 2023 Edition 1.1.0


40 Water Level Information for Surface Navigation Product Specification

11 Data Product Delivery


11.1 Introduction
This Section describes how the water level data product is to be packaged by the Producer.
Due to the cost of transmitting data via the internet, it is desirable to limit file size and updating frequency
whenever possible. Considerations here are the size of each transfer as well as the total volume of data
transferred over time (the latter particularly applies to datasets which are issued daily or more frequently,
such as forecasts). The following recommendations are therefore proposed:
1) Each exchange data file, as created by the Producer and after compression, is recommended to
be limited to 10 MB.
2) The “cell scheming” (geographic extents covered) for datasets, especially datasets which are
issued frequently (for example, daily or more frequent forecasts) should be determined so as to
reduce the transfer of unnecessary data (information not needed for route planning or monitoring
within reasonable time windows). It is recommended that cell scheming and grid density take into
account the navigation purposes defined in S100_NavigationPurpose, reproduced below:
a. port – For port and near shore operations
b. transit – For coast and planning purposes
c. overview – For ocean crossing and planning purposes.
S-100 Part 15, clause 15-5.2 allows one data compression scheme: Zip (note that this may not provide
a significant reduction due to internal compression applied within the HDF file). In addition, the file may
be encrypted.
Updating of files typically means issuing a new forecast, or disseminating the latest observed water
level for a specific geographic region. This may occur several times per day. Therefore, all files must
contain a date-time of issuance of the product. Because of the potentially high frequency (that is, hourly
or less) availability of new datasets, the ECDIS system may need to check for new data at a similar
frequency. The “resource maintenance” information in external metadata and “delivery interval” in
internal metadata should therefore be populated whenever possible.

11.2 HDF5 dataset packaging


The HDF5-formatted datasets are packaged with metadata and an Exchange Catalogue, and then
combined into an Exchange Set. HDF5 files for time series or gridded water level data may require
internet transmission, since they change several or more times a day.
11.2.1 Exchange Sets
Datasets, or data products, produced by the Producer consist of packages (such as ZIP archives or
files organised within a file system folder/directory structure), containing both the Exchange Catalogue
and one or more data products (of possibly different S-100 types), with each product covering a specific
geographic region and specific period of time (Figure 11-1). The Exchange Catalogue lists the products
and contains the discovery metadata. Support files may also be included in the package.
The name of the Exchange Set must be derived from the catalogue identifier, which in turn must be
globally unique. See clause 12.2.2 for the rules determining how the catalogue identifier is constructed.
An extension appropriate to the packaging method must be suffixed. For example:
 If the catalogue identifier is 104ABCDXYZ_1_20_20210420 and the Exchange set is packaged
as a Zip file, the name of the Zip file must be 104ABCDXYZ_1_20_20210420.zip or
104ABCDXYZ_1_20_20210420.ZIP.
 If the catalogue identifier is 104ABCDXYZ_1_20_20210420 and the Exchange Set is
distributed as a folder on compact disc media, the folder name must be
104ABCDXYZ_1_20_20210420.

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 41

Exchange Set

Exchange Catalogue
Metadata (includes list of files in Exchange Set)

Other Catalogues
Auxiliary files (Feature and Portrayal Catalogue, SVG Files, etc.)

Data Products
Data Product No. 1
Data Product No. 2
Data Product No. 3
Data Product No. 4
Etc

Support Files
ISO-format metadata files, language packs, dictionaries

Figure 11-1 – Schematic diagram of the Exchange Set.


The Exchange Set size is limited to 10 MB. The size of datasets (HDF5 data files) can vary widely,
depending on the data. Using the sample HDF5 files (see Annex E), a file containing, along with
metadata, a single water level height array and a single water level trend array, each with 100,000 grid
points would have a size of approximately 0.21 Mbytes. Exchange files may be compressed using the
DEFLATE compression algorithm commonly used in ZIP archives (cf. S-100 Part 15, clause 15-5.2).
Doing so can reduce file size by 80% or more.
11.2.1.1 Exchange Set structure
The structure of an S-104 Exchange Set must be according to the structure described below, which is
based on S-100 Part 17, clause 17-4.2. The S-104 Exchange Set structure is depicted in Figure 11-2.
1) All content must be placed inside a top root folder named S100_ROOT. This is the only top level
root folder in an Exchange Set containing only S-100 products.
2) The S100_ROOT folder must contain a subfolder for S-104 which holds content specific to S-
104.
3) An S-104 Exchange Set must contain an Exchange Set Catalogue, CATALOG.XML, its digital
signature CATALOG.SIGN and may contain any number of S-104 conformant dataset files and
Catalogue files.
4) The S-104 subfolder must contain subfolders for the component dataset files (DATASET_FILES)
and Catalogues (CATALOGUES) as required:
a. The DATASET_FILES subfolder is required if and only if the Exchange Set contains an S-
104 HDF5 dataset.
b. The CATALOGUES subfolder is required if and only if the Exchange Set contains a
Feature or Portrayal Catalogue. (This Edition of S-104 does not include Interoperability
Catalogues.)
5) The DATASET_FILES folder must contain a subfolder named according to the Producer Code.
6) Individual data files must be placed under the Producer subfolder, either directly in the Producer
folder, or within a lower-level subfolder hierarchy. Individual data files may be optionally placed
in their own subfolders or grouped with other data files.
7) An Exchange Set may carry Feature and Portrayal Catalogues in different versions, which should
also be grouped together in the CATALOGUES folder.
8) If a Portrayal Catalogue is included in the Exchange Set, it may be packaged as either a ZIP
archive containing all Portrayal Catalogue files, or a filesystem structure of folders and files. The
structure of Portrayal Catalogues is described in S-100 Part 9, clause 9-13.2 and guidance on
packaging Portrayal Catalogues is provided in clause 9.7.

S-104 March 2023 Edition 1.1.0


42 Water Level Information for Surface Navigation Product Specification

9) Except for the signature of the Exchange Catalogue file (CATALOG.XML), which is in the
CATALOG.SIGN file, all digital signatures are included within their corresponding resource
metadata records in CATALOG.XML.
10) Dataset and Catalogue file and/or folder names should be such as to avoid inadvertent
overwriting of files.
11) Digital signatures for Exchange Sets conforming to Edition 1.1.0 of S-104 may be dummy
values (values that conform to the format requirements but are not actual signatures). Proper
digital signatures will be mandatory when S-104 reaches Readiness Level 3 (cf. S-97 Edition
1.1.0, clause A-5).
12) It is not necessary for an Exchange Set to contain more than one build of a Feature or Portrayal
Catalogue for the same version of a Product Specification. For example, an Exchange Set will
not contain both 104_1_1_0_FC/20210630/ and 104_1_1_0_FC/20220101/ folders for Edition
1.1.0 Feature Catalogues. The presence of both in Figure 11-2 is only for illustrative purposes.
13) Inclusion of the dictionary of enumerations in any particular Exchange Set is optional, since it
will be the same for all datasets from all Producers. For similar reasons, inclusion of the Feature
Catalogue and Portrayal Catalogue in any particular Exchange Set is optional. Producers may
distribute dummy Exchange Sets containing only the Feature Catalogue, Portrayal Catalogue,
and enumerations dictionary, when any of them is updated or when a new version of the Product
Specification is released. Validation checks should ensure that these files are present on the
system if they are not included in any particular Exchange Set.

Figure 11-2 – Typical Exchange Set structure


General guidelines for Exchange Set structure are included in S-100 Part 17.

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 43

Note that the names and locations of files are coded within the CATALOG.XML or Portrayal Catalogue
files, and therefore files and folders should not be renamed or relocated by Producers or end-user
systems unless these references can be updated. Portrayal and Feature Catalogues can be relocated
to a common system location if their internal structure is maintained.
11.2.2 Exchange Catalogue
The Exchange Catalogue which is in XML format acts as the table of contents for the Exchange Set.
The catalogue file of the Exchange Set must be named CATALOG.XML (as specified in S-100 Part 17);
no other file in the Exchange Set may have the same name. The contents of the Exchange Catalogue
are described in Section 12.
The Exchange Catalogue Schemas for S-104 are the same as for S-100 and may be obtained from the
IHO S-100 Schema server: https://schemas.s100dev.net. The S-104 Exchange Catalogue uses an
additional product-specific constraints file implementing product-specific restrictions, which is also
available from the same site. Use of the additional product-specific constraints file is optional;
developers may implement the constraints using any convenient method.
11.2.3 Dataset file naming
The dataset file contains both metadata and one or more sets of height and trend arrays (see Section
10 – Data Product Format). The dataset name must begin with the three-character Product Specification
number, followed by the four-character Producer Code (CCCC)4. Thus water level files begin with the
seven-character string ‘104CCCC’.
The characters between this string and the extension are nominally unrestricted in S-100 and S-97
Edition 1.1.0. However, S-104 restricts the “unrestricted” characters as follows:
 Alphabetic characters in the “Latin alphabet; that is, A-Z and a-z;
 Numeric characters; that is, the characters 0-9;
 The hyphen and underscore characters (“-“ and “_”).
The “unrestricted” characters may be used to denote geographical region, valid time, source of the data,
version numbers, and/or any other relevant information. Characters may be lower or upper case 5. For
real-time and forecast data, it is recommended that the dateTime of the first record be part of the dataset
name, to help distinguish the most recent files.
The filename extension for HDF5 (.h5) must be used to denote the file format.
The total length of the file name shall be no more than 64 characters, including the extension.
EXAMPLE 1: 104US00_CHES_TYPE1_20210630_0600.h5 for observational data (see clause 12.3.5,
Table 12.10) produced by NOAA (Producer Code US00) for Chesapeake Bay (CHES), observations
beginning from 06:00 UTC on 30 June 2021.
EXAMPLE 2: 104US00_ches_dcf8_20190703T00Z.h5 for a dataset produced by NOAA (US00)
containing data for NOAA fixed stations in the Chesapeake Bay (ches) organised stationwise (dcf8)
beginning from midnight at the beginning of 3 July 2019.
Each Producer should adopt a naming scheme that is consistent across its entire S-104 product line.
While the examples above are hypothetical, they illustrate how the principles of this clause can be
applied by Producers.

4 Producer Codes may be obtained from the IHO Producer Code Register in the IHO GI Registry (see “S-62” in
the list of references). This Register currently (December 2022) contains only 2-character alpha Codes. Until the
Register is converted to 4-character alpha Codes, S-104 Data Producers should use the 2-character alpha Codes
right padded with two zeros, for example, the 2-character Code “US” becomes “US00”. Producers should note that
when the 4-character Codes are finalized, an algorithmic mapping from 2-character to 4-character Codes may not
exist (cf. S-100WG7-6.3). For example, the 2-character Producer Code “C4” may map to the 4-character Code
“CA01” instead of “C400” or “C401”.
5 Exceptions: (1) Producer Codes must use the same case as the IHO Producer Code Register. (2) A name
component taken from an external Specification, must follow the rules in that Specification (for example,
“20190703T00Z” for a time component in ISO 8601 basic format, not “20190703t00z”).

S-104 March 2023 Edition 1.1.0


44 Water Level Information for Surface Navigation Product Specification

11.2.3.1 Dataset MRN (informative)


The dataset file name may be mapped to an MRN as follows:
urn:mrn:iho:s104:1:1:0:<cccc>:<region>:<type>:<dtg>
where:
 The first part “urn:mrn:iho:s104” is common to all dataset URNs for S-104;
 The Product Specification version is represented by the “1:1:0” part;
 <cccc> represents the 4-character Producer Code;
 <region> represents the geographical region;
 <type> represents the data coding format, for example “type2” for regular grids;
 <dtg> represents the date/time component in the name.
This is an interim rule pending definition of an “S-100-wide” rule for MRNs and will be superseded by
the “S-100-wide” rule when it is published.
11.2.4 Support files
Only the following types of support files are allowed in S-104:
 Optional files containing dataset metadata in ISO 19115-1/2/3 format.
 Optional ‘language packs’ for Feature Catalogues. Each language pack contains a translation of
the Feature Catalogue into a specified language.
 Dictionary resource files listing the allowed values and codes of enumerations. There will
generally be a single dictionary file for each version of the Product Specification (corrections, if
any, will be issued through the usual mechanism for corrections). Inclusion of the dictionary
resource file in Exchange Sets is optional, since the Internet location is standardised and
manufacturers are permitted to obtain it by other means and install it in an application-specific
location.
11.2.5 Support file naming
11.2.5.1 General
Support file names are subject to the same naming rules as dataset file names (clause 11.2.3), except
that the extension is determined by the support file format.
This clause covers names of ISO metadata files, language packs, and enumeration dictionaries, which
are the only support files allowed in this Edition of S-104. Producers who discover a need for other
types of support files should conform to the general rule above and consult the TWCWG as necessary.
11.2.5.2 Names of ISO metadata files
If an ISO metadata file is included, it must have the same base name as the corresponding dataset,
with an “_MD” suffix added. The extension must be “.XML”.
NOTE: Since the “_MD” suffix will make the metadata file name three characters longer than the dataset
file name, the dataset file name can be no more than 61 characters so that the metadata file name
conforms to the 64-character limit.
EXAMPLE: The ISO metadata file for dataset 104US00_CHES_TYPE1_20210630_0600.h5 is named
104US00_CHES_TYPE1_20210630_0600_MD.XML.
11.2.5.3 Names of language packs
If a language pack created by a data Producer for the S-104 Feature Catalogue is included, it must
have the standard 7-character “104CCCC” prefix and the same base name as the standard IHO-issued
Feature Catalogue with the 3-letter ISO 639-2/T language code suffixed. The language codes must be
exactly those in the S-100 codelist for languages (S100_MD_LanguageCode, which can be found in
the S-100 Edition 5.0.0 Schema distribution). The file extension must be “.XML”.
NOTE: A language pack issued by the IHO for the IHO Feature Catalogue will use the IHO Producer
Code.
EXAMPLE: The language pack for Italian translations issued by the data Producer with code “IT01” of
the Feature Catalogue named 104_1_1_0_FC.XML is named 104IT01_104_1_1_0_FC_ita.XML.

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 45

11.2.5.4 Names of enumeration dictionaries


Enumeration dictionaries are supplied by IHO as part of this Product Specification and should not be
renamed.
NOTE (informative): Substitute or extended enumeration dictionaries may be developed if translations
are needed. Producers who desire to provide translations of enumeration dictionaries with S-104
Exchange Sets should consult with the TWCWG.

12 Metadata
12.1 Introduction
For information exchange, there are several categories of metadata required:
 Metadata about the overall Exchange Set and Catalogue;
 Discovery metadata about each of the datasets contained in the Catalogue; and
 Discovery metadata about the support files that make up the package.
The discovery metadata classes have numerous attributes which enable important information about
the datasets and accompanying support files to be examined without the need to process the data, for
example, decrypt, decompress, load, etc.
Catalogues (Feature, Portrayal, Interoperability Catalogues) can be included in the Exchange Set in
support of the datasets. If included, discovery metadata about the Catalogues must also be provided.
NOTE: S-104 Edition 1.1.0 datasets do not reference support files. The only support files allowed in the
Exchange Set are “language packs” for Feature Catalogues, enumeration dictionaries, and ISO
metadata files, and these are not referenced from within the HDF5 datasets.
Discovery metadata for each HDF5 dataset is given in an XML block within the Exchange Set Catalogue
file, and can be accessed without opening the HDF5 file. In addition to discovery metadata, S-104 also
provides for carrier metadata that is embedded within the HDF5 file, which provides information needed
to process and display the data. Discovery metadata is described in clause 12.2; carrier metadata in
clause 12.3.
This Section defines the mandatory and optional metadata needed for S-104. In some cases (if provided
by the Producer or Exchange Set packager) the metadata may be repeated in a language other than
English. See S-100 Part 17, clauses 17-4.6 – 17-4.8 for guidance on encoding of metadata in languages
other than English.
12.1.1 Realisation of Exchange Set components and metadata classes (informative)
The realization of S-104 Exchange Set components and metadata classes from ISO 19115-1 and ISO
19115-3 is the same as in S-100 Part 17, depicted in Figure 12-1. The Figure depicts, from left to right:
(i) The relevant ISO data exchange structural classes;
(ii) The relevant ISO metadata classes for metadata for exchange;
(iii) S-100 structure classes representing the S-100/S-104 Exchange Set components;
(iv) The relevant S-100/S-104 Exchange Set metadata classes.
Note that the only support files in S-104 are language packs, enumeration dictionaries, or ISO metadata
files, represented by S100_SupportFile or ISOMetadataFile. The corresponding metadata blocks are
represented by S100_SupportFileDiscoveryMetadata elements.

S-104 March 2023 Edition 1.1.0


46 Water Level Information for Surface Navigation Product Specification

Figure 12-1 – Realisation of the Exchange Set classes (S-100 Part 17, Figure 17-1 with relationships not
used in S-104 omitted)
12.1.2 Exchange Set components and related metadata
Figure 12-2 depicts the relationships of Exchange Set “core” elements (datasets and Feature/Portrayal
Catalogues) and Exchange Set metadata. This Figure is derived from S-100 Part 17, Figure 17-2.
Relationships not applicable to S-104 have been omitted (for example, the link between datasets and
support files in S-100 Figure 17-2, because S-104 datasets do not reference support files). Note also
that the link between S100_Dataset and S100_CatalogueMetadata is implicit by means of the S-104
version to which the Feature Catalogue, Portrayal Catalogue and dataset conform, which must have
the same Edition and revision components.

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 47

Figure 12-2 – Components and associated metadata for the S-104 Exchange Set (S-100 Part 17, Figure 17-
2 with relationships not used by S-104 omitted)
The rules governing the presence and roles of the exchange set components depicted in Figure 12-2
are given below.
1) Every Exchange Set must contain an Exchange Catalogue, represented by
S100_ExchangeCatalogue in Figure 12-2.
2) Dataset discovery metadata (S100_DatasetDiscoveryMetadata) must be provided in the
Exchange Catalogue for each S-104 dataset in the Exchange Set.
3) Catalogue metadata (S100_CatalogueDiscoveryMetadata) must be provided in the Exchange
Catalogue for any Feature and Portrayal Catalogues included in the Exchange Set.
4) The only support files allowed are language packs, enumeration dictionaries (both represented
by S100_SupportFile) and ISO metadata files (ISOMetadataFile). Their inclusion in Exchange
Sets is optional.
5) The file represented by the class ISOMetadataFile is an XML file conforming to ISO 19115-3
format as specified in the ISO 19115-3 XML Schemas supplied by the ISO. Each ISO metadata
file, if present, must correspond to an S-104 dataset in the Exchange Catalogue.
6) Producers must not depend on ISO metadata files to convey information for ECDIS application
processing, since processing these files is not an ECDIS requirement. All information necessary
for ECDIS processing must be in CATALOG.XML. ISO metadata may be provided in Exchange
Sets intended for dual-purpose use on ECDIS and another (ISO-aware) application such as some
GIS. The minimum metadata content of an ISO metadata file, if included, is specified in S-100
Part 4a, clause 4a-5.4.
7) Language packs are described in S-100 Part 18 and provide translations of Feature Catalogues.
8) If an ISO metadata file or a language pack is included, a support file discovery metadata block
(S100_SupportFileDiscoveryMetadata) describing the file must be included in the Exchange
Catalogue. The supportFileSpecification field in the discovery block must specify the applicable
ISO standard. The ISO metadata file may repeat information in the discovery blocks in the S-100
Exchange Catalogue.

S-104 March 2023 Edition 1.1.0


48 Water Level Information for Surface Navigation Product Specification

9) A signature file for the Exchange Catalogue must also be included in the Exchange Set 6
(S100_CatalogueSignature).
Since S-104 does not add product-specific metadata attributes, the S-100 metadata classes and
Schema are used in S-104 Exchange Sets without extension. The constraints S-104 impose on generic
S-100 metadata are described in the documentation Tables in clause 12.2.
NOTE: The distribution package implements the additional S-104 constraints on metadata attributes
(and many of the S-100 constraints) as Schematron rules in files available from the IHO Schema server.
Implementers may substitute any implementation method to apply or check constraints instead of using
Schematron-capable processing software.
The tangible representations of the structure classes in Figure 12-2 within actual Exchange Sets are the
digital files or folders containing the Exchange Set, dataset(s), Catalogue(s), and support files. The
tangible representations of their roles as depicted in Figure 12-2 are the inclusion of the respective
components within the Exchange Set. Documentation tables for the structure classes are not provided
since the Exchange Set structure is described in clause 11.2.1.
The metadata classes in Figure 12-2 are represented by XML files or XML blocks and are documented
in clause 12.2.

12.2 Discovery metadata


An outline of the overall concept of an S-104 Exchange Set for the interchange of geospatial data and
its relevant metadata is explained in clauses 11.2.1 and 12.1.1. The place of metadata in the Exchange
Set is summarised in clause 12.1.2.
Figure 12-3 depicts the structure of the Exchange Catalogue and its component discovery metadata
blocks. The structure is the same as in S-100 Part 17.

Figure 12-3 – Relationship between Exchange Catalogue, discovery metadata, and dataset (from S-100
Part 17, Figure 17-6)
The detailed structure of the S-104 Exchange Catalogue is depicted in Figure 12-4. This Figure is
derived from S-100 Part 17,Figure 17-7, with the following restrictions:
 Elements that are optional in the generic S-100 catalogue model but not used in S-104 are not
shown; for example, the updateNumber and updateApplicationDate attributes in the dataset
discovery class are not used in S-104.

6 Temporarily suspended; S-97 Edition 1.1.0 states digital signatures are essential only for Technical Readiness
Level 3.

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 49

 Constraints that are specific to S-104 are summarised in a diagram note. Details about
constraints are provided in the documentation tables following the diagram.
In S-104 Edition 1.1.0 only Feature and Portrayal Catalogues are allowed.
The language used for the metadata is English.
Time reference for all data will be UTC.
All water level values to be given in metres (up to two decimal places for real values).
More detailed information about the various classes and textual descriptions of the constraints are in
the Tables in clauses 12.2.1 – 12.2.30 following Figure 12-4. Differences from generic S-100 metadata
are emphasized for developer convenience in bold text.

S-104 March 2023 Edition 1.1.0


50 Water Level Information for Surface Navigation Product Specification

Page intentionally left blank

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 51

Figure 12-4 – Details of Exchange Set Catalogue classes. Based on S-100 Part 17, Figure 17-7
12.2.1 S100_ExchangeCatalogue

Each Exchange Set has a single S100_ExchangeCatalogue which is an XML file that contains meta information for the data in the Exchange Set. S-104 restricts
the S-100 class as described in the Remarks column.

S-104 March 2023 Edition 1.1.0


52 Water Level Information for Surface Navigation Product Specification

Role Name Name Description Mult Type Remarks


Class S100_ExchangeCatalogue An Exchange Catalogue contains the - - The optional S-100 attributes identifier,
discovery metadata about the exchange contact, and productSpecification are
datasets and support files mandatory in S-104
Attribute identifier Uniquely identifies this Exchange Catalogue 1 S100_ExchangeCatalogueIdentifier Mandatory in S-104

Attribute contact Details about the issuer of this Exchange 1 S100_CataloguePointOfContact Mandatory in S-104
Catalogue
Attribute productSpecification Details about the Product Specifications used 1 S100_ProductSpecification Mandatory in S-104
for the datasets contained in the Exchange
Catalogue
Attribute defaultLocale Default language and character set used for 0..1 PT_Locale Default is English and UTF-8
all metadata records in this Exchange
Catalogue
Attribute otherLocale Other languages and character sets used for 0..* PT_Locale Required if any localized entries are present
the localized metadata records in this in the Exchange Catalogue
Exchange Catalogue
Attribute exchangeCatalogueDescription Description of what the Exchange Catalogue 0..1 CharacterString
contains
Attribute exchangeCatalogueComment Any additional Information 0..1 CharacterString
Attribute certificates Signed public key certificates referred to by 0..* S100_SE_CertificateContainer Content defined in S-100 Part 15. All
digital signatures in the Exchange Set certificates used, except the SA root
certificate (installed separately by the
implementing system) shall be included
Attribute dataServerIdentifier Identifies the data server for the permit 0..1 CharacterString
Role datasetDiscoveryMetadata Exchange Catalogues may include or 0..* Aggregation
reference discovery metadata for the S100_DatasetDiscoveryMetadata
datasets in the Exchange Set
Role catalogueDiscoveryMetadata Metadata for Catalogue 0..* Aggregation Metadata for the Feature, Portrayal and
S100_CatalogueDiscoveryMetadata Interoperability Catalogues, if any

Role supportFileDiscoveryMetadata Exchange Catalogues may include or 0..* Aggregation The only support files allowed in S-104 are
reference discovery metadata for the support S100_SupportFileDiscoveryMetadata ISO metadata files, enumeration
files in the Exchange Set dictionaries, and language packs for Feature
Catalogues

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 53

12.2.2 S100_ExchangeCatalogueIdentifier
S-104 uses S100_ExchangeCatalogueIdentifier without modification.
Role Name Name Description Mult Type Remarks
Class S100_ExchangeCatalogueIdentifier An Exchange Catalogue contains the discovery - - The concatenation of identifier and dateTime form
metadata about the exchange datasets and the unique name
support files
Attribute identifier Uniquely identifies this Exchange Catalogue 1 CharacterString See Note 1 for the naming convention
Attribute dateTime Creation date and time of the Exchange 1 DateTime Format: yyyy-mm-ddThh:mm:ssZ
Catalogue, including time zone

NOTE 1: Use the file name component of the dataset according to the convention in clause 11.2.3. For example, if the dataset file is named
104ABCDXYZ_1_20_20210420.h5 the metadata identifier should be 104ABCDXYZ_1_20_20210420. In the event of an Exchange Set containing multiple
datasets, use the name of the dataset of largest extent with a “+N” suffix (without quotes), where N is the number of additional datasets in the Exchange Set. If
the Exchange Set contains only Feature and/or Portrayal Catalogues, use 104ABCD+N where “ABCD” is the 4-character code of the producer of the Feature
or Portrayal Catalogue.
12.2.3 S100_CataloguePointofContact
S-104 uses S100_CataloguePointOfContact without modification.
Role Name Name Description Mult Type Remarks
Class S100_CataloguePointOfContact Contact details of the issuer of this - - -
Exchange Catalogue
Attribute organization The organization distributing this Exchange 1 CharacterString This could be an individual producer, value
Catalogue added reseller, etc
Attribute phone The phone number of the Organization 0..1 CI_Telephone
Attribute address The address of the Organization 0..1 CI_Address

S-104 March 2023 Edition 1.1.0


54 Water Level Information for Surface Navigation Product Specification

12.2.4 S100_DatasetDiscoveryMetadata
Data in the Discovery Metadata are used to identify the relevance of the dataset to the particular application. S-104 restricts the multiplicity and contents of
S100_DatasetDiscoveryMetadata as described in the Remarks column.
Role Name Name Description Mult Type Remarks
Class S100_DatasetDiscoveryMetadata Metadata about the individual datasets in - - The optional S-100 attributes
the Exchange Catalogue updateNumber,
updateApplicationDate, otherLocale,
and referenceID are not used in S-104
The optional S-100 attributes
datasetID dataCoverage, and
editionNumber are mandatory in S-104
Attribute fileName Dataset file name 1 URI See S-100 Part 1, clause 1-4.6
Attribute description Short description giving the area or 0..1 CharacterString For example a harbour or port name,
location covered by the dataset between two named locations etc
Attribute datasetID Dataset ID expressed as a Marine 1 URN The URN must be an MRN
Resource Name Made mandatory in S-104
See clause 11.2.3.1
Attribute compressionFlag Indicates if the resource is compressed 1 Boolean true indicates a compressed dataset
resource
false indicates an uncompressed dataset
resource
Attribute dataProtection Indicates if the data is encrypted 1 Boolean true indicates an encrypted dataset
resource
false indicates an unencrypted dataset
resources
Attribute protectionScheme Specification of method used for data 0..1 S100_ProtectionScheme In S-100 Edition 5.0.0 the only allowed
protection value is “S100p15”
Attribute digitalSignatureReference Specifies the algorithm used to compute 1 S100_SE_DigitalSignatureReference (Type corrected to conform to S-100 Part
digitalSignatureValue (see S-100 Part 15) 15)
Attribute digitalSignatureValue Value derived from the digital signature 1..* S100_SE_DigitalSignatureValue (see S- The value resulting from application of
100 Part 15) digitalSignatureReference
Implemented as the digital signature
format specified in Part 15
(Type corrected to conform to S-100 Part
15)

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 55

Role Name Name Description Mult Type Remarks


Attribute copyright Indicates if the dataset is copyrighted 1 Boolean true indicates the resource is copyrighted
false Indicates the resource is not
copyrighted
Attribute classification Indicates the security classification of the 0..1 MD_SecurityConstraints> 1. unclassified
dataset MD_ClassificationCode (codelist) 2. restricted
3. confidential
4. secret
5. top secret
6. sensitive but unclassified
7. for official use only
8. protected
9. limited distribution
Attribute purpose The purpose for which the dataset has 0..1 S100_Purpose
been issued

Attribute notForNavigation Indicates the dataset is not intended to be 1 Boolean true indicates the dataset is not intended
used for navigation to be used for navigation
false indicates the dataset is intended to
be used for navigation
Attribute specificUsage The use for which the dataset is intended 0..1 MD_USAGE>specificUsage (character Information about specific usage(s) for
string) which the dataset is intended
Attribute editionNumber The Edition number of the dataset 1 CharacterString Mandatory in S-104
See clause 8.2
Attribute issueDate Date on which the data was made 1 Date
available by the Data Producer
Attribute issueTime Time of day at which the data was made 0..1 Time Mandatory when the interval between
available by the Data Producer datasets is shorter than 1 day, such as
6-hourly forecasts
Attribute boundingBox The extent of the dataset limits 0..1 EX_GeographicBoundingBox

S-104 March 2023 Edition 1.1.0


56 Water Level Information for Surface Navigation Product Specification

Role Name Name Description Mult Type Remarks


Attribute temporalExtent Specification of the temporal extent of the 0..1 S100_TemporalExtent The temporal extent is encoded as the
dataset date/time of the earliest and latest data
records (in coverage datasets) or
date/time ranges (in vector datasets)
If there is more than one feature in a
dataset, the earliest and latest time
values of records in all features are used,
which means the earliest and latest
values may be from different features
If date/time information for a feature is
not encoded in the dataset, it is treated
for the purposes of this attribute as
extending indefinitely in the appropriate
direction on the time axis, limited by the
issue date/time or the cancellation or
supersession of the dataset
This attribute is encoded if and only if at
least one of the start and end of the
temporal extent is known
Attribute productSpecification The product specification used to create 1 S100_ProductSpecification
this dataset
Attribute producingAgency Agency responsible for producing the data 1 CI_ResponsibleParty>CI_Organisation See S-100 Part 17
Attribute producerCode The official IHO Producer Code from S-62 0..1 CharacterString
Attribute encodingFormat The encoding format of the dataset 1 S100_EncodingFormat Must be HDF5
Attribute dataCoverage Area covered by the dataset 1..* S100_DataCoverage Mandatory in S-104
Attribute comment Any additional information 0..1 CharacterString

Attribute defaultLocale Default language and character set used 1 PT_Locale


in the dataset
Attribute otherLocale Other languages and character sets used 0..* PT_Locale
in the dataset
Attribute metadataPointOfContact Point of contact for metadata 0..1 CI_Responsibility > CI_Individual or Only if metadataPointOfContact is
CI_Responsibility > CI_Organisation different from producingAgency
Attribute metadataDateStamp Date stamp for metadata 0..1 Date May or may not be the issue date

Attribute replacedData If a data file is cancelled is it replaced by 0..1 Boolean


another data file

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 57

Role Name Name Description Mult Type Remarks


Attribute dataReplacement Cell name 0..* CharacterString A dataset may be replaced by 1 or more
datasets
Attribute navigationPurpose Classification of intended navigation 0..3 S100_NavigationPurpose Mandatory when notForNavigation =
purpose (for Catalogue indexing purposes) false
Role resourceMaintenance Information about the frequency of 0..1 MD_MaintenanceInformation S-100 restricts the multiplicity to 0..1 and
resource updates, and the scope of those adds specific restrictions on the ISO
updates 19115 structure and content. See clause
MD_MaintenanceInformation in S-100
Part 17
Format: PnYnMnDTnHnMnS (XML built-
in type for ISO 8601 duration). See S-100
Part 17, clause 17-4.9 for encoding
guidance
If present, the duration must match the
duration encoded in embedded metadata
(Table 12-1)

12.2.5 S100_NavigationPurpose
Item Name Description Code Remarks
Enumeration S100_NavigationPurpose The Navigational Purpose of the dataset -
Value port For port and near shore operations 1
Value transit For coast and planning purposes 2
Value overview For ocean crossing and planning purposes 3

12.2.6 S100_DataCoverage
Role Name Name Description Mult Type Remarks
Class S100_DataCoverage A spatial extent where data is provided; - - The S-100 attributes optimumDisplayScale,
and the display scale information for the minimumDisplayScale, maximumDisplayScale, and
provided data temporalExtent are not used.
Attribute boundingPolygon A polygon which defines the actual data 1 EX_BoundingPolygon See the Notes below this Table
limit

S-104 March 2023 Edition 1.1.0


58 Water Level Information for Surface Navigation Product Specification

Attribute approximateGridResolution The resolution of gridded or 0..* Real A single value may be provided when all axes have a
georeferenced data (in metres) common resolution
For multiple value provision, use axis order as specified in
dataset
May be approximate for ungeorectified data
For example, for 5 metre resolution, the value 5 must be
encoded

NOTE 1: If there are multiple grid or TIN features in the dataset, each feature should have a separate dataCoverage attribute in dataset discovery metadata,
except that the coverages for intersecting or adjacent features with the same grid resolution may be combined at Producer discretion.
NOTE 2: Bounding polygons for grid features should be the same as the spatial extent of the grid.
NOTE 3: Bounding polygons for TIN features may either be the union of all triangles defined in the TIN, or the bounding box covering all the vertexes of the
TIN.
NOTE 4: Bounding polygons for multipoint features (DCF 1 and 8) may be one or more reasonably minimized polygons or bounding boxes that together cover
all data points.
NOTE 5: For approximateGridResolution, if the grid cell size varies over the extent of the grid, an approximated value based on model parameters or production
metadata should be used.
12.2.7 S100_Purpose
Item Name Description Code Remarks
Enumeration S100_Purpose The purpose of the dataset - See clause 8.2. The S-100 values update and delta are not
used
Value newDataset Brand new dataset 1 No data has previously been produced for this area
Value newEdition New Edition of the dataset or Catalogue 2 Includes new information which has not been previously
distributed by updates
Value cancellation Dataset or Catalogue that has been cancelled 5 Indicates the dataset or Catalogue should no longer be used and
can be deleted

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 59

12.2.8 S100_TemporalExtent
Role Name Name Description Mult Type Remarks
Class S100_TemporalExtent Temporal extent -- At least one of the timeInstantBegin and timeInstantEnd
attributes must be populated; if both are known, both must
be populated. The absence of either begin or end indicates
indefinite validity in the corresponding direction, limited by
the issue date/time or the cancellation or supersession of the
dataset
Attribute timeInstantBegin The instant at which the temporal extent 0..1 DateTime
begins
Attribute timeInstantEnd The instant at which the temporal extent 0..1 DateTime
ends

12.2.9 S100_EncodingFormat
Item Name Description Code Remarks
Enumeration S100_EncodingFormat Encoding format - Only the HDF5 format is used in S-104
Value HDF5 The HDF5 data format as defined in Part 10c -

12.2.10 S100_ProductSpecification
S-104 uses S100_ProductSpecification without modification.
Role Name Name Description Mult Type Remarks
Class S100_ProductSpecification The Product Specification contains the information - - The optional S-100 attributes name and
needed to build the specified product version are mandatory in S-104
Attribute name The name of the Product Specification used to create the 1 CharacterString The name in the Product Specification
datasets Register, in the IHO Geospatial Information
(GI) Registry. For S-104, this is “Water
Level Information for Surface Navigation”
Mandatory in S-104
Attribute version The version number of the Product Specification 1 CharacterString For example 1.1.0 for S-104 Edition 1.1.0
Mandatory in S-104
Attribute date The version date of the Product Specification 0..1 Date From the Product Specification Register of
the IHO GI Registry. For interim drafts use
the version date in Product Specification
Metadata

S-104 March 2023 Edition 1.1.0


60 Water Level Information for Surface Navigation Product Specification

Attribute productIdentifier Machine readable unique identifier of a product type 1 CharacterString For S-104 this must be the string “S-104”
(Restricted to Product ID (without quotes)
values from the IHO Product
Specification Register, in the
IHO GI Registry)
Attribute number The number used to lookup the product in the Product 1 Integer From the Product Specification Register in
Specification Register of the IHO GI Registry the IHO GI Registry
Encode as “0” until this Edition is added to
the GI Registry and receives a Registry
number. Do not use the number of any other
Edition
Attribute compliancyCategory The level of compliance of the Product Specification to S- 0..1 S100_CompliancyCategory See S-100 Part 4a, clause 4a-5.5 and
100 clause 7.6 in this Product Specification

12.2.11 S100_CompliancyCategory
S-104 uses only Category 3 and Category 4 as defined in S-100 Part 4a, clause 4a-5.5.
Item Name Description Code Remarks
Enumeration S100_CompliancyCategory - S-104 does not use category1 and category2
Value category3 IHO S-100 compliant with standard encoding
Value category4 IHO S-100 and IMO harmonized display compliant

12.2.12 S100_ProtectionScheme
S-104 uses S100_ProtectionScheme without modification.
Item Name Description Code Remarks
Enumeration S100_ProtectionScheme Data protection schemes - -
Value S100p15 IHO S-100 Part 15 - See S-100 Part 15

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 61

12.2.13 S100_SupportFileDiscoveryMetadata
The only support files in S-104 are ISO metadata files, enumeration dictionaries and language packs for Feature Catalogues.
Role Name Name Description Mult. Type Remarks
Class S100_SupportFileDiscoveryMetadata Metadata about the individual support - - S-104 does not use
files in the Exchange Catalogue otherDataTypeDescription
Attribute fileName Name of the support file 1 URI See S-100 Part 1, clause 1-4.6 and clause
11.2.5 in this Product Specification
Attribute revisionStatus The purpose for which the support file 1 S100_SupportFileRevisionStatus For example new, replacement, etc
has been issued
Attribute editionNumber The Edition number of the support file 1 Integer See clause 8.2.6
Attribute issueDate Date on which the data was made 0..1 Date Date on which the support file was made
available by the Data Producer available by its Producer
Attribute supportFileSpecification The Specification used to create this file 0..1 S100_SupportFileSpecification

Attribute dataType The format of the support file 1 S100_SupportFileFormat

Attribute comment Optional comment 0..1 CharacterString

Attribute compressionFlag Indicates if the resource is compressed 1 Boolean true indicates a compressed resource
false indicates an uncompressed resource
Attribute digitalSignatureReference Specifies the algorithm used to 1 S100_SE_DigitalSignatureReference (Type corrected to conform to S-100 Part
compute digitalSignatureValue (see S-100 Part 15) 15)

Attribute digitalSignatureValue Value derived from the digital signature 1..* S100_SE_DigitalSignatureValue The value resulting from application of
(see S-100 Part 15) digitalSignatureReference
Implemented as the digital signature format
specified in S-100 Part 15
(Type corrected to conform to S-100 Part
15)
Attribute defaultLocale Default language and character set 0..1 PT_Locale In absence of defaultLocale the language is
used in the support file English in UTF-8
A support file is expected to use only one
as locale. Additional support files can be
created for other locales

S-104 March 2023 Edition 1.1.0


62 Water Level Information for Surface Navigation Product Specification

Attribute supportedResource Identifier of the resource supported by 0..* CharacterString Conventions for identifiers are still to be
this support file developed in S-100
In the interim, S-104 will use the name of
the Feature Catalogue file or the name
of the dataset, as appropriate. For
enumeration dictionaries, use the
Product Specification identifier and
version
Attribute resourcePurpose The purpose of the supporting resource 0..1 S100_ResourcePurpose Identifies how the supporting resource is
used

12.2.14 S100_SupportFileFormat
Item Name Description Code Remarks
Enumeration S100_SupportFileFormat The format used for the support file - S-104 uses only XML; language packs, enumeration dictionaries,
and ISO metadata files are all XML files
Value XML Extensible Markup Language 4

12.2.15 S100_SupportFileRevisionStatus
S-104 uses S100_SupportFileRevisionStatus without modification.
Item Name Description Code Remarks
Enumeration S100_SupportFileRevisionStatus The reason for inclusion of the support file in this - -
Exchange Set
Value new A file which is new 1 Signifies a new file
Value replacement A file which replaces an existing file 2 Signifies a replacement for a file of the same name
Value deletion Deletes an existing file 3 Signifies deletion of a file of that name

12.2.16 S100_SupportFileSpecification
Role Name Name Description Mult Type Remarks
Class S100_SupportFileSpecification The Standard or Specification to which - - -
a support file conforms

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 63

Attribute name The name of the Specification used to 1 CharacterString S-100 for language packs and enumeration dictionary
create the support file Applicable ISO standard for ISO metadata file (for example
ISO 19115-3)
Attribute version The version number of the 0..1 CharacterString Use the applicable edition of the Standard in the name
Specification attribute
For example, “1” for metadata conforming to ISO 19115-3
Edition 1 (published in 2016); “5.0.0” for language packs
conforming to S-100 Edition 5.0.0
Attribute date The version date of the Specification 0..1 Date Omit or use the publication date in the GI Registry or ISO
Catalogue

12.2.17 S100_ResourcePurpose
Item Name Description Code Remarks
Enumeration S100_ResourcePurpose Defines the purpose of the supporting resource - S-104 allows only language packs, enumeration dictionaries,
and ISO metadata as support files and the allowed values of
the S-100 enumeration are restricted accordingly
Value ISOMetadata Dataset metadata in ISO format 11
Value languagePack A Language pack 12
Value productVersion All datasets conforming to a specific version of an S-100 6 For an enumeration dictionary, which supports all datasets for a
Product Specification particular version of the Product Specification

12.2.18 S100_CatalogueDiscoveryMetadata
S-104 uses S100_CatalogueDiscoveryMetadata without modification. This class is used to provide metadata about Feature and Portrayal Catalogues.
Role Name Name Description Mult Type Remarks
Class S100_CatalogueDiscoveryMetadata Class for S-100 Catalogue metadata - - -
Attribute fileName The name for the Catalogue 1 URI See S-100 Part 1, clause 1-4.6
Attribute purpose The purpose for which the Catalogue 0..1 S100_Purpose The values must be one of the following:
has been issued (codelist) 2 new edition
5 cancellation
Default is new edition

S-104 March 2023 Edition 1.1.0


64 Water Level Information for Surface Navigation Product Specification

Attribute editionNumber The Edition number of the Catalogue 1 Integer Initially set to 1 for a given
productSpecification.number
Increased by 1 for each subsequent New Edition
Uniquely identifies the version of the Catalogue
Attribute scope Subject domain of the Catalogue 1 S100_CatalogueScope

Attribute versionNumber The version identifier of the Catalogue 1 CharacterString Human readable version identifier

Attribute issueDate The issue date of the Catalogue 1 Date

Attribute productSpecification The Product Specification used to 1 S100_ProductSpecification


create this file
Attribute digitalSignatureReference Specifies the algorithm used to 1 S100_SE_DigitalSignatureReference
compute digitalSignatureValue (see S-100 Part 15)
Attribute digitalSignatureValue Value derived from the digital signature 1..* S100_SE_DigitalSignatureValue The value resulting from application of
(see S-100 Part 15) digitalSignatureReference
Implemented as the digital signature format
specified in S-100 Part 15
Attribute compressionFlag Indicates if the resource is compressed 1 Boolean true indicates a compressed resource
false indicates an uncompressed resource
Attribute defaultLocale Default language and character set 0..1 PT_Locale In absence of defaultLocale the language is
used in the Catalogue English in UTF-8
Attribute otherLocale Other languages and character sets 0..* PT_Locale
used in the Catalogue

12.2.19 S100_CatalogueScope
Item Name Description Code Remarks
Enumeration S100_CatalogueScope The scope of the Catalogue - S-104 Edition 1.1.0 datasets do not contain
Interoperability Catalogues and the value
interoperabilityCatalogue is removed
Value featureCatalogue S-100 Feature Catalogue -
Value portrayalCatalogue S-100 Portrayal Catalogue -

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 65

12.2.20 MD_MaintenanceInformation
Role Name Name Description Mult Type Remarks
Class MD_MaintenanceInformation Information about the scope and - - S-100 restricts the ISO 19115-class to:
frequency of updating  Prohibit maintenanceScope, maintenanceNote,
and contact attributes;
 Define restrictions on maintenanceAndUpdate
Frequency, maintenanceDate, and
userDefinedMaintenanceFrequency attributes
Attribute maintenanceAndUpdateFrequency Frequency with which changes and 0..1 MD_MaintenanceFrequencyCode Must be populated if
additions are made to the resource (codelist) userDefinedMaintenanceFrequency is not
after the initial resource is completed present, otherwise optional. See Table
MD_MaintenanceFrequencyCode in this
Section for values allowed in S-100 metadata
Attribute maintenanceDate Date information associated with 0..1 CI_Date Exactly one of maintenanceDate and
maintenance of the resource userDefinedMaintenanceFrequency must be
populated
Allowed value for dateType: nextUpdate
Attribute userDefinedMaintenanceFrequency Maintenance period other than those 0..1 TM_PeriodDuration Exactly one of maintenanceDate and
defined userDefinedMaintenanceFrequency must be
populated
Only positive durations allowed

12.2.21 MD_MaintenanceFrequencyCode
Item Name Description Code Remarks
Enumeration MD_MaintenanceFrequencyCode Frequency with which modifications and deletions are made to the - S-100 is restricted to only the following values from the
data after it is first produced ISO 19115-1 codelist. The conditions for the use of a
particular value are described in its Remarks
Value asNeeded Resource is updated as deemed necessary 1 Use only for datasets which normally use a regular interval
for update or supersession, but will have the next update
issued at an interval different from the usual
Allowed if and only if userDefinedMaintenanceFrequency
is not populated
Value irregular Resource is updated in intervals that are uneven in duration 2 Use only for datasets which do not use a regular schedule
for update or supersession
Allowed if and only if userDefinedMaintenanceFrequency
is not populated

S-104 March 2023 Edition 1.1.0


66 Water Level Information for Surface Navigation Product Specification

12.2.22 PT_Locale
Role Name Name Description Mult Type Remarks
Class PT_Locale Description of a locale - - From ISO 19115-1
Attribute language Designation of the locale language 1 LanguageCode ISO 639-2/T 3-letter language codes
Attribute country Designation of the specific country of the locale 0..1 CountryCode ISO 3166-2 2-letter country codes
language
Attribute characterEncoding Designation of the character set to be used to 1 MD_CharacterSetCode UTF-8 is used in S-100
encode the textual value of the locale

LanguageCode, CountryCode and MD_CharacterSetCode are codelists which are defined in resource files within the S-100 XML schemas package and
described in the documentation for the S-100 XML Schemas.
12.2.23 S100_SE_CertificateContainer
S-104 uses S100_SE_CertificateContainer without modification.
Role Name Name Description Mult Type Remarks
Class S100_SE_CertificateContainer A set of signed public key - - Used in S-100 Part 17 Exchange Catalogues
certificates
Attribute schemeAdministrator The Scheme Administrator 0..1 CharacterString The identity of the Scheme Administrator is contained in the “id”
identity attribute of the schemeAdminstrator element. The Scheme
Adminstrator certificate is NOT included in catalogue metadata as it
is independently verified by the implementing system
Attribute certificate A signed public key certificate 1..* Base 64 encoded Conforms to X.509 encoding. Contains a digitally signed identifier of
Character String an entity

12.2.24 S100_SE_DigitalSignatureReference
S-104 uses only the dsa value of S100_SE_DigitalSignatureReference, in conformity with the restriction in S-100 Part 15, clause 15-8.11.8.
Item Name Description Code Remarks
Enumeration S100_SE_DigitalSignatureReference Algorithm used to compute the digital signature - Only DSA is currently used in implementations of S-100 for file
based transfer of data to ECDIS. Other values are included for
interoperability with other implementations by external standards.
See S-100 Part 15, clause 15-8.4
Value DSA Digital Signature Algorithm 2 DSA with key length >= 2048 bits

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 67

12.2.25 S100_SE_DigitalSignatureValue
S-104 conforms to S-100 Part 15, clause 15-8-11.4, which states: “The class S100_SE_DigitalSignatureValue is realized as one of either
S100_SE_SignatureOnData (a digital signature of a particular identified resource) or an additional digital signature defined using the class
S100_SE_AdditionalSignature, each of which is either a S100_SE_SignatureOnData or S100_SE_SignatureOnSignature element as described in clause 15-
8.8. S-100 Part 17 metadata thus allows for multiple digital signatures, a single mandatory S100_SE_SignatureOnData and any number of additional signatures,
either of the data or other signatures.”
12.2.26 S100_SE_SignatureOnData
S-104 uses S100_SE_SignatureOnData without modification.
Role Name Name Description Mult Type Remarks
Class S100_SE_SignatureOnData - Base64 encoded digital signature See S-100 Part 15, clause 15-8.4
value
Attribute id Identifier of the digital 1 CharacterString Every signature entry has a unique identifier
signature
Attribute certificateRef Signed Public Key 1 CharacterString Identifier of the certificate against which the digital signature
validates
Attribute dataStatus The digital signature 1 DataStatus

12.2.27 S100_SE_SignatureOnSignature
S-104 uses S100_SE_SignatureOnSignature without modification.
Role Name Name Description Mult Type Remarks
Class S100_SE_SignatureOnSignature - Base64 encoded digital signature See S-100 Part 15, clause 15-8.4
value
Attribute id Identifier of the digital 1 CharacterString Every signature entry has a unique identifier
signature
Attribute certificateRef Signed Public Key 1 CharacterString Identifier of the certificate against which the digital signature
validates
Attribute signatureref The digital signature 1
referenced

12.2.28 DataStatus
S-104 uses the S-100 enumeration DataStatus defined in S-100 Part 15 without modification.

S-104 March 2023 Edition 1.1.0


68 Water Level Information for Surface Navigation Product Specification

Item Name Description Code Remarks


Enumeration DataStatus The state of data when a digital signature is created -
Value unencrypted The data is unencrypted and uncompressed - For example, supporting resources
Value encrypted The data is compressed and encrypted - For example, copy protected datasets
Value compressed. The data is compressed only - For example, archives of multiple resources

12.2.29 EX_GeographicBoundingBox
From ISO 19115-1.
Role Name Name Description Mult Type Remarks
Class EX_GeographicBoundingBox Geographic position of the dataset - - Defined in ISO 19115-1: Geographic position of the resource
Attribute westBoundLongitude Western-most coordinate of the limit of the dataset 1 Real Arc degrees
extent, expressed in longitude in decimal degrees
(positive east)
Attribute eastBoundLongitude Eastern-most coordinate of the limit of the dataset 1 Real Arc degrees
extent, expressed in longitude in decimal degrees
(positive east)
Attribute southBoundLatitude Southern-most coordinate of the limit of the dataset 1 Real Arc degrees
extent, expressed in latitude in decimal degrees
(positive north)
Attribute northBoundLatitude Northern-most, coordinate of the limit of the 1 Real Arc degrees
dataset extent expressed in latitude in decimal
degrees (positive north)

NOTE (from ISO 19115-1): This is only an approximate reference so specifying the Coordinate Reference System is unnecessary and need only be provided
with a precision of up to two decimal places.

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 69

12.2.30 EX_BoundingPolygon
From ISO 19115-1.
Role Name Name Description Mult Type Remarks
Class EX_BoundingPolygon Boundary enclosing the dataset, expressed as the - - Defined in ISO 19115-1: enclosing geometric object
closed set of (x,y) coordinates of the polygon (last point which locates the resource, expressed as a set of (x,y)
replicates first point) coordinate(s)
Attribute polygon Sets of points defining the bounding polygon 1 GM_Object Must be a GM_Polygon
(See S-100 Part 7, ISO 19107, ISO 19136)

NOTE (from ISO 19115-1): If a polygon is used it should be closed (last point replicates first point).

S-104 March 2023 Edition 1.1.0


70 Water Level Information for Surface Navigation Product Specification

Page intentionally left blank

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 71

12.3 Carrier Metadata


The metadata for the S-104 product is divided in three sections, corresponding to the General Metadata
(Table 12-1), the Feature Type Metadata (Table 12-2), and the Feature Instance Metadata (Table 12-3
and Table 12-4). The Instance Metadata is subdivided into metadata attached to the instance as a whole
(Table 12-3) and metadata attached to individual values groups (Table 12-4). Since these values do not
reside in the Metadata blocks in the Exchange Catalogue, but are in the HDF5 files, they are referred
to as Carrier Metadata. The Carrier Metadata consists of the data and parameters needed to read and
interpret the information in the Water Level product even if the other S-104 Metadata files are
unavailable.
Note that in Tables 0 .11 – 0 .08, some of the metadata variables have restrictions on their core values
(that is, whether they are optional or mandatory, the specific values allowed, etc) that are not imposed
in S-100. These are grouped under the heading ‘Additional restrictions on core metadata for S-104’.
Mandatory attributes in a section of a Table that is designated for one or more specified
dataCodingFormat values are mandatory only for the specified dataCodingFormat value(s).
It is suggested for any enumeration in S-104, to use unsigned integer types (preferably standard integer
type H5T_STD_U8LE) for the base type of the numeric code when creating the enumeration 7.
Figures 0 .07 through 0 .03 depict the carrier metadata at each level of the structural hierarchy in an
HDF5 dataset. The elements (groups and metadata) defined in S-100 are distinguished from those
defined in S-104 by prefix and shade. Figure 12-5 is a summary diagram depicting all levels of the
structural and their associated metadata components for all the coverage types used in S-104. Figures
0 .06 – 0 .03 show the details for each structural level and each coverage type.
The same information as in Figures 0 .06 through 0 .03 is depicted in Annex C (Figures C-6 – C-10) but
organised by type of coverage instead of levels in the HDF5 structural hierarchy.

7 See the guidance on HDF5 datatypes (https://support.hdfgroup.org/HDF5/Tutor/datatypes.html, retrieved 20


August 2021) for more information on the use of standard vs native types when creating a dataset and for memory
operations (read/write).

S-104 March 2023 Edition 1.1.0


72 Water Level Information for Surface Navigation Product Specification

Figure 12-5 – Carrier metadata for the S-104 HDF5 group hierarchy

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 73

Figure 12-6 – General metadata – Carrier metadata for the root group

S-104 March 2023 Edition 1.1.0


74 Water Level Information for Surface Navigation Product Specification

Figure 12-7 – Feature Type metadata – Carrier metadata for the Feature Container group

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 75

Figure 12-8 – Feature Instance metadata – Carrier metadata for the Feature Instance group

S-104 March 2023 Edition 1.1.0


76 Water Level Information for Surface Navigation Product Specification

Figure 12-9 – Feature Instance metadata – Carrier metadata for the Values group in each Feature Instance group

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 77

For all carrier metadata, latitude and longitude values are precise to 10-7 degrees except where noted.
All times are in UTC format.
All enumeration attributes in carrier metadata must be implemented as HDF5 enumerations. The base
type for all enumeration attributes in the following tables must be 8-bit unsigned integer in the HDF5
standard integer type H5T_STD_U8LE.
Integer types are signed integers unless designated as “unsigned”.
Strings must use UTF-8 character encoding. String padding is not specified in this edition of the Product
Specification due to the diversity of API framework treatment of padding.
12.3.1 General metadata - details
Table 12-1 – General metadata, related to the entire HDF5 file (see S-100 Part 10c, Table 10c-6). All times
are in UTC format

No Name Camel Case Mult Data Type Remarks and/or Units


This must be encoded as
Product ‘INT.IHO.S-104.X.Y’, with X
1 Specification productSpecification 1 String representing the Edition number
number and version and Y the revision number. See
Note 6
Date of data product Date must be consistent with
2 issueDate 1 String
issue issueDate in discovery metadata
EPSG code or -1 if user defined
EXAMPLE 1: 4326 (for WGS84)
See
Horizontal
Integer 32- https://spatialreference.org/ref/ep
3 Coordinate horizontalCRS 1
bit sg/?page=1
Reference System
EXAMPLE 2: EPSG:9057 is
WGS 84 (G1762) realization with
valid epoch 2005.0
4 westBoundLongitude 1 Float 32-bit Area encompassing all feature
instances
5 eastBoundLongitude 1 Float 32-bit
Units are Decimal Degrees in the
6 Bounding box southBoundLatitude 1 Float 32-bit EPSG 4326 CS. In accordance
with ISO 19115-1 these
7 northBoundLatitude 1 Float 32-bit coordinates need be accurate
only to two decimal places
Description, or location code
from list agreed by data
Geographic location producers
8 of the resource (by geographicIdentifier 0..1 String (In S-100: EX_Extent >
description) EX_GeographicDescription.geog
raphicIdentifier >
MD_Identifier.code)
Name of XML metadata file for
the HDF5 file
9 Metadata file name metadata 1 String Form: MD_<hdf file name>.XML.
The empty string means this file
is not provided
Name of the Mandatory if horizontalCRS = -1
10 nameOfHorizontalCRS 0..1 String
horizontal CRS

Type of the Enumeratio Mandatory if horizontalCRS = -1


11 typeOfHorizontalCRS 0..1
horizontal CRS n See Table 12-5

S-104 March 2023 Edition 1.1.0


78 Water Level Information for Surface Navigation Product Specification

No Name Camel Case Mult Data Type Remarks and/or Units


Mandatory if horizontalCRS = -1
Allowed values if
typeOfHorizontalCRS = 1
(Geodetic CRS 2D):
 6422 (Lat, Lon – degree)
Horizontal Integer 32- Allowed values if
12 horizontalCS 0..1
coordinate system bit typeOfHorizontalCRS = 2
(Projected CRS):
 4400 (Easting, Northing –
metres)
 4500 (Northing, Easting –
metres)

Integer 32- Mandatory if horizontalCRS = -1


13 Horizontal datum horizontalDatum 0..1
bit EPSG code or -1 if user defined
Name of horizontal Mandatory if horizontalDatum =
14 nameOfHorizontalDatum 0..1 String
datum -1
Integer 32- Mandatory if horizontalDatum =
15 Prime meridian primeMeridian 0..1
bit -1; EPSG Code
Integer 32- Mandatory if horizontalDatum =
16 Spheroid spheroid 0..1
bit -1; EPSG Code
Mandatory if
Integer 32-
17 Projection method projectionMethod 0..1 typeOfHorizontalCRS = 2; EPSG
bit
Code, see Table 12-7
Projection Only if projectionMethod is used.
18 projectionParameter1 0..1 Float 64-bit
parameter 1 See Table 12-7
Projection Only if projectionMethod is used.
19 projectionParameter2 0..1 Float 64-bit
parameter 2 See Table 12-7
Projection Only if projectionMethod is used.
20 projectionParameter3 0..1 Float 64-bit
parameter 3 See Table 12-7
Projection Only if projectionMethod is used.
21 projectionParameter4 0..1 Float 64-bit
parameter 4 See Table 12-7
Projection Only if projectionMethod is used.
22 projectionParameter5 0..1 Float 64-bit
parameter 5 See Table 12-7
Only if projectionMethod is used.
23 False northing falseNorthing 0..1 Float 64-bit To be applied to the coordinates
at axis Northing. [m]
Only if projectionMethod is used.
24 False easting falseEasting 0..1 Float 64-bit To be applied to the coordinates
at axis Easting. [m]
Code denoting the epoch of the
geodetic datum used by the
CRS. For example, 2005.0 for
25 Epoch of realization epoch 0..1 String the G1762 realization of the
geodetic datum for WGS84.
Must match epoch denoted by
horizontalCRS.
Additional metadata for S-104
Critical value used to determine
steady water level trend. Units
Water level trend waterLevelTrendThreshol
26 1 Float 32-bit are metres/hour (m/hr). For
threshold d
example, 0.2. See Annex A
(DCEG)

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 79

No Name Camel Case Mult Data Type Remarks and/or Units


The expected time interval
between availability of
Dataset delivery successive datasets for time-
27 datasetDeliveryInterval 0..1 String
interval varying data. Must be formatted
as PnYnMnDTnHnMnS (ISO
8601 duration). See Note 8
The interval over which trend at
Integer 32- a particular time is calculated
28 Trend Interval trendInterval 0..1
bit unsigned
Unit: minutes
Additional restrictions on core general metadata for S-104
Mandatory for S-104. S-100
Time of data product
29 issueTime 1 String Time format. All times are in
issue
UTC. For example 123000Z
Mandatory for S-104
EPSG Code; Allowed Values
Vertical coordinate Integer 32-  6498 (Depth– Metres–
30 verticalCS 1
system bit Orientation Down)
 6499 (Height– Metres–
Orientation Up)
Mandatory beginning S-104
Vertical datum Enumeratio Edition 1.1
31 verticalDatumReference 1
reference n 1: S-100 vertical datum
2: EPSG
Mandatory beginning S-104
Edition 1.1
If verticalDatumReference = 1
this is one of the standard values
Integer 32- from
32 Vertical datum verticalDatum 1
bit S100_VerticalAndSoundingDatu
m
If verticalDatumReference = 2
this is an EPSG code for vertical
datum

NOTE 1: If the CRS is user defined only the following coordinate systems are supported:
a. Geodetic CS (Latitude, Longitude) – Degrees; and
b. Cartesian CS (Northing, Easting or Easting, Northing) – Metres.
NOTE 2: For the horizontal Datum all EPSG predefined Datums are allowed or any combination of
predefined Prime Meridians or predefined Spheroids.
NOTE 3: The projection methods are limited to those given in Table 12-7.
NOTE 4: If the horizontal CRS is defined by the EPSG code, the defined CRS should not use any other
elements than the one allowed for user defined CRSs; (for example, no projection method that is not in
the Table).
NOTE 5: The bounding box is the data set bounding box; the coverage data feature instances may or
may not cover the entire bounding box. If there is only a single coverage feature, its extent may or may
not be the same as the data set.
NOTE 6: Beginning S-100 Edition 5.0.0, class S100_ProductSpecification (S-100 Part 17) contains a
productIdentifier field whose value must be the Product ID value from the IHO Product Specification
Register in the IHO Geospatial Information Registry. Attribute productSpecification in Table 12-1 must
use exactly the same value.
NOTE 7: Beginning S-100 Edition 5.0.0, seaSurface and seaFloor have been added to the
S100_VerticalAndSoundingDatum enumeration, which makes attribute verticalCoordinateBase

S-104 March 2023 Edition 1.1.0


80 Water Level Information for Surface Navigation Product Specification

redundant. Since it is optional in S-100, S-104 no longer uses it. If verticalCoordinateBase is encoded,
applications may ignore it.
NOTE 8: Dataset delivery interval is encoded only if the dataset is part of a sequence delivered at
known intervals (for example, daily, weekly, or 6-hourly forecasts). S-100 Part 17, clause 17-4.9
contains detailed guidance for encoding the discovery metadata equivalent of this attribute
(userDefinedMaintenanceFrequency) and the same guidelines apply to encoding this attribute. If this
attribute and its discovery metadata equivalent are both encoded (in the HDF5 dataset and discovery
metadata block respectively), the durations encoded by them must be the same. Intervals greater than
monthly may be encoded at Producer discretion.
12.3.2 Feature Type metadata - details
Table 12-2 – Feature Type metadata, pertaining to the WaterLevel feature type (see S-100 Part 10c, Table
10c-10)

No Name Camel Case Mult Data Type Remarks and/or Units


See Table 12-9 . The allowed
values are:
Data organization 1: Time series at fixed stations
index 2: Regularly-gridded arrays
3: Ungeorectified gridded arrays
(Used to read the 7: TIN
1 dataCodingFormat 1 Enumeration
data. See Table 8: Time series at fixed stations
10-1) (stationwise)
This Product Specification allows
the use of only 1-3 and 7-8 from S-
100
The (spatial) dimension of the
feature instances. For water levels,
Integer, 8-bit use 2
2 Dimension dimension 1
unsigned This is the number of coordinate
axes, not the rank of the HDF5
arrays storing coordinates or values

The procedure used8 for evaluating


the coverage at a position that falls
on the boundary or in an area of
Common Point overlap between geometric objects
3 commonPointRule 1 Enumeration
Rule 1: average
2: low
3: high
4: all (recommended)
Horizontal
horizontalPositionUncert -1.0 (unknown) or positive value
4 position 1 Float 32-bit
ainty (m)
uncertainty
Vertical position -1.0 (unknown) or positive value
5 verticalUncertainty 1 Float 32-bit
uncertainty (m)
6 Time uncertainty timeUncertainty 0..1 Float 32-bit -1.0 (unknown) or positive value (s)
Number of Integer 32-
7 numInstances 1
feature instances bit unsigned
Additional metadata for S-104
methodWaterLevelProd Brief description of tide gauge type,
8 Methodology 0..1 String
uct forecast method or model, etc

8 The “procedure” referred to means only evaluate operations as defined in ISO 19123 (“accept a DirectPosition
as input and return a set of Records of feature attribute values for that direct position”). Applications must apply
their own evaluation methods to the resulting list, for example, “water level adjustment” in ECDIS (S-98 Annex C)
should select the water level value that produces the shoalest depth at the position.

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 81

No Name Camel Case Mult Data Type Remarks and/or Units


Height in verticalCS in Table 12-1
Minimum water
9 level height in minDatasetHeight 1 Float 32-bit Use the same precision as the
dataset corresponding attribute in the
values record
Height in verticalCS in Table 12-1
Maximum water
10 level height in maxDatasetHeight 1 Float 32-bit Use the same precision as the
dataset corresponding attribute in the
values record
dataCodingFormat = 1 (fixed stations) [No format-specific attributes.]
dataCodingFormat = 2 (regular Grid)
Method to be used to assign values
from the sequence of values to the
grid coordinates. Components:
11 sequencingRule.type 1 Enumeration
type: Enumeration
CV_SequenceType
Sequencing Rule
For example 1 (for ‘linear’)
scanDirection: String <axisNames
sequencingRule.scanDir entry> (comma-separated).
12 1 String
ection
For example “latitude,longitude”
Interpolation method recommended
for evaluation of the
Interpolation S100_GridCoverage
13 interpolationType 1 Enumeration
Type Values:
S100_CV_InterpolationMethod
(ISO 19123)
dataCodingFormat = 3 (ungeorectified Grid)
Additional restrictions on core feature type metadata for S-104 for dataCodingFormat = 3
Interpolation method recommended
for evaluation of the
S100_GridCoverage
Interpolation Values:
11 interpolationType 1 Enumeration
Type S100_CV_InterpolationMethod
(ISO 19123). For S-104
dataCodingFormat = 3, use 10 (for
‘discrete’)
dataCodingFormat = 7 (TIN)
Interpolation method recommended
for evaluation of the
Interpolation S100_GridCoverage
11 interpolationType 1 Enumeration
Type Values:
S100_CV_InterpolationMethod
(ISO 19123)
dataCodingFormat = 8 (fixed stations, stationwise)
Additional metadata for S-104 for dataCodingFormat = 8
Default priority of series for pick
report. Use “0” for differences
(dataDynamicity = 6, 7, 8, 9, 10).
Order of series in
11 pickPriorityType 1 String E.g., “2,1,4,5,3,0,0,0,0,0” (without
pick report
quotes). See Table 12-3. Total
numbers (here 10) must be equal to
numInstances

S-104 March 2023 Edition 1.1.0


82 Water Level Information for Surface Navigation Product Specification

12.3.3 Feature Instance metadata - details


Table 12-3 – Feature Instance metadata, pertaining to the feature instance (see S-100 Part 10c, Table 10c-
12). All times are in UTC format

No Name Camel Case Mult Data Type Remarks and/or Units


1 westBoundLongitude 0..1 Float 32-bit Area of grid, set of stations, etc
2 eastBoundLongitude 0..1 Float 32-bit Units are decimal degrees
These are used if the feature
3 southBoundLatitude 0..1 Float 32-bit instance has a bounding box
Bounding box different from the bounding box of
the whole dataset. This may
4 northBoundLatitude 0..1 Float 32-bit happen, for example, if there is
more than one feature instance in
the dataset
The total number of time records.
For dataCodingFormat = 8, this
Number of time Integer 32-
5 numberOfTimes 0..1 variable may be overridden by the
records bit unsigned
corresponding one in the values
group attributes (Table 12-4)
The interval between time records.
Units: Seconds. For
Integer 16- dataCodingFormat = 8, this variable
6 Time interval timeRecordInterval 0..1
bit unsigned may be overridden by the
corresponding one in the values
group attributes (Table 12-4)
Valid time of DateTime format. First record in the
7 dateTimeOfFirstRecord 0..1 String
earliest value Instance. All times are in UTC
Valid time of latest
8 dateTimeOfLastRecord 0..1 String DateTime format
value
Number of Values Groups. For
dataCodingFormat = 1, 2, 3, and 7,
Number of values Integer 32-
9 numGRP 1 equals the number of time points.
groups bit unsigned
For dataCodingFormat = 8, equals
the number of stations
Additional metadata for S-104
See Table 12-10. The allowed
values are:
1: Observation
2: Astronomical prediction
3: Analysis or hybrid method
4: Hydrodynamic model hindcast
5: Hydrodynamic model forecast
Enumeratio 6: Observed minus predicted
10 Data dynamicity dataDynamicity 1
n 7: Observed minus analysis
8: Observed minus hindcast
9: Observed minus forecast
10: Forecast minus predicted
Note: if a difference is provided (6-
10), suggested to also provide the
other two series
dataCodingFormat = 1 (fixed stations)
Number of fixed Integer 32- Number of individual fixed stations
11 numberOfStations 1
stations bit unsigned in this instance
dataCodingFormat = 2 (regular Grid)
Float-
Longitude of grid
11 gridOriginLongitude 1 Double (64- Degrees
origin
bit)

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 83

No Name Camel Case Mult Data Type Remarks and/or Units


Float-
Latitude of grid
12 gridOriginLatitude 1 Double (64- Degrees
origin
bit)
Float-
Grid spacing,
13 gridSpacingLongitudinal 1 Double (64- Degrees
longitudinal
bit)
Float-
Grid spacing,
14 gridSpacingLatitudinal 1 Double (64- Degrees
latitudinal
bit)
Number of points, Integer 32-
15 numPointsLongitudinal 1 numCOLS
longitudinal bit unsigned
Number of points, Integer 32-
16 numPointsLatitudinal 1 numROWS
latitudinal bit unsigned
For example, “0,0” (without quotes)
for scans starting at lower left
corner i=0, j=0. For upper left, “0,n”,
where n is the value of numROWS-
17 Start sequence startSequence String
1. First character represents first
1 axis in
sequencingRule.scanDirection.
(Table 12-2), which here is latitude
dataCodingFormat = 3 (ungeorectified grid)
Integer 32-
11 Number of nodes numberOfNodes 1 The total number of grid points
bit unsigned
dataCodingFormat = 7 (TIN)
Integer 32-
11 Number of nodes numberOfNodes 1 The total number of grid points
bit unsigned
Number of Integer 32- The total number of triangles in the
12 numberOfTriangles 1
triangles bit unsigned TIN
dataCodingFormat = 8 (fixed stations, stationwise)
Number of fixed Integer 32- Number of individual fixed stations
11 numberOfStations 1
stations bit unsigned in this instance

12.3.4 Values Group attributes - details


An expanded new metadata block is required for the Values Groups (Table 12-4). The variables
stationName and stationIdentification have been added for both identification and possibly for inclusion
in the text of the graph. The series start and end times, number of records, and time interval index are
included since they may differ for each series.
Table 12-4 – Values Group attributes (see S-100 Part 10c, Table 10c-19). All times are in UTC format

No Name Camel Case Mult Data Type Remarks and/or Units


dataCodingFormat = 1 (fixed stations), 2 (regular grid), 3 (ungeorectified grid), or 7 (TIN)
DateTime. All times are in UTC. See
1 Time stamp timePoint 1 String
Clause 10.2.2.5
dataCodingFormat = 8 (fixed stations, stationwise)

S-104 March 2023 Edition 1.1.0


84 Water Level Information for Surface Navigation Product Specification

No Name Camel Case Mult Data Type Remarks and/or Units


1 (TRUE) denotes uniform time
interval; interval provided by
timeRecordInterval
Index for time (Integer) 8- 0 (FALSE) denotes non-uniform time
2 timeIntervalIndex 1
interval bit unsigned interval
This is a boolean data type
implemented as described in S-100
Part 10c, Table 10c-1
Only if timeIntervalIndex = 1
Integer 16- The uniform interval between time
3 Time interval timeRecordInterval 0..1
bit unsigned records. Units: Seconds. Value here
overrides corresponding value at
Instance level
Additional restrictions on core values group metadata for S-104 for dataCodingFormat = 8 (fixed stations,
stationwise)
Mandatory for S-104
Name of the
4 stationName 1 String For example, a geographic
station
description or ‘Not Available’
Mandatory for S-104
Station For example, a letter-number
5 stationIdentification 1 String
identification combination for the station or ‘Not
Available’
Mandatory for S-104
Number of time Integer 32-
6 numberOfTimes 1
records bit unsigned Value here overrides corresponding
value at Instance level

Valid time of Mandatory for S-104


7 startDateTime 1 String
earliest value DateTime format

Valid time of Mandatory for S-104


8 endDateTime 1 String
latest value DateTime format
Additional metadata for S-104 for dataCodingFormat = 8 (fixed stations, stationwise)
The Maritime Resource Name
Location assigned to the station, if any
9 Maritime locationMRN 0..1 String
Resource Name Must be formatted as an MRN (cf.
IALA G1143)
URL to station or data portal
URL to station
10 stationURL 0..1 String Must be an http or https URL (S-100
or data portal.
Part 1, clause 1-4.6; RFC 3986)
11 Type of Tide typeOfTide 0..1 Enumeration See S104_TypeOfTide, Table 12-11
For additional details about the type
Type of Tide -
12 typeOfTideDescription 0..1 String of tide, such as “Strong spring-neap
Description
modulation”, etc
Critical value used to determine
Water level steady water level trend. Units are
13 waterLevelTrendThreshold 0..1 Float 32-bit
trend threshold metres/hour (m/hr). For example,
0.2. See Annex A (DCEG)
The interval over which trend at a
Integer 32- particular time is calculated
14 Trend Interval trendInterval 0..1
bit unsigned
Unit: minutes. Default: 60 minutes
15 Station type stationType 0..1 Enumeration See S104_StationType, Table 12-12

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 85

12.3.5 Additional enumerations used in carrier metadata


Table 12-5 – Type of the horizontal CRS

Item Name Description Code Remarks


Enumeration typeOfHorizontalCRS Codes for describing the type of the two-dimensional -
horizontal CRS
Literal geodeticCRS2D Two-dimensional geodetic CRS 1
Literal projectedCRS Projected CRS 2

Table 12-6 – Vertical datum reference

Item Name Description Code Remarks


Enumeration verticalDatumReference -
Literal s100VerticalDatum The vertical datum is one of those listed in 1
S100_VerticalAndSoundingDatum
Literal EPSG The vertical datum is one of those listed in the EPSG 2
Registry

Table 12-7 – Projection methods and their parameters

Name EPSG Parameter 1 Parameter 2 Parameter 3 Parameter 4 Parameter 5


Code
Mercator 9805 Latitude of 1st Longitude of - - -
standard natural origin
parallel
Transverse 9807 Latitude of Longitude of Scale factor at - -
Mercator natural origin natural origin natural origin
Oblique 9815 Latitude of Longitude of Azimuth of initial Angle from Scale factor on
Mercator projection projection line Rectified to initial line
centre centre Skew Grid
Hotline Oblique 9812 Latitude of Longitude of Azimuth of initial Angle from Scale factor on
Mercator projection projection line Rectified to initial line
centre centre Skew Grid
Lambert Conic 9801 Latitude of Longitude of Scale factor at - -
Conformal (1SP) natural origin natural origin natural origin
Lambert Conic 9802 Latitude of Longitude of Latitude of 1st Latitude of 2nd -
Conformal (2SP) false origin false origin standard parallel standard
parallel
Oblique 9809 Latitude of Longitude of Scale factor at - -
Stereographic natural origin natural origin natural origin
Polar 9810 Latitude of Longitude of Scale factor at - -
Stereographic natural origin natural origin natural origin
Krovak Oblique 9819 Latitude of Longitude of Azimuth of initial Latitude of Scale factor on
Conic Conformal projection projection line pseudo pseudo
centre centre standard standard
parallel parallel
American 9818 Latitude of Longitude of - - -
Polyconic natural origin natural origin
Albers Equal 9822 Latitude of Longitude of Latitude of 1st Latitude of 2nd -
Area false origin false origin standard standard
parallel5 parallel6

S-104 March 2023 Edition 1.1.0


86 Water Level Information for Surface Navigation Product Specification

Lambert 9820 Latitude of Longitude of - - -


Azimuthal Equal natural origin natural origin
Area

Table 12-8 – S100_VerticalAndSoundingDatum

Item Name Description Code Remarks


S100_Co S100_VerticalAndSoundingD Allowable vertical and - S-104 allows only the standard
delist atum sounding datums values of this codelist, which
makes it effectively an
enumeration for S-104
purposes
Value meanLowWaterSprings 1 (MLWS)
Value meanLowerLowWaterSprings 2 -
Value meanSeaLevel 3 (MSL)
Value lowestLowWater 4 -
Value meanLowWater 5 (MLW)
Value lowestLowWaterSprings 6 -
Value approximateMeanLowWaterS 7 -
prings
Value indianSpringLowWater 8 -
Value lowWaterSprings 9 -
Value approximateLowestAstronomi 10 -
calTide
Value nearlyLowestLowWater 11 -
Value meanLowerLowWater 12 (MLLW)
Value lowWater 13 (LW)
Value approximateMeanLowWater 14 -
Value approximateMeanLowerLow 15 -
Water
Value meanHighWater 16 (MHW)
Value meanHighWaterSprings 17 (MHWS)
Value highWater 18 (HW)
Value approximateMeanSeaLevel 19 -
Value highWaterSprings 20 -
Value meanHigherHighWater 21 (MHHW)
Value equinoctialSpringLowWater 22 -
Value lowestAstronomicalTide 23 (LAT)
Value localDatum 24 -
Value internationalGreatLakesDatu 25 -
m1985
Value meanWaterLevel 26 -
Value lowerLowWaterLargeTide 27 -
Value higherHighWaterLargeTide 28 -
Value nearlyHighestHighWater 29 -
Value highestAstronomicalTide 30 (HAT)

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 87

Item Name Description Code Remarks


Value balticSeaChartDatum2000 Baltic Sea Chart Datum 44 -
2000
Value internationalGreatLakesDatu The 2020 update to the 46 Unlike the previous two IGLDs,
m2020 International Great Lakes this datum update will use a
Datum, the official geoid-based vertical datum
reference system used to that will be accessible using
measure water level global navigation satellite
heights in the Great systems (GNSS) such as the
Lakes, connecting Global Positioning System
channels, and the St (GPS)
Lawrence River system
Value seaFloor The bottom of the ocean 47 -
and seas where there is a
generally smooth gentle
gradient. Also referred to
as sea bed (sometimes
seabed or sea-bed), and
sea bottom
Value seaSurface A two-dimensional (in the 48 -
horizontal plane) field
representing the air-sea
interface, with high-
frequency fluctuations
such as wind waves and
swell, but not astronomical
tides, filtered out
Value hydrographicZero A vertical reference near 49 Deviation between LAT and
the lowest astronomical hydrographic zero may be due
tide (LAT), below which to a strong anticyclonic
the sea level falls only atmospheric condition, adding
very exceptionally weight to the water column
that may exceptionally cause
the lowest sea level to fall
below the astronomical low
water level

Table 12-9 – S100_HDF_DataCodingFormat

Item Name Description Code Remarks


Enumeration S100_HDF_ Data coding formats for S-100 HDF5 - S-104 does not use
DataCodingFormat data movingPlatform,
irregularGrid, or
variableCellSize data
coding formats
Value fixedStations Data at multiple discrete fixed point 1
locations
Value regularGrid Data at grid points forming a regular 2 Regular grids are
grid with constant cell spacing commonly composed of
perpendicularly crossing
lines of equal spacing on
each dimension, creating
square or rectangular
cells

S-104 March 2023 Edition 1.1.0


88 Water Level Information for Surface Navigation Product Specification

Value ungeorectifiedGrid Data that does not include any 3 For example, a digital
information that can be used to perspective aerial
determine a cell’s geographic photograph without
coordinate values, or in which cell georectification
spacing is variable, and there is no information included
predefined association between one
cell’s location and that of another
Value TIN Triangulated irregular network 7 A TIN is a representation
of a continuous surface
consisting entirely of
triangular facets. The
vertices at the corners of
each triangle are shared
with the adjacent
triangle. These vertices
form the control points of
the coverage function
Value stationwiseFixed Time series at fixed stations 8 Data at multiple discrete
(stationwise) fixed point locations
organized by station

Table 12-10 – S104_DataDynamicity

Item Name Description Code Remarks


Enumeration S104_DataDynamicity Classification of data according to -
the relationship between the time
of its collection, generation, or
calculation of generation
parameters, in relation to the time
of publication of the dataset
Value observation Values from in-situ sensor(s); may 1 Includes both historical
be quality controlled and stored and real-time
after collection observations
See also Notes 1 and 2
below
Value astronomicalPrediction Values computed using harmonic 2 IHO Resolution 3/1919,
analysis or other proven method of as amended
tidal analysis
Value analysisOrHybrid Values calculated by statistical or 3 A hybrid method
other indirect methods, or a combines two or more
combination of methods approaches
Value hydrodynamicHindcast Values calculated from a two- or 4 A hindcast is a model
three-dimensional dynamic simulation that attempts
simulation of past conditions using to recreate present
only observed data for boundary conditions by using the
forcing, via statistical method or most recent
combination observational data
Value hydrodynamicForecast Values calculated from a two- or 5 A forecast is a simulation
three-dimensional dynamic made for many hours into
simulation of future conditions the future using predicted
using predicted data for boundary winds, water levels, etc
forcing, via statistical method or
combination
Value observedMinusPredicted Values computed as observed 6 Observation minus
minus predicted values astronomical prediction
Value observedMinusAnalysis Values computed as observed 7 Observation minus
minus analysis values analysis or hybrid

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 89

Value observedMinusHindcast Values computed as observed 8 Observation minus


minus hindcast values hydrodynamic hindcast
Value observedMinusForecast Values computed as observed 9 Observation minus
minus forecast values hydrodynamic forecast
Value forecastMinusPredicted Values computed as forecast 10 Hydrodynamic forecast
minus predicted values minus astronomical
prediction

NOTE 1: The time period covered by the observations should be encoded in the metadata attribute
temporalExtent.
NOTE 2: Sensors (for example tide gauges deployed along a channel) are monitored by the data
collecting Authority. After data acquisition, the data are quality controlled and stored by the Producing
Authority.
See clause 7.1 for detailed descriptions of the types of water level data based on the time-dependence
of the source.
Table 12-11 – S104_TypeOfTide

Item Name Description Code Remarks


Enumeration S104_TypeOfTide A classification of tide or tidal stream -
based on characteristic forms of a tide
curve, as determined from the relative
magnitude of its components, usually
the diurnal and semidiurnal
components
Value diurnalTide A tide with only one high water and one 1
low water occurring during a tidal day
Value semiDiurnalTide A tide or tidal stream having a period of 2
approximately one-half of a tidal day,
that is, having two high waters and two
low waters (or two ebb and two flood
cycles of a reversing stream) during a
tidal day
Value mixedTide A tide characterised by large diurnal 3 In general, a type of tide
inequalities in heights and/or times of intermediate between
successive high and/or low waters predominantly semidiurnal
and predominantly diurnal
Value meteorologicalTide Changes in water level caused mainly 4 The variations in water
by variations in weather conditions level may be daily or
which may occur with some degree of seasonal, caused by daily
periodicity or seasonal weather
conditions. Contrast to an
astronomical tide caused
by the gravitational
attraction of the Sun and
Moon

NOTE 1: The limits between the categories are not clearly defined and may vary depending on
application. For example, the mixed classification is sometimes subdivided or dropped altogether.
NOTE 2: Qualitatively, when the two high waters and two low waters of each tidal day are approximately
equal in height, the tide is said to be semidiurnal; when there is a relatively large diurnal inequality in
the high or low waters or both, it is said to be mixed; and when there is only one high water and one
low water in each tidal day, it is said to be diurnal.

S-104 March 2023 Edition 1.1.0


90 Water Level Information for Surface Navigation Product Specification

Table 12-12 – S104_StationType

Item Name Description Code Remarks


Enumeration S104_StationType Classification of tide gauge or station --
by observation history and use as a
basis for determining the characteristic
tide features for a locality
Value referenceStation A place where tide or tidal stream 1
constants have been determined from
long-term observations, independent
predictions of tide or tidal stream are
provided, and which is used as a
standard for comparison of
simultaneous observations at a
secondary station
Value secondaryStation A station where observations have 2
been made for an intermediate period
generally between 1 and 19 years,
which were reduced by comparison
with simultaneous observations at a
reference station
Value tertiaryStation A station where observations have 3
been made for a short period. Tertiary
stations supply information for shorter-
period harmonic analysis (for example,
29-day analysis) or purposes such as
hydrographic surveys or non-
navigational requirements

12.4 Language
The language used for the Discovery Metadata and the Carrier Metadata is English. Producers may
add translations of Feature Catalogues into additional languages using ‘language packs’ (cf. S-100 Part
18 and Part 11, clauses 11.2.4 – 11.2.5).

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 91

ANNEX A – Data Classification and Encoding Guide


A-1 Features
Water Level (WaterLevel)

IHO Definition: FEATURE: WATER LEVEL: The vertical position of a water surface
S-104 Geo Feature: Water Level
Primitives: pointSet, coverage
S-104 Attribute Allowable Encoding Value Type Multiplicity
Water Level Height Must be in decimal metres, RE 1
maximum resolution of 0.01
metres
Water Level Trend 1 : Decreasing EN 1
2 : Increasing
3 : Steady
Water Level Time YYYYMMDDTHHMMSSZ DT 0..1

A-2 Feature Attributes


The number of attributes for Water Level is three: water level height, water level trend, and water level
time. Encoding remarks are included with each attribute specification, below.
1. Water Level Height (waterLevelHeight)
Water Level Height: The height of a water surface relative to a vertical datum
Unit: metre (m)
Maximum Resolution: 0.01 m
Format: xxx.xx
Example: 10.54
Remarks:
 Land mask or missing value is denoted by a unique number as specified in the metadata.
 The height is relative to some vertical datum, which is defined in the metadata.
 0.01 metres equals 0.3937 inches (1 cm).

S-104 March 2023 Edition 1.1.0


92 Water Level Information for Surface Navigation Product Specification

2. Water Level Trend (waterLevelTrend)

Water Level Trend: The tendency of water level to change in a particular direction.
1 : Decreasing (decreasing)
2 : Increasing (increasing)
3 : Steady (steady)
Unit: none (enumeration)
Resolution: N/A (enumeration)
Format: x
Example: 3 (Steady)
Remarks:
 To determine category, use metadata variable waterLevelTrendThreshold (See Table 12-1):
o Decreasing: trend <= -waterLevelTrendThreshold
o Increasing: trend >= +waterLevelTrendThreshold
 Steady: -waterLevelTrendThreshold < trend < +waterLevelTrendThreshold
Where a value is not known, the fill value must be populated, which is 0 (Unknown). The fill value
may be used in non-tidal or similar regions.
 The fill value of 0 (Unknown) is recommended for all difference series (dataDynamicity = 6, 7, 8,
9, or 10).
 Native integer type H5T_STD_U8LE should be used for the base type of the numeric code (1, 2,
or 3 here) when creating the enumeration.

3. Water Level Time (waterLevelTime)


Water Level Time: The time of the water level height, expressed in Date-time format as specified by
ISO 8601.
Unit: Years, months, days, hours, minutes, seconds
Resolution: 1 second
Format: YYYYMMDDTHHMMSSZ, where Y is year, M is month, D is day, H is hour, M is minute, and
S is second
Example: 19850412T101530Z denotes 10 hours, 15 minutes, and 30 seconds, Universal Time on 12
April 1985.
Remarks:
 Required only for fixed station (stationwise) time series data (dataCodingFormat = 8) with non-
uniform time intervals.
 All times are in UTC (Universal Time Coordinated).

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 93

ANNEX B – Additional Terms and Definitions


Terms that are defined in this Annex or in clause 1.4.2 are highlighted in bold.

S-104 March 2023 Edition 1.1.0


94 Water Level Information for Surface Navigation Product Specification

accuracy rules
closeness of agreement between an observed value and the [ISO 19144-1]
true value or a reference value accepted as true classifier <UML>
NOTE 1: A test result can be observations or mechanism that describes behavioral and structural
measurements features
NOTE 2: For positioning services, the test result is a NOTE: Classifiers include interfaces, classes, data
measured value or set of values types, and components
NOTE 3: For observations and measurements, true [ISO/TS 19103-2]
values are not obtainable. In their place reference values conceptual model
which are accepted as true values are used model that defines concepts of a universe of discourse
[ISO 19157, ISO 19116] [ISO 19101]
application confidence
manipulation and processing of data in support of user accuracy of a data quality result
requirements [ISO 19157]
[ISO 19101] conformance
application schema fulfilment of specified requirements
conceptual schema for data required by one or more [ISO 19105]
applications constraint
[ISO 19101] condition or restriction expressed in natural-language text or
attribute in a machine-readable language for the purpose of
a named element within a classifier that describes a range declaring some of the semantics of an element
of values that instances of the classifier may hold [ISO/TS 19103]
NOTE: An attribute is semantically equivalent to a restriction on how a link or turn may be traversed by a vehicle,
composition association; however, the intent and usage such as a vehicle classification, or physical or temporal
are normally different constraint
[ISO/TS 19103] [ISO 19133]
named property of an entity constraint <UML>
NOTE: Describes a geometrical, topological, thematic, or condition or restriction expressed in natural-language text or
other characteristic of an entity in a machine-readable language for the purpose of declaring
[ISO/TS 19130] some of the semantics of an element
attribute <UML> [ISO/TS 19103]
feature within a classifier that describes a range of values NOTE: Certain constraints are predefined in the UML;
that instances of the classifier may hold others may be user defined. Constraints are one of three
[ISO/TS 19103] extensibility mechanisms in UML. See: tagged value,
characteristic stereotype
abstraction of a property of an object or of a set of objects [retired version of ISO/TS 19103]
NOTE: Characteristics are used for describing concepts content model
[ISO 1087-1, ISO 19146] information view of an application schema
distinguishing feature NOTE: The term “information view” comes from the ISO
NOTE 1: A characteristic can be inherent or assigned Reference model for Open distributed processing (RM-
NOTE 2: A characteristic can be qualitative or ODP) as specified in ISO 19101-2
Quantitative [ISO/TS 19129]
NOTE 3: There are various classes of characteristics, continuous coverage
such as the following: physical (e.g., mechanical, coverage that returns different values for the same feature
electrical, chemical, or biological), sensory (e.g., related attribute at different direct positions within a single spatial
to smell, touch, taste, sight, or hearing), behavioral (e.g., object, temporal object, or spatiotemporal object in its
courtesy, honesty, or veracity), temporal (e.g., punctuality, domain
reliability, or availability), ergonomic (e.g., physiological, NOTE: Although the domain of a continuous coverage
or related to human safety), and functional (e.g., is ordinarily bounded in terms of its spatial and/or temporal
maximum speed of an aircraft) extent, it can be subdivided into an infinite number of
[ISO 19113] direct positions
class <UML> [ISO 19123]
description of a set of objects that share the same coverage domain
attributes, operations, methods, relationships, and Consists of a collection of direct positions in a coordinate
semantics space that may be defined in terms of up to three spatial
NOTE: A class may use a set of interfaces to specify dimensions as well as a temporal dimension.
collections of operations it provides to its [Springer 2012]
environment. See: interface curve
[ISO/TS 19103-2] one-dimensional geometric primitive, representing the
classification continuous image of a line
abstract representation of real-world phenomena using NOTE: The boundary of a curve is the set of points at
classifiers either end of the curve. If the curve is a cycle, the two
[ISO 19144-1] ends are identical, and the curve (if topologically closed)
classifier is considered to not have a boundary. The first point is
a model element that describes behavioral and called the start point, and the last is the end point.
structural features Connectivity of the curve is guaranteed by the continuous
[ISO/TS 19103] image of a line clause. A topological theorem states that
definition used to assign objects to legend classes a continuous image of a connected set is connected
NOTE: Classifiers can be defined algorithmically or [ISO 19107]
according to a set of classification system-specific

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 95

data depth
reinterpretable representation of information in a formalised distance of a point from a chosen reference surface
manner suitable for communication, interpretation, or measured downward along a line perpendicular to that
processing surface
[ISO 19115] NOTE: A depth above the reference surface will have a
data product specification negative value
detailed description of a dataset or dataset series together [ISO 19111]
with additional information that will enable it to be created, element <XML>
and supplied to and used by another party basic information item of an XML document containing child
NOTE: A data product specification provides a elements, attributes, and character data
description of the universe of discourse and a NOTE: From the XML information set: “Each XML
specification for mapping the universe of discourse to a document contains one or more elements, the
dataset. It may be used for production, sales, end-use, or boundaries of which are either delimited by start-tags and
other purpose end-tags, or, for empty elements, by an empty-element
[ISO 19131] tag. Each element has a type, identified by name,
data type sometimes called its generic identifier (GI), and may have
a descriptor of a set of values that lack identity (independent a set of attribute specifications. Each attribute
existence and the possibility of side-effects) specification has a name and a value.”
EXAMPLE: Integer, Real, Boolean, String, and Date [ISO 19136]
NOTE: Data types include primitive predefined types and elevation
user-definable types the altitude of the ground level of an object, measured from
[ISO/TS 19103] a specified vertical datum.
specification of a value domain with operations allowed on [IHO:S100 GFM]
values in this domain encoding
EXAMPLE: Integer, Real, Boolean, String, and Date conversion of data into a series of codes
NOTE 1: Data types include primitive predefined types [ISO 19118]
and user-definable types error
NOTE 2: A data type is identified by a term, e.g., Integer. discrepancy with the universe of discourse
Values of the data types are of the specified value [ISO 19138]
domain, e.g., all integer numbers between −65 537 and feature catalogue
65 536. The set of operations can be +, -, *, and /, and is catalogue containing definitions and descriptions of the
semantically well defined. A data type can be simple or feature types, feature attributes, and feature relationships
complex. A simple data type defines a value domain occurring in one or more sets of geographic data, together
where values are considered atomic in a certain context, with any feature operations that may be applied
e.g., Integer. A complex data type is a collection of data [ISO 19101, ISO 19110]
types which are grouped together. A complex data type feature type
may represent an object and can thus have identity classifier for features, defined by the set of characteristic
[ISO 19118] properties that all features of this type carry
data value [ISO 19109]
an instance of a data type; a value without identity class of features having common characteristics
NOTE: A value may describe a possible state of an object [ISO 19156]
within a class or type (domain) format
[ISO/TS 19103] a language construct that specifies the representation, in
dataset character form, of data objects in a record, file, message,
identifiable collection of data storage device, or transmission channel
NOTE: A dataset may be a smaller grouping of data [ISO 19145]
which, though limited by some constraint such as spatial framework
extent or feature type, is located physically within a larger relationship between the elements of the content model
dataset. Theoretically, a dataset may be as small as a and the separate encoding and portrayal mechanisms
single feature or feature attribute contained within a [ISO/TS 19129]
larger dataset. A hard-copy map or geographic location
chart may be considered a dataset longitude, latitude, and elevation of a ground or elevated
NOTE: The principles which apply to datasets may point
also be applied to dataset series and reporting groups [ISO/TS 19130-2]
[ISO 19101, ISO 19115, ISO 19117] NOTE: For the purpose of this document elevated point
dataset series will be a depth based on a specified datum.
collection of datasets sharing the same product [CARL 2015]
specification geometric complex
[ISO 19115] set of disjoint geometric primitives where the boundary of
datum each geometric primitive can be represented as the union
parameter or set of parameters that define the position of of other geometric primitives of smaller dimension within
the origin, the scale, and the orientation of a coordinate the same set
system NOTE: The geometric primitives in the set are disjoint in
NOTE 1: A datum defines the position of the origin, the the sense that no direct position is interior to more than
scale, and the orientation of the axes of a coordinate one geometric primitive. The set is closed under
system boundary operations, meaning that, for each element in
NOTE 2: A datum may be a geodetic datum, a vertical the geometric complex, there is a collection (also a
datum, an engineering datum, an image datum, or a geometric complex) of geometric primitives that
temporal datum represents the boundary of that element. Recall that the
[ISO 19111, ISO 19116] boundary of a point (the only 0-D primitive object type in

S-104 March 2023 Edition 1.1.0


96 Water Level Information for Surface Navigation Product Specification

geometry) is empty. Thus, if the largest dimension model


geometric primitive is a solid (3-D), the composition of abstraction of some aspects of reality
the boundary operator in this definition terminates after at [ISO 19109]
most three steps. It is also the case that the boundary of navigation
any object is a cycle combination of routing, route transversal, and tracking
[ISO 19107] NOTE: This is essentially the common term navigation,
geometric object but the definition decomposes the process in terms used
spatial object representing a geometric set in the packages defined in this international standard
NOTE: A geometric object consists of a geometric [ISO 19133]
primitive, a collection of geometric primitives, or a object
geometric complex treated as a single entity. A entity with a well-defined boundary and identity that
geometric object may be the spatial representation of an encapsulates state and behaviour
object such as a feature or a significant part of a feature NOTE 1: An object is an instance of a class
[ISO 19107] NOTE 2: This term was first used in this way in the general
geometric primitive theory of object-oriented programming, and later adopted
geometric object representing a single, connected, for use in this same sense in UML. Attributes and
homogeneous element of space relationships represent state. Operations, methods, and
NOTE: Geometric primitives are non-decomposed state machines represent behaviour
objects that present information about geometric NOTE 3: A GML object is an XML element of a type
configuration. They include points, curves, surfaces, and derived from AbstractGMLType
solids [ISO 19107]
[ISO 19107] object <UML>
georectified a discrete entity with a well-defined boundary and identity
corrected for positional displacement with respect to the that encapsulates state and behaviour; an instance of a
surface of the Earth class
[ISO 19115-2] [ISO/TS 19103]
gridded data point
data whose attribute values are associated with positions zero-dimensional geometric primitive, representing a
on a grid coordinate system position
[ISO 19115-2] NOTE: The boundary of a point is the empty set
image [ISO 19107]
gridded coverage whose attribute values are a numerical point coverage
representation of a physical parameter coverage that has a domain composed of points
NOTE: The physical parameters are the result of [ISO 19123]
measurement by a sensor or a prediction from a model point set
[ISO 19115-2] set of 2, 3 or n dimensional points in space.
implementation [S-100]
realization of a specification
NOTE: In the context of the ISO geographic information
standards, this includes specifications of geographic
information services and datasets
[ISO 19105]
information
knowledge concerning objects, such as facts, events, things,
processes, or ideas, including concepts, that within a certain
context has a particular meaning
[ISO 19118]
instance
point set coverage
individual entity having its own identity and value
coverage function associated with point value pairs in 2
NOTE: A classifier specifies the form and behavior of a
dimensions.
set of instances with similar properties
[S-100]
[ISO/TS 19103]
NOTE: a coverage function is driven by a set of points
object that realises a class
(with X, Y position) together with a record of one or more
[ISO 19107]
values at that position.
layer
portrayal
basic unit of geographic information that may be requested
presentation of information to humans
as a map from a server
[ISO 19109, ISO 19117]
[ISO 19128]
portrayal catalogue
lineage
collection of defined portrayals for a feature catalogue
chain of legal ownership of content; history of ownership
NOTE: Content of a portrayal catalogue includes
[ISO 19153]
portrayal functions, symbols, and portrayal context.
metadata
[ISO 19117]
data about data
portrayal context
[ISO 19115]
circumstances, imposed by factors extrinsic to a geographic
metamodel <UML>
dataset, that affect the portrayal
model that defines the language for expressing other
of that dataset.
models
EXAMPLE: Factors contributing to portrayal context
NOTE: A metamodel is an instance of
may include the proposed display or map scale, the
a meta-metamodel
viewing conditions (day/night/dusk), and the display
[ISO/TS 19103]

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 97

orientation requirements (north not necessarily at the quadrilateral grid coverage


top of the screen or page), among others may be a rectified grid or a referenceable grid.
NOTE: Portrayal context may influence the selection [Springer 2012]
of portrayal functions and construction of symbols quality
[ISO 19117] totality of characteristics of a product that bear on its ability
portrayal function to satisfy stated and implied needs
function that maps geographic features to symbols [ISO 19101, ISO 19109]
NOTE: Portrayal functions can also include parameters Degree to which a set of inherent characteristics fulfills
and other computations that are not dependent on requirements
geographic feature properties NOTE 1: The term quality can be used with adjectives
[ISO 19117] such as poor, good or excellent
portrayal function set NOTE 2: Inherent, as opposed to assigned, means
function that maps a feature catalog to a symbol set existing in something, especially as a permanent
[ISO 19117] characteristic
portrayal rule [ISO 19157]
specific kind of portrayal function expressed in NOTE 3: For the purposes of this technical specification
a declarative language the quality characteristics of product include:
NOTE: A declarative language is rule based and – Data quality (the elements of which are described by
includes decision and branching statements ISO 19113)
[ISO 19117] – Volume of delivery
portrayal service – Schedule of delivery
generic interface used to portray features – Cost of production and/or update
[ISO 19117] [ISO 19158]
portrayal specification range
collection of operations applied to the feature instance set of all values a function f can take as its arguments vary
to portray it over its domain
[ISO 19117] [ISO 19136]
position referenceable grid
data type that describes a point or geometry potentially requires a formula of higher order that transforms into a
occupied by an object or person coordinate reference system.
NOTE: A direct position is a semantic subtype of EXAMPLE: the perspective transformation with eight
position. Direct positions as described can only define parameters.
a point, and therefore not all positions can be [Springer 2012]
represented by a direct position. That is consistent with render
the is type of relation. An ISO 19107 geometry is also a conversion of digital graphics data into visual form
position, but not a direct position EXAMPLE Generation of an image on a video display
[ISO 19132] [ISO 19117]
positional accuracy schema
closeness of coordinate value to the true or accepted value formal description of a model
in a specified reference system NOTE: In general, a schema is an abstract representation
NOTE: The term absolute accuracy is sometimes used for of an object’s characteristics and relationship to other
this concept to distinguish it from relative positional objects. An XML schema represents the relationship
accuracy. Where the true coordinate value may not be between the attributes and elements of an XML object
perfectly known, accuracy is normally tested by (for example, a document or a portion of a document)
comparison with available values that can best be [ISO 19101]
accepted as true sequence
[ISO 19116] finite, ordered collection of related items (objects or values)
product that may be repeated
result of a process NOTE: Logically, a sequence is a set of pairs <item,
[ISO 19158] offset>. LISP syntax, which delimits sequences with
product specification parentheses and separates elements in the sequence
description of the universe of discourse and with commas, is used in this international standard
a specification for mapping the universe of discourse [ISO 19107]
to a dataset set
[ISO 19158] unordered collection of related items (objects or values) with
profile no repetition
set of one or more base standards or subsets of base [ISO 19107]
standards, and, where applicable, the identification of specification
chosen clauses, classes, options, and parameters of those declarative description of what something is or does
base standards, that are necessary for accomplishing a NOTE: Contrast: implementation
particular function [retired version of ISO/TS 19103]
NOTE: A profile is derived from base standards so that, timestamp
by definition, conformance to a profile is conformance value of time at which an object’s state is measured and
to the base standards from which it is derived recorded
[ISO 19101, ISO 19106] [ISO 19132]
profile <UML> symbol
definition of a limited extension to a reference metamodel portrayal primitive that can be graphic, audible, or
with the purpose of adapting the metamodel to a specific tactile in nature, or a combination of these
platform or domain [ISO 19117]
[ISO/TS 19103]

S-104 March 2023 Edition 1.1.0


98 Water Level Information for Surface Navigation Product Specification

tuple
ordered list of values
NOTE 1: The number of values in a tuple is immutable
NOTE 2: the ordered list will generally be a finite
sequence of features, each of a specific feature type
[ISO 19136, ISO 19142]
type
a specification of the general structure and behaviour of a
domain of objects without providing a physical
implementation
NOTE: A type may have attributes and associations
[ISO/TS 19103]
UML
The Unified Modelling Language (UML) is a general-
purpose modelling language in the field of software
engineering, which is designed to provide a standard way to
visualise the design of a system.

image courtesy of Kishorekumar 62


[Wikipedia 2015]
UML application schema
application schema written in UML in accordance with ISO
19109
[ISO 19136]valid time
time when a fact is true in the abstracted reality
[ISO 19108]
vertical coordinate system
one-dimensional coordinate system used for gravity-related
height or depth measurements
[ISO 19111]
vertical datum
datum describing the relation of gravity-related heights or
depths to the Earth
NOTE: In most cases the vertical datum will be related
to mean sea level. Ellipsoidal heights are treated as
related to a three-dimensional ellipsoidal coordinate
system referenced to a geodetic datum. Vertical datums
include sounding datums (used for hydrographic
purposes), in which case the heights may be negative
heights or depths
[ISO 19111]

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 99

ANNEX C – S-104 Comprehensive Model Including Application Schema and


Carrier Metadata (UML Diagrams)
Figure C-1 depicts the various components of the S-104 model. The Meta-features and Exchange Set
Metadata components are empty because S-104 does not define any meta-features or extend S-100
Exchange Catalogue classes. Figure C-2 depicts the derivation of the S-104 packages from various S-
100 components.

Figure C-1 – S-104 Model components

S-104 March 2023 Edition 1.1.0


100 Water Level Information for Surface Navigation Product Specification

Figure C-2 – Derivations from S-100


Figure C-3 depicts the coverage types used in S-104 and their realizations from the conceptual
coverages in S-100 Part 8 and ISO 19123. This is a more detailed version of Figure 4-3. Note that the
realizations are not directly from the S-100 Part 8 and ISO 19123 classes, but via corresponding notional
classes for the HDF5 implementations of the various data coding formats (not included in this diagram).
For example, S104_RegularGrid is a notional extension of a notional S-100 class
Part10c::S100_HDF_RegularGrid which encapsulates the encoding of dataCodingFormat 2 in HDF5.
The notional classes are omitted to reduce diagram clutter.
The implementation of most attributes in the S-100 Part 8 model by S-100 Part 10c closely follows the
names and types of the attributes. Certain attributes in the S-100 Part 8 and ISO 19123 models are
simplified in S-100 Part 10c HDF5 implementation, as follows:
 HDF5 Regular Grid and Ungeorectified Grid (data coding formats 2 and 3) implement S100_Grid and
CV_ReferenceableGrid respectively:
o The attribute origin is implemented in the form of two HDF5 attributes, gridOriginLatitude and
gridOriginLongitude.
o The attribute offsetVectors is implemented in the form of two HDF5 attributes,
gridSpacingLongitudinal and gridSpacingLatitudinal.
 HDF5 TIN (data coding format 7) implements S100_TINCoverage:
o The TIN element relationship to multiple S100_Triangle objects is implemented as the triangles
array in S-100 Part 10c, Table 10c-16 and the triangle vertex positions represented by
S100_VertexPoint geometry attributes are implemented as the geometryValues array in S-100
Table 10c-16 (this also represents the controlPoints attribute of ISO 19123 GM_Tin class).
o Triangle corners represented by the geometry attribute of S100_Triangle and GM_Triangle
corners attribute are implemented by the 3-columnar structure of the triangles array in S-100 Part
10c, Table 10c-16 (“Positioning group”) – each row of that array indicates the 3 corners of a
triangle.
o The ISO 19123 GM_Tin attributes stopLines, breakLines, and maxLength are not implemented in
the S-100 HDF5 encoding.

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 101

 The rangeType attribute common to all coverage types is implemented implicitly in the S-100
Feature Catalogue’s binding of attributes to a feature and in the name/datatype information in
feature information datasets in the feature information group (S-100 Part 10c, Table 10c-8).

S-104 March 2023 Edition 1.1.0


102 Water Level Information for Surface Navigation Product Specification

Page intentionally left blank

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 103

Figure C-3 Spatial Types – Coverages with Realizations from S-100 Part 8 and ISO 19123

S-104 March 2023 Edition 1.1.0


104 Water Level Information for Surface Navigation Product Specification

Figure C-4 depicts the domain features. The WaterLevel feature and its attributes realise the values record in the S-100 Part 8 and ISO 19123 coverages
models.

Figure C-4 – Domain Objects


Figure C-5 depicts the external catalogue metadata classes (the same information as Figure 12-4).
Figures C-6 through C-10 depict the same information as Figures 0 .06 through 0 .03, organised by coverage type instead of structural level. Different levels in
the HDF5 structure (root, feature type, feature instance, and value) are indicated by backgrounds of different colours.

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 105

Figure C-5 – Exchange Set class details

S-104 March 2023 Edition 1.1.0


106 Water Level Information for Surface Navigation Product Specification

Figure C-6 – All carrier metadata for coverage type Fixed Stations (data coding format 1)

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 107

Figure C-.7 – All carrier metadata for coverage type Regular Grid (data coding format 2)

S-104 March 2023 Edition 1.1.0


108 Water Level Information for Surface Navigation Product Specification

Figure C-8 – All carrier metadata for coverage type Ungeorectified Grid (data coding format 3)

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 109

Figure C-9 – All carrier metadata for coverage type TIN (data coding format 7)

S-104 March 2023 Edition 1.1.0


110 Water Level Information for Surface Navigation Product Specification

Figure C-10 – All carrier metadata for coverage type Fixed stations (Stationwise) (data coding format 8)

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 111

ANNEX D – Feature Catalogue


D-1 Meta Feature Types
D-2 Geo Feature Types
D-2.1 Water Level
Definition: The vertical position of a water surface.
CamelCase: WaterLevel
Alias:
Super type:
Feature use type: geographic
Primitive: pointSet, coverage
Remarks: No remarks.
Attribute Bindings:

S-104 Attribute Allowable Encoding Value Type Multiplicity


Water Level Height RE 1,1
Water Level Trend 1 : Decreasing EN 1,1
2 : Increasing
3 : Steady
Water Level Time DT 0,1

S-104 March 2023 Edition 1.1.0


112 Water Level Information for Surface Navigation Product Specification

D-3 Cartographic Feature Types


D-4 Information Types
D-5 Simple Attributes
D-5.1 Water Level Height
Definition: The height of a water surface relative to a vertical datum.
CamelCase: waterLevelHeight
Alias:
Value type: real
Remarks: No remarks.
Unit of measure name: metre definition: SI metre symbol: m
Quantity specification: length
Constraints:

String Length Text Pattern Range Precision

lowerBound -99.99

(not specified) (none) upperBound 99.99 2

closure closedInterval

D-5.2 Water Level Time


Definition: The time of the water level height, expressed in Date-time format as specified by ISO 8601.
CamelCase: waterLevelTime
Alias:
Value type: dateTime
Remarks: Unit: Years, months, days, hours, minutes, seconds; Resolution: 1 second; Format:
YYYYMMDDTHHMMSSZ, where Y is year, M is month, D is day, H is hour, M is minute, and S is second;
Example: 19850412T101530Z denotes 10 hours, 15 minutes, and 30 seconds on 12 April 1985.
Constraints:

String Length Text Pattern Range Precision

(((((19)|(20))\d{2})|(21([0-4]\d)))(1[0-2]|0[1-9])(3[01]|0[1-
(not (not
(not specified) 9]|[12][0-9])T(2[0-3]|[01][0-9]):?([0-5][0-9]):?([0-5][0-
specified) specified)
9])Z)|(21500101T000000Z)

D-5.3 Water Level Trend


Definition: The tendency of water level to change in a particular direction.
CamelCase: waterLevelTrend
Alias:
Value type: enumeration
Remarks: No remarks.
Listed Values:

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 113

Code Label Definition


1 Decreasing Becoming smaller in magnitude.
2 Increasing Becoming larger in magnitude.
3 Steady Constant.

S-104 March 2023 Edition 1.1.0


114 Water Level Information for Surface Navigation Product Specification

D-6 Complex Attributes


D-7 Roles
D-8 Information Associations
D-9 Feature Associations
D-10 Feature Catalogue XML
<?xml version="1.0" encoding="utf-8"?>
<S100FC:S100_FC_FeatureCatalogue xmlns:S100FC="http://www.iho.int/S100FC/5.0"
xmlns:S100Base="http://www.iho.int/S100Base/5.0"
xmlns:S100CI="http://www.iho.int/S100CI/5.0"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:S100CD="http://www.iho.int/S100CD/5.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.iho.int/S100FC/5.0
https://schemas.s100dev.net/schemas/S100/5.0.0/S100FC/20220610/S100FC.xsd">
<S100FC:name>S-104</S100FC:name>
<S100FC:scope>Water level data are intended to be used as stand-alone data or as a
layer in an ENC.</S100FC:scope>
<S100FC:fieldOfApplication>Marine navigation</S100FC:fieldOfApplication>
<S100FC:versionNumber>1.1.0</S100FC:versionNumber>
<S100FC:versionDate>2022-08-18</S100FC:versionDate>
<S100FC:productId>S-104</S100FC:productId>
<S100FC:producer>
<S100CI:role>owner</S100CI:role>
<S100CI:party>
<S100CI:CI_Organisation>
<S100CI:name>International Hydrographic Organization</S100CI:name>
<S100CI:contactInfo>
<S100CI:phone>
<S100CI:number>+377 93 10 81 00</S100CI:number>
<S100CI:numberType>voice</S100CI:numberType>
</S100CI:phone>
<S100CI:address>
<S100CI:administrativeArea>4b quai Antoine 1er</S100CI:administrativeArea>
<S100CI:postalCode>B.P.445</S100CI:postalCode>
<S100CI:country>MONACO</S100CI:country>
<S100CI:electronicMailAddress>[email protected]</S100CI:electronicMailAddress>
</S100CI:address>
<S100CI:hoursOfService>24h</S100CI:hoursOfService>
</S100CI:contactInfo>
</S100CI:CI_Organisation>
</S100CI:party>
</S100FC:producer>
<S100FC:classification>unclassified</S100FC:classification>
<S100FC:S100_FC_DefinitionSources>
<S100FC:FC_DefinitionSource id="IHOREG">
<S100FC:source>
<S100CI:title>IHO GI Registry</S100CI:title>
<S100CI:onlineResource>
<S100CI:linkage>http://registry.iho.int/beta/fdd/list.do</S100CI:linkage>
</S100CI:onlineResource>
</S100FC:source>
</S100FC:FC_DefinitionSource>

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 115

</S100FC:S100_FC_DefinitionSources>
<S100FC:S100_FC_SimpleAttributes>
<S100FC:S100_FC_SimpleAttribute>
<S100FC:name>Water Level Height</S100FC:name>
<S100FC:definition>The height of a water surface relative to a vertical
datum.</S100FC:definition>
<S100FC:code>waterLevelHeight</S100FC:code>
<S100FC:definitionReference>
<S100FC:sourceIdentifier>910</S100FC:sourceIdentifier>
<S100FC:definitionSource ref="IHOREG"/>
</S100FC:definitionReference>
<S100FC:valueType>real</S100FC:valueType>
<S100FC:uom>
<S100Base:name>metre</S100Base:name>
<S100Base:definition>SI metre</S100Base:definition>
<S100Base:symbol>m</S100Base:symbol>
</S100FC:uom>
<S100FC:quantitySpecification>length</S100FC:quantitySpecification>
<S100FC:constraints>
<S100CD:range>
<S100Base:lowerBound>-99.99</S100Base:lowerBound>
<S100Base:upperBound>99.99</S100Base:upperBound>
<S100Base:closure>closedInterval</S100Base:closure>
</S100CD:range>
<S100CD:precision>2</S100CD:precision>
</S100FC:constraints>
</S100FC:S100_FC_SimpleAttribute>
<S100FC:S100_FC_SimpleAttribute>
<S100FC:name>Water Level Time</S100FC:name>
<S100FC:definition>The time of the water level height, expressed in Date-time format
as specified by ISO 8601.</S100FC:definition>
<S100FC:code>waterLevelTime</S100FC:code>
<S100FC:remarks>Unit: Years, months, days, hours, minutes, seconds; Resolution: 1
second; Format: YYYYMMDDTHHMMSSZ, where Y is year, M is month, D is day, H is hour,
M is minute, and S is second; Example: 19850412T101530Z denotes 10 hours, 15
minutes, and 30 seconds on 12 April 1985.</S100FC:remarks>
<S100FC:definitionReference>
<S100FC:sourceIdentifier>313</S100FC:sourceIdentifier>
<S100FC:definitionSource ref="IHOREG"/>
</S100FC:definitionReference>
<S100FC:valueType>dateTime</S100FC:valueType>
<!-- Date range constraints cannot be expressed in the Edition 4.0.0 FC model -->
<S100FC:constraints>
<S100CD:textPattern>(((((19)|(20))\d{2})|(21([0-4]\d)))(1[0-2]|0[1-9])(3[01]|0[1-
9]|[12][0-9])T(2[0-3]|[01][0-9]):?([0-5][0-9]):?([0-5][0-
9])Z)|(21500101T000000Z)</S100CD:textPattern>
</S100FC:constraints>
</S100FC:S100_FC_SimpleAttribute>
<S100FC:S100_FC_SimpleAttribute>
<S100FC:name>Water Level Trend</S100FC:name>
<S100FC:definition>The tendency of water level to change in a particular
direction.</S100FC:definition>
<S100FC:code>waterLevelTrend</S100FC:code>
<S100FC:definitionReference>
<S100FC:sourceIdentifier>378</S100FC:sourceIdentifier>
<S100FC:definitionSource ref="IHOREG"/>
</S100FC:definitionReference>

S-104 March 2023 Edition 1.1.0


116 Water Level Information for Surface Navigation Product Specification

<S100FC:valueType>enumeration</S100FC:valueType>
<S100FC:listedValues>
<S100FC:listedValue>
<S100FC:label>Decreasing</S100FC:label>
<S100FC:definition>Becoming smaller in magnitude.</S100FC:definition>
<S100FC:code>1</S100FC:code>
<S100FC:definitionReference>
<S100FC:sourceIdentifier>1387</S100FC:sourceIdentifier>
<S100FC:definitionSource ref="IHOREG"/>
</S100FC:definitionReference>
</S100FC:listedValue>
<S100FC:listedValue>
<S100FC:label>Increasing</S100FC:label>
<S100FC:definition>Becoming larger in magnitude.</S100FC:definition>
<S100FC:code>2</S100FC:code>
<S100FC:definitionReference>
<S100FC:sourceIdentifier>1388</S100FC:sourceIdentifier>
<S100FC:definitionSource ref="IHOREG"/>
</S100FC:definitionReference>
</S100FC:listedValue>
<S100FC:listedValue>
<S100FC:label>Steady</S100FC:label>
<S100FC:definition>Constant.</S100FC:definition>
<S100FC:code>3</S100FC:code>
<S100FC:definitionReference>
<S100FC:sourceIdentifier>1389</S100FC:sourceIdentifier>
<S100FC:definitionSource ref="IHOREG"/>
</S100FC:definitionReference>
</S100FC:listedValue>
</S100FC:listedValues>
</S100FC:S100_FC_SimpleAttribute>
</S100FC:S100_FC_SimpleAttributes>
<S100FC:S100_FC_FeatureTypes>
<S100FC:S100_FC_FeatureType isAbstract="false">
<S100FC:name>Water Level</S100FC:name>
<S100FC:definition>The vertical position of a water surface.</S100FC:definition>
<S100FC:code>WaterLevel</S100FC:code>
<S100FC:definitionReference>
<S100FC:sourceIdentifier>369</S100FC:sourceIdentifier>
<S100FC:definitionSource ref="IHOREG"/>
</S100FC:definitionReference>
<S100FC:attributeBinding sequential="false">
<S100FC:multiplicity>
<S100Base:lower>1</S100Base:lower>
<S100Base:upper xsi:nil="false" infinite="false">1</S100Base:upper>
</S100FC:multiplicity>
<S100FC:attribute ref="waterLevelHeight"/>
</S100FC:attributeBinding>
<S100FC:attributeBinding sequential="false">
<S100FC:multiplicity>
<S100Base:lower>1</S100Base:lower>
<S100Base:upper xsi:nil="false" infinite="false">1</S100Base:upper>
</S100FC:multiplicity>
<S100FC:permittedValues>
<S100FC:value>1</S100FC:value>
<S100FC:value>2</S100FC:value>
<S100FC:value>3</S100FC:value>

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 117

</S100FC:permittedValues>
<S100FC:attribute ref="waterLevelTrend"/>
</S100FC:attributeBinding>
<S100FC:attributeBinding sequential="false">
<S100FC:multiplicity>
<S100Base:lower>0</S100Base:lower>
<S100Base:upper xsi:nil="false" infinite="false">1</S100Base:upper>
</S100FC:multiplicity>
<S100FC:attribute ref="waterLevelTime"/>
</S100FC:attributeBinding>
<S100FC:featureUseType>geographic</S100FC:featureUseType>
<S100FC:permittedPrimitives>pointSet</S100FC:permittedPrimitives>
<S100FC:permittedPrimitives>coverage</S100FC:permittedPrimitives>
</S100FC:S100_FC_FeatureType>
</S100FC:S100_FC_FeatureTypes>
</S100FC:S100_FC_FeatureCatalogue>

S-104 March 2023 Edition 1.1.0


118 Water Level Information for Surface Navigation Product Specification

Page intentionally left blank

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 119

ANNEX E – Sample HDF5 Encoding


The following are examples of HDF5 water level data files for each of the five data coding formats. The
general structure of the data product is shown in Table 10-2, and the specific variables contained in the
attributes are explained in Tables 0 .11 – 0 .08. The sample HDF5 files were produced by MATLAB®
and were displayed in HDFView version 2.14.
[Reserved. Updated Figures will be provided separately or added in a later “clarification” or “revision”
release of this Product Specification.]

S-104 March 2023 Edition 1.1.0


120 Water Level Information for Surface Navigation Product Specification

Page intentionally left blank

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 121

ANNEX F – Validation (Informative)


F-1 Introduction
The following checks are intended for production systems designed to produce S-104 Water Level
Information datasets. The checks can be administered at any time during the production phase. They
can also be applied downstream in the distribution and end user systems to test the conformance of a
dataset to the format rules specified in S-100 Part 10c and the S-104 Product Specification.

F-2 Check Classification


Checks are classified as critical, error, or warning checks as described in the Table below.
Table F-1 – Classification of checks

Category Category Category Description


Code Name
C Critical An error which would make a dataset unusable in ECDIS through not
Error loading or causing an ECDIS to crash or presenting data which is
unsafe for navigation.
E Error An error which may degrade the quality of the dataset through
appearance or usability but which will not pose a significant danger
when used to support navigation.
W Warning An error which may be duplication or an inconsistency which will not
noticeably degrade the usability of a dataset in ECDIS.

F-3 Check Application

Checks do not apply to dataset terminations or cancellations, except where the check description
explicitly states it applies in case of a termination or cancellation.
The checks apply to each HDF5 file which constitutes a dataset (in the S-100 sense of “dataset” as an
entire HDF5 file).
There being no update dataset format defined in S-104, checks are not designated as applying to “base”
or “update” datasets.

F-4 Validation Steps


F-4.1 Dataset validation
Dataset validation checks the structure and content of individual HDF5 data files. The checks for each
HDF5 dataset file are divided into five phases:
Table F-2 – Phases in validation processing for HDF5 datasets

Phase Name Description


1 Validate Dataset Validation of root group of HDF5 file and feature type information.
Root and Feature
Information
2 Validate Feature Validation of metadata and structure for each feature type (“Feature
Container Groups Container”). In S-104 there is only one feature container, so this set of
checks is executed only once. If future Editions introduce multiple
feature container HDF5 groups, this set must be executed for each
feature container HDF5 group.

S-104 March 2023 Edition 1.1.0


122 Water Level Information for Surface Navigation Product Specification

Phase Name Description


3 Validate Feature Validation of feature instances. This set of checks, along with Phase 4
Instance Groups and 5 checks, must be executed once for each feature instance group
contained within a feature container.
4 Validate Position Validation of positioning data. This set of checks is executed if and
Information only if the data coding format requires the presence of explicit position
arrays.
5 Validate Values Validation of values data. This set of checks is executed for each
Datasets values group in a feature instance group.

Figure F-1 below depicts the sequence of processing. Certain check failures in Phases 1-3 prevent
progress to later phases (because information needed to test conditions is not available). If one of these
checks fails, processing of other checks in the current phase is allowed to proceed, but subsequent
phases cannot be executed due to a lack of necessary information.

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 123

Figure F-1 – Phases of dataset validation processing

F-4.2 Exchange Set validation (informative)


Exchange Set validation involves the following phases.

S-104 March 2023 Edition 1.1.0


124 Water Level Information for Surface Navigation Product Specification

1) Checking the presence and correctness of the Exchange Catalogue (CATALOG.XML).


2) Verification of signatures, including the Exchange Catalogue signature and signatures for
individual datasets, catalogues, and support files.
3) Checking the structure and contents of the Exchange Set package, including whether there is a
discovery block for each file in the Exchange Set.
4) Checking that the metadata encoded in a discovery block and the headers and embedded
metadata in the corresponding dataset or Catalogue are compatible.
Generalised checks for Exchange Set validation are being developed by the S-100WG and will be
introduced into S-104 when ready.
F-4.3 System validation (informative)
System validation consists of verifying the suitability of the Exchange Set and dataset for its intended
use and its compatibility with other data products with which it will be used. For example, an S-104
dataset intended for use on an ECDIS should:
 Conform to the applicable user experience requirements for coverage data specified in S-98
Annex C (User Experience);
 Use the same datum as the underlying ENC(s), in order to be usable for water level adjustment
calculations.
The requirements for system validation are under development at this time and will be described later,
possibly in a separate Specification.

F-5 Check Description Format


F-5.1 Specification of validation checks
Individual checks are defined in the format described in Table F-3.
Table F-3 – Check specification format

Column Description
Data Quality Quality measure or theme from S-97 Part C.
Measure or Theme If two measures are included in this column, the Comments column explains
how the error should be classified.
Check ID Identifier for check.
Short Name Short name for the check.
Prerequisite Checks which must succeed (check condition evaluates to FALSE) before this
check(s) check can be executed.
Context test (IF ...) Combination of test conditions and initialization statements.
or initialization Test conditions check for the existence of an HDF5 attribute, group, or other
(SET ...) element (for example, an HDF5 array), or test the value of a metadata
attribute.
Initialization statements set the value of parameters used in the specific test in
that row.
The scope of the test condition or initialization is limited to the check
described in that row.
Check condition Specification of check condition, written in structured English.
description The conditions are written so that if the condition evaluates to TRUE it
indicates an error or other issue exists in the dataset.
Check message Message to emit if dataset fails the check condition (condition evaluates to
TRUE).
Check solution Solution to be applied to correct the failure.

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 125

Column Description
Classification Whether check failure is a Critical, Error, or Warning issue. See Table F-1.
Post-condition Action to be executed if the check condition evaluates to TRUE (that is, if the
check fails).
This action will generally either set a global flag to control check processing
(for example, “SET TERMINATE=TRUE”) or set a variable in the processing
context which is used in later checks (for example, set a context variable to
store the value of the metadata attribute dataCodingFormat).
S-100 reference Reference to place in S-100 where more information about the check can be
found, for example lists of allowed values for enumerations. All S-100
references for checks conforming to this Edition of S-104 are to S-100 Edition
5.0.0.
S-104 reference Reference to place in S-104 where more information about the check can be
found, for example allowed values for attributes of enumeration types.
Comments Explanatory remarks or additional notes.

F-5.2 Phase initialization


Certain parameters need to be initialized before processing of the phase begins. The required
initialization statements are indicated in a sub-head row at the beginning of each phase.
F-5.3 List of checks
The individual checks are given in a spreadsheet file accompanying this Product Specification. The
checks are a part of this Product Specification. Two sheets are included, for dataset checks and
Exchange Set checks respectively.
Words in angle brackets <> indicate the content is a parameter which must be substituted by the
appropriate value. For example, <FX> (Phase 1 in the dataset checks) should be replaced by the
appropriate feature code (“WaterLevel” for S-104).
Bold type indicates a literal name (for example Group_F.featureCode means the HDF5 array named
“featureCode” in the HDF5 group named “Group_F”).

F-6 Test Cases and Methods


F-6.1 Coverage consistency
F-6.1.1 Test case for coverage geometry

Test purpose: Verify that the coverage geometry corresponds to the conformance class.
Conformance clas: Gridded coverage, point coverage.
Test method: Check that the coverage geometry type complies with one of the coverage
types defined in the Application Schema in clause 4.2.
Test type: Basic.

F-6.1.2 Test case for extra data

Test purpose: Verify that a Gridded coverage data set is complete by testing that the grid
coverage value matrix contains height and trend, or fill values, for every
vertex point defined in the grid, and when all of the mandatory associated
metadata is provided.
Verify that a Point Coverage is complete by testing that the points
containing height and trend values are matched with a longitude-latitude
pair, and when all of the mandatory associated metadata is provided.

S-104 March 2023 Edition 1.1.0


126 Water Level Information for Surface Navigation Product Specification

Test method: Check that for each feature, all of the mandatory metadata is provided, and
that all of the vertex points have corresponding values.
Test type: Basic.

F-6.1.3 Test case for empty data

Test purpose: Verify that data is not missing.


Test method: Check that all mandatory metadata is provided, and test that all data values
for the grid or point coverage established in the metadata are provided.
Test type: Basic.

F-6.2 Logical consistency


Check that grid extent defined in the metadata is consistent with grid spacing and number of points.
Check that the number of null values in the speed grid equals the number in the direction grid. Check
that the point coverage envelope is consistent with the minimum and maximum point locations.
F-6.2.1 Conceptual consistency
The implementation of the Water Level Product is required to align with one of the two conformance
classes defined in S-100 Part 8, Appendix 8-A - Abstract Test Suite.
F-6.2.2 Domain consistency
The attributive values are validated to ensure they are within defined range.

Test purpose: Verify that attribute values are within specified ranges.
Test method: Check that the water level height attribute values are within the range -
99.99 to 99.99 metres or are the fill value and that the trend values are
consistent with the enumeration specified or are zero. This would be
validated by means of test software.
Test type: Basic.

F-6.2.3 Positional accuracy


For a gridded coverage the positional accuracy for the grid reference point and the length of the offset
vectors defining the size of each grid cell, when specified, are defined in the metadata. For a Point
Coverage the positional accuracy for the point is defined in the metadata.

Test purpose: Verify that the grid reference point and offset vector in a grid coverage, and
the points in a point coverage, are defined and in accordance with the
accuracy established for the data set by the Producer.
Test method: Verify that the positional accuracy of the defining points of the coverage is
within the accuracy established for the data set by the Producer, in particular
the Hydrographic Office, by the use of test software.
Test type: Basic.

F-6.2.4 Temporal accuracy


For a gridded coverage the temporal reference time for the data at all grid points is the same. Temporal
accuracy is not defined.

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 127

ANNEX G – Use Cases


G-1 German Water Level Data and Forecast
G-1.1 Summary

Name: German S-104 Water Level Data and Forecast.


(Courtesy: BSH - Bundesamt für Seeschifffahrt und Hydrographie).
Description: The usage of S-104 format for data delivery and the operational regular data
transfer in near real time allows several applications. The optimised water level
forecast builds the basis for safe navigation, especially in areas with strong
tides, as the inner German Bight. The S-104 data may be used for route
planning, allowing to adapt to changing water depth. Optimised water level
forecasting leads to better route monitoring as well as route planning and a
more efficient loading of ships.
Furthermore, the potential data transfer on ships helps for direct navigation of
a vessel. It will allow a more efficient usage of narrow shipping channel or
areas with high traffic density.
The main users are shipping companies and administration, pilots, and
organisations for harbour and waterway management. Further applications
are possible in fields of civil protection, protection of marine environment,
support of offshore and coastal activities, as well as coastal engineering.
Potential Actors: Navigators, Marine Pilots, Shipping Companies, Vessel Control Centres, Ship
and Harbour Managements, Port Authorities, BSH (Bundesamt für
Seeschifffahrt und Hydrographie), WSV (Wasserstraßen- und
Schifffahrtsverwaltung des Bundes).
Potential 1. Route monitoring.
Applications: 2. Route planning and forecast of safety corridor.
3. Other applications as civil protection, protection of marine environment,
support of offshore and coastal activities, as well as coastal engineering.
Data  High quality water level forecast (with adequate spatial and temporal
Requirements: resolution).
 Astronomical prediction.
 Near real time observational data.
Technical Aspects  Different kinds of water level data are stored in one file. Portrayal of real
and Post- time observation, optimised water level forecast and astronomic
Processing: prediction with the help of a WMS.
 Transformation of all kinds of data.
 Route planning with respect to forecasted water level.

G-1.2 Additional details


G-1.2.1 Types of data used to create S-104 test datasets
1. Operational Numerical Forecast Model Output
a. Hydrodynamic model forecast for Elbe Estuary / German Bight
b. 90m x 90m grid spacing / 900m x 900m grid spacing
c. Forecast interval: 48h, 15 Minutes time step
d. 1155 x 728 grid points / 1030 x 1761 grid points
e. Update: 2 times daily
2. Observation
a. Discrete observations from gauge stations

S-104 March 2023 Edition 1.1.0


128 Water Level Information for Surface Navigation Product Specification

b. Time spacing: 1 minute


c. Update: near real time
3. Astronomical prediction
a. Forecast for discrete locations
b. Long range prediction
c. Update: yearly
4. Model output statistics [MOS]
a. Statistical method for optimizing numerical model forecast
b. Available for some locations
c. Forecast up to 7 days
d. Time spacing: 15 Minutes
e. Update: every 15 Minutes
G-1.2.2 Data processing
Numerical model output and model output statistics (MOS) at several stations have been combined for
an optimised areal water level forecast. The method uses the surface shape of a hydrodynamic model
forecast and corrects it with high accurate MOS forecasts at specific locations. This leads to an overall
optimised and frequently updated water level surface forecast.
G-1.2.3 S-104 data transformation
The data described above, especially the post processed data, builds the basis for the creation of S-104
test data sets. The transformation of different formats are achieved by a tuple of tools:
1. S-104 regular grid converter
a. Input: Hydrodynamic model forecast (MOS-corrected)
b. Output: S-104 conformant HDF5 file
2. S-104 station data converter
a. Input: Observation, Astronomic Prediction, MOS-Data, Numerical Model data (MOS-corrected)
for discrete locations
b. Output: single S-104 HDF5 file
G-1.2.4 Results
Figure G-1 shows one application of S-104 datasets; a WMS to display the S-104 data for the use case
pick report. The request pops up a figure displaying the data described above. The green line represents
the observation, blue the astronomical prediction and black represents the hydrodynamic model forecast
optimised with MOS. The purple line shows the difference between prediction and hydrodynamic model
forecast.

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 129

Figure G-1 – Pick report for S-104 test data


As a practical example, S-104 datasets were produced as a suitable format to deliver different kinds of
water level data in one file. A regular data transfer via FTP has been established and the S-104 data
has been integrated in a WMS for a highly frequented region. The “pick report” portrayal has been
implemented. It has been confirmed by consensus of a user workshop that the display of water level
data as a pick report like specified in S-104 is good practice.

G-2 Depth Adjustment in ECDIS


G-2.1 Summary

Name: Depth adjustment in ECDIS.


Description: S-104 data may be used for route planning, in combination with S-101 ENC
and S-102 Bathymetric Surface data to provide navigation officers with
dynamic water depth information for the purpose of route planning. This will
allow efficient use of waterways with tidal or other dynamic variations of water
levels, saving vessels transit time and fuel costs.
The main users are commercial vessels and pilots.
Potential Actors: Navigators, Marine Pilots, Hydrographic Offices.
Potential  Route planning and assessments of safe depths.
Applications:  Safety contours according to dynamic depths instead of the static contours
currently provided by ENC data alone.
Data  High quality water level forecast (with adequate spatial and temporal
Requirements: resolution).
 Astronomical prediction.
 Near real time observational data.
 S-102 bathymetry data (with adequate spatial resolution).
 Availability of underlying ENC data.
 Vertical datums in S-102 and S-104 data should match.

S-104 March 2023 Edition 1.1.0


130 Water Level Information for Surface Navigation Product Specification

Technical Aspects  S-104 data must be provided as a continuous coverage (data coding
and Post- format 2 (regular grid), 3 (ungeorectified grid) or 7 (TIN)).
Processing:  ECDIS must implement S-98 interoperability in order to integrate S-101,
S-102, and S-104 data.
 ECDIS must have functionality to implement route planning with respect
to forecasted water levels.

G-2.2 Additional details


G-2.2.1 Types of data
S-104 data, available as forecasted data in grid format covering the projected time of the transit and the
planned route.
S-102 data, available in grid format covering the planned route.
Relevant vessel parameters (draught, squat) are available to the ECDIS.
G-2.2.2 Processing
The ECDIS is used in route planning mode and the navigator plots the planned route or imports it from
a S-421 dataset.
The navigator sets the projected start time of the transit and the route parameters such as speed over
ground, cross-track deviation, etc.
The navigator selects a time interval based on the speed of the vessel and the time record interval
between S-104 records that is encoded in the S-104 forecast data (see Table 12-3).
Adjustment zones are created by the ECDIS based on the route schedule, speed, and a buffer
(calculated either as a multiple of cross-track deviation or a user-specified value). The extent of each
adjustment zone depends on the speed and cross-track buffer.

Figure G-2 – Adjustment zones based on planned route (courtesy: Furuno Electric Company, Ltd)
The ECDIS computes an “integrated and dynamic safety contour” in the region covered by the combined
adjustment zones, computed from bathymetry data adjusted by the dynamic water levels extracted from
the S-104 record(s) corresponding to the time the vessel is transiting each adjustment zone.

S-104 March 2023 Edition 1.1.0


Water Level Information for Surface Navigation Product Specification 131

Page intentionally left blank

S-104 March 2023 Edition 1.1.0

You might also like