200 likes | 344 Views
Overview of Supported File Formats. Brad Whitlock. Overview. This presentation describes the data file formats that are supported by VisIt , dividing them up into several categories. Very high level creation of BOV, VTK, and Silo data files is also covered. ~120 readers as of Feb 2013
E N D
Overview of Supported File Formats • Brad Whitlock
Overview This presentation describes the data file formats that are supported by VisIt, dividing them up into several categories. Very high level creation of BOV, VTK, and Silo data files is also covered. • ~120 readers as of Feb 2013 • Application Code Formats • Application Toolkit Formats • General Scientific Data Formats • Specialized Scientific Data Formats • Visualization Formats • Graphics Formats • General ASCII Data Formats • Special-Purpose Formats • Creating BOV, VTK, Silo files
Database Readers are Plugins • Develop new readers for VisIt in C++ • Python readers supported in future • Build reader against precompiled VisIt distribution • Override installed plugins with private version • Return metadata • Return VTK data sets and data arrays plugins plugins Metadata Server Local Components metadata Data network connection Compute Server vtkDataSet VisIt Viewer GUI CLI Python Clients Java Clients
Application Code Formats CASTRO • Designed primarily for and are part of some specific application code • Code that writes these files is typically part of the application itself and is not a stand-alone product of its own • These formats may use some lower level library such as HDF5, or they may use raw ASCII Examples: • ANSYS • Cale • CASTRO • CCM • DDCMD • Dyna3D • Enzo • FLASH • FVCOM • Gadget • LAMMPS • NASTRAN • Nek5000 • OVERFLOW • PATRAN • Pixie • S3D • ZeusMP FVCOM FLASH
Application Toolkit Formats SAMRAI • Similar to application code formats except they are part of a broader framework or toolkit for writing application codes • Code that writes files in these formats is not a stand-alone product on its own. Instead, it is part of the associated toolkit. Examples: • Adventure I/O • BoxLib • Chombo • ITAPS • OpenFOAM • SAMRAI • Spheral ITAPS Chombo
General Scientific Data Formats • Designed to be scientific interchange formats for a variety of applications, storing data for one or more computational science domains. • Not specific to any application code/toolkit and typically have standalone I/O libraries. Silo / Ale3d Examples: • ADIOS • CGNS • Exodus • HDF5 • H5Part • NETCDF • PDB • Silo • XDMF Common Structure NETCDF CGNS Conventions API Array Storage I/O
Specialized Scientific Data Formats • Designed for one limited type of data, often specific to a single scientific domain such as geographic or molecular data. • They often have standalone I/O libraries if they are not ASCII-based. Protein Data Bank DEM from GDAL Examples: • BOW • FITS • GDAL • MatrixMarket • ProteinDataBank • ESRI Shapefile • XYZ
Visualization Formats • Geared towards storing data for visualization tools • Fields on a mesh structure of some type • General enough to support a wide variety of domains and data types Examples: • VTK • EnSight • GMV • Plot3D • Tecplot • Vis5D • Xmdv
Graphics Formats • Designed for graphics uses such as digital content creation, computer aided design, or other graphics domains other than visualization • Used for image-based experimental or observation data • Common Graphics / Modeling Programs • Photoshop • Maya • Blender Carina Nebula Examples: • Image (PNG, JPEG, TIFF, BMP, etc.) • RAW • STL • Wavefront OBJ
General ASCII Data Formats • Allow for easy importing of simple ASCII data of various styles Examples: • Curve2D • Lines • PlainText • Point3D
Special Purpose Formats • These formats are typically accessed in conjunction with another reader or specific features in VisIt, and are not intended to be used directly. VisIt runtime libsim Examples: • SimV1 • SimV2 • ZipWrapper SimV2 reader Data Access Code Simulation
Examples The following brief examples are excerpts from programs that come with the VisIt source code distribution. Look in src/tools/DataManualExamples/CreatingCompatible Or in VisIt’s anonymous svn: http://portal.nersc.gov/svn/visit/trunk/src/tools/DataManualExamples/CreatingCompatible/
BOV • BOV can represent 3D rectilinear meshes • 1 scalar • 1 data file • 1 header file that describes data • Domain decomposition supported
VTK • Several ways of creating VTK files • VisIt provided a visit_writer library for C or Python that simplifies writing valid VTK files
Silo • Silo is scientific data storage library callable from C,C++, FORTRAN, Python • Silo supports all of the mesh types that VisIt can process • Excellent Reference Manual
Writing a Field on a Mesh • Variables exist on a mesh • Variables can be zone-centered or node-centered