NAMELIST statement
Standard: F77 F90 F95 F2003
 Example Program
<Syntax>
NAMELIST group [ [ , ] group ]...
group ::= / group-name / name [ , name ]...

Each name must be a variable name. The variable must not be or contain a pointer or allocatable component, if the variable is an array it must have constant bounds, and if it is a character string it must have constant length. But in Fortran 2003, the variable is permitted to be allocatable or a pointer, to contain an allocatable or pointer component (only if it will be processed by user-defined derived-type input/output), to have non-constant character length, or to have array bounds that are not constant; however, the variable is still not permitted to be an assumed-size array. Note that if the variable is allocatable or a pointer, it must be allocated or associated at the time of execution of a READ or WRITE statement that uses the namelist group.

Furthermore, if the namelist group is PUBLIC then each variable must also be PUBLIC and must not have any PRIVATE components.
<Semantics>
The NAMELIST statement declares one or more namelist groups. Multiple NAMELIST specifications for the same namelist group name are treated as if they were concatenated.

Namelist input/output is done using the NML= specifier in a READ or WRITE statement. A set of namelist records begins with “&group-name” and ends with a slash (“/”).

This feature is difficult to use reliably, and so is not recommended except for small programs.
<Related>
NML= specifier, READ statement, WRITE statement