HTCP(5) File Formats Manual HTCP(5)

htcp — High-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 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⟩
⟨definition⟩
⟨lower-pos⟩
⟨voxel-size⟩
⟨padding⟩
⟨RVT⟩
⟨padding⟩
⟨RCT⟩
⟨padding⟩
⟨PABST⟩
⟨padding⟩
⟨T⟩
⟨padding⟩
 
⟨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 ...]

htrdr(1), les2htcp(1)

The htcp format was first developed for the htrdr(1) program.

November 17, 2023 UNIX