*      SUBROUTINE DIRINP (NCON,INCON,IMODE)7C_TITLE  DIRINP  Prompts for a specific input for XDIR.C_ARGUMENTS3	INTEGER NCON           ! [O] Number of constraints3	INTEGER*2 INCON(3,10)  ! [O] Input constraint list)	INTEGER*4 IMODE        ! [O] Print mode:GC                                               -1 = Only orbit headersOC                                                0 = Orbit and sequence headersOC                                                1 = 0 and sequence geom rangesNC_DESCRIPTION  The subroutine DIRINP prompts for specific input for subroutineC XDIR.(C_CALLS  XRSTR  DECISTR  DECRSTR  CYPHER"C_HISTORY  R.Gurule  USGS  87Aug28C_END,      CHARACTER*7  FMT			!Format for XGVDEF.$      CHARACTER*25 KHON(10), BUFKHON      CHARACTER*6 LABEL,UNIT4      CHARACTER*32 DESC			!Description of constraint(      DIMENSION LEN1(10),CON(10),IDUM(3)"      INCLUDE 'RAD$INC:TAEBAS.INC'!-----Fetch the print mode.3      CALL XRINTG(BLOCK, 'IMODE',1,IMODE,L1,ISTAT) !-----Fetch the constraints.7      CALL XRSTR(BLOCK, 'CON',10,KHON,LEN1,JCON,ISTAT)        NCON = 0                        DO 30 I=1,JCON      @!-----Get rid of all spaces in whatever maybe in the khon array.K!     Perform constraint verification (is everything in the proper format?)?!     Find the last non (blank or tab) in the character string.D!     Place into temporary buffer bufkhon, with no extraneous blanks=!     IKNT is the number of characters in bufkhon (non-blank)      IKNT = 01      LSTR = LASTCH(KHON(I)(1:LEN1(I)),1,len1(i))        DO J = 1, LSTR	   IF(KHON(I)(J:J).NE.' ')THEN	     IKNT = IKNT + 1'	     BUFKHON(IKNT:IKNT) = KHON(I)(J:J)		   ENDIF	ENDDO(!-------Update the length of the string.	LSTR = IKNT*!-----Search for first comma or last comma        	IST = INDEX(BUFKHON,',')4       CALL DECRSTR (BUFKHON(IST+1:LEN1(I)),CON,KNT)4       IF(KNT.NE.2) GOTO 28 			!Go to error section.F       CALL XGVDEF(1,BUFKHON(1:IST-1),ICD,ISS,IPS,LABEL,UNIT,DESC,FMT);!------convert from physical units to integer scaled units.B       IF(IUNIT.EQ.0)THEN	!Then internal ranges are expected to be-         XR = FLOAT(IPS)        !print units."       ELSE			!ELSE storage units.      	 XR = FLOAT(ISS)       ENDIF	                NCON = NCON + 1       INCON(1,NCON) = ICD(       INCON(2,NCON) = IFIX(CON(1) * XR)(       INCON(3,NCON) = IFIX(CON(2) * XR)   30 CONTINUE      RETURN               E!-----Error catching here. First error user did'nt enter max and min.   28 CONTINUE(      WRITE(IOUT,2000)KHON(I)(1:LEN1(I))7 2000 FORMAT(' Incorrect constraint input ',A<LEN1(I)>)      RETURN	      END,                                            