	SUBROUTINE CONTOR (IGP,IXPTR,IYPTR,A,M,N,V,IV,XBOUNDS,YBOUNDS)
	REAL V(IV),  A(M,N),  XBOUNDS(2),  YBOUNDS(2)
	MM=M-1
	NN=N-1
	DELTX=(XBOUNDS(2)-XBOUNDS(1))/FLOAT(MM)
	DELTY=(YBOUNDS(2)-YBOUNDS(1))/FLOAT(NN)
	Y=YBOUNDS(1)
	DO 1 J=1,NN
	X=XBOUNDS(1)
	DO 2 I=1,MM
	V1=A(I,J)
	V2=A(I+1,J)
	V3=A(I,J+1)
	V4=A(I+1,J+1)
	DO 3 K=1,IV
	VAL=V(K)
	IF (VAL.LT.-1.E10) GO TO 3
	ICASE=1
	IF (VAL.GT.V1) ICASE=ICASE+1
	IF (VAL.GT.V2) ICASE=ICASE+2
	IF (VAL.GT.V3) ICASE=ICASE+4
	IF (VAL.GT.V4) ICASE=9-ICASE
	GO TO (3,4,5,6,7,8,9,10),ICASE
4	XX0=X+DELTX*(VAL-V1)/(V2-V1)
	YY0=Y
	XX1=X
	YY1=Y+DELTY*(VAL-V1)/(V3-V1)
	GO TO 11
5	XX0=X+DELTX*(VAL-V1)/(V2-V1)
	YY0=Y
	XX1=X+DELTX
	YY1=Y+DELTY*(VAL-V2)/(V4-V2)
	GO TO 11
6	XX0=X
	YY0=Y+DELTY*(VAL-V1)/(V3-V1)
	XX1=X+DELTX
	YY1=Y+DELTY*(VAL-V2)/(V4-V2)
	GO TO 11
7	XX0=X
	YY0=Y+DELTY*(VAL-V1)/(V3-V1)
	XX1=X+DELTX*(VAL-V3)/(V4-V3)
	YY1=Y+DELTY
	GO TO 11
8	XX0=X+DELTX*(VAL-V1)/(V2-V1)
	YY0=Y
	XX1=X+DELTX*(VAL-V3)/(V4-V3)
	YY1=Y+DELTY
	GO TO 11
9	XX0=X+DELTX*(VAL-V1)/(V2-V1)
	YY0=Y
	XX1=X
	YY1=Y+DELTY*(VAL-V1)/(V3-V1)
	CALL RELOC(IGP,IXPTR,IYPTR,XX0,YY0)
	CALL DRAW(IGP,IXPTR,IYPTR,XX1,YY1)
10	XX0=X+DELTX*(VAL-V3)/(V4-V3)
	YY0=Y+DELTY
	XX1=X+DELTX
	YY1=Y+DELTY*(VAL-V2)/(V4-V2)
11	CALL RELOC(IGP,IXPTR,IYPTR,XX0,YY0)
	CALL DRAW(IGP,IXPTR,IYPTR,XX1,YY1)
3	CONTINUE
	X=X+DELTX
2	CONTINUE
	Y=Y+DELTY
1	CONTINUE
	RETURN
	END
