!-----------------------------------------------------------------------------
!  DATA_ASSIM - do one data analysis step on one latitudinal strip of data.
!  See driver.f90 for command line and usage information.
!
    program data_assim
    use driver
    use command_line_support,only:program_exit
    implicit none
    integer::retcode
    real::t0,t1
    logical::partial  ! true if input grid is not the whole globe
    logical::yes  ! true if we're computing diagnostics
!
    call cpu_time(t0)
    call parseline(partial)
    call readin(partial)
    inquire(unit=DIAGUNIT,opened=yes)
    call mainloop(retcode)
!
!  Don't compute and print diagnostics for the observations unless their
!  computation has been requested (i.e., a diagnostics filename must have
!  been specified on the command line, in which case we would have opened
!  it already).
!
!   if(yes) call observation_diagnostics
    call cpu_time(t1)
    write(LOGFILE,100) t1-t0
100 format('total cpu time (sec):',f9.2)
    call program_exit(retcode)
    end program data_assim
