NAMELIST statement
Standard: F77 F90 F95 F2003
 Example Program
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.
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.
NML= specifier, READ statement, WRITE statement