SUBROUTINE CHKOPT(I, OPTION, SUBOPT, ALPHA1, ALPHA2,
     &                  FLAG, FLAG1, OUTPUT, *   )

      DIMENSION FLAG(NOPT,ICF)

      CHARACTER*5 ALPHA1(NOPT), OPTION
      CHARACTER*3 ALPHA2(6), SUBOPT(5)

      COMMON /LUNIT/ LUPLP, LUPLT, LUPRT
      COMMON /PARA1/ NFF,MSP,NDEP,NOPT,ICF,KSRD

C   ALPHA1(1)=  TLRAN
C   ALPHA1(2)=  GROUP
C   ALPHA1(3)=  TLAVR
C   ALPHA1(4)=  TLDEP
C   ALPHA1(5)=  TLAVF
C   ALPHA1(6)=  ANGLE
C   ALPHA1(7)=  PHASE
C   ALPHA1(8)=  CONDR
C   ALPHA1(9)=  CONFR
C   ALPHA1(10)= PROFL
C   ALPHA1(11)= MODES
C   ALPHA1(12)= CONDA
C   ALPHA1(13)= HORWN
C   ALPHA1(14)= PARAM
C   ALPHA1(15)= FIELD
C   ALPHA1(16)= PULSE
C   ALPHA1(17)= CONSV
C   ALPHA1(18)= FREE FOR NEW OPTION

C   ALPHA2(1)=  '   '
C   ALPHA2(2)=  'PRT'
C   ALPHA2(3)=  'PLT'
C   ALPHA2(4)=  'COL'
C   ALPHA2(5)=  'COH'
C   ALPHA2(6)=  'INC'

  460 FORMAT(1H ,//,'  REVISE THE FOLLOWING INPUT LINE:',/,2X,A5,
     & 1X,5(A3,1X),/,'  ERROR DETECTED IN SUB CHKOPT.',
     & /,'  EXECUTION IS TERMINATED.',/)
  760 FORMAT(1H ,//,' ERROR FOR OPTION ',A6,':',/)
  780 FORMAT(1H ,' MISSING SPECIFICATION OF OUTPUT TYPE.')
  800 FORMAT(1H ,' MISSING SPECIFICATION OF CALCULATION TYPE.')
  890 FORMAT(1H ,//,'  NO OPTION CAN BE SPECIFIED MORE THAN ONCE.',
     & /,'  REVISE OPTION ',A5,' .')

      DO   4600   I=1,NOPT
      IF(OPTION .NE. ALPHA1(I))   GO TO 4600
      IF(FLAG(I,1) .LT. 1.0)   GO TO 3150
      WRITE(LUPRT,890) ALPHA1(I)
      FLAG1=-1.0
 3150 CONTINUE
      FLAG(I,1)=1.

C   CHECK OF INPUT LINE TO DETERMINE REQUESTED SUB-OPTIONS

      DO  3300   N=1,5
      DO  3200   M=1,6
      IF(SUBOPT(N) .NE. ALPHA2(M))   GO TO 3200
      FLAG(I,M)=1.
      GO TO 3300
 3200 CONTINUE
      GO TO 4600
 3300 CONTINUE
      OUTPUT=0.
      IF((FLAG(I,2) .GT. 0.0) .OR. (FLAG(I,3) .GT. 0)) OUTPUT=1.

      IF((ALPHA1(I) .EQ. 'GROUP' .OR.
     &    ALPHA1(I) .EQ. 'ANGLE' .OR.
     &    ALPHA1(I) .EQ. 'FIELD' .OR.
     &    ALPHA1(I) .EQ. 'PHASE' .OR.
     &    ALPHA1(I) .EQ. 'PULSE' .OR.
     &    ALPHA1(I) .EQ. 'PROFL' .OR.
     &    ALPHA1(I) .EQ. 'MODES' .OR.
     &    ALPHA1(I) .EQ. 'HORWN' .OR.
     &    ALPHA1(I) .EQ. 'CONSV' .OR.
     &    ALPHA1(I) .EQ. 'PARAM') .AND.
     &    OUTPUT .GT. 0.)   GO TO 3400

      COHINC=0.
      IF((FLAG(I,5) .GT. 0.0) .OR. (FLAG(I,6) .GT. 0)) COHINC=1.
      IF(OUTPUT+COHINC .GT. 1.0)   GO TO 3400
      FLAG1=-1.0
      WRITE(LUPRT,760) ALPHA1(I)
      IF(OUTPUT .LT. 1.0)   WRITE(LUPRT,780)
      IF(COHINC .LT. 1.0)   WRITE(LUPRT,800)
 3400 CONTINUE
      RETURN 1
 4600 CONTINUE
      WRITE(LUPRT,460) OPTION, SUBOPT
      PRINT 460, OPTION, SUBOPT
      RETURN
      END