ModuleName: The Template for modules in the FAST modularization framework


v1.00.02 22-Oct-2012
 Shortened some local variable names in the module and driver code (Param = p, ContState = x, etc.)

v1.00.03 13-Nov-2012
 Modified template to address changes in Registry-generated code

v1.00.04, 25-Jan-2013
 Cleaned up some text, removed the references to PACK and and UNPACK, as they are generated by the Registry.

v1.00.05, 28-Jan-2013
 Made InitOut%WriteOutputHdr, InitOut%WriteOutputUnt, and y%WriteOutput ALLOCATABLE arrays.

v1.01.00, 1-Mar-2013
  I renamed variable "Time" to "t" in the template.f90 file.
  I added input "n" to _UpdateStates() and _UpdateDiscState() routines. n will start at zero.
  I added an additional output argument to _UpdateStates(): zGuess(t+Increment)
  I renamed "z_residual" to "Z_residual"
  I modified the "u" input argument to _UpdateStates() to be an array of "Inputs", and I added a "InputTimes" array to
    indicate what times are associated with each input.

v1.02.00, 26-Mar-2013
  I removed z_next from the _UpdateStates routine and changed the description of the z argument (it
    is no longer a "guess" at time t). The input z is the value at time t and the output z is the value
    at time t+Interval.
  I replaced "equations" with "functions" in the comments.

v1.02.01, 21-May-2013
  I modified the INTENT attribute on the Inputs(:) argument of the template. This modification is due to the use
    of the ExtrapInterp routine, which may need to update record-keeping attributes in Meshes.

v2.00.00, 13-Nov-2015
  I added a MiscVar type as a standard type to split OtherStates into actual logical (other) states and miscellaneous variables
     for optimization. OtherStates will now be associated with time, and miscellaneous variables will be used for optimzation,
     not associated with time.
  I modified the template with Doxygen-style comments and error handling.
