# NAMELIST

Statement: Associates a name with a list of variables. This group name can be referenced in some input/output operations.

NAMELIST /group/ var-list[[,] /group/ var-list]...

group | Is the name of the group.
var-list | Is a list of variables (separated by commas) that are to be associated with the preceding group name. The variables can be of any data type.

## Description

The namelist group name is used by namelist I/O statements instead of an I/O list. The unique group name identifies a list whose entities can be modified or transferred.

A variable can appear in more than one namelist group.

Each variable in var-list must be accessed by use or host association, or it must have its type, type parameters, and shape explicitly or implicitly specified in the same scoping unit. If the variable is implicitly typed, it can appear in a subsequent type declaration only if that declaration confirms the implicit typing.

You cannot specify an assumed-size array in a namelist group.

Only the variables specified in the namelist can be read or written in namelist I/O. It is not necessary for the input records in a namelist input statement to define every variable in the associated namelist.

The order of variables in the namelist controls the order in which the values appear on namelist output. Input of namelist values can be in any order.

If the group name has the PUBLIC attribute, no item in the variable list can have the PRIVATE attribute.

The group name can be specified in more than one NAMELIST statement in a scoping unit. The variable list following each successive appearance of the group name is treated as a continuation of the list for that group name.

## Example

In the following example, D and E are added to the variables A, B, and C for group name LIST:

    NAMELIST /LIST/ A, B, C

    NAMELIST /LIST/ D, E

In the following example, two group names are defined:

    CHARACTER*30 NAME(25)
    NAMELIST /INPUT/ NAME, GRADE, DATE /OUTPUT/ TOTAL, NAME

Group name INPUT contains variables NAME, GRADE, and DATE. Group name OUTPUT contains variables TOTAL and NAME.

The following shows another example:

     NAMELIST /example/ i1, l1, r4, r8, z8, z16, c1, c10, iarray
     ! The corresponding input statements could be:
     &example
     i1  = 11
     l1  = .TRUE.
     r4  = 24.0
     r8  = 28.0d0
     z8  = (38.0, 0.0)
     z16 = (316.0d0, 0.0d0)
     c1  = 'A'
     c10 = 'abcdefghij'
     iarray(8) = 41, 42, 43
     /

A sample program, NAMELIST.F90, is included in the `<install-dir>/samples``` subdirectory.

Parent topic: M to N

## See Also

READ
WRITE
Namelist Specifier
Namelist Input
Namelist Output