next up previous
Next: Documentation Standards: Up: NTCC Library Module Review Previous: General Comments

General Standards:

==========================================================
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.
==========================================================


next up previous
Next: Documentation Standards: Up: NTCC Library Module Review Previous: General Comments

transp_support
Mon Jul 8 11:21:58 EDT 2002