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