3D MPI/OpenMP PIC Periodic Field file readers
by Viktor K. Decyk
copyright 1994-2017, regents of the university of california

These codes are sample programs which illustrate how to read various
diagnostics written using simple Fortran IO by the mpbeps3 suite of PIC
codes.  It is designed for Linux but will also compile for Mac OS X.
The default compiler used is gfortran, but other compiler flags are
commented out.

No warranty for proper operation of this software is given or implied.
Software or information may be copied, distributed, and used at own
risk; it may not be distributed without this notice included verbatim
with each file.  If use of these codes results in a publication, an
acknowledgement is requested.

The makefile is setup to use gfortran with Linux.  It should also work
with MacOS X.

A Fortran program can be created called diag3 to read scalar, vector,
fluid, velocity, trajectory or phase space data.  The program diag3
calls lower level procedures called preadf3, pvreadf3, pflreadf3,
pfvreadf3, ptreadf3 and psreadf3, each of which reads one of six types
of data.  It is also possible to create executable versions of the these
low procedures directly.

To compile all these programs, execute:

make

To compile just one, execute:

make program_name

where program_name is either: diag3, preadf3, pvreadf3, pflreadf3,
pfvreadf3, ptreadf3, or psreadf3

To execute, type the name of the executable:

./program_name

The Fortran version can be compiled to run with double precision by
changing the Makefile (for gfortran, set the compiler options to:
OPTS90 = -O3 -fdefault-real-8 -fdefault-double-8).  This is necessary if
if the code which wrote the data was compiled with double precision.

There are also 6 Python scripts available.  They require a dynamic
library, libcmfield3.

To compile this libraries, execute:

make python

This currently only works in single precision.

To delete all the libraries and executables, execute:

make clobber
