1      SUBROUTINE SWITCH(LG,LXGL,LXGU,XAG,XG,NXG)
2C
3C     ----THIS SUBROUTINE SETS SWITCHES FOR THE INTERPOLATION-
4C     ----EXTRAPOLATION SUBROUTINES
5C
6      DIMENSION XG(1)
7      LOGICAL LG(7)
8      DO 1000 I=1,7
9         LG(I)=.FALSE.
10 1000 CONTINUE
11      LG(6)=.TRUE.
12      IF(XG(1).GT.XG(NXG))LG(6)=.FALSE.
13C
14C     ----TEST TO DETERMINE IF EXTRAPOLATION IS REQUIRED.
15C
16      IF(LG(6))GO TO 1010
17C
18C     ----HERE FOR DESCENDING XG TABLE
19C
20      IF(XAG.GT.XG(1))LG(3)=.TRUE.
21      IF(XAG.LT.XG(NXG))LG(2)=.TRUE.
22      GO TO 1020
23C
24C     ----HERE FOR ASCENDING XG TABLE
25C
26 1010 IF(XAG.GT.XG(NXG))LG(2)=.TRUE.
27      IF(XAG.LT.XG(1))LG(3)=.TRUE.
28 1020 IF(LG(2))GO TO 1030
29      IF(.NOT.LG(3))GO TO 1050
30      IF(LXGL.GE.0)LG(4)=.TRUE.
31      IF(LXGL.LE.0)GO TO 1050
32      GO TO 1040
33 1030 IF(LXGU.GE.0)LG(4)=.TRUE.
34      IF(LXGU.LE.0)GO TO 1050
35 1040 LG(5)=.TRUE.
36      LG(7)=.TRUE.
37 1050 RETURN
38      END
39