Programs in Physics & Physical Chemistry
|[Licence| Download | New Version Template] aanj_v1_0.gz(7 Kbytes)|
|Manuscript Title: RDLIST: a portable NAMELIST facility.|
|Authors: A.C. Day|
|Program title: RDLIST AND PREPROCESSOR MAKEDATA|
|Catalogue identifier: AANJ_v1_0|
Distribution format: gz
|Journal reference: Comput. Phys. Commun. 22(1981)403|
|Programming language: Fortran.|
|Computer: IBM 360/65.|
|Operating system: WATFIV.|
|RAM: 6K words|
|Word size: 32|
|Keywords: General purpose, Utility, Namelist, Portable, Compatible, Character manipulation.|
Nature of problem:
Programs often work by setting defaults and requiring users to change only a few of the parameters. The IBM Fortran NAMELIST facility is very convenient for this, allowing as it does the use of Fortran variable names in the input. The difficulty is that NAMELIST is not generally available. The problem is to write a portable Fortran replacement for NAMELIST.
The 'NAMELIST' entities are stored in a COMMON block. The names of these entities and any dimensions are stored in a second COMMON block by means of DATA statements in a BLOCK DATA subprogram. These DATA statements are automatically generated from the FORTRAN statement defining the first COMMON block, when this is fed as data into a preprocessor called MAKEDATA. A subroutine RDLIST is provided to read a list of assignments from the input and process them.
Only one 'NAMELIST' is permitted. Only REAL variables and arrays are allowed. No repeat counts are possible (e.g. 3 * 1.0 to mean 1.0, 1.0, 1.0). Only input of information is provided for, not output.
Fully portable character manipulation.
MAKEDATA takes about 1 s. The time taken by RDLIST depends on the length of the list of input assignments, but typically takes a small fraction of a second per call.
|Disclaimer | ScienceDirect | CPC Journal | CPC | QUB|