Intel® Fortran Compiler 17.0 Developer Guide and Reference
The I/O control list specifies one or more of the following:
The I/O unit to act upon ([UNIT=]io-unit)
This specifier must be present; the rest are optional.
The format (explicit or list-directed) to use for data editing; if explicit, the keyword form must appear ([FMT=]
The namelist group name to act upon ([NML=]group)
The number of a record to access (REC=)
The name of a variable that contains the completion status of an I/O operation (IOSTAT=)
The label of the statement that receives control if an error (ERR=), end-of-file (END=), or end-of-record (EOR=) condition occurs
Whether you want to use advancing or nonadvancing I/O (ADVANCE=)
The number of characters read from a record (SIZE=)
Whether you want to use asynchronous or synchronous I/O (ASYNCHRONOUS=)
The identifier for a pending data transfer operation (ID=)
The identifier for the file position in file storage units in a stream file (POS=)
The name of a variable that contains an error message (IOMSG=)
No control specifier can appear more than once, and the list must not contain both a format specifier and namelist group name specifier.
Control specifiers can take any of the following forms:
Keyword form
When the keyword form (for example, UNIT=io-unit) is used for all control-list specifiers in an I/O statement, the specifiers can appear in any order.
Nonkeyword form
When the nonkeyword form (for example, io-unit) is used for all control-list specifiers in an I/O statement, the io-unit specifier must be the first item in the control list. If a format specifier or namelist group name specifier is used, it must immediately follow the io-unit specifier.
Mixed form
When a mix of keyword and nonkeyword forms is used for control-list specifiers in an I/O statement, the nonkeyword values must appear first. Once a keyword form of a specifier is used, all specifiers to the right must also be keyword forms.