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.