Perple_X 6.6.6




What is Perple_X 6.6.6?

Does 6.6.6 signify something satanic?

File naming

New, renovated, and obsolete programs


FRENDLY, renovated

MatLab Scripts, new or renovated


PyWerami, renovated

WERAMI, renovated

New output file format for WERAMI, FRENDLY and FLUIDS

New thermodynamic data file format

New and modified options

Updated documentation

Downloading Perple_X

Where did Perple_X 07 go?

What is Perple_X 6.6.6?


Perple_X 6.6.6 a major revision of Perple_X that supersedes the version known as Perple_X 07 (aka 6.5.0), which was the stable version from March 2008 to July 2011. If you want to upgrade to Perple_X 6.6.6 from a version that is older than Perple_X 07, it may be helpful to read the Perple_X 07 page, which documents the major changes introduced in that revision. Most of the changes incorporated in the 6.6.6 version have to do with internal organization and are transparent to the user. The algorithms implemented in Perple_X were not changed and therefore 6.6.6 and 07 versions should give identical results. This page documents prominent changes introduced in the 6.6.6 version relative to the last major revision of Perple_X 07.

Does 6.6.6 signify something satanic?


No, the version identifier 6.6.6 followed naturally from the versioning scheme initiated by Dave Hirsch at 6.5.0, which corresponds to Perple_X 07. By happy coincidence, 666 is also the first page of the first paper in a geological journal about Perple_X (i.e., Connolly 1990).

File naming


Perple_X 6.6.6 file names consist of a root (e.g., my_project) and a file type indicator (e.g., .dat). The change in name conventions and choices (e.g., plot files are named automatically with the root and .plt type [e.g., my_project.plt]) may cause some initial confusion, but has the advantage that all files generated for a given problem are named with a common root. Users may also include directory specifications in the root if they want Perple_X to place output in a folder (e.g., the root ./my_folder/my_project will cause Perple_X to output to a folder named my_folder in your current working directory PROVIDED you have created the folder before you run Perple_X.

New, Renovated, and Obsolete Programs


FLUIDS replaces the programs COHSRK, SPECIES, COHSCONT and SATSURF, which provided interfaces to the internal equations of state for C-O-H-N-S-NaCl fluids used by Perple_X. FLUIDS can be used to: 1) sample fluid properties and speciation at arbitrarily specified conditions (formerly the function of COSHRK); 2) to tabulate properties as a function of a single variable (e.g., bulk composition or oxygen fugacity, formerly the function of SPECIES); and 3) to tabulate properties as a function of two variables (e.g., fluid speciation as a function of pressure and temperature, formerly the function of COHSCONT). If the user opts to tabulate the properties, the resulting table can be plotted or processed with the same programs as indicated for WERAMI.


FRENDLY has been modified to use the same computational routines as WERAMI, as a result it now outputs a wider and more accurate palette of physical properties, this palette includes adiabatic moduli, seismic velocities and relevant temperature-pressure derivatives. If the user opts to tabulate the properties, the resulting table can be plotted or processed with the same programs as indicated for WERAMI. An unfortunate consequence of the renovation is that FRENDLY is marginally less friendly than it once was.


perple_x_plot replaces the collection of MatLab plotting scripts for displaying 3-d data formerly included with Perple_X. Perple_x_plot has the same functionality as PSTABLE, but makes nicer plots, offers more options, and is capable of handling missing data. perple_x_extract_o_bat is a MatLab script for extracting the coordinates of a contour of Z(X,Y) (e.g., an adiabat, isopleth, or isochore). These, and some additional MatLab scripts, are documented in the MatLab script archive.


PSTABLE replaces the PostScript plotting program PSCONTOR, in contrast to PSCONTOR, PSTABLE can plot both 1- and 2-dimensional tabulated data such as generated by WERAMI, FRENDLY or FLUIDS. Data from 2-dimensional tables is contoured, data from 1-dimensional tables is plotted as 2-d curves.


PyWERAMI is a free, fast alternative to MatLab, for plotting 3-d data.


WERAMI has been modified so that the user can extract any number of properties in a single calculation. This modification required changing the format of WERAMI output files. The new version of WERAMI outputs a common format for tabulated data from both 1- and 2-dimensional calculations. The format is indicated by the file type suffix "tab" and can be processed with PSTABLE (Perple_X), Perple_X_plot (MatLab), PyWerami (only 2-d tables), or spreadsheet programs (e.g. Excel).

Tab file format


Most output files generated by WERAMI, FRENDLY and FLUIDS are written in the form of 1- or 2-dimensional tables. These tables have the general format described at Perple_X Table Format and are indicated by the file type suffix "tab". Data in 2-dimensional tables (i.e., tables computed as a function of two independent variables) can be plotted with PSTABLE, perple_x_plot, or PyWERAMI; 1-dimensional tables can be plotted with PSTABLE or perple_x_plot. Alternatively tab files can be manipulated with spreadsheet programs such as Excel, for this purpose the spreadsheet keyword in the perplex_option file may be useful.


The change in output file format means that output from WERAMI generated with previous versions of Perple_X cannot be processed with the current version.

Thermodynamic data file format


The thermodynamic data file has a more legible format described at thermodynamic_data_files.


The change in thermodynamic data file format has the consequence that the thermodynamic data files that were read by Perple_X 07 cannot be read by the 6.6.6 version (the program rewrite_07_to_10 converts Perple_X 07 thermodynamic data files to 6.6.6 format).

Computational options


Perple_X programs read run-time options from a file with the default name perplex_option.dat (see perplex_options for more details), the list below indicates new and modified options in the 6.6.6. version



An unfortunate consequence of Perple_X's continual evolution is that most of the examples and tutorials referred to at the documentation page are out of date. The out-of-date examples and tutorials are, in most cases, useful because the basic information passed between the various programs has not changed although many of the prompts have been eliminated or reordered. The list below summarizes documentation that has been updated to be consistent with the 6.6.6 version.

A complete list of Perple_X documentation, such as it is, is at perplex_documentation.

Downloading and getting started with Perple_X


Depending on your operating system follow the instructions at:

These files provide some hints on how to run Perple_X. The most important, and almost universally ignored, hint is that you should not run Perple_X programs by clicking on the corresponding icons, rather the programs should be started by typing the program name in a terminal window (aka a shell or console).

Where did Perple_X 07 go?


Old versions of Perple_X can be copied from