Semantically Typed Data Cube (SDCube) is a data model, software library, and file format built on top of HDF5 and XML for storing structured numerical data produced by multi-factorial biology experiments. An SDCube consists of an HDF5 file with groups and datasets created according to the modular, hierarchical SDCube data model, as well as an accompanying XML file containing metadata such as Minimum Information annotations and a description of the experimental factors. Software developers can create standardized refinements of the data model to support specific scientific applications or protocols in much the same way that XML document structure may be standardized using XML Schema. Currently, the only such refinement is that of ImageRail, but SDCube is flexible enough to be applicable to other experimental and computational methods. To ease adoption of this format we offer the SDCube Programming Library, a high-level software interface written in Java for reading and writing SDCube files.