subroutine recalldb_read use water_allocation_module use maximum_data_module use recall_module use hydrograph_module implicit none character (len=80) :: titldum = "" character (len=80) :: header = "" integer :: eof = 0 integer :: imax = 0 integer :: i = 0 integer :: ii = 0 integer :: k = 0 integer :: iom = 0 logical :: i_exist !none |check to determine if file exists !read all recall files inquire (file="recall_db.rec", exist=i_exist) if (i_exist) then do open (107,file="recall_db.rec") read (107,*,iostat=eof) titldum if (eof < 0) exit read (107,*,iostat=eof) header if (eof < 0) exit imax = 0 do while (eof == 0) read (107,*,iostat=eof) i if (eof < 0) exit imax = Max(imax,i) end do db_mx%recalldb_max = imax allocate (recall_db(0:imax)) rewind (107) read (107,*,iostat=eof) titldum if (eof < 0) exit read (107,*,iostat=eof) header if (eof < 0) exit do ii = 1, imax read (107,*,iostat=eof) i if (eof < 0) exit backspace (107) read (107,*,iostat = eof) k, recall_db(i)%name, recall_db(i)%org_min, & recall_db(i)%pest, recall_db(i)%path, & recall_db(i)%hmet, recall_db(i)%salt, & recall_db(i)%constit, recall_db(i)%descrip if (eof < 0) exit end do end do end if close (107) end subroutine recalldb_read