How can I write a custom smoke cache? I'm working on a project where I'd really like to get voxel data loaded in cycles.  This comment  from a question I asked a while back indicates that it should be feasible by converting my voxel data to a smoke cache.

Is there a tool or api that can I can use to help create the a smoke cache from my voxel data? Or technical specification that describe the smoke cache file format such that I can write it from scratch?

Alternatively, I'm open to any other hacks or workarounds that can get my voxels into a Cycles texture!
Since 2.77 Blender can use the OpenVDB format for smoke caching, and OpenVDB has a nice API and documentation. (There is also a Python API)

It is also an industry standard, which will be better supported in Blender in the future.