I'm working on a console window application. The following statement writes three 4x4 matrices, one row at a time. DO JJ=1,4 WRITE(IOUT,'(3(4(G12.5,1X),4X))') & BEAR1%BR(I)%B(ISPD)%K(JJ,1:4), & BEAR1%BR(I)%B(ISPD)%C(JJ,1:4), & BEAR1%BR(I)%B(ISPD)%M(JJ,1:4) END DO This generates warnings in the console window as follows: forrtl: warning (402): fort: (1): In call to I/O Write routine, an array temporary was created for argument #1 The statement works as intended, but what is the warning for? What is argument #1? Pointers are used in the chain of derived types.