Lawrence Livermore National Laboratory

A Mesh and Field I/O Library and Scientific Database

Silo is a library for reading and writing a wide variety of scientific data to binary, disk files. The files Silo produces and the data within them can be easily shared and exchanged between wholly independently developed applications running on disparate computing platforms. Consequently, Silo facilitates the development of general purpose tools for processing scientific data. One of the more popular tools that process Silo data files is the VisIt visualization tool.

  • Structured Rectilinear Mesh

  • Gridless Point Mesh

  • Structured (Curvilinear) Mesh

  • Arbitrary Subsets

  • Silex browser for Silo files

  • Constructive Solid Geometry (CSG) Mesh

  • Unstructured Zoo (UCD) Mesh

  • Adaptive Mesh Refinement (AMR) Mesh

  • Mixing Materials

  • Arbitrary Polyhedral Mesh

  • XY Curve

    • Silo supports gridless (point) meshes, structured meshes, unstructured-zoo and unstructured-arbitrary-polyhedral meshes, block structured AMR meshes, constructive solid geometry (CSG) meshes, piecewise-constant (e.g., zone-centered) and piecewise-linear (e.g. node-centered) variables defined on the node, edge, face or volume elements of meshes as well as the decomposition of meshes into arbitrary subset hierarchies including materials and mixing materials. In addition, Silo supports a wide variety of other useful objects to address various scientific computing application needs. Although the Silo library is a serial library, it has some key features which enable it to be applied quite effectively and scalable in parallel.

      Architecturally, the library is divided into two main pieces; an upper-level application programming interface (API) and a lower-level I/O implementation called a driver. Silo supports multiple I/O drivers, the two most common of which are the HDF5 (Hierarchical Data Format 5) and PDB (Portable Data Base) drivers.


      The SILO team uses the LLNL majordomo list system to make announcements. To join the announcement list, send an e-mail message to with no subject line and a message body containing: subscribe silo-announce email-address. Be sure to substitute your actual e-mail address for email-address. The list is for the SILO team to make announcements to the Silo user community and is not a moderated discussion list.

      For any additional questions, contact Mark Miller.