The TecIO library is provided to allow third-party applications to read and write Tecplot file format. The library now includes an easier-to-use API for writing SZL files. The newest release of TecIO supports 64-bit indexing which allows individual zones to exceed two billion nodes! The API is also more flexible in the order it accepts data, which can help lower the amount of memory needed to write files.

Why Write SZL Binary Files from my Code?

Binary format reduces data files sizes and increases speed and efficiency when importing and analyzing results in Tecplot 360, especially compared to ASCII files.

  1. Tecplot SZL (.szplt) – The newer SZL format is optimized for large data sets and substantially improves performance while reducing the memory footprint for common workflows. TecIO reads and writes SZL files. In particular, finite-element (unstructured-grid) data is compressed in the SZL file. Finally, SZL files may be written in parallel from the MPI ranks.
  2. Tecplot PLT (.plt) – The legacy format written by earlier versions of Tecplot 360 is still supported by new versions of Tecplot 360. This is a write-only format.

Read more in our TecIO Blogs »

Where can I Get TecIO?

Dynamic libraries for TecIO are shipped with Tecplot 360. They are found in the bin folder of the Tecplot 360 installation, header (include) files are found in the include folder and example programs are found beneath the util/tecio folder. All platforms supported by Tecplot 360 are supported by the static and dynamic TecIO libraries. Try Tecplot 360 for free.

For its TecIO MPI implementation on Linux and Macintosh, Tecplot uses OpenMPI. On Windows it uses Microsoft MPI. If you need TecIO-MPI for a different flavor of MPI, download the source code (obfuscated) and build it on your target machine.

Download the TecIO Source Code

TecIO documentation and examples are in the Data Format Guide. Read the TecIO Datasheet. If you need additional assistance, please contact Technical Support by emailing or by calling 425-653-9393.


Q: What is the difference between TecIO (2013) and the newest version of TecIO?
The 2013 version of TecIO outputs the older PLT version of the Tecplot binary with a designated file extension of .plt. The latest version of TecIO will
also output Tecplot’s SZL binary format with a designated file extension of .szplt. New versions of Tecplot 360 (2014 and later) can load both the PLT and SZL file formats.

Q: What programming languages are supported by TecIO?
TecIO uses a C API, so it can easily be called from C, C++, or Fortran. The Tecio/examples folder contains both C++ and Fortran examples.

Q: Can TecIO write data in parallel?
There are two versions of TecIO: TecIO-MPI supports parallel writing of data and is used with MPI (message passing interface) applications like large-scale CFD codes. Standard TecIO uses threading to perform preliminary calculations in parallel but writes the data sequentially.

Q: What data types are supported by TecIO?
TecIO can write either single or double precision floating point numbers. The API enables output of 8-, 16- and 32-bit integer variables to SZL files. Also, support for 64-bit zone sizes allow individual zones to exceed 2 billion points.

Q: What zone types are supported by TecIO?
All zone types may be written in serial (from a single MPI rank) to PLT files. For SZL files, see the following table. “Yes (unpartitioned)” means that
the zone must be written in serial.

TecIO Supported Zone Types
Zone Type PLT SZL Partitioned SZL
I-Ordered, IJ-Ordered Yes Yes Yes (unpartitioned)
IJK-Ordered Yes Yes Yes
FE-LineSeg, FE-Triangle, FE-Quardrilateral Yes Yes Yes (unpartitioned)
FE-Tetrahedras, FE Brick Yes Yes Yes
FE-Polyhedral Yes No No

Q: What is “Partitioned” data?
The TecIO library supports partitioning finite-element zones when writing SZL data files. That is, the zone does not need to be written all at once, but can be written in sections. This capability is intended primarily for use with large-scale simulations codes (CFD, for example) that compute large solutions in parallel, with multiple solver processes running on independent nodes in a cluster, each solving a subset of the simulation. However, it can also be used by a single-process solver running on a desktop workstation if desired, for example for development purposes.

The zone partitions are written to the same SZL file and are recombined into a single zone when loaded into Tecplot 360. The user will not see the partitions or even know that the zone is partitioned.

Q: What are “Ghost Nodes” and “Ghost Cells”?
Partitioned large-scale simulations typically require that zone partitions overlap slightly. That is, the nodes or cells on each side of the boundary between partitions will reside in more than one solver process: in the one that “owns” it according to the partitioning rules, as well as in any processes solving a partition spatially adjacent to it. In processes other than the one that “owns” them, such data are commonly referred to as “ghost cells” and “ghost nodes.”

The TecIO library needs information about these overlapping cells and nodes in order to later allow the partitioned data to be joined into a single virtual data set suitable for visualization. For this reason, each solver process must pass a list of its ghost nodes and cells along with the zone data (which should include the ghost nodes and cells). Providing TecIO with this ghost node and ghost cell lists eliminates the writing of duplicate data to the SZL file.

Q: Can I have separate grid and solution files?
Yes, you may write the grid and solution data to separate files. You may also share the same grid between multiple solution time steps.