To Do List for SUNDIALS, as of 03/27/2015

(*** items must be completed before KINSOL and ARKode can be released.)

***(Eddy) Try newest SuperLU_MT to see if print messages still there.
	v2.3 Compile errors, 2.4 released...need to test.
	- OpenMP works?
	- colamd.c consistent with KLU?
    - Update any/all examples with old print statement output (e.g. Chris' non-working cvode example)
    - Make sure Chris' cvode example is not in tarscript release

***(Carol) Nakhimovski claims posible infinite loop in KINSOL

***(Carol) User Kantli has question on KINSOL use

-------------------------------------------------------------------------

Deferred to after release (11/6/13)

***(Eddy) Nightly build should compile with '-Wall' and '-ansi -pendantic' to force ISO 90 behavior.
    Plus all errors/warnings should be fixed
    - (All) working on list of warnings from current compilation
    
(Eddy) Document how users can use testRunner (copy output to answer)
    - actually need to completely revisit how users can verify installation.  

(Alan) Review header info for all files

(Eddy) Modify testRunner to catch nan and inf and *****'s 

(Eddy) Add 3D test case to cvsAtmDisp_ASAi_kry_bbd_p

(Carol) Add check on Jacobian eval to flag a reinit of the linear solver.  
	Needed in sparse direct cases.  Others???
  
(Eddy) C++ example for each solver

(Carol) Examples of pcg and FGMRES for all solvers

(Eddy) Preprocessing of FORTRAN examples -- what does this do?  Fixes INTEGER decl's?

(Carol) README_DEV needs work?

(All) Look at looser tolerance on automated testing. Purpose?

***(Carol) pcg and FGMRES for all solvers, documentation

Update all Matlab interfaces

(LEB, 7/30/13) When running tests (i.e. testRunner) the 'output' 
directory is built within the source tree - don't want anything in source tree.  The output
should be built in the 'Testing' directory relative to the directory in which 'make test' is run.

Enhancement to testing.  The ordering of tests would be better if core
features where tested before biggger tests.  For example nvector tests
are currently last but would be better to identify failures in them
first.  If vector impls have a bug rest of library will not work.

Enhancement to testing.  Should test the install process; say do a
link to the installed library for an example program.  Currently it is
possible to forget to include a header file for in the tarscript.
Perhaps entire test suite could be setup to build against the install
directory or development directory?

Add SuperLU_MT test cases to nightly build (requires multiple compilations)

*** Attach nightly build log file to log file to email sent to developers

*** Nightly build should build all libraries (SuperLU_MT, LAPACK etc) and test all examples - will
    require multiple build capability since not all libraries can be built simultaneously.

*** Nightly build should run regression tests with valgrind

*** Determine tool / method for either documenting in LaTex and converting to HTML (preferred)
    or document HTML 'markup' and convert to LaTex etc.
    
*** Refactor duplicated code from ida/idas and cvode/cvodes into common module

*** Refactor documentation to pull common material into single tex file.

*** Need hybrid mpi/openmp example

*** Look into issue tracking system open to developers and users

*** Nightly build should use tarscript(s) to install/test

*** Generate 'local' set of tolerances to enable 'tighter' nightly testing.
    Perhaps enable this as a feature for users to generate tolerances.
    
-------------------------------------------------------------------------
-------------------------------------------------------------------------

Completed Tasks

***(Carol) Tar-file sizes in download.html

***(All) Test, test, test

***(Alan) Identify any outstanding user issues.
	 - Check on all Oxberry submitted patches.

***(Eddy) NVector test examples are not installed correctly. They contain multiple .c source
   files that need to be installed and accounted for in installed Makefile.
   
***(Eddy) Doc of NVECTOR tests in Installation chapter (review NVector Chapter).

***(Steve, Eddy) Document KLU build options

***(Eddy, Carol) Write and test openMP and pThreads with Fortran and document
	- Tests written.
	- Need to document - add new tex file for nvector_examples (Carol create tex framework).

***(Carol) Update Confluence Pages "Recent Changes"

***(Eddy) Make build system handling of examples consistent.  Right now, distclean
   does not remove compiled examples.  Also, the install builds an examples
   directory, but the executables are not copied there.

***(Alan) Review build documentation.

***(Steve, Eddy) Finalize pthreads implementation and document performance concerns.
    - update "Vector" chapter as needed...

***(Steve, Eddy) Finalize pthreads implementation and document performance concerns.
    - update "Vector" chapter as needed...

***(Eddy) READMEs need to be updated with default CMake configure

***(Eddy) Remove testRunner from Install Guide and tarscripts

***(Eddy) Document Windows build - install guide

***(Eddy) Update options for cmake.  Remove autoconf documentation in 
   manuals (anywhere else?)

***(Eddy) Update tarscripts
    - to use new Install_Notes
    - remove Makefile.in(s) if not needed

***(Carol) Update FORTRAN Interfaces (cvode ida kinsol)

***(Eddy) C++ conditional statements in wrong place with respect to #include lines

***(Eddy) Remove autoconf from build system

***(Carol) Document sparse solvers

***(Carol) Create Install_Notes from existing tex files.

***(Alan) Release numbers updated in documentation (new for KINSOL and ARKode)

***(Alan) Change FORTRAN vector init/reint names

***(Carol/Eddy) IM release of KINSOL and ARKode...in progress 12/17/14
	- KINSOL complete 1/5/15.  LLNL-CODE-665877
	- ARKode ...waiting for release #

(Alan, Carol) Review vector documentation

***(Alan, Carol) Verify output of examples used in new testing system 
	are indeed correct.
	As part of this we probably should tighten absolute tolerances on Krylov
	example codes as there is a good bit of variation on consecutive parallel runs
	and even between systems.  Maybe try abstol = 10^-6?

***(Carol) Update recent revisions - all to comment

*** (Carol) Bring back MIN/MAX paragraph in KINSOL manual.

*** (Alan) Create individual user guide skeleton code example to show only one flavor of p, t, o, s and
    infer the others. Main skeleton should continue to show all four.
    
*** (Alan) Create cvDiag example with MPI

*** (Eddy) Document CMake support is for LINUX Makefile system only (although can be used to configure other systems)

*** (Eddy) Documentation figures need square/round edges as specified in the text

*** (Eddy) Remove old auto test code from current ongoing versions in repo

*** (Eddy) Ida figure should show Nvector (as does in Main).  All individual solver figures
    to be updated in same way as Ida
    
(Steve) Look into whether there is any issue with MPI and differing parallel
results in consecutively run parallel examples.

(Alan) Doc. of fnvinits_openmp & fnvinits_pthreads missing in F/C chapters

***(Carol) Update xfig diagrams - Alan to review

***(Alan) Pull recent revisions into user guides and READMEs as appropriate

(Alan) New CVODE example: cvAdvDiff_diag_p using CVDiag in parallel

***(Eddy) Add last modified date to each file from SVN

***(Carol) SuperLU_MT for all solvers

***(Carol, Steve) KLU for all solvers

***(Dan) Add documentation for ARKode into SUNDIALS distribution

***(Carol) Add error flag checks for KLU

***(Carol) Add optional ordering Set routine for SuperLU_MT and KLU for 
all solvers

(Alan) Provide better guidance as to exactly what the from of the Jacobian is
for use adding a new linear solver.  Math considerations in IDA indicates
the Jacobian is dF/dy + alpha dF/dydot.  But, alpha is not defined and
cj is teh variable in the IDA structures that the user needs for this.
CVODE likely also has similar disconect but I did not check this.

(Carol, Steve, David, Dan) Develop a set of unit tests for the vector 
kernel operations.  This 
set of tests should be something a user could employ to verify 
their own vector kernel is correct.  (Of course, ours should pass these
tests!)

(Dan, Eddy) Need to add ARKode to SUNDIALS' automated testing infrastructure.

***(Steve) Change header info for all files
       Script was run which fixes most file headers.
       Following should find all files that still need to be updated.
       grep Regents $(find . -type f) | grep -v 2013 | grep -v .svn | grep -v .hg | awk ' BEGIN {FS=":"} {print $1}'


