steam, a Fortran90 code which computes various physical properties of water, related to temperature, pressure and density.

Most of these routines use a standard set of SI units. The original routines were written in Fortran77. This Fortran90 version has been extensively rewritten, with some additional routines for computing quantities such as the viscosity, thermal conductivity, and the Prandtl number.


The information on this web page is distributed under the MIT license.


steam or steam_nbs is available in a Fortran77 version and a Fortran90 version.

Related Data and Programs:


steam_interact, a Fortran90 program which queries the NBS steam table package;

test_values, a Fortran90 library which stores selected test values of various functions, including certain functions approximated by the steam() library.


  1. Lester Haar, John Gallagher, George Kell,
    NBS/NRC Steam Tables: Thermodynamic and Transport Properties and Computer Programs for Vapor and Liquid States of Water in SI Units,
    Hemisphere Publishing Corporation, Washington, 1984,
    LC: TJ270.H3
  2. C A Meyer, R B McClintock, G J Silvestri, R C Spencer,
    ASME Steam Tables: Thermodynamic and Transport Properties of Steam,
    American Society of Mechanical Engineers,
    Fifth Edition, 1983, LC: TJ270.A75.

Source Code:

Last revised on 17 June 2024.