2次元配列以上を考える場合において、Doループを入れ子状に組む必要がでてくる。
例えば、temp(LON,LAT,HIGH,TIME)を読む場合には
DO time=1,30 DO height=1,10 DO klat=1,100 DO jlon=1,100 READ(20,*) temp(jlon,klat,height,time) ENDDO ENDDO ENDDO ENDDO
のように書く。順番を違えると非効率的で時間の非常にかかるプログラムになる。 また、以下のような書き方もできる。この場合1行で書ける。
READ(20,*) ((((temp(jlon,klat,height,time),jlon=1,100)klat=1,100),height=1,10),time=1,30)
これらの例からわかるように、Fortranでは配列が
左側の要素ほど速く変化する
書き方をする。
一方でC言語では右側の要素ほど速く変化するように書く。