Specifies that an object is an array, and defines the shape of the
array.
The DIMENSION attribute can be specified in a type declaration
statement or a DIMENSION statement, and takes one of the following
forms:
Type Declaration Statement:
type, [att-ls,] DIMENSION (spec) [,att-ls] :: a[(spec)] [,a[(spec)]]...
Statement:
DIMENSION [::] a(spec) [,a(spec)]...
type Is a data type specifier.
att-ls Is an optional list of attribute specifiers.
spec Is an array specification. In a type declaration,
any array specification following an array overrides
any array specification following DIMENSION.
a Is the symbolic name of the array. If the array
is not defined in a type declaration statement, the
array takes an implicit data type.
An array can also be declared in the following statements:
ALLOCATABLE, POINTER, TARGET, and COMMON.
The DIMENSION attribute is compatible with the ALLOCATABLE,
AUTOMATIC, INTENT, OPTIONAL, POINTER, PRIVATE, PUBLIC, SAVE,
STATIC, TARGET, and VOLATILE attributes.
See also DATA ARRAYS in this Help file.