1      SUBROUTINE REFER
2      IMPLICIT DOUBLE PRECISION (A-H,O-Z)
3      INCLUDE 'SIZES'
4      COMMON
5     1       /REFS/ ALLREF(107,4)
6     2       /MOLKST/ NUMAT,NAT(NUMATM),NFIRST(NUMATM),NMIDLE(NUMATM),
7     3                NLAST(NUMATM), NORBS, NELECS,NALPHA,NBETA,
8     4                NCLOSE,NOPEN,NDUMY,FRACT
9     5       /KEYWRD/ KEYWRD
10      LOGICAL ALLOK, ELEMNS(107), MIXOK, MIX
11      SAVE MIX
12      CHARACTER KEYWRD*241, ALLREF*80
13      DATA MIX/.FALSE./
14      MIXOK=(INDEX(KEYWRD,'PARASOK').NE.0)
15      DO 10 I=1,102
16   10 ELEMNS(I)=.FALSE.
17      IF(INDEX(KEYWRD,'PM3').NE.0)THEN
18         MODE=4
19      ELSEIF(INDEX(KEYWRD,'AM1').NE.0)THEN
20         MODE=3
21      ELSEIF(INDEX(KEYWRD,'MINDO').NE.0)THEN
22         MODE=2
23      ELSE
24         MODE=1
25      ENDIF
26      ALLREF(99,MODE)=' DUMMY ATOMS ARE USED; THESE DO NOT AFFECT '
27     1//'THE CALCULATION'
28      ALLREF(100,MODE)=' '
29      DO 20 I=1,NUMAT
30         J=NAT(I)
31   20 ELEMNS(J)=.TRUE.
32      ALLOK=.TRUE.
33      DO 30 I=1,102
34         IF(ELEMNS(I))THEN
35            IF(I.LT.99.AND..NOT.MIX.AND.MODE.EQ.3)
36     1MIX=(INDEX(ALLREF(I,3),'MNDO').NE.0)
37            IF(ALLREF(I,MODE)(1:1).NE.' ')THEN
38               WRITE(6,'(A,I3)')' DATA ARE NOT AVAILABLE FOR ELEMENT NO.
39     1',I
40               ALLOK=.FALSE.
41            ELSE
42               WRITE(6,'(A)')ALLREF(I,MODE)
43            ENDIF
44         ENDIF
45   30 CONTINUE
46      IF(MIX.AND..NOT.MIXOK)THEN
47         WRITE(6,40)
48     1  'SOME ELEMENTS HAVE BEEN SPECIFIED FOR WHICH ONLY MNDO',
49     2  'PARAMETERS ARE AVAILABLE.  SUCH MIXTURES OF METHODS ARE',
50     3  'VERY RISKY AND HAVE NOT BEEN FULLY TESTED.  IF YOU FEEL',
51     4  'THE RISK IS WORTH WHILE - CHECK THE MANUAL FIRST - THEN',
52     5  'SPECIFY "PARASOK" IN THE KEYWORDS'
53         STOP
54      ENDIF
55      IF(ALLOK)RETURN
56      WRITE(6,40)
57     1 'SOME ELEMENTS HAVE BEEN SPECIFIED FOR WHICH',
58     2 'NO PARAMETERS ARE AVAILABLE.  CALCULATION STOPPED.'
59      STOP
60   40 FORMAT(/////10X,A,4(/10X,A))
61      END
62