diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
index 3a7e5dace641642186364f9ddf01c3295c0d4db2..a4988611563ad8e681ae2ff39f3f7eeaad524ff6 100644
--- a/cmake/CMakeLists.txt
+++ b/cmake/CMakeLists.txt
@@ -240,8 +240,8 @@ if(ENABLE_LATTE)
     message(STATUS "LATTE not found - we will build our own")
     include(ExternalProject)
     ExternalProject_Add(latte_build
-      URL https://github.com/lanl/LATTE/archive/v1.0.1.tar.gz
-      URL_MD5 5137e28cb1a64444bd571c98c98a6eee
+      URL https://github.com/lanl/LATTE/archive/v1.1.1.tar.gz
+      URL_MD5 cb86f1d2473ce00aa61ff6a023154b03
       SOURCE_SUBDIR cmake
       CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> -DCMAKE_POSITION_INDEPENDENT_CODE=${CMAKE_POSITION_INDEPENDENT_CODE}
       )
@@ -290,7 +290,21 @@ if(ENABLE_USER-VTK)
 endif()
 
 if(ENABLE_KIM)
-  find_package(KIM REQUIRED)
+  find_package(KIM QUIET)
+  if(NOT KIM_FOUND)
+    message(STATUS "KIM not found - we will build our own")
+    include(ExternalProject)
+    ExternalProject_Add(kim_build
+      URL https://github.com/openkim/kim-api/archive/v1.9.4.tar.gz
+      URL_MD5 f4d35a1705eed46d64c7c0ab448ff3e0
+      BUILD_IN_SOURCE 1
+      CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR>
+      )
+    ExternalProject_get_property(kim_build INSTALL_DIR)
+    set(KIM_INCLUDE_DIRS ${INSTALL_DIR}/include/kim-api-v1)
+    set(KIM_LIBRARIES ${INSTALL_DIR}/lib/libkim-api-v1.so)
+    list(APPEND LAMMPS_DEPS kim_build)
+  endif()
   list(APPEND LAMMPS_LINK_LIBS ${KIM_LIBRARIES})
   include_directories(${KIM_INCLUDE_DIRS})
 endif()
diff --git a/doc/src/Developer/developer.tex b/doc/src/Developer/developer.tex
index 3ba9018fb90ccdc29a23965e86f396c240b95529..9d9a93a53d7cd83aa6518e6d7fcce6da0c7880f5 100644
--- a/doc/src/Developer/developer.tex
+++ b/doc/src/Developer/developer.tex
@@ -449,15 +449,15 @@ Writing fixes is a flexible way of extending LAMMPS.  Users can
 implement many things using fixes:
 
 \begin{itemize}
-\item changing particles attributes (positions, velocities, forces, etc.). 
+\item changing particles attributes (positions, velocities, forces, etc.).
 Example: FixFreeze.
 \item reading/writing data. Example: FixRestart.
 \item implementing boundary conditions. Example: FixWall.
-\item saving information about particles for future use (previous positions, 
+\item saving information about particles for future use (previous positions,
 for instance). Example: FixStoreState.
 \end{itemize}
 
-All fixes are derived from class Fix and must have constructor with the 
+All fixes are derived from class Fix and must have constructor with the
 signature: FixMine(class LAMMPS *, int, char **).
 
 Every fix must be registered in LAMMPS by writing the following lines
@@ -478,7 +478,7 @@ included in the file "style\_fix.h". In case if you use LAMMPS make,
 this file is generated automatically - all files starting with prefix
 fix\_ are included, so call your header the same way. Otherwise, donÕt
 forget to add your include into "style\_fix.h".
- 
+
 Let's write a simple fix which will print average velocity at the end
 of each timestep. First of all, implement a constructor:
 
@@ -487,11 +487,11 @@ of each timestep. First of all, implement a constructor:
 FixPrintVel::FixPrintVel(LAMMPS *lmp, int narg, char **arg)
 : Fix(lmp, narg, arg)
 {
-  if (narg < 4) 
+  if (narg < 4)
       error->all(FLERR,"Illegal fix print command");
- 
+
   nevery = atoi(arg[3]);
-  if (nevery <= 0) 
+  if (nevery <= 0)
       error->all(FLERR,"Illegal fix print command");
 }
   \end{verbatim}
@@ -545,7 +545,7 @@ void FixPrintVel::end_of_step()
 {
   // for add3, scale3
   using namespace MathExtra;
-  
+
   double** v = atom->v;
   int nlocal = atom->nlocal;
   double localAvgVel[4]; // 4th element for particles count
@@ -559,7 +559,7 @@ void FixPrintVel::end_of_step()
   MPI_Allreduce(localAvgVel, globalAvgVel, 4, MPI_DOUBLE, MPI_SUM, world);
   scale3(1.0 / globalAvgVel[3], globalAvgVel);
   if (comm->me == 0) {
-    printf("\%e, \%e, \%e\n", 
+    printf("\%e, \%e, \%e\n",
       globalAvgVel[0], globalAvgVel[1], globalAvgVel[2]);
   }
 }
@@ -607,14 +607,15 @@ this situation there are several methods which should be implemented:
 
 \begin{itemize}
 \item \verb|double memory_usage| - return how much memory fix uses
-\item \verb|void grow_arrays(int)| - do reallocation of the per particle arrays 
+\item \verb|void grow_arrays(int)| - do reallocation of the per particle arrays
   in your fix
-\item \verb|void copy_arrays(int i, int j)| - copy i-th per-particle information 
-  to j-th. Used when atoms sorting is performed
+\item \verb|void copy_arrays(int i, int j, int delflag)| - copy i-th per-particle
+  information to j-th. Used when atoms sorting is performed. if delflag is set
+  and atom j owns a body, move the body information to atom i.
 \item \verb|void set_arrays(int i)| - sets i-th particle related information to zero
 \end{itemize}
 
-Note, that if your class implements these methods, it must call add calls of 
+Note, that if your class implements these methods, it must call add calls of
 add\_callback and delete\_callback to constructor and destructor:
 
 \begin{center}
@@ -654,7 +655,7 @@ void FixSavePos::grow_arrays(int nmax)
     memory->grow(this->x, nmax, 3, "FixSavePos:x");
 }
 
-void FixSavePos::copy_arrays(int i, int j)
+void FixSavePos::copy_arrays(int i, int j, int delflag)
 {
     memcpy(this->x[j], this->x[i], sizeof(double) * 3);
 }
@@ -670,7 +671,7 @@ int FixSavePos::pack_exchange(int i, double *buf)
   buf[m++] = x[i][0];
   buf[m++] = x[i][1];
   buf[m++] = x[i][2];
-  
+
   return m;
 }
 
diff --git a/doc/src/Manual.txt b/doc/src/Manual.txt
index eb07bbe0a788f5637ea950a4b4d3f0db98181c32..077927ccc7ac2a62d60b988480cde725187a2736 100644
--- a/doc/src/Manual.txt
+++ b/doc/src/Manual.txt
@@ -1,7 +1,7 @@
 <!-- HTML_ONLY -->
 <HEAD>
 <TITLE>LAMMPS Users Manual</TITLE>
-<META NAME="docnumber" CONTENT="30 Mar 2018 version">
+<META NAME="docnumber" CONTENT="20 Apr 2018 version">
 <META NAME="author" CONTENT="http://lammps.sandia.gov - Sandia National Laboratories">
 <META NAME="copyright" CONTENT="Copyright (2003) Sandia Corporation. This software and manual is distributed under the GNU General Public License.">
 </HEAD>
@@ -19,7 +19,7 @@
 :line
 
 LAMMPS Documentation :c,h1
-30 Mar 2018 version :c,h2
+20 Apr 2018 version :c,h2
 
 Version info: :h3
 
diff --git a/doc/src/Section_errors.txt b/doc/src/Section_errors.txt
index 1cc72b2a9f6d3edeef43814f770e9c205b109461..2821f1ff5d046d9b6ef94d8dc4a1e3eb8cb70b58 100644
--- a/doc/src/Section_errors.txt
+++ b/doc/src/Section_errors.txt
@@ -1565,15 +1565,6 @@ This operation is not allowed. :dd
 
 This operation is not allowed. :dd
 
-{Cannot use -cuda on and -kokkos on together} :dt
-
-This is not allowed since both packages can use GPUs. :dd
-
-{Cannot use -cuda on without USER-CUDA installed} :dt
-
-The USER-CUDA package must be installed via "make yes-user-cuda"
-before LAMMPS is built. :dd
-
 {Cannot use -kokkos on without KOKKOS installed} :dt
 
 Self-explanatory. :dd
@@ -1597,11 +1588,6 @@ solver/pair style. :dd
 
 This is a current restriction of this command. :dd
 
-{Cannot use GPU package with USER-CUDA package enabled} :dt
-
-You cannot use both the GPU and USER-CUDA packages
-together.  Use one or the other. :dd
-
 {Cannot use Kokkos pair style with rRESPA inner/middle} :dt
 
 Self-explanatory. :dd
@@ -8252,12 +8238,6 @@ Self-explanatory. :dd
 The package command cannot be used afer a read_data, read_restart, or
 create_box command. :dd
 
-{Package cuda command without USER-CUDA package enabled} :dt
-
-The USER-CUDA package must be installed via "make yes-user-cuda"
-before LAMMPS is built, and the "-c on" must be used to enable the
-package. :dd
-
 {Package gpu command without GPU package installed} :dt
 
 The GPU package must be installed via "make yes-gpu" before LAMMPS is
@@ -10230,22 +10210,6 @@ it in different ways. :dd
 
 Self-explanatory. :dd
 
-{USER-CUDA mode requires CUDA variant of min style} :dt
-
-CUDA mode is enabled, so the min style must include a cuda suffix. :dd
-
-{USER-CUDA mode requires CUDA variant of run style} :dt
-
-CUDA mode is enabled, so the run style must include a cuda suffix. :dd
-
-{USER-CUDA package does not yet support comm_style tiled} :dt
-
-Self-explanatory. :dd
-
-{USER-CUDA package requires a cuda enabled atom_style} :dt
-
-Self-explanatory. :dd
-
 {Unable to initialize accelerator for use} :dt
 
 There was a problem initializing an accelerator for the gpu package :dd
@@ -10494,10 +10458,6 @@ Must use remap v option with fix deform with this pair style. :dd
 
 If fix deform is used, the remap v option is required. :dd
 
-{Using suffix cuda without USER-CUDA package enabled} :dt
-
-Self-explanatory. :dd
-
 {Using suffix gpu without GPU package installed} :dt
 
 Self-explanatory. :dd
diff --git a/doc/src/Section_intro.txt b/doc/src/Section_intro.txt
index e1ca0ce62fcce3ceb514a71dcde332df478d7d71..67293b2ee3363b422cdb3f2f58bd0da9a037d9ab 100644
--- a/doc/src/Section_intro.txt
+++ b/doc/src/Section_intro.txt
@@ -526,14 +526,14 @@ and efforts.
 Axel Kohlmeyer (Temple U), akohlmey at gmail.com, SVN and Git repositories, indefatigable mail list responder, USER-CGSDK, USER-OMP, USER-COLVARS, USER-MOLFILE, USER-QMMM, USER-TALLY, and COMPRESS packages
 Roy Pollock (LLNL), Ewald and PPPM solvers
 Mike Brown (ORNL), brownw at ornl.gov, GPU and USER-INTEL package
-Greg Wagner (Sandia), gjwagne at sandia.gov, MEAM package for MEAM potential
+Greg Wagner (Sandia), gjwagne at sandia.gov, MEAM package for MEAM potential (superseded by USER-MEAMC)
 Mike Parks (Sandia), mlparks at sandia.gov, PERI package for Peridynamics
 Rudra Mukherjee (JPL), Rudranarayan.M.Mukherjee at jpl.nasa.gov, POEMS package for articulated rigid body motion
 Reese Jones (Sandia) and collaborators, rjones at sandia.gov, USER-ATC package for atom/continuum coupling
 Ilya Valuev (JIHT), valuev at physik.hu-berlin.de, USER-AWPMD package for wave-packet MD
-Christian Trott (U Tech Ilmenau), christian.trott at tu-ilmenau.de, USER-CUDA and KOKKOS packages
+Christian Trott (U Tech Ilmenau), christian.trott at tu-ilmenau.de, USER-CUDA (obsoleted by KOKKOS) and KOKKOS packages
 Andres Jaramillo-Botero (Caltech), ajaramil at wag.caltech.edu, USER-EFF package for electron force field
-Christoph Kloss (JKU), Christoph.Kloss at jku.at, USER-LIGGGHTS package for granular models and granular/fluid coupling
+Christoph Kloss (JKU), Christoph.Kloss at jku.at, LIGGGHTS fork for granular models and granular/fluid coupling
 Metin Aktulga (LBL), hmaktulga at lbl.gov, USER-REAXC package for C version of ReaxFF
 Georg Gunzenmuller (EMI), georg.ganzenmueller at emi.fhg.de, USER-SMD and USER-SPH packages
 Colin Denniston (U Western Ontario), cdennist at uwo.ca, USER-LB package :ul
diff --git a/doc/src/compute_heat_flux.txt b/doc/src/compute_heat_flux.txt
index e8adac3deb5e71a5cd3ed3c15088868b3b8768f5..39a1470201fc3f6705ee222e9719261aeae5dd4f 100644
--- a/doc/src/compute_heat_flux.txt
+++ b/doc/src/compute_heat_flux.txt
@@ -26,14 +26,16 @@ compute myFlux all heat/flux myKE myPE myStress :pre
 
 Define a computation that calculates the heat flux vector based on
 contributions from atoms in the specified group.  This can be used by
-itself to measure the heat flux into or out of a reservoir of atoms,
-or to calculate a thermal conductivity using the Green-Kubo formalism.
-
-See the "fix thermal/conductivity"_fix_thermal_conductivity.html
-command for details on how to compute thermal conductivity in an
-alternate way, via the Muller-Plathe method.  See the "fix
-heat"_fix_heat.html command for a way to control the heat added or
-subtracted to a group of atoms.
+itself to measure the heat flux through a set of atoms (e.g. a region
+between two thermostatted reservoirs held at different temperatures),
+or to calculate a thermal conductivity using the equilibrium
+Green-Kubo formalism.
+
+For other non-equilibrium ways to compute a thermal conductivity, see
+"this section"_Section_howto.html#howto_20.  These include use of the
+"fix thermal/conductivity"_fix_thermal_conductivity.html command for
+the Muller-Plathe method.  Or the "fix heat"_fix_heat.html command
+which can add or subtract heat from groups of atoms.
 
 The compute takes three arguments which are IDs of other
 "computes"_compute.html.  One calculates per-atom kinetic energy
diff --git a/doc/src/write_data.txt b/doc/src/write_data.txt
index 39e5a7f8114627a358350f4b7bb4c799fddb27cc..c76f20319c3182a2d9298d8aada887cb806878f3 100644
--- a/doc/src/write_data.txt
+++ b/doc/src/write_data.txt
@@ -16,6 +16,7 @@ file = name of data file to write out :ulb,l
 zero or more keyword/value pairs may be appended :l
 keyword = {pair} or {nocoeff} :l
   {nocoeff} = do not write out force field info
+  {nofix} = do not write out extra sections read by fixes
   {pair} value = {ii} or {ij}
     {ii} = write one line of pair coefficient info per atom type
     {ij} = write one line of pair coefficient info per IJ atom type pair :pre
@@ -83,6 +84,12 @@ be written to the data file. This can be very helpful, if one wants
 to make significant changes to the force field or if the parameters
 are read in separately anyway, e.g. from an include file.
 
+The {nofix} keyword requests that no extra sections read by fixes
+should be written to the data file (see the {fix} option of the
+"read_data"_read_data.html command for details). For example, this
+option excludes sections for user-created per-atom properties 
+from "fix property/atom"_fix_property_atom.html.
+
 The {pair} keyword lets you specify in what format the pair
 coefficient information is written into the data file.  If the value
 is specified as {ii}, then one line per atom type is written, to
@@ -120,4 +127,3 @@ setup, atom masses initialized, etc).
 [Default:]
 
 The option defaults are pair = ii.
-
diff --git a/examples/gcmc/in.gcmc.co2 b/examples/gcmc/in.gcmc.co2
index bb6916fc4847df10707f2712c10955d921878601..b5e11d212dafb99f71acfc0a6870163dc9705723 100644
--- a/examples/gcmc/in.gcmc.co2
+++ b/examples/gcmc/in.gcmc.co2
@@ -59,7 +59,9 @@ timestep        1.0
 # rigid constraints with thermostat 
 
 fix             myrigidnvt co2 rigid/nvt/small molecule temp ${temp} ${temp} 100 mol co2mol
-fix_modify	myrigidnvt dynamic/dof no
+
+# dynamically update  fix rigid/nvt/small temperature ndof
+fix_modify	myrigidnvt dynamic/dof yes
 
 # gcmc
 
@@ -82,7 +84,10 @@ variable	tacc equal f_mygcmc[2]/(f_mygcmc[1]+0.1)
 variable	iacc equal f_mygcmc[4]/(f_mygcmc[3]+0.1)
 variable	dacc equal f_mygcmc[6]/(f_mygcmc[5]+0.1)
 variable	racc equal f_mygcmc[8]/(f_mygcmc[7]+0.1)
+
+# dynamically update default temperature ndof
 compute_modify  thermo_temp dynamic/dof yes
+
 thermo_style    custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc v_nC v_nO
 thermo          1000
 
diff --git a/examples/gcmc/in.gcmc.h2o b/examples/gcmc/in.gcmc.h2o
index 2c03b1ab78cc9dad8626ef76241e2dae1ab37955..f689711c2147a621e3937948df7d7bb494135587 100644
--- a/examples/gcmc/in.gcmc.h2o
+++ b/examples/gcmc/in.gcmc.h2o
@@ -30,8 +30,6 @@ create_box      2 box                       &
                 extra/angle/per/atom 1      &
                 extra/special/per/atom 2
 
-# we can load multiple molecule templates, but don't have to use them all
-molecule        co2mol CO2.txt
 molecule        h2omol H2O.txt
 create_atoms   	0 box mol h2omol 464563 units box
                         
@@ -58,18 +56,24 @@ timestep        1.0
 
 minimize 0.0 0.0 100 1000
 reset_timestep 0
+
 # rigid constraints with thermostat 
 
-fix             mynvt all nvt temp ${temp} ${temp} 100
-fix             wshake  all shake 0.0001 50 0 b 1 a 1 mol h2omol
-# gcmc
+fix             mynvt h2o nvt temp ${temp} ${temp} 100
+fix             wshake h2o shake 0.0001 50 0 b 1 a 1 mol h2omol
 
+# important to make temperature dofs dynamic
 
+compute_modify  thermo_temp dynamic/dof yes
+compute_modify  mynvt_temp dynamic/dof yes
 
 run 1000
+reset_timestep 0
+
+# gcmc
 
 variable        tfac equal 5.0/3.0 # (3 trans + 2 rot)/(3 trans)
-fix             mygcmc all gcmc 100 100 0 0 54341 ${temp} ${mu} ${disp} mol &
+fix             mygcmc h2o gcmc 100 100 0 0 54341 ${temp} ${mu} ${disp} mol &
                 h2omol tfac_insert ${tfac} group h2o shake wshake
 
 # atom counts
@@ -87,7 +91,6 @@ variable	tacc equal f_mygcmc[2]/(f_mygcmc[1]+0.1)
 variable	iacc equal f_mygcmc[4]/(f_mygcmc[3]+0.1)
 variable	dacc equal f_mygcmc[6]/(f_mygcmc[5]+0.1)
 variable	racc equal f_mygcmc[8]/(f_mygcmc[7]+0.1)
-compute_modify  thermo_temp dynamic/dof yes
 thermo_style    custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc v_nO v_nH
 thermo          1000
 
diff --git a/examples/gcmc/log.23Oct17.gcmc.co2.g++.4 b/examples/gcmc/log.23Oct17.gcmc.co2.g++.4
deleted file mode 100644
index b344c7b0685eb0e19deb26e363e9cc43cd292f24..0000000000000000000000000000000000000000
--- a/examples/gcmc/log.23Oct17.gcmc.co2.g++.4
+++ /dev/null
@@ -1,192 +0,0 @@
-LAMMPS (23 Oct 2017)
-  using 1 OpenMP thread(s) per MPI task
-# GCMC for CO2 molecular fluid, rigid/small/nvt dynamics
-# Rigid CO2 TraPPE model
-# [Potoff and J.I. Siepmann, Vapor-liquid equilibria of
-# mixtures containing alkanes, carbon dioxide and
-# nitrogen AIChE J., 47,1676-1682 (2001)].
-
-# variables available on command line
-
-variable        mu index -8.1
-variable	disp index 0.5
-variable        temp index 338.0
-variable        lbox index 10.0
-variable        spacing index 5.0
-
-# global model settings
-
-units           real
-atom_style      full
-boundary        p p p
-pair_style      lj/cut/coul/long  14
-pair_modify     mix arithmetic tail yes
-kspace_style    ewald 0.0001
-bond_style      harmonic
-angle_style     harmonic
-
-# box, start molecules on simple cubic lattice
-
-lattice 	sc ${spacing}
-lattice 	sc 5.0
-Lattice spacing in x,y,z = 5 5 5
-region          box block 0 ${lbox} 0 ${lbox} 0 ${lbox} units box
-region          box block 0 10.0 0 ${lbox} 0 ${lbox} units box
-region          box block 0 10.0 0 10.0 0 ${lbox} units box
-region          box block 0 10.0 0 10.0 0 10.0 units box
-create_box      2 box                                       bond/types 1                                angle/types 1                               extra/bond/per/atom 2                       extra/angle/per/atom 1                      extra/special/per/atom 2
-Created orthogonal box = (0 0 0) to (10 10 10)
-  1 by 2 by 2 MPI processor grid
-molecule        co2mol CO2.txt
-Read molecule co2mol:
-  3 atoms with 2 types
-  2 bonds with 1 types
-  1 angles with 1 types
-  0 dihedrals with 0 types
-  0 impropers with 0 types
-create_atoms   	0 box mol co2mol 464563 units box
-Created 24 atoms
-  Time spent = 0.00261331 secs
-
-# rigid CO2 TraPPE model
-
-pair_coeff      1   1  0.053649   2.8
-pair_coeff      2   2  0.156973   3.05
-bond_coeff      1       0       1.16
-angle_coeff     1       0       180
-
-# masses
-
-mass 1 12.0107
-mass 2 15.9994
-
-# MD settings
-
-group           co2 type 1 2
-24 atoms in group co2
-neighbor        2.0 bin
-neigh_modify    every 1 delay 10 check yes
-velocity       	all create ${temp} 54654
-velocity       	all create 338.0 54654
-timestep        1.0
-
-# rigid constraints with thermostat
-
-fix             myrigidnvt all rigid/nvt/small molecule temp ${temp} ${temp} 100 mol co2mol
-fix             myrigidnvt all rigid/nvt/small molecule temp 338.0 ${temp} 100 mol co2mol
-fix             myrigidnvt all rigid/nvt/small molecule temp 338.0 338.0 100 mol co2mol
-8 rigid bodies with 24 atoms
-  1.16 = max distance from body owner to body atom
-fix_modify	myrigidnvt dynamic/dof no
-
-# gcmc
-
-variable        tfac equal 5.0/3.0 # (3 trans + 2 rot)/(3 trans)
-fix             mygcmc all gcmc 100 100 0 0 54341 ${temp} ${mu} ${disp} mol                 co2mol tfac_insert ${tfac} group co2 rigid myrigidnvt
-fix             mygcmc all gcmc 100 100 0 0 54341 338.0 ${mu} ${disp} mol                 co2mol tfac_insert ${tfac} group co2 rigid myrigidnvt
-fix             mygcmc all gcmc 100 100 0 0 54341 338.0 -8.1 ${disp} mol                 co2mol tfac_insert ${tfac} group co2 rigid myrigidnvt
-fix             mygcmc all gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol                 co2mol tfac_insert ${tfac} group co2 rigid myrigidnvt
-fix             mygcmc all gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol                 co2mol tfac_insert 1.66666666666667 group co2 rigid myrigidnvt
-
-# atom counts
-
-variable 	carbon atom "type==1"
-variable        oxygen atom "type==2"
-group 		carbon dynamic all var carbon
-dynamic group carbon defined
-group 	        oxygen dynamic all var oxygen
-dynamic group oxygen defined
-variable        nC equal count(carbon)
-variable        nO equal count(oxygen)
-
-# output
-
-variable	tacc equal f_mygcmc[2]/(f_mygcmc[1]+0.1)
-variable	iacc equal f_mygcmc[4]/(f_mygcmc[3]+0.1)
-variable	dacc equal f_mygcmc[6]/(f_mygcmc[5]+0.1)
-variable	racc equal f_mygcmc[8]/(f_mygcmc[7]+0.1)
-compute_modify  thermo_temp dynamic/dof yes
-thermo_style    custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc v_nC v_nO
-thermo          1000
-
-# run
-
-run             20000
-Ewald initialization ...
-WARNING: Using 12-bit tables for long-range coulomb (../kspace.cpp:321)
-  G vector (1/distance) = 0.164636
-  estimated absolute RMS force accuracy = 0.0332064
-  estimated relative force accuracy = 0.0001
-  KSpace vectors: actual max1d max3d = 16 2 62
-                  kxmax kymax kzmax  = 2 2 2
-WARNING: Fix gcmc using full_energy option (../fix_gcmc.cpp:445)
-0 atoms in group FixGCMC:gcmc_exclusion_group:mygcmc
-0 atoms in group FixGCMC:rotation_gas_atoms:mygcmc
-WARNING: Neighbor exclusions used with KSpace solver may give inconsistent Coulombic energies (../neighbor.cpp:472)
-Neighbor list info ...
-  update every 1 steps, delay 10 steps, check yes
-  max neighbors/atom: 2000, page size: 100000
-  master list distance cutoff = 16
-  ghost atom cutoff = 16
-  binsize = 8, bins = 2 2 2
-  1 neighbor lists, perpetual/occasional/extra = 1 0 0
-  (1) pair lj/cut/coul/long, perpetual
-      attributes: half, newton on
-      pair build: half/bin/newton
-      stencil: half/bin/3d/newton
-      bin: standard
-Per MPI rank memory allocation (min/avg/max) = 15.41 | 15.41 | 15.41 Mbytes
-Step Temp Press PotEng KinEng Density Atoms v_iacc v_dacc v_tacc v_racc v_nC v_nO 
-       0    386.52184    23582.465   -3.2433417    14.209828    0.5846359       24            0            0            0            0            8           16 
-WARNING: Using kspace solver on system with no charge (../kspace.cpp:289)
-    1000    335.66829   -3.7743052   -4.6268612    7.3374649   0.36539744       15   0.20601899   0.20787963            0            0            5           10 
-    2000    459.73529    238.91592  -0.42937831    5.4815343   0.21923846        9   0.30392058   0.30105616            0            0            3            6 
-    3000    255.47773   -479.67802   -36.850434    15.738299   0.95003334       39   0.22220744    0.2197582            0            0           13           26 
-    4000    182.70803   -1059.2262   -43.044833    12.163134    1.0231128       42   0.16781689   0.16716177            0            0           14           28 
-    5000    234.00907   -1821.0444    -46.04795    15.578317    1.0231128       42   0.13498091   0.13704201            0            0           14           28 
-    6000    163.42759   -774.67294   -49.686261    11.691518    1.0961923       45   0.11401677   0.11296973            0            0           15           30 
-    7000    171.64616   -355.23516   -49.323434     12.27947    1.0961923       45  0.098302308  0.098552065            0            0           15           30 
-    8000    251.29791   -905.47863   -37.841209    15.480807   0.95003334       39  0.086856972   0.08638658            0            0           13           26 
-    9000    143.69498   -849.95393   -49.073188    10.279858    1.0961923       45  0.078261061  0.077955243            0            0           15           30 
-   10000    239.35727   -1158.1879   -43.562047    15.934355    1.0231128       42  0.070789792  0.070807529            0            0           14           28 
-   11000    169.51213   -1574.7885   -51.125228    12.126803    1.0961923       45  0.065008734   0.06498871            0            0           15           30 
-   12000    181.39739    160.11631   -46.850937    12.977068    1.0961923       45  0.059648717  0.059514803            0            0           15           30 
-   13000    164.14601   -1107.7629   -50.726722    11.742914    1.0961923       45  0.055207333  0.055097701            0            0           15           30 
-   14000    287.26285    418.51463   -41.664766    19.123497    1.0231128       42  0.051346789  0.051222285            0            0           14           28 
-   15000    256.94593   -532.36615   -41.651618    17.105257    1.0231128       42  0.047870301  0.047861685            0            0           14           28 
-   16000    166.92132    151.15933   -39.957018     11.11219    1.0231128       42  0.045205599  0.045042211            0            0           14           28 
-   17000    163.22452   -1299.8119   -42.677558    10.866089    1.0231128       42  0.043122086  0.042993687            0            0           14           28 
-   18000    158.01154    475.77329   -48.803162    11.304057    1.0961923       45  0.041016683  0.040647229            0            0           15           30 
-   19000    138.49297   -1585.1508   -47.517099    9.9077098    1.0961923       45  0.038929287  0.038436764            0            0           15           30 
-   20000    173.84439   -1362.6301   -53.002743    12.436731    1.0961923       45  0.036973919  0.036523816            0            0           15           30 
-Loop time of 32.4481 on 4 procs for 20000 steps with 45 atoms
-
-Performance: 53.254 ns/day, 0.451 hours/ns, 616.369 timesteps/s
-98.4% CPU use with 4 MPI tasks x 1 OpenMP threads
-
-MPI task timing breakdown:
-Section |  min time  |  avg time  |  max time  |%varavg| %total
----------------------------------------------------------------
-Pair    | 1.1687     | 1.6702     | 2.1864     |  30.8 |  5.15
-Bond    | 0.018828   | 0.020035   | 0.020975   |   0.6 |  0.06
-Kspace  | 0.57506    | 1.0931     | 1.5898     |  37.7 |  3.37
-Neigh   | 0.068863   | 0.069524   | 0.070128   |   0.2 |  0.21
-Comm    | 2.0735     | 2.0865     | 2.0979     |   0.7 |  6.43
-Output  | 0.0025017  | 0.0025966  | 0.0027781  |   0.2 |  0.01
-Modify  | 27.335     | 27.344     | 27.363     |   0.2 | 84.27
-Other   |            | 0.1621     |            |       |  0.50
-
-Nlocal:    11.25 ave 14 max 8 min
-Histogram: 1 0 0 0 0 1 1 0 0 1
-Nghost:    2639.75 ave 2656 max 2617 min
-Histogram: 1 0 0 0 0 0 2 0 0 1
-Neighs:    4320 ave 5824 max 2201 min
-Histogram: 1 0 0 0 0 0 1 1 0 1
-
-Total # of neighbors = 17280
-Ave neighs/atom = 384
-Ave special neighs/atom = 2
-Neighbor list builds = 20394
-Dangerous builds = 0
-
-Total wall time: 0:00:32
diff --git a/examples/gcmc/log.23Oct17.gcmc.h2o.g++.4 b/examples/gcmc/log.23Oct17.gcmc.h2o.g++.4
deleted file mode 100644
index 4eeab969ddc8c578baf028394c39064f2b57aace..0000000000000000000000000000000000000000
--- a/examples/gcmc/log.23Oct17.gcmc.h2o.g++.4
+++ /dev/null
@@ -1,293 +0,0 @@
-LAMMPS (23 Oct 2017)
-  using 1 OpenMP thread(s) per MPI task
-# fix gcmc example with fix shake
-
-# variables available on command line
-
-variable        mu index -8.1
-variable	disp index 0.5
-variable        temp index 338.0
-variable        lbox index 10.0
-variable        spacing index 5.0
-
-# global model settings
-
-units           real
-atom_style      full
-boundary        p p p
-pair_style      lj/cut/coul/long  14
-pair_modify     mix arithmetic tail yes
-kspace_style    ewald 0.0001
-bond_style      harmonic
-angle_style     harmonic
-
-# box, start molecules on simple cubic lattice
-
-lattice 	sc ${spacing}
-lattice 	sc 5.0
-Lattice spacing in x,y,z = 5 5 5
-region          box block 0 ${lbox} 0 ${lbox} 0 ${lbox} units box
-region          box block 0 10.0 0 ${lbox} 0 ${lbox} units box
-region          box block 0 10.0 0 10.0 0 ${lbox} units box
-region          box block 0 10.0 0 10.0 0 10.0 units box
-create_box      2 box                                       bond/types 1                                angle/types 1                               extra/bond/per/atom 2                       extra/angle/per/atom 1                      extra/special/per/atom 2
-Created orthogonal box = (0 0 0) to (10 10 10)
-  1 by 2 by 2 MPI processor grid
-
-# we can load multiple molecule templates, but don't have to use them all
-molecule        co2mol CO2.txt
-Read molecule co2mol:
-  3 atoms with 2 types
-  2 bonds with 1 types
-  1 angles with 1 types
-  0 dihedrals with 0 types
-  0 impropers with 0 types
-molecule        h2omol H2O.txt
-Read molecule h2omol:
-  3 atoms with 2 types
-  2 bonds with 1 types
-  1 angles with 1 types
-  0 dihedrals with 0 types
-  0 impropers with 0 types
-create_atoms   	0 box mol h2omol 464563 units box
-Created 24 atoms
-  Time spent = 0.00174451 secs
-
-# rigid SPC/E water model
-
-pair_coeff      1 1 0.15535 3.166
-pair_coeff      * 2 0.0000 0.0000
-
-bond_coeff      1     1000       1.0
-angle_coeff     1      100       109.47
-
-# masses
-
-mass 1 15.9994
-mass 2 1.0
-
-# MD settings
-
-group           h2o type 1 2
-24 atoms in group h2o
-neighbor        2.0 bin
-neigh_modify    every 1 delay 1 check yes
-velocity       	all create ${temp} 54654
-velocity       	all create 338.0 54654
-timestep        1.0
-
-minimize 0.0 0.0 100 1000
-WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (../min.cpp:168)
-Ewald initialization ...
-WARNING: Using 12-bit tables for long-range coulomb (../kspace.cpp:321)
-  G vector (1/distance) = 0.170448
-  estimated absolute RMS force accuracy = 0.0332064
-  estimated relative force accuracy = 0.0001
-  KSpace vectors: actual max1d max3d = 16 2 62
-                  kxmax kymax kzmax  = 2 2 2
-Neighbor list info ...
-  update every 1 steps, delay 0 steps, check yes
-  max neighbors/atom: 2000, page size: 100000
-  master list distance cutoff = 16
-  ghost atom cutoff = 16
-  binsize = 8, bins = 2 2 2
-  1 neighbor lists, perpetual/occasional/extra = 1 0 0
-  (1) pair lj/cut/coul/long, perpetual
-      attributes: half, newton on
-      pair build: half/bin/newton
-      stencil: half/bin/3d/newton
-      bin: standard
-Per MPI rank memory allocation (min/avg/max) = 11.85 | 11.85 | 11.85 Mbytes
-Step Temp E_pair E_mol TotEng Press 
-       0          338   -4.9610706 9.2628112e-06    18.211756    730.90791 
-     100          338   -15.742442   0.14954269     7.579918   -637.49568 
-Loop time of 0.0566185 on 4 procs for 100 steps with 24 atoms
-
-98.8% CPU use with 4 MPI tasks x 1 OpenMP threads
-
-Minimization stats:
-  Stopping criterion = max iterations
-  Energy initial, next-to-last, final = 
-        -4.96106135393     -15.5388622715      -15.592899346
-  Force two-norm initial, final = 15.474 18.1478
-  Force max component initial, final = 5.80042 7.56514
-  Final line search alpha, max atom move = 0.00151131 0.0114333
-  Iterations, force evaluations = 100 328
-
-MPI task timing breakdown:
-Section |  min time  |  avg time  |  max time  |%varavg| %total
----------------------------------------------------------------
-Pair    | 0.0085177  | 0.016083   | 0.026787   |   5.3 | 28.41
-Bond    | 0.00022459 | 0.00031394 | 0.00037575 |   0.0 |  0.55
-Kspace  | 0.0049062  | 0.014122   | 0.02044    |   5.0 | 24.94
-Neigh   | 0          | 0          | 0          |   0.0 |  0.00
-Comm    | 0.018515   | 0.02086    | 0.023246   |   1.2 | 36.84
-Output  | 2.4796e-05 | 2.6047e-05 | 2.9802e-05 |   0.0 |  0.05
-Modify  | 0          | 0          | 0          |   0.0 |  0.00
-Other   |            | 0.005213   |            |       |  9.21
-
-Nlocal:    6 ave 8 max 3 min
-Histogram: 1 0 0 0 1 0 0 0 0 2
-Nghost:    1722 ave 1725 max 1720 min
-Histogram: 2 0 0 0 0 0 1 0 0 1
-Neighs:    1256.75 ave 2101 max 667 min
-Histogram: 1 0 1 0 1 0 0 0 0 1
-
-Total # of neighbors = 5027
-Ave neighs/atom = 209.458
-Ave special neighs/atom = 2
-Neighbor list builds = 0
-Dangerous builds = 0
-reset_timestep 0
-# rigid constraints with thermostat
-
-fix             mynvt all nvt temp ${temp} ${temp} 100
-fix             mynvt all nvt temp 338.0 ${temp} 100
-fix             mynvt all nvt temp 338.0 338.0 100
-fix             wshake  all shake 0.0001 50 0 b 1 a 1 mol h2omol
-  0 = # of size 2 clusters
-  0 = # of size 3 clusters
-  0 = # of size 4 clusters
-  8 = # of frozen angles
-# gcmc
-
-
-
-run 1000
-Ewald initialization ...
-WARNING: Using 12-bit tables for long-range coulomb (../kspace.cpp:321)
-  G vector (1/distance) = 0.170448
-  estimated absolute RMS force accuracy = 0.0332064
-  estimated relative force accuracy = 0.0001
-  KSpace vectors: actual max1d max3d = 16 2 62
-                  kxmax kymax kzmax  = 2 2 2
-Per MPI rank memory allocation (min/avg/max) = 11.6 | 11.6 | 11.6 Mbytes
-Step Temp E_pair E_mol TotEng Press 
-       0    518.26667   -15.742442            0    7.4303753    -613.0781 
-    1000    369.81793   -54.202686            0   -37.667331    294.98823 
-Loop time of 0.154891 on 4 procs for 1000 steps with 24 atoms
-
-Performance: 557.810 ns/day, 0.043 hours/ns, 6456.135 timesteps/s
-98.3% CPU use with 4 MPI tasks x 1 OpenMP threads
-
-MPI task timing breakdown:
-Section |  min time  |  avg time  |  max time  |%varavg| %total
----------------------------------------------------------------
-Pair    | 0.0154     | 0.028993   | 0.040525   |   5.5 | 18.72
-Bond    | 0.00016999 | 0.0001902  | 0.00023293 |   0.0 |  0.12
-Kspace  | 0.019093   | 0.028112   | 0.038976   |   4.3 | 18.15
-Neigh   | 0.0020263  | 0.0022184  | 0.002408   |   0.4 |  1.43
-Comm    | 0.04947    | 0.053627   | 0.058009   |   1.4 | 34.62
-Output  | 2.5749e-05 | 2.7537e-05 | 3.2187e-05 |   0.0 |  0.02
-Modify  | 0.035275   | 0.036815   | 0.038425   |   0.7 | 23.77
-Other   |            | 0.004909   |            |       |  3.17
-
-Nlocal:    6 ave 8 max 3 min
-Histogram: 1 0 0 0 0 0 1 0 1 1
-Nghost:    1331.5 ave 1369 max 1290 min
-Histogram: 1 0 0 0 0 2 0 0 0 1
-Neighs:    1259.75 ave 1642 max 428 min
-Histogram: 1 0 0 0 0 0 0 1 0 2
-
-Total # of neighbors = 5039
-Ave neighs/atom = 209.958
-Ave special neighs/atom = 2
-Neighbor list builds = 27
-Dangerous builds = 0
-
-variable        tfac equal 5.0/3.0 # (3 trans + 2 rot)/(3 trans)
-fix             mygcmc all gcmc 100 100 0 0 54341 ${temp} ${mu} ${disp} mol                 h2omol tfac_insert ${tfac} group h2o shake wshake
-fix             mygcmc all gcmc 100 100 0 0 54341 338.0 ${mu} ${disp} mol                 h2omol tfac_insert ${tfac} group h2o shake wshake
-fix             mygcmc all gcmc 100 100 0 0 54341 338.0 -8.1 ${disp} mol                 h2omol tfac_insert ${tfac} group h2o shake wshake
-fix             mygcmc all gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol                 h2omol tfac_insert ${tfac} group h2o shake wshake
-fix             mygcmc all gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol                 h2omol tfac_insert 1.66666666666667 group h2o shake wshake
-
-# atom counts
-
-variable 	oxygen atom "type==1"
-variable 	hydrogen atom "type==2"
-group 	        oxygen dynamic all var oxygen
-dynamic group oxygen defined
-group 		hydrogen dynamic all var hydrogen
-dynamic group hydrogen defined
-variable        nO equal count(oxygen)
-variable        nH equal count(hydrogen)
-
-# output
-
-variable	tacc equal f_mygcmc[2]/(f_mygcmc[1]+0.1)
-variable	iacc equal f_mygcmc[4]/(f_mygcmc[3]+0.1)
-variable	dacc equal f_mygcmc[6]/(f_mygcmc[5]+0.1)
-variable	racc equal f_mygcmc[8]/(f_mygcmc[7]+0.1)
-compute_modify  thermo_temp dynamic/dof yes
-thermo_style    custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc v_nO v_nH
-thermo          1000
-
-# run
-
-run             20000
-Ewald initialization ...
-WARNING: Using 12-bit tables for long-range coulomb (../kspace.cpp:321)
-  G vector (1/distance) = 0.170448
-  estimated absolute RMS force accuracy = 0.0332064
-  estimated relative force accuracy = 0.0001
-  KSpace vectors: actual max1d max3d = 16 2 62
-                  kxmax kymax kzmax  = 2 2 2
-WARNING: Fix gcmc using full_energy option (../fix_gcmc.cpp:445)
-0 atoms in group FixGCMC:gcmc_exclusion_group:mygcmc
-0 atoms in group FixGCMC:rotation_gas_atoms:mygcmc
-WARNING: Neighbor exclusions used with KSpace solver may give inconsistent Coulombic energies (../neighbor.cpp:472)
-Per MPI rank memory allocation (min/avg/max) = 11.6 | 11.6 | 11.6 Mbytes
-Step Temp Press PotEng KinEng Density Atoms v_iacc v_dacc v_tacc v_racc v_nO v_nH 
-    1000    369.81793    295.32434   -54.202686    16.535355   0.23910963       24            0            0            0            0            8           16 
-    2000    84.544466   -2810.9047   -344.81664    14.364627   0.86677242       87  0.052198354 0.0099581757            0            0           29           58 
-    3000    75.188527    -3688.256   -425.02228    14.567977   0.98632724       99  0.030546787 0.0049111089            0            0           33           66 
-    4000    75.019396   -5669.3063   -427.69454    14.535207   0.98632724       99  0.019972039 0.0033375609            0            0           33           66 
-    5000    90.415371   -2141.7596   -434.65925    17.518218   0.98632724       99  0.014909796  0.002514964            0            0           33           66 
-    6000    78.212628   -943.75125   -428.80584    15.153904   0.98632724       99   0.01181521 0.0020316119            0            0           33           66 
-    7000    71.754139   -2028.5122    -435.2139    13.902555   0.98632724       99 0.0099466198 0.0016755471            0            0           33           66 
-    8000    84.446231   -1969.1657   -428.27313    16.361681   0.98632724       99 0.0084791272 0.0014442102            0            0           33           66 
-    9000    70.952348   -2476.9812   -446.33824    14.170197    1.0162159      102 0.0077150892 0.0012556189            0            0           34           68 
-   10000    71.418543   -1875.7083    -443.7214    14.263302    1.0162159      102 0.0068355714 0.0011197957            0            0           34           68 
-   11000    86.094994   -4508.7581   -444.82687    17.194399    1.0162159      102 0.0061494515 0.0010082475            0            0           34           68 
-   12000    81.906091   -1547.8105   -442.36719    16.357815    1.0162159      102 0.0055834729 0.00091775114            0            0           34           68 
-   13000    57.221548   -4607.6222   -448.30939     11.42796    1.0162159      102 0.0051230355 0.00084046326            0            0           34           68 
-   14000    61.288344   -2518.1779   -445.70636    12.240157    1.0162159      102 0.0047276997 0.00077602396            0            0           34           68 
-   15000    85.787669   -2407.7111    -443.3834    17.133022    1.0162159      102 0.0043983485 0.00071920715            0            0           34           68 
-   16000    74.845939   -3288.3403    -445.8247    14.947802    1.0162159      102 0.0042321884 0.00080654918            0            0           34           68 
-   17000    73.835431   -1926.9566   -445.67476    14.745989    1.0162159      102 0.0039751059 0.00075470749            0            0           34           68 
-   18000    72.634985    -3997.552    -447.2351    14.506243    1.0162159      102 0.0037395847 0.00071063946            0            0           34           68 
-   19000    96.776472   -714.44132   -453.65552    19.904587    1.0461046      105 0.0036487876 0.00066993446            0            0           35           70 
-   20000    75.470786    183.16972   -464.04688    15.522521    1.0461046      105 0.0034630763 0.00063350614            0            0           35           70 
-   21000    65.658309   -773.41266   -466.27068    13.504331    1.0461046      105  0.003289113 0.00060198052            0            0           35           70 
-Loop time of 84.4085 on 4 procs for 20000 steps with 105 atoms
-
-Performance: 20.472 ns/day, 1.172 hours/ns, 236.943 timesteps/s
-98.8% CPU use with 4 MPI tasks x 1 OpenMP threads
-
-MPI task timing breakdown:
-Section |  min time  |  avg time  |  max time  |%varavg| %total
----------------------------------------------------------------
-Pair    | 6.3571     | 9.7574     | 13.984     |  90.7 | 11.56
-Bond    | 0.026374   | 0.031321   | 0.035482   |   2.1 |  0.04
-Kspace  | 0.57402    | 4.7894     | 8.1754     | 129.0 |  5.67
-Neigh   | 0.34952    | 0.34987    | 0.35021    |   0.1 |  0.41
-Comm    | 2.4028     | 2.4228     | 2.4372     |   0.9 |  2.87
-Output  | 0.0012269  | 0.0012826  | 0.0014355  |   0.2 |  0.00
-Modify  | 66.819     | 66.828     | 66.837     |   0.1 | 79.17
-Other   |            | 0.2281     |            |       |  0.27
-
-Nlocal:    26.25 ave 31 max 22 min
-Histogram: 1 0 1 0 0 0 1 0 0 1
-Nghost:    6049.25 ave 6133 max 5962 min
-Histogram: 1 0 0 0 1 0 1 0 0 1
-Neighs:    23613 ave 35083 max 14025 min
-Histogram: 1 0 0 1 1 0 0 0 0 1
-
-Total # of neighbors = 94452
-Ave neighs/atom = 899.543
-Ave special neighs/atom = 2
-Neighbor list builds = 20428
-Dangerous builds = 0
-
-Total wall time: 0:01:24
diff --git a/examples/gcmc/log.23Oct17.gcmc.co2.g++.1 b/examples/gcmc/log.30Mar18.gcmc.co2.g++.1
similarity index 52%
rename from examples/gcmc/log.23Oct17.gcmc.co2.g++.1
rename to examples/gcmc/log.30Mar18.gcmc.co2.g++.1
index e7b7c6afda0f28e4bb4b7c7dd5aaa5b86635d39d..46afe5ea2ae15af56f9fed995edd9462182f235e 100644
--- a/examples/gcmc/log.23Oct17.gcmc.co2.g++.1
+++ b/examples/gcmc/log.30Mar18.gcmc.co2.g++.1
@@ -1,4 +1,4 @@
-LAMMPS (23 Oct 2017)
+LAMMPS (30 Mar 2018)
   using 1 OpenMP thread(s) per MPI task
 # GCMC for CO2 molecular fluid, rigid/small/nvt dynamics
 # Rigid CO2 TraPPE model
@@ -39,14 +39,14 @@ Created orthogonal box = (0 0 0) to (10 10 10)
   1 by 1 by 1 MPI processor grid
 molecule        co2mol CO2.txt
 Read molecule co2mol:
-  3 atoms with 2 types
-  2 bonds with 1 types
-  1 angles with 1 types
-  0 dihedrals with 0 types
-  0 impropers with 0 types
+  3 atoms with max type 2
+  2 bonds with max type 1
+  1 angles with max type 1
+  0 dihedrals with max type 0
+  0 impropers with max type 0
 create_atoms   	0 box mol co2mol 464563 units box
 Created 24 atoms
-  Time spent = 0.00196958 secs
+  Time spent = 0.00241756 secs
 
 # rigid CO2 TraPPE model
 
@@ -72,29 +72,31 @@ timestep        1.0
 
 # rigid constraints with thermostat
 
-fix             myrigidnvt all rigid/nvt/small molecule temp ${temp} ${temp} 100 mol co2mol
-fix             myrigidnvt all rigid/nvt/small molecule temp 338.0 ${temp} 100 mol co2mol
-fix             myrigidnvt all rigid/nvt/small molecule temp 338.0 338.0 100 mol co2mol
+fix             myrigidnvt co2 rigid/nvt/small molecule temp ${temp} ${temp} 100 mol co2mol
+fix             myrigidnvt co2 rigid/nvt/small molecule temp 338.0 ${temp} 100 mol co2mol
+fix             myrigidnvt co2 rigid/nvt/small molecule temp 338.0 338.0 100 mol co2mol
 8 rigid bodies with 24 atoms
   1.16 = max distance from body owner to body atom
-fix_modify	myrigidnvt dynamic/dof no
+
+# dynamically update  fix rigid/nvt/small temperature ndof
+fix_modify	myrigidnvt dynamic/dof yes
 
 # gcmc
 
 variable        tfac equal 5.0/3.0 # (3 trans + 2 rot)/(3 trans)
-fix             mygcmc all gcmc 100 100 0 0 54341 ${temp} ${mu} ${disp} mol                 co2mol tfac_insert ${tfac} group co2 rigid myrigidnvt
-fix             mygcmc all gcmc 100 100 0 0 54341 338.0 ${mu} ${disp} mol                 co2mol tfac_insert ${tfac} group co2 rigid myrigidnvt
-fix             mygcmc all gcmc 100 100 0 0 54341 338.0 -8.1 ${disp} mol                 co2mol tfac_insert ${tfac} group co2 rigid myrigidnvt
-fix             mygcmc all gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol                 co2mol tfac_insert ${tfac} group co2 rigid myrigidnvt
-fix             mygcmc all gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol                 co2mol tfac_insert 1.66666666666667 group co2 rigid myrigidnvt
+fix             mygcmc co2 gcmc 100 100 0 0 54341 ${temp} ${mu} ${disp} mol                 co2mol tfac_insert ${tfac} group co2 rigid myrigidnvt
+fix             mygcmc co2 gcmc 100 100 0 0 54341 338.0 ${mu} ${disp} mol                 co2mol tfac_insert ${tfac} group co2 rigid myrigidnvt
+fix             mygcmc co2 gcmc 100 100 0 0 54341 338.0 -8.1 ${disp} mol                 co2mol tfac_insert ${tfac} group co2 rigid myrigidnvt
+fix             mygcmc co2 gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol                 co2mol tfac_insert ${tfac} group co2 rigid myrigidnvt
+fix             mygcmc co2 gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol                 co2mol tfac_insert 1.66666666666667 group co2 rigid myrigidnvt
 
 # atom counts
 
 variable 	carbon atom "type==1"
 variable        oxygen atom "type==2"
-group 		carbon dynamic all var carbon
+group 		carbon dynamic co2 var carbon
 dynamic group carbon defined
-group 	        oxygen dynamic all var oxygen
+group 	        oxygen dynamic co2 var oxygen
 dynamic group oxygen defined
 variable        nC equal count(carbon)
 variable        nO equal count(oxygen)
@@ -105,7 +107,10 @@ variable	tacc equal f_mygcmc[2]/(f_mygcmc[1]+0.1)
 variable	iacc equal f_mygcmc[4]/(f_mygcmc[3]+0.1)
 variable	dacc equal f_mygcmc[6]/(f_mygcmc[5]+0.1)
 variable	racc equal f_mygcmc[8]/(f_mygcmc[7]+0.1)
+
+# dynamically update default temperature ndof
 compute_modify  thermo_temp dynamic/dof yes
+
 thermo_style    custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc v_nC v_nO
 thermo          1000
 
@@ -113,13 +118,13 @@ thermo          1000
 
 run             20000
 Ewald initialization ...
-WARNING: Using 12-bit tables for long-range coulomb (../kspace.cpp:321)
+  using 12-bit tables for long-range coulomb (../kspace.cpp:321)
   G vector (1/distance) = 0.164636
   estimated absolute RMS force accuracy = 0.0332064
   estimated relative force accuracy = 0.0001
   KSpace vectors: actual max1d max3d = 16 2 62
                   kxmax kymax kzmax  = 2 2 2
-WARNING: Fix gcmc using full_energy option (../fix_gcmc.cpp:445)
+WARNING: Fix gcmc using full_energy option (../fix_gcmc.cpp:485)
 0 atoms in group FixGCMC:gcmc_exclusion_group:mygcmc
 0 atoms in group FixGCMC:rotation_gas_atoms:mygcmc
 WARNING: Neighbor exclusions used with KSpace solver may give inconsistent Coulombic energies (../neighbor.cpp:472)
@@ -138,55 +143,54 @@ Neighbor list info ...
 Per MPI rank memory allocation (min/avg/max) = 15.62 | 15.62 | 15.62 Mbytes
 Step Temp Press PotEng KinEng Density Atoms v_iacc v_dacc v_tacc v_racc v_nC v_nO 
        0    364.27579    4238.8631   -9.6809388    13.391989    0.5846359       24            0            0            0            0            8           16 
-WARNING: Using kspace solver on system with no charge (../kspace.cpp:289)
-    1000    420.43475    1722.4052   -9.6956123    15.456579    0.5846359       24   0.20879341   0.20713005            0            0            8           16 
-    2000    302.29516   -547.83641   -22.017674     14.11699   0.73079488       30    0.1742478    0.1678018            0            0           10           20 
-    3000     316.6934   -1080.2672   -8.2218891    10.069364   0.51155641       21   0.13544917   0.13720634            0            0            7           14 
-    4000    246.81618   -679.83642   -14.577244     10.29997   0.65771539       27    0.1568939   0.15860229            0            0            9           18 
-    5000    260.22849   -896.29914   -16.097593    10.859684   0.65771539       27   0.13138744   0.13547049            0            0            9           18 
-    6000    291.70796     -1521.99   -22.303136    13.622574   0.73079488       30   0.12615476   0.12717694            0            0           10           20 
-    7000    236.02638   -599.92186   -27.580831    13.367447   0.87695385       36     0.119703   0.12145398            0            0           12           24 
-    8000    321.45341    688.10577    -10.09204    11.817696    0.5846359       24   0.10917411   0.11032646            0            0            8           16 
-    9000    502.85382   -302.31056  -0.22330142   0.99927447  0.073079488        3    0.1254105   0.12905828            0            0            1            2 
-   10000    249.98239    -510.0091   -32.815145    15.399767   0.95003334       39    0.1274504   0.12875623            0            0           13           26 
-   11000    247.59424   -1129.0274   -25.320205    12.792544   0.80387436       33   0.11739076   0.11916784            0            0           11           22 
-   12000            0    -20.39554  -0.14872889           -0            0        0    0.1254933   0.12920375            0            0            0            0 
-   13000    1272.2738   -474.79484  -0.29450485    8.8489483   0.14615898        6   0.13767133   0.14112496            0            0            2            4 
-   14000    516.54246   -36.296516   -5.0012009    11.291243   0.36539744       15   0.15632744   0.15955377            0            0            5           10 
-   15000    307.09233    1951.9301   -14.820362    12.815375   0.65771539       27   0.15393544   0.15716192            0            0            9           18 
-   16000    198.31989   -559.48443   -30.459487    11.231925   0.87695385       36    0.1482565   0.15025652            0            0           12           24 
-   17000    246.99311    657.85683   -18.579206     11.53442   0.73079488       30   0.14143958   0.14375423            0            0           10           20 
-   18000    467.13468    167.03738   -1.0945268     5.569759   0.21923846        9   0.13847359   0.14098533            0            0            3            6 
-   19000    359.54027   -1413.5407   -12.156233    13.217895    0.5846359       24   0.15169146   0.15294205            0            0            8           16 
-   20000    227.79597   -1204.5652    -23.24144    10.637925   0.73079488       30   0.14917199   0.15022946            0            0           10           20 
-Loop time of 20.6928 on 1 procs for 20000 steps with 30 atoms
-
-Performance: 83.507 ns/day, 0.287 hours/ns, 966.519 timesteps/s
-99.2% CPU use with 1 MPI tasks x 1 OpenMP threads
+    1000    330.05964    -376.0111   -13.936335    13.773831   0.65771539       27   0.21142067   0.21453147            0            0            9           18 
+    2000    293.79769    -321.3209   -19.049256    13.720163   0.73079488       30   0.25170944   0.25426294            0            0           10           20 
+    3000     348.9085    259.04079  -0.23347965    2.4267366   0.14615898        6   0.22016906   0.23200597            0            0            2            4 
+    4000    360.54577   -329.12072   -16.584234    15.046059   0.65771539       27   0.19173099   0.19785362            0            0            9           18 
+    5000    275.58628   -58.283006   -12.520856    11.500585   0.65771539       27   0.16490585   0.17329884            0            0            9           18 
+    6000    338.59574    364.93514   -19.866569    17.494353   0.80387436       33   0.17971759   0.18331589            0            0           11           22 
+    7000    286.11586   -1252.5069   -19.588667    13.361427   0.73079488       30   0.15729895   0.16220459            0            0           10           20 
+    8000    454.86786   -642.89382   -20.818357    21.242037   0.73079488       30   0.15500235   0.15802382            0            0           10           20 
+    9000    326.36695   -364.71382   -31.376162     18.48392   0.87695385       36   0.14203985   0.14510714            0            0           12           24 
+   10000    348.46961   -387.75245   -21.068466     18.00451   0.80387436       33   0.14000907   0.14343389            0            0           11           22 
+   11000    409.74257   -15.843895   -20.648252    21.170323   0.80387436       33   0.14689306   0.15117074            0            0           11           22 
+   12000    523.93502    1003.0729   -6.0563102    14.055757   0.43847693       18   0.15337575    0.1580166            0            0            6           12 
+   13000    278.14441    -717.1097   -2.3488496    4.6982087   0.29231795       12   0.15952356   0.16422306            0            0            4            8 
+   14000    367.89375    1239.0841   -11.203323    13.524997    0.5846359       24   0.17002439   0.17460294            0            0            8           16 
+   15000    197.05319   -471.14343   -9.3890758    6.2653668   0.51155641       21   0.17702612   0.18155802            0            0            7           14 
+   16000    138.17147   -935.93437   -2.3846783    2.3338898   0.29231795       12   0.17884346   0.18268758            0            0            4            8 
+   17000    245.61833    -166.1694   -5.0970057    5.3690384   0.36539744       15   0.18909252   0.19317817            0            0            5           10 
+   18000     232.0142     -175.732   -14.320198    9.6822635   0.65771539       27   0.18977089   0.19280537            0            0            9           18 
+   19000    362.01189    864.87258   -6.4515321    9.7117982   0.43847693       18   0.19207244   0.19488984            0            0            6           12 
+   20000    441.19548    186.19779   -18.147268    20.603546   0.73079488       30   0.19713351     0.199073            0            0           10           20 
+Loop time of 16.4949 on 1 procs for 20000 steps with 30 atoms
+
+Performance: 104.760 ns/day, 0.229 hours/ns, 1212.498 timesteps/s
+99.4% CPU use with 1 MPI tasks x 1 OpenMP threads
 
 MPI task timing breakdown:
 Section |  min time  |  avg time  |  max time  |%varavg| %total
 ---------------------------------------------------------------
-Pair    | 2.5462     | 2.5462     | 2.5462     |   0.0 | 12.30
-Bond    | 0.029783   | 0.029783   | 0.029783   |   0.0 |  0.14
-Kspace  | 0.26167    | 0.26167    | 0.26167    |   0.0 |  1.26
-Neigh   | 0.10705    | 0.10705    | 0.10705    |   0.0 |  0.52
-Comm    | 0.23409    | 0.23409    | 0.23409    |   0.0 |  1.13
-Output  | 0.0013416  | 0.0013416  | 0.0013416  |   0.0 |  0.01
-Modify  | 17.458     | 17.458     | 17.458     |   0.0 | 84.37
-Other   |            | 0.05433    |            |       |  0.26
+Pair    | 1.8955     | 1.8955     | 1.8955     |   0.0 | 11.49
+Bond    | 0.026564   | 0.026564   | 0.026564   |   0.0 |  0.16
+Kspace  | 0.21215    | 0.21215    | 0.21215    |   0.0 |  1.29
+Neigh   | 0.088336   | 0.088336   | 0.088336   |   0.0 |  0.54
+Comm    | 0.19828    | 0.19828    | 0.19828    |   0.0 |  1.20
+Output  | 0.001025   | 0.001025   | 0.001025   |   0.0 |  0.01
+Modify  | 14.024     | 14.024     | 14.024     |   0.0 | 85.02
+Other   |            | 0.0491     |            |       |  0.30
 
 Nlocal:    30 ave 30 max 30 min
 Histogram: 1 0 0 0 0 0 0 0 0 0
-Nghost:    2310 ave 2310 max 2310 min
+Nghost:    2094 ave 2094 max 2094 min
 Histogram: 1 0 0 0 0 0 0 0 0 0
-Neighs:    7736 ave 7736 max 7736 min
+Neighs:    7664 ave 7664 max 7664 min
 Histogram: 1 0 0 0 0 0 0 0 0 0
 
-Total # of neighbors = 7736
-Ave neighs/atom = 257.867
+Total # of neighbors = 7664
+Ave neighs/atom = 255.467
 Ave special neighs/atom = 2
-Neighbor list builds = 20349
+Neighbor list builds = 20076
 Dangerous builds = 0
 
-Total wall time: 0:00:20
+Total wall time: 0:00:16
diff --git a/examples/gcmc/log.30Mar18.gcmc.co2.g++.4 b/examples/gcmc/log.30Mar18.gcmc.co2.g++.4
new file mode 100644
index 0000000000000000000000000000000000000000..a824945cbfc79b18c8d023c8d9d766ae3abd439a
--- /dev/null
+++ b/examples/gcmc/log.30Mar18.gcmc.co2.g++.4
@@ -0,0 +1,131 @@
+LAMMPS (30 Mar 2018)
+  using 1 OpenMP thread(s) per MPI task
+# GCMC for CO2 molecular fluid, rigid/small/nvt dynamics
+# Rigid CO2 TraPPE model
+# [Potoff and J.I. Siepmann, Vapor-liquid equilibria of
+# mixtures containing alkanes, carbon dioxide and
+# nitrogen AIChE J., 47,1676-1682 (2001)].
+
+# variables available on command line
+
+variable        mu index -8.1
+variable	disp index 0.5
+variable        temp index 338.0
+variable        lbox index 10.0
+variable        spacing index 5.0
+
+# global model settings
+
+units           real
+atom_style      full
+boundary        p p p
+pair_style      lj/cut/coul/long  14
+pair_modify     mix arithmetic tail yes
+kspace_style    ewald 0.0001
+bond_style      harmonic
+angle_style     harmonic
+
+# box, start molecules on simple cubic lattice
+
+lattice 	sc ${spacing}
+lattice 	sc 5.0
+Lattice spacing in x,y,z = 5 5 5
+region          box block 0 ${lbox} 0 ${lbox} 0 ${lbox} units box
+region          box block 0 10.0 0 ${lbox} 0 ${lbox} units box
+region          box block 0 10.0 0 10.0 0 ${lbox} units box
+region          box block 0 10.0 0 10.0 0 10.0 units box
+create_box      2 box                                       bond/types 1                                angle/types 1                               extra/bond/per/atom 2                       extra/angle/per/atom 1                      extra/special/per/atom 2
+Created orthogonal box = (0 0 0) to (10 10 10)
+  1 by 2 by 2 MPI processor grid
+molecule        co2mol CO2.txt
+Read molecule co2mol:
+  3 atoms with max type 2
+  2 bonds with max type 1
+  1 angles with max type 1
+  0 dihedrals with max type 0
+  0 impropers with max type 0
+create_atoms   	0 box mol co2mol 464563 units box
+Created 24 atoms
+  Time spent = 0.00257635 secs
+
+# rigid CO2 TraPPE model
+
+pair_coeff      1   1  0.053649   2.8
+pair_coeff      2   2  0.156973   3.05
+bond_coeff      1       0       1.16
+angle_coeff     1       0       180
+
+# masses
+
+mass 1 12.0107
+mass 2 15.9994
+
+# MD settings
+
+group           co2 type 1 2
+24 atoms in group co2
+neighbor        2.0 bin
+neigh_modify    every 1 delay 10 check yes
+velocity       	all create ${temp} 54654
+velocity       	all create 338.0 54654
+timestep        1.0
+
+# rigid constraints with thermostat
+
+fix             myrigidnvt co2 rigid/nvt/small molecule temp ${temp} ${temp} 100 mol co2mol
+fix             myrigidnvt co2 rigid/nvt/small molecule temp 338.0 ${temp} 100 mol co2mol
+fix             myrigidnvt co2 rigid/nvt/small molecule temp 338.0 338.0 100 mol co2mol
+8 rigid bodies with 24 atoms
+  1.16 = max distance from body owner to body atom
+
+# dynamically update  fix rigid/nvt/small temperature ndof
+fix_modify	myrigidnvt dynamic/dof yes
+
+# gcmc
+
+variable        tfac equal 5.0/3.0 # (3 trans + 2 rot)/(3 trans)
+fix             mygcmc co2 gcmc 100 100 0 0 54341 ${temp} ${mu} ${disp} mol                 co2mol tfac_insert ${tfac} group co2 rigid myrigidnvt
+fix             mygcmc co2 gcmc 100 100 0 0 54341 338.0 ${mu} ${disp} mol                 co2mol tfac_insert ${tfac} group co2 rigid myrigidnvt
+fix             mygcmc co2 gcmc 100 100 0 0 54341 338.0 -8.1 ${disp} mol                 co2mol tfac_insert ${tfac} group co2 rigid myrigidnvt
+fix             mygcmc co2 gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol                 co2mol tfac_insert ${tfac} group co2 rigid myrigidnvt
+fix             mygcmc co2 gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol                 co2mol tfac_insert 1.66666666666667 group co2 rigid myrigidnvt
+
+# atom counts
+
+variable 	carbon atom "type==1"
+variable        oxygen atom "type==2"
+group 		carbon dynamic co2 var carbon
+dynamic group carbon defined
+group 	        oxygen dynamic co2 var oxygen
+dynamic group oxygen defined
+variable        nC equal count(carbon)
+variable        nO equal count(oxygen)
+
+# output
+
+variable	tacc equal f_mygcmc[2]/(f_mygcmc[1]+0.1)
+variable	iacc equal f_mygcmc[4]/(f_mygcmc[3]+0.1)
+variable	dacc equal f_mygcmc[6]/(f_mygcmc[5]+0.1)
+variable	racc equal f_mygcmc[8]/(f_mygcmc[7]+0.1)
+
+# dynamically update default temperature ndof
+compute_modify  thermo_temp dynamic/dof yes
+
+thermo_style    custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc v_nC v_nO
+thermo          1000
+
+# run
+
+run             20000
+Ewald initialization ...
+  using 12-bit tables for long-range coulomb (../kspace.cpp:321)
+  G vector (1/distance) = 0.164636
+  estimated absolute RMS force accuracy = 0.0332064
+  estimated relative force accuracy = 0.0001
+  KSpace vectors: actual max1d max3d = 16 2 62
+                  kxmax kymax kzmax  = 2 2 2
+WARNING: Fix gcmc using full_energy option (../fix_gcmc.cpp:485)
+0 atoms in group FixGCMC:gcmc_exclusion_group:mygcmc
+0 atoms in group FixGCMC:rotation_gas_atoms:mygcmc
+ERROR: fix gcmc does currently not support full_energy option with molecules on more than 1 MPI process. (../fix_gcmc.cpp:721)
+Last command: run             20000
diff --git a/examples/gcmc/log.23Oct17.gcmc.h2o.g++.1 b/examples/gcmc/log.30Mar18.gcmc.h2o.g++.1
similarity index 54%
rename from examples/gcmc/log.23Oct17.gcmc.h2o.g++.1
rename to examples/gcmc/log.30Mar18.gcmc.h2o.g++.1
index bc7c3af4541e58dea45b6d917d2645a2fb64683c..2f11cb116e0df82c40d7fa8797bf3c559df1265e 100644
--- a/examples/gcmc/log.23Oct17.gcmc.h2o.g++.1
+++ b/examples/gcmc/log.30Mar18.gcmc.h2o.g++.1
@@ -1,4 +1,4 @@
-LAMMPS (23 Oct 2017)
+LAMMPS (30 Mar 2018)
   using 1 OpenMP thread(s) per MPI task
 # fix gcmc example with fix shake
 
@@ -34,24 +34,16 @@ create_box      2 box                                       bond/types 1
 Created orthogonal box = (0 0 0) to (10 10 10)
   1 by 1 by 1 MPI processor grid
 
-# we can load multiple molecule templates, but don't have to use them all
-molecule        co2mol CO2.txt
-Read molecule co2mol:
-  3 atoms with 2 types
-  2 bonds with 1 types
-  1 angles with 1 types
-  0 dihedrals with 0 types
-  0 impropers with 0 types
 molecule        h2omol H2O.txt
 Read molecule h2omol:
-  3 atoms with 2 types
-  2 bonds with 1 types
-  1 angles with 1 types
-  0 dihedrals with 0 types
-  0 impropers with 0 types
+  3 atoms with max type 2
+  2 bonds with max type 1
+  1 angles with max type 1
+  0 dihedrals with max type 0
+  0 impropers with max type 0
 create_atoms   	0 box mol h2omol 464563 units box
 Created 24 atoms
-  Time spent = 0.00201297 secs
+  Time spent = 0.00204968 secs
 
 # rigid SPC/E water model
 
@@ -79,7 +71,7 @@ timestep        1.0
 minimize 0.0 0.0 100 1000
 WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (../min.cpp:168)
 Ewald initialization ...
-WARNING: Using 12-bit tables for long-range coulomb (../kspace.cpp:321)
+  using 12-bit tables for long-range coulomb (../kspace.cpp:321)
   G vector (1/distance) = 0.170448
   estimated absolute RMS force accuracy = 0.0332064
   estimated relative force accuracy = 0.0001
@@ -101,9 +93,9 @@ Per MPI rank memory allocation (min/avg/max) = 11.88 | 11.88 | 11.88 Mbytes
 Step Temp E_pair E_mol TotEng Press 
        0          338   -4.1890564 9.2628112e-06     18.98377    739.06991 
      100          338   -30.182886   0.85607237   -6.1539961   -2535.3207 
-Loop time of 0.0507543 on 1 procs for 100 steps with 24 atoms
+Loop time of 0.0512006 on 1 procs for 100 steps with 24 atoms
 
-99.6% CPU use with 1 MPI tasks x 1 OpenMP threads
+99.5% CPU use with 1 MPI tasks x 1 OpenMP threads
 
 Minimization stats:
   Stopping criterion = max iterations
@@ -117,14 +109,14 @@ Minimization stats:
 MPI task timing breakdown:
 Section |  min time  |  avg time  |  max time  |%varavg| %total
 ---------------------------------------------------------------
-Pair    | 0.042597   | 0.042597   | 0.042597   |   0.0 | 83.93
-Bond    | 0.00047708 | 0.00047708 | 0.00047708 |   0.0 |  0.94
-Kspace  | 0.0031135  | 0.0031135  | 0.0031135  |   0.0 |  6.13
+Pair    | 0.04303    | 0.04303    | 0.04303    |   0.0 | 84.04
+Bond    | 0.00047088 | 0.00047088 | 0.00047088 |   0.0 |  0.92
+Kspace  | 0.0029728  | 0.0029728  | 0.0029728  |   0.0 |  5.81
 Neigh   | 0.00045919 | 0.00045919 | 0.00045919 |   0.0 |  0.90
-Comm    | 0.0032997  | 0.0032997  | 0.0032997  |   0.0 |  6.50
-Output  | 1.359e-05  | 1.359e-05  | 1.359e-05  |   0.0 |  0.03
+Comm    | 0.003406   | 0.003406   | 0.003406   |   0.0 |  6.65
+Output  | 2.265e-05  | 2.265e-05  | 2.265e-05  |   0.0 |  0.04
 Modify  | 0          | 0          | 0          |   0.0 |  0.00
-Other   |            | 0.0007946  |            |       |  1.57
+Other   |            | 0.0008392  |            |       |  1.64
 
 Nlocal:    24 ave 24 max 24 min
 Histogram: 1 0 0 0 0 0 0 0 0 0
@@ -139,23 +131,26 @@ Ave special neighs/atom = 2
 Neighbor list builds = 2
 Dangerous builds = 0
 reset_timestep 0
+
 # rigid constraints with thermostat
 
-fix             mynvt all nvt temp ${temp} ${temp} 100
-fix             mynvt all nvt temp 338.0 ${temp} 100
-fix             mynvt all nvt temp 338.0 338.0 100
-fix             wshake  all shake 0.0001 50 0 b 1 a 1 mol h2omol
+fix             mynvt h2o nvt temp ${temp} ${temp} 100
+fix             mynvt h2o nvt temp 338.0 ${temp} 100
+fix             mynvt h2o nvt temp 338.0 338.0 100
+fix             wshake h2o shake 0.0001 50 0 b 1 a 1 mol h2omol
   0 = # of size 2 clusters
   0 = # of size 3 clusters
   0 = # of size 4 clusters
   8 = # of frozen angles
-# gcmc
 
+# important to make temperature dofs dynamic
 
+compute_modify  thermo_temp dynamic/dof yes
+compute_modify  mynvt_temp dynamic/dof yes
 
 run 1000
 Ewald initialization ...
-WARNING: Using 12-bit tables for long-range coulomb (../kspace.cpp:321)
+  using 12-bit tables for long-range coulomb (../kspace.cpp:321)
   G vector (1/distance) = 0.170448
   estimated absolute RMS force accuracy = 0.0332064
   estimated relative force accuracy = 0.0001
@@ -164,23 +159,23 @@ WARNING: Using 12-bit tables for long-range coulomb (../kspace.cpp:321)
 Per MPI rank memory allocation (min/avg/max) = 11.63 | 11.63 | 11.63 Mbytes
 Step Temp E_pair E_mol TotEng Press 
        0    518.26667   -30.182886            0   -7.0100684     993.1985 
-    1000     326.9865   -62.258445            0   -47.638175   -5.3440813 
-Loop time of 0.141449 on 1 procs for 1000 steps with 24 atoms
+    1000     326.9865   -62.258443            0   -47.638173   -5.3439918 
+Loop time of 0.139436 on 1 procs for 1000 steps with 24 atoms
 
-Performance: 610.819 ns/day, 0.039 hours/ns, 7069.663 timesteps/s
-99.7% CPU use with 1 MPI tasks x 1 OpenMP threads
+Performance: 619.641 ns/day, 0.039 hours/ns, 7171.773 timesteps/s
+99.6% CPU use with 1 MPI tasks x 1 OpenMP threads
 
 MPI task timing breakdown:
 Section |  min time  |  avg time  |  max time  |%varavg| %total
 ---------------------------------------------------------------
-Pair    | 0.10788    | 0.10788    | 0.10788    |   0.0 | 76.27
-Bond    | 0.00018954 | 0.00018954 | 0.00018954 |   0.0 |  0.13
-Kspace  | 0.011867   | 0.011867   | 0.011867   |   0.0 |  8.39
-Neigh   | 0.0045254  | 0.0045254  | 0.0045254  |   0.0 |  3.20
-Comm    | 0.011277   | 0.011277   | 0.011277   |   0.0 |  7.97
-Output  | 1.5497e-05 | 1.5497e-05 | 1.5497e-05 |   0.0 |  0.01
-Modify  | 0.00383    | 0.00383    | 0.00383    |   0.0 |  2.71
-Other   |            | 0.001868   |            |       |  1.32
+Pair    | 0.10588    | 0.10588    | 0.10588    |   0.0 | 75.94
+Bond    | 0.00015759 | 0.00015759 | 0.00015759 |   0.0 |  0.11
+Kspace  | 0.011144   | 0.011144   | 0.011144   |   0.0 |  7.99
+Neigh   | 0.00459    | 0.00459    | 0.00459    |   0.0 |  3.29
+Comm    | 0.011396   | 0.011396   | 0.011396   |   0.0 |  8.17
+Output  | 1.7166e-05 | 1.7166e-05 | 1.7166e-05 |   0.0 |  0.01
+Modify  | 0.0043328  | 0.0043328  | 0.0043328  |   0.0 |  3.11
+Other   |            | 0.001914   |            |       |  1.37
 
 Nlocal:    24 ave 24 max 24 min
 Histogram: 1 0 0 0 0 0 0 0 0 0
@@ -194,13 +189,16 @@ Ave neighs/atom = 213
 Ave special neighs/atom = 2
 Neighbor list builds = 25
 Dangerous builds = 0
+reset_timestep 0
+
+# gcmc
 
 variable        tfac equal 5.0/3.0 # (3 trans + 2 rot)/(3 trans)
-fix             mygcmc all gcmc 100 100 0 0 54341 ${temp} ${mu} ${disp} mol                 h2omol tfac_insert ${tfac} group h2o shake wshake
-fix             mygcmc all gcmc 100 100 0 0 54341 338.0 ${mu} ${disp} mol                 h2omol tfac_insert ${tfac} group h2o shake wshake
-fix             mygcmc all gcmc 100 100 0 0 54341 338.0 -8.1 ${disp} mol                 h2omol tfac_insert ${tfac} group h2o shake wshake
-fix             mygcmc all gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol                 h2omol tfac_insert ${tfac} group h2o shake wshake
-fix             mygcmc all gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol                 h2omol tfac_insert 1.66666666666667 group h2o shake wshake
+fix             mygcmc h2o gcmc 100 100 0 0 54341 ${temp} ${mu} ${disp} mol                 h2omol tfac_insert ${tfac} group h2o shake wshake
+fix             mygcmc h2o gcmc 100 100 0 0 54341 338.0 ${mu} ${disp} mol                 h2omol tfac_insert ${tfac} group h2o shake wshake
+fix             mygcmc h2o gcmc 100 100 0 0 54341 338.0 -8.1 ${disp} mol                 h2omol tfac_insert ${tfac} group h2o shake wshake
+fix             mygcmc h2o gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol                 h2omol tfac_insert ${tfac} group h2o shake wshake
+fix             mygcmc h2o gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol                 h2omol tfac_insert 1.66666666666667 group h2o shake wshake
 
 # atom counts
 
@@ -219,7 +217,6 @@ variable	tacc equal f_mygcmc[2]/(f_mygcmc[1]+0.1)
 variable	iacc equal f_mygcmc[4]/(f_mygcmc[3]+0.1)
 variable	dacc equal f_mygcmc[6]/(f_mygcmc[5]+0.1)
 variable	racc equal f_mygcmc[8]/(f_mygcmc[7]+0.1)
-compute_modify  thermo_temp dynamic/dof yes
 thermo_style    custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc v_nO v_nH
 thermo          1000
 
@@ -227,67 +224,67 @@ thermo          1000
 
 run             20000
 Ewald initialization ...
-WARNING: Using 12-bit tables for long-range coulomb (../kspace.cpp:321)
+  using 12-bit tables for long-range coulomb (../kspace.cpp:321)
   G vector (1/distance) = 0.170448
   estimated absolute RMS force accuracy = 0.0332064
   estimated relative force accuracy = 0.0001
   KSpace vectors: actual max1d max3d = 16 2 62
                   kxmax kymax kzmax  = 2 2 2
-WARNING: Fix gcmc using full_energy option (../fix_gcmc.cpp:445)
+WARNING: Fix gcmc using full_energy option (../fix_gcmc.cpp:485)
 0 atoms in group FixGCMC:gcmc_exclusion_group:mygcmc
 0 atoms in group FixGCMC:rotation_gas_atoms:mygcmc
 WARNING: Neighbor exclusions used with KSpace solver may give inconsistent Coulombic energies (../neighbor.cpp:472)
 Per MPI rank memory allocation (min/avg/max) = 11.63 | 11.63 | 11.63 Mbytes
 Step Temp Press PotEng KinEng Density Atoms v_iacc v_dacc v_tacc v_racc v_nO v_nH 
-    1000     326.9865   -4.3509713   -62.258445     14.62027   0.23910963       24            0            0            0            0            8           16 
-    2000    116.99793   -5344.1527   -286.61595    17.088682   0.74721761       75  0.048183096  0.013941446            0            0           25           50 
-    3000    106.86746   -3920.4926   -361.60598    18.794545   0.89666113       90  0.035637919  0.012768883            0            0           30           60 
-    4000    75.002668    540.46846    -414.8511    14.531966   0.98632724       99  0.025963651 0.0093451705            0            0           33           66 
-    5000    79.924788   -2131.1173   -437.21216    15.962121    1.0162159      102  0.019879728 0.0070418993            0            0           34           68 
-    6000    95.552773   -3647.0233   -438.24276    19.083253    1.0162159      102  0.015753613 0.0056885133            0            0           34           68 
-    7000    79.501736   -2071.5369   -440.77351    15.877631    1.0162159      102   0.01326216 0.0046915318            0            0           34           68 
-    8000    62.567091   -3102.9616   -442.21884    12.495541    1.0162159      102  0.011305503 0.0040437885            0            0           34           68 
-    9000    68.324047   -3812.7866   -440.46835    13.645287    1.0162159      102 0.0099549538 0.0035157329            0            0           34           68 
-   10000    83.857631   -2158.2659    -444.8183    16.747566    1.0162159      102 0.0088200922 0.0031354281            0            0           34           68 
-   11000    68.350984   -2084.0789   -440.14081    13.650667    1.0162159      102 0.0081331455 0.0030247424            0            0           34           68 
-   12000    76.867315   -1585.6723   -443.36199      15.3515    1.0162159      102 0.0073845932 0.0027532534            0            0           34           68 
-   13000     59.74266   -2211.0211   -446.07791    11.931462    1.0162159      102 0.0067756276 0.0025213898            0            0           34           68 
-   14000    81.154979    -907.0176   -441.53368    16.207808    1.0162159      102 0.0062527642 0.0023280719            0            0           34           68 
-   15000    66.814346   -2804.5134   -455.80704      13.7421    1.0461046      105 0.0059590528 0.0021576214            0            0           35           70 
-   16000     71.42983   -3930.4004   -458.43218    14.691394    1.0461046      105 0.0055547473 0.0020163729            0            0           35           70 
-   17000    89.624855   -3569.8136   -455.18164    18.433672    1.0461046      105 0.0052173265 0.0018867687            0            0           35           70 
-   18000    63.519962   -1882.8157   -456.58939    13.064525    1.0461046      105 0.0049082049 0.0017765986            0            0           35           70 
-   19000    71.872698   -2243.5046   -454.93359    14.782481    1.0461046      105 0.0046439115 0.0016748361            0            0           35           70 
-   20000    73.660765   -2285.3173   -476.35473    15.589381    1.0759934      108 0.0045124933 0.0015837653            0            0           36           72 
-   21000    95.675868    987.92089   -475.46736    20.248603    1.0759934      108  0.004285814 0.0015049513            0            0           36           72 
-Loop time of 220.662 on 1 procs for 20000 steps with 108 atoms
-
-Performance: 7.831 ns/day, 3.065 hours/ns, 90.637 timesteps/s
-99.6% CPU use with 1 MPI tasks x 1 OpenMP threads
+       0     326.9865   -4.3508819   -62.258443     14.62027   0.23910963       24            0            0            0            0            8           16 
+    1000      354.423   -3760.1354   -235.34169    51.766914   0.74721761       75  0.046175467  0.011949811            0            0           25           50 
+    2000    335.19661    -3018.659   -270.44089    52.955344   0.80699501       81  0.026473882 0.0068755525            0            0           27           54 
+    3000    333.47175    2657.2052   -336.48359    64.611037   0.98632724       99  0.022634978 0.0060076096            0            0           33           66 
+    4000    321.48504    2055.4786   -345.06113    62.288579   0.98632724       99  0.016897769 0.0045269353            0            0           33           66 
+    5000    333.45735    1918.5375    -368.5463    66.596193    1.0162159      102  0.013784412 0.0036569014            0            0           34           68 
+    6000    301.90666   -698.74074   -371.32122    60.295069    1.0162159      102   0.01160439 0.0030159847            0            0           34           68 
+    7000    336.42505    1537.9483   -378.51731    69.194524    1.0461046      105  0.010174953 0.0025995783            0            0           35           70 
+    8000    338.95331   -1032.1084    -390.7067    69.714524    1.0461046      105 0.0089594585  0.002260114            0            0           35           70 
+    9000    311.44605   -1494.7788    -383.9272    64.056945    1.0461046      105  0.007938083 0.0020156323            0            0           35           70 
+   10000    330.70877    2082.4597   -366.57249    68.018822    1.0461046      105 0.0071412985 0.0018148454            0            0           35           70 
+   11000    286.34718    2238.3752   -370.91119    60.601806    1.0759934      108 0.0066641451 0.0016519521            0            0           36           72 
+   12000    371.02522    3048.7157   -398.51333    78.522854    1.0759934      108 0.0061145907 0.0015128339            0            0           36           72 
+   13000    392.87611    4486.1134   -387.07077    83.147323    1.0759934      108 0.0056427384 0.0013968431            0            0           36           72 
+   14000    332.80747    3586.2698   -406.12151    70.434545    1.0759934      108 0.0052496417 0.0012945729            0            0           36           72 
+   15000    325.61844    4198.3864    -387.5733    68.913077    1.0759934      108 0.0048934679 0.0012098238            0            0           36           72 
+   16000    254.10285     1560.976   -409.98615    55.292559    1.1058821      111 0.0047204383 0.0011320612            0            0           37           74 
+   17000    367.46414    2750.8283   -412.22037    79.959878    1.1058821      111 0.0044407568 0.0010659592            0            0           37           74 
+   18000    407.74215    2308.5027   -408.73046    88.724338    1.1058821      111 0.0042016342 0.0010049017            0            0           37           74 
+   19000    341.53799    5777.9814   -407.00637     74.31837    1.1058821      111 0.0039877848 0.00095025921            0            0           37           74 
+   20000    395.75303    3159.4677   -403.82798    86.115516    1.1058821      111 0.0037874635 0.00090297077            0            0           37           74 
+Loop time of 231.351 on 1 procs for 20000 steps with 111 atoms
+
+Performance: 7.469 ns/day, 3.213 hours/ns, 86.449 timesteps/s
+99.4% CPU use with 1 MPI tasks x 1 OpenMP threads
 
 MPI task timing breakdown:
 Section |  min time  |  avg time  |  max time  |%varavg| %total
 ---------------------------------------------------------------
-Pair    | 37.459     | 37.459     | 37.459     |   0.0 | 16.98
-Bond    | 0.087067   | 0.087067   | 0.087067   |   0.0 |  0.04
-Kspace  | 0.90234    | 0.90234    | 0.90234    |   0.0 |  0.41
-Neigh   | 1.2299     | 1.2299     | 1.2299     |   0.0 |  0.56
-Comm    | 0.95437    | 0.95437    | 0.95437    |   0.0 |  0.43
-Output  | 0.0010636  | 0.0010636  | 0.0010636  |   0.0 |  0.00
-Modify  | 179.85     | 179.85     | 179.85     |   0.0 | 81.51
-Other   |            | 0.1754     |            |       |  0.08
-
-Nlocal:    108 ave 108 max 108 min
+Pair    | 39.09      | 39.09      | 39.09      |   0.0 | 16.90
+Bond    | 0.092728   | 0.092728   | 0.092728   |   0.0 |  0.04
+Kspace  | 0.87751    | 0.87751    | 0.87751    |   0.0 |  0.38
+Neigh   | 3.9658     | 3.9658     | 3.9658     |   0.0 |  1.71
+Comm    | 1.0608     | 1.0608     | 1.0608     |   0.0 |  0.46
+Output  | 0.00096035 | 0.00096035 | 0.00096035 |   0.0 |  0.00
+Modify  | 186.07     | 186.07     | 186.07     |   0.0 | 80.43
+Other   |            | 0.1892     |            |       |  0.08
+
+Nlocal:    111 ave 111 max 111 min
 Histogram: 1 0 0 0 0 0 0 0 0 0
-Nghost:    7850 ave 7850 max 7850 min
+Nghost:    8070 ave 8070 max 8070 min
 Histogram: 1 0 0 0 0 0 0 0 0 0
-Neighs:    99828 ave 99828 max 99828 min
+Neighs:    105469 ave 105469 max 105469 min
 Histogram: 1 0 0 0 0 0 0 0 0 0
 
-Total # of neighbors = 99828
-Ave neighs/atom = 924.333
+Total # of neighbors = 105469
+Ave neighs/atom = 950.171
 Ave special neighs/atom = 2
-Neighbor list builds = 20439
+Neighbor list builds = 20910
 Dangerous builds = 0
 
-Total wall time: 0:03:40
+Total wall time: 0:03:51
diff --git a/examples/gcmc/log.30Mar18.gcmc.h2o.g++.4 b/examples/gcmc/log.30Mar18.gcmc.h2o.g++.4
new file mode 100644
index 0000000000000000000000000000000000000000..c5caf57113594ce82deedc9f24df1e5b94b2fcd6
--- /dev/null
+++ b/examples/gcmc/log.30Mar18.gcmc.h2o.g++.4
@@ -0,0 +1,237 @@
+LAMMPS (30 Mar 2018)
+  using 1 OpenMP thread(s) per MPI task
+# fix gcmc example with fix shake
+
+# variables available on command line
+
+variable        mu index -8.1
+variable	disp index 0.5
+variable        temp index 338.0
+variable        lbox index 10.0
+variable        spacing index 5.0
+
+# global model settings
+
+units           real
+atom_style      full
+boundary        p p p
+pair_style      lj/cut/coul/long  14
+pair_modify     mix arithmetic tail yes
+kspace_style    ewald 0.0001
+bond_style      harmonic
+angle_style     harmonic
+
+# box, start molecules on simple cubic lattice
+
+lattice 	sc ${spacing}
+lattice 	sc 5.0
+Lattice spacing in x,y,z = 5 5 5
+region          box block 0 ${lbox} 0 ${lbox} 0 ${lbox} units box
+region          box block 0 10.0 0 ${lbox} 0 ${lbox} units box
+region          box block 0 10.0 0 10.0 0 ${lbox} units box
+region          box block 0 10.0 0 10.0 0 10.0 units box
+create_box      2 box                                       bond/types 1                                angle/types 1                               extra/bond/per/atom 2                       extra/angle/per/atom 1                      extra/special/per/atom 2
+Created orthogonal box = (0 0 0) to (10 10 10)
+  1 by 2 by 2 MPI processor grid
+
+molecule        h2omol H2O.txt
+Read molecule h2omol:
+  3 atoms with max type 2
+  2 bonds with max type 1
+  1 angles with max type 1
+  0 dihedrals with max type 0
+  0 impropers with max type 0
+create_atoms   	0 box mol h2omol 464563 units box
+Created 24 atoms
+  Time spent = 0.00285625 secs
+
+# rigid SPC/E water model
+
+pair_coeff      1 1 0.15535 3.166
+pair_coeff      * 2 0.0000 0.0000
+
+bond_coeff      1     1000       1.0
+angle_coeff     1      100       109.47
+
+# masses
+
+mass 1 15.9994
+mass 2 1.0
+
+# MD settings
+
+group           h2o type 1 2
+24 atoms in group h2o
+neighbor        2.0 bin
+neigh_modify    every 1 delay 1 check yes
+velocity       	all create ${temp} 54654
+velocity       	all create 338.0 54654
+timestep        1.0
+
+minimize 0.0 0.0 100 1000
+WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (../min.cpp:168)
+Ewald initialization ...
+  using 12-bit tables for long-range coulomb (../kspace.cpp:321)
+  G vector (1/distance) = 0.170448
+  estimated absolute RMS force accuracy = 0.0332064
+  estimated relative force accuracy = 0.0001
+  KSpace vectors: actual max1d max3d = 16 2 62
+                  kxmax kymax kzmax  = 2 2 2
+Neighbor list info ...
+  update every 1 steps, delay 0 steps, check yes
+  max neighbors/atom: 2000, page size: 100000
+  master list distance cutoff = 16
+  ghost atom cutoff = 16
+  binsize = 8, bins = 2 2 2
+  1 neighbor lists, perpetual/occasional/extra = 1 0 0
+  (1) pair lj/cut/coul/long, perpetual
+      attributes: half, newton on
+      pair build: half/bin/newton
+      stencil: half/bin/3d/newton
+      bin: standard
+Per MPI rank memory allocation (min/avg/max) = 11.85 | 11.85 | 11.85 Mbytes
+Step Temp E_pair E_mol TotEng Press 
+       0          338   -4.9610706 9.2628112e-06    18.211756    730.90791 
+     100          338   -15.742442   0.14954269     7.579918   -637.49568 
+Loop time of 0.0695416 on 4 procs for 100 steps with 24 atoms
+
+94.4% CPU use with 4 MPI tasks x 1 OpenMP threads
+
+Minimization stats:
+  Stopping criterion = max iterations
+  Energy initial, next-to-last, final = 
+        -4.96106135393     -15.5388622715      -15.592899346
+  Force two-norm initial, final = 15.474 18.1478
+  Force max component initial, final = 5.80042 7.56514
+  Final line search alpha, max atom move = 0.00151131 0.0114333
+  Iterations, force evaluations = 100 328
+
+MPI task timing breakdown:
+Section |  min time  |  avg time  |  max time  |%varavg| %total
+---------------------------------------------------------------
+Pair    | 0.0093951  | 0.017625   | 0.028943   |   5.3 | 25.34
+Bond    | 0.00035357 | 0.00042325 | 0.00055075 |   0.0 |  0.61
+Kspace  | 0.00664    | 0.019695   | 0.029924   |   6.1 | 28.32
+Neigh   | 0          | 0          | 0          |   0.0 |  0.00
+Comm    | 0.022505   | 0.02509    | 0.027851   |   1.3 | 36.08
+Output  | 3.3855e-05 | 3.5942e-05 | 4.1485e-05 |   0.0 |  0.05
+Modify  | 0          | 0          | 0          |   0.0 |  0.00
+Other   |            | 0.006672   |            |       |  9.59
+
+Nlocal:    6 ave 8 max 3 min
+Histogram: 1 0 0 0 1 0 0 0 0 2
+Nghost:    1722 ave 1725 max 1720 min
+Histogram: 2 0 0 0 0 0 1 0 0 1
+Neighs:    1256.75 ave 2101 max 667 min
+Histogram: 1 0 1 0 1 0 0 0 0 1
+
+Total # of neighbors = 5027
+Ave neighs/atom = 209.458
+Ave special neighs/atom = 2
+Neighbor list builds = 0
+Dangerous builds = 0
+reset_timestep 0
+
+# rigid constraints with thermostat
+
+fix             mynvt h2o nvt temp ${temp} ${temp} 100
+fix             mynvt h2o nvt temp 338.0 ${temp} 100
+fix             mynvt h2o nvt temp 338.0 338.0 100
+fix             wshake h2o shake 0.0001 50 0 b 1 a 1 mol h2omol
+  0 = # of size 2 clusters
+  0 = # of size 3 clusters
+  0 = # of size 4 clusters
+  8 = # of frozen angles
+
+# important to make temperature dofs dynamic
+
+compute_modify  thermo_temp dynamic/dof yes
+compute_modify  mynvt_temp dynamic/dof yes
+
+run 1000
+Ewald initialization ...
+  using 12-bit tables for long-range coulomb (../kspace.cpp:321)
+  G vector (1/distance) = 0.170448
+  estimated absolute RMS force accuracy = 0.0332064
+  estimated relative force accuracy = 0.0001
+  KSpace vectors: actual max1d max3d = 16 2 62
+                  kxmax kymax kzmax  = 2 2 2
+Per MPI rank memory allocation (min/avg/max) = 11.6 | 11.6 | 11.6 Mbytes
+Step Temp E_pair E_mol TotEng Press 
+       0    518.26667   -15.742442            0    7.4303753    -613.0781 
+    1000    369.81793   -54.202682            0   -37.667327    294.98832 
+Loop time of 0.191619 on 4 procs for 1000 steps with 24 atoms
+
+Performance: 450.894 ns/day, 0.053 hours/ns, 5218.680 timesteps/s
+96.4% CPU use with 4 MPI tasks x 1 OpenMP threads
+
+MPI task timing breakdown:
+Section |  min time  |  avg time  |  max time  |%varavg| %total
+---------------------------------------------------------------
+Pair    | 0.015873   | 0.028989   | 0.040172   |   5.3 | 15.13
+Bond    | 0.00024271 | 0.00027657 | 0.00034404 |   0.0 |  0.14
+Kspace  | 0.022896   | 0.034492   | 0.047924   |   5.1 | 18.00
+Neigh   | 0.0025764  | 0.0025961  | 0.0026152  |   0.0 |  1.35
+Comm    | 0.068467   | 0.070095   | 0.071535   |   0.4 | 36.58
+Output  | 4.8161e-05 | 5.0783e-05 | 5.7936e-05 |   0.0 |  0.03
+Modify  | 0.049141   | 0.049894   | 0.05072    |   0.3 | 26.04
+Other   |            | 0.005226   |            |       |  2.73
+
+Nlocal:    6 ave 8 max 3 min
+Histogram: 1 0 0 0 0 0 1 0 1 1
+Nghost:    1331.5 ave 1369 max 1290 min
+Histogram: 1 0 0 0 0 2 0 0 0 1
+Neighs:    1259.75 ave 1642 max 428 min
+Histogram: 1 0 0 0 0 0 0 1 0 2
+
+Total # of neighbors = 5039
+Ave neighs/atom = 209.958
+Ave special neighs/atom = 2
+Neighbor list builds = 27
+Dangerous builds = 0
+reset_timestep 0
+
+# gcmc
+
+variable        tfac equal 5.0/3.0 # (3 trans + 2 rot)/(3 trans)
+fix             mygcmc h2o gcmc 100 100 0 0 54341 ${temp} ${mu} ${disp} mol                 h2omol tfac_insert ${tfac} group h2o shake wshake
+fix             mygcmc h2o gcmc 100 100 0 0 54341 338.0 ${mu} ${disp} mol                 h2omol tfac_insert ${tfac} group h2o shake wshake
+fix             mygcmc h2o gcmc 100 100 0 0 54341 338.0 -8.1 ${disp} mol                 h2omol tfac_insert ${tfac} group h2o shake wshake
+fix             mygcmc h2o gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol                 h2omol tfac_insert ${tfac} group h2o shake wshake
+fix             mygcmc h2o gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol                 h2omol tfac_insert 1.66666666666667 group h2o shake wshake
+
+# atom counts
+
+variable 	oxygen atom "type==1"
+variable 	hydrogen atom "type==2"
+group 	        oxygen dynamic all var oxygen
+dynamic group oxygen defined
+group 		hydrogen dynamic all var hydrogen
+dynamic group hydrogen defined
+variable        nO equal count(oxygen)
+variable        nH equal count(hydrogen)
+
+# output
+
+variable	tacc equal f_mygcmc[2]/(f_mygcmc[1]+0.1)
+variable	iacc equal f_mygcmc[4]/(f_mygcmc[3]+0.1)
+variable	dacc equal f_mygcmc[6]/(f_mygcmc[5]+0.1)
+variable	racc equal f_mygcmc[8]/(f_mygcmc[7]+0.1)
+thermo_style    custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc v_nO v_nH
+thermo          1000
+
+# run
+
+run             20000
+Ewald initialization ...
+  using 12-bit tables for long-range coulomb (../kspace.cpp:321)
+  G vector (1/distance) = 0.170448
+  estimated absolute RMS force accuracy = 0.0332064
+  estimated relative force accuracy = 0.0001
+  KSpace vectors: actual max1d max3d = 16 2 62
+                  kxmax kymax kzmax  = 2 2 2
+WARNING: Fix gcmc using full_energy option (../fix_gcmc.cpp:485)
+0 atoms in group FixGCMC:gcmc_exclusion_group:mygcmc
+0 atoms in group FixGCMC:rotation_gas_atoms:mygcmc
+ERROR: fix gcmc does currently not support full_energy option with molecules on more than 1 MPI process. (../fix_gcmc.cpp:721)
+Last command: run             20000
diff --git a/examples/gcmc/log.23Oct17.gcmc.lj.g++.1 b/examples/gcmc/log.30Mar18.gcmc.lj.g++.1
similarity index 52%
rename from examples/gcmc/log.23Oct17.gcmc.lj.g++.1
rename to examples/gcmc/log.30Mar18.gcmc.lj.g++.1
index a38dfeee77897b740bfecfaedd046676a6ad56b3..20a25c0f954627cd3445b1fbb6406f5610fb8cd0 100644
--- a/examples/gcmc/log.23Oct17.gcmc.lj.g++.1
+++ b/examples/gcmc/log.30Mar18.gcmc.lj.g++.1
@@ -1,4 +1,4 @@
-LAMMPS (23 Oct 2017)
+LAMMPS (30 Mar 2018)
   using 1 OpenMP thread(s) per MPI task
 # GCMC for LJ simple fluid, no dynamics
 # T = 2.0
@@ -36,17 +36,22 @@ Created orthogonal box = (0 0 0) to (5 5 5)
 pair_coeff	* * 1.0 1.0
 mass		* 1.0
 
+# we recommend setting up a dedicated group for gcmc
+
+group		gcmcgroup type 1
+0 atoms in group gcmcgroup
+
 # gcmc
 
-fix             mygcmc all gcmc 1 100 100 1 29494 ${temp} ${mu} ${disp}
-fix             mygcmc all gcmc 1 100 100 1 29494 2.0 ${mu} ${disp}
-fix             mygcmc all gcmc 1 100 100 1 29494 2.0 -1.25 ${disp}
-fix             mygcmc all gcmc 1 100 100 1 29494 2.0 -1.25 1.0
+fix             mygcmc gcmcgroup gcmc 1 100 100 1 29494 ${temp} ${mu} ${disp}
+fix             mygcmc gcmcgroup gcmc 1 100 100 1 29494 2.0 ${mu} ${disp}
+fix             mygcmc gcmcgroup gcmc 1 100 100 1 29494 2.0 -1.25 ${disp}
+fix             mygcmc gcmcgroup gcmc 1 100 100 1 29494 2.0 -1.25 1.0
 
 # atom count
 
 variable 	type1 atom "type==1"
-group 		type1 dynamic all var type1
+group 		type1 dynamic gcmcgroup var type1
 dynamic group type1 defined
 variable        n1 equal count(type1)
 
@@ -97,40 +102,40 @@ Neighbor list info ...
 Per MPI rank memory allocation (min/avg/max) = 0.433 | 0.433 | 0.433 Mbytes
 Step Temp Press PotEng KinEng Density Atoms v_iacc v_dacc v_tacc v_rhoav v_pav v_muexav v_n1av 
        0            0            0            0           -0            0        0            0            0            0            0            0            0            0 
-    1000    2.4038954    2.1735585   -2.7041368    3.5476844        0.496       62  0.064790036   0.06313096    0.1081294      0.54304    1.4513524 -0.025479219        64.98 
-    2000    2.0461168    1.1913842   -2.9880181    3.0212194        0.512       64  0.067416408  0.066335853   0.11306166      0.52736    1.3274665  0.034690004        62.97 
-    3000    1.7930436    1.3788681   -3.2212667    2.6505861        0.552       69  0.067733191  0.066877836    0.1133516       0.5344    1.3834744 0.0070582537         63.5 
-    4000     1.981449    1.2541054   -2.8222868    2.9217977        0.472       59  0.068546991  0.067856412   0.11442807      0.52504    1.3815629  0.043309657        62.17 
-    5000    2.0946818    1.0701629   -3.5213291    3.0977688        0.568       71   0.06813743  0.067567891   0.11342906      0.53824    1.4049567 -0.0054539777        64.15 
-    6000    1.9793484   0.68224187    -3.410211    2.9247088        0.536       67  0.067797628  0.067420108   0.11295333       0.5384     1.401683 -0.0066894359        64.37 
-    7000    2.1885798    1.6745012    -3.185499    3.2345922        0.544       68  0.068630201  0.068261832   0.11403705       0.5244     1.449239  0.045987399        62.33 
-    8000    2.2175324    1.5897263    -3.078898    3.2759002        0.528       66  0.068180395  0.067899629   0.11332691      0.53928    1.5488388  -0.01075766        64.29 
-    9000    1.8610779    1.0396231    -2.923262    2.7465908        0.496       62  0.068346453  0.068028117    0.1134132      0.52912    1.4352871  0.027082544        62.87 
-   10000    2.1079271    1.1746643   -2.9112062    3.1091925         0.48       60  0.068352878  0.068054948   0.11335434       0.5316    1.4462327  0.018503094         63.2 
-Loop time of 20.4081 on 1 procs for 10000 steps with 60 atoms
-
-Performance: 211680.375 tau/day, 490.001 timesteps/s
-98.9% CPU use with 1 MPI tasks x 1 OpenMP threads
+    1000    2.0603874    2.9024736   -3.2576986    3.0482443        0.584       73  0.069266074  0.066959582   0.11158434      0.53624    1.3978532 0.0014407586        64.19 
+    2000    2.1586837    1.5581387   -2.8420766    3.1857993        0.496       62  0.068487803  0.067570935    0.1126652      0.53128    1.3713694  0.020274019        63.41 
+    3000    2.4664064   0.65471138   -3.3428236    3.6435549        0.528       66  0.068182273  0.067547792   0.11226502      0.53472    1.3892234 0.0070204504        63.68 
+    4000    1.8880496    1.4802782   -2.7846019     2.785647        0.488       61  0.068250075  0.067843541   0.11299989      0.52744     1.299496  0.033918563         63.1 
+    5000    2.0578649    1.3204331   -3.5571862    3.0433213        0.568       71  0.067858571  0.067732262   0.11271981       0.5364    1.4237505 0.00065741209           64 
+    6000    2.3627973   0.97064566   -3.1107668    3.4879388        0.504       63  0.067846204   0.06757018   0.11272207       0.5332    1.3945131  0.014216594         63.7 
+    7000    1.6629817   0.98138972   -2.7780297    2.4514644        0.464       58  0.067451389  0.067269791   0.11263692      0.53688    1.4207486 -0.0012887793        63.82 
+    8000    2.2135488    2.0878792   -3.0471089    3.2707661        0.536       67  0.067926473  0.067738312    0.1135594      0.52736    1.4348314  0.034380623        62.43 
+    9000    1.8904287   0.52639383   -3.3548657    2.7920177         0.52       65   0.06818197  0.068003094   0.11356319      0.53072    1.4528143  0.021683615        63.23 
+   10000    2.2353281   0.73275312   -3.2197702    3.3006016        0.512       64  0.068465059  0.068208485   0.11414748      0.52712    1.4143492   0.03497858        62.44 
+Loop time of 21.2409 on 1 procs for 10000 steps with 64 atoms
+
+Performance: 203381.368 tau/day, 470.790 timesteps/s
+99.5% CPU use with 1 MPI tasks x 1 OpenMP threads
 
 MPI task timing breakdown:
 Section |  min time  |  avg time  |  max time  |%varavg| %total
 ---------------------------------------------------------------
-Pair    | 0.46484    | 0.46484    | 0.46484    |   0.0 |  2.28
-Neigh   | 1.1447     | 1.1447     | 1.1447     |   0.0 |  5.61
-Comm    | 0.1696     | 0.1696     | 0.1696     |   0.0 |  0.83
-Output  | 0.000319   | 0.000319   | 0.000319   |   0.0 |  0.00
-Modify  | 18.607     | 18.607     | 18.607     |   0.0 | 91.17
-Other   |            | 0.02194    |            |       |  0.11
-
-Nlocal:    60 ave 60 max 60 min
+Pair    | 0.45931    | 0.45931    | 0.45931    |   0.0 |  2.16
+Neigh   | 1.1637     | 1.1637     | 1.1637     |   0.0 |  5.48
+Comm    | 0.17294    | 0.17294    | 0.17294    |   0.0 |  0.81
+Output  | 0.00027394 | 0.00027394 | 0.00027394 |   0.0 |  0.00
+Modify  | 19.416     | 19.416     | 19.416     |   0.0 | 91.41
+Other   |            | 0.02919    |            |       |  0.14
+
+Nlocal:    64 ave 64 max 64 min
 Histogram: 1 0 0 0 0 0 0 0 0 0
-Nghost:    663 ave 663 max 663 min
+Nghost:    714 ave 714 max 714 min
 Histogram: 1 0 0 0 0 0 0 0 0 0
-Neighs:    2133 ave 2133 max 2133 min
+Neighs:    2423 ave 2423 max 2423 min
 Histogram: 1 0 0 0 0 0 0 0 0 0
 
-Total # of neighbors = 2133
-Ave neighs/atom = 35.55
+Total # of neighbors = 2423
+Ave neighs/atom = 37.8594
 Neighbor list builds = 10000
 Dangerous builds = 0
-Total wall time: 0:00:20
+Total wall time: 0:00:21
diff --git a/examples/gcmc/log.23Oct17.gcmc.lj.g++.4 b/examples/gcmc/log.30Mar18.gcmc.lj.g++.4
similarity index 50%
rename from examples/gcmc/log.23Oct17.gcmc.lj.g++.4
rename to examples/gcmc/log.30Mar18.gcmc.lj.g++.4
index ea7dc8116febce3c356ca8782599656cf6250986..819d0ed0869038a7b0bd61a2a7fab6038eff996c 100644
--- a/examples/gcmc/log.23Oct17.gcmc.lj.g++.4
+++ b/examples/gcmc/log.30Mar18.gcmc.lj.g++.4
@@ -1,4 +1,4 @@
-LAMMPS (23 Oct 2017)
+LAMMPS (30 Mar 2018)
   using 1 OpenMP thread(s) per MPI task
 # GCMC for LJ simple fluid, no dynamics
 # T = 2.0
@@ -36,17 +36,22 @@ Created orthogonal box = (0 0 0) to (5 5 5)
 pair_coeff	* * 1.0 1.0
 mass		* 1.0
 
+# we recommend setting up a dedicated group for gcmc
+
+group		gcmcgroup type 1
+0 atoms in group gcmcgroup
+
 # gcmc
 
-fix             mygcmc all gcmc 1 100 100 1 29494 ${temp} ${mu} ${disp}
-fix             mygcmc all gcmc 1 100 100 1 29494 2.0 ${mu} ${disp}
-fix             mygcmc all gcmc 1 100 100 1 29494 2.0 -1.25 ${disp}
-fix             mygcmc all gcmc 1 100 100 1 29494 2.0 -1.25 1.0
+fix             mygcmc gcmcgroup gcmc 1 100 100 1 29494 ${temp} ${mu} ${disp}
+fix             mygcmc gcmcgroup gcmc 1 100 100 1 29494 2.0 ${mu} ${disp}
+fix             mygcmc gcmcgroup gcmc 1 100 100 1 29494 2.0 -1.25 ${disp}
+fix             mygcmc gcmcgroup gcmc 1 100 100 1 29494 2.0 -1.25 1.0
 
 # atom count
 
 variable 	type1 atom "type==1"
-group 		type1 dynamic all var type1
+group 		type1 dynamic gcmcgroup var type1
 dynamic group type1 defined
 variable        n1 equal count(type1)
 
@@ -97,40 +102,40 @@ Neighbor list info ...
 Per MPI rank memory allocation (min/avg/max) = 0.4477 | 0.4477 | 0.4477 Mbytes
 Step Temp Press PotEng KinEng Density Atoms v_iacc v_dacc v_tacc v_rhoav v_pav v_muexav v_n1av 
        0            0            0            0           -0            0        0            0            0            0            0            0            0            0 
-    1000     1.956397    1.7699101   -2.7889468    2.8864874        0.488       61  0.068894746  0.067229075    0.1141726      0.53288    1.3832798  0.013392866        63.44 
-    2000     2.040943   0.56060899   -2.8001647    3.0077055        0.456       57  0.069858594  0.068831934   0.11629114       0.5232    1.3587174  0.049995794        62.19 
-    3000    2.0004866    1.5736515   -3.3098044    2.9572411        0.552       69  0.069594029  0.068727791   0.11592543      0.53096    1.4129434  0.020022578        63.23 
-    4000    2.1127942     2.642809   -2.8865084    3.1211733        0.528       66  0.070268697  0.069533235   0.11693806      0.52424    1.3444615  0.046884078        62.57 
-    5000    2.3663648     1.354269   -3.1917346    3.4957662        0.528       66  0.070519633  0.069960064   0.11710321      0.52688    1.3595814  0.036270867        62.56 
-    6000    1.9224136   0.82756699      -3.1965     2.839257         0.52       65   0.06985018  0.069474645   0.11628632        0.536      1.47062   0.00141549        63.76 
-    7000    2.0266192    1.5593811   -2.9972341    2.9931606         0.52       65  0.070244693  0.069880791   0.11666541      0.52528    1.3246332  0.040754793         62.2 
-    8000    1.7790467    1.8680568   -2.8028819    2.6275151         0.52       65  0.070454494  0.070172368   0.11736806        0.524    1.4213649  0.047985191        62.03 
-    9000    1.7968847    1.3195587    -3.261001    2.6550983        0.536       67  0.069952011  0.069618327   0.11650087      0.53904    1.4624201  -0.01069837        64.36 
-   10000    2.1566109    1.1015729   -3.4999837    3.1880335        0.552       69  0.069603309  0.069284134   0.11625548      0.53128    1.3587249   0.02075238        63.24 
-Loop time of 23.8213 on 4 procs for 10000 steps with 69 atoms
-
-Performance: 181350.388 tau/day, 419.793 timesteps/s
-97.6% CPU use with 4 MPI tasks x 1 OpenMP threads
+    1000    2.4378552    1.9014939     -3.23439    3.6030066        0.544       68  0.073050445  0.070796636   0.11934255      0.52552    1.3006333   0.04152087        62.56 
+    2000    1.9339159    1.0360287   -3.5001391    2.8594327         0.56       70  0.069588893  0.068587488   0.11319584        0.542    1.4012888 -0.020696665        64.56 
+    3000    1.8891807    2.2857708   -3.3755633    2.7954769        0.592       74  0.068329031  0.067640916   0.11187803      0.53536    1.3380926 0.0062359288        64.21 
+    4000    2.0436517    1.7600211   -3.4067452    3.0229014        0.576       72  0.067464211  0.067003868   0.11060324      0.54144    1.4484907 -0.016246603        64.75 
+    5000    2.1512268    1.0811095   -3.2418366    3.1786785        0.536       67  0.066830654  0.066717982    0.1094094      0.54368    1.4962073 -0.025791643        65.04 
+    6000     2.128931    1.5444487   -3.1904474    3.1450116        0.528       66  0.067479197  0.067193531    0.1104464      0.53112    1.4247377  0.019908014        63.01 
+    7000    1.8194311   0.72981963   -3.6601329    2.6912418        0.576       72  0.068131849  0.067910074   0.11182024      0.51968    1.4517098  0.063444774        61.72 
+    8000     1.947817   0.74570466   -3.0935809    2.8753489        0.504       63  0.068034071  0.067855883   0.11217045      0.53304    1.4924302  0.012298733        63.45 
+    9000    1.8942389    1.3367401   -2.8925016    2.7962574        0.504       63  0.068117479  0.067943081   0.11236152        0.536    1.4091106 0.0011494886        63.73 
+   10000    2.2092799   0.95517153   -2.9117781    3.2586879         0.48       60  0.068264792  0.068016591   0.11310789      0.52272    1.4774174  0.051284873        62.04 
+Loop time of 29.2417 on 4 procs for 10000 steps with 60 atoms
+
+Performance: 147733.999 tau/day, 341.977 timesteps/s
+96.3% CPU use with 4 MPI tasks x 1 OpenMP threads
 
 MPI task timing breakdown:
 Section |  min time  |  avg time  |  max time  |%varavg| %total
 ---------------------------------------------------------------
-Pair    | 0.10935    | 0.11844    | 0.12741    |   2.1 |  0.50
-Neigh   | 0.33       | 0.33945    | 0.35091    |   1.6 |  1.42
-Comm    | 0.49249    | 0.51745    | 0.53856    |   2.7 |  2.17
-Output  | 0.00053334 | 0.0007208  | 0.0007906  |   0.0 |  0.00
-Modify  | 22.82      | 22.822     | 22.825     |   0.0 | 95.81
-Other   |            | 0.02289    |            |       |  0.10
-
-Nlocal:    17.25 ave 23 max 10 min
-Histogram: 1 0 0 0 0 0 2 0 0 1
-Nghost:    506.5 ave 519 max 490 min
-Histogram: 1 0 1 0 0 0 0 0 0 2
-Neighs:    705.75 ave 998 max 369 min
-Histogram: 1 0 0 0 0 1 1 0 0 1
-
-Total # of neighbors = 2823
-Ave neighs/atom = 40.913
+Pair    | 0.11648    | 0.1221     | 0.13001    |   1.5 |  0.42
+Neigh   | 0.34452    | 0.35618    | 0.36328    |   1.2 |  1.22
+Comm    | 0.63561    | 0.65617    | 0.67542    |   1.8 |  2.24
+Output  | 0.00056601 | 0.00069755 | 0.00074744 |   0.0 |  0.00
+Modify  | 28.069     | 28.076     | 28.082     |   0.1 | 96.01
+Other   |            | 0.03094    |            |       |  0.11
+
+Nlocal:    15 ave 16 max 14 min
+Histogram: 2 0 0 0 0 0 0 0 0 2
+Nghost:    437 ave 446 max 431 min
+Histogram: 2 0 0 0 0 0 1 0 0 1
+Neighs:    529 ave 595 max 437 min
+Histogram: 1 0 0 0 1 0 0 0 0 2
+
+Total # of neighbors = 2116
+Ave neighs/atom = 35.2667
 Neighbor list builds = 10000
 Dangerous builds = 0
-Total wall time: 0:00:23
+Total wall time: 0:00:29
diff --git a/lib/kim/Install.py b/lib/kim/Install.py
index 0e873889546d198398f22d3fc2df37d0bc3fec06..3f1d9fb19141e67be56a1fdeb898ce6853aba2f2 100644
--- a/lib/kim/Install.py
+++ b/lib/kim/Install.py
@@ -21,7 +21,7 @@ Syntax from lib dir: python Install.py -b -v version  -a kim-name
 specify one or more options, order does not matter
 
   -v = version of KIM API library to use
-       default = kim-api-v1.9.2 (current as of Oct 2017)
+       default = kim-api-v1.9.4 (current as of Apr 2018)
   -b = download and build base KIM API library with example Models
        this will delete any previous installation in the current folder
   -n = do NOT download and build base KIM API library.
@@ -109,7 +109,7 @@ nargs = len(args)
 if nargs == 0: error()
 
 thisdir = os.environ['PWD']
-version = "kim-api-v1.9.2"
+version = "kim-api-v1.9.4"
 
 buildflag = False
 everythingflag = False
@@ -166,9 +166,6 @@ if pathflag:
     mkfile.write("print_dir:\n")
     mkfile.write("	@printf $(KIM_INSTALL_DIR)\n")
 
-  with open("%s/Makefile.KIM_Config" % thisdir, 'w') as cfgfile:
-    cfgfile.write("include %s/lib/kim-api/Makefile.KIM_Config" % kimdir)
-
   print("Created %s/Makefile.KIM_DIR\n  using %s" % (thisdir,kimdir))
 else:
   kimdir = os.path.join(os.path.abspath(thisdir), "installed-" + version)
@@ -191,9 +188,6 @@ if buildflag:
     mkfile.write("print_dir:\n")
     mkfile.write("	@printf $(KIM_INSTALL_DIR)\n")
 
-  with open("%s/Makefile.KIM_Config" % thisdir, 'w') as cfgfile:
-    cfgfile.write("include %s/lib/kim-api/Makefile.KIM_Config" % kimdir)
-
   print("Created %s/Makefile.KIM_DIR\n  using %s" % (thisdir,kimdir))
 
   # download entire kim-api tarball
@@ -247,11 +241,16 @@ if buildflag:
 # add single OpenKIM model
 if addflag:
 
+  makefile_path = os.path.join(thisdir, "Makefile.KIM_DIR")
+  if os.path.isfile(makefile_path):
+    cmd = 'make --no-print-directory -f %s print_dir' % makefile_path
+    kimdir = subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True)
+
   if not os.path.isdir(kimdir):
     print("\nkim-api is not installed")
     error()
 
   # download single model
-  cmd = '%s/bin/kim-api-v1-collections-management install system %s' % (kimdir, addmodelname)
+  cmd = '%s/bin/kim-api-v1-collections-management install system %s' % (kimdir.decode("UTF-8"), addmodelname)
   txt = subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True)
   if verboseflag: print (txt.decode("UTF-8"))
diff --git a/lib/kim/README b/lib/kim/README
index 7a4230dc25e99a282b5ba9b8e439d0b0250da058..ce4ea1bdff42e55ad70b9101bdbea5b48ace61a6 100644
--- a/lib/kim/README
+++ b/lib/kim/README
@@ -20,47 +20,35 @@ Instructions:
 
 1. Configure lammps for use with the kim-api library installed in this directory
 
-$ printf "KIM_INSTALL_DIR=${PWD}\n" > ./Makefile.KIM_DIR
-$ printf "include ${PWD}/lib/kim-api/Makefile.KIM_Config\n" > ./Makefile.KIM_Config
+# replace X.Y.Z as appropriate here and below
+$ printf "KIM_INSTALL_DIR=${PWD}/installed-kim-api-vX.Y.Z\n" > ./Makefile.KIM_DIR
 
 2. Download and unpack the kim-api
 
-# replace X.Y.Z as appropriate here and below
-$ wget http://s3.openkim.org/kim-api/kim-api-vX.Y.Z.tgz
-$ tar zxvf kim-api-vX.Y.Z.tgz
+$ wget http://s3.openkim.org/kim-api/kim-api-vX.Y.Z.txz
+$ tar zxvf kim-api-vX.Y.Z.txz
 
 # configure the kim-api
 $ cd kim-api-vX.Y.Z
-$ ./configure --prefix=${PWD}/../
-
-# setup the desired kim item
-$ make add-Pair_Johnson_Fe__MO_857282754307_002
+$ ./configure --prefix=${PWD}/../installed-kim-api-vX.Y.Z
 
 3. Build and install the kim-api and model
 
 $ make
 $ make install
-
-# replace X with the KIM API major version number
-$ make install-set-default-to-vX
-$ cd ../
+$ cd ..
 
 4. Remove source and build files
 
 $ rm -rf kim-api-vX.Y.Z
-$ rm -rf kim-api-vX.Y.Z.tgz
+$ rm -rf kim-api-vX.Y.Z.txz
 
-5. To add additional items do the following (replace the kim item name with your
+5. To add items do the following (replace the kim item name with your
    desired value)
 
-$ wget https://openkim.org/download/EAM_Johnson_NearestNeighbor_Cu__MO_887933271505_001.tgz
-$ tar zxvf EAM_Johnson_NearestNeighbor_Cu__MO_887933271505_001.tgz
-$ cd EAM_Johnson_NearestNeighbor_Cu__MO_887933271505_001
-$ make
-$ make install
-$ cd ..
-$ rm -rf EAM_Johnson_NearestNeighbor_Cu__MO_887933271505_001
-$ rm -rf EAM_Johnson_NearestNeighbor_Cu__MO_887933271505_001.tgz
+$ source ${PWD}/kim-api-vX.Y.Z/bin/kim-api-v1-activate
+$ kim-api-v1-collections-management install system Pair_Johnson_Fe__MO_857282754307_002
+
 
 -----------------
 
@@ -73,4 +61,4 @@ $ make g++ (or whatever target you wish)
 
 Note that the Makefile.lammps and Makefile.KIM_DIR files in this directory
 are required to allow the LAMMPS build to find the necessary KIM files.
-You should not normally need to edit this file.
+You should not normally need to edit these files.
diff --git a/lib/kim/pair-kim.release.info b/lib/kim/pair-kim.release.info
deleted file mode 100644
index f6c3c01c4e5ea5a1b61f0fc1e6900e391df57a66..0000000000000000000000000000000000000000
--- a/lib/kim/pair-kim.release.info
+++ /dev/null
@@ -1,6 +0,0 @@
-This package (pair-kim-v1.7.2+1) created from commit
-
-ced1275c5fd5b382cb9bd39e44ed1324c7c85e99
-
-of the pair-kim git repository
-By Ryan S. Elliott (relliott@umn.edu) on Mon Feb 22 14:59:53 CST 2016.
diff --git a/lib/latte/Install.py b/lib/latte/Install.py
index 37cb5d6b17f135aa7b2c371278d1d78b7e6ec3b7..4b94ac3cba4381e5cbabbff902ee837b5b053138 100644
--- a/lib/latte/Install.py
+++ b/lib/latte/Install.py
@@ -10,17 +10,21 @@ import sys,os,re,subprocess
 
 help = """
 Syntax from src dir: make lib-latte args="-b"
-                     make lib-latte args="-p /usr/local/latte"
-                     make lib-latte args="-m gfortran"
+                 or: make lib-latte args="-p /usr/local/latte"
+                 or: make lib-latte args="-m gfortran"
+                 or: make lib-latte args="-b -v 1.1.1"
+
 Syntax from lib dir: python Install.py -b
-                     python Install.py -p /usr/local/latte
-                     python Install.py -m gfortran
+                 or: python Install.py -p /usr/local/latte
+                 or: python Install.py -m gfortran
+                 or: python Install.py -v 1.1.1 -b
 
 specify one or more options, order does not matter
 
   -b = download and build the LATTE library
   -p = specify folder of existing LATTE installation
   -m = copy Makefile.lammps.suffix to Makefile.lammps
+  -v = set version of LATTE library to download and set up (default = 1.1.1)
 
 Example:
 
@@ -30,7 +34,7 @@ make lib-latte args="-p $HOME/latte"   # use existing LATTE installation
 
 # settings
 
-url = "https://github.com/lanl/LATTE/archive/master.tar.gz"
+version = '1.1.1'
 
 # print error message or help
 
@@ -94,7 +98,6 @@ nargs = len(args)
 if nargs == 0: error()
 
 homepath = "."
-homedir = "LATTE-master"
 
 buildflag = False
 pathflag = False
@@ -116,12 +119,19 @@ while iarg < nargs:
     suffix = args[iarg+1]
     suffixflag = True
     iarg += 2
+  elif args[iarg] == "-v":
+    if iarg+2 > nargs: error()
+    version = args[iarg+1]
+    iarg += 2
   else: error()
 
+homedir = "LATTE-%s" % version
+
 if (buildflag and pathflag):
     error("Cannot use -b and -p flag at the same time")
 
 if buildflag:
+  url = "https://github.com/lanl/LATTE/archive/v%s.tar.gz" % version
   lattepath = fullpath(homepath)
   lattedir = "%s/%s" % (lattepath,homedir)
 
@@ -132,15 +142,15 @@ if pathflag:
 
 if buildflag:
   print("Downloading LATTE ...")
-  geturl(url,"master.tar.gz")
+  geturl(url,"LATTE.tar.gz")
 
   print("Unpacking LATTE zipfile ...")
   if os.path.exists(lattedir):
     cmd = 'rm -rf "%s"' % lattedir
     subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True)
-  cmd = 'cd "%s"; tar zxvf master.tar.gz' % lattepath
+  cmd = 'cd "%s"; tar zxvf LATTE.tar.gz' % lattepath
   subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True)
-  os.remove("%s/master.tar.gz" % lattepath)
+  os.remove("%s/LATTE.tar.gz" % lattepath)
 
 # build LATTE
 
diff --git a/src/DIPOLE/pair_lj_long_dipole_long.h b/src/DIPOLE/pair_lj_long_dipole_long.h
index 2ace9ca30163daa2c6c159e0b47ef8c165e8e708..365ca3cf51a1e19f0256014eeb00b780538955ab 100644
--- a/src/DIPOLE/pair_lj_long_dipole_long.h
+++ b/src/DIPOLE/pair_lj_long_dipole_long.h
@@ -113,13 +113,13 @@ E: Pair style requires use of kspace_style ewald/disp
 
 Self-explanatory.
 
-E: Pair style lj/long/dipole/long does not currently support respa
-
-This feature is not yet supported.
-
 E: Pair cutoff < Respa interior cutoff
 
 One or more pairwise cutoffs are too short to use with the specified
 rRESPA cutoffs.
 
+U: Pair style lj/long/dipole/long does not currently support respa
+
+This feature is not yet supported.
+
 */
diff --git a/src/GPU/fix_gpu.h b/src/GPU/fix_gpu.h
index 613af161090ab1cd982a5e170e69c0eeb3564a83..c190a91061b002113d979429bc8d45f210fd2e1a 100644
--- a/src/GPU/fix_gpu.h
+++ b/src/GPU/fix_gpu.h
@@ -50,11 +50,6 @@ class FixGPU : public Fix {
 
 /* ERROR/WARNING messages:
 
-E: Cannot use GPU package with USER-CUDA package enabled
-
-You cannot use both the GPU and USER-CUDA packages
-together.  Use one or the other.
-
 E: Illegal ... command
 
 Self-explanatory.  Check the input script syntax and compare to the
diff --git a/src/GPU/pair_tersoff_mod_gpu.h b/src/GPU/pair_tersoff_mod_gpu.h
index 3967e90a70aab0ef8e9a443cce8dc159a471a840..b3564afada3a432df748c86be39d96ef3490e116 100644
--- a/src/GPU/pair_tersoff_mod_gpu.h
+++ b/src/GPU/pair_tersoff_mod_gpu.h
@@ -54,14 +54,21 @@ E: Insufficient memory on accelerator
 There is insufficient memory on one of the devices specified for the gpu
 package
 
-E: Pair style tersoff/gpu requires newton pair off
+E: Pair style tersoff/mod/gpu requires atom IDs
 
-See the newton command.  This is a restriction to use this pair style.
+UNDOCUMENTED
+
+E: Pair style tersoff/mod/gpu requires newton pair off
+
+UNDOCUMENTED
 
 E: All pair coeffs are not set
 
 All pair coefficients must be set in the data file or by the
 pair_coeff command before running a simulation.
 
-*/
+U: Pair style tersoff/gpu requires newton pair off
 
+See the newton command.  This is a restriction to use this pair style.
+
+*/
diff --git a/src/GPU/pair_tersoff_zbl_gpu.h b/src/GPU/pair_tersoff_zbl_gpu.h
index ba923ffd2ff5b28a51017e0bd17b123462944d47..6ee387aec412533d37339473d542c938dd910ff7 100644
--- a/src/GPU/pair_tersoff_zbl_gpu.h
+++ b/src/GPU/pair_tersoff_zbl_gpu.h
@@ -54,14 +54,21 @@ E: Insufficient memory on accelerator
 There is insufficient memory on one of the devices specified for the gpu
 package
 
-E: Pair style tersoff/gpu requires newton pair off
+E: Pair style tersoff/zbl/gpu requires atom IDs
 
-See the newton command.  This is a restriction to use this pair style.
+UNDOCUMENTED
+
+E: Pair style tersoff/zbl/gpu requires newton pair off
+
+UNDOCUMENTED
 
 E: All pair coeffs are not set
 
 All pair coefficients must be set in the data file or by the
 pair_coeff command before running a simulation.
 
-*/
+U: Pair style tersoff/gpu requires newton pair off
 
+See the newton command.  This is a restriction to use this pair style.
+
+*/
diff --git a/src/GPU/pppm_gpu.h b/src/GPU/pppm_gpu.h
index b37358e0918f27a1945d46ca48b46b70c544cc63..5f2ec962312e546a3677b5bb177cfc08331ecf83 100644
--- a/src/GPU/pppm_gpu.h
+++ b/src/GPU/pppm_gpu.h
@@ -102,4 +102,12 @@ outside a processor's sub-domain or even the entire simulation box.
 This indicates bad physics, e.g. due to highly overlapping atoms, too
 large a timestep, etc.
 
+E: Cannot (yet) use K-space slab correction with compute group/group for triclinic systems
+
+UNDOCUMENTED
+
+E: Cannot (yet) use kspace_modify diff ad with compute group/group
+
+UNDOCUMENTED
+
 */
diff --git a/src/GRANULAR/fix_wall_gran.h b/src/GRANULAR/fix_wall_gran.h
index e9b6a73b9d3ad9875d1a40847e3144af5970bda0..2403a31907016b5b341dfb92d5d355d53aea2b0f 100644
--- a/src/GRANULAR/fix_wall_gran.h
+++ b/src/GRANULAR/fix_wall_gran.h
@@ -101,6 +101,10 @@ E: Fix wall/gran requires atom style sphere
 
 Self-explanatory.
 
+E: Invalid fix wall/gran interaction style
+
+UNDOCUMENTED
+
 E: Cannot use wall in periodic dimension
 
 Self-explanatory.
@@ -117,7 +121,11 @@ E: Invalid shear direction for fix wall/gran
 
 Self-explanatory.
 
-E: Fix wall/gran is incompatible with Pair style
+E: Cannot wiggle or shear with fix wall/gran/region
+
+UNDOCUMENTED
+
+U: Fix wall/gran is incompatible with Pair style
 
 Must use a granular pair style to define the parameters needed for
 this fix.
diff --git a/src/GRANULAR/fix_wall_gran_region.h b/src/GRANULAR/fix_wall_gran_region.h
index 9c96eeb722cf138a55ac1a3bec37d79a3fc5c176..8d1b6d533acacc442117ed062a93e38a01777e74 100644
--- a/src/GRANULAR/fix_wall_gran_region.h
+++ b/src/GRANULAR/fix_wall_gran_region.h
@@ -71,33 +71,49 @@ class FixWallGranRegion : public FixWallGran {
 
 /* ERROR/WARNING messages:
 
-E: Illegal ... command
+E: Region ID for fix wall/gran/region does not exist
+
+UNDOCUMENTED
+
+W: Region properties for region %s changed between runs, resetting its motion
+
+UNDOCUMENTED
+
+W: Region properties for region %s are inconsistent with restart file, resetting its motion
+
+UNDOCUMENTED
+
+E: Too many wall/gran/region contacts for one particle
+
+UNDOCUMENTED
+
+U: Illegal ... command
 
 Self-explanatory.  Check the input script syntax and compare to the
 documentation for the command.  You can use -echo screen as a
 command-line option when running LAMMPS to see the offending line.
 
-E: Fix wall/gran requires atom style sphere
+U: Fix wall/gran requires atom style sphere
 
 Self-explanatory.
 
-E: Cannot use wall in periodic dimension
+U: Cannot use wall in periodic dimension
 
 Self-explanatory.
 
-E: Cannot wiggle and shear fix wall/gran
+U: Cannot wiggle and shear fix wall/gran
 
 Cannot specify both options at the same time.
 
-E: Invalid wiggle direction for fix wall/gran
+U: Invalid wiggle direction for fix wall/gran
 
 Self-explanatory.
 
-E: Invalid shear direction for fix wall/gran
+U: Invalid shear direction for fix wall/gran
 
 Self-explanatory.
 
-E: Fix wall/gran is incompatible with Pair style
+U: Fix wall/gran is incompatible with Pair style
 
 Must use a granular pair style to define the parameters needed for
 this fix.
diff --git a/src/GRANULAR/pair_gran_hooke_history.h b/src/GRANULAR/pair_gran_hooke_history.h
index f02cccd55ef177ba71e022447d49c9c71036b1cd..3ca5c7311649de6e43190c0e6fa88b48e02a3ce0 100644
--- a/src/GRANULAR/pair_gran_hooke_history.h
+++ b/src/GRANULAR/pair_gran_hooke_history.h
@@ -90,12 +90,16 @@ E: Pair granular requires ghost atoms store velocity
 
 Use the comm_modify vel yes command to enable this.
 
-E: Pair granular with shear history requires newton pair off
+E: Could not find pair fix neigh history ID
+
+UNDOCUMENTED
+
+U: Pair granular with shear history requires newton pair off
 
 This is a current restriction of the implementation of pair
 granular styles with history.
 
-E: Could not find pair fix ID
+U: Could not find pair fix ID
 
 A fix is created internally by the pair style to store shear
 history information.  You cannot delete it.
diff --git a/src/KIM/pair_kim.cpp b/src/KIM/pair_kim.cpp
index b35e90511f64bfa954f16ddd1de84a02f6df1c16..46e843158abe6649ba751b7480bba01e4ba94ebe 100644
--- a/src/KIM/pair_kim.cpp
+++ b/src/KIM/pair_kim.cpp
@@ -27,7 +27,6 @@
 
 // includes from LAMMPS
 #include "pair_kim.h"
-#include "pair_kim_version.h"
 #include "atom.h"
 #include "comm.h"
 #include "force.h"
@@ -1094,18 +1093,6 @@ void PairKIM::write_descriptor(char** test_descriptor_string)
       "#\n"
       "# This file is automatically generated from LAMMPS pair_style "
           "kim command\n");
-   char tmp_version[100];
-   sprintf(tmp_version,"# This is pair-kim-v%i.%i.%i",
-           PAIR_KIM_VERSION_MAJOR, PAIR_KIM_VERSION_MINOR,
-           PAIR_KIM_VERSION_PATCH);
-   strcat(*test_descriptor_string, tmp_version);
-#ifdef PAIR_KIM_VERSION_PRERELEASE
-   sprintf(tmp_version,"-%s", PAIR_KIM_VERSION_PRERELEASE);
-   strcat(*test_descriptor_string, tmp_version);
-#endif
-#ifdef PAIR_KIM_VERSION_BUILD_METADATA
-   sprintf(tmp_version,"+%s", PAIR_KIM_VERSION_BUILD_METADATA);
-#endif
    strcat(*test_descriptor_string,
       "\n"
       "# The call number is (pair_style).(init_style): ");
diff --git a/src/KIM/pair_kim.h b/src/KIM/pair_kim.h
index 07947f9d189843c65c4ee335aef16df7e84d00cb..fb4cda8af9df96bd29595ceb66753d5d2c24b3c5 100644
--- a/src/KIM/pair_kim.h
+++ b/src/KIM/pair_kim.h
@@ -197,24 +197,40 @@ E: Unknown unit_style
 
 Self-explanatory. Check the input script or data file.
 
-W: KIM Model does not provide 'energy'; Potential energy will be zero
+W: KIM Model does not provide `energy'; Potential energy will be zero
 
-Self-explanatory.
+UNDOCUMENTED
+
+W: KIM Model does not provide `forces'; Forces will be zero
+
+UNDOCUMENTED
+
+W: KIM Model does not provide `particleEnergy'; energy per atom will be zero
+
+UNDOCUMENTED
+
+W: KIM Model does not provide `particleVirial'; virial per atom will be zero
+
+UNDOCUMENTED
 
-W: KIM Model does not provide 'forces'; Forces will be zero
+E: Test_descriptor_string already allocated
+
+This is an internal error.  Contact the developers.
+
+U: KIM Model does not provide 'energy'; Potential energy will be zero
 
 Self-explanatory.
 
-W: KIM Model does not provide 'particleEnergy'; energy per atom will be zero
+U: KIM Model does not provide 'forces'; Forces will be zero
 
 Self-explanatory.
 
-W: KIM Model does not provide 'particleVirial'; virial per atom will be zero
+U: KIM Model does not provide 'particleEnergy'; energy per atom will be zero
 
 Self-explanatory.
 
-E: Test_descriptor_string already allocated
+U: KIM Model does not provide 'particleVirial'; virial per atom will be zero
 
-This is an internal error.  Contact the developers.
+Self-explanatory.
 
 */
diff --git a/src/KIM/pair_kim_version.h b/src/KIM/pair_kim_version.h
deleted file mode 100644
index a92f9dd9261b3afa7757e4ea54c88338a3f3bab3..0000000000000000000000000000000000000000
--- a/src/KIM/pair_kim_version.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/* -*- c++ -*- ----------------------------------------------------------
-   LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
-   http://lammps.sandia.gov, Sandia National Laboratories
-   Steve Plimpton, sjplimp@sandia.gov
-
-   Copyright (2003) Sandia Corporation.  Under the terms of Contract
-   DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
-   certain rights in this software.  This software is distributed under
-   the GNU General Public License.
-
-   See the README file in the top-level LAMMPS directory.
-------------------------------------------------------------------------- */
-
-/* ----------------------------------------------------------------------
-   Contributing authors: Ryan S. Elliott,
-------------------------------------------------------------------------- */
-
-#ifndef LMP_PAIR_KIM_VERSION_H
-#define LMP_PAIR_KIM_VERSION_H
-
-//
-// Release: This file is part of the pair-kim-v1.7.2+1 package.
-//
-
-//
-// This file defines the version information for the pair-kim package.
-// The values specified here must conform to the Semantic Versioning
-// 2.0.0 specification.
-//
-// Generally the version numbering for the pair-kim package will
-// parallel the numbering for the kim-api package.  However, if
-// additional versioning increments are required for the pair-kim
-// package, the build-metatdata field will be used to provide a
-// "sub-patch" version number.
-//
-// The PATCH value should be incremented IMMEDIATELY after an official
-// release.
-//
-// The MINOR value should be incremented AND the PATCH value reset to
-// zero as soon as it becomes clear that the next official release
-// MUST increment the MINOR version value.
-//
-// The MAJOR value should be incremented AND the MINOR and PATCH
-// vaules reset to zero as soon as it becomes clear that the next
-// official release MUST increment the MAJOR version value.
-//
-// The PRERELEASE value can be set to any value allowed by the
-// Semantic Versioning specification.  However, it will generally be
-// empty.  This value should be quoted as a string constant.
-//
-// The BUILD_METADATA value can be set to any value allowed by the
-// Semantic Versioning specification.  However, it will generally be
-// emtpy; Except for when "sub-patch" versioning of the pair-kim
-// package is necessary.  This value should be quoted as a string
-// constant.
-//
-
-#define PAIR_KIM_VERSION_MAJOR 1
-#define PAIR_KIM_VERSION_MINOR 7
-#define PAIR_KIM_VERSION_PATCH 2
-//#define PAIR_KIM_VERSION_PRERELEASE
-#define PAIR_KIM_VERSION_BUILD_METADATA "1"
-
-#endif  /* PAIR_KIM_VERSION_H */
diff --git a/src/KOKKOS/atom_vec_hybrid_kokkos.h b/src/KOKKOS/atom_vec_hybrid_kokkos.h
index fcf48f6c7494e1f281969dc60db5525845da5a65..988de7fa2124e452d8db4bafae5a3db3c6457317 100644
--- a/src/KOKKOS/atom_vec_hybrid_kokkos.h
+++ b/src/KOKKOS/atom_vec_hybrid_kokkos.h
@@ -154,7 +154,15 @@ E: Per-processor system is too big
 The number of owned atoms plus ghost atoms on a single
 processor must fit in 32-bit integer.
 
-E: Invalid atom type in Atoms section of data file
+E: AtomVecHybridKokkos doesn't yet support threaded comm
+
+UNDOCUMENTED
+
+E: Invalid atom h_type in Atoms section of data file
+
+UNDOCUMENTED
+
+U: Invalid atom type in Atoms section of data file
 
 Atom types must range from 1 to specified # of types.
 
diff --git a/src/KOKKOS/improper_class2_kokkos.h b/src/KOKKOS/improper_class2_kokkos.h
index 8effe2950de0b939f77fea50f64ab17d8733e8b9..769ebc655fb551a34a74fb6486a5f5b8b3603c2c 100644
--- a/src/KOKKOS/improper_class2_kokkos.h
+++ b/src/KOKKOS/improper_class2_kokkos.h
@@ -107,7 +107,11 @@ class ImproperClass2Kokkos : public ImproperClass2 {
 
 /* ERROR/WARNING messages:
 
-W: Dihedral problem
+W: Improper problem
+
+UNDOCUMENTED
+
+U: Dihedral problem
 
 Conformation of the 4 listed dihedral atoms is extreme; you may want
 to check your simulation geometry.
diff --git a/src/KOKKOS/kokkos.h b/src/KOKKOS/kokkos.h
index 7b7848f1f08ddfe3dbdbfcadfc13874e53218988..846b7254afe5de89f3739c8ef92ba41b83c078a6 100644
--- a/src/KOKKOS/kokkos.h
+++ b/src/KOKKOS/kokkos.h
@@ -67,7 +67,7 @@ Self-explanatory.  Check the input script syntax and compare to the
 documentation for the command.  You can use -echo screen as a
 command-line option when running LAMMPS to see the offending line.
 
-E: Must use Kokkos half/thread or full neighbor list with threads or GPUs
+U: Must use Kokkos half/thread or full neighbor list with threads or GPUs
 
 Using Kokkos half-neighbor lists with threading is not allowed.
 
diff --git a/src/KOKKOS/pair_reaxc_kokkos.cpp b/src/KOKKOS/pair_reaxc_kokkos.cpp
index 7a72a24e3b434d1f93fbef6d65ef5730c67569fd..9352d8367c441919accde7f5a2c286f739ac26cb 100644
--- a/src/KOKKOS/pair_reaxc_kokkos.cpp
+++ b/src/KOKKOS/pair_reaxc_kokkos.cpp
@@ -89,6 +89,17 @@ PairReaxCKokkos<DeviceType>::~PairReaxCKokkos()
   tmpid = NULL;
   memoryKK->destroy_kokkos(k_tmpbo,tmpbo);
   tmpbo = NULL;
+
+  // deallocate views of views in serial to prevent race condition in profiling tools
+
+  for (int i = 0; i < k_LR.extent(0); i++) {
+    for (int j = 0; j < k_LR.extent(1); j++) {
+      k_LR.h_view(i,j).d_vdW    = decltype(k_LR.h_view(i,j).d_vdW   )();
+      k_LR.h_view(i,j).d_CEvd   = decltype(k_LR.h_view(i,j).d_CEvd  )();
+      k_LR.h_view(i,j).d_ele    = decltype(k_LR.h_view(i,j).d_ele   )();
+      k_LR.h_view(i,j).d_CEclmb = decltype(k_LR.h_view(i,j).d_CEclmb)();
+    }
+  }
 }
 
 /* ---------------------------------------------------------------------- */
@@ -376,47 +387,31 @@ void PairReaxCKokkos<DeviceType>::init_md()
       for (int j = i; j <= ntypes; ++j) {
         int n = LR[i][j].n;
         if (n == 0) continue;
-        k_LR.h_view(i,j).xmin   = LR[i][j].xmin;
-        k_LR.h_view(i,j).xmax   = LR[i][j].xmax;
-        k_LR.h_view(i,j).n      = LR[i][j].n;
         k_LR.h_view(i,j).dx     = LR[i][j].dx;
         k_LR.h_view(i,j).inv_dx = LR[i][j].inv_dx;
-        k_LR.h_view(i,j).a      = LR[i][j].a;
-        k_LR.h_view(i,j).m      = LR[i][j].m;
-        k_LR.h_view(i,j).c      = LR[i][j].c;
 
-        typename LR_lookup_table_kk<DeviceType>::tdual_LR_data_1d           k_y      = typename LR_lookup_table_kk<DeviceType>::tdual_LR_data_1d("lookup:LR[i,j].y",n);
-        typename LR_lookup_table_kk<DeviceType>::tdual_cubic_spline_coef_1d k_H      = typename LR_lookup_table_kk<DeviceType>::tdual_cubic_spline_coef_1d("lookup:LR[i,j].H",n);
         typename LR_lookup_table_kk<DeviceType>::tdual_cubic_spline_coef_1d k_vdW    = typename LR_lookup_table_kk<DeviceType>::tdual_cubic_spline_coef_1d("lookup:LR[i,j].vdW",n);
         typename LR_lookup_table_kk<DeviceType>::tdual_cubic_spline_coef_1d k_CEvd   = typename LR_lookup_table_kk<DeviceType>::tdual_cubic_spline_coef_1d("lookup:LR[i,j].CEvd",n);
         typename LR_lookup_table_kk<DeviceType>::tdual_cubic_spline_coef_1d k_ele    = typename LR_lookup_table_kk<DeviceType>::tdual_cubic_spline_coef_1d("lookup:LR[i,j].ele",n);
         typename LR_lookup_table_kk<DeviceType>::tdual_cubic_spline_coef_1d k_CEclmb = typename LR_lookup_table_kk<DeviceType>::tdual_cubic_spline_coef_1d("lookup:LR[i,j].CEclmb",n);
 
-        k_LR.h_view(i,j).d_y      = k_y.template view<DeviceType>();
-        k_LR.h_view(i,j).d_H      = k_H.template view<DeviceType>();
         k_LR.h_view(i,j).d_vdW    = k_vdW.template view<DeviceType>();
         k_LR.h_view(i,j).d_CEvd   = k_CEvd.template view<DeviceType>();
         k_LR.h_view(i,j).d_ele    = k_ele.template view<DeviceType>();
         k_LR.h_view(i,j).d_CEclmb = k_CEclmb.template view<DeviceType>();
 
         for (int k = 0; k < n; k++) {
-          k_y.h_view(k)      = LR[i][j].y[k];
-          k_H.h_view(k)      = LR[i][j].H[k];
           k_vdW.h_view(k)    = LR[i][j].vdW[k];
           k_CEvd.h_view(k)   = LR[i][j].CEvd[k];
           k_ele.h_view(k)    = LR[i][j].ele[k];
           k_CEclmb.h_view(k) = LR[i][j].CEclmb[k];
         }
 
-        k_y.template modify<LMPHostType>();
-        k_H.template modify<LMPHostType>();
         k_vdW.template modify<LMPHostType>();
         k_CEvd.template modify<LMPHostType>();
         k_ele.template modify<LMPHostType>();
         k_CEclmb.template modify<LMPHostType>();
 
-        k_y.template sync<DeviceType>();
-        k_H.template sync<DeviceType>();
         k_vdW.template sync<DeviceType>();
         k_CEvd.template sync<DeviceType>();
         k_ele.template sync<DeviceType>();
@@ -1216,7 +1211,7 @@ void PairReaxCKokkos<DeviceType>::operator()(PairReaxComputeTabulatedLJCoulomb<N
 
     const int tmin  = MIN( itype, jtype );
     const int tmax  = MAX( itype, jtype );
-    const LR_lookup_table_kk<DeviceType> t = d_LR(tmin,tmax);
+    const LR_lookup_table_kk<DeviceType>& t = d_LR(tmin,tmax);
 
 
     /* Cubic Spline Interpolation */
diff --git a/src/KOKKOS/pair_reaxc_kokkos.h b/src/KOKKOS/pair_reaxc_kokkos.h
index f5a3220c9ab89a601b6b1fdf0b3b836fefb1d637..e69b80c2a7f5bcabdc982c2e133952def3910e1b 100644
--- a/src/KOKKOS/pair_reaxc_kokkos.h
+++ b/src/KOKKOS/pair_reaxc_kokkos.h
@@ -42,21 +42,11 @@ namespace LAMMPS_NS {
 template<class DeviceType>
 struct LR_lookup_table_kk
 {
-  typedef Kokkos::DualView<LR_data*,Kokkos::LayoutRight,DeviceType> tdual_LR_data_1d;
-  typedef typename tdual_LR_data_1d::t_dev t_LR_data_1d;
-
   typedef Kokkos::DualView<cubic_spline_coef*,Kokkos::LayoutRight,DeviceType> tdual_cubic_spline_coef_1d;
   typedef typename tdual_cubic_spline_coef_1d::t_dev t_cubic_spline_coef_1d;
 
-  double xmin, xmax;
-  int n;
   double dx, inv_dx;
-  double a;
-  double m;
-  double c;
 
-  t_LR_data_1d d_y;
-  t_cubic_spline_coef_1d d_H;
   t_cubic_spline_coef_1d d_vdW, d_CEvd;
   t_cubic_spline_coef_1d d_ele, d_CEclmb;
 };
diff --git a/src/KOKKOS/pair_table_kokkos.h b/src/KOKKOS/pair_table_kokkos.h
index 9e785b68fd61ed194ef0ff64a24255711c649c8a..eede023d7e57c603ec72f93f5f2f3d4becb65fc1 100644
--- a/src/KOKKOS/pair_table_kokkos.h
+++ b/src/KOKKOS/pair_table_kokkos.h
@@ -187,14 +187,6 @@ class PairTableKokkos : public PairTable {
 
 /* ERROR/WARNING messages:
 
-E: Pair distance < table inner cutoff
-
-Two atoms are closer together than the pairwise table allows.
-
-E: Pair distance > table outer cutoff
-
-Two atoms are further apart than the pairwise table allows.
-
 E: Illegal ... command
 
 Self-explanatory.  Check the input script syntax and compare to the
@@ -209,54 +201,62 @@ E: Illegal number of pair table entries
 
 There must be at least 2 table entries.
 
-E: Invalid pair table length
+E: All pair coeffs are not set
+
+All pair coefficients must be set in the data file or by the
+pair_coeff command before running a simulation.
+
+E: Cannot use chosen neighbor list style with lj/cut/kk
+
+That style is not supported by Kokkos.
+
+U: Pair distance < table inner cutoff
+
+Two atoms are closer together than the pairwise table allows.
+
+U: Pair distance > table outer cutoff
+
+Two atoms are further apart than the pairwise table allows.
+
+U: Invalid pair table length
 
 Length of read-in pair table is invalid
 
-E: Invalid pair table cutoff
+U: Invalid pair table cutoff
 
 Cutoffs in pair_coeff command are not valid with read-in pair table.
 
-E: Bitmapped table in file does not match requested table
+U: Bitmapped table in file does not match requested table
 
 Setting for bitmapped table in pair_coeff command must match table
 in file exactly.
 
-E: All pair coeffs are not set
-
-All pair coefficients must be set in the data file or by the
-pair_coeff command before running a simulation.
-
-E: Cannot open file %s
+U: Cannot open file %s
 
 The specified file cannot be opened.  Check that the path and name are
 correct. If the file is a compressed file, also check that the gzip
 executable can be found and run.
 
-E: Did not find keyword in table file
+U: Did not find keyword in table file
 
 Keyword used in pair_coeff command was not found in table file.
 
-E: Bitmapped table is incorrect length in table file
+U: Bitmapped table is incorrect length in table file
 
 Number of table entries is not a correct power of 2.
 
-E: Invalid keyword in pair table parameters
+U: Invalid keyword in pair table parameters
 
 Keyword used in list of table parameters is not recognized.
 
-E: Pair table parameters did not set N
+U: Pair table parameters did not set N
 
 List of pair table parameters must include N setting.
 
-E: Pair table cutoffs must all be equal to use with KSpace
+U: Pair table cutoffs must all be equal to use with KSpace
 
 When using pair style table with a long-range KSpace solver, the
 cutoffs for all atom type pairs must all be the same, since the
 long-range solver starts at that cutoff.
 
-E: Cannot use chosen neighbor list style with lj/cut/kk
-
-That style is not supported by Kokkos.
-
 */
diff --git a/src/KOKKOS/pair_yukawa_kokkos.h b/src/KOKKOS/pair_yukawa_kokkos.h
index a4c8cf05b781ddbfd7ad65c53eb900aba7e4a9a0..5f4e8236579ff6046fc07310df4be8a7f80301c8 100644
--- a/src/KOKKOS/pair_yukawa_kokkos.h
+++ b/src/KOKKOS/pair_yukawa_kokkos.h
@@ -129,18 +129,22 @@ class PairYukawaKokkos : public PairYukawa {
 
 /* ERROR/WARNING messages:
 
-E: Illegal ... command
+E: Cannot use Kokkos pair style with rRESPA inner/middle
+
+UNDOCUMENTED
+
+E: Cannot use chosen neighbor list style with yukawa/kk
+
+That style is not supported by Kokkos.
+
+U: Illegal ... command
 
 Self-explanatory.  Check the input script syntax and compare to the
 documentation for the command.  You can use -echo screen as a
 command-line option when running LAMMPS to see the offending line.
 
-E: Incorrect args for pair coefficients
+U: Incorrect args for pair coefficients
 
 Self-explanatory.  Check the input script or data file.
 
-E: Cannot use chosen neighbor list style with yukawa/kk
-
-That style is not supported by Kokkos.
-
 */
diff --git a/src/KOKKOS/pair_zbl_kokkos.h b/src/KOKKOS/pair_zbl_kokkos.h
index fc54fa7092b18fc140b362312ce19cadbda6605e..ce3fe58640abf6d45a12981f7cd6fab47b3c1051 100644
--- a/src/KOKKOS/pair_zbl_kokkos.h
+++ b/src/KOKKOS/pair_zbl_kokkos.h
@@ -110,4 +110,12 @@ class PairZBLKokkos : public PairZBL {
 
 /* ERROR/WARNING messages:
 
+E: Cannot use Kokkos pair style with rRESPA inner/middle
+
+UNDOCUMENTED
+
+E: Cannot use chosen neighbor list style with lj/cut/kk
+
+UNDOCUMENTED
+
 */
diff --git a/src/KOKKOS/pppm_kokkos.h b/src/KOKKOS/pppm_kokkos.h
index c328b488d0260e5e4c45993f6b83ee4846a392e9..2d2b94bb49b329ae2edf289eacd0b97c9e7e0b25 100644
--- a/src/KOKKOS/pppm_kokkos.h
+++ b/src/KOKKOS/pppm_kokkos.h
@@ -432,9 +432,9 @@ Self-explanatory.  Check the input script syntax and compare to the
 documentation for the command.  You can use -echo screen as a
 command-line option when running LAMMPS to see the offending line.
 
-E: Cannot (yet) use PPPM with triclinic box and kspace_modify diff ad
+E: Cannot (yet) use PPPM Kokkos with 'kspace_modify diff ad'
 
-This feature is not yet supported.
+UNDOCUMENTED
 
 E: Cannot (yet) use PPPM with triclinic box and slab correction
 
@@ -449,9 +449,9 @@ E: PPPM can only currently be used with comm_style brick
 
 This is a current restriction in LAMMPS.
 
-E: Kspace style requires atom attribute q
+E: Kspace style requires atomKK attribute q
 
-The atom style defined does not have these attributes.
+UNDOCUMENTED
 
 E: Cannot use nonperiodic boundaries with PPPM
 
@@ -473,26 +473,9 @@ E: KSpace style is incompatible with Pair style
 Setting a kspace style requires that a pair style with matching
 long-range Coulombic or dispersion components be used.
 
-E: Pair style is incompatible with TIP4P KSpace style
-
-The pair style does not have the requires TIP4P settings.
-
-E: Bond and angle potentials must be defined for TIP4P
-
-Cannot use TIP4P pair potential unless bond and angle potentials
-are defined.
-
-E: Bad TIP4P angle type for PPPM/TIP4P
+E: Cannot (yet) use PPPM Kokkos TIP4P
 
-Specified angle type is not valid.
-
-E: Bad TIP4P bond type for PPPM/TIP4P
-
-Specified bond type is not valid.
-
-E: Cannot (yet) use PPPM with triclinic box and TIP4P
-
-This feature is not yet supported.
+UNDOCUMENTED
 
 W: Reducing PPPM order b/c stencil extends beyond nearest neighbor processor
 
@@ -512,11 +495,9 @@ E: KSpace accuracy must be > 0
 
 The kspace accuracy designated in the input must be greater than zero.
 
-E: Could not compute grid size
+E: Must use 'kspace_modify gewald' for uncharged system
 
-The code is unable to compute a grid size consistent with the desired
-accuracy.  This error should not occur for typical problems.  Please
-send an email to the developers.
+UNDOCUMENTED
 
 E: PPPM grid is too large
 
@@ -550,4 +531,39 @@ outside a processor's sub-domain or even the entire simulation box.
 This indicates bad physics, e.g. due to highly overlapping atoms, too
 large a timestep, etc.
 
+U: Cannot (yet) use PPPM with triclinic box and kspace_modify diff ad
+
+This feature is not yet supported.
+
+U: Kspace style requires atom attribute q
+
+The atom style defined does not have these attributes.
+
+U: Pair style is incompatible with TIP4P KSpace style
+
+The pair style does not have the requires TIP4P settings.
+
+U: Bond and angle potentials must be defined for TIP4P
+
+Cannot use TIP4P pair potential unless bond and angle potentials
+are defined.
+
+U: Bad TIP4P angle type for PPPM/TIP4P
+
+Specified angle type is not valid.
+
+U: Bad TIP4P bond type for PPPM/TIP4P
+
+Specified bond type is not valid.
+
+U: Cannot (yet) use PPPM with triclinic box and TIP4P
+
+This feature is not yet supported.
+
+U: Could not compute grid size
+
+The code is unable to compute a grid size consistent with the desired
+accuracy.  This error should not occur for typical problems.  Please
+send an email to the developers.
+
 */
diff --git a/src/KSPACE/ewald.h b/src/KSPACE/ewald.h
index 2463dd11aa1e1996555c47c1d4935f4031f997ed..d9ff68dd082444123d562ceb223f3d3f3349e139 100644
--- a/src/KSPACE/ewald.h
+++ b/src/KSPACE/ewald.h
@@ -122,6 +122,10 @@ E: KSpace accuracy must be > 0
 
 The kspace accuracy designated in the input must be greater than zero.
 
+E: Must use 'kspace_modify gewald' for uncharged system
+
+UNDOCUMENTED
+
 E: Cannot (yet) use K-space slab correction with compute group/group for triclinic systems
 
 This option is not yet supported.
diff --git a/src/KSPACE/ewald_disp.h b/src/KSPACE/ewald_disp.h
index 0d0385a6216b77061940ea2eb3e153a144719bd4..946b40b1938fce64c754530f185b5dfac0b657c2 100644
--- a/src/KSPACE/ewald_disp.h
+++ b/src/KSPACE/ewald_disp.h
@@ -146,6 +146,14 @@ W: System is not charge neutral, net charge = %g
 The total charge on all atoms on the system is not 0.0.
 For some KSpace solvers this is only a warning.
 
+E: KSpace accuracy must be > 0
+
+UNDOCUMENTED
+
+E: Must use 'kspace_modify gewald' for uncharged system
+
+UNDOCUMENTED
+
 W: Ewald/disp Newton solver failed, using old method to estimate g_ewald
 
 Self-explanatory. Choosing a different cutoff value may help.
diff --git a/src/KSPACE/pair_buck_long_coul_long.h b/src/KSPACE/pair_buck_long_coul_long.h
index 40fe7c417fa614f3db4133d00e6bacd380145bfe..760ed5404a098dd4546602547480cdaac7da5e51 100644
--- a/src/KSPACE/pair_buck_long_coul_long.h
+++ b/src/KSPACE/pair_buck_long_coul_long.h
@@ -101,9 +101,9 @@ E: Incorrect args for pair coefficients
 
 Self-explanatory.  Check the input script or data file.
 
-E: Pair style buck/long/coul/long requires atom attribute q
+E: Invoking coulombic in pair style buck/long/coul/long requires atom attribute q
 
-The atom style defined does not have this attribute.
+UNDOCUMENTED
 
 E: Pair style requires a KSpace style
 
@@ -119,4 +119,8 @@ E: Pair cutoff < Respa interior cutoff
 One or more pairwise cutoffs are too short to use with the specified
 rRESPA cutoffs.
 
+U: Pair style buck/long/coul/long requires atom attribute q
+
+The atom style defined does not have this attribute.
+
 */
diff --git a/src/KSPACE/pair_lj_long_coul_long.h b/src/KSPACE/pair_lj_long_coul_long.h
index f11c81e28915fe19adc7c6cf13391493a5d54c03..3153fcb8a8209304ae8151fb9d77b592af4d474c 100644
--- a/src/KSPACE/pair_lj_long_coul_long.h
+++ b/src/KSPACE/pair_lj_long_coul_long.h
@@ -97,9 +97,9 @@ E: Incorrect args for pair coefficients
 
 Self-explanatory.  Check the input script or data file.
 
-E: Invoking coulombic in pair style lj/coul requires atom attribute q
+E: Invoking coulombic in pair style lj/long/coul/long requires atom attribute q
 
-The atom style defined does not have this attribute.
+UNDOCUMENTED
 
 E: Pair style requires a KSpace style
 
@@ -110,4 +110,8 @@ E: Pair cutoff < Respa interior cutoff
 One or more pairwise cutoffs are too short to use with the specified
 rRESPA cutoffs.
 
+U: Invoking coulombic in pair style lj/coul requires atom attribute q
+
+The atom style defined does not have this attribute.
+
 */
diff --git a/src/KSPACE/pppm.h b/src/KSPACE/pppm.h
index b543c5fd3df3cd80ce16f93072593e8076e1aec0..9cb6bebb253125a57dc4c0e88cbfc003ff3d4d62 100644
--- a/src/KSPACE/pppm.h
+++ b/src/KSPACE/pppm.h
@@ -209,6 +209,10 @@ Self-explanatory.  Check the input script syntax and compare to the
 documentation for the command.  You can use -echo screen as a
 command-line option when running LAMMPS to see the offending line.
 
+E: Must redefine kspace_style after changing to triclinic box
+
+UNDOCUMENTED
+
 E: Cannot (yet) use PPPM with triclinic box and kspace_modify diff ad
 
 This feature is not yet supported.
@@ -267,10 +271,6 @@ E: Bad TIP4P bond type for PPPM/TIP4P
 
 Specified bond type is not valid.
 
-E: Cannot (yet) use PPPM with triclinic box and TIP4P
-
-This feature is not yet supported.
-
 W: Reducing PPPM order b/c stencil extends beyond nearest neighbor processor
 
 This may lead to a larger grid than desired.  See the kspace_modify overlap
@@ -289,6 +289,10 @@ E: KSpace accuracy must be > 0
 
 The kspace accuracy designated in the input must be greater than zero.
 
+E: Must use kspace_modify gewald for uncharged system
+
+UNDOCUMENTED
+
 E: Could not compute grid size
 
 The code is unable to compute a grid size consistent with the desired
@@ -335,4 +339,8 @@ E: Cannot (yet) use kspace_modify diff ad with compute group/group
 
 This option is not yet supported.
 
+U: Cannot (yet) use PPPM with triclinic box and TIP4P
+
+This feature is not yet supported.
+
 */
diff --git a/src/LATTE/fix_latte.h b/src/LATTE/fix_latte.h
index 86a58fdf3f6de39c061206c0414ab5ef4f0fc63f..46c65b201696d2acdcb257d2182690e710a14115 100644
--- a/src/LATTE/fix_latte.h
+++ b/src/LATTE/fix_latte.h
@@ -64,10 +64,54 @@ class FixLatte : public Fix {
 
 /* ERROR/WARNING messages:
 
+E: Must use units metal with fix latte command
+
+UNDOCUMENTED
+
+E: Fix latte currently runs only in serial
+
+UNDOCUMENTED
+
+E: LAMMPS is linked against incompatible LATTE library
+
+UNDOCUMENTED
+
 E: Illegal ... command
 
 Self-explanatory.  Check the input script syntax and compare to the
 documentation for the command.  You can use -echo screen as a
 command-line option when running LAMMPS to see the offending line.
 
+E: Fix latte does not yet support a LAMMPS calculation of a Coulomb potential
+
+UNDOCUMENTED
+
+E: Could not find fix latte compute ID
+
+UNDOCUMENTED
+
+E: Fix latte compute ID does not compute pe/atom
+
+UNDOCUMENTED
+
+E: Fix latte requires 3d problem
+
+UNDOCUMENTED
+
+E: Fix latte cannot compute Coulomb potential
+
+UNDOCUMENTED
+
+E: Fix latte requires 3d simulation
+
+UNDOCUMENTED
+
+W: Fix latte should come after all other integration fixes
+
+UNDOCUMENTED
+
+E: Internal LATTE problem
+
+UNDOCUMENTED
+
 */
diff --git a/src/MAKE/OPTIONS/Makefile.kokkos_cuda_mpi b/src/MAKE/OPTIONS/Makefile.kokkos_cuda_mpi
index 54122c1b19811665de75b321cb1ec4dc7fb47d22..d6c5c566aa5e07f67c7c09429a1ca78a9ba903f4 100644
--- a/src/MAKE/OPTIONS/Makefile.kokkos_cuda_mpi
+++ b/src/MAKE/OPTIONS/Makefile.kokkos_cuda_mpi
@@ -23,7 +23,7 @@ ARCHIVE =	ar
 ARFLAGS =	-rc
 SHLIBFLAGS =	-shared
 KOKKOS_DEVICES = Cuda
-KOKKOS_ARCH =   Kepler35
+KOKKOS_ARCH = Kepler35
 
 # ---------------------------------------------------------------------
 # LAMMPS-specific settings, all OPTIONAL
diff --git a/src/MANYBODY/pair_bop.h b/src/MANYBODY/pair_bop.h
index f50c5edd00f7d73c90f2419319de6026a6937641..ec6448db47c19cc53616a1945ecd74fff619c267 100644
--- a/src/MANYBODY/pair_bop.h
+++ b/src/MANYBODY/pair_bop.h
@@ -286,4 +286,8 @@ E: Incorrect table format check for element types
 
 Self-explanatory.
 
+E: Unsupported BOP potential file format
+
+UNDOCUMENTED
+
 */
diff --git a/src/MANYBODY/pair_eam.h b/src/MANYBODY/pair_eam.h
index f0e9d77ceeb6d604259f6edba2f0e064dc0b9b6a..63fdde9fc5a7a060e00ec704c2522fad0526a79a 100644
--- a/src/MANYBODY/pair_eam.h
+++ b/src/MANYBODY/pair_eam.h
@@ -134,4 +134,8 @@ E: Cannot open EAM potential file %s
 The specified EAM potential file cannot be opened.  Check that the
 path and name are correct.
 
+E: Invalid EAM potential file
+
+UNDOCUMENTED
+
 */
diff --git a/src/MANYBODY/pair_eam_alloy.h b/src/MANYBODY/pair_eam_alloy.h
index 54a21e7e431b9f24bb0586cc819ee54e7dc0905b..1a13af278c958fb94b837b4c0b47e9895772fcfa 100644
--- a/src/MANYBODY/pair_eam_alloy.h
+++ b/src/MANYBODY/pair_eam_alloy.h
@@ -62,4 +62,8 @@ E: Incorrect element names in EAM potential file
 
 The element names in the EAM file do not match those requested.
 
+E: Invalid EAM potential file
+
+UNDOCUMENTED
+
 */
diff --git a/src/MANYBODY/pair_eam_fs.h b/src/MANYBODY/pair_eam_fs.h
index 80560f0730fdb6675758c9f4343495d80cd6b142..3fb0d0bc809870f3cd595548d54142cc6d28074c 100644
--- a/src/MANYBODY/pair_eam_fs.h
+++ b/src/MANYBODY/pair_eam_fs.h
@@ -62,4 +62,8 @@ E: Incorrect element names in EAM potential file
 
 The element names in the EAM file do not match those requested.
 
+E: Invalid EAM potential file
+
+UNDOCUMENTED
+
 */
diff --git a/src/MANYBODY/pair_gw.cpp b/src/MANYBODY/pair_gw.cpp
index e4090dbed2e38406ecf3f52476cc968bea6c2206..8befa42d1c6ec5f022eb18ddf7c435253e9a0a1e 100644
--- a/src/MANYBODY/pair_gw.cpp
+++ b/src/MANYBODY/pair_gw.cpp
@@ -521,7 +521,8 @@ void PairGW::setup_params()
         for (m = 0; m < nparams; m++) {
           if (i == params[m].ielement && j == params[m].jelement &&
               k == params[m].kelement) {
-            if (n >= 0) error->all(FLERR,"Potential file has duplicate entry");
+            if (n >= 0) 
+              error->all(FLERR,"Potential file has duplicate entry");
             n = m;
           }
         }
diff --git a/src/MANYBODY/pair_gw.h b/src/MANYBODY/pair_gw.h
index 00cbaa2beb6192bceaf49e10bc614275afa59851..ae15b7d275d5ec9df7007c857daa84118c9fd244 100644
--- a/src/MANYBODY/pair_gw.h
+++ b/src/MANYBODY/pair_gw.h
@@ -185,12 +185,10 @@ invalid.
 
 E: Potential file has duplicate entry
 
-The potential file for a SW or GW potential has more than
-one entry for the same 3 ordered elements.
+The potential file has more than one entry for the same element.
 
 E: Potential file is missing an entry
 
-The potential file for a SW or GW potential does not have a
-needed entry.
+The potential file does not have a needed entry.
 
 */
diff --git a/src/MANYBODY/pair_gw_zbl.h b/src/MANYBODY/pair_gw_zbl.h
index 0ed7f1de569ccea9a3fd3ae6bb276e4548175b97..62b3f9a43f3b7cbeb5e09eecc6f39c87ca0f9745 100644
--- a/src/MANYBODY/pair_gw_zbl.h
+++ b/src/MANYBODY/pair_gw_zbl.h
@@ -51,9 +51,9 @@ class PairGWZBL : public PairGW {
 
 /* ERROR/WARNING messages:
 
-E: Pair GW/zbl requires metal or real units
+E: Pair gw/zbl requires metal or real units
 
-This is a current restriction of this pair potential.
+UNDOCUMENTED
 
 E: Cannot open GW potential file %s
 
@@ -69,4 +69,8 @@ E: Illegal GW parameter
 One or more of the coefficients defined in the potential file is
 invalid.
 
+U: Pair GW/zbl requires metal or real units
+
+This is a current restriction of this pair potential.
+
 */
diff --git a/src/MANYBODY/pair_polymorphic.h b/src/MANYBODY/pair_polymorphic.h
index 8855ce7c25c6c1e951d8a9e7f83416c1f8f04bb6..3b5407f802938e4e78cf42e9a5669278ea92a402 100644
--- a/src/MANYBODY/pair_polymorphic.h
+++ b/src/MANYBODY/pair_polymorphic.h
@@ -358,4 +358,12 @@ E: Element not defined in potential file
 
 The specified element is not in the potential file.
 
+E: Potential file incompatible with this pair style version
+
+UNDOCUMENTED
+
+E: Error reading potential file header
+
+UNDOCUMENTED
+
 */
diff --git a/src/MANYBODY/pair_tersoff_mod_c.h b/src/MANYBODY/pair_tersoff_mod_c.h
index 5372bc2b15a5c88d9fa0d0e8734a5dfb3e36189f..e7e32a0a668633d5bb3b067a4a762cfc8aa2a1e1 100644
--- a/src/MANYBODY/pair_tersoff_mod_c.h
+++ b/src/MANYBODY/pair_tersoff_mod_c.h
@@ -55,11 +55,11 @@ E: Illegal Tersoff parameter
 One or more of the coefficients defined in the potential file is
 invalid.
 
-E: Potential file has duplicate entry
+U: Potential file has duplicate entry
 
 The potential file has more than one entry for the same element.
 
-E: Potential file is missing an entry
+U: Potential file is missing an entry
 
 The potential file does not have a needed entry.
 
diff --git a/src/MANYBODY/pair_vashishta_table.h b/src/MANYBODY/pair_vashishta_table.h
index 8c52f967cb55892e2a4f230d1937393466816ddf..cf3bb19232fc90ed4281f02e8a542be81e6cf03e 100644
--- a/src/MANYBODY/pair_vashishta_table.h
+++ b/src/MANYBODY/pair_vashishta_table.h
@@ -57,43 +57,47 @@ Self-explanatory.  Check the input script syntax and compare to the
 documentation for the command.  You can use -echo screen as a
 command-line option when running LAMMPS to see the offending line.
 
-E: Incorrect args for pair coefficients
+E: Illegal inner cutoff for tabulation
+
+UNDOCUMENTED
+
+U: Incorrect args for pair coefficients
 
 Self-explanatory.  Check the input script or data file.
 
-E: Pair style Vashishta requires atom IDs
+U: Pair style Vashishta requires atom IDs
 
 This is a requirement to use the Vashishta potential.
 
-E: Pair style Vashishta requires newton pair on
+U: Pair style Vashishta requires newton pair on
 
 See the newton command.  This is a restriction to use the Vashishta
 potential.
 
-E: All pair coeffs are not set
+U: All pair coeffs are not set
 
 All pair coefficients must be set in the data file or by the
 pair_coeff command before running a simulation.
 
-E: Cannot open Vashishta potential file %s
+U: Cannot open Vashishta potential file %s
 
 The specified Vashishta potential file cannot be opened.  Check that the path
 and name are correct.
 
-E: Incorrect format in Vashishta potential file
+U: Incorrect format in Vashishta potential file
 
 Incorrect number of words per line in the potential file.
 
-E: Illegal Vashishta parameter
+U: Illegal Vashishta parameter
 
 One or more of the coefficients defined in the potential file is
 invalid.
 
-E: Potential file has duplicate entry
+U: Potential file has duplicate entry
 
 The potential file has more than one entry for the same element.
 
-E: Potential file is missing an entry
+U: Potential file is missing an entry
 
 The potential file does not have a needed entry.
 
diff --git a/src/MC/fix_gcmc.cpp b/src/MC/fix_gcmc.cpp
index 7ee9cd028ef0f2eb21c2f9f6f8b0acc3af9cf5cc..f2c41c9ccf0559ee3103c99d62994d95e2af907d 100644
--- a/src/MC/fix_gcmc.cpp
+++ b/src/MC/fix_gcmc.cpp
@@ -686,7 +686,7 @@ void FixGCMC::init()
 
   // warning if group id is "all"
 
-  if (groupbit & 1)
+  if ((comm->me == 0) && (groupbit & 1))
     error->warning(FLERR, "Fix gcmc is being applied "
                    "to the default group all");
 
@@ -1253,6 +1253,10 @@ void FixGCMC::attempt_molecule_deletion()
 
   if (ngas == 0) return;
 
+  // work-around to avoid n=0 problem with fix rigid/nvt/small
+
+  if (ngas == natoms_per_molecule) return;
+
   tagint deletion_molecule = pick_random_gas_molecule();
   if (deletion_molecule == -1) return;
 
@@ -1910,6 +1914,10 @@ void FixGCMC::attempt_molecule_deletion_full()
 
   if (ngas == 0) return;
 
+  // work-around to avoid n=0 problem with fix rigid/nvt/small
+
+  if (ngas == natoms_per_molecule) return;
+
   tagint deletion_molecule = pick_random_gas_molecule();
   if (deletion_molecule == -1) return;
 
diff --git a/src/MC/fix_gcmc.h b/src/MC/fix_gcmc.h
index 40e8ba28fe1943a1f44866475ac430a46e641ae5..e8de53215fcd319bb0ecc62fb42c2ec11071c150 100644
--- a/src/MC/fix_gcmc.h
+++ b/src/MC/fix_gcmc.h
@@ -197,10 +197,26 @@ E: Fix gcmc atom has charge, but atom style does not
 
 Self-explanatory.
 
+E: Cannot use fix gcmc rigid and not molecule
+
+UNDOCUMENTED
+
 E: Cannot use fix gcmc shake and not molecule
 
 Self-explanatory.
 
+E: Cannot use fix gcmc rigid and shake
+
+UNDOCUMENTED
+
+E: Cannot use fix gcmc rigid with MC moves
+
+UNDOCUMENTED
+
+E: Cannot use fix gcmc shake with MC moves
+
+UNDOCUMENTED
+
 E: Molecule template ID for fix gcmc does not exist
 
 Self-explanatory.
@@ -222,17 +238,6 @@ included one or more of the following: kspace, a hybrid
 pair style, an eam pair style, tail correction,
 or no "single" function for the pair style.
 
-W: Energy of old configuration in fix gcmc is > MAXENERGYTEST.
-
-This probably means that a pair of atoms are closer than the
-overlap cutoff distance for keyword overlap_cutoff.
-
-W: Fix gcmc is being applied to the default group all
-
-This is allowed, but it will result in Monte Carlo moves
-being performed on all the atoms in the system, which is
-often not what is intended.
-
 E: Invalid atom type in fix gcmc command
 
 The atom type specified in the gcmc command does not exist.
@@ -256,15 +261,19 @@ Should not choose the gcmc molecule feature if no molecules are being
 simulated. The general molecule flag is off, but gcmc's molecule flag
 is on.
 
-E: Fix gcmc shake fix does not exist
+E: Fix gcmc rigid fix does not exist
 
-Self-explanatory.
+UNDOCUMENTED
 
-E: Fix gcmc and fix shake not using same molecule template ID
+E: Fix gcmc and fix rigid/small not using same molecule template ID
+
+UNDOCUMENTED
+
+E: Fix gcmc shake fix does not exist
 
 Self-explanatory.
 
-E: Fix gcmc can not currently be used with fix rigid or fix rigid/small
+E: Fix gcmc and fix shake not using same molecule template ID
 
 Self-explanatory.
 
@@ -291,10 +300,25 @@ E: Cannot do GCMC on atoms in atom_modify first group
 This is a restriction due to the way atoms are organized in a list to
 enable the atom_modify first command.
 
+W: Fix gcmc is being applied to the default group all
+
+This is allowed, but it will result in Monte Carlo moves
+being performed on all the atoms in the system, which is
+often not what is intended.
+
 E: Could not find specified fix gcmc group ID
 
 Self-explanatory.
 
+E: fix gcmc does currently not support full_energy option with molecules on more than 1 MPI process.
+
+UNDOCUMENTED
+
+W: Energy of old configuration in fix gcmc is > MAXENERGYTEST.
+
+This probably means that a pair of atoms are closer than the
+overlap cutoff distance for keyword overlap_cutoff.
+
 E: Fix gcmc put atom outside box
 
 This should not normally happen.  Contact the developers.
@@ -311,4 +335,8 @@ E: Too many total atoms
 
 See the setting for bigint in the src/lmptype.h file.
 
+U: Fix gcmc can not currently be used with fix rigid or fix rigid/small
+
+Self-explanatory.
+
 */
diff --git a/src/MEAM/pair_meam.h b/src/MEAM/pair_meam.h
index c035009ad990b781d473f90199050ee1c9e13362..24aec1c3ed419713c3ea0cf7deb2106d779bc191 100644
--- a/src/MEAM/pair_meam.h
+++ b/src/MEAM/pair_meam.h
@@ -106,6 +106,10 @@ class PairMEAM : public Pair {
 
 /* ERROR/WARNING messages:
 
+W: The pair_style meam command is unsupported. Please use pair_style meam/c instead
+
+UNDOCUMENTED
+
 E: MEAM library error %d
 
 A call to the MEAM Fortran library returned an error.
diff --git a/src/MISC/fix_deposit.h b/src/MISC/fix_deposit.h
index 4663cf6647cc1dc94f0560929439497a2068e5e0..46de781d8998f4c47a4bc0f75c8ff83afcee27ac 100644
--- a/src/MISC/fix_deposit.h
+++ b/src/MISC/fix_deposit.h
@@ -137,9 +137,9 @@ E: Region ID for fix deposit does not exist
 
 Self-explanatory.
 
-E: Fix pour rigid fix does not exist
+E: Fix deposit rigid fix does not exist
 
-Self-explanatory.
+UNDOCUMENTED
 
 E: Fix deposit and fix rigid/small not using same molecule template ID
 
@@ -159,6 +159,10 @@ This test is performed for finite size particles with a diameter, not
 for point particles.  The near setting is smaller than the particle
 diameter which can lead to overlaps.
 
+E: Unknown particle distribution in fix deposit
+
+UNDOCUMENTED
+
 W: Particle deposition was unsuccessful
 
 The fix deposit command was not able to insert as many atoms as
@@ -177,4 +181,8 @@ E: Molecule template ID for fix deposit does not exist
 
 Self-explanatory.
 
+U: Fix pour rigid fix does not exist
+
+Self-explanatory.
+
 */
diff --git a/src/MOLECULE/angle_table.h b/src/MOLECULE/angle_table.h
index cb04aa61253657b4a30bf53d7b8ddb5e07673cd9..984c5dc640eafb82eacdcc85ef1e3842f2754c89 100644
--- a/src/MOLECULE/angle_table.h
+++ b/src/MOLECULE/angle_table.h
@@ -117,4 +117,8 @@ E: Angle table parameters did not set N
 
 List of angle table parameters must include N setting.
 
+E: Illegal angle in angle style table
+
+UNDOCUMENTED
+
 */
diff --git a/src/MOLECULE/bond_table.h b/src/MOLECULE/bond_table.h
index 8b84b1b66d6540abb9115dd72252ee36b74985e5..ee053d497bb4b2960b1ec174e86ae90b152aa05c 100644
--- a/src/MOLECULE/bond_table.h
+++ b/src/MOLECULE/bond_table.h
@@ -110,6 +110,18 @@ E: Did not find keyword in table file
 
 Keyword used in pair_coeff command was not found in table file.
 
+E: Premature end of file in bond table
+
+UNDOCUMENTED
+
+W: %d of %d force values in table are inconsistent with -dE/dr.\n  Should only be flagged at inflection points
+
+UNDOCUMENTED
+
+W: %d of %d lines in table were incomplete or could not be parsed completely
+
+UNDOCUMENTED
+
 E: Invalid keyword in bond table parameters
 
 Self-explanatory.
@@ -118,4 +130,16 @@ E: Bond table parameters did not set N
 
 List of bond table parameters must include N setting.
 
+E: Illegal bond in bond style table
+
+UNDOCUMENTED
+
+E: Bond length < table inner cutoff: type %d length %g
+
+UNDOCUMENTED
+
+E: Bond length > table outer cutoff: type %d length %g
+
+UNDOCUMENTED
+
 */
diff --git a/src/MOLECULE/dihedral_charmm.h b/src/MOLECULE/dihedral_charmm.h
index 411646990494726c07a10c6c364d6bf8c83ec05d..2f8a6a667924473d0b8ecd0e3ec19f426355c13d 100644
--- a/src/MOLECULE/dihedral_charmm.h
+++ b/src/MOLECULE/dihedral_charmm.h
@@ -69,6 +69,18 @@ E: Incorrect weight arg for dihedral coefficients
 
 Self-explanatory.  Check the input script or data file.
 
+E: Dihedral style charmm must be set to same r-RESPA level as 'pair'
+
+UNDOCUMENTED
+
+E: Dihedral style charmm must be set to same r-RESPA level as 'outer'
+
+UNDOCUMENTED
+
+E: Must use 'special_bonds charmm' with dihedral style charmm for use with CHARMM pair styles
+
+UNDOCUMENTED
+
 E: Dihedral charmm is incompatible with Pair style
 
 Dihedral style charmm must be used with a pair style charmm
diff --git a/src/MOLECULE/dihedral_charmmfsw.h b/src/MOLECULE/dihedral_charmmfsw.h
index ab0ccf675dad3f9667f24cc26ba9815eb307b14e..3c93f8abcf127edc56cb8d8ba16b6374ed94a961 100644
--- a/src/MOLECULE/dihedral_charmmfsw.h
+++ b/src/MOLECULE/dihedral_charmmfsw.h
@@ -73,6 +73,18 @@ E: Incorrect weight arg for dihedral coefficients
 
 Self-explanatory.  Check the input script or data file.
 
+E: Dihedral style charmmfsw must be set to same r-RESPA level as 'pair'
+
+UNDOCUMENTED
+
+E: Dihedral style charmmfsw must be set to same r-RESPA level as 'outer'
+
+UNDOCUMENTED
+
+E: Must use 'special_bonds charmm' with dihedral style charmm for use with CHARMM pair styles
+
+UNDOCUMENTED
+
 E: Dihedral charmmfsw is incompatible with Pair style
 
 Dihedral style charmmfsw must be used with a pair style charmm
diff --git a/src/MOLECULE/fix_cmap.h b/src/MOLECULE/fix_cmap.h
index 0ab3170221c996033b5f4eff5ff299143f5ed830..39d10bd77b55cca608c67d8968cebffecf314ee4 100644
--- a/src/MOLECULE/fix_cmap.h
+++ b/src/MOLECULE/fix_cmap.h
@@ -128,3 +128,39 @@ class FixCMAP : public Fix {
 
 #endif
 #endif
+
+/* ERROR/WARNING messages:
+
+E: Illegal ... command
+
+UNDOCUMENTED
+
+E: CMAP atoms %d %d %d %d %d missing on proc %d at step %ld
+
+UNDOCUMENTED
+
+E: Invalid CMAP crossterm_type
+
+UNDOCUMENTED
+
+E: Cannot open fix cmap file %s
+
+UNDOCUMENTED
+
+E: CMAP: atan2 function cannot take 2 zero arguments
+
+UNDOCUMENTED
+
+E: Invalid read data header line for fix cmap
+
+UNDOCUMENTED
+
+E: Incorrect %s format in data file
+
+UNDOCUMENTED
+
+E: Too many CMAP crossterms for one atom
+
+UNDOCUMENTED
+
+*/
diff --git a/src/MOLECULE/pair_lj_charmmfsw_coul_charmmfsh.h b/src/MOLECULE/pair_lj_charmmfsw_coul_charmmfsh.h
index c18036caea43bd5fcd059c9c35e556bdc6b360a5..95272cd94460a70c7d585cd426edcc3af06abc09 100644
--- a/src/MOLECULE/pair_lj_charmmfsw_coul_charmmfsh.h
+++ b/src/MOLECULE/pair_lj_charmmfsw_coul_charmmfsh.h
@@ -80,9 +80,12 @@ E: Pair style lj/charmmfsw/coul/charmmfsh requires atom attribute q
 
 The atom style defined does not have these attributes.
 
-E: Pair inner cutoff >= Pair outer cutoff
+E: Pair inner lj cutoff >= Pair outer lj cutoff
+
+UNDOCUMENTED
+
+U: Pair inner cutoff >= Pair outer cutoff
 
 The specified cutoffs for the pair style are inconsistent.
 
 */
-
diff --git a/src/MPIIO/dump_custom_mpiio.h b/src/MPIIO/dump_custom_mpiio.h
index 8194b5f94db874ddfddf1d01a7a15ff40e9a92ef..334b1377a5d03138032942d0ee5a44f57a35690a 100644
--- a/src/MPIIO/dump_custom_mpiio.h
+++ b/src/MPIIO/dump_custom_mpiio.h
@@ -79,10 +79,9 @@ E: Too much per-proc info for dump
 Number of local atoms times number of columns must fit in a 32-bit
 integer for dump.
 
-E: Dump_modify format string is too short
+E: Dump_modify format line is too short
 
-There are more fields to be dumped in a line of output than your
-format string specifies.
+UNDOCUMENTED
 
 E: Could not find dump custom compute ID
 
@@ -105,4 +104,9 @@ E: Region ID for dump custom does not exist
 
 Self-explanatory.
 
+U: Dump_modify format string is too short
+
+There are more fields to be dumped in a line of output than your
+format string specifies.
+
 */
diff --git a/src/MSCG/fix_mscg.h b/src/MSCG/fix_mscg.h
index 2c235d436a46300e6ac86f73c69a87ad3442d7c7..bcc087f0dccc03e7c455eb1d595fa310b3667902 100644
--- a/src/MSCG/fix_mscg.h
+++ b/src/MSCG/fix_mscg.h
@@ -59,19 +59,29 @@ Self-explanatory.  Check the input script syntax and compare to the
 documentation for the command.  You can use -echo screen as a
 command-line option when running LAMMPS to see the offending line.
 
-E: Fix mscg does not yet support mpi
+E: Fix mscg does not yet support parallel use via MPI
 
-Self-explanatory.
+UNDOCUMENTED
+
+E: Fix mscg must be used with 32-bit atom IDs
+
+UNDOCUMENTED
 
 E: Fix mscg does not yet support triclinic geometries
 
 Self-explanatory.
 
-E: Bond/Angle/Dihedral list overflow, boost fix_mscg max
+E: Bond list overflow, boost fix_mscg max
 
-A site has more bond/angle/dihedral partners that the maximum and
-has overflowed the bond/angle/dihedral partners list. Increase the
-corresponding fix_mscg max arg.
+UNDOCUMENTED
+
+E: Angle list overflow, boost fix_mscg max
+
+UNDOCUMENTED
+
+E: Dihedral list overflow, boost fix_mscg max
+
+UNDOCUMENTED
 
 W: Fix mscg n_frames is inconsistent with control.in
 
@@ -87,4 +97,14 @@ that should be a divisor of the number of frames processed by the
 fix mscg command. If not, the fix will still run, but some frames may
 not be included in the MSCG calculations.
 
+U: Fix mscg does not yet support mpi
+
+Self-explanatory.
+
+U: Bond/Angle/Dihedral list overflow, boost fix_mscg max
+
+A site has more bond/angle/dihedral partners that the maximum and
+has overflowed the bond/angle/dihedral partners list. Increase the
+corresponding fix_mscg max arg.
+
 */
diff --git a/src/PYTHON/fix_python_invoke.h b/src/PYTHON/fix_python_invoke.h
index 05f0bd08c6fcbc57854d940d3caf68fe926dc870..c277e295a10a372d320c1679df3bf209d7e29535 100644
--- a/src/PYTHON/fix_python_invoke.h
+++ b/src/PYTHON/fix_python_invoke.h
@@ -51,4 +51,16 @@ Self-explanatory.  Check the input script syntax and compare to the
 documentation for the command.  You can use -echo screen as a
 command-line option when running LAMMPS to see the offending line.
 
+E: Unsupported callback name for fix python/invoke
+
+UNDOCUMENTED
+
+E: Could not initialize embedded Python
+
+UNDOCUMENTED
+
+E: Could not find Python function
+
+UNDOCUMENTED
+
 */
diff --git a/src/PYTHON/fix_python_move.h b/src/PYTHON/fix_python_move.h
index 7f92ecc9572cf9e359df242841fbc99db75c1d1c..7b830a3d2036f0a62d5a4b8b308bcc18e49ac70c 100644
--- a/src/PYTHON/fix_python_move.h
+++ b/src/PYTHON/fix_python_move.h
@@ -58,7 +58,47 @@ class FixPythonMove : public Fix {
 
 /* ERROR/WARNING messages:
 
-E: Illegal ... command
+E: Fix python/integrate requires fully qualified class name
+
+UNDOCUMENTED
+
+E: Loading python integrator module failure
+
+UNDOCUMENTED
+
+E: Could not find integrator class in module'
+
+UNDOCUMENTED
+
+E: Could not instantiate instance of integrator class'
+
+UNDOCUMENTED
+
+E: Could not find 'init' method'
+
+UNDOCUMENTED
+
+E: Could not find 'initial_integrate' method'
+
+UNDOCUMENTED
+
+E: Could not find 'final_integrate' method'
+
+UNDOCUMENTED
+
+E: Could not find 'initial_integrate_respa' method'
+
+UNDOCUMENTED
+
+E: Could not find 'final_integrate_respa' method'
+
+UNDOCUMENTED
+
+E: Could not find 'reset_dt' method'
+
+UNDOCUMENTED
+
+U: Illegal ... command
 
 Self-explanatory.  Check the input script syntax and compare to the
 documentation for the command.  You can use -echo screen as a
diff --git a/src/PYTHON/pair_python.h b/src/PYTHON/pair_python.h
index 440b39e48208ecc45ef002e731e7c982bd29f264..69671f7322bce9b276cacf0e549b7c28e7a0d24e 100644
--- a/src/PYTHON/pair_python.h
+++ b/src/PYTHON/pair_python.h
@@ -59,6 +59,30 @@ class PairPython : public Pair {
 
 /* ERROR/WARNING messages:
 
+E: Could not find 'compute_force' method'
+
+UNDOCUMENTED
+
+E: Python 'compute_force' is not callable
+
+UNDOCUMENTED
+
+E: Could not find 'compute_energy' method'
+
+UNDOCUMENTED
+
+E: Python 'compute_energy' is not callable
+
+UNDOCUMENTED
+
+E: Could not create tuple for 'compute' function arguments
+
+UNDOCUMENTED
+
+E: Calling 'compute_force' function failed
+
+UNDOCUMENTED
+
 E: Illegal ... command
 
 Self-explanatory.  Check the input script syntax and compare to the
@@ -69,7 +93,59 @@ E: Incorrect args for pair coefficients
 
 Self-explanatory.  Check the input script or data file.
 
-E: Pair cutoff < Respa interior cutoff
+E: Python pair style requires fully qualified class name
+
+UNDOCUMENTED
+
+E: Loading python pair style module failure
+
+UNDOCUMENTED
+
+E: Could not find pair style class in module'
+
+UNDOCUMENTED
+
+E: Could not instantiate instance of pair style class'
+
+UNDOCUMENTED
+
+E: Could not find 'check_units' method'
+
+UNDOCUMENTED
+
+E: Python 'check_units' is not callable
+
+UNDOCUMENTED
+
+E: Could not create tuple for 'check_units' function arguments
+
+UNDOCUMENTED
+
+E: Calling 'check_units' function failed
+
+UNDOCUMENTED
+
+E: Could not find 'map_coeff' method'
+
+UNDOCUMENTED
+
+E: Python 'map_coeff' is not callable
+
+UNDOCUMENTED
+
+E: Could not create tuple for 'map_coeff' function arguments
+
+UNDOCUMENTED
+
+E: Calling 'map_coeff' function failed
+
+UNDOCUMENTED
+
+E: Calling 'compute_energy' function failed
+
+UNDOCUMENTED
+
+U: Pair cutoff < Respa interior cutoff
 
 One or more pairwise cutoffs are too short to use with the specified
 rRESPA cutoffs.
diff --git a/src/PYTHON/python_impl.h b/src/PYTHON/python_impl.h
index efe43edbd8ec08235cd9d8573a4ebe4819b90358..2ccdda95c9c5bab311f6958866f14f200ebfef22 100644
--- a/src/PYTHON/python_impl.h
+++ b/src/PYTHON/python_impl.h
@@ -65,6 +65,10 @@ class PythonImpl : protected Pointers, public PythonInterface {
 
 /* ERROR/WARNING messages:
 
+E: Could not initialize embedded Python
+
+The main module in Python was not accessible.
+
 E: Invalid python command
 
 Self-explanatory.  Check the input script syntax and compare to the
@@ -80,14 +84,9 @@ E: Python variable does not match Python function
 This matching is defined by the python-style variable and the python
 command.
 
-E: Cannot embed Python when also extending Python with LAMMPS
-
-When running LAMMPS via Python through the LAMMPS library interface
-you cannot also user the input script python command.
-
-E: Could not initialize embedded Python
+E: Could not process Python source command
 
-The main module in Python was not accessible.
+UNDOCUMENTED
 
 E: Could not open Python file
 
@@ -123,10 +122,23 @@ E: Could not evaluate Python function input variable
 
 Self-explanatory.
 
+E: Unsupported variable type
+
+UNDOCUMENTED
+
 E: Python function evaluation failed
 
 The Python function did not run successfully and/or did not return a
 value (if it is supposed to return a value).  This is probably due to
 some error condition in the function.
 
+E: Python command length keyword cannot be used unless output is a string
+
+UNDOCUMENTED
+
+U: Cannot embed Python when also extending Python with LAMMPS
+
+When running LAMMPS via Python through the LAMMPS library interface
+you cannot also user the input script python command.
+
 */
diff --git a/src/Purge.list b/src/Purge.list
index d4a824b36c1317d477ec0813847f92cb4dfa3cff..2e854ead3d577e4d6cb1a968e814f1cbdb954e65 100644
--- a/src/Purge.list
+++ b/src/Purge.list
@@ -16,6 +16,8 @@ style_region.h
 style_neigh_bin.h
 style_neigh_pair.h
 style_neigh_stencil.h
+# deleted on 4 April 2018
+pair_kim_version.h
 # deleted on 15 December 2017
 fix_python.cpp
 fix_python.h
diff --git a/src/REAX/fix_reax_bonds.h b/src/REAX/fix_reax_bonds.h
index 99237d839702e5f25e48054bbb7dd4321e1618ce..7246b836c1a2c693db3f0e8bf0b800503baf7688 100644
--- a/src/REAX/fix_reax_bonds.h
+++ b/src/REAX/fix_reax_bonds.h
@@ -56,6 +56,10 @@ Self-explanatory.  Check the input script syntax and compare to the
 documentation for the command.  You can use -echo screen as a
 command-line option when running LAMMPS to see the offending line.
 
+E: Cannot open gzipped file
+
+UNDOCUMENTED
+
 E: Cannot open fix reax/bonds file %s
 
 The output file for the fix reax/bonds command cannot be opened.
diff --git a/src/REAX/pair_reax.h b/src/REAX/pair_reax.h
index 7ee00af62a0925a5696ebfebed0f1801f95b7f14..89a176274366305ffaa96b03a27d5aea4d18aa79 100644
--- a/src/REAX/pair_reax.h
+++ b/src/REAX/pair_reax.h
@@ -97,9 +97,9 @@ class PairREAX : public Pair {
 
 /* ERROR/WARNING messages:
 
-W: pair style reax is now deprecated and will soon be retired. Users should switch to pair_style reax/c
+W: The pair_style reax command is unsupported. Please switch to pair_style reax/c instead
 
-Self-explanatory.
+UNDOCUMENTED
 
 E: Reax_defs.h setting for NATDEF is too small
 
@@ -147,4 +147,8 @@ E: Invalid REAX atom type
 There is a mis-match between LAMMPS atom types and the elements
 listed in the ReaxFF force field file.
 
+U: pair style reax is now deprecated and will soon be retired. Users should switch to pair_style reax/c
+
+Self-explanatory.
+
 */
diff --git a/src/REPLICA/fix_neb.h b/src/REPLICA/fix_neb.h
index 232790a1f00323ddec943962bef4bf1b9589b9d6..5324b064322ed42f31cf0977608d38a089509b2e 100644
--- a/src/REPLICA/fix_neb.h
+++ b/src/REPLICA/fix_neb.h
@@ -89,7 +89,15 @@ E: Potential energy ID for fix neb does not exist
 
 Self-explanatory.
 
-E: Atom count changed in fix neb
+E: Too many active NEB atoms
+
+UNDOCUMENTED
+
+E: Too many atoms for NEB
+
+UNDOCUMENTED
+
+U: Atom count changed in fix neb
 
 This is not allowed in a NEB calculation.
 
diff --git a/src/REPLICA/neb.h b/src/REPLICA/neb.h
index 8c2bcf9b165d459d8220c4ca5a448e9d2f771de5..556ea22bbeb6ea0e25dd20ee16ee5927ffc432b7 100644
--- a/src/REPLICA/neb.h
+++ b/src/REPLICA/neb.h
@@ -82,14 +82,6 @@ E: Cannot use NEB with a single replica
 
 Self-explanatory.
 
-E: Can only use NEB with 1-processor replicas
-
-This is current restriction for NEB as implemented in LAMMPS.
-
-E: Cannot use NEB with atom_modify sort enabled
-
-This is current restriction for NEB implemented in LAMMPS.
-
 E: Cannot use NEB unless atom map exists
 
 Use the atom_modify command to create an atom map.
@@ -134,4 +126,12 @@ The specified file cannot be opened.  Check that the path and name are
 correct. If the file is a compressed file, also check that the gzip
 executable can be found and run.
 
+U: Can only use NEB with 1-processor replicas
+
+This is current restriction for NEB as implemented in LAMMPS.
+
+U: Cannot use NEB with atom_modify sort enabled
+
+This is current restriction for NEB implemented in LAMMPS.
+
 */
diff --git a/src/REPLICA/prd.h b/src/REPLICA/prd.h
index be09af496562599151069feddacb87d60e08577f..35399870932e02f55794a746eb5809447d650f3a 100644
--- a/src/REPLICA/prd.h
+++ b/src/REPLICA/prd.h
@@ -136,14 +136,14 @@ E: Cannot use PRD with a time-dependent region defined
 
 PRD alters the timestep in ways that will mess up these regions.
 
-E: Cannot use PRD with atom_modify sort enabled
-
-This is a current restriction of PRD.  You must turn off sorting,
-which is enabled by default, via the atom_modify command.
-
 E: Too many iterations
 
 You must use a number of iterations that fit in a 32-bit integer
 for minimization.
 
+U: Cannot use PRD with atom_modify sort enabled
+
+This is a current restriction of PRD.  You must turn off sorting,
+which is enabled by default, via the atom_modify command.
+
 */
diff --git a/src/REPLICA/temper.h b/src/REPLICA/temper.h
index 3d24fdbc69c879413d9441be4b04d078e27af361..883ec30b94e97fb5097f50bdbc4bce1648f3228d 100644
--- a/src/REPLICA/temper.h
+++ b/src/REPLICA/temper.h
@@ -80,6 +80,10 @@ E: Tempering fix ID is not defined
 
 The fix ID specified by the temper command does not exist.
 
+E: Illegal temperature index
+
+UNDOCUMENTED
+
 E: Invalid frequency in temper command
 
 Nevery must be > 0.
@@ -89,10 +93,9 @@ E: Non integer # of swaps in temper command
 Swap frequency in temper command must evenly divide the total # of
 timesteps.
 
-E: Tempering temperature fix is not valid
+E: Tempering temperature fix is not supported
 
-The fix specified by the temper command is not one that controls
-temperature (nvt or langevin).
+UNDOCUMENTED
 
 E: Too many timesteps
 
@@ -103,4 +106,9 @@ E: Tempering could not find thermo_pe compute
 This compute is created by the thermo command.  It must have been
 explicitly deleted by a uncompute command.
 
+U: Tempering temperature fix is not valid
+
+The fix specified by the temper command is not one that controls
+temperature (nvt or langevin).
+
 */
diff --git a/src/RIGID/compute_rigid_local.h b/src/RIGID/compute_rigid_local.h
index 0672f5975c8b4e071e0d57d52a7ed827bf1d8a95..bedb8574d066491eb8d7ea007d681acbca468c46 100644
--- a/src/RIGID/compute_rigid_local.h
+++ b/src/RIGID/compute_rigid_local.h
@@ -61,15 +61,27 @@ Self-explanatory.  Check the input script syntax and compare to the
 documentation for the command.  You can use -echo screen as a
 command-line option when running LAMMPS to see the offending line.
 
-E: Compute bond/local used when bonds are not allowed
+E: Invalid keyword in compute rigid/local command
+
+UNDOCUMENTED
+
+E: FixRigidSmall ID for compute rigid/local does not exist
+
+UNDOCUMENTED
+
+E: Compute rigid/local does not use fix rigid/small fix
+
+UNDOCUMENTED
+
+U: Compute bond/local used when bonds are not allowed
 
 The atom style does not support bonds.
 
-E: Invalid keyword in compute bond/local command
+U: Invalid keyword in compute bond/local command
 
 Self-explanatory.
 
-E: No bond style is defined for compute bond/local
+U: No bond style is defined for compute bond/local
 
 Self-explanatory.
 
diff --git a/src/RIGID/fix_ehex.h b/src/RIGID/fix_ehex.h
index f31b35aea96c1792a436215fc0d3af5a422b6198..b606330f11ae1b75e2e7836354de02806ac559ee 100644
--- a/src/RIGID/fix_ehex.h
+++ b/src/RIGID/fix_ehex.h
@@ -75,27 +75,25 @@ class FixEHEX : public Fix {
 
 /* ERROR/WARNING messages:
 
-E: Illegal fix ehex command: wrong number of parameters
+E: Illegal fix ehex command: wrong number of parameters 
 
-Self-explanatory.  Check the input script syntax and compare to the
-documentation for the command.  You can use -echo screen as a
-command-line option when running LAMMPS to see the offending line.
+UNDOCUMENTED
 
-E: Illegal fix ehex command: integer value expected
+E: Illegal ... command
 
-Self-explanatory. Check the value for nevery.
+UNDOCUMENTED
 
 E: Region ID for fix ehex does not exist
 
 Self-explanatory.
 
-E: You can only use the keyword 'com' together with the keyword 'constrain' .
+E: Illegal fix ehex keyword 
 
-Self-explanatory.
+UNDOCUMENTED
 
-E: Illegal fix ehex keyword
+E: You can only use the keyword 'com' together with the keyword 'constrain' 
 
-Self-explanatory.
+UNDOCUMENTED
 
 E: Fix ehex group has no atoms
 
@@ -109,22 +107,48 @@ E: Fix ehex was configured with keyword constrain, but shake/rattle was not defi
 
 The option constrain requires either fix shake or fix rattle which is missing in the input script.
 
-E: Fix heat kinetic energy went negative
-
-This will cause the velocity rescaling about to be performed by fix
-heat to be invalid.
-
-E: Fix heat kinetic energy of an atom went negative
+E: Fix ehex kinetic energy went negative
 
-This will cause the velocity rescaling about to be performed by fix
-heat to be invalid.
+UNDOCUMENTED
 
 E: Internal error: shake_flag[m] has to be between 1 and 4 for m in nlist
 
 Contact developers.
 
+E: Fix ehex shake cluster has almost zero mass.
+
+UNDOCUMENTED
+
 E: Fix ehex error mass of region is close to zero
 
 Check your configuration.
 
+U: Illegal fix ehex command: wrong number of parameters
+
+Self-explanatory.  Check the input script syntax and compare to the
+documentation for the command.  You can use -echo screen as a
+command-line option when running LAMMPS to see the offending line.
+
+U: Illegal fix ehex command: integer value expected
+
+Self-explanatory. Check the value for nevery.
+
+U: You can only use the keyword 'com' together with the keyword 'constrain' .
+
+Self-explanatory.
+
+U: Illegal fix ehex keyword
+
+Self-explanatory.
+
+U: Fix heat kinetic energy went negative
+
+This will cause the velocity rescaling about to be performed by fix
+heat to be invalid.
+
+U: Fix heat kinetic energy of an atom went negative
+
+This will cause the velocity rescaling about to be performed by fix
+heat to be invalid.
+
 */
diff --git a/src/RIGID/fix_rattle.h b/src/RIGID/fix_rattle.h
index e45dfb1a4aba6639c976f6101a514558833d7cd1..a0405bbdcc6c052955418af76ad846cfaa8ba568 100644
--- a/src/RIGID/fix_rattle.h
+++ b/src/RIGID/fix_rattle.h
@@ -77,30 +77,49 @@ class FixRattle : public FixShake {
 #endif
 #endif
 
-
 /* ERROR/WARNING messages:
 
-W: Fix rattle should come after all other integration fixes
+W: Fix rattle should come after all other integration fixes 
 
-This fix is designed to work after all other integration fixes change
-atom positions.  Thus it should be the last integration fix specified.
-If not, it will not satisfy the desired constraints as well as it
-otherwise would.
+UNDOCUMENTED
 
 E: Rattle determinant = 0.0
 
 The determinant of the matrix being solved for a single cluster
 specified by the fix rattle command is numerically invalid.
 
-E: Rattle failed
+E: Rattle failed 
+
+UNDOCUMENTED
+
+E: Coordinate constraints are not satisfied up to desired tolerance 
+
+UNDOCUMENTED
+
+E: Velocity constraints are not satisfied up to desired tolerance 
+
+UNDOCUMENTED
+
+E: Velocity constraints are not satisfied up to desired tolerance!
+
+UNDOCUMENTED
+
+U: Fix rattle should come after all other integration fixes
+
+This fix is designed to work after all other integration fixes change
+atom positions.  Thus it should be the last integration fix specified.
+If not, it will not satisfy the desired constraints as well as it
+otherwise would.
+
+U: Rattle failed
 
 Certain constraints were not satisfied.
 
-E: Coordinate constraints are not satisfied up to desired tolerance
+U: Coordinate constraints are not satisfied up to desired tolerance
 
 Self-explanatory.
 
-E: Rattle velocity constraints are not satisfied up to desired tolerance
+U: Rattle velocity constraints are not satisfied up to desired tolerance
 
 Self-explanatory.
 
diff --git a/src/RIGID/fix_rigid.h b/src/RIGID/fix_rigid.h
index 12439d42cfbc452022595dd9f6dfd27285096ea0..467ae56cf9e4ed88b83149064392c0fb910da475 100644
--- a/src/RIGID/fix_rigid.h
+++ b/src/RIGID/fix_rigid.h
@@ -161,6 +161,26 @@ Self-explanatory.  Check the input script syntax and compare to the
 documentation for the command.  You can use -echo screen as a
 command-line option when running LAMMPS to see the offending line.
 
+E: Fix rigid custom requires previously defined property/atom
+
+UNDOCUMENTED
+
+E: Fix rigid custom requires integer-valued property/atom
+
+UNDOCUMENTED
+
+E: Variable name for fix rigid custom does not exist
+
+UNDOCUMENTED
+
+E: Fix rigid custom variable is no atom-style variable
+
+UNDOCUMENTED
+
+E: Unsupported fix rigid custom property
+
+UNDOCUMENTED
+
 E: Fix rigid molecule requires atom attribute molecule
 
 Self-explanatory.
diff --git a/src/RIGID/fix_rigid_small.h b/src/RIGID/fix_rigid_small.h
index 22f9b0c16c31e7ba8910a558dc1802fff6d4b128..493185104f8b2d9fe4b7128303a7b5f0908c9ce8 100644
--- a/src/RIGID/fix_rigid_small.h
+++ b/src/RIGID/fix_rigid_small.h
@@ -223,6 +223,26 @@ E: Fix rigid/small requires atom attribute molecule
 
 Self-explanatory.
 
+E: Fix rigid/small custom requires previously defined property/atom
+
+UNDOCUMENTED
+
+E: Fix rigid/small custom requires integer-valued property/atom
+
+UNDOCUMENTED
+
+E: Variable name for fix rigid/small custom does not exist
+
+UNDOCUMENTED
+
+E: Fix rigid/small custom variable is no atom-style variable
+
+UNDOCUMENTED
+
+E: Unsupported fix rigid custom property
+
+UNDOCUMENTED
+
 E: Fix rigid/small requires an atom map, see atom_modify
 
 Self-explanatory.
diff --git a/src/SHOCK/fix_msst.h b/src/SHOCK/fix_msst.h
index b6229e75275872949e4afb1e7767e5f1c83be68b..43a4ca77a496370158435a4ff22e824a1d233945 100644
--- a/src/SHOCK/fix_msst.h
+++ b/src/SHOCK/fix_msst.h
@@ -149,6 +149,10 @@ E: Fix msst compute ID does not compute potential energy
 
 Self-explanatory.
 
+E: Fix msst dftb cannot be used w/out fix external
+
+UNDOCUMENTED
+
 E: Could not find fix_modify temperature ID
 
 The compute ID for computing temperature does not exist.
diff --git a/src/SNAP/compute_snad_atom.h b/src/SNAP/compute_snad_atom.h
index 8eaae2a67f9b5a2f4a2898604eb9be9f056542a6..5e40632d8c5c61f7970428ce79ed1241c794c54c 100644
--- a/src/SNAP/compute_snad_atom.h
+++ b/src/SNAP/compute_snad_atom.h
@@ -66,12 +66,16 @@ E: Compute snad/atom requires a pair style be defined
 
 Self-explanatory.
 
-E: Compute snad/atom cutoff is longer than pairwise cutoff
+E: Compute sna/atom cutoff is longer than pairwise cutoff
 
-Self-explanatory.
+UNDOCUMENTED
 
 W: More than one compute snad/atom
 
 Self-explanatory.
 
+U: Compute snad/atom cutoff is longer than pairwise cutoff
+
+Self-explanatory.
+
 */
diff --git a/src/SNAP/pair_snap.h b/src/SNAP/pair_snap.h
index e0d7c450633450af49bbe9f5537415e49513d33f..d39cb0f8d44a73b37ff5c4688b4c3f690e52f232 100644
--- a/src/SNAP/pair_snap.h
+++ b/src/SNAP/pair_snap.h
@@ -137,6 +137,10 @@ E: Incorrect args for pair coefficients
 
 Self-explanatory.  Check the input script or data file.
 
+E: Incorrect SNAP coeff file
+
+UNDOCUMENTED
+
 E: Incorrect SNAP parameter file
 
 The file cannot be parsed correctly, check its internal syntax.
diff --git a/src/USER-MISC/fix_ave_correlate_long.cpp b/src/USER-MISC/fix_ave_correlate_long.cpp
index f8d2e80352c3856743383302567d4f132b8cf8b3..e40447d859caf5cc890ccba60dec02dee30be9ba 100644
--- a/src/USER-MISC/fix_ave_correlate_long.cpp
+++ b/src/USER-MISC/fix_ave_correlate_long.cpp
@@ -31,6 +31,7 @@
 #include "compute.h"
 #include "input.h"
 #include "variable.h"
+#include "citeme.h"
 #include "memory.h"
 #include "error.h"
 #include "force.h"
@@ -45,11 +46,24 @@ enum{AUTO,UPPER,LOWER,AUTOUPPER,AUTOLOWER,FULL};
 #define INVOKED_VECTOR 2
 #define INVOKED_ARRAY 4
 
+static const char cite_fix_ave_correlate_long[] =
+"fix ave/correlate/long command:\n\n"
+"@Article{Ramirez10,\n"
+" author = {Jorge Rami{\'}rez and Sathish K. Sukumaran and Bart Vorselaars and Alexei E. Likhtman},\n"
+" title =   {Efficient on the fly calculation of time correlation functions in computer simulations},"
+" journal = {J.~Chem.~Phys.},\n"
+" year =    2010,\n"
+" volume =  133,\n"
+" pages =   {154103}\n"
+"}\n\n";
+
 /* ---------------------------------------------------------------------- */
 
 FixAveCorrelateLong::FixAveCorrelateLong(LAMMPS * lmp, int narg, char **arg):
   Fix (lmp, narg, arg)
 {
+  if (lmp->citeme) lmp->citeme->add(cite_fix_ave_correlate_long);
+
   // At least nevery nfrez and one value are needed
   if (narg < 6) error->all(FLERR,"Illegal fix ave/correlate/long command");
 
@@ -321,6 +335,8 @@ FixAveCorrelateLong::FixAveCorrelateLong(LAMMPS * lmp, int narg, char **arg):
   nvalid_last = -1;
   nvalid = nextvalid();
   modify->addstep_compute_all(nvalid);
+  last_accumulated_step = -1;
+
 }
 
 /* ---------------------------------------------------------------------- */
@@ -479,7 +495,7 @@ void FixAveCorrelateLong::end_of_step()
     fprintf(fp,"# Timestep: " BIGINT_FORMAT "\n", ntimestep);
     for (unsigned int i=0;i<npcorr;++i) {
       fprintf(fp, "%lg ", t[i]*update->dt);
-      for (unsigned int j=0;j<npair;++j) {
+      for (int j=0;j<npair;++j) {
         fprintf(fp, "%lg ", f[j][i]);
       }
     fprintf(fp, "\n");
@@ -499,7 +515,7 @@ void FixAveCorrelateLong::evaluate() {
   unsigned int jm=0;
 
   // First correlator
-  for (unsigned int j=0;j<p;++j) {
+  for (int j=0;j<p;++j) {
     if (ncorrelation[0][j] > 0) {
       t[jm] = j;
       for (int i=0;i<npair;++i)
@@ -532,7 +548,7 @@ void FixAveCorrelateLong::accumulate()
 {
   int i,j,ipair;
 
-  //printf("DEBUG %i %i\n", nvalues, npair);
+  if (update->ntimestep <= last_accumulated_step) return;
 
   if (type == AUTO) {
     for (i=0; i<nvalues;i++) add(i,values[i]);
@@ -566,13 +582,14 @@ void FixAveCorrelateLong::accumulate()
         else add(ipair++,values[i],values[j]);
       }
   }
+  last_accumulated_step = update->ntimestep;
 }
 
 
 /* ----------------------------------------------------------------------
    Add a scalar value to the autocorrelator k of pair i
 ------------------------------------------------------------------------- */
-void FixAveCorrelateLong::add(const int i, const double w, const unsigned int k){
+void FixAveCorrelateLong::add(const int i, const double w, const int k){
   // If we exceed the correlator side, the value is discarded
   if (k == numcorrelators) return;
   if (k > kmax) kmax=k;
@@ -593,7 +610,7 @@ void FixAveCorrelateLong::add(const int i, const double w, const unsigned int k)
   unsigned int ind1=insertindex[k];
   if (k==0) { // First correlator is different
     int ind2=ind1;
-    for (unsigned int j=0;j<p;++j) {
+    for (int j=0;j<p;++j) {
       if (shift[i][k][ind2] > -1e10) {
         correlation[i][k][j]+= shift[i][k][ind1]*shift[i][k][ind2];
         if (i==0) ++ncorrelation[k][j];
@@ -603,7 +620,7 @@ void FixAveCorrelateLong::add(const int i, const double w, const unsigned int k)
     }
   } else {
     int ind2=ind1-dmin;
-    for (unsigned int j=dmin;j<p;++j) {
+    for (int j=dmin;j<p;++j) {
       if (ind2<0) ind2+=p;
       if (shift[i][k][ind2] > -1e10) {
         correlation[i][k][j]+= shift[i][k][ind1]*shift[i][k][ind2];
@@ -624,7 +641,7 @@ void FixAveCorrelateLong::add(const int i, const double w, const unsigned int k)
    Add 2 scalar values to the cross-correlator k of pair i
 ------------------------------------------------------------------------- */
 void FixAveCorrelateLong::add(const int i, const double wA, const double wB,
-                        const unsigned int k) {
+                        const int k) {
   if (k == numcorrelators) return;
   if (k > kmax) kmax=k;
 
@@ -644,7 +661,7 @@ void FixAveCorrelateLong::add(const int i, const double wA, const double wB,
   unsigned int ind1=insertindex[k];
   if (k==0) {
     int ind2=ind1;
-    for (unsigned int j=0;j<p;++j) {
+    for (int j=0;j<p;++j) {
       if (shift[i][k][ind2] > -1e10) {
         correlation[i][k][j]+= shift[i][k][ind1]*shift2[i][k][ind2];
         if (i==0) ++ncorrelation[k][j];
@@ -655,7 +672,7 @@ void FixAveCorrelateLong::add(const int i, const double wA, const double wB,
   }
   else {
     int ind2=ind1-dmin;
-    for (unsigned int j=dmin;j<p;++j) {
+    for (int j=dmin;j<p;++j) {
       if (ind2<0) ind2+=p;
       if (shift[i][k][ind2] > -1e10) {
         correlation[i][k][j]+= shift[i][k][ind1]*shift2[i][k][ind2];
@@ -699,8 +716,8 @@ double FixAveCorrelateLong::memory_usage() {
   //    ncorrelation:     numcorrelators x p
   //    naccumulator:     numcorrelators
   //    insertindex:      numcorrelators
-  //    t:      numcorrelators x p
-  //    f:      npair x numcorrelators x p
+  //    t:              numcorrelators x p
+  //    f:              npair x numcorrelators x p
   double bytes = (4*npair*numcorrelators*p + 2*npair*numcorrelators
                   + numcorrelators*p)*sizeof(double)
     + numcorrelators*p*sizeof(unsigned long int)
@@ -723,8 +740,7 @@ void FixAveCorrelateLong::write_restart(FILE *fp) {
     list[n++]=numcorrelators;
     list[n++]=p;
     list[n++]=m;
-    list[n++]=nvalid;
-    list[n++]=nvalid_last;
+    list[n++] = last_accumulated_step;
     for (int i=0;i<npair;i++)
       for (int j=0;j<numcorrelators;j++) {
         for (int k=0;k<p;k++) {
@@ -760,8 +776,7 @@ void FixAveCorrelateLong::restart(char *buf)
   int numcorrelatorsin = static_cast<int> (list[n++]);
   int pin = static_cast<int> (list[n++]);
   int min = static_cast<int> (list[n++]);
-  nvalid = static_cast<int> (list[n++]);
-  nvalid_last = static_cast<int> (list[n++]);
+  last_accumulated_step = static_cast<int> (list[n++]);
 
   if ((npairin!=npair) || (numcorrelatorsin!=numcorrelators)
       || (pin!=p) || (min!=m))
diff --git a/src/USER-MISC/fix_ave_correlate_long.h b/src/USER-MISC/fix_ave_correlate_long.h
index d5354ebf5ee231518aa793ff7f02d5563326cc81..2823a5beb398de0f2b680db01b5093a87b70e602 100644
--- a/src/USER-MISC/fix_ave_correlate_long.h
+++ b/src/USER-MISC/fix_ave_correlate_long.h
@@ -51,17 +51,17 @@ class FixAveCorrelateLong : public Fix {
   unsigned int *naccumulator;
   unsigned int *insertindex;
 
-  unsigned int numcorrelators; // Recommended 20
-  unsigned int p; // Points per correlator (recommended 16)
+  int numcorrelators; // Recommended 20
+  int p; // Points per correlator (recommended 16)
   unsigned int m; // Num points for average (recommended 2; p mod m = 0)
   unsigned int dmin; // Min distance between ponts for correlators k>0; dmin=p/m
 
-  unsigned int length; // Length of result arrays
-  unsigned int kmax; // Maximum correlator attained during simulation
+  int length; // Length of result arrays
+  int kmax; // Maximum correlator attained during simulation
 
   int me,nvalues;
   int nfreq;
-  bigint nvalid,nvalid_last;
+  bigint nvalid,nvalid_last,last_accumulated_step;
   int *which,*argindex,*value2index;
   char **ids;
   FILE *fp;
@@ -76,8 +76,8 @@ class FixAveCorrelateLong : public Fix {
   void evaluate();
   bigint nextvalid();
 
-  void add(const int i, const double w, const unsigned int k = 0);
-  void add(const int i, const double wA, const double wB, const unsigned int k = 0);
+  void add(const int i, const double w, const int k = 0);
+  void add(const int i, const double wA, const double wB, const int k = 0);
 
 };
 
diff --git a/src/VORONOI/compute_voronoi_atom.h b/src/VORONOI/compute_voronoi_atom.h
index 8fd187cea348e55d508e6ab61ad46868c364a920..d19ce49bd0051b1e1cce2859e67d89f82114f74d 100644
--- a/src/VORONOI/compute_voronoi_atom.h
+++ b/src/VORONOI/compute_voronoi_atom.h
@@ -82,6 +82,14 @@ E: Illegal compute voronoi/atom command (occupation and (surface or edges))
 
 Self-explanatory.
 
+E: Compute voronoi/atom occupation requires an atom map, see atom_modify
+
+UNDOCUMENTED
+
+E: Compute voronoi/atom occupation requires atom IDs
+
+UNDOCUMENTED
+
 E: Variable name for voronoi radius does not exist
 
 Self-explanatory.
diff --git a/src/angle_zero.h b/src/angle_zero.h
index 59c55679a8ed666403a8bdfa33f56c90353feefd..e40fc8355ce2be6aad4723f147455dc028c5cd82 100644
--- a/src/angle_zero.h
+++ b/src/angle_zero.h
@@ -54,6 +54,10 @@ class AngleZero : public Angle {
 
 /* ERROR/WARNING messages:
 
+E: Illegal ... command
+
+UNDOCUMENTED
+
 E: Incorrect args for angle coefficients
 
 Self-explanatory.  Check the input script or data file.
diff --git a/src/atom.h b/src/atom.h
index 6d8db51d74b1c8604d6201da494869c9ef0c81e7..abfa6e5eb55ab1e3b02077492516b8ee7764d21f 100644
--- a/src/atom.h
+++ b/src/atom.h
@@ -478,31 +478,6 @@ E: Invalid atom ID in Bodies section of data file
 Atom IDs must be positive integers and within range of defined
 atoms.
 
-E: Cannot set mass for this atom style
-
-This atom style does not support mass settings for each atom type.
-Instead they are defined on a per-atom basis in the data file.
-
-E: Invalid mass line in data file
-
-Self-explanatory.
-
-E: Invalid type for mass set
-
-Mass command must set a type from 1-N where N is the number of atom
-types.
-
-E: Invalid mass value
-
-Self-explanatory.
-
-E: All masses are not set
-
-For atom styles that define masses for each atom type, all masses must
-be set in the data file or by the mass command before running a
-simulation.  They must also be set before using the velocity
-command.
-
 E: Reuse of molecule template ID
 
 The template IDs must be unique.
@@ -523,4 +498,29 @@ E: Too many atom sorting bins
 This is likely due to an immense simulation box that has blown up
 to a large size.
 
+U: Cannot set mass for this atom style
+
+This atom style does not support mass settings for each atom type.
+Instead they are defined on a per-atom basis in the data file.
+
+U: Invalid mass line in data file
+
+Self-explanatory.
+
+U: Invalid type for mass set
+
+Mass command must set a type from 1-N where N is the number of atom
+types.
+
+U: Invalid mass value
+
+Self-explanatory.
+
+U: All masses are not set
+
+For atom styles that define masses for each atom type, all masses must
+be set in the data file or by the mass command before running a
+simulation.  They must also be set before using the velocity
+command.
+
 */
diff --git a/src/atom_map.h b/src/atom_map.h
new file mode 100644
index 0000000000000000000000000000000000000000..64e6e93689199ab3ec275f740c0a4c5cbc8fa860
--- /dev/null
+++ b/src/atom_map.h
@@ -0,0 +1,20 @@
+/* -*- c++ -*- ----------------------------------------------------------
+   LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
+   http://lammps.sandia.gov, Sandia National Laboratories
+   Steve Plimpton, sjplimp@sandia.gov
+
+   Copyright (2003) Sandia Corporation.  Under the terms of Contract
+   DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
+   certain rights in this software.  This software is distributed under
+   the GNU General Public License.
+
+   See the README file in the top-level LAMMPS directory.
+------------------------------------------------------------------------- */
+
+/* ERROR/WARNING messages:
+
+E: Cannot create an atom map unless atoms have IDs
+
+UNDOCUMENTED
+
+*/
diff --git a/src/balance.h b/src/balance.h
index 43e8851ad9a155fb77f299bd55cebf02070d5718..3e5e0e0d70a07e145b5864bd44dd822652577589 100644
--- a/src/balance.h
+++ b/src/balance.h
@@ -109,10 +109,6 @@ Self-explanatory.  Check the input script syntax and compare to the
 documentation for the command.  You can use -echo screen as a
 command-line option when running LAMMPS to see the offending line.
 
-E: Cannot open balance output file
-
-Self-explanatory.
-
 E: Cannot balance in z dimension for 2d simulation
 
 Self-explanatory.
@@ -129,10 +125,22 @@ E: Lost atoms via balance: original %ld current %ld
 
 This should not occur.  Report the problem to the developers.
 
+E: Unknown (fix) balance weight method
+
+UNDOCUMENTED
+
+E: Cannot open (fix) balance output file
+
+UNDOCUMENTED
+
 E: Balance produced bad splits
 
 This should not occur.  It means two or more cutting plane locations
 are on top of each other or out of order.  Report the problem to the
 developers.
 
+U: Cannot open balance output file
+
+Self-explanatory.
+
 */
diff --git a/src/bond.h b/src/bond.h
index 29de7ad7d2e5c907632f63c987af15e3ec75328d..b34628d7575fc726ba5ab7cb69ddae7da2c2d298 100644
--- a/src/bond.h
+++ b/src/bond.h
@@ -84,4 +84,24 @@ E: All bond coeffs are not set
 All bond coefficients must be set in the data file or by the
 bond_coeff command before running a simulation.
 
+E: Illegal ... command
+
+UNDOCUMENTED
+
+E: Invalid atom types in bond_write command
+
+UNDOCUMENTED
+
+E: Invalid rlo/rhi values in bond_write command
+
+UNDOCUMENTED
+
+E: Cannot open bond_write file
+
+UNDOCUMENTED
+
+E: Fix adapt interface to this bond style not supported
+
+UNDOCUMENTED
+
 */
diff --git a/src/bond_zero.h b/src/bond_zero.h
index a169e094e8ca1129e8a82f59511cdb32f5d47d96..b7b7e999600e4f52b90ceaca4d1ace2956feed79 100644
--- a/src/bond_zero.h
+++ b/src/bond_zero.h
@@ -54,6 +54,10 @@ class BondZero : public Bond {
 
 /* ERROR/WARNING messages:
 
+E: Illegal ... command
+
+UNDOCUMENTED
+
 E: Incorrect args for bond coefficients
 
 Self-explanatory.  Check the input script or data file.
diff --git a/src/change_box.h b/src/change_box.h
index f4622f9b993a04f933ff379fb3f871d50155ad8b..d9152b7fb0d71b8556235679a219231a6ec09328 100644
--- a/src/change_box.h
+++ b/src/change_box.h
@@ -117,6 +117,10 @@ This is because those fixes store the shape of the box.  You need to
 use unfix to discard the fix, change the box, then redefine a new
 fix.
 
+W: Attempting to remap atoms in rigid bodies
+
+UNDOCUMENTED
+
 W: Lost atoms via change_box: original %ld current %ld
 
 The command options you have used caused atoms to be lost.
diff --git a/src/comm.h b/src/comm.h
index b0e71f54355d59a666b2de0d1f9719fe25dec30b..aefcb14391c71df20f2157e11bd71e76c4b467ef 100644
--- a/src/comm.h
+++ b/src/comm.h
@@ -145,11 +145,6 @@ class Comm : protected Pointers {
 
 /* ERROR/WARNING messages:
 
-W: OMP_NUM_THREADS environment is not set.
-
-This environment variable must be set appropriately to use the
-USER-OMP package.
-
 E: Illegal ... command
 
 Self-explanatory.  Check the input script syntax and compare to the
@@ -220,4 +215,13 @@ E: Processor count in z must be 1 for 2d simulation
 
 Self-explanatory.
 
+E: Cannot put data on ring from NULL pointer
+
+UNDOCUMENTED
+
+U: OMP_NUM_THREADS environment is not set.
+
+This environment variable must be set appropriately to use the
+USER-OMP package.
+
 */
diff --git a/src/comm_tiled.h b/src/comm_tiled.h
index 40738d308aeb0294388183c1d6f31224e84ee10b..13ecbc4b01bde46b2728127e0f7b029834da8d01 100644
--- a/src/comm_tiled.h
+++ b/src/comm_tiled.h
@@ -155,10 +155,6 @@ class CommTiled : public Comm {
 
 /* ERROR/WARNING messages:
 
-E: KOKKOS package does not yet support comm_style tiled
-
-Self-explanatory.
-
 E: Cannot yet use comm_style tiled with triclinic box
 
 Self-explanatory.
@@ -171,6 +167,10 @@ E: Communication cutoff for comm_style tiled cannot exceed periodic box length
 
 Self-explanatory.
 
+E: Reverse comm fix variable not yet supported by CommTiled
+
+UNDOCUMENTED
+
 E: Comm tiled mis-match in box drop brick
 
 Internal error check in comm_style tiled which should not occur.
@@ -181,4 +181,8 @@ E: Comm tiled invalid index in box drop brick
 Internal error check in comm_style tiled which should not occur.
 Contact the developers.
 
+U: KOKKOS package does not yet support comm_style tiled
+
+Self-explanatory.
+
 */
diff --git a/src/compute_aggregate_atom.h b/src/compute_aggregate_atom.h
index dc2e1d7b4063da8f6c186f8793510350ce03081f..643c21e5fb6300aa2c000a82050de5b6d923e143 100644
--- a/src/compute_aggregate_atom.h
+++ b/src/compute_aggregate_atom.h
@@ -57,6 +57,10 @@ Self-explanatory.  Check the input script syntax and compare to the
 documentation for the command.  You can use -echo screen as a
 command-line option when running LAMMPS to see the offending line.
 
+E: Compute aggregate/atom used when bonds are not allowed
+
+UNDOCUMENTED
+
 E: Cannot use compute aggregate/atom unless atoms have IDs
 
 Atom IDs are used to identify aggregates.
@@ -65,6 +69,14 @@ E: Compute aggregate/atom requires a bond style to be defined
 
 This is so that a bond list is generated which is used to find aggregates.
 
+E: Compute cluster/atom requires a pair style to be defined
+
+UNDOCUMENTED
+
+E: Compute cluster/atom cutoff is longer than pairwise cutoff
+
+UNDOCUMENTED
+
 W: More than one compute aggregate/atom
 
 It is not efficient to use compute aggregate/atom  more than once.
diff --git a/src/compute_angle.h b/src/compute_angle.h
index c39a2c3d2772a4739968aef80e141480fba235f8..b4240ff5db2abdbb86c5a2bc92c152d0558f7edd 100644
--- a/src/compute_angle.h
+++ b/src/compute_angle.h
@@ -50,13 +50,13 @@ Self-explanatory.  Check the input script syntax and compare to the
 documentation for the command.  You can use -echo screen as a
 command-line option when running LAMMPS to see the offending line.
 
-E: Compute bond must use group all
+E: Angle style for compute angle command is not hybrid
 
-Bond styles accumulate energy on all atoms.
+UNDOCUMENTED
 
-E: Unrecognized bond style in compute bond command
+E: Angle style for compute angle command has changed
 
-Self-explanatory.
+UNDOCUMENTED
 
 E: Energy was not tallied on needed timestep
 
@@ -64,4 +64,12 @@ You are using a thermo keyword that requires potentials to
 have tallied energy, but they didn't on this timestep.  See the
 variable doc page for ideas on how to make this work.
 
+U: Compute bond must use group all
+
+Bond styles accumulate energy on all atoms.
+
+U: Unrecognized bond style in compute bond command
+
+Self-explanatory.
+
 */
diff --git a/src/compute_bond.h b/src/compute_bond.h
index 0f6c088f1dca5a8e9c092f8296276771302a62e4..f477b54fc57fbdf3706f94c62c29a0b1260bca09 100644
--- a/src/compute_bond.h
+++ b/src/compute_bond.h
@@ -50,13 +50,13 @@ Self-explanatory.  Check the input script syntax and compare to the
 documentation for the command.  You can use -echo screen as a
 command-line option when running LAMMPS to see the offending line.
 
-E: Compute bond must use group all
+E: Bond style for compute bond command is not hybrid
 
-Bond styles accumulate energy on all atoms.
+UNDOCUMENTED
 
-E: Unrecognized bond style in compute bond command
+E: Bond style for compute bond command has changed
 
-Self-explanatory.
+UNDOCUMENTED
 
 E: Energy was not tallied on needed timestep
 
@@ -64,4 +64,12 @@ You are using a thermo keyword that requires potentials to
 have tallied energy, but they didn't on this timestep.  See the
 variable doc page for ideas on how to make this work.
 
+U: Compute bond must use group all
+
+Bond styles accumulate energy on all atoms.
+
+U: Unrecognized bond style in compute bond command
+
+Self-explanatory.
+
 */
diff --git a/src/compute_bond_local.h b/src/compute_bond_local.h
index 9716749917af30f3e2bfb9ad13b07185a2b6511d..b3e99fc61b9ac12e4c2bd6ce97d4355d5ddeedfd 100644
--- a/src/compute_bond_local.h
+++ b/src/compute_bond_local.h
@@ -73,4 +73,8 @@ E: No bond style is defined for compute bond/local
 
 Self-explanatory.
 
+E: Sanity check on 3 energy components failed
+
+UNDOCUMENTED
+
 */
diff --git a/src/compute_centro_atom.h b/src/compute_centro_atom.h
index 393d001f220da0e7f19eea5486da078c6e28b7be..ffbf57a3ea746f97265cd6d8855e040e5c407f3a 100644
--- a/src/compute_centro_atom.h
+++ b/src/compute_centro_atom.h
@@ -58,6 +58,18 @@ Self-explanatory.  Check the input script syntax and compare to the
 documentation for the command.  You can use -echo screen as a
 command-line option when running LAMMPS to see the offending line.
 
+E: Illegal compute centro/atom command3
+
+UNDOCUMENTED
+
+E: Illegal compute centro/atom command2
+
+UNDOCUMENTED
+
+E: Illegal compute centro/atom command1
+
+UNDOCUMENTED
+
 E: Compute centro/atom requires a pair style be defined
 
 This is because the computation of the centro-symmetry values
diff --git a/src/compute_chunk_atom.h b/src/compute_chunk_atom.h
index 59c93b38f3798bcd59836e8c351410fcec9add07..5f7e165f98797870d8da30810793f90ff29333f5 100644
--- a/src/compute_chunk_atom.h
+++ b/src/compute_chunk_atom.h
@@ -225,11 +225,9 @@ E: Compute chunk/atom ids once but nchunk is not once
 You cannot assign chunks IDs to atom permanently if the number of
 chunks may change.
 
-E: Two fix ave commands using same compute chunk/atom command in incompatible ways
+E: Two fix commands using same compute chunk/atom command in incompatible ways
 
-They are both attempting to "lock" the chunk/atom command so that the
-chunk assignments persist for some number of timesteps, but are doing
-it in different ways.
+UNDOCUMENTED
 
 E: Fix used in compute chunk/atom not computed at compatible time
 
@@ -256,4 +254,10 @@ E: Cannot use compute chunk/atom bin z for 2d model
 
 Self-explanatory.
 
+U: Two fix ave commands using same compute chunk/atom command in incompatible ways
+
+They are both attempting to "lock" the chunk/atom command so that the
+chunk assignments persist for some number of timesteps, but are doing
+it in different ways.
+
 */
diff --git a/src/compute_coord_atom.h b/src/compute_coord_atom.h
index 6c60c8626605375f5af30a8f6f5e886d685b6160..2bbc1b67208bd75c9c7d12f11e903931df633642 100644
--- a/src/compute_coord_atom.h
+++ b/src/compute_coord_atom.h
@@ -65,6 +65,26 @@ Self-explanatory.  Check the input script syntax and compare to the
 documentation for the command.  You can use -echo screen as a
 command-line option when running LAMMPS to see the offending line.
 
+E: Could not find compute coord/atom compute ID
+
+UNDOCUMENTED
+
+E: Compute coord/atom compute ID is not orientorder/atom
+
+UNDOCUMENTED
+
+E: Compute coord/atom threshold not between -1 and 1
+
+UNDOCUMENTED
+
+E: Invalid cstyle in compute coord/atom
+
+UNDOCUMENTED
+
+E: Compute coord/atom requires components option in compute orientorder/atom
+
+UNDOCUMENTED
+
 E: Compute coord/atom requires a pair style be defined
 
 Self-explanatory.
diff --git a/src/compute_dihedral.h b/src/compute_dihedral.h
index 041e1f6eaed13720ceaa1a4a08f708a6bc46354a..2debd31e3cc47e6812f02558d234d432876086e8 100644
--- a/src/compute_dihedral.h
+++ b/src/compute_dihedral.h
@@ -50,13 +50,13 @@ Self-explanatory.  Check the input script syntax and compare to the
 documentation for the command.  You can use -echo screen as a
 command-line option when running LAMMPS to see the offending line.
 
-E: Compute bond must use group all
+E: Dihedral style for compute dihedral command is not hybrid
 
-Bond styles accumulate energy on all atoms.
+UNDOCUMENTED
 
-E: Unrecognized bond style in compute bond command
+E: Dihedral style for compute dihedral command has changed
 
-Self-explanatory.
+UNDOCUMENTED
 
 E: Energy was not tallied on needed timestep
 
@@ -64,4 +64,12 @@ You are using a thermo keyword that requires potentials to
 have tallied energy, but they didn't on this timestep.  See the
 variable doc page for ideas on how to make this work.
 
+U: Compute bond must use group all
+
+Bond styles accumulate energy on all atoms.
+
+U: Unrecognized bond style in compute bond command
+
+Self-explanatory.
+
 */
diff --git a/src/compute_displace_atom.h b/src/compute_displace_atom.h
index 05c729daa42ca88e87fdb2832811ae5d354422d9..03ff838526dd351cdfb210f98f9e5a9f7e760572 100644
--- a/src/compute_displace_atom.h
+++ b/src/compute_displace_atom.h
@@ -58,6 +58,14 @@ Self-explanatory.  Check the input script syntax and compare to the
 documentation for the command.  You can use -echo screen as a
 command-line option when running LAMMPS to see the offending line.
 
+E: Variable name for compute displace/atom does not exist
+
+UNDOCUMENTED
+
+E: Compute displace/atom variable is not atom-style variable
+
+UNDOCUMENTED
+
 E: Could not find compute displace/atom fix ID
 
 Self-explanatory.
diff --git a/src/compute_fragment_atom.h b/src/compute_fragment_atom.h
index 2365b6028b32863cd74fcd46891de400889e1f76..6031d43841117130133d1eb853cafda171a73e16 100644
--- a/src/compute_fragment_atom.h
+++ b/src/compute_fragment_atom.h
@@ -54,6 +54,10 @@ Self-explanatory.  Check the input script syntax and compare to the
 documentation for the command.  You can use -echo screen as a
 command-line option when running LAMMPS to see the offending line.
 
+E: Compute fragment/atom used when bonds are not allowed
+
+UNDOCUMENTED
+
 E: Cannot use compute fragment/atom unless atoms have IDs
 
 Atom IDs are used to identify fragments.
diff --git a/src/compute_global_atom.h b/src/compute_global_atom.h
index 439720f7122d2cf795eb78ae25772279b986df73..e2da95fcce99819b71120ac6fe32354c1408c477 100644
--- a/src/compute_global_atom.h
+++ b/src/compute_global_atom.h
@@ -59,83 +59,155 @@ Self-explanatory.  Check the input script syntax and compare to the
 documentation for the command.  You can use -echo screen as a
 command-line option when running LAMMPS to see the offending line.
 
-E: Region ID for compute reduce/region does not exist
+E: Compute ID for compute global/atom does not exist
+
+UNDOCUMENTED
+
+E: Compute global/atom compute does not calculate a per-atom vector or array
+
+UNDOCUMENTED
+
+E: Compute global/atom compute does not calculate a per-atom vector
+
+UNDOCUMENTED
+
+E: Compute global/atom compute does not calculate a per-atom array
+
+UNDOCUMENTED
+
+E: Compute global/atom compute array is accessed out-of-range
+
+UNDOCUMENTED
+
+E: Fix ID for compute global/atom does not exist
+
+UNDOCUMENTED
+
+E: Compute global/atom fix does not calculate a per-atom vector or array
+
+UNDOCUMENTED
+
+E: Compute global/atom fix does not calculate a per-atom vector
+
+UNDOCUMENTED
+
+E: Compute global/atom fix does not calculate a per-atom array
+
+UNDOCUMENTED
+
+E: Compute global/atom fix array is accessed out-of-range
+
+UNDOCUMENTED
+
+E: Variable name for compute global/atom does not exist
+
+UNDOCUMENTED
+
+E: Compute global/atom variable is not atom-style variable
+
+UNDOCUMENTED
+
+E: Compute global/atom compute does not calculate a global vector
+
+UNDOCUMENTED
+
+E: Compute global/atom compute does not calculate a global array
+
+UNDOCUMENTED
+
+E: Compute global/atom fix does not calculate a global vector
+
+UNDOCUMENTED
+
+E: Compute global/atom fix does not calculate a global array
+
+UNDOCUMENTED
+
+E: Compute global/atom variable is not vector-style variable
+
+UNDOCUMENTED
+
+E: Fix used in compute global/atom not computed at compatible time
+
+UNDOCUMENTED
+
+U: Region ID for compute reduce/region does not exist
 
 Self-explanatory.
 
-E: Compute reduce replace requires min or max mode
+U: Compute reduce replace requires min or max mode
 
 Self-explanatory.
 
-E: Invalid replace values in compute reduce
+U: Invalid replace values in compute reduce
 
 Self-explanatory.
 
-E: Compute ID for compute reduce does not exist
+U: Compute ID for compute reduce does not exist
 
 Self-explanatory.
 
-E: Compute reduce compute does not calculate a per-atom vector
+U: Compute reduce compute does not calculate a per-atom vector
 
 Self-explanatory.
 
-E: Compute reduce compute does not calculate a per-atom array
+U: Compute reduce compute does not calculate a per-atom array
 
 Self-explanatory.
 
-E: Compute reduce compute array is accessed out-of-range
+U: Compute reduce compute array is accessed out-of-range
 
 An index for the array is out of bounds.
 
-E: Compute reduce compute does not calculate a local vector
+U: Compute reduce compute does not calculate a local vector
 
 Self-explanatory.
 
-E: Compute reduce compute does not calculate a local array
+U: Compute reduce compute does not calculate a local array
 
 Self-explanatory.
 
-E: Compute reduce compute calculates global values
+U: Compute reduce compute calculates global values
 
 A compute that calculates peratom or local values is required.
 
-E: Fix ID for compute reduce does not exist
+U: Fix ID for compute reduce does not exist
 
 Self-explanatory.
 
-E: Compute reduce fix does not calculate a per-atom vector
+U: Compute reduce fix does not calculate a per-atom vector
 
 Self-explanatory.
 
-E: Compute reduce fix does not calculate a per-atom array
+U: Compute reduce fix does not calculate a per-atom array
 
 Self-explanatory.
 
-E: Compute reduce fix array is accessed out-of-range
+U: Compute reduce fix array is accessed out-of-range
 
 An index for the array is out of bounds.
 
-E: Compute reduce fix does not calculate a local vector
+U: Compute reduce fix does not calculate a local vector
 
 Self-explanatory.
 
-E: Compute reduce fix does not calculate a local array
+U: Compute reduce fix does not calculate a local array
 
 Self-explanatory.
 
-E: Compute reduce fix calculates global values
+U: Compute reduce fix calculates global values
 
 A fix that calculates peratom or local values is required.
 
-E: Variable name for compute reduce does not exist
+U: Variable name for compute reduce does not exist
 
 Self-explanatory.
 
-E: Compute reduce variable is not atom-style variable
+U: Compute reduce variable is not atom-style variable
 
 Self-explanatory.
 
-E: Fix used in compute reduce not computed at compatible time
+U: Fix used in compute reduce not computed at compatible time
 
 Fixes generate their values on specific timesteps.  Compute reduce is
 requesting a value on a non-allowed timestep.
diff --git a/src/compute_group_group.h b/src/compute_group_group.h
index c7443bda5cb375c57ecdbf88c8c02b882dc86364..c1231f07a726b5b93a740fd6a1b50e87634c4782 100644
--- a/src/compute_group_group.h
+++ b/src/compute_group_group.h
@@ -65,6 +65,10 @@ E: Compute group/group group ID does not exist
 
 Self-explanatory.
 
+E: Compute group/group molecule requires molecule IDs
+
+UNDOCUMENTED
+
 E: No pair style defined for compute group/group
 
 Cannot calculate group interactions without a pair style defined.
diff --git a/src/compute_improper.h b/src/compute_improper.h
index d3602677a6b8524b8ba86f176122eb2a1a750a62..34214f07a90e91163bacf913d5b7debe7341dd27 100644
--- a/src/compute_improper.h
+++ b/src/compute_improper.h
@@ -50,13 +50,13 @@ Self-explanatory.  Check the input script syntax and compare to the
 documentation for the command.  You can use -echo screen as a
 command-line option when running LAMMPS to see the offending line.
 
-E: Compute bond must use group all
+E: Improper style for compute improper command is not hybrid
 
-Bond styles accumulate energy on all atoms.
+UNDOCUMENTED
 
-E: Unrecognized bond style in compute bond command
+E: Improper style for compute improper command has changed
 
-Self-explanatory.
+UNDOCUMENTED
 
 E: Energy was not tallied on needed timestep
 
@@ -64,4 +64,12 @@ You are using a thermo keyword that requires potentials to
 have tallied energy, but they didn't on this timestep.  See the
 variable doc page for ideas on how to make this work.
 
+U: Compute bond must use group all
+
+Bond styles accumulate energy on all atoms.
+
+U: Unrecognized bond style in compute bond command
+
+Self-explanatory.
+
 */
diff --git a/src/compute_omega_chunk.h b/src/compute_omega_chunk.h
index 7a9fdff9c7414969347af242b6426c1e81a44231..01fceb178e9db34f4784694728bff4a393eb7acc 100644
--- a/src/compute_omega_chunk.h
+++ b/src/compute_omega_chunk.h
@@ -74,4 +74,8 @@ E: Compute omega/chunk does not use chunk/atom compute
 
 The style of the specified compute is not chunk/atom.
 
+E: Insufficient Jacobi rotations for omega/chunk
+
+UNDOCUMENTED
+
 */
diff --git a/src/compute_pair.h b/src/compute_pair.h
index 91702748a6530379f79a65241084178c4b3a146e..9f2678aaab1cef6fe9131dfc78619312223bd258 100644
--- a/src/compute_pair.h
+++ b/src/compute_pair.h
@@ -52,10 +52,6 @@ Self-explanatory.  Check the input script syntax and compare to the
 documentation for the command.  You can use -echo screen as a
 command-line option when running LAMMPS to see the offending line.
 
-E: Compute pair must use group all
-
-Pair styles accumulate energy on all atoms.
-
 E: Unrecognized pair style in compute pair command
 
 Self-explanatory.
@@ -66,4 +62,8 @@ You are using a thermo keyword that requires potentials to
 have tallied energy, but they didn't on this timestep.  See the
 variable doc page for ideas on how to make this work.
 
+U: Compute pair must use group all
+
+Pair styles accumulate energy on all atoms.
+
 */
diff --git a/src/compute_pair_local.h b/src/compute_pair_local.h
index df8e6a999b657926f1f63b6ff5a767d2521c84d7..3bd1dccd1a920e14b5481dfc6ef11c311dd4a288 100644
--- a/src/compute_pair_local.h
+++ b/src/compute_pair_local.h
@@ -67,6 +67,10 @@ E: Invalid keyword in compute pair/local command
 
 Self-explanatory.
 
+E: Compute pair/local requires atom attribute radius
+
+UNDOCUMENTED
+
 E: No pair style is defined for compute pair/local
 
 Self-explanatory.
diff --git a/src/compute_property_local.h b/src/compute_property_local.h
index 2b0dda5a10e5388c03e37cdfc02c67a4115fe126..855fb9d3e913d4391cf47a172c9e6865f9668ba1 100644
--- a/src/compute_property_local.h
+++ b/src/compute_property_local.h
@@ -101,10 +101,6 @@ E: Compute property/local cannot use these inputs together
 Only inputs that generate the same number of datums can be used
 together.  E.g. bond and angle quantities cannot be mixed.
 
-E: Invalid keyword in compute property/local command
-
-Self-explanatory.
-
 E: Compute property/local does not (yet) work with atom_style template
 
 Self-explanatory.
@@ -113,6 +109,10 @@ E: Compute property/local for property that isn't allocated
 
 Self-explanatory.
 
+E: Compute property/local requires atom attribute radius
+
+UNDOCUMENTED
+
 E: No pair style is defined for compute property/local
 
 Self-explanatory.
@@ -122,4 +122,8 @@ E: Pair style does not support compute property/local
 The pair style does not have a single() function, so it can
 not be invoked by fix bond/swap.
 
+U: Invalid keyword in compute property/local command
+
+Self-explanatory.
+
 */
diff --git a/src/compute_rdf.h b/src/compute_rdf.h
index 4188799b7409c81b190da168553c34da07a59bae..af4f56e838500eda3f4674537e42230c32bcc75f 100644
--- a/src/compute_rdf.h
+++ b/src/compute_rdf.h
@@ -68,7 +68,19 @@ Self-explanatory.  Check the input script syntax and compare to the
 documentation for the command.  You can use -echo screen as a
 command-line option when running LAMMPS to see the offending line.
 
-E: Compute rdf requires a pair style be defined
+E: Compute rdf requires a pair style be defined or cutoff specified
+
+UNDOCUMENTED
+
+E: Compure rdf cutoff exceeds ghost atom range - use comm_modify cutoff command
+
+UNDOCUMENTED
+
+W: Compute rdf cutoff less than neighbor cutoff - forcing a needless neighbor list build
+
+UNDOCUMENTED
+
+U: Compute rdf requires a pair style be defined
 
 Self-explanatory.
 
diff --git a/src/compute_slice.h b/src/compute_slice.h
index 7435b7f210ea7f3f529be9701d664cb8b0d03add..8cc0f9896daf4ac0e60238d14b8e49c64ef04d82 100644
--- a/src/compute_slice.h
+++ b/src/compute_slice.h
@@ -102,9 +102,25 @@ E: Compute slice fix does not calculate global vector or array
 
 Self-explanatory.
 
+E: Variable name for compute slice does not exist
+
+UNDOCUMENTED
+
+E: Compute slice variable is not vector-style variable
+
+UNDOCUMENTED
+
+E: Compute slice vector variable cannot be indexed
+
+UNDOCUMENTED
+
 E: Fix used in compute slice not computed at compatible time
 
 Fixes generate their values on specific timesteps.  Compute slice is
 requesting a value on a non-allowed timestep.
 
+E: Compute slice variable is not long enough
+
+UNDOCUMENTED
+
 */
diff --git a/src/create_bonds.h b/src/create_bonds.h
index 175c74f5bcb8ac5e40b80e82a699cb32110300fd..0c71242ed9001d2a0426fe0f52efe9f30b0fe39a 100644
--- a/src/create_bonds.h
+++ b/src/create_bonds.h
@@ -75,6 +75,18 @@ E: Invalid bond type in create_bonds command
 
 Self-explanatory.
 
+E: Cannot use special no with create_bonds many
+
+UNDOCUMENTED
+
+E: Invalid angle type in create_bonds command
+
+UNDOCUMENTED
+
+E: Invalid dihedral type in create_bonds command
+
+UNDOCUMENTED
+
 E: Create_bonds requires a pair style be defined
 
 Self-explanatory.
@@ -103,4 +115,24 @@ E: New bond exceeded bonds per atom in create_bonds
 See the read_data command for info on setting the "extra bond per
 atom" header value to allow for additional bonds to be formed.
 
+E: Create_bonds single/bond atoms do not exist
+
+UNDOCUMENTED
+
+E: Create_bonds single/angle atoms do not exist
+
+UNDOCUMENTED
+
+E: New angle exceeded angles per atom in create_bonds
+
+UNDOCUMENTED
+
+E: Create_bonds single/dihedral atoms do not exist
+
+UNDOCUMENTED
+
+E: New dihedral exceeded dihedrals per atom in create_bonds
+
+UNDOCUMENTED
+
 */
diff --git a/src/delete_atoms.h b/src/delete_atoms.h
index 9a091433a8f477f8674d60ee42abb6c5ab4421be..5eab7f6ba7b73d37846816e86318ee14f51fcdd4 100644
--- a/src/delete_atoms.h
+++ b/src/delete_atoms.h
@@ -78,6 +78,14 @@ E: Cannot use delete_atoms unless atoms have IDs
 Your atoms do not have IDs, so the delete_atoms command cannot be
 used.
 
+W: Attempting to delete atoms in rigid bodies
+
+UNDOCUMENTED
+
+W: Ignoring 'compress yes' for molecular system
+
+UNDOCUMENTED
+
 E: Could not find delete_atoms group ID
 
 Group ID used in the delete_atoms command does not exist.
diff --git a/src/dihedral_zero.h b/src/dihedral_zero.h
index 8b40a4439fb502ddf0f18ba90b2729d26d61335c..d27ff6abbad9f5acc0e00558a0a1482f4f89c7d9 100644
--- a/src/dihedral_zero.h
+++ b/src/dihedral_zero.h
@@ -52,3 +52,14 @@ class DihedralZero : public Dihedral {
 #endif
 #endif
 
+/* ERROR/WARNING messages:
+
+E: Illegal ... command
+
+UNDOCUMENTED
+
+E: Incorrect args for dihedral coefficients
+
+UNDOCUMENTED
+
+*/
diff --git a/src/displace_atoms.h b/src/displace_atoms.h
index c30333290068165baa98943cfd27adf3dffadc31..737d55dbdd3e9cdb254cd71630918b34eaccab1e 100644
--- a/src/displace_atoms.h
+++ b/src/displace_atoms.h
@@ -67,6 +67,10 @@ E: Could not find displace_atoms group ID
 
 Group ID used in the displace_atoms command does not exist.
 
+W: Attempting to displace atoms in rigid bodies
+
+UNDOCUMENTED
+
 E: Invalid displace_atoms rotate axis for 2d
 
 Axis must be in z direction.
diff --git a/src/domain.h b/src/domain.h
index 5a651009b7e7943cc163280cc3797d91313aeb4a..649e722c50723ee4283a5cdba205d4c48c5311f9 100644
--- a/src/domain.h
+++ b/src/domain.h
@@ -172,10 +172,9 @@ class Domain : protected Pointers {
 
 /* ERROR/WARNING messages:
 
-E: Box bounds are invalid
+E: Box bounds are invalid or missing
 
-The box boundaries specified in the read_data file are invalid.  The
-lo value must be less than the hi value for all 3 dimensions.
+UNDOCUMENTED
 
 E: Cannot skew triclinic box in z for 2d simulation
 
@@ -200,6 +199,10 @@ E: Illegal simulation box
 
 The lower bound of the simulation box is greater than the upper bound.
 
+E: Non-numeric atom coords - simulation unstable
+
+UNDOCUMENTED
+
 E: Bond atom missing in image check
 
 The 2nd atom in a particular bond is missing on this processor.
@@ -279,4 +282,9 @@ E: Both sides of boundary must be periodic
 Cannot specify a boundary as periodic only on the lo or hi side.  Must
 be periodic on both sides.
 
+U: Box bounds are invalid
+
+The box boundaries specified in the read_data file are invalid.  The
+lo value must be less than the hi value for all 3 dimensions.
+
 */
diff --git a/src/dump.h b/src/dump.h
index 200ea6220878ceafd88f00d3aff05c4102b7e1a4..472f69bfb9e95212c5d6e90579b0b46446fcb8b0 100644
--- a/src/dump.h
+++ b/src/dump.h
@@ -180,6 +180,10 @@ E: Too many atoms to dump sort
 
 Cannot sort when running with more than 2^31 atoms.
 
+E: Dump could not find refresh compute ID
+
+UNDOCUMENTED
+
 E: Too much per-proc info for dump
 
 Number of local atoms times number of columns must fit in a 32-bit
diff --git a/src/dump_cfg.h b/src/dump_cfg.h
index 2ede0789be012e1b3fd88f7ca84395e5e374f2b1..3a51bc8dd6c43c709f673027f722dcb054697f70 100644
--- a/src/dump_cfg.h
+++ b/src/dump_cfg.h
@@ -62,12 +62,12 @@ E: Dump cfg arguments can not mix xs|ys|zs with xsu|ysu|zsu
 
 Self-explanatory.
 
-E: Invalid keyword in dump cfg command
-
-Self-explanatory.
-
 E: Dump cfg requires one snapshot per file
 
 Use the wildcard "*" character in the filename.
 
+U: Invalid keyword in dump cfg command
+
+Self-explanatory.
+
 */
diff --git a/src/dump_custom.h b/src/dump_custom.h
index 80674158342e3d68850392f5f05693f7e2e8364c..1420d69b9bffb460f40fd1f2900629ecb34716c8 100644
--- a/src/dump_custom.h
+++ b/src/dump_custom.h
@@ -204,14 +204,19 @@ E: No dump custom arguments specified
 The dump custom command requires that atom quantities be specified to
 output to dump file.
 
+E: Illegal ... command
+
+Self-explanatory.  Check the input script syntax and compare to the
+documentation for the command.  You can use -echo screen as a
+command-line option when running LAMMPS to see the offending line.
+
 E: Invalid attribute in dump custom command
 
 Self-explanatory.
 
-E: Dump_modify format string is too short
+E: Dump_modify format line is too short
 
-There are more fields to be dumped in a line of output than your
-format string specifies.
+UNDOCUMENTED
 
 E: Could not find dump custom compute ID
 
@@ -298,19 +303,21 @@ E: Custom per-atom property ID is not integer
 
 Self-explanatory.
 
-E: Illegal ... command
-
-Self-explanatory.  Check the input script syntax and compare to the
-documentation for the command.  You can use -echo screen as a
-command-line option when running LAMMPS to see the offending line.
-
 E: Dump_modify region ID does not exist
 
 Self-explanatory.
 
-E: Dump modify element names do not match atom types
+E: Dump_modify int format does not contain d character
 
-Number of element names must equal number of atom types.
+UNDOCUMENTED
+
+E: Dump_modify element names do not match atom types
+
+UNDOCUMENTED
+
+E: Dump modify can only have one refresh
+
+UNDOCUMENTED
 
 E: Invalid attribute in dump modify command
 
@@ -372,7 +379,24 @@ E: Could not find dump modify custom atom integer property ID
 
 Self-explanatory.
 
-E: Invalid dump_modify threshold operator
+E: Invalid dump_modify thresh attribute
+
+UNDOCUMENTED
+
+E: Invalid dump_modify thresh operator
+
+UNDOCUMENTED
+
+U: Dump_modify format string is too short
+
+There are more fields to be dumped in a line of output than your
+format string specifies.
+
+U: Dump modify element names do not match atom types
+
+Number of element names must equal number of atom types.
+
+U: Invalid dump_modify threshold operator
 
 Operator keyword used for threshold specification in not recognized.
 
diff --git a/src/dump_image.h b/src/dump_image.h
index 7e85ff9cd4c1eebc0d2eb83ba9636955a0ad8c28..4faf558b1a681dea606c5e8197fe84396d43cd54 100644
--- a/src/dump_image.h
+++ b/src/dump_image.h
@@ -152,6 +152,10 @@ E: Dump image body yes requires atom style body
 
 Self-explanatory.
 
+E: Fix ID for dump image does not exist
+
+UNDOCUMENTED
+
 E: Dump image requires one snapshot per file
 
 Use a "*" in the filename.
diff --git a/src/dump_local.h b/src/dump_local.h
index ffca02b381075fecf1d0667f35193e941de02e4c..91381ba1ece389a5904dd412585318937032793f 100644
--- a/src/dump_local.h
+++ b/src/dump_local.h
@@ -91,10 +91,24 @@ E: No dump local arguments specified
 
 Self-explanatory.
 
+E: Illegal ... command
+
+Self-explanatory.  Check the input script syntax and compare to the
+documentation for the command.  You can use -echo screen as a
+command-line option when running LAMMPS to see the offending line.
+
+E: Binary files are not supported with dump local
+
+UNDOCUMENTED
+
 E: Dump local cannot sort by atom ID
 
 This is because dump local does not really dump per-atom info.
 
+E: Dump_modify format line is too short
+
+UNDOCUMENTED
+
 E: Could not find dump local compute ID
 
 Self-explanatory.
@@ -108,12 +122,6 @@ E: Dump local and fix not computed at compatible times
 The fix must produce per-atom quantities on timesteps that dump local
 needs them.
 
-E: Illegal ... command
-
-Self-explanatory.  Check the input script syntax and compare to the
-documentation for the command.  You can use -echo screen as a
-command-line option when running LAMMPS to see the offending line.
-
 E: Compute used in dump between runs is not current
 
 The compute was not invoked on the current timestep, therefore it
diff --git a/src/finish.h b/src/finish.h
index f93af36ea6585a080186c56212881302fc94e2c5..dc69d41eb8731f6310bc3fff71b6c8712f628e62 100644
--- a/src/finish.h
+++ b/src/finish.h
@@ -30,6 +30,11 @@ class Finish : protected Pointers {
 }
 
 #endif
+
 /* ERROR/WARNING messages:
 
+W: Timing breakdown may not be accurate since GPU/CPU overlap is enabled\nUsing 'export CUDA_LAUNCH_BLOCKING=1' will give an accurate timing breakdown but will reduce performance
+
+UNDOCUMENTED
+
 */
diff --git a/src/fix_adapt.h b/src/fix_adapt.h
index 6e49f4a284225cffaab614f9a7562eada287bd1c..0bb594b7a407b55dfec76ebe89d7726bb78e4ecb 100644
--- a/src/fix_adapt.h
+++ b/src/fix_adapt.h
@@ -111,6 +111,18 @@ E: Fix adapt type pair range is not valid for pair hybrid sub-style
 
 Self-explanatory.
 
+E: Fix adapt bond style does not exist
+
+UNDOCUMENTED
+
+E: Fix adapt bond style param not supported
+
+UNDOCUMENTED
+
+E: Fix adapt does not support bond_style hybrid
+
+UNDOCUMENTED
+
 E: Fix adapt kspace style does not exist
 
 Self-explanatory.
diff --git a/src/fix_ave_correlate.h b/src/fix_ave_correlate.h
index 6c592923a3feef482965432679fe220db18b5176..6d2567e73073040d7332e3e41a1d2c84efac1e53 100644
--- a/src/fix_ave_correlate.h
+++ b/src/fix_ave_correlate.h
@@ -125,6 +125,10 @@ E: Fix ave/correlate variable is not equal-style variable
 
 Self-explanatory.
 
+E: Fix ave/correlate variable is not vector-style variable
+
+UNDOCUMENTED
+
 E: Error writing file header
 
 Something in the output to the file triggered an error.
diff --git a/src/fix_ave_histo.h b/src/fix_ave_histo.h
index c740a262563088675bcf265d553b35783d5759bf..123122b05182f9ba72d1b5fc2d52c83011a46510 100644
--- a/src/fix_ave_histo.h
+++ b/src/fix_ave_histo.h
@@ -82,13 +82,9 @@ Self-explanatory.  Check the input script syntax and compare to the
 documentation for the command.  You can use -echo screen as a
 command-line option when running LAMMPS to see the offending line.
 
-E: Compute ID for fix ave/histo does not exist
-
-Self-explanatory.
+E: No values in fix ave/histo command
 
-E: Fix ID for fix ave/histo does not exist
-
-Self-explanatory.
+UNDOCUMENTED
 
 E: Fix ave/histo input is invalid compute
 
@@ -115,6 +111,10 @@ E: Fix ave/histo cannot input local values in scalar mode
 
 Self-explanatory.
 
+E: Compute ID for fix ave/histo does not exist
+
+Self-explanatory.
+
 E: Fix ave/histo compute does not calculate a global scalar
 
 Self-explanatory.
@@ -159,6 +159,10 @@ E: Fix ave/histo compute does not calculate a local array
 
 Self-explanatory.
 
+E: Fix ID for fix ave/histo does not exist
+
+Self-explanatory.
+
 E: Fix ave/histo fix does not calculate a global scalar
 
 Self-explanatory.
@@ -212,6 +216,22 @@ E: Variable name for fix ave/histo does not exist
 
 Self-explanatory.
 
+E: Fix ave/histo variable is not equal-style variable
+
+UNDOCUMENTED
+
+E: Fix ave/histo variable is not vector-style variable
+
+UNDOCUMENTED
+
+E: Fix ave/histo variable cannot be indexed
+
+UNDOCUMENTED
+
+E: Fix ave/histo variable is not atom-style variable
+
+UNDOCUMENTED
+
 E: Error writing file header
 
 Something in the output to the file triggered an error.
diff --git a/src/fix_ave_histo_weight.h b/src/fix_ave_histo_weight.h
index 2eba1a04681fa765c00e4e0cc3bf8dba7eaea3a1..22812384de036920a44fa25a3d96c1dd065447a6 100644
--- a/src/fix_ave_histo_weight.h
+++ b/src/fix_ave_histo_weight.h
@@ -59,6 +59,10 @@ E: Invalid timestep reset for fix ave/histo
 Resetting the timestep has invalidated the sequence of timesteps this
 fix needs to process.
 
+E: Fix ave/histo/weight option not yet supported
+
+UNDOCUMENTED
+
 E: Error writing out histogram data
 
 Something in the output to the file triggered an error.
diff --git a/src/fix_ave_time.h b/src/fix_ave_time.h
index 0357815f0ce76a9e8fe76da6e65bed6b6673867e..aa1d2333cfa74d05ac886b59ce96701c20d78eaa 100644
--- a/src/fix_ave_time.h
+++ b/src/fix_ave_time.h
@@ -91,15 +91,11 @@ E: No values in fix ave/time command
 
 Self-explanatory.
 
-E: Compute ID for fix ave/time does not exist
-
-Self-explanatory.
-
-E: Fix ID for fix ave/time does not exist
+E: Invalid fix ave/time off column
 
 Self-explanatory.
 
-E: Invalid fix ave/time off column
+E: Compute ID for fix ave/time does not exist
 
 Self-explanatory.
 
@@ -123,6 +119,10 @@ E: Fix ave/time compute array is accessed out-of-range
 
 An index for the array is out of bounds.
 
+E: Fix ID for fix ave/time does not exist
+
+Self-explanatory.
+
 E: Fix ave/time fix does not calculate a scalar
 
 Self-explanatory.
@@ -164,9 +164,13 @@ E: Fix ave/time variable is not equal-style variable
 
 Self-explanatory.
 
-E: Fix ave/time cannot use variable with vector mode
+E: Fix ave/time variable is not vector-style variable
 
-Variables produce scalar values.
+UNDOCUMENTED
+
+E: Fix ave/time mode vector variable cannot be indexed
+
+UNDOCUMENTED
 
 E: Error writing file header
 
@@ -187,6 +191,10 @@ E: Error writing out time averaged data
 
 Something in the output to the file triggered an error.
 
+E: Fix ave/time vector-style variable changed length
+
+UNDOCUMENTED
+
 E: Fix ave/time columns are inconsistent lengths
 
 Self-explanatory.
@@ -196,4 +204,8 @@ E: Cannot open fix ave/time file %s
 The specified file cannot be opened.  Check that the path and name are
 correct.
 
+U: Fix ave/time cannot use variable with vector mode
+
+Variables produce scalar values.
+
 */
diff --git a/src/fix_balance.h b/src/fix_balance.h
index 71222a00a18c246b84c406e64f3d0ee541cd6d0a..8b8759ec9783f5c3dfe201dabab823a672497657 100644
--- a/src/fix_balance.h
+++ b/src/fix_balance.h
@@ -82,7 +82,11 @@ E: Fix balance rcb cannot be used with comm_style brick
 
 Comm_style tiled must be used instead.
 
-E: Cannot open fix balance output file
+E: Fix balance nevery = 0 cannot be used with weight var
+
+UNDOCUMENTED
+
+U: Cannot open fix balance output file
 
 Self-explanatory.
 
diff --git a/src/fix_controller.h b/src/fix_controller.h
index 643fb9017fe372e6e94a03f662f0959f2840912f..7431cb16d2719027694499c023fe013e08453770 100644
--- a/src/fix_controller.h
+++ b/src/fix_controller.h
@@ -55,4 +55,44 @@ class FixController : public Fix {
 
 /* ERROR/WARNING messages:
 
+E: Illegal ... command
+
+UNDOCUMENTED
+
+E: Compute ID for fix controller does not exist
+
+UNDOCUMENTED
+
+E: Fix controller compute does not calculate a global scalar or vector
+
+UNDOCUMENTED
+
+E: Fix controller compute vector is accessed out-of-range
+
+UNDOCUMENTED
+
+E: Fix ID for fix controller does not exist
+
+UNDOCUMENTED
+
+E: Fix controller fix does not calculate a global scalar or vector
+
+UNDOCUMENTED
+
+E: Fix controller fix vector is accessed out-of-range
+
+UNDOCUMENTED
+
+E: Variable name for fix controller does not exist
+
+UNDOCUMENTED
+
+E: Fix controller variable is not equal-style variable
+
+UNDOCUMENTED
+
+E: Fix controller variable is not internal-style variable
+
+UNDOCUMENTED
+
 */
diff --git a/src/fix_deform.h b/src/fix_deform.h
index 4d440eb3c7a97d6dfd06b415ddf46f7a04f472f8..7f70c3a3d27c8d6af8532cd3af4efa7cc64d5158 100644
--- a/src/fix_deform.h
+++ b/src/fix_deform.h
@@ -135,4 +135,8 @@ When both yz and xy are changing, it induces changes in xz if the
 box must flip from one tilt extreme to another.  Thus it is not
 allowed for yz to grow so much that a flip is induced.
 
+E: Fix deform settings not consistent with restart
+
+UNDOCUMENTED
+
 */
diff --git a/src/fix_deprecated.h b/src/fix_deprecated.h
index dcfe75358ff9b5b6b6f0ff591fd31d4d2c7d2609..e11e283f37fdd241b84b4e178ce57f24eebc5380 100644
--- a/src/fix_deprecated.h
+++ b/src/fix_deprecated.h
@@ -42,7 +42,11 @@ class FixDeprecated : public Fix {
 
 /* ERROR/WARNING messages:
 
-E: The fix ave/spatial command has been removed from LAMMPS
+E: This fix command has been removed from LAMMPS
+
+UNDOCUMENTED
+
+U: The fix ave/spatial command has been removed from LAMMPS
 
 It has been replaced by the more flexible fix ave/chunk and compute
 chunk/atom commands.  All the fix ave/spatial keywords and options are
diff --git a/src/fix_enforce2d.h b/src/fix_enforce2d.h
index c475953017889ad4c14677b27feec585e85c350e..cdead78f6a0755daa47bdf740ba3962ee95a602d 100644
--- a/src/fix_enforce2d.h
+++ b/src/fix_enforce2d.h
@@ -58,4 +58,8 @@ E: Cannot use fix enforce2d with 3d simulation
 
 Self-explanatory.
 
+E: Fix enforce2d must be defined after fix %s
+
+UNDOCUMENTED
+
 */
diff --git a/src/fix_external.h b/src/fix_external.h
index 1e9e78365fe231e0bb1fdefb756d1707e11215d4..1485e0a60bedebb75dd16ae13a21f216155c2a83 100644
--- a/src/fix_external.h
+++ b/src/fix_external.h
@@ -82,4 +82,8 @@ E: Fix external callback function not set
 
 This must be done by an external program in order to use this fix.
 
+E: Invalid set_vector index in fix external
+
+UNDOCUMENTED
+
 */
diff --git a/src/fix_group.h b/src/fix_group.h
index 662325492bf068aacfb5ff36d725d339b92272f4..070b4801bca3a9e8ab1a15379a52a2182c7bc38c 100644
--- a/src/fix_group.h
+++ b/src/fix_group.h
@@ -67,6 +67,10 @@ E: Variable name for group dynamic does not exist
 
 Self-explanatory.
 
+E: Per atom property for group dynamic does not exist
+
+UNDOCUMENTED
+
 E: Group dynamic parent group cannot be dynamic
 
 Self-explanatory.
@@ -75,6 +79,10 @@ E: Variable for group dynamic is invalid style
 
 The variable must be an atom-style variable.
 
+E: Per-atom property for group dynamic does not exist
+
+UNDOCUMENTED
+
 W: One or more dynamic groups may not be updated at correct point in timestep
 
 If there are other fixes that act immediately after the initial stage
diff --git a/src/fix_halt.h b/src/fix_halt.h
index 52d2f95d2f5c24333b5b6e54bd7f0e44f89f989a..73c8d0115a100979da441c3629e9166901133126 100644
--- a/src/fix_halt.h
+++ b/src/fix_halt.h
@@ -57,7 +57,27 @@ Self-explanatory.  Check the input script syntax and compare to the
 documentation for the command.  You can use -echo screen as a
 command-line option when running LAMMPS to see the offending line.
 
-E: Cannot open fix print file %s
+E: Could not find fix halt variable name
+
+UNDOCUMENTED
+
+E: Fix halt variable is not equal-style variable
+
+UNDOCUMENTED
+
+E: Invalid fix halt attribute
+
+UNDOCUMENTED
+
+E: Invalid fix halt operator
+
+UNDOCUMENTED
+
+E: Fix halt %s condition met on step %ld with value %g
+
+UNDOCUMENTED
+
+U: Cannot open fix print file %s
 
 The output file generated by the fix print command cannot be opened
 
diff --git a/src/fix_heat.h b/src/fix_heat.h
index 36def2cfd18f939bcc0886eef6366a9756d1dd9e..a5064c594715848715067697579cb38fe7074dc3 100644
--- a/src/fix_heat.h
+++ b/src/fix_heat.h
@@ -73,10 +73,18 @@ E: Variable for fix heat is invalid style
 
 Only equal-style or atom-style variables can be used.
 
+W: Cannot apply fix heat to atoms in rigid bodies
+
+UNDOCUMENTED
+
 E: Fix heat group has no atoms
 
 Self-explanatory.
 
+E: Fix heat group has invalid mass
+
+UNDOCUMENTED
+
 E: Fix heat kinetic energy went negative
 
 This will cause the velocity rescaling about to be performed by fix
diff --git a/src/fix_move.h b/src/fix_move.h
index accc23c7f7d167bc21ea92474376d78a05b4997b..13c9bc66b83cc4627eb6b5ee20f7becf7954bd88 100644
--- a/src/fix_move.h
+++ b/src/fix_move.h
@@ -101,9 +101,9 @@ E: Fix move cannot set wiggle z motion for 2d problem
 
 Self-explanatory.
 
-E: Fix move cannot rotate aroung non z-axis for 2d problem
+E: Fix move cannot rotate around non z-axis for 2d problem
 
-Self-explanatory.
+UNDOCUMENTED
 
 E: Fix move cannot define z or vz variable for 2d problem
 
@@ -129,4 +129,8 @@ E: Resetting timestep size is not allowed with fix move
 
 This is because fix move is moving atoms based on elapsed time.
 
+U: Fix move cannot rotate aroung non z-axis for 2d problem
+
+Self-explanatory.
+
 */
diff --git a/src/fix_neigh_history.h b/src/fix_neigh_history.h
index 7aed2d60357dfb81c0ff13ee357214f0c5dda4dc..601e8a55a2bf5f4cbdc3903d4aadd06665bc7f81 100644
--- a/src/fix_neigh_history.h
+++ b/src/fix_neigh_history.h
@@ -104,12 +104,28 @@ class FixNeighHistory : public Fix {
 
 /* ERROR/WARNING messages:
 
-E: Pair style granular with history requires atoms have IDs
+E: Illegal ... command
+
+UNDOCUMENTED
+
+E: Neighbor history requires atoms have IDs
+
+UNDOCUMENTED
+
+E: Neighbor history overflow, boost neigh_modify one
+
+UNDOCUMENTED
+
+E: Unsupported comm mode in neighbor history
+
+UNDOCUMENTED
+
+U: Pair style granular with history requires atoms have IDs
 
 Atoms in the simulation do not have IDs, so history effects
 cannot be tracked by the granular pair potential.
 
-E: Shear history overflow, boost neigh_modify one
+U: Shear history overflow, boost neigh_modify one
 
 There are too many neighbors of a single atom.  Use the neigh_modify
 command to increase the max number of neighbors allowed for one atom.
diff --git a/src/fix_nh.h b/src/fix_nh.h
index 8176c3ebb71e3b20759dfc99fb5a33f050cb53b3..807ea2a71ff34d996cc3fdaf5610ec8ba26a2d2e 100644
--- a/src/fix_nh.h
+++ b/src/fix_nh.h
@@ -222,10 +222,6 @@ E: Using update dipole flag requires atom attribute mu
 
 Self-explanatory.
 
-E: The dlm flag must be used with update dipole
-
-Self-explanatory.
-
 E: Fix nvt/npt/nph damping parameters must be > 0.0
 
 Self-explanatory.
@@ -242,6 +238,10 @@ E: Pressure ID for fix npt/nph does not exist
 
 Self-explanatory.
 
+E: Non-numeric pressure - simulation unstable
+
+UNDOCUMENTED
+
 E: Fix npt/nph has tilted box too far in one step - periodic cell is too far from equilibrium state
 
 Self-explanatory.  The change in the box tilt is too extreme
@@ -272,4 +272,8 @@ E: Fix_modify pressure ID does not compute pressure
 
 The compute ID assigned to the fix must compute pressure.
 
+U: The dlm flag must be used with update dipole
+
+Self-explanatory.
+
 */
diff --git a/src/fix_nh_sphere.h b/src/fix_nh_sphere.h
index 33e80588da9477104ca6a79f3021a59db57d83e2..2e0394064e8e3c57406b0f0906cad99b77a3ca9f 100644
--- a/src/fix_nh_sphere.h
+++ b/src/fix_nh_sphere.h
@@ -42,7 +42,15 @@ E: Fix nvt/nph/npt sphere requires atom style sphere
 
 Self-explanatory.
 
-E: Fix nvt/sphere requires extended particles
+E: Fix nvt/nph/npt sphere disc option requires 2d simulation
+
+UNDOCUMENTED
+
+E: Fix nvt/npt/nph/sphere require extended particles
+
+UNDOCUMENTED
+
+U: Fix nvt/sphere requires extended particles
 
 This fix can only be used for particles of a finite size.
 
diff --git a/src/fix_nve_sphere.h b/src/fix_nve_sphere.h
index 9a95f4db5f68764dc7187fa965493b4fe5405d8e..777360081ac15af72bfb58f76ff76e60a506a821 100644
--- a/src/fix_nve_sphere.h
+++ b/src/fix_nve_sphere.h
@@ -51,6 +51,10 @@ Self-explanatory.  Check the input script syntax and compare to the
 documentation for the command.  You can use -echo screen as a
 command-line option when running LAMMPS to see the offending line.
 
+E: Fix nve/sphere disc requires 2d simulation
+
+UNDOCUMENTED
+
 E: Fix nve/sphere requires atom style sphere
 
 Self-explanatory.
@@ -63,9 +67,8 @@ E: Fix nve/sphere requires extended particles
 
 This fix can only be used for particles of a finite size.
 
-E: Fix nve/sphere dlm must be used with update dipole
+U: Fix nve/sphere dlm must be used with update dipole
 
 The DLM algorithm can only be used in conjunction with update dipole.
 
-
 */
diff --git a/src/fix_property_atom.h b/src/fix_property_atom.h
index d923d76cac292842ebd937bef182ee507c71d091..9e0236f61e58aa26e8a0348d52348ea1d9a19ad6 100644
--- a/src/fix_property_atom.h
+++ b/src/fix_property_atom.h
@@ -88,13 +88,21 @@ E: Fix property/atom cannot specify q twice
 
 Self-explanatory.
 
+E: Fix property/atom rmass when atom_style already has rmass attribute
+
+UNDOCUMENTED
+
+E: Fix property/atom cannot specify rmass twice
+
+UNDOCUMENTED
+
 E: Fix property/atom vector name already exists
 
 The name for an integer or floating-point vector must be unique.
 
-W: Fix property/atom mol or charge w/out ghost communication
+W: Fix property/atom mol or charge or rmass w/out ghost communication
 
-A model typically needs these properties defined for ghost atoms.
+UNDOCUMENTED
 
 E: Atom style was redefined after using fix property/atom
 
@@ -114,4 +122,8 @@ E: Invalid atom ID in %s section of data file
 An atom in a section of the data file being read by fix property/atom
 has an invalid atom ID that is <= 0 or > the maximum existing atom ID.
 
+U: Fix property/atom mol or charge w/out ghost communication
+
+A model typically needs these properties defined for ghost atoms.
+
 */
diff --git a/src/fix_spring_chunk.h b/src/fix_spring_chunk.h
index 1453a8e621834361cd00cf87e5b711576799d50c..9ba6d3a2f810369e779974fbe9b6fbe2ed27ac9c 100644
--- a/src/fix_spring_chunk.h
+++ b/src/fix_spring_chunk.h
@@ -63,15 +63,35 @@ Self-explanatory.  Check the input script syntax and compare to the
 documentation for the command.  You can use -echo screen as a
 command-line option when running LAMMPS to see the offending line.
 
-E: R0 < 0 for fix spring command
+E: Chunk/atom compute does not exist for fix spring/chunk
+
+UNDOCUMENTED
+
+E: Fix spring/chunk does not use chunk/atom compute
+
+UNDOCUMENTED
+
+E: Com/chunk compute does not exist for fix spring/chunk
+
+UNDOCUMENTED
+
+E: Fix spring/chunk does not use com/chunk compute
+
+UNDOCUMENTED
+
+E: Fix spring chunk chunkID not same as comID chunkID
+
+UNDOCUMENTED
+
+U: R0 < 0 for fix spring command
 
 Equilibrium spring length is invalid.
 
-E: Fix spring couple group ID does not exist
+U: Fix spring couple group ID does not exist
 
 Self-explanatory.
 
-E: Two groups cannot be the same in fix spring couple
+U: Two groups cannot be the same in fix spring couple
 
 Self-explanatory.
 
diff --git a/src/fix_temp_berendsen.h b/src/fix_temp_berendsen.h
index 2b4a22a8c4427c8c58a871f03a26574db1c49c1d..ffc0ca5defe42e1703f85ae0b0b869886b9aa3cf 100644
--- a/src/fix_temp_berendsen.h
+++ b/src/fix_temp_berendsen.h
@@ -77,6 +77,10 @@ E: Temperature ID for fix temp/berendsen does not exist
 
 Self-explanatory.
 
+W: Cannot thermostat atoms in rigid bodies
+
+UNDOCUMENTED
+
 E: Computed temperature for fix temp/berendsen cannot be 0.0
 
 Self-explanatory.
diff --git a/src/fix_temp_csld.h b/src/fix_temp_csld.h
index 3c4ddeefb4ab25a8d6dc3b2c0a1255fffbc42f7e..2fde8537ee95447cde32e37a9cc5d831539d9737 100644
--- a/src/fix_temp_csld.h
+++ b/src/fix_temp_csld.h
@@ -80,6 +80,10 @@ E: Temperature ID for fix temp/csld does not exist
 
 Self-explanatory.
 
+W: Cannot thermostat atoms in rigid bodies
+
+UNDOCUMENTED
+
 E: Fix temp/csld variable returned negative temperature
 
 Self-explanatory.
diff --git a/src/fix_tmd.h b/src/fix_tmd.h
index dc994936dff99317ba5eab46a17f54e5bd9ff79a..337b037c2dad317ec79c4b4986864b9a4f2094bf 100644
--- a/src/fix_tmd.h
+++ b/src/fix_tmd.h
@@ -81,6 +81,10 @@ E: Cannot open fix tmd file %s
 The output file for the fix tmd command cannot be opened.  Check that
 the path and name are correct.
 
+E: Cannot use fix TMD on massless group
+
+UNDOCUMENTED
+
 E: Fix tmd must come after integration fixes
 
 Any fix tmd command must appear in the input script after all time
@@ -91,6 +95,10 @@ E: Incorrect format in TMD target file
 
 Format of file read by fix tmd command is incorrect.
 
+W: Ignoring empty or incorrectly formatted line in target file
+
+UNDOCUMENTED
+
 E: TMD target file did not list all group atoms
 
 The target file for the fix tmd command did not list all atoms in the
diff --git a/src/fix_vector.h b/src/fix_vector.h
index c22dc0ea778b894d36f88cdd85205898346a6171..ff962b235b3f7dcb3dc765be41143e4b9ef74689 100644
--- a/src/fix_vector.h
+++ b/src/fix_vector.h
@@ -106,6 +106,10 @@ E: Fix vector variable is not equal-style variable
 
 Self-explanatory.
 
+E: Fix vector variable is not vector-style variable
+
+UNDOCUMENTED
+
 E: Fix vector cannot set output array intensive/extensive from these inputs
 
 The inputs to the command have conflicting intensive/extensive attributes.
diff --git a/src/force.h b/src/force.h
index 9ea0ec420135320fdc279480f56902439b217962..76cd69ed76e62146f6007a97b5bc7fede686daa2 100644
--- a/src/force.h
+++ b/src/force.h
@@ -157,33 +157,37 @@ class Force : protected Pointers {
 
 /* ERROR/WARNING messages:
 
-E: Unknown pair style
+E: Must re-specify non-restarted pair style (%s) after read_restart
 
-The choice of pair style is unknown.
+UNDOCUMENTED
 
-E: Unknown bond style
+E: Unknown pair style %s
 
-The choice of bond style is unknown.
+UNDOCUMENTED
 
-E: Unknown angle style
+E: Unknown bond style %s
 
-The choice of angle style is unknown.
+UNDOCUMENTED
 
-E: Unknown dihedral style
+E: Unknown angle style %s
 
-The choice of dihedral style is unknown.
+UNDOCUMENTED
 
-E: Unknown improper style
+E: Unknown dihedral style %s
 
-The choice of improper style is unknown.
+UNDOCUMENTED
+
+E: Unknown improper style %s
+
+UNDOCUMENTED
 
 E: Cannot yet use KSpace solver with grid with comm style tiled
 
 This is current restriction in LAMMPS.
 
-E: Unknown kspace style
+E: Unknown kspace style %s
 
-The choice of kspace style is unknown.
+UNDOCUMENTED
 
 E: Illegal ... command
 
@@ -191,7 +195,31 @@ Self-explanatory.  Check the input script syntax and compare to the
 documentation for the command.  You can use -echo screen as a
 command-line option when running LAMMPS to see the offending line.
 
-E: Numeric index is out of bounds
+U: Unknown pair style
+
+The choice of pair style is unknown.
+
+U: Unknown bond style
+
+The choice of bond style is unknown.
+
+U: Unknown angle style
+
+The choice of angle style is unknown.
+
+U: Unknown dihedral style
+
+The choice of dihedral style is unknown.
+
+U: Unknown improper style
+
+The choice of improper style is unknown.
+
+U: Unknown kspace style
+
+The choice of kspace style is unknown.
+
+U: Numeric index is out of bounds
 
 A command with an argument that specifies an integer or range of
 integers is using a value that is less than 1 or greater than the
diff --git a/src/group.h b/src/group.h
index 31e9b719f81bf14b35b76478f3fb2a3edac9dbfa..8f07fa19d00d23097e8267a9fce7ba448939a101 100644
--- a/src/group.h
+++ b/src/group.h
@@ -174,4 +174,8 @@ E: Group all cannot be made dynamic
 
 This operation is not allowed.
 
+E: Insufficient Jacobi rotations for group::omega
+
+UNDOCUMENTED
+
 */
diff --git a/src/imbalance_group.h b/src/imbalance_group.h
index b3961ea389e33916fa4593e615ea46703a06e01d..a505ebbb5b4f6204c5385f732a15b7468aaa7729 100644
--- a/src/imbalance_group.h
+++ b/src/imbalance_group.h
@@ -39,3 +39,15 @@ class ImbalanceGroup : public Imbalance {
 }
 
 #endif
+
+/* ERROR/WARNING messages:
+
+E: Illegal ... command
+
+UNDOCUMENTED
+
+E: Unknown group in balance weight command
+
+UNDOCUMENTED
+
+*/
diff --git a/src/imbalance_neigh.h b/src/imbalance_neigh.h
index e905d3e1c097a798989bcee085833426be1c155f..0af58fc7ca65193aed2aafe444710ab70d1c6df5 100644
--- a/src/imbalance_neigh.h
+++ b/src/imbalance_neigh.h
@@ -39,3 +39,19 @@ class ImbalanceNeigh : public Imbalance {
 }
 
 #endif
+
+/* ERROR/WARNING messages:
+
+E: Illegal ... command
+
+UNDOCUMENTED
+
+W: Balance weight neigh skipped b/c no list found
+
+UNDOCUMENTED
+
+E: Balance weight <= 0.0
+
+UNDOCUMENTED
+
+*/
diff --git a/src/imbalance_store.h b/src/imbalance_store.h
index 74f200ecbfe5b31b8183087fa6634ba1fabab7de..7e2a30a37f7f0ce066715c1a534fd27193a15388 100644
--- a/src/imbalance_store.h
+++ b/src/imbalance_store.h
@@ -38,3 +38,11 @@ class ImbalanceStore : public Imbalance {
 }
 
 #endif
+
+/* ERROR/WARNING messages:
+
+E: Illegal ... command
+
+UNDOCUMENTED
+
+*/
diff --git a/src/imbalance_time.h b/src/imbalance_time.h
index 8f20cc42a4ffa7d79bbd10620bf075b6049420cc..2bad13a4f6923e9b3b625fbf80e06d445e7cf40c 100644
--- a/src/imbalance_time.h
+++ b/src/imbalance_time.h
@@ -41,3 +41,15 @@ class ImbalanceTime : public Imbalance {
 }
 
 #endif
+
+/* ERROR/WARNING messages:
+
+E: Illegal ... command
+
+UNDOCUMENTED
+
+E: Balance weight <= 0.0
+
+UNDOCUMENTED
+
+*/
diff --git a/src/imbalance_var.h b/src/imbalance_var.h
index d354679c781473adbc1fac4bf53f3d1cd6eb6371..fba4a9c2f7c349beab6f3a5c8806815779367b6d 100644
--- a/src/imbalance_var.h
+++ b/src/imbalance_var.h
@@ -41,3 +41,23 @@ class ImbalanceVar : public Imbalance {
 }
 
 #endif
+
+/* ERROR/WARNING messages:
+
+E: Illegal ... command
+
+UNDOCUMENTED
+
+E: Variable name for balance weight does not exist
+
+UNDOCUMENTED
+
+E: Variable for balance weight has invalid style
+
+UNDOCUMENTED
+
+E: Balance weight <= 0.0
+
+UNDOCUMENTED
+
+*/
diff --git a/src/improper_zero.h b/src/improper_zero.h
index d999bdd8d9d87343f884583149a3a2e14f13321a..0e16411fefac513a33415f66142cbd34e4f76729 100644
--- a/src/improper_zero.h
+++ b/src/improper_zero.h
@@ -50,6 +50,10 @@ class ImproperZero : public Improper {
 
 /* ERROR/WARNING messages:
 
+E: Illegal ... command
+
+UNDOCUMENTED
+
 E: Incorrect args for improper coefficients
 
 Self-explanatory.  Check the input script or data file.
diff --git a/src/input.h b/src/input.h
index 9165ad9813b841bf379a4705f7a9fb5b6ce7cc41..55d93e630373be8934d928cf1868d685f5b9e4d0 100644
--- a/src/input.h
+++ b/src/input.h
@@ -181,10 +181,9 @@ E: Invalid immediate variable
 
 Syntax of immediate value is incorrect.
 
-E: Substitution for illegal variable
+E: Substitution for illegal variable %s
 
-Input script line contained a variable that could not be substituted
-for.
+UNDOCUMENTED
 
 E: Illegal ... command
 
@@ -254,6 +253,14 @@ E: Bond_style command when no bonds allowed
 
 The chosen atom style does not allow for bonds to be defined.
 
+E: Bond_write command when no bonds allowed
+
+UNDOCUMENTED
+
+E: Bond_write command before bond_style is defined
+
+UNDOCUMENTED
+
 E: Boundary command after simulation box is defined
 
 The boundary command cannot be used after a read_data, read_restart,
@@ -381,4 +388,9 @@ E: Units command after simulation box is defined
 The units command cannot be used after a read_data, read_restart, or
 create_box command.
 
+U: Substitution for illegal variable
+
+Input script line contained a variable that could not be substituted
+for.
+
 */
diff --git a/src/lammps.h b/src/lammps.h
index e3b815e6237a7ad660b90b97ee7c65b64db858db..26714ab072bd76f3748bf845d87bd8d6a2f588b8 100644
--- a/src/lammps.h
+++ b/src/lammps.h
@@ -167,10 +167,6 @@ This error occurs whenthe sizes of smallint, imageint, tagint, bigint,
 as defined in src/lmptype.h are not what is expected.  Contact
 the developers if this occurs.
 
-E: Cannot use -cuda on and -kokkos on together
-
-This is not allowed since both packages can use GPUs.
-
 E: Cannot use -kokkos on without KOKKOS installed
 
 Self-explanatory.
@@ -196,4 +192,8 @@ E: Too many -pk arguments in command line
 The string formed by concatenating the arguments is too long.  Use a
 package command in the input script instead.
 
+U: Cannot use -cuda on and -kokkos on together
+
+This is not allowed since both packages can use GPUs.
+
 */
diff --git a/src/library.h b/src/library.h
index 93d9f0ef382036c9e3d0c5e4c36a697306ae26b6..7c21b98daee2894ee4191788eefd94ee80f146dc 100644
--- a/src/library.h
+++ b/src/library.h
@@ -79,15 +79,51 @@ int lammps_get_last_error_message(void *, char *, int);
 
 /* ERROR/WARNING messages:
 
+E: Library error: issuing LAMMPS command during run
+
+UNDOCUMENTED
+
 W: Library error in lammps_gather_atoms
 
 This library function cannot be used if atom IDs are not defined
 or are not consecutively numbered.
 
+W: lammps_gather_atoms: unknown property name
+
+UNDOCUMENTED
+
+W: Library error in lammps_gather_atoms_subset
+
+UNDOCUMENTED
+
+W: lammps_gather_atoms_subset: unknown property name
+
+UNDOCUMENTED
+
 W: Library error in lammps_scatter_atoms
 
 This library function cannot be used if atom IDs are not defined or
 are not consecutively numbered, or if no atom map is defined.  See the
 atom_modify command for details about atom maps.
 
+W: lammps_scatter_atoms: unknown property name
+
+UNDOCUMENTED
+
+W: Library error in lammps_scatter_atoms_subset
+
+UNDOCUMENTED
+
+W: lammps_scatter_atoms_subset: unknown property name
+
+UNDOCUMENTED
+
+W: Library error in lammps_create_atoms
+
+UNDOCUMENTED
+
+W: Library warning in lammps_create_atoms, invalid total atoms %ld %ld
+
+UNDOCUMENTED
+
 */
diff --git a/src/min.h b/src/min.h
index 021198bc09b2aa970b92e137f415f0214e3abb74..92da97c6640fde9869af2c5d92b3da440d65709a 100644
--- a/src/min.h
+++ b/src/min.h
@@ -116,18 +116,9 @@ class Min : protected Pointers {
 
 /* ERROR/WARNING messages:
 
-W: Resetting reneighboring criteria during minimization
+W: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization
 
-Minimization requires that neigh_modify settings be delay = 0, every =
-1, check = yes.  Since these settings were not in place, LAMMPS
-changed them and will restore them to their original values after the
-minimization.
-
-W: Energy due to X extra global DOFs will be included in minimizer energies
-
-When using fixes like box/relax, the potential energy used by the minimizer
-is augmented by an additional energy provided by the fix. Thus the printed
-converged energy may be different from the total potential energy.
+UNDOCUMENTED
 
 E: Minimization could not find thermo_pe compute
 
@@ -144,10 +135,31 @@ E: Cannot use a damped dynamics min style with per-atom DOF
 This is a current restriction in LAMMPS.  Use another minimizer
 style.
 
+E: Cannot use hftn min style with fix box/relax
+
+UNDOCUMENTED
+
+E: Cannot use hftn min style with per-atom DOF
+
+UNDOCUMENTED
+
 E: Illegal ... command
 
 Self-explanatory.  Check the input script syntax and compare to the
 documentation for the command.  You can use -echo screen as a
 command-line option when running LAMMPS to see the offending line.
 
+U: Resetting reneighboring criteria during minimization
+
+Minimization requires that neigh_modify settings be delay = 0, every =
+1, check = yes.  Since these settings were not in place, LAMMPS
+changed them and will restore them to their original values after the
+minimization.
+
+U: Energy due to X extra global DOFs will be included in minimizer energies
+
+When using fixes like box/relax, the potential energy used by the minimizer
+is augmented by an additional energy provided by the fix. Thus the printed
+converged energy may be different from the total potential energy.
+
 */
diff --git a/src/modify.h b/src/modify.h
index 3e20df5aac152affa32c8b7ff642ed621ffc2ba8..1163d44b16f54e4b39f296d166c685118ed714ba 100644
--- a/src/modify.h
+++ b/src/modify.h
@@ -224,9 +224,9 @@ The ID and style of a fix match for a fix you are changing with a fix
 command, but the new group you are specifying does not match the old
 group.
 
-E: Unknown fix style
+E: Unknown fix style %s
 
-The choice of fix style is unknown.
+UNDOCUMENTED
 
 E: Could not find fix_modify ID
 
@@ -240,9 +240,9 @@ E: Reuse of compute ID
 
 A compute ID cannot be used twice.
 
-E: Unknown compute style
+E: Unknown compute style %s
 
-The choice of compute style is unknown.
+UNDOCUMENTED
 
 E: Could not find compute_modify ID
 
@@ -252,4 +252,12 @@ E: Could not find compute ID to delete
 
 Self-explanatory.
 
+U: Unknown fix style
+
+The choice of fix style is unknown.
+
+U: Unknown compute style
+
+The choice of compute style is unknown.
+
 */
diff --git a/src/molecule.h b/src/molecule.h
index e6455609ab82a82b11415567ceabdabdc84cabcd..064e58aabd94f0b16707f33652abc91bf9bea6f9 100644
--- a/src/molecule.h
+++ b/src/molecule.h
@@ -191,6 +191,10 @@ E: Molecule file requires atom style body
 
 Self-explanatory.
 
+E: Invalid header in molecule file
+
+UNDOCUMENTED
+
 E: No count or invalid atom count in molecule file
 
 The number of atoms must be specified.
@@ -263,6 +267,10 @@ E: Molecule file has no Body Doubles section
 
 Self-explanatory.
 
+E: Cannot auto-generate special bonds before simulation box is defined
+
+UNDOCUMENTED
+
 E: Molecule natoms must be 1 for body particle
 
 Self-explanatory.
@@ -371,6 +379,10 @@ E: Molecule auto special bond generation overflow
 
 Counts exceed maxspecial setting for other atoms in system.
 
+E: Invalid Shake Flags section in molecule file
+
+UNDOCUMENTED
+
 E: Invalid shake flag in molecule file
 
 Self-explanatory.
@@ -379,6 +391,10 @@ E: Invalid shake atom in molecule file
 
 Self-explanatory.
 
+E: Invalid shake type data in molecule file
+
+UNDOCUMENTED
+
 E: Invalid shake bond type in molecule file
 
 Self-explanatory.
diff --git a/src/nbin.h b/src/nbin.h
index 30c74ff29558e0d8dca424b52ece331211d126fb..d6022a6a352fda5f462519572f502b4aa1faa159 100644
--- a/src/nbin.h
+++ b/src/nbin.h
@@ -77,4 +77,8 @@ class NBin : protected Pointers {
 
 /* ERROR/WARNING messages:
 
+E: Non-numeric positions - simulation unstable
+
+UNDOCUMENTED
+
 */
diff --git a/src/nbin_standard.h b/src/nbin_standard.h
index ca96a4f1332a40db74774c2dab750785bb15ecde..14b587c24c15c5008b2db610f3c3a310b7b9908b 100644
--- a/src/nbin_standard.h
+++ b/src/nbin_standard.h
@@ -41,4 +41,16 @@ class NBinStandard : public NBin {
 
 /* ERROR/WARNING messages:
 
+E: Domain too large for neighbor bins
+
+UNDOCUMENTED
+
+E: Cannot use neighbor bins - box size << cutoff
+
+UNDOCUMENTED
+
+E: Too many neighbor bins
+
+UNDOCUMENTED
+
 */
diff --git a/src/neighbor.h b/src/neighbor.h
index c054cddb2b59d04dbfd723d8c405e66ea8cf2ad5..12f90556c2512013e99663a9d7f92cebd7f5f5da 100644
--- a/src/neighbor.h
+++ b/src/neighbor.h
@@ -310,21 +310,37 @@ consistently by both the short-range pair style and the long-range
 solver.  This is not done for exclusions of charged atom pairs via the
 neigh_modify exclude command.
 
-E: Neighbor include group not allowed with ghost neighbors
+E: Cannot request an occasional binned neighbor list with ghost info
 
-This is a current restriction within LAMMPS.
+UNDOCUMENTED
 
-E: Neighbor multi not yet enabled for ghost neighbors
+E: Requested neighbor bin option does not exist
 
-This is a current restriction within LAMMPS.
+UNDOCUMENTED
 
-E: Neighbor multi not yet enabled for granular
+E: Requested neighbor stencil method does not exist
 
-Self-explanatory.
+UNDOCUMENTED
 
-E: Neighbor multi not yet enabled for rRESPA
+E: Requested neighbor pair method does not exist
 
-Self-explanatory.
+UNDOCUMENTED
+
+E: Could not assign bin method to neighbor stencil
+
+UNDOCUMENTED
+
+E: Could not assign bin method to neighbor pair
+
+UNDOCUMENTED
+
+E: Could not assign stencil method to neighbor pair
+
+UNDOCUMENTED
+
+E: Neighbor include group not allowed with ghost neighbors
+
+This is a current restriction within LAMMPS.
 
 E: Too many local+ghost atoms for neighbor list
 
@@ -336,22 +352,9 @@ E: Trying to build an occasional neighbor list before initialization completed
 
 This is not allowed.  Source code caller needs to be modified.
 
-E: Domain too large for neighbor bins
-
-The domain has become extremely large so that neighbor bins cannot be
-used.  Most likely, one or more atoms have been blown out of the
-simulation box to a great distance.
-
-E: Cannot use neighbor bins - box size << cutoff
+E: Neighbor build one invoked on perpetual list
 
-Too many neighbor bins will be created.  This typically happens when
-the simulation box is very small in some dimension, compared to the
-neighbor cutoff.  Use the "nsq" style instead of "bin" style.
-
-E: Too many neighbor bins
-
-This is likely due to an immense simulation box that has blown up
-to a large size.
+UNDOCUMENTED
 
 E: Illegal ... command
 
@@ -371,4 +374,37 @@ E: Neigh_modify exclude molecule requires atom attribute molecule
 
 Self-explanatory.
 
+E: Unable to find group-group exclusion
+
+UNDOCUMENTED
+
+U: Neighbor multi not yet enabled for ghost neighbors
+
+This is a current restriction within LAMMPS.
+
+U: Neighbor multi not yet enabled for granular
+
+Self-explanatory.
+
+U: Neighbor multi not yet enabled for rRESPA
+
+Self-explanatory.
+
+U: Domain too large for neighbor bins
+
+The domain has become extremely large so that neighbor bins cannot be
+used.  Most likely, one or more atoms have been blown out of the
+simulation box to a great distance.
+
+U: Cannot use neighbor bins - box size << cutoff
+
+Too many neighbor bins will be created.  This typically happens when
+the simulation box is very small in some dimension, compared to the
+neighbor cutoff.  Use the "nsq" style instead of "bin" style.
+
+U: Too many neighbor bins
+
+This is likely due to an immense simulation box that has blown up
+to a large size.
+
 */
diff --git a/src/npair.h b/src/npair.h
index 186f921a00f6618edbff4358becd1636e5f3baf2..ec75042302832f1d9d1088cfae3b27203530e929 100644
--- a/src/npair.h
+++ b/src/npair.h
@@ -145,4 +145,8 @@ class NPair : protected Pointers {
 
 /* ERROR/WARNING messages:
 
+E: Non-numeric positions - simulation unstable
+
+UNDOCUMENTED
+
 */
diff --git a/src/npair_full_bin.h b/src/npair_full_bin.h
index 56c338e3603d5e765dacae5aa8de81a9b8379b5a..6dd9d2d94e4143d96eca1d6fa9c589c1f9ba7d11 100644
--- a/src/npair_full_bin.h
+++ b/src/npair_full_bin.h
@@ -41,4 +41,8 @@ class NPairFullBin : public NPair {
 
 /* ERROR/WARNING messages:
 
+E: Neighbor list overflow, boost neigh_modify one
+
+UNDOCUMENTED
+
 */
diff --git a/src/npair_full_bin_atomonly.h b/src/npair_full_bin_atomonly.h
index 0845d1ecef2418c09a8b1973dce069df9053d993..804637b51e1daa8c362ff2cc9f25146a5543ca73 100644
--- a/src/npair_full_bin_atomonly.h
+++ b/src/npair_full_bin_atomonly.h
@@ -41,4 +41,8 @@ class NPairFullBinAtomonly : public NPair {
 
 /* ERROR/WARNING messages:
 
+E: Neighbor list overflow, boost neigh_modify one
+
+UNDOCUMENTED
+
 */
diff --git a/src/npair_full_bin_ghost.h b/src/npair_full_bin_ghost.h
index c5a86e68af5a0d367d37a813b37c2938a6711ef2..c7ea139c2337886c8b38a0af24294e9a1dfb2eb2 100644
--- a/src/npair_full_bin_ghost.h
+++ b/src/npair_full_bin_ghost.h
@@ -41,4 +41,8 @@ class NPairFullBinGhost : public NPair {
 
 /* ERROR/WARNING messages:
 
+E: Neighbor list overflow, boost neigh_modify one
+
+UNDOCUMENTED
+
 */
diff --git a/src/npair_full_multi.h b/src/npair_full_multi.h
index c778978c0191fa362b7157f29e754d6165092c9b..481a67306054f6914fd3f40ca8930aacbc4a12df 100644
--- a/src/npair_full_multi.h
+++ b/src/npair_full_multi.h
@@ -40,4 +40,8 @@ class NPairFullMulti : public NPair {
 
 /* ERROR/WARNING messages:
 
+E: Neighbor list overflow, boost neigh_modify one
+
+UNDOCUMENTED
+
 */
diff --git a/src/npair_full_nsq.h b/src/npair_full_nsq.h
index a1eaf8463adc7ed0d822228a2ffb5a16fe74d3b0..95623d65d46ea24bc52bdaf43cb2b3673ca29b17 100644
--- a/src/npair_full_nsq.h
+++ b/src/npair_full_nsq.h
@@ -40,4 +40,8 @@ class NPairFullNsq : public NPair {
 
 /* ERROR/WARNING messages:
 
+E: Neighbor list overflow, boost neigh_modify one
+
+UNDOCUMENTED
+
 */
diff --git a/src/npair_full_nsq_ghost.h b/src/npair_full_nsq_ghost.h
index 58cd73c392dbfb380174ec8e2358321574a8487e..8489221f8c6423a14ee08578edde9b76d147ffe4 100644
--- a/src/npair_full_nsq_ghost.h
+++ b/src/npair_full_nsq_ghost.h
@@ -41,4 +41,8 @@ class NPairFullNsqGhost : public NPair {
 
 /* ERROR/WARNING messages:
 
+E: Neighbor list overflow, boost neigh_modify one
+
+UNDOCUMENTED
+
 */
diff --git a/src/npair_half_bin_atomonly_newton.h b/src/npair_half_bin_atomonly_newton.h
index a5771e19e206721c6d81352bcc39cbf399e77549..ad2e955dbaef7136cd9f9590deffea7ff24cb795 100644
--- a/src/npair_half_bin_atomonly_newton.h
+++ b/src/npair_half_bin_atomonly_newton.h
@@ -40,4 +40,8 @@ class NPairHalfBinAtomonlyNewton : public NPair {
 
 /* ERROR/WARNING messages:
 
+E: Neighbor list overflow, boost neigh_modify one
+
+UNDOCUMENTED
+
 */
diff --git a/src/npair_half_bin_newtoff.h b/src/npair_half_bin_newtoff.h
index f6025ac0953dfc2a1261a78150d4bdd221e2ec86..f6c14d93002aca0a3b312c875ece4a32e301add9 100644
--- a/src/npair_half_bin_newtoff.h
+++ b/src/npair_half_bin_newtoff.h
@@ -40,4 +40,8 @@ class NPairHalfBinNewtoff : public NPair {
 
 /* ERROR/WARNING messages:
 
+E: Neighbor list overflow, boost neigh_modify one
+
+UNDOCUMENTED
+
 */
diff --git a/src/npair_half_bin_newtoff_ghost.h b/src/npair_half_bin_newtoff_ghost.h
index ffdf097f7e21cdf3e346c3807a6fa13c5cfc87fe..02c19d469aad45f65e53f46aa1314307cea49a79 100644
--- a/src/npair_half_bin_newtoff_ghost.h
+++ b/src/npair_half_bin_newtoff_ghost.h
@@ -40,4 +40,8 @@ class NPairHalfBinNewtoffGhost : public NPair {
 
 /* ERROR/WARNING messages:
 
+E: Neighbor list overflow, boost neigh_modify one
+
+UNDOCUMENTED
+
 */
diff --git a/src/npair_half_bin_newton.h b/src/npair_half_bin_newton.h
index 12d8d6e4dec5114ba09bc14cd2115d8f7f8f9572..57b12670194b961b48a66129134ebd2ccab8e757 100644
--- a/src/npair_half_bin_newton.h
+++ b/src/npair_half_bin_newton.h
@@ -40,4 +40,8 @@ class NPairHalfBinNewton : public NPair {
 
 /* ERROR/WARNING messages:
 
+E: Neighbor list overflow, boost neigh_modify one
+
+UNDOCUMENTED
+
 */
diff --git a/src/npair_half_bin_newton_tri.h b/src/npair_half_bin_newton_tri.h
index e6b09f58f43bdd1f9ede1b412186e937f5ca7486..56c5180cc72830316cf6d272e0064cefac92d661 100644
--- a/src/npair_half_bin_newton_tri.h
+++ b/src/npair_half_bin_newton_tri.h
@@ -40,4 +40,8 @@ class NPairHalfBinNewtonTri : public NPair {
 
 /* ERROR/WARNING messages:
 
+E: Neighbor list overflow, boost neigh_modify one
+
+UNDOCUMENTED
+
 */
diff --git a/src/npair_half_multi_newtoff.h b/src/npair_half_multi_newtoff.h
index 4c57c9bfe7f39918d30a53f3899177b332572c8e..593e2c1d9db23d5591acc38d0492146c7b98c541 100644
--- a/src/npair_half_multi_newtoff.h
+++ b/src/npair_half_multi_newtoff.h
@@ -40,4 +40,8 @@ class NPairHalfMultiNewtoff : public NPair {
 
 /* ERROR/WARNING messages:
 
+E: Neighbor list overflow, boost neigh_modify one
+
+UNDOCUMENTED
+
 */
diff --git a/src/npair_half_multi_newton.h b/src/npair_half_multi_newton.h
index 64021a9f5803e564e3f8a1974d6fbeb8d3860500..427b7717803fcbfcefa10cc12b3ac7ab6c5c62ee 100644
--- a/src/npair_half_multi_newton.h
+++ b/src/npair_half_multi_newton.h
@@ -40,4 +40,8 @@ class NPairHalfMultiNewton : public NPair {
 
 /* ERROR/WARNING messages:
 
+E: Neighbor list overflow, boost neigh_modify one
+
+UNDOCUMENTED
+
 */
diff --git a/src/npair_half_multi_newton_tri.h b/src/npair_half_multi_newton_tri.h
index 51b720e0c48122eeb4fdaa54f27aa7afb8a6655b..6fe7577259e81815db7fd34a7a2e2602dcbe773a 100644
--- a/src/npair_half_multi_newton_tri.h
+++ b/src/npair_half_multi_newton_tri.h
@@ -40,4 +40,8 @@ class NPairHalfMultiNewtonTri : public NPair {
 
 /* ERROR/WARNING messages:
 
+E: Neighbor list overflow, boost neigh_modify one
+
+UNDOCUMENTED
+
 */
diff --git a/src/npair_half_nsq_newtoff.h b/src/npair_half_nsq_newtoff.h
index 90a1990f7f275ab848e2c5f13b0cf71e07e93667..6904d602bda806bb6e6c8a6b141845d86a1608a9 100644
--- a/src/npair_half_nsq_newtoff.h
+++ b/src/npair_half_nsq_newtoff.h
@@ -40,4 +40,8 @@ class NPairHalfNsqNewtoff : public NPair {
 
 /* ERROR/WARNING messages:
 
+E: Neighbor list overflow, boost neigh_modify one
+
+UNDOCUMENTED
+
 */
diff --git a/src/npair_half_nsq_newtoff_ghost.h b/src/npair_half_nsq_newtoff_ghost.h
index e772b4b5c4c0a4514186e2ea68d92b22aaaeb9b7..75afa9f7f585408d76f192935d76a4cac00ccef2 100644
--- a/src/npair_half_nsq_newtoff_ghost.h
+++ b/src/npair_half_nsq_newtoff_ghost.h
@@ -40,4 +40,8 @@ class NPairHalfNsqNewtoffGhost : public NPair {
 
 /* ERROR/WARNING messages:
 
+E: Neighbor list overflow, boost neigh_modify one
+
+UNDOCUMENTED
+
 */
diff --git a/src/npair_half_nsq_newton.h b/src/npair_half_nsq_newton.h
index 7373c44f1af6209cbbd0c8a9bd238eabf615eff8..60bd2f89d01a593912dee18b614a5783e1e3f6b3 100644
--- a/src/npair_half_nsq_newton.h
+++ b/src/npair_half_nsq_newton.h
@@ -40,4 +40,8 @@ class NPairHalfNsqNewton : public NPair {
 
 /* ERROR/WARNING messages:
 
+E: Neighbor list overflow, boost neigh_modify one
+
+UNDOCUMENTED
+
 */
diff --git a/src/npair_half_respa_bin_newtoff.h b/src/npair_half_respa_bin_newtoff.h
index 290783d8fe2e35a9934583137139932a8fdb8805..fa48f84ad7bad67cc831328e2ed4aac45c22314b 100644
--- a/src/npair_half_respa_bin_newtoff.h
+++ b/src/npair_half_respa_bin_newtoff.h
@@ -40,4 +40,8 @@ class NPairHalfRespaBinNewtoff : public NPair {
 
 /* ERROR/WARNING messages:
 
+E: Neighbor list overflow, boost neigh_modify one
+
+UNDOCUMENTED
+
 */
diff --git a/src/npair_half_respa_bin_newton.h b/src/npair_half_respa_bin_newton.h
index d1566ee943934c6ef2e0770e18de8762bb6f6901..d74a653a24780337a25c19484b348934df6c9ff5 100644
--- a/src/npair_half_respa_bin_newton.h
+++ b/src/npair_half_respa_bin_newton.h
@@ -40,4 +40,8 @@ class NPairHalfRespaBinNewton : public NPair {
 
 /* ERROR/WARNING messages:
 
+E: Neighbor list overflow, boost neigh_modify one
+
+UNDOCUMENTED
+
 */
diff --git a/src/npair_half_respa_bin_newton_tri.h b/src/npair_half_respa_bin_newton_tri.h
index 779a3cd1db0e423ac1b73390d200d3521314257a..44c83136092b67c3dd626d0f52a26f86d9d484ee 100644
--- a/src/npair_half_respa_bin_newton_tri.h
+++ b/src/npair_half_respa_bin_newton_tri.h
@@ -40,4 +40,8 @@ class NPairHalfRespaBinNewtonTri : public NPair {
 
 /* ERROR/WARNING messages:
 
+E: Neighbor list overflow, boost neigh_modify one
+
+UNDOCUMENTED
+
 */
diff --git a/src/npair_half_respa_nsq_newtoff.h b/src/npair_half_respa_nsq_newtoff.h
index 71f936c4aea4b8c8f45b7778fd069353757c35d3..ffa7a5a6d53bb17b6022c500da3c1ebb856b2d5f 100644
--- a/src/npair_half_respa_nsq_newtoff.h
+++ b/src/npair_half_respa_nsq_newtoff.h
@@ -40,4 +40,8 @@ class NPairHalfRespaNsqNewtoff : public NPair {
 
 /* ERROR/WARNING messages:
 
+E: Neighbor list overflow, boost neigh_modify one
+
+UNDOCUMENTED
+
 */
diff --git a/src/npair_half_respa_nsq_newton.h b/src/npair_half_respa_nsq_newton.h
index ad6828b46a9431651d21a6d20fed3af926b2f722..45a9a9753f02106d7f29d199a78ed1a5be4ab4e8 100644
--- a/src/npair_half_respa_nsq_newton.h
+++ b/src/npair_half_respa_nsq_newton.h
@@ -40,4 +40,8 @@ class NPairHalfRespaNsqNewton : public NPair {
 
 /* ERROR/WARNING messages:
 
+E: Neighbor list overflow, boost neigh_modify one
+
+UNDOCUMENTED
+
 */
diff --git a/src/npair_half_size_bin_newtoff.h b/src/npair_half_size_bin_newtoff.h
index ec3b1af7e9cbb872c221cd7095d110c8d3be62da..b874c6654c92b49dc7d8fb0c931b6938154a5be7 100644
--- a/src/npair_half_size_bin_newtoff.h
+++ b/src/npair_half_size_bin_newtoff.h
@@ -40,4 +40,8 @@ class NPairHalfSizeBinNewtoff : public NPair {
 
 /* ERROR/WARNING messages:
 
+E: Neighbor list overflow, boost neigh_modify one
+
+UNDOCUMENTED
+
 */
diff --git a/src/npair_half_size_bin_newton.h b/src/npair_half_size_bin_newton.h
index 71ec9c5a3754040a7bcf92ab4745dad2660b6213..1e7665aa6b31d0b8726861d04b74b882094b2b8a 100644
--- a/src/npair_half_size_bin_newton.h
+++ b/src/npair_half_size_bin_newton.h
@@ -40,4 +40,8 @@ class NPairHalfSizeBinNewton : public NPair {
 
 /* ERROR/WARNING messages:
 
+E: Neighbor list overflow, boost neigh_modify one
+
+UNDOCUMENTED
+
 */
diff --git a/src/npair_half_size_bin_newton_tri.h b/src/npair_half_size_bin_newton_tri.h
index bf956aa7fecfd52765f3ff3521242f5329846720..ccf85e8f0dd4c301e16edb05b093c1bb3794dbe1 100644
--- a/src/npair_half_size_bin_newton_tri.h
+++ b/src/npair_half_size_bin_newton_tri.h
@@ -40,4 +40,8 @@ class NPairHalfSizeBinNewtonTri : public NPair {
 
 /* ERROR/WARNING messages:
 
+E: Neighbor list overflow, boost neigh_modify one
+
+UNDOCUMENTED
+
 */
diff --git a/src/npair_half_size_nsq_newtoff.h b/src/npair_half_size_nsq_newtoff.h
index 0446208cbb1d4fdd694b207791e9cb004488ab05..51349a8a5dad46a166b3542a015a6c76a115b8fa 100644
--- a/src/npair_half_size_nsq_newtoff.h
+++ b/src/npair_half_size_nsq_newtoff.h
@@ -40,4 +40,8 @@ class NPairHalfSizeNsqNewtoff : public NPair {
 
 /* ERROR/WARNING messages:
 
+E: Neighbor list overflow, boost neigh_modify one
+
+UNDOCUMENTED
+
 */
diff --git a/src/npair_half_size_nsq_newton.h b/src/npair_half_size_nsq_newton.h
index 3550d6c7f5620fd0d56b530ac0f538e5a55394e0..333ff94379f5960de2e405846c66d3993f9eba92 100644
--- a/src/npair_half_size_nsq_newton.h
+++ b/src/npair_half_size_nsq_newton.h
@@ -40,4 +40,8 @@ class NPairHalfSizeNsqNewton : public NPair {
 
 /* ERROR/WARNING messages:
 
+E: Neighbor list overflow, boost neigh_modify one
+
+UNDOCUMENTED
+
 */
diff --git a/src/npair_halffull_newtoff.h b/src/npair_halffull_newtoff.h
index c4f7d00a01b37a51db922374588be604cd8a4d66..2f711629be34da70d14f77443eb0bb1238c386bb 100644
--- a/src/npair_halffull_newtoff.h
+++ b/src/npair_halffull_newtoff.h
@@ -56,4 +56,8 @@ class NPairHalffullNewtoff : public NPair {
 
 /* ERROR/WARNING messages:
 
+E: Neighbor list overflow, boost neigh_modify one
+
+UNDOCUMENTED
+
 */
diff --git a/src/npair_halffull_newton.h b/src/npair_halffull_newton.h
index 3d20d686c327631e43b3374c86e7e6e73c7e637f..dc8222521600992a50df7739bc2b028472cec61a 100644
--- a/src/npair_halffull_newton.h
+++ b/src/npair_halffull_newton.h
@@ -46,4 +46,8 @@ class NPairHalffullNewton : public NPair {
 
 /* ERROR/WARNING messages:
 
+E: Neighbor list overflow, boost neigh_modify one
+
+UNDOCUMENTED
+
 */
diff --git a/src/npair_skip.h b/src/npair_skip.h
index e62debd6bde2b82cf58efa1134c27fd17d3b3d3e..5fde8e7039574ee2967420740c6d2a9d0ab21fb5 100644
--- a/src/npair_skip.h
+++ b/src/npair_skip.h
@@ -48,4 +48,8 @@ class NPairSkip : public NPair {
 
 /* ERROR/WARNING messages:
 
+E: Neighbor list overflow, boost neigh_modify one
+
+UNDOCUMENTED
+
 */
diff --git a/src/npair_skip_respa.h b/src/npair_skip_respa.h
index deff301909196cd6f8cb94c7a1db3c89319f0efc..a309d4712451a64a91573da98ac881c655823c6c 100644
--- a/src/npair_skip_respa.h
+++ b/src/npair_skip_respa.h
@@ -42,4 +42,8 @@ class NPairSkipRespa : public NPair {
 
 /* ERROR/WARNING messages:
 
+E: Neighbor list overflow, boost neigh_modify one
+
+UNDOCUMENTED
+
 */
diff --git a/src/npair_skip_size.h b/src/npair_skip_size.h
index b462c9dc974aaf5677f57e042b803594b6cebed6..ae3f77d6ede10b59f741f1e26232112323e30278 100644
--- a/src/npair_skip_size.h
+++ b/src/npair_skip_size.h
@@ -41,4 +41,8 @@ class NPairSkipSize : public NPair {
 
 /* ERROR/WARNING messages:
 
+E: Neighbor list overflow, boost neigh_modify one
+
+UNDOCUMENTED
+
 */
diff --git a/src/npair_skip_size_off2on.h b/src/npair_skip_size_off2on.h
index dab32f04ff10c8b7dc910f934ef5b4100dcdd689..59fc0878efffe5f49e413a5fd1166c071d65c6e1 100644
--- a/src/npair_skip_size_off2on.h
+++ b/src/npair_skip_size_off2on.h
@@ -42,4 +42,8 @@ class NPairSkipSizeOff2on : public NPair {
 
 /* ERROR/WARNING messages:
 
+E: Neighbor list overflow, boost neigh_modify one
+
+UNDOCUMENTED
+
 */
diff --git a/src/npair_skip_size_off2on_oneside.h b/src/npair_skip_size_off2on_oneside.h
index 73448ca279c17ea7fa9eefa86f506b436791c708..f7ae2338b72782253821407e7d119c50cf0edd36 100644
--- a/src/npair_skip_size_off2on_oneside.h
+++ b/src/npair_skip_size_off2on_oneside.h
@@ -42,4 +42,8 @@ class NPairSkipSizeOff2onOneside : public NPair {
 
 /* ERROR/WARNING messages:
 
+E: Neighbor list overflow, boost neigh_modify one
+
+UNDOCUMENTED
+
 */
diff --git a/src/ntopo.h b/src/ntopo.h
index 672a82e367282fb9fb93e24bcb84a53707ea9822..9512606ba49a3ebd45ca87fbab91f2513f625f22 100644
--- a/src/ntopo.h
+++ b/src/ntopo.h
@@ -53,4 +53,16 @@ class NTopo : protected Pointers {
 
 /* ERROR/WARNING messages:
 
+E: Bond extent > half of periodic box length
+
+UNDOCUMENTED
+
+E: Angle extent > half of periodic box length
+
+UNDOCUMENTED
+
+E: Dihedral/improper extent > half of periodic box length
+
+UNDOCUMENTED
+
 */
diff --git a/src/ntopo_angle_all.h b/src/ntopo_angle_all.h
index fad611a1ebe6f8a103cdd6b379941eadc24e6072..8b28f6c34c76cf7019e629a4818d9b66dd80d38e 100644
--- a/src/ntopo_angle_all.h
+++ b/src/ntopo_angle_all.h
@@ -38,4 +38,12 @@ class NTopoAngleAll : public NTopo {
 
 /* ERROR/WARNING messages:
 
+E: Angle atoms %d %d %d missing on proc %d at step %ld
+
+UNDOCUMENTED
+
+W: Angle atoms missing at step %ld
+
+UNDOCUMENTED
+
 */
diff --git a/src/ntopo_angle_partial.h b/src/ntopo_angle_partial.h
index 57ebcec558506c9e35ee27514f237dc9aa953a08..03ee7587cada37e648f8db335116151e3b517721 100644
--- a/src/ntopo_angle_partial.h
+++ b/src/ntopo_angle_partial.h
@@ -38,4 +38,12 @@ class NTopoAnglePartial : public NTopo {
 
 /* ERROR/WARNING messages:
 
+E: Angle atoms %d %d %d missing on proc %d at step %ld
+
+UNDOCUMENTED
+
+W: Angle atoms missing at step %ld
+
+UNDOCUMENTED
+
 */
diff --git a/src/ntopo_angle_template.h b/src/ntopo_angle_template.h
index fc94a07b02157b98e81a83591e6cf4633711fc05..19fee41e80b9d1840df0cbd30baa47732778600c 100644
--- a/src/ntopo_angle_template.h
+++ b/src/ntopo_angle_template.h
@@ -38,4 +38,12 @@ class NTopoAngleTemplate : public NTopo {
 
 /* ERROR/WARNING messages:
 
+E: Angle atoms %d %d %d missing on proc %d at step %ld
+
+UNDOCUMENTED
+
+W: Angle atoms missing at step %ld
+
+UNDOCUMENTED
+
 */
diff --git a/src/ntopo_bond_all.h b/src/ntopo_bond_all.h
index 8c89d6643192a8c2363ee79028e89b3179af28ae..6645cba7a14571638cbc00a5e1809bc0a28a3acd 100644
--- a/src/ntopo_bond_all.h
+++ b/src/ntopo_bond_all.h
@@ -38,4 +38,12 @@ class NTopoBondAll : public NTopo {
 
 /* ERROR/WARNING messages:
 
+E: Bond atoms %d %d missing on proc %d at step %ld
+
+UNDOCUMENTED
+
+W: Bond atoms missing at step %ld
+
+UNDOCUMENTED
+
 */
diff --git a/src/ntopo_bond_partial.h b/src/ntopo_bond_partial.h
index b0a2c274b2baec9833ae89f86a170f92cf8e77b7..ec377c76bde630b2575ac19d9aa01ab7e550ed17 100644
--- a/src/ntopo_bond_partial.h
+++ b/src/ntopo_bond_partial.h
@@ -38,4 +38,12 @@ class NTopoBondPartial : public NTopo {
 
 /* ERROR/WARNING messages:
 
+E: Bond atoms %d %d missing on proc %d at step %ld
+
+UNDOCUMENTED
+
+W: Bond atoms missing at step %ld
+
+UNDOCUMENTED
+
 */
diff --git a/src/ntopo_bond_template.h b/src/ntopo_bond_template.h
index 6d0aeb001f0e9c94eb3265b2f81d222bd690feda..8cd02e6629df273f26ced540fe219ebbb52107a4 100644
--- a/src/ntopo_bond_template.h
+++ b/src/ntopo_bond_template.h
@@ -38,4 +38,12 @@ class NTopoBondTemplate : public NTopo {
 
 /* ERROR/WARNING messages:
 
+E: Bond atoms %d %d missing on proc %d at step %ld
+
+UNDOCUMENTED
+
+W: Bond atoms missing at step %ld
+
+UNDOCUMENTED
+
 */
diff --git a/src/ntopo_dihedral_all.h b/src/ntopo_dihedral_all.h
index 45a571168774bff8faff94838eb1cbd3db8a8961..07dcaf8c9a077f52f215e4d060860054d1dddcbd 100644
--- a/src/ntopo_dihedral_all.h
+++ b/src/ntopo_dihedral_all.h
@@ -38,4 +38,12 @@ class NTopoDihedralAll : public NTopo {
 
 /* ERROR/WARNING messages:
 
+E: Dihedral atoms %d %d %d %d missing on proc %d at step %ld
+
+UNDOCUMENTED
+
+W: Dihedral atoms missing at step %ld
+
+UNDOCUMENTED
+
 */
diff --git a/src/ntopo_dihedral_partial.h b/src/ntopo_dihedral_partial.h
index a71022a601b828c091d9db0cc005a7f637d3b9fc..70625ed256260510c08ab12738ce93a61c51ae8a 100644
--- a/src/ntopo_dihedral_partial.h
+++ b/src/ntopo_dihedral_partial.h
@@ -38,4 +38,12 @@ class NTopoDihedralPartial : public NTopo {
 
 /* ERROR/WARNING messages:
 
+E: Dihedral atoms %d %d %d %d missing on proc %d at step %ld
+
+UNDOCUMENTED
+
+W: Dihedral atoms missing at step %ld
+
+UNDOCUMENTED
+
 */
diff --git a/src/ntopo_dihedral_template.h b/src/ntopo_dihedral_template.h
index c289fb6b7d989907c40c0b7629c7f810f2e09111..83a77f6b586f56c1787ff9860749595687548169 100644
--- a/src/ntopo_dihedral_template.h
+++ b/src/ntopo_dihedral_template.h
@@ -38,4 +38,12 @@ class NTopoDihedralTemplate : public NTopo {
 
 /* ERROR/WARNING messages:
 
+E: Dihedral atoms %d %d %d %d missing on proc %d at step %ld
+
+UNDOCUMENTED
+
+W: Dihedral atoms missing at step %ld
+
+UNDOCUMENTED
+
 */
diff --git a/src/ntopo_improper_all.h b/src/ntopo_improper_all.h
index b7d9a9f04924140bd7f25f394120053073dbd55b..473ada8b537129203b59e2a66f0649aa0587c1a4 100644
--- a/src/ntopo_improper_all.h
+++ b/src/ntopo_improper_all.h
@@ -38,4 +38,12 @@ class NTopoImproperAll : public NTopo {
 
 /* ERROR/WARNING messages:
 
+E: Improper atoms %d %d %d %d missing on proc %d at step %ld
+
+UNDOCUMENTED
+
+W: Improper atoms missing at step %ld
+
+UNDOCUMENTED
+
 */
diff --git a/src/ntopo_improper_partial.h b/src/ntopo_improper_partial.h
index 45a9673e67a2f295913da238153869d5adcfe795..797dad36e4070f9c152262343f6d555acff4087a 100644
--- a/src/ntopo_improper_partial.h
+++ b/src/ntopo_improper_partial.h
@@ -38,4 +38,12 @@ class NTopoImproperPartial : public NTopo {
 
 /* ERROR/WARNING messages:
 
+E: Improper atoms %d %d %d %d missing on proc %d at step %ld
+
+UNDOCUMENTED
+
+W: Improper atoms missing at step %ld
+
+UNDOCUMENTED
+
 */
diff --git a/src/ntopo_improper_template.h b/src/ntopo_improper_template.h
index fc760d021eaac7d4d032a644c3049ab5bc10ee7a..f9539c656e39ad98acbd46ab3d5c98947a6335a0 100644
--- a/src/ntopo_improper_template.h
+++ b/src/ntopo_improper_template.h
@@ -38,4 +38,12 @@ class NTopoImproperTemplate : public NTopo {
 
 /* ERROR/WARNING messages:
 
+E: Improper atoms %d %d %d %d missing on proc %d at step %ld
+
+UNDOCUMENTED
+
+W: Improper atoms missing at step %ld
+
+UNDOCUMENTED
+
 */
diff --git a/src/pair.h b/src/pair.h
index 098563c7fe1af779b399835d0a3ceae9bc550b78..3ce567876cf38cd97093abcd26cb0baea3abd758 100644
--- a/src/pair.h
+++ b/src/pair.h
@@ -301,6 +301,10 @@ E: Pair style requires a KSpace style
 
 No kspace style is defined.
 
+E: BUG: restartinfo=1 but no restart support in pair style
+
+UNDOCUMENTED
+
 E: Cannot yet use compute tally with Kokkos
 
 This feature is not yet supported.
diff --git a/src/pair_gauss.h b/src/pair_gauss.h
index 901658a4c2645bd640b80c25e0de58638f58c08a..0380d1192a098a392b4d64ad6a2cc33835921c52 100644
--- a/src/pair_gauss.h
+++ b/src/pair_gauss.h
@@ -67,7 +67,7 @@ E: Incorrect args for pair coefficients
 
 Self-explanatory.  Check the input script or data file.
 
-E: All pair coeffs are not set
+U: All pair coeffs are not set
 
 All pair coefficients must be set in the data file or by the
 pair_coeff command before running a simulation.
diff --git a/src/pair_hybrid.h b/src/pair_hybrid.h
index 463ae00eca5c78e8381a3252b8bd151668e127b4..202847b028b8583cc88b0afcdc5db97a197c2096 100644
--- a/src/pair_hybrid.h
+++ b/src/pair_hybrid.h
@@ -90,10 +90,6 @@ class PairHybrid : public Pair {
 
 /* ERROR/WARNING messages:
 
-E: Cannot yet use pair hybrid with Kokkos
-
-This feature is not yet supported.
-
 E: Illegal ... command
 
 Self-explanatory.  Check the input script syntax and compare to the
@@ -112,6 +108,10 @@ E: Incorrect args for pair coefficients
 
 Self-explanatory.  Check the input script or data file.
 
+E: Cannot yet use pair hybrid with Kokkos
+
+This feature is not yet supported.
+
 E: Pair coeff for hybrid has invalid style
 
 Style in pair coeff must have been listed in pair_style command.
diff --git a/src/pair_lj_cut_coul_wolf.h b/src/pair_lj_cut_coul_wolf.h
index aa4e08f9b79c8eae654a6cd13a5d77daada9c9a2..3264390ea5bbfc85149a59465eeab62dd12d3bd2 100644
--- a/src/pair_lj_cut_coul_wolf.h
+++ b/src/pair_lj_cut_coul_wolf.h
@@ -67,4 +67,8 @@ E: Incorrect args for pair coefficients
 
 Self-explanatory.  Check the input script or data file.
 
+E: Pair style lj/cut/coul/wolf requires atom attribute q
+
+UNDOCUMENTED
+
 */
diff --git a/src/pair_table.h b/src/pair_table.h
index b723fd2d98f50602a32f2ee0b4045f6dbc621d31..4075fc57891fe75ed8db1c49bce4b3f15ba4933f 100644
--- a/src/pair_table.h
+++ b/src/pair_table.h
@@ -77,13 +77,13 @@ class PairTable : public Pair {
 
 /* ERROR/WARNING messages:
 
-E: Pair distance < table inner cutoff
+E: Pair distance < table inner cutoff: ijtype %d %d dist %g
 
-Two atoms are closer together than the pairwise table allows.
+UNDOCUMENTED
 
-E: Pair distance > table outer cutoff
+E: Pair distance > table outer cutoff: ijtype %d %d dist %g
 
-Two atoms are further apart than the pairwise table allows.
+UNDOCUMENTED
 
 E: Illegal ... command
 
@@ -131,6 +131,22 @@ E: Bitmapped table is incorrect length in table file
 
 Number of table entries is not a correct power of 2.
 
+E: Premature end of file in pair table
+
+UNDOCUMENTED
+
+W: %d of %d force values in table are inconsistent with -dE/dr.\n  Should only be flagged at inflection points
+
+UNDOCUMENTED
+
+W: %d of %d distance values in table with relative error\n  over %g to re-computed values
+
+UNDOCUMENTED
+
+W: %d of %d lines in table were incomplete\n  or could not be parsed completely
+
+UNDOCUMENTED
+
 E: Invalid keyword in pair table parameters
 
 Keyword used in list of table parameters is not recognized.
@@ -139,6 +155,14 @@ E: Pair table parameters did not set N
 
 List of pair table parameters must include N setting.
 
+E: Pair distance < table inner cutoff
+
+Two atoms are closer together than the pairwise table allows.
+
+E: Pair distance > table outer cutoff
+
+Two atoms are further apart than the pairwise table allows.
+
 E: Pair table cutoffs must all be equal to use with KSpace
 
 When using pair style table with a long-range KSpace solver, the
diff --git a/src/pair_zero.h b/src/pair_zero.h
index 4fb4747e9e28dc084c12a4bd49813cb73fb0cbe9..b980ed89d1acc021ce234823862340d04ee62984 100644
--- a/src/pair_zero.h
+++ b/src/pair_zero.h
@@ -74,7 +74,7 @@ E: Incorrect args for pair coefficients
 
 Self-explanatory.  Check the input script or data file.
 
-E: Pair cutoff < Respa interior cutoff
+U: Pair cutoff < Respa interior cutoff
 
 One or more pairwise cutoffs are too short to use with the specified
 rRESPA cutoffs.
diff --git a/src/python.h b/src/python.h
index 190fd6ddb6f7cca71b6850d364e012a7cebc9b41..afc21037fb1752d94d96ad1a68580c346811a711 100644
--- a/src/python.h
+++ b/src/python.h
@@ -60,65 +60,69 @@ private:
 
 /* ERROR/WARNING messages:
 
-E: Invalid python command
+E: Python support missing! Compile with PYTHON package installed!
+
+UNDOCUMENTED
+
+U: Invalid python command
 
 Self-explanatory.  Check the input script syntax and compare to the
 documentation for the command.  You can use -echo screen as a
 command-line option when running LAMMPS to see the offending line.
 
-E: Python invoke of undefined function
+U: Python invoke of undefined function
 
 Cannot invoke a function that has not been previously defined.
 
-E: Python variable does not match Python function
+U: Python variable does not match Python function
 
 This matching is defined by the python-style variable and the python
 command.
 
-E: Cannot embed Python when also extending Python with LAMMPS
+U: Cannot embed Python when also extending Python with LAMMPS
 
 When running LAMMPS via Python through the LAMMPS library interface
 you cannot also user the input script python command.
 
-E: Could not initialize embedded Python
+U: Could not initialize embedded Python
 
 The main module in Python was not accessible.
 
-E: Could not open Python file
+U: Could not open Python file
 
 The specified file of Python code cannot be opened.  Check that the
 path and name are correct.
 
-E: Could not process Python file
+U: Could not process Python file
 
 The Python code in the specified file was not run successfully by
 Python, probably due to errors in the Python code.
 
-E: Could not process Python string
+U: Could not process Python string
 
 The Python code in the here string was not run successfully by Python,
 probably due to errors in the Python code.
 
-E: Could not find Python function
+U: Could not find Python function
 
 The provided Python code was run successfully, but it not
 define a callable function with the required name.
 
-E: Python function is not callable
+U: Python function is not callable
 
 The provided Python code was run successfully, but it not
 define a callable function with the required name.
 
-E: Could not create Python function arguments
+U: Could not create Python function arguments
 
 This is an internal Python error, possibly because the number
 of inputs to the function is too large.
 
-E: Could not evaluate Python function input variable
+U: Could not evaluate Python function input variable
 
 Self-explanatory.
 
-E: Python function evaluation failed
+U: Python function evaluation failed
 
 The Python function did not run successfully and/or did not return a
 value (if it is supposed to return a value).  This is probably due to
diff --git a/src/read_data.h b/src/read_data.h
index b85ed67dcdc1d96eb308cfa8710941fcfb7456d4..9b7ca66259d266bc0cdd39b39068f73ef9b55ce1 100644
--- a/src/read_data.h
+++ b/src/read_data.h
@@ -124,10 +124,13 @@ Self-explanatory.  Check the input script syntax and compare to the
 documentation for the command.  You can use -echo screen as a
 command-line option when running LAMMPS to see the offending line.
 
-E: Read data add offset is too big
+E: Read data add atomID offset is too big
 
-It cannot be larger than the size of atom IDs, e.g. the maximum 32-bit
-integer.
+UNDOCUMENTED
+
+E: Read data add molID offset is too big
+
+UNDOCUMENTED
 
 E: Non-zero read_data shift z value for 2d simulation
 
@@ -149,6 +152,10 @@ E: No impropers allowed with this atom style
 
 Self-explanatory.
 
+E: No bonded interactions allowed with this atom style
+
+UNDOCUMENTED
+
 E: Fix ID for read_data does not exist
 
 Self-explanatory.
@@ -557,4 +564,9 @@ The specified file cannot be opened.  Check that the path and name are
 correct. If the file is a compressed file, also check that the gzip
 executable can be found and run.
 
+U: Read data add offset is too big
+
+It cannot be larger than the size of atom IDs, e.g. the maximum 32-bit
+integer.
+
 */
diff --git a/src/read_dump.h b/src/read_dump.h
index 8322ac0157404743e845fa6e9d84d2d730de8eb8..3fc554b5116475f407a686a6cd0af0cf8aa3a596 100644
--- a/src/read_dump.h
+++ b/src/read_dump.h
@@ -117,9 +117,9 @@ E: Unknown dump reader style
 
 The choice of dump reader style via the format keyword is unknown.
 
-E: No box information in dump. You have to use 'box no'
+E: No box information in dump, must use 'box no'
 
-Self-explanatory.
+UNDOCUMENTED
 
 E: Read_dump triclinic status does not match simulation
 
@@ -157,4 +157,16 @@ E: If read_dump purges it cannot replace or trim
 These operations are not compatible.  See the read_dump doc
 page for details.
 
+E: Read_dump cannot use 'add keep' without atom IDs
+
+UNDOCUMENTED
+
+E: Cannot add atoms if dump file does not store atom type
+
+UNDOCUMENTED
+
+U: No box information in dump. You have to use 'box no'
+
+Self-explanatory.
+
 */
diff --git a/src/region_cone.h b/src/region_cone.h
index 62b2d05a8ddd846ccc46c62cbf1870f9e9a2f293..4aa9e568ac727b478078b8d43ef3f470b7e861de 100644
--- a/src/region_cone.h
+++ b/src/region_cone.h
@@ -49,6 +49,10 @@ class RegCone : public Region {
 
 /* ERROR/WARNING messages:
 
+E: Invalid region cone open setting
+
+UNDOCUMENTED
+
 E: Illegal ... command
 
 Self-explanatory.  Check the input script syntax and compare to the
diff --git a/src/region_cylinder.h b/src/region_cylinder.h
index e065c7d3f1bfdddda42b7db2cd193e07cc2b5d28..a6b513b2d7a0c21dfe541395623b79c840eded6d 100644
--- a/src/region_cylinder.h
+++ b/src/region_cylinder.h
@@ -57,6 +57,10 @@ class RegCylinder : public Region {
 
 /* ERROR/WARNING messages:
 
+E: Invalid region cylinder open setting
+
+UNDOCUMENTED
+
 E: Illegal ... command
 
 Self-explanatory.  Check the input script syntax and compare to the
diff --git a/src/reset_ids.h b/src/reset_ids.h
index 065f440a8bafb5bb515c0183f79ca798fc18e12a..d146651cc9c741abf5b4415dab837456d50d900f 100644
--- a/src/reset_ids.h
+++ b/src/reset_ids.h
@@ -39,4 +39,20 @@ class ResetIDs : protected Pointers {
 
 /* ERROR/WARNING messages:
 
+E: Reset_ids command before simulation box is defined
+
+UNDOCUMENTED
+
+E: Illegal ... command
+
+UNDOCUMENTED
+
+E: Cannot use reset_ids unless atoms have IDs
+
+UNDOCUMENTED
+
+E: Reset_ids missing %d bond topology atom IDs - use comm_modify cutoff
+
+UNDOCUMENTED
+
 */
diff --git a/src/run.h b/src/run.h
index 727b23f1c4ec82ee9017664c605fe767d436dbb0..5578ea95983e6ff1d9b6efe94b5c06fb1d928350 100644
--- a/src/run.h
+++ b/src/run.h
@@ -69,6 +69,10 @@ E: Run command stop value is before end of run
 
 Self-explanatory.
 
+E: Run flag 'pre no' not compatible with r-RESPA
+
+UNDOCUMENTED
+
 E: Too many timesteps
 
 The cumulative timesteps must fit in a 64-bit integer.
diff --git a/src/set.h b/src/set.h
index 1412fb9a0d6fa8a9033c378450164728199bad5e..e6ba2a3bce790d526b3407082a4b5530776deea5 100644
--- a/src/set.h
+++ b/src/set.h
@@ -93,6 +93,10 @@ E: Invalid density in set command
 
 Density must be > 0.0.
 
+E: Density/disc option requires 2d simulation
+
+UNDOCUMENTED
+
 E: Invalid volume in set command
 
 Volume must be > 0.0.
@@ -113,6 +117,18 @@ E: Cannot set meso/rho for this atom style
 
 Self-explanatory.
 
+E: Cannot set edpd/temp for this atom style
+
+UNDOCUMENTED
+
+E: Cannot set edpd/cv for this atom style
+
+UNDOCUMENTED
+
+E: Cannot set cc for this atom style
+
+UNDOCUMENTED
+
 E: Cannot set smd/mass/density for this atom style
 
 Self-explanatory.
@@ -149,6 +165,10 @@ E: Set region ID does not exist
 
 Region ID specified in set command does not exist.
 
+W: Changing a property of atoms in rigid bodies that has no effect unless rigid bodies are rebuild
+
+UNDOCUMENTED
+
 E: Invalid mass in set command
 
 Self-explanatory.
diff --git a/src/thermo.h b/src/thermo.h
index de2a46dec42f3a87c90c9fd7cac184a178c652ef..8023a8867cf337b17b73059775d7e3314b6559d6 100644
--- a/src/thermo.h
+++ b/src/thermo.h
@@ -357,9 +357,13 @@ E: Thermo custom variable is not equal-style variable
 Only equal-style variables can be output with thermodynamics, not
 atom-style variables.
 
-E: Thermo custom variable cannot be indexed
+E: Thermo custom variable is not vector-style variable
 
-Self-explanatory.
+UNDOCUMENTED
+
+E: Thermo custom variable cannot have two indices
+
+UNDOCUMENTED
 
 E: Unknown keyword in thermo_style custom command
 
@@ -402,4 +406,8 @@ You are using a thermo keyword that requires potentials to
 have tallied energy, but they didn't on this timestep.  See the
 variable doc page for ideas on how to make this work.
 
+U: Thermo custom variable cannot be indexed
+
+Self-explanatory.
+
 */
diff --git a/src/timer.h b/src/timer.h
index 6159180faffdd2b768850eca24ee265a236088b0..a12d04311f6a66dc0ded68cf8f564647b7c2c5dc 100644
--- a/src/timer.h
+++ b/src/timer.h
@@ -111,6 +111,10 @@ class Timer : protected Pointers {
 
 /* ERROR/WARNING messages:
 
+W: Wall time limit reached
+
+UNDOCUMENTED
+
 E: Illegal ... command
 
 Self-explanatory.  Check the input script syntax and compare to the
diff --git a/src/universe.h b/src/universe.h
index 017f869f5e2ef81fe94b8e95d1fe1697cf93a8ad..4ff4d7dd14971c691b9f29417c789a3627255a97 100644
--- a/src/universe.h
+++ b/src/universe.h
@@ -79,4 +79,8 @@ E: Invalid command-line argument
 One or more command-line arguments is invalid.  Check the syntax of
 the command you are using to launch LAMMPS.
 
+E: Invalid partition string '%s'
+
+UNDOCUMENTED
+
 */
diff --git a/src/variable.h b/src/variable.h
index 428c4edce864d7d871c128c9302ab0754b40b9d5..9dcbaebd4fa82e6860fd836b20929fbe3efc1fa7 100644
--- a/src/variable.h
+++ b/src/variable.h
@@ -187,17 +187,17 @@ E: LAMMPS is not built with Python embedded
 This is done by including the PYTHON package before LAMMPS is built.
 This is required to use python-style variables.
 
-E: Variable name must be alphanumeric or underscore characters
+E: Variable name '%s' must have only alphanumeric characters or underscore
 
-Self-explanatory.
+UNDOCUMENTED
 
-E: Invalid variable in next command
+E: Invalid variable '%s' in next command
 
-Self-explanatory.
+UNDOCUMENTED
 
-E: All variables in next command must be same style
+E: All variables in next command must have same style
 
-Self-explanatory.
+UNDOCUMENTED
 
 E: Invalid variable style with next command
 
@@ -208,279 +208,295 @@ E: Next command must list all universe and uloop variables
 
 This is to insure they stay in sync.
 
-E: Variable has circular dependency
+E: Python variable '%s' does not match Python function
 
-A circular dependency is when variable "a" in used by variable "b" and
-variable "b" is also used by variable "a".  Circular dependencies with
-longer chains of dependence are also not allowed.
+UNDOCUMENTED
 
-E: Python variable does not match Python function
+E: Divide by 0 in variable formula
 
-This matching is defined by the python-style variable and the python
-command.
+Self-explanatory.
 
-E: Python variable has no function
+E: Modulo 0 in variable formula
 
-No python command was used to define the function associated with the
-python-style variable.
+Self-explanatory.
 
-E: Invalid syntax in variable formula
+E: Power by 0 in variable formula
 
 Self-explanatory.
 
-E: Variable evaluation before simulation box is defined
+E: Sqrt of negative value in variable formula
 
-Cannot evaluate a compute or fix or atom-based value in a variable
-before the simulation has been setup.
+Self-explanatory.
 
-E: Invalid compute ID in variable formula
+E: Log of zero/negative value in variable formula
 
-The compute is not recognized.
+Self-explanatory.
 
-E: Compute used in variable between runs is not current
+E: Arcsin of invalid value in variable formula
 
-Computes cannot be invoked by a variable in between runs.  Thus they
-must have been evaluated on the last timestep of the previous run in
-order for their value(s) to be accessed.  See the doc page for the
-variable command for more info.
+Argument of arcsin() must be between -1 and 1.
 
-E: Variable formula compute vector is accessed out-of-range
+E: Arccos of invalid value in variable formula
+
+Argument of arccos() must be between -1 and 1.
+
+E: Invalid math function in variable formula
 
 Self-explanatory.
 
-E: Variable formula compute array is accessed out-of-range
+E: Variable name between brackets must be alphanumeric or underscore characters
 
 Self-explanatory.
 
-E: Per-atom compute in equal-style variable formula
+E: Non digit character between brackets in variable
 
-Equal-style variables cannot use per-atom quantities.
+Self-explanatory.
 
-E: Mismatched compute in variable formula
+E: Mismatched brackets in variable
 
-A compute is referenced incorrectly or a compute that produces per-atom
-values is used in an equal-style variable formula.
+Self-explanatory.
 
-E: Invalid fix ID in variable formula
+E: Empty brackets in variable
 
-The fix is not recognized.
+There is no variable syntax that uses empty brackets.  Check
+the variable doc page.
 
-E: Fix in variable not computed at compatible time
+E: Invalid variable name in variable formula
 
-Fixes generate their values on specific timesteps.  The variable is
-requesting the values on a non-allowed timestep.
+Variable name is not recognized.
 
-E: Variable formula fix vector is accessed out-of-range
+E: Invalid variable evaluation in variable formula
 
-Self-explanatory.
+A variable used in a formula could not be evaluated.
 
-E: Variable formula fix array is accessed out-of-range
+E: Index between variable brackets must be positive
 
 Self-explanatory.
 
-E: Per-atom fix in equal-style variable formula
+E: Indexed per-atom vector in variable formula without atom map
 
-Equal-style variables cannot use per-atom quantities.
+Accessing a value from an atom vector requires the ability to lookup
+an atom index, which is provided by an atom map.  An atom map does not
+exist (by default) for non-molecular problems.  Using the atom_modify
+map command will force an atom map to be created.
 
-E: Mismatched fix in variable formula
+E: Variable atom ID is too large
 
-A fix is referenced incorrectly or a fix that produces per-atom
-values is used in an equal-style variable formula.
+Specified ID is larger than the maximum allowed atom ID.
 
-E: Invalid variable name in variable formula
+E: Variable uses atom property that isn't allocated
 
-Variable name is not recognized.
+Self-explanatory.
 
-E: Invalid variable evaluation in variable formula
+E: Invalid atom vector in variable formula
 
-A variable used in a formula could not be evaluated.
+The atom vector is not recognized.
 
-E: Atom-style variable in equal-style variable formula
+E: Atom vector in equal-style variable formula
 
-Atom-style variables generate one value per atom which is not allowed
+Atom vectors generate one value per atom which is not allowed
 in an equal-style variable.
 
-E: Atomfile-style variable in equal-style variable formula
+E: Too many args in variable function
 
-Self-explanatory.
+More args are used than any variable function allows.
 
-E: Mismatched variable in variable formula
+E: Invalid Boolean syntax in if command
 
-A variable is referenced incorrectly or an atom-style variable that
-produces per-atom values is used in an equal-style variable
-formula.
+Self-explanatory.
 
-E: Invalid math/group/special function in variable formula
+E: Cannot open file variable file %s
 
-Self-explanatory.
+The specified file cannot be opened.  Check that the path and name are
+correct.
 
-E: Invalid thermo keyword in variable formula
+E: Cannot use atomfile-style variable unless atom map exists
 
-The keyword is not recognized.
+Self-explanatory.  See the atom_modify command to create a map.
 
-E: Divide by 0 in variable formula
+E: Invalid atom ID in variable file
 
 Self-explanatory.
 
-E: Modulo 0 in variable formula
+U: Variable name must be alphanumeric or underscore characters
 
 Self-explanatory.
 
-E: Power by 0 in variable formula
+U: Invalid variable in next command
 
 Self-explanatory.
 
-E: Sqrt of negative value in variable formula
+U: All variables in next command must be same style
 
 Self-explanatory.
 
-E: Log of zero/negative value in variable formula
+U: Variable has circular dependency
 
-Self-explanatory.
+A circular dependency is when variable "a" in used by variable "b" and
+variable "b" is also used by variable "a".  Circular dependencies with
+longer chains of dependence are also not allowed.
 
-E: Arcsin of invalid value in variable formula
+U: Python variable does not match Python function
 
-Argument of arcsin() must be between -1 and 1.
+This matching is defined by the python-style variable and the python
+command.
 
-E: Arccos of invalid value in variable formula
+U: Python variable has no function
 
-Argument of arccos() must be between -1 and 1.
+No python command was used to define the function associated with the
+python-style variable.
 
-E: Invalid math function in variable formula
+U: Invalid syntax in variable formula
 
 Self-explanatory.
 
-E: Variable name between brackets must be alphanumeric or underscore characters
+U: Variable evaluation before simulation box is defined
 
-Self-explanatory.
+Cannot evaluate a compute or fix or atom-based value in a variable
+before the simulation has been setup.
 
-E: Non digit character between brackets in variable
+U: Invalid compute ID in variable formula
 
-Self-explanatory.
+The compute is not recognized.
 
-E: Mismatched brackets in variable
+U: Compute used in variable between runs is not current
 
-Self-explanatory.
+Computes cannot be invoked by a variable in between runs.  Thus they
+must have been evaluated on the last timestep of the previous run in
+order for their value(s) to be accessed.  See the doc page for the
+variable command for more info.
 
-E: Empty brackets in variable
+U: Variable formula compute vector is accessed out-of-range
 
-There is no variable syntax that uses empty brackets.  Check
-the variable doc page.
+Self-explanatory.
 
-E: Index between variable brackets must be positive
+U: Variable formula compute array is accessed out-of-range
 
 Self-explanatory.
 
-E: Cannot use ramp in variable formula between runs
+U: Per-atom compute in equal-style variable formula
 
-This is because the ramp() function is time dependent.
+Equal-style variables cannot use per-atom quantities.
 
-E: Cannot use vdisplace in variable formula between runs
+U: Mismatched compute in variable formula
 
-This is a function of elapsed time.
+A compute is referenced incorrectly or a compute that produces per-atom
+values is used in an equal-style variable formula.
 
-E: Cannot use swiggle in variable formula between runs
+U: Invalid fix ID in variable formula
 
-This is a function of elapsed time.
+The fix is not recognized.
 
-E: Cannot use cwiggle in variable formula between runs
+U: Fix in variable not computed at compatible time
 
-This is a function of elapsed time.
+Fixes generate their values on specific timesteps.  The variable is
+requesting the values on a non-allowed timestep.
 
-E: Group ID in variable formula does not exist
+U: Variable formula fix vector is accessed out-of-range
 
 Self-explanatory.
 
-E: Invalid group function in variable formula
+U: Variable formula fix array is accessed out-of-range
 
-Group function is not recognized.
+Self-explanatory.
 
-E: Region ID in variable formula does not exist
+U: Per-atom fix in equal-style variable formula
 
-Self-explanatory.
+Equal-style variables cannot use per-atom quantities.
 
-E: Invalid special function in variable formula
+U: Mismatched fix in variable formula
 
-Self-explanatory.
+A fix is referenced incorrectly or a fix that produces per-atom
+values is used in an equal-style variable formula.
 
-E: Gmask function in equal-style variable formula
+U: Atom-style variable in equal-style variable formula
 
-Gmask is per-atom operation.
+Atom-style variables generate one value per atom which is not allowed
+in an equal-style variable.
 
-E: Rmask function in equal-style variable formula
+U: Atomfile-style variable in equal-style variable formula
 
-Rmask is per-atom operation.
+Self-explanatory.
 
-E: Grmask function in equal-style variable formula
+U: Mismatched variable in variable formula
 
-Grmask is per-atom operation.
+A variable is referenced incorrectly or an atom-style variable that
+produces per-atom values is used in an equal-style variable
+formula.
 
-E: Variable ID in variable formula does not exist
+U: Invalid math/group/special function in variable formula
 
 Self-explanatory.
 
-E: Atomfile variable in equal-style variable formula
+U: Invalid thermo keyword in variable formula
 
-Self-explanatory.
+The keyword is not recognized.
 
-E: Invalid variable style in special function next
+U: Cannot use ramp in variable formula between runs
 
-Only file-style or atomfile-style variables can be used with next().
+This is because the ramp() function is time dependent.
 
-E: Invalid is_active() function in variable formula
+U: Cannot use vdisplace in variable formula between runs
 
-Self-explanatory.
+This is a function of elapsed time.
 
-E: Invalid is_available() function in variable formula
+U: Cannot use swiggle in variable formula between runs
 
-Self-explanatory.
+This is a function of elapsed time.
+
+U: Cannot use cwiggle in variable formula between runs
 
-E: Invalid is_defined() function in variable formula
+This is a function of elapsed time.
+
+U: Group ID in variable formula does not exist
 
 Self-explanatory.
 
-E: Indexed per-atom vector in variable formula without atom map
+U: Invalid group function in variable formula
 
-Accessing a value from an atom vector requires the ability to lookup
-an atom index, which is provided by an atom map.  An atom map does not
-exist (by default) for non-molecular problems.  Using the atom_modify
-map command will force an atom map to be created.
+Group function is not recognized.
 
-E: Variable atom ID is too large
+U: Region ID in variable formula does not exist
 
-Specified ID is larger than the maximum allowed atom ID.
+Self-explanatory.
 
-E: Variable uses atom property that isn't allocated
+U: Invalid special function in variable formula
 
 Self-explanatory.
 
-E: Invalid atom vector in variable formula
+U: Gmask function in equal-style variable formula
 
-The atom vector is not recognized.
+Gmask is per-atom operation.
 
-E: Atom vector in equal-style variable formula
+U: Rmask function in equal-style variable formula
 
-Atom vectors generate one value per atom which is not allowed
-in an equal-style variable.
+Rmask is per-atom operation.
 
-E: Too many args in variable function
+U: Grmask function in equal-style variable formula
 
-More args are used than any variable function allows.
+Grmask is per-atom operation.
 
-E: Invalid Boolean syntax in if command
+U: Variable ID in variable formula does not exist
 
 Self-explanatory.
 
-E: Cannot open file variable file %s
+U: Atomfile variable in equal-style variable formula
 
-The specified file cannot be opened.  Check that the path and name are
-correct.
+Self-explanatory.
 
-E: Cannot use atomfile-style variable unless atom map exists
+U: Invalid variable style in special function next
 
-Self-explanatory.  See the atom_modify command to create a map.
+Only file-style or atomfile-style variables can be used with next().
 
-E: Invalid atom ID in variable file
+U: Invalid is_active() function in variable formula
+
+Self-explanatory.
+
+U: Invalid is_available() function in variable formula
+
+Self-explanatory.
+
+U: Invalid is_defined() function in variable formula
 
 Self-explanatory.
 
diff --git a/src/velocity.h b/src/velocity.h
index f59336dcecdc49958a3c21f187b2b0e826642802..e14c0d0d1c9f8d7905f88ffbcbf8d0ffd3c34290 100644
--- a/src/velocity.h
+++ b/src/velocity.h
@@ -76,6 +76,10 @@ E: Could not find velocity group ID
 
 A group ID used in the velocity command does not exist.
 
+W: Changing velocities of atoms in rigid bodies. This has no effect unless rigid bodies are rebuild
+
+UNDOCUMENTED
+
 W: Mismatch between velocity and compute groups
 
 The temperature computation used by the velocity command will not be
diff --git a/src/version.h b/src/version.h
index 8450ae022473846bec56d10a7b5389df49c10fa3..eda788fad6773bb16161275945120f9ce15f5383 100644
--- a/src/version.h
+++ b/src/version.h
@@ -1 +1 @@
-#define LAMMPS_VERSION "30 Mar 2018"
+#define LAMMPS_VERSION "20 Apr 2018"
diff --git a/src/write_coeff.h b/src/write_coeff.h
index 9b272b40fcab94359b15d086809dc6825692fab9..9228e879bc365486a44e50711144b5dd217ec6c7 100644
--- a/src/write_coeff.h
+++ b/src/write_coeff.h
@@ -38,9 +38,9 @@ class WriteCoeff : protected Pointers {
 
 /* ERROR/WARNING messages:
 
-E: write_coeff command before simulation box is defined
+E: Write_coeff command before simulation box is defined
 
-Self-explanatory.
+UNDOCUMENTED
 
 E: Illegal ... command
 
@@ -48,14 +48,18 @@ Self-explanatory.  Check the input script syntax and compare to the
 documentation for the command.  You can use -echo screen as a
 command-line option when running LAMMPS to see the offending line.
 
-E: Atom count is inconsistent, cannot write data file
-
-The sum of atoms across processors does not equal the global number
-of atoms.  Probably some atoms have been lost.
-
 E: Cannot open coeff file %s
 
 The specified file cannot be opened.  Check that the path and name are
 correct.
 
+U: write_coeff command before simulation box is defined
+
+Self-explanatory.
+
+U: Atom count is inconsistent, cannot write data file
+
+The sum of atoms across processors does not equal the global number
+of atoms.  Probably some atoms have been lost.
+
 */
diff --git a/src/write_data.cpp b/src/write_data.cpp
index 7c8838628eb482f298c20046a40f8f0bab514a30..d9694f7cd355e593dbee401b252dfc1d6efd042e 100644
--- a/src/write_data.cpp
+++ b/src/write_data.cpp
@@ -74,6 +74,7 @@ void WriteData::command(int narg, char **arg)
 
   pairflag = II;
   coeffflag = 1;
+  fixflag = 1;
   int noinit = 0;
 
   int iarg = 1;
@@ -90,6 +91,9 @@ void WriteData::command(int narg, char **arg)
     } else if (strcmp(arg[iarg],"nocoeff") == 0) {
       coeffflag = 0;
       iarg++;
+    } else if (strcmp(arg[iarg],"nofix") == 0) {
+      fixflag = 0;
+      iarg++;
     } else error->all(FLERR,"Illegal write_data command");
   }
 
@@ -206,10 +210,10 @@ void WriteData::write(char *file)
   }
 
   // extra sections managed by fixes
-
-  for (int i = 0; i < modify->nfix; i++)
-    if (modify->fix[i]->wd_section)
-      for (int m = 0; m < modify->fix[i]->wd_section; m++) fix(i,m);
+  if (fixflag)
+    for (int i = 0; i < modify->nfix; i++)
+      if (modify->fix[i]->wd_section)
+        for (int m = 0; m < modify->fix[i]->wd_section; m++) fix(i,m);
 
   // close data file
 
@@ -252,10 +256,11 @@ void WriteData::header()
     }
   }
 
-  for (int i = 0; i < modify->nfix; i++)
-    if (modify->fix[i]->wd_header)
-      for (int m = 0; m < modify->fix[i]->wd_header; m++)
-        modify->fix[i]->write_data_header(fp,m);
+  if (fixflag) 
+    for (int i = 0; i < modify->nfix; i++)
+      if (modify->fix[i]->wd_header)
+        for (int m = 0; m < modify->fix[i]->wd_header; m++)
+          modify->fix[i]->write_data_header(fp,m);
 
   fprintf(fp,"\n");
 
diff --git a/src/write_data.h b/src/write_data.h
index 462c78c794a63bd37847db2c3ab94e479561063a..ced6a3be8b4ceee0e07c06463d561d996c357320 100644
--- a/src/write_data.h
+++ b/src/write_data.h
@@ -35,6 +35,7 @@ class WriteData : protected Pointers {
   int me,nprocs;
   int pairflag;
   int coeffflag;
+  int fixflag;
   FILE *fp;
   bigint nbonds_local,nbonds;
   bigint nangles_local,nangles;