Vertical datums are surfaces from which "orthometric" heights are measured. These heights are not strictly orthometric heights, but are approximations to them.
In the snap programs the vertical datum may be used to convert between ellipsoidal and orthometric height, and to calculate the geoid undulation and deflection of the vertical at each station. The undulation and deflection are used for calculating gravimetric observations such as levelling and zenith distance observations.
The base definition of a vertical datum is a gridded geoid definition.
Additional datums may be defined by offsets to geoid surfaces. Offsets are used to define local vertical datums used in New Zealand. These are generally based on tide gauges, but may also incorporate spatially correlated systematic errors between the local datum and the geoid surface which are represented as offset grids. Note that the offsets are defined in terms of the difference in height coordinates in terms of the surface relative to coordinates in terms of the geoid. They are in the opposite sense to the geoid height. The vertical datum is defined by subtracting the offset from the geoid.
The format of a vertical datum definitions is:
code description REF_FRAME ref_frame_code GEOID geoid_file_name
code description REF_FRAME base_vd_datum_code OFFSET offset
code description REF_FRAME base_vd_code GRID offset_grid_file_name
The components of the definition are:
code is an identifier for the vertical datum. This may contain letters, numbers, and the underscore character. It cannot contain blanks. Aliases for the code can be included using "=" to separate the codes, for example "NZVD2016=NZVD2016_20170601".
description is a quoted text description of the reference frame
ref_frame_code is the code for the geometric datum to which the geoid is referenced. This code must have been defined in an earlier [reference_frames] section of the file
base_vd_code is the code of a base vertical datum relative to which an offset is defined. This must be defined in the [vertical_datums] section of the file
geoid_file_name is the name of a grid file defining the geoid height.
offset is the offset in metres of the heights in terms of the vertical datum from those in terms of the base surface. Equivalently it is the distance of the vertical datum below the base surface
offset_grid_file_name is the name of a grid file defining the offset of heights in terms of the vertical datum to heights in terms of the base vertical datum.
An example of vertical datum definitions is:
[vertical_datums]
NZVD09 "New Zealand Vertical Datum 2009" NZGD2000 GEOID nzgeoid09
NZVD2016 "New Zealand Vertical Datum 2016" NZGD2000 GEOID nzgeoid2016
AUCKHT1946 "Auckland 1946 (NZVD2016)" NZVD2016 GRID auckht1946_nzvd2016_offset.bin
BLUFHT1955_NZVD09 "Bluff 1955 (NZVD09)" NZVD09 OFFSET 0.36