HTCP(5) File Formats Manual HTCP(5)

htcpHigh-Tune: Cloud Properties

htcp is a binary file format for storing the properties of liquid water content suspended in clouds. Cloud properties are double-precision spatio-temporal floating-point values, structured in a 4D grid whose definition and origin are stored in the definition and lower-pos fields. The size of a grid cell can be irregular. In such case, the is-Z-irregular flag is set to 1 and the sizes of the cells in Z are explicitly listed in voxel-size (in meters). The size of a grid cell along the X and Y axes is constant, whereas the size along the Z axis may be irregular. In this case, the is-Z-irregular flag is set to 1 and the Z cell size is explicitly indicated in voxel-size (in meters).

For each property, the list of its data is enumerated linearly along the X, Y, Z and time dimensions, in that order. The address where its first data is stored is aligned with the value defined by the pagesize field; several padding bytes can therefore be added before a property to ensure data alignment. Padding bytes are also added at the end of the file to align its overall size with the size of a page.

The stored cloud properties are as follows:

  • RVT: water vapor mixing ratio in kg of water per m^3 of dry air.
  • RCT: liquid water in suspension mixing ratio in kg of water per m^3 of dry air.
  • PABST: pressure in Pascal.
  • T: temperature in Kelvin.

Data are encoded with respect to the little endian bytes ordering, i.e. least significant bytes are stored first.

The file format is as follows:

htcp ::= pagesize⟩ ⟨is-Z-irregular
pagesize ::= uint64_t
is-Z-irregular ::= int8_t
definition ::= X⟩ ⟨Y⟩ ⟨Z⟩ ⟨time
lower-pos ::= double double double # In m
voxel-size ::= double double double ... # In m
X ::= uint32_t
Y ::= uint32_t
Z ::= uint32_t
time ::= uint32_t
RVT ::= double ...
RCT ::= double ...
PABST ::= double ...
T ::= double ...
padding ::= [int8_t ...]


September 4, 2023 UNIX