S-104 Product Specification 1 1 0 Final
S-104 Product Specification 1 1 0 Final
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
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.”
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).
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
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.
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.
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
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]
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
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
Purpose: The data shall be used to produce a dataset to be used for dynamic water level
applications, including an ECDIS.
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:
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:
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
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
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.
Figure 4-3 – Coverages and their realisation from S-100 Part 8 and ISO 19123
Name Remarks
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).
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.
Table 6-1 – Quality measures applicable to S-104 (from S-97 Part C, clause 7)
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 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)
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.
Table 7-1 - Types of water level data, based on the source of the data
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.
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.
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.
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.
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.
Table 8-1 – Typical update/revision intervals and related information for S-104 products produced by a
single Producer.
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.
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.
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.
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
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
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.
NOTE 2: There are no specifications for the display of a water surface from gridded data in this Product
Specification Edition.
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.
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.)
Table 10-1 – S-104 data types and values of the variable dataCodingFormat (see S-100 Edition 5.0.0, Table
10c-23)
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.
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.
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
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
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
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: 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.
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
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.
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”).
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.
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.
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.
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.
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.
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.
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.
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
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
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)
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
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
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
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
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
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 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
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
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
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
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 -
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
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
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.
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.
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).
Figure 12-5 – Carrier metadata for the S-104 HDF5 group hierarchy
Figure 12-6 – General metadata – Carrier metadata for the root group
Figure 12-7 – Feature Type metadata – Carrier metadata for the Feature Container group
Figure 12-8 – Feature Instance metadata – Carrier metadata for the Feature Instance group
Figure 12-9 – Feature Instance metadata – Carrier metadata for the Values group in each Feature Instance group
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
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
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)
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.
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
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
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.
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).
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
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.
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
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
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.
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).
Figure C-3 Spatial Types – Coverages with Realizations from S-100 Part 8 and ISO 19123
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-6 – All carrier metadata for coverage type Fixed Stations (data coding format 1)
Figure C-.7 – All carrier metadata for coverage type Regular Grid (data coding format 2)
Figure C-8 – All carrier metadata for coverage type Ungeorectified Grid (data coding format 3)
Figure C-9 – All carrier metadata for coverage type TIN (data coding format 7)
Figure C-10 – All carrier metadata for coverage type Fixed stations (Stationwise) (data coding format 8)
lowerBound -99.99
closure closedInterval
(((((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)
</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>
<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>
</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>
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.