Affiliate disclosure

Book titles on this page link to Amazon. As an Amazon Associate, DataField.Dev earns from qualifying purchases — at no additional cost to you.

Chapter 26 — Further Reading: Visualization Output

The chapter taught the smallest complete path from a Fortran array to a picture. These resources take each step further — the format specification you should keep open in a tab, the two big viewers, the plotting tools, and the one topic (color) where a careless default actively misleads readers.

The format specification

  • "VTK File Formats" (Kitware documentation). The authoritative description of both the legacy .vtk format and the XML formats (.vti, .vtr, .vts, .vtu, and their parallel .p* variants). Keep it open when you write a writer; the legacy structured-points and unstructured-grid sections are short and worth reading in full once. This is the primary source behind §26.1–26.2.
  • Schroeder, Martin & Lorensen, The Visualization Toolkit (Kitware). The book behind VTK. You do not need it to write files, but its early chapters explain the data model — points, cells, attributes, dataset types — which is exactly the mental model that makes "which format?" an easy question.

The viewers

  • Ayachit, The ParaView Guide (Kitware). The official ParaView manual. Read the "Loading Data" and "Animation" chapters to go beyond Apply-and-color: filters (contour, slice, warp-by-scalar, calculator), the animation/time controls, and saving a figure or movie. Free as a PDF from the ParaView site.
  • VisIt User Manual (Lawrence Livermore National Laboratory). The counterpart for VisIt. If your lab standardizes on VisIt, its "Getting Data Into VisIt" and Pseudocolor-plot sections map one-to-one onto the ParaView workflow in §26.3.

The lightweight plotting tools

  • matplotlib documentation — the imshow, pcolormesh, and contour pages, and the "Choosing Colormaps" guide. The reference for §26.5. The colormaps guide in particular explains perceptual uniformity and why viridis/inferno/magma/plasma are the safe defaults — read it once and you will never reach for jet again.
  • gnuplot official documentation (the splot, pm3d, and set palette sections). Everything behind §26.4's three-line heat map, plus contour lines, surface plots, and scriptable batch output — still an excellent, dependency-free way to plot a Fortran code's ASCII output.

Reading and writing VTK from Python

  • PyVista and meshio (Python packages). When Python owns your I/O, these read and write VTK (and much else) as first-class objects — pyvista for interactive rendering and analysis, meshio for format conversion. Use them for post-processing; keep the in-loop writing in Fortran (§26.2's argument).

The one thing people get wrong: color

  • Crameri, Shephard & Heron, "The misuse of colour in science communication," Nature Communications (2020). The clearest published case that rainbow/jet colormaps distort data and disadvantage colorblind readers, with before/after examples. Short, persuasive, and the reason §26.5 defaults to a perceptually uniform map.
  • Moreland, "Diverging Color Maps for Scientific Visualization." The origin of ParaView's default cool-to-warm diverging map; a practical account of designing a colormap that represents magnitude honestly. Read it if you ever need a diverging map (data above/below a reference, like temperature anomaly).

Where the archival formats live

  • Chapter 25 (this book) and the NetCDF / HDF5 user guides. VTK is for seeing data; NetCDF and HDF5 are for storing it at scale. For a large or long-running simulation, write the archival data with those and emit VTK (or read it into ParaView through their readers) for the frames you actually look at.

Suggested order

  1. Skim the "VTK File Formats" legacy section — you have already written one; now read the spec that governs it.
  2. Read the ParaView Guide chapters on loading data and animation, and reproduce §26.3's time series with your own solver's output.
  3. Read matplotlib's "Choosing Colormaps" guide, then redo your §26.5 figure with a deliberate colormap choice.
  4. Read Crameri et al. (2020) once — it will change your defaults permanently.
  5. Reach for PyVista/meshio only when a Python pipeline needs to read VTK back; keep writing it from Fortran.