diff --git a/doc/src/Section_tools.txt b/doc/src/Section_tools.txt
index 03611c7cd..d95c4f0cd 100644
--- a/doc/src/Section_tools.txt
+++ b/doc/src/Section_tools.txt
@@ -1,497 +1,500 @@
 "Previous Section"_Section_perf.html - "LAMMPS WWW Site"_lws - "LAMMPS
 Documentation"_ld - "LAMMPS Commands"_lc - "Next
 Section"_Section_modify.html :c
 
 :link(lws,http://lammps.sandia.gov)
 :link(ld,Manual.html)
 :link(lc,Section_commands.html#comm)
 
 :line
 
 9. Additional tools :h3
 
 LAMMPS is designed to be a computational kernel for performing
 molecular dynamics computations.  Additional pre- and post-processing
 steps are often necessary to setup and analyze a simulation. A
 list of such tools can be found on the LAMMPS home page
 at "http://lammps.sandia.gov/prepost.html"_http://lammps.sandia.gov/prepost.html
 
 A few additional tools are provided with the LAMMPS distribution
 and are described in this section.
 
 Our group has also written and released a separate toolkit called
 "Pizza.py"_pizza which provides tools for doing setup, analysis,
 plotting, and visualization for LAMMPS simulations.  Pizza.py is
 written in "Python"_python and is available for download from "the
 Pizza.py WWW site"_pizza.
 
 :link(pizza,http://www.sandia.gov/~sjplimp/pizza.html)
 :link(python,http://www.python.org)
 
 Note that many users write their own setup or analysis tools or use
 other existing codes and convert their output to a LAMMPS input format
 or vice versa.  The tools listed here are included in the LAMMPS
 distribution as examples of auxiliary tools.  Some of them are not
 actively supported by Sandia, as they were contributed by LAMMPS
 users.  If you have problems using them, we can direct you to the
 authors.
 
 The source code for each of these codes is in the tools sub-directory
 of the LAMMPS distribution.  There is a Makefile (which you may need
 to edit for your platform) which will build several of the tools which
 reside in that directory.  Most of them are larger packages in their
 own sub-directories with their own Makefiles and/or README files.
 
 "amber2lmp"_#amber
 "binary2txt"_#binary
 "ch2lmp"_#charmm
 "chain"_#chain
 "colvars"_#colvars
 "createatoms"_#createatoms
 "drude"_#drude
 "eam database"_#eamdb
 "eam generate"_#eamgn
 "eff"_#eff
 "emacs"_#emacs
 "fep"_#fep
 "i-pi"_#ipi
 "ipp"_#ipp
 "kate"_#kate
 "lmp2arc"_#arc
 "lmp2cfg"_#cfg
 "matlab"_#matlab
 "micelle2d"_#micelle
 "moltemplate"_#moltemplate
 "msi2lmp"_#msi
 "phonon"_#phonon
 "polybond"_#polybond
 "pymol_asphere"_#pymol
 "python"_#pythontools
 "reax"_#reax_tool
 "smd"_#smd
 "vim"_#vim
 "xmgrace"_#xmgrace
 
 :line
 
 amber2lmp tool :h4,link(amber)
 
 The amber2lmp sub-directory contains two Python scripts for converting
 files back-and-forth between the AMBER MD code and LAMMPS.  See the
 README file in amber2lmp for more information.
 
 These tools were written by Keir Novik while he was at Queen Mary
 University of London.  Keir is no longer there and cannot support
 these tools which are out-of-date with respect to the current LAMMPS
 version (and maybe with respect to AMBER as well).  Since we don't use
 these tools at Sandia, you'll need to experiment with them and make
 necessary modifications yourself.
 
 :line
 
 binary2txt tool :h4,link(binary)
 
 The file binary2txt.cpp converts one or more binary LAMMPS dump file
 into ASCII text files.  The syntax for running the tool is
 
 binary2txt file1 file2 ... :pre
 
 which creates file1.txt, file2.txt, etc.  This tool must be compiled
 on a platform that can read the binary file created by a LAMMPS run,
 since binary files are not compatible across all platforms.
 
 :line
 
 ch2lmp tool :h4,link(charmm)
 
 The ch2lmp sub-directory contains tools for converting files
 back-and-forth between the CHARMM MD code and LAMMPS.
 
 They are intended to make it easy to use CHARMM as a builder and as a
 post-processor for LAMMPS. Using charmm2lammps.pl, you can convert a
 PDB file with associated CHARMM info, including CHARMM force field
 data, into its LAMMPS equivalent.  Using lammps2pdb.pl you can convert
 LAMMPS atom dumps into PDB files.
 
 See the README file in the ch2lmp sub-directory for more information.
 
 These tools were created by Pieter in't Veld (pjintve at sandia.gov)
 and Paul Crozier (pscrozi at sandia.gov) at Sandia.
 
 :line
 
 chain tool :h4,link(chain)
 
 The file chain.f creates a LAMMPS data file containing bead-spring
 polymer chains and/or monomer solvent atoms.  It uses a text file
 containing chain definition parameters as an input.  The created
 chains and solvent atoms can strongly overlap, so LAMMPS needs to run
 the system initially with a "soft" pair potential to un-overlap it.
 The syntax for running the tool is
 
 chain < def.chain > data.file :pre
 
 See the def.chain or def.chain.ab files in the tools directory for
 examples of definition files.  This tool was used to create the
 system for the "chain benchmark"_Section_perf.html.
 
 :line
 
 colvars tools :h4,link(colvars)
 
 The colvars directory contains a collection of tools for postprocessing
 data produced by the colvars collective variable library.
 To compile the tools, edit the makefile for your system and run "make".
 
 Please report problems and issues the colvars library and its tools
 at: https://github.com/colvars/colvars/issues
 
 abf_integrate:
 
 MC-based integration of multidimensional free energy gradient
 Version 20110511
 
 Syntax: ./abf_integrate < filename > \[-n < nsteps >\] \[-t < temp >\] \[-m \[0|1\] (metadynamics)\] \[-h < hill_height >\] \[-f < variable_hill_factor >\] :pre
 
 The LAMMPS interface to the colvars collective variable library, as
 well as these tools, were created by Axel Kohlmeyer (akohlmey at
 gmail.com) at ICTP, Italy.
 
 :line
 
 createatoms tool :h4,link(createatoms)
 
 The tools/createatoms directory contains a Fortran program called
 createAtoms.f which can generate a variety of interesting crystal
 structures and geometries and output the resulting list of atom
 coordinates in LAMMPS or other formats.
 
 See the included Manual.pdf for details.
 
 The tool is authored by Xiaowang Zhou (Sandia), xzhou at sandia.gov.
 
 :line
 
 drude tool :h4,link(drude)
 
 The tools/drude directory contains a Python script called
 polarizer.py which can add Drude oscillators to a LAMMPS
 data file in the required format.
 
 See the header of the polarizer.py file for details.
 
 The tool is authored by Agilio Padua and Alain Dequidt: agilio.padua
 at univ-bpclermont.fr, alain.dequidt at univ-bpclermont.fr
 
 :line
 
 eam database tool :h4,link(eamdb)
 
 The tools/eam_database directory contains a Fortran program that will
 generate EAM alloy setfl potential files for any combination of 16
 elements: Cu, Ag, Au, Ni, Pd, Pt, Al, Pb, Fe, Mo, Ta, W, Mg, Co, Ti,
 Zr.  The files can then be used with the "pair_style
 eam/alloy"_pair_eam.html command.
 
 The tool is authored by Xiaowang Zhou (Sandia), xzhou at sandia.gov,
 and is based on his paper:
 
 X. W. Zhou, R. A. Johnson, and H. N. G. Wadley, Phys. Rev. B, 69,
 144113 (2004).
 
 :line
 
 eam generate tool :h4,link(eamgn)
 
 The tools/eam_generate directory contains several one-file C programs
 that convert an analytic formula into a tabulated "embedded atom
 method (EAM)"_pair_eam.html setfl potential file.  The potentials they
 produce are in the potentials directory, and can be used with the
 "pair_style eam/alloy"_pair_eam.html command.
 
 The source files and potentials were provided by Gerolf Ziegenhain
 (gerolf at ziegenhain.com).
 
 :line
 
 eff tool :h4,link(eff)
 
 The tools/eff directory contains various scripts for generating
 structures and post-processing output for simulations using the
 electron force field (eFF).
 
 These tools were provided by Andres Jaramillo-Botero at CalTech
 (ajaramil at wag.caltech.edu).
 
 :line
 
 emacs tool :h4,link(emacs)
 
 The tools/emacs directory contains a Lips add-on file for Emacs that
 enables a lammps-mode for editing of input scripts when using Emacs,
 with various highlighting options setup.
 
 These tools were provided by Aidan Thompson at Sandia
 (athomps at sandia.gov).
 
 :line
 
 fep tool :h4,link(fep)
 
 The tools/fep directory contains Python scripts useful for
 post-processing results from performing free-energy perturbation
 simulations using the USER-FEP package.
 
 The scripts were contributed by Agilio Padua (Universite Blaise
 Pascal Clermont-Ferrand), agilio.padua at univ-bpclermont.fr.
 
 See README file in the tools/fep directory.
 
 :line
 
 i-pi tool :h4,link(ipi)
 
 The tools/i-pi directory contains a version of the i-PI package, with
 all the LAMMPS-unrelated files removed.  It is provided so that it can
 be used with the "fix ipi"_fix_ipi.html command to perform
 path-integral molecular dynamics (PIMD).
 
 The i-PI package was created and is maintained by Michele Ceriotti,
 michele.ceriotti at gmail.com, to interface to a variety of molecular
 dynamics codes.
 
 See the tools/i-pi/manual.pdf file for an overview of i-PI, and the
 "fix ipi"_fix_ipi.html doc page for further details on running PIMD
 calculations with LAMMPS.
 
 :line
 
 ipp tool :h4,link(ipp)
 
 The tools/ipp directory contains a Perl script ipp which can be used
 to facilitate the creation of a complicated file (say, a lammps input
 script or tools/createatoms input file) using a template file.
 
 ipp was created and is maintained by Reese Jones (Sandia), rjones at
 sandia.gov.
 
 See two examples in the tools/ipp directory.  One of them is for the
 tools/createatoms tool's input file.
 
 :line
 
 kate tool :h4,link(kate)
 
 The file in the tools/kate directory is an add-on to the Kate editor
 in the KDE suite that allow syntax highlighting of LAMMPS input
 scripts.  See the README.txt file for details.
 
 The file was provided by Alessandro Luigi Sellerio
 (alessandro.sellerio at ieni.cnr.it).
 
 :line
 
 lmp2arc tool :h4,link(arc)
 
 The lmp2arc sub-directory contains a tool for converting LAMMPS output
 files to the format for Accelrys' Insight MD code (formerly
 MSI/Biosym and its Discover MD code).  See the README file for more
 information.
 
 This tool was written by John Carpenter (Cray), Michael Peachey
 (Cray), and Steve Lustig (Dupont).  John is now at the Mayo Clinic
 (jec at mayo.edu), but still fields questions about the tool.
 
 This tool was updated for the current LAMMPS C++ version by Jeff
 Greathouse at Sandia (jagreat at sandia.gov).
 
 :line
 
 lmp2cfg tool :h4,link(cfg)
 
 The lmp2cfg sub-directory contains a tool for converting LAMMPS output
 files into a series of *.cfg files which can be read into the
 "AtomEye"_http://mt.seas.upenn.edu/Archive/Graphics/A visualizer.  See
 the README file for more information.
 
 This tool was written by Ara Kooser at Sandia (askoose at sandia.gov).
 
 :line
 
 matlab tool :h4,link(matlab)
 
 The matlab sub-directory contains several "MATLAB"_matlabhome scripts for
 post-processing LAMMPS output.  The scripts include readers for log
 and dump files, a reader for EAM potential files, and a converter that
 reads LAMMPS dump files and produces CFG files that can be visualized
 with the "AtomEye"_http://mt.seas.upenn.edu/Archive/Graphics/A
 visualizer.
 
 See the README.pdf file for more information.
 
 These scripts were written by Arun Subramaniyan at Purdue Univ
 (asubrama at purdue.edu).
 
 :link(matlabhome,http://www.mathworks.com)
 
 :line
 
 micelle2d tool :h4,link(micelle)
 
 The file micelle2d.f creates a LAMMPS data file containing short lipid
 chains in a monomer solution.  It uses a text file containing lipid
 definition parameters as an input.  The created molecules and solvent
 atoms can strongly overlap, so LAMMPS needs to run the system
 initially with a "soft" pair potential to un-overlap it.  The syntax
 for running the tool is
 
 micelle2d < def.micelle2d > data.file :pre
 
 See the def.micelle2d file in the tools directory for an example of a
 definition file.  This tool was used to create the system for the
 "micelle example"_Section_example.html.
 
 :line
 
 moltemplate tool :h4,link(moltemplate)
 
 The moltemplate sub-directory contains a Python-based tool for
 building molecular systems based on a text-file description, and
 creating LAMMPS data files that encode their molecular topology as
 lists of bonds, angles, dihedrals, etc.  See the README.TXT file for
 more information.
 
 This tool was written by Andrew Jewett (jewett.aij at gmail.com), who
 supports it.  It has its own WWW page at
 "http://moltemplate.org"_http://moltemplate.org.
 
 :line
 
 msi2lmp tool :h4,link(msi)
 
-The msi2lmp sub-directory contains a tool for creating LAMMPS input
-data files from BIOVIA's Materias Studio files (formerly Accelrys'
+The msi2lmp sub-directory contains a tool for creating LAMMPS template
+input and data files from BIOVIA's Materias Studio files (formerly Accelrys'
 Insight MD code, formerly MSI/Biosym and its Discover MD code).
 
 This tool was written by John Carpenter (Cray), Michael Peachey
 (Cray), and Steve Lustig (Dupont). Several people contributed changes
 to remove bugs and adapt its output to changes in LAMMPS.
 
-See the README file for more information.
+This tool has several known limitations and is no longer under active
+development, so there are no changes except for the occasional bugfix.
+
+See the README file in the tools/msi2lmp folder for more information.
 
 :line
 
 phonon tool :h4,link(phonon)
 
 The phonon sub-directory contains a post-processing tool useful for
 analyzing the output of the "fix phonon"_fix_phonon.html command in
 the USER-PHONON package.
 
 See the README file for instruction on building the tool and what
 library it needs.  And see the examples/USER/phonon directory
 for example problems that can be post-processed with this tool.
 
 This tool was written by Ling-Ti Kong at Shanghai Jiao Tong
 University.
 
 :line
 
 polybond tool :h4,link(polybond)
 
 The polybond sub-directory contains a Python-based tool useful for
 performing "programmable polymer bonding".  The Python file
 lmpsdata.py provides a "Lmpsdata" class with various methods which can
 be invoked by a user-written Python script to create data files with
 complex bonding topologies.
 
 See the Manual.pdf for details and example scripts.
 
 This tool was written by Zachary Kraus at Georgia Tech.
 
 :line
 
 pymol_asphere tool :h4,link(pymol)
 
 The pymol_asphere sub-directory contains a tool for converting a
 LAMMPS dump file that contains orientation info for ellipsoidal
 particles into an input file for the "PyMol visualization
 package"_pymolhome or its "open source variant"_pymolopen.
 
 :link(pymolhome,http://www.pymol.org)
 :link(pymolopen,http://sourceforge.net/scm/?type=svn&group_id=4546)
 
 Specifically, the tool triangulates the ellipsoids so they can be
 viewed as true ellipsoidal particles within PyMol.  See the README and
 examples directory within pymol_asphere for more information.
 
 This tool was written by Mike Brown at Sandia.
 
 :line
 
 python tool :h4,link(pythontools)
 
 The python sub-directory contains several Python scripts
 that perform common LAMMPS post-processing tasks, such as:
 
 extract thermodynamic info from a log file as columns of numbers
 plot two columns of thermodynamic info from a log file using GnuPlot
 sort the snapshots in a dump file by atom ID
 convert multiple "NEB"_neb.html dump files into one dump file for viz
 convert dump files into XYZ, CFG, or PDB format for viz by other packages :ul
 
 These are simple scripts built on "Pizza.py"_pizza modules.  See the
 README for more info on Pizza.py and how to use these scripts.
 
 :line
 
 reax tool :h4,link(reax_tool)
 
 The reax sub-directory contains stand-alond codes that can
 post-process the output of the "fix reax/bonds"_fix_reax_bonds.html
 command from a LAMMPS simulation using "ReaxFF"_pair_reax.html.  See
 the README.txt file for more info.
 
 These tools were written by Aidan Thompson at Sandia.
 
 :line
 
 smd tool :h4,link(smd)
 
 The smd sub-directory contains a C++ file dump2vtk_tris.cpp and
 Makefile which can be compiled and used to convert triangle output
 files created by the Smooth-Mach Dynamics (USER-SMD) package into a
 VTK-compatible unstructured grid file.  It could then be read in and
 visualized by VTK.
 
 See the header of dump2vtk.cpp for more details.
 
 This tool was written by the USER-SMD package author, Georg
 Ganzenmuller at the Fraunhofer-Institute for High-Speed Dynamics,
 Ernst Mach Institute in Germany (georg.ganzenmueller at emi.fhg.de).
 
 :line
 
 vim tool :h4,link(vim)
 
 The files in the tools/vim directory are add-ons to the VIM editor
 that allow easier editing of LAMMPS input scripts.  See the README.txt
 file for details.
 
 These files were provided by Gerolf Ziegenhain (gerolf at
 ziegenhain.com)
 
 :line
 
 xmgrace tool :h4,link(xmgrace)
 
 The files in the tools/xmgrace directory can be used to plot the
 thermodynamic data in LAMMPS log files via the xmgrace plotting
 package.  There are several tools in the directory that can be used in
 post-processing mode.  The lammpsplot.cpp file can be compiled and
 used to create plots from the current state of a running LAMMPS
 simulation.
 
 See the README file for details.
 
 These files were provided by Vikas Varshney (vv0210 at gmail.com)
 
diff --git a/tools/msi2lmp/README b/tools/msi2lmp/README
index a20f6e893..db9b1aca5 100644
--- a/tools/msi2lmp/README
+++ b/tools/msi2lmp/README
@@ -1,227 +1,240 @@
-Axel Kohlmeyer is the current maintainer of the msi2lmp tool.
-Please send any inquiries about msi2lmp to the lammps-users mailing list.
 
-06 Oct 2016 Axel Kohlmeyer <akohlmey@gmail.com>
-
-Improved whitespace handling in parsing topology and force field
-files to avoid bogus warnings about type name truncation.
-
-24 Oct 2015 Axel Kohlmeyer <akohlmey@gmail.com>
-
-Added check to make certain that force field files
-are consistent with the notation of non-bonded parameters
-that the msi2lmp code expects. For Class 1 and OPLS-AA
-the A-B notation with geometric mixing is expected and for
-Class 2 the r-eps notation with sixthpower mixing.
-
-11 Sep 2014 Axel Kohlmeyer <akohlmey@gmail.com>
-
-Refactored ReadMdfFile.c so it more consistently honors
-the MAX_NAME and MAX_STRING string length defines and 
-potentially handles inputs with long names better.
-
-27 May 2014 Axel Kohlmeyer <akohlmey@gmail.com>
-
-Added TopoTools style type hints as comments to all Mass, PairCoeff,
-BondCoeff, AngleCoeff, DihedralCoeff, ImproperCoeff entries.
-This should make it easier to identify force field entries with
-the structure and force field map in the data file later.
-
-06 Mar 2014 Axel Kohlmeyer <akohlmey@gmail.com>
-
-Fixed a bug in handling of triclinic cells, where the matrices to
-convert to and from fractional coordinates were incorrectly built.
-
-26 Oct 2013 Axel Kohlmeyer <akohlmey@gmail.com>
-
-Implemented writing out force field style hints in generated data
-files for improved consistency checking when reading those files.
-Also added writing out CGCMM style comments to identify atom types.
+ msi2lmp.exe
 
-08 Oct 2013 Axel Kohlmeyer <akohlmey@gmail.com>
+This code has several known limitations listed below under "LIMITATIONS"
+(and possibly some unknown ones, too) and is no longer under active
+development. Only the occasional bugfix is applied.
 
-Fixed a memory access violation with Class 2 force fields.
-Free all allocated memory to better detection of memory errors.
-Print out version number and data with all print levels > 0.
-Added valgrind checks to the regression tests
+Please send any inquiries about msi2lmp to the lammps-users
+mailing list and not to individual people.
 
-08 Oct 2013 Axel Kohlmeyer <akohlmey@gmail.com>
+------------------------------------------------------------------------
 
-Fixed a memory access violation with Class 2 force fields.
-Free all allocated memory to better detection of memory errors.
-Print out version number and data with all print levels > 0.
-Added valgrind checks to the regression tests
+OVERVIEW
 
-02 Aug 2013 Axel Kohlmeyer <akohlmey@gmail.com>
-
-Added rudimentary support for OPLS-AA based on
-input provided by jeff greathouse.
+This is the third version of a program that generates a LAMMPS data file
+based on the information in MSI .car (atom coordinates), .mdf (molecular
+topology) and .frc (forcefield) files.  The .car and .mdf files are
+specific to a molecular system while the .frc file is specific to a
+forcefield version.  The only coherency needed between .frc and
+.car/.mdf files are the atom types.
 
-18 Jul 2013 Axel Kohlmeyer <akohlmey@gmail.com>
-
-Added support for writing out image flags
-Improved accuracy of atom masses
-Added flag for shifting the entire system
-Fixed some minor logic bugs and prepared
-for supporting other force fields and morse style bonds.
-
-12 Jul 2013 Axel Kohlmeyer <akohlmey@gmail.com>
-
-Fixed the bug that caused improper coefficients to be wrong
-Cleaned up the handling of box parameters and center the box
-by default around the system/molecule. Added a flag to make
-this step optional and center the box around the origin instead.
-Added a regression test script with examples.
-
-1 Jul 2013 Axel Kohlmeyer <akohlmey@gmail.com>
+The first version was written by Steve Lustig at Dupont, but required
+using Discover to derive internal coordinates and forcefield parameters
 
-Cleanup and improved port to windows.
-Removed some more static string limits.
-Added print level 3 for additional output.
-Make code stop at missing force field parameters
-and added -i flag to override this.
-Safer argument checking.
-Provide short versions for all flags.
+The second version was written by Michael Peachey while an intern in the
+Cray Chemistry Applications Group managed by John Carpenter. This
+version derived internal coordinates from the mdf file and looked up
+parameters in the frc file thus eliminating the need for Discover.
 
-23 Sep 2011
+The third version was written by John Carpenter to optimize the
+performance of the program for large molecular systems (the original
+code for deriving atom numbers was quadratic in time) and to make the
+program fully dynamic. The second version used fixed dimension arrays
+for the internal coordinates.
 
-added support for triclinic boxes
-see msi2lmp/TriclinicModification.pdf doc for details
+The third version was revised in Fall 2011 by Stephanie Teich-McGoldrick
+to add support non-orthogonal cells.
 
------------------------------
+The next revision was started in Summer/Fall 2013 by Axel Kohlmeyer to
+improve portability to Windows compilers, clean up command line parsing
+and improve compatibility with the then current LAMMPS versions. This
+revision removes compatibility with the obsolete LAMMPS version written
+in Fortran 90.
 
- msi2lmp V3.6 4/10/2005
+INSTALLATION & USAGE
 
- This program uses the .car and .mdf files from MSI/Biosyms's INSIGHT
+This program uses the .car and .mdf files from MSI/Biosyms's INSIGHT
  program to produce a LAMMPS data file.
 
  1. Building msi2lmp
 
     Use the Makefile in the src directory. It is
     currently set up for gcc. You will have to modify
     it to use a different compiler.
 
  2. Testing the program
 
     There are several pairs of input test files in the format generated
     by materials studio or compatible programs (one .car and one .mdf
     file each) in the test directory. There is also a LAMMPS input to
     run a minimization for each and write out the resulting system as
     a data file. With the runtests.sh script all of those inputs are
     converted via msi2lmp, then the minimization with LAMMPS is run
     and the generated data files are compared with the corresponding
     files in the reference folder. This script assumes you are on a 
     unix/linux system and that you have compile a serial LAMMPS executable
     called lmp_serial with make serial. The tests are groups by the
     force fields they use.
 
  3. To run the program
 
     The program is started by supplying information at the command prompt
     according to the usage described below.  
 
     USAGE: msi2lmp.exe <ROOTNAME> {-print #} {-class #} {-frc FRC_FILE}
                 {-ignore} {-nocenter} {-shift # # #}
 
    -- msi2lmp.exe is the name of the executable
    -- <ROOTNAME> is the base name of the .car and .mdf files
    -- -2001
          Output lammps files for LAMMPS version 2001 (F90 version)
          Default is to write output for the C++ version of LAMMPS
 
    -- -print (or -p)
 	 # is the print level  0 - silent except for error messages
 	                       1 - minimal (default)
                                2 - verbose (usual for developing and
                                    checking new data files for consistency)
                                3 - even more verbose (additional debug info)
 
    -- -ignore (or -i)     ignore errors about missing force field parameters
                           and treat them as warnings instead.
 
    -- -nocenter (or -n)   do not recenter the simulation box around the
                           geometrical center of the provided geometry but
                           rather around the origin
 
    -- -oldstyle (or -o)   write out a data file without style hints
                           (to be compatible with older LAMMPS versions)
 
    -- -shift (or -s)      translate the entire system (box and coordinates)
                           by a vector (default: 0.0 0.0 0.0)
 
    -- -class  (or -c)
         # is the class of forcefield to use (I  or 1 = Class I e.g., CVFF)
                                             (O  or 0 = OPLS-AA)
                                             (II or 2 = Class II e.g., CFFx)
         default is -class I
 
    -- -frc    (or -f) specifies name of the forcefield file (e.g., cff91)
  
      If the file name includes a directory component (or drive letter 
      on Windows), then the name is used as is. Otherwise, the program
      looks for the forcefield file in $MSI2LMP_LIBRARY (or %MSI2LMP_LIBRARY%
      on Windows). If $MSI2LMP_LIBRARY is not set, ../frc_files is used
      (for testing). If the file name does not end in .frc, then .frc
      is appended to the name.
 
      For example,  -frc cvff (assumes cvff.frc is in $MSI2LMP_LIBRARY
                               or ../frc_files)
 
                    -frc cff/cff91 (assumes cff91.frc is in cff)
 
                    -frc /usr/local/forcefields/cff95
                        (assumes cff95.frc is in /usr/local/forcefields/)
 
      By default, the program uses $MSI2LMP_LIBRARY/cvff.frc  or
       ../frc_files/cvff.frc depending on whether MSI2LMP_LIBRARY is set.
 
   -- the LAMMPS data file is written to <ROOTNAME>.data
      protocol and error information is written to the screen.
 
-****************************************************************
-*
-* msi2lmp
-*
-* This is the third version of a program that generates a LAMMPS
-* data file based on the information in MSI .car (atom
-* coordinates), .mdf (molecular topology) and .frc (forcefield) 
-* files. The .car and .mdf files are specific to a molecular
-* system while the .frc file is specific to a forcefield version.
-* The only coherency needed between .frc and .car/.mdf files are
-* the atom types. 
-*
-* The first version was written by Steve Lustig at Dupont, but
-* required using Discover to derive internal coordinates and
-* forcefield parameters
-*
-* The second version was written by Michael Peachey while an
-* intern in the Cray Chemistry Applications Group managed
-* by John Carpenter. This version derived internal coordinates
-* from the mdf file and looked up parameters in the frc file
-* thus eliminating the need for Discover.
-*
-* The third version was written by John Carpenter to optimize
-* the performance of the program for large molecular systems
-* (the original  code for deriving atom numbers was quadratic in time)
-* and to make the program fully dynamic. The second version used
-* fixed dimension arrays for the internal coordinates.
-*
-* The current maintainer is only reluctantly doing so because John Mayo no longer
-* needs this code.
-*
-* V3.2 corresponds to adding code to MakeLists.c to gracefully deal with
-* systems that may only be molecules of 1 to 3 atoms. In V3.1, the values
-* for number_of_dihedrals, etc. could be unpredictable in these systems.
-*
-* V3.3 was generated in response to a strange error reading a MDF file generated by
-* Accelys' Materials Studio GUI. Simply rewriting the input part of ReadMdfFile.c 
-* seems to have fixed the problem.
-*
-* V3.4 and V3.5 are minor upgrades to fix bugs associated mostly with .car and .mdf files
-* written by Accelys' Materials Studio GUI.
-*
-* V3.6 outputs to LAMMPS 2005 (C++ version).
-*
-* Contact: Kelly L. Anderson, kelly.anderson@cantab.net
-* 
-* April 2005
+------------------------------------------------------------------------
+
+LIMITATIONS
+
+msi2lmp has the following known limitations:
+
+- there is no support to select morse bonds over harmonic bonds
+- there is no support for auto-equivalences to supplement fully
+  parameterized interactions with heuristic ones
+- there is no support for bond increments
+
+------------------------------------------------------------------------
+
+CHANGELOG
+
+06 Oct 2016 Axel Kohlmeyer <akohlmey@gmail.com>
+
+Improved whitespace handling in parsing topology and force field
+files to avoid bogus warnings about type name truncation.
+
+24 Oct 2015 Axel Kohlmeyer <akohlmey@gmail.com>
+
+Added check to make certain that force field files are consistent with
+the notation of non-bonded parameters that the msi2lmp code expects.
+For Class 1 and OPLS-AA the A-B notation with geometric mixing is
+expected and for Class 2 the r-eps notation with sixthpower mixing.
+
+11 Sep 2014 Axel Kohlmeyer <akohlmey@gmail.com>
+
+Refactored ReadMdfFile.c so it more consistently honors the MAX_NAME
+and MAX_STRING string length defines and potentially handles inputs
+with long names better.
+
+27 May 2014 Axel Kohlmeyer <akohlmey@gmail.com>
+
+Added TopoTools style type hints as comments to all Mass, PairCoeff,
+BondCoeff, AngleCoeff, DihedralCoeff, ImproperCoeff entries.
+This should make it easier to identify force field entries with
+the structure and force field map in the data file later.
+
+06 Mar 2014 Axel Kohlmeyer <akohlmey@gmail.com>
+
+Fixed a bug in handling of triclinic cells, where the matrices to
+convert to and from fractional coordinates were incorrectly built.
+
+26 Oct 2013 Axel Kohlmeyer <akohlmey@gmail.com>
+
+Implemented writing out force field style hints in generated data
+files for improved consistency checking when reading those files.
+Also added writing out CGCMM style comments to identify atom types.
+
+08 Oct 2013 Axel Kohlmeyer <akohlmey@gmail.com>
+
+Fixed a memory access violation with Class 2 force fields.  Free all
+allocated memory to better detection of memory errors.  Print out
+version number and data with all print levels > 0.  Added valgrind
+checks to the regression tests.
+
+02 Aug 2013 Axel Kohlmeyer <akohlmey@gmail.com>
+
+Added rudimentary support for OPLS-AA based on input provided
+by jeff greathouse.
+
+18 Jul 2013 Axel Kohlmeyer <akohlmey@gmail.com>
+
+Added support for writing out image flags.  Improved accuracy of atom
+masses.  Added flag for shifting the entire system.  Fixed some minor
+logic bugs and prepared for supporting other force fields and morse
+style bonds.
+
+12 Jul 2013 Axel Kohlmeyer <akohlmey@gmail.com>
+
+Fixed the bug that caused improper coefficients to be wrong. Cleaned up
+the handling of box parameters and center the box by default around the
+system/molecule. Added a flag to make this step optional and center the
+box around the origin instead.  Added a regression test script with
+examples.
+
+1 Jul 2013 Axel Kohlmeyer <akohlmey@gmail.com>
+
+Cleanup and improved port to windows. Removed some more static string
+limits.  Added print level 3 for additional output.  Make code stop at
+missing force field parameters and added -i flag to override this.
+Safer argument checking.  Provide short versions for all flags.
+
+23 Sep 2011
+
+added support for triclinic boxes
+
+V3.6 outputs to LAMMPS 2005 (C++ version).
+
+Contact: Kelly L. Anderson, kelly.anderson@cantab.net
+
+V3.4 and V3.5 are minor upgrades to fix bugs associated mostly with .car
+ and .mdf files written by Accelys' Materials Studio GUI.  April 2005
+
+V3.3 was generated in response to a strange error reading a MDF file
+generated by Accelys' Materials Studio GUI. Simply rewriting the input
+part of ReadMdfFile.c seems to have fixed the problem.
+
+V3.2 corresponds to adding code to MakeLists.c to gracefully deal with
+systems that may only be molecules of 1 to 3 atoms. In V3.1, the values
+for number_of_dihedrals, etc. could be unpredictable in these systems.
+
+-----------------------------
+
+ msi2lmp v3.9.8 6/10/2016
+