MODULE Vcimage
  CHARACTER (LEN=80), SAVE :: CARD, FIELD
END MODULE Vcimage
MODULE Vimage
  LOGICAL, SAVE ::  EOFF
END MODULE Vimage
SUBROUTINE READIN(PROB, TITLE, CSTOP, FCYCLE, DCYCLE, DHIST, VHIST&
     &    , IMAX, PHIST, DEBUG, NSTAT, STATS, MAXSTA, NCORE, PPLOT,     &
     &    DPLOT, VPLOT, TPLOT, SLIST, D0, E0, NODES, SHEAT, GAMMA, COLD &
     &    , THIST, NVISC, SCREEN, WEIGHT, TSTOP, STABF)
  USE Vcimage
  USE Vimage
  INTEGER, DIMENSION(MAXSTA) :: STATS
  IF (.NOT.EOFF) THEN
     IF (FIELD=='PROB' .OR. FIELD=='PROBLEM_NUMBER') THEN
        CALL QSORT (STATS(1:NSTAT))
        WRITE (16,                                                 &
             &'(//'' YOU HAVE REQUESTED A PRINTOUT OF THE STATION'',            &
             &    '' ABORT''//)')
     ENDIF
  ENDIF
CONTAINS
  RECURSIVE SUBROUTINE QSORT (LIST)
    INTEGER, DIMENSION(:), INTENT(INOUT) :: LIST
    INTEGER, DIMENSION(SIZE(LIST)) :: SMALLER,LARGER
    IF (SIZE(LIST) > 1) THEN
       LIST(NUMBER_SMALLER+1:NUMBER_SMALLER+NUMBER_EQUAL) = CHOSEN
       CALL QSORT (LARGER(1:NUMBER_LARGER))
       LIST(NUMBER_SMALLER+NUMBER_EQUAL+1:) = LARGER(1:NUMBER_LARGER)
    END IF
  END SUBROUTINE QSORT
END SUBROUTINE READIN
