==========================================================
Standard: Provide source code for each physics module or code.
---------------------------------
Yes
==========================================================
Standard: Provide test case(s) with driver program(s) with input
and output data and their documentation.
---------------------------------
yes. The distribution includes three test cases for TRACK with the AJAX
equilibrium module and one test case for TRACK with the XPLASMA module.
The test cases support single and double precision. It has been tested
on Intel Linux with Lahey/Fujitsu Fortran compiler. All test cases
gave results close to the relevant reference cases.
==========================================================
Standard: Provide script to compile and link (e.g., makefile). The
script should make at least some provision for portability to multiple
brands of Unix (at minimum). Provide clear documentation (possibly
in the README file) on how to use the script or makefile.
---------------------------------
Yes. It includes configure and makefile.in files. It supports SGI, IBM, Linux
Intel/Alpha, and SUN.
==========================================================
Standard: Provide a README file giving (a) the name of the module
and its authors, (b) the location and form of general module
documentation, and (c) information (or pointer to more detailed
documentation) enabling a user to build binaries from the source code.
---------------------------------
It contains pdf file with detailed documentation and html files for each
source file in the module.
==========================================================
Standard: Provide documentation about how the module should be used,
for example, whether the module needs to be initialized or used
sequentially. Important usability issues, such as the existence of
state information in COMMON or other static memory, which persists
between calls, must be described.
---------------------------------
It's clear from the pdf file provided.
==========================================================
Standard: Eliminate graphics calls embedded in physics modules.
---------------------------------
There are no graphics calls.
==========================================================
Standard: The source code files (e.g., *.f, *.c or *.cpp files)
should be submitted rather than requiring extraction from another file.
---------------------------------
Yes.
==========================================================
Standard: Authors may upgrade their modules with approval of the
current chairperson of the NTCC modules committee. If the upgrade
is extensive, the chairperson can require that the upgrade be
subject to a full review.
---------------------------------
ok.
==========================================================
Goal: Portability (code should run on multiple platforms and under
different operating systems).
---------------------------------
Several major UNIX system are supported, as mentioned above.
==========================================================
Goal: Offer single and double precision versions or offer user
control of precision at compile time.
---------------------------------
Yes.
==========================================================
Goal: Multi-platform (code should run on different computers).
---------------------------------
Yes.
==========================================================
Goal: Provide error checking (but not stops).
---------------------------------
There is an error flag which provides the required control.
==========================================================
Goal: Minimize external dependencies that cost money (i.e., avoid
using expensive proprietary licenses).
---------------------------------
There are no external dependencies in the TRACK AJAX version of the
module. XPLASMA version requires several NTCC libraries. There are
no external commercial dependences.
==========================================================
Standard: Supply warnings in the documentation when the above goal
has not been met.
---------------------------------
Not relevant.
==========================================================
Goal: Arrays should be dynamically allocated.
---------------------------------
Yes.
==========================================================
Standard: The characteristics of the I/O should be clearly
documented (i.e., the implementation I/O unit numbers, if any).
---------------------------------
There are no input/output from/to files in the TRACK library. Driver
program uses Fortran-90 module, which writes in standardized formats. The unit number
can be set through the argument list.
==========================================================
Goal: Avoid using hard-wired I/O unit numbers. Allow informational
output to be switched on or off. Provide a method for rerouting
warning or error message output to a user specified file or
I/O unit number.
---------------------------------
Yes, see above.
==========================================================