$Id: NEWS 1889 2008-03-18 15:48:09Z paultcochrane $

Version xmds-1.6.5 (2008-02-26)

    * Various bug fixes - new no known bug status
    * Superior treatment of extreme cases in adaptive algorithms
    * Simulation can halt if the solution goes non-finite. 
       Put this in the appropriate integration element:
           <halt_non_finite>yes</halt_non_finite>
    * Cross-propagation is now 4th order for RK4 algorithms
    * Patches to fix compiler warnings (and potential issues, and the removal
      of superfluous files courtesy of Rafael Laboissiere.
    * ChangeLog format altered to give a better summary of changes
    * Reconfigured the location of where some files are installed,
      specifically loadxsil.m, ancillary files like README and the example
      files are all installed under the equivalent of /usr/share/doc/xmds.
    * Automatic plotting of simulation output is now possible with the -p
      (a.k.a. --plot) command line argument to xsil2graphics.  This is only
      possible with Matlab/Octave at present.
    * One can now specify the desired XSIL output filename at the command
      line when one calls the simulation program.  Just use the 
      -o (--outfilename) argument and supply the desired filename.

Version xmds-1.6.4 (2008-01-10)

A new release for a new year.

    * Arrays:

... <components> phi(100) </components> 

... for (long j=1;j<101;j++) { 
dphi_dt(j) = L[phi](j) + V*phi(j); 
} 
...

    * Bug fixes!
    * Internal code cleanups
    * New example scripts
    * Rudimentary visualisation capability with R (http://www.r-project.org)


Version xmds-1.6.3 (2007-06-27)

This is another bugfix release of xmds-1.6. It is unlikely that anyone else has
ever encountered these bugs, and now they never will. We are back to "no known
bugs".

Version xmds-1.6.2 (2007-06-15) 

This is a critical bugfix update of xmds-1.6. Recommended for all users.

Version xmds-1.6.1 (2007-05-10)

This is a bugfix and minor tweak release of xmds, to correspond with the new
documentation release.

Version xmds-1.6 (2007-03-22)

Welcome to a brave new world of XMDS. A brave new algorithm list, anyway. Say
hello to Michael Hush and the new algorithms he coded. We now have adaptive
9(8)th order deterministic integration, where the adaptive step is stochastic
safe. In our testing this means 4th order adaptive strong convergence for
stochastic equations. The new algorithms are: RK9IP, RK9EX, ARK89IP and
ARK89EX. The syntax and workings are identical to the RK4 and ARK45 algorithms,
except that for stochastic problems the adaptive algorithm changes
automatically to a stochastic-safe version. Also, less bugs. We are back to
zero known bugs, as usual for release.

Version 1.5-3 (19/09/2006)
    * FFTW version 3!  This version is faster, and vectorises on many  
      architectures.  This can be installed concurrently with FFTW version  
      2.1.5, which is still required for MPI implementations.
    * Vector initialisation from XSIL moment groups!  Also, this  
      initialisation has a "loose" mode, where partial data can be input.   
      This allows easy shifting of grids between simulations.
    * Better IO behaviour on supercomputers with queues. 
    * OpenMP support!  For OpenMP compatible compilers, threaded  
      parallel processing is as easy as a tag away.  Use FFTW version 3,  
      and compile it using OpenMP rather than pthreads for best results.
    * Breakpoints!  You can choose to have the fields sent to file at  
      any time in the sequence, including in the middle of a run.  This can  
      be used to check long calculations in the middle, as an efficient  
      method of reloading the output to start again, or just as a memory- 
      efficient output method for large MPI simulations.
    * Almost a year's worth of bug fixes.  We are back at "No Known  
      Bugs" status, just as we are for each release.
    * New documentation!  Please read all the details in the parallel
      "xmds-doc" release.

Version 1.5-2 (27/10/2005)
    * The major feature of this release is the ability to use adaptive  
      scheduling when using parallel processors on stochastic problems.   
      The new scheduler is much more efficient in heterogeneous  
      environments, such as clusters of unequal machines, or homogeneous  
      clusters with variable load.
    * To use adaptive scheduling simply add the tag 
      <MPI_Method>Scheduling</MPI_Method> in the <simulation> element.  
      To use the old, symmetric method, simply add the tag 
      <MPI_Method>Uniform</MPI_Method>.
 
Version 1.5-1 (05/07/2005)
    * Two new algorithms: ARK45IP and ARK45EX
    * These new algorithms are adaptive timestep algorithms and using them
      is as easy as choosing their name as the integrate algorithm.
    * Set the <tolerance> element to set the relative error per timestep. 
    * New examples; sech_soliton.xmds and sech_soliton_tdepk.xmds have been
      added.
    * Binary output further improved and problems have been fixed such that
      moving binary files between 32 and 64 bit machines now works as hoped. 
    * Recent changes to the compile option order may be able to break MPI
      enabled computations on some systems.   Compiling by hand will be an
      effective temporary fix, but please contact us immediately if you have
      any problems.

Version 1.4-1 (03/11/2004)
    * Certain kinds of non-local terms can now be included.
    * Functionality for those who wish to tweak things with pasted code.
    * One can put <moment_group> elements as well as <functions> elements in 
      <integrate> blocks.
    * <moment_group> elements let you define moments that are integrated 
      through any number of transverse dimensions.
    * <functions> elements allow to place arbitrary chunks of c-code
      in the integrate step.  They are very useful for calculating functions
      that do not have to be recalculated for every point in the transverse
      dimensions.
    * You can put both of them in <filter> elements as well.
    * You can put as many as you like, of any dimension, in any order.
    * Non-local terms are MPI aware.
    * The binary output option is now at the "no known bugs" stage.  
      Using <output format="binary"> instead of the old <output> tag will do 
      the output using binary data.  This should be transparent to all 
      current activities, as xsil2graphics works normally with either.  Note 
      that Scilab does not support binary input.

Version 1.3-5 (19/07/2004)
    * Bugfix release.
    * Problem with production of a malformed XML tag when producing binary
      output has been fixed.
    * The number of samples can safely be zero without causing problems with
      Fourier transforms.
    * Configuration has been improved slightly.
    * Removed as many system() calls as possible to make xmds more portable.
    * Fixed problems associated with the -ansi and -pedantic gcc flags.

Version 1.3-4 (18/06/2004)
    * Fix of a parsing bug when using the <noises> tag.
    * Man pages for xmds, xsil2graphics and loadxsil.m are installed at 
      'make install' time.
    * Command line option parsing of xmds and xsil2graphics improved.
    * More example simulations have been added.
    * Documentation has been updated.

Version 1.3-2 (12/05/2004)
    * Updated api
    * Added output of a template xmds script by passing the -t flag
      to xmds.
    * Added more examples.
    * At startup xmds prints information about what it is, what version,
      who wrote it etc.
    * A warning is now issued if the <author> and/or <description> tags
      are left out of a script.  Adding these is good xmds coding style.

Version 1.3-1 (23/12/2003)
    * Fixed xsil2graphics filename referencing bug.
    * Added <use_prefs> tag, and ability to use preferences
    * Added format="ascii|binary" attribute to <filename> tag 
      of <vector> element.
    * Xmds works in Cygwin environment, and added a readme file
      explaining how to install the environment and xmds within.

Version 1.1.x (01/07/2003)

    * Now have a configure script!  
