Submit Request

Wed Nov 14 1:41:38 US/Eastern 2001

Jon Kinsey
General Atomics

San Diego, CA, 92186

Phone: [858]455-3336


Title: TORAY ECH/ECCD Ray Tracing Code

Module: TORAY

URL of tar/zip file:

Abstract: The TORAY ray tracing code computes contributions to electron cyclotron heating (ECH) and RF current-drive (ECCD) sources. Plasma heating and non-inductive current generation by injection of electromagnetic waves in the electron cyclotron frequency range (ECH and ECCD) has been considered an important tool in fusion research. Electron cyclotron current drive (ECCD) is a leading candidate for current profile control in Advanced Tokamak (AT) operation. ECCD has successfully demonstrated that it can help sustain high beta negative central shear (NCS) discharges and suppress neoclassical tearing modes (NTM). As a result, TORAY is heavily relied upon by experimentalists at DIII-D.

Module Standards Form

Standard: Provide source code for each physics module or code.
Standard: Provide test case(s) with driver program(s) with input and output data and their documentation.
Done. 7 test cases with sample output is provided.
Standard: Provide script to compile and link (e.g., makefile). The script should make at least some provision for portabilit to multiple brands of UNIX (at minimum). Provide clear documentation (possibly in the README file) on how to use the script or makefile. Borne shell script is provided for basic builds
Standard: Provide a README file giving (a) the name of the module andits authors, (b) the location and form of general module documentation, and (c) information (or pointer to more detailed documentation) enabling a user to build binariesfrom the source code.
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.
Described in both the README and toray.tex files
Standard: Eliminate graphics calls embedded in physics modules.
No graphics calls are present.
Standard: The source code files (e.g. *.f, *.c, or *.cpp files) should be submitted rather than requiring extraction from another file.
All source files are provided (*.m)
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.
This is a first release.
Goal: Offer single and double precision versions or offer user control of precision at compile time
Precision handled using mppl preprocessor
Goal: Provide error checking (but not stops).
limited error checking provided.
Goal: Portability (code should run on multiple platforms and under different operating systems
built and tested on Sun/Solaris, Linux (Intel, AMD), Alpha, and HPUX platforms
Goal: Minimize external dependencies that cost money (i.e. avoid using expensive proprietary licenses).
Only NetCDF library is required.
Standard: Supply warnings in the documentation when the above goal has not been met.
Goal: Arrays should be dynamically allocated.
No dynamic allocation of arrays is present.
Standard: The characteristics of I/O should be clearly documented(i.e. the implementation of I/O unit numbers, if any).
I/O unit numbers given in Latex documentation.
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.
Standard: Provide name of contact person for support.
Standard: Provide date of last revision
Done. This is version 1.3
Standard: Provide at least comments describing module or code,citations to publications (if any), and range of validity.
see README and toray.tex Latex documentation.
Standard: Specify the precision of floating point calculations.
all sources in single precision.
Standard: Provide the index of input-output variables for each module (include type of variable, dimension, units).
Standard: Provide statement of known bugs.
No known bugs.
Goal: Index of modules, routines, variables.
Tables of input and out quantities given in Latex documentation.
Goal: Publication of code or module in journal (such as Computer Physics Communications)
Goal: Online hyper-text reference documentation
Goal: Interactive online help menus
Standard: Provide interface routines to data.
Goal: Use self-describing data files (such as NetCDF).
both ASCII and NetCDF output available
Goal: Use public domain, portable, available and well-documented data file formats.
Goal: Establish standards for variable names, units, dimensions independent variables and grid descriptions as they appearin the module interfaces.