1 SUBROUTINE FINDVN(NUMVN, LENVN, INAME, VNAME, DVNAME, NVN, FOUND) 2C 3C*** FIND MATCHING VARIABLE NAME 4C 5C*** INPUTS 6C 7C NUMVN - NUMBER OF VARIABLE NAMES TO SEARCH 8C LENVN - ARRAY THAT DEFINES THE LENGTH OF EACH VARIABLE NAME 9C INAME - ARRAY THAT DEFINES THE NAME TO COMPARE 10C VNAME - ARRAY THAT CONTAINS ALL OF THE VARIABLE NAMES 11C DVNAME - DIMENSION OF VNAME ARRAY 12C 13C*** OUTPUTS 14C 15C NVN - NUMBER OF VARIABLE FOR WHICH THERE IS A MATCH 16C FOUND - .TRUE. IF VARIABLE NAME MATCH FOUND 17C 18 INTEGER DVNAME,VNAME,BLANK 19C 20 LOGICAL FOUND 21C 22 DIMENSION LENVN(NUMVN),INAME(80),VNAME(DVNAME) 23C 24 DATA BLANK / 4H / 25C 26 FOUND=.FALSE. 27C 28 INDX=1 29C 30 DO 1020 NVN=1,NUMVN 31C 32 IF(NVN .GT. 1)INDX=INDX+MAXC 33C 34 MAXC=LENVN(NVN) 35C 36 DO 1000 I=1,MAXC 37 IF(INAME(I) .NE. VNAME(I+INDX-1))GO TO 1020 38 1000 CONTINUE 39C 40C ... MAKE SURE REST OF NAME IS BLANK, ELSE NOT RIGHT ONE 41C 42 J=MAXC+1 43 DO 1010 I=J,80 44 IF(INAME(I) .NE. BLANK)GO TO 1020 45 1010 CONTINUE 46C 47 FOUND=.TRUE. 48 GO TO 1030 49C 50 1020 CONTINUE 51C 52 NVN=0 53C 54 1030 CONTINUE 55C 56 RETURN 57 END 58