program main ! All programs have to have a main program header Use global implicit none ! All procedures have to have a implicit none command integer :: ismax,jsmax,ksmax integer :: io_write integer :: status call input(ismax,jsmax,ksmax,io_write) ! | Allocation step :: allocate(x(1:ismax,1:jsmax,1:ksmax), stat=status) if(status /= 0) write(6,*) "deallocation failed at line 13" allocate(y(1:ismax,1:jsmax,1:ksmax), stat=status) if(status /= 0) write(6,*) "deallocation failed at line 16" allocate(z(1:ismax,1:jsmax,1:ksmax), stat=status) if(status /= 0) write(6,*) "deallocation failed at line 19" allocate(w(1:ismax,1:jsmax,1:ksmax), stat=status) if(status /= 0) write(6,*) "deallocation failed at line 21" call solver(ismax,jsmax,ksmax) call output(ismax,jsmax,ksmax,io_write) ! | Deallocation step :: deallocate(x, stat=status) if(status /= 0) write(6,*) "deallocation failed at line 14" deallocate(y, stat=status) if(status /= 0) write(6,*) "deallocation failed at line 18" deallocate(z, stat=status) if(status /= 0) write(6,*) "deallocation failed at line 20" deallocate(w, stat=status) if(status /= 0) write(6,*) "deallocation failed at line 22" end program main