hdiff output

r29756/commons.f90 2016-07-06 15:39:00.882000452 +0100 r29755/commons.f90 2016-07-06 15:39:02.450021644 +0100
 98:      &        BARRIERSHORT, FREEZE, RATESHORT, DUMMYRUNT, REWEIGHTT, REGROUPFREET, RFMULTIT, REGROUPFREEABT, READMINT, & 98:      &        BARRIERSHORT, FREEZE, RATESHORT, DUMMYRUNT, REWEIGHTT, REGROUPFREET, RFMULTIT, REGROUPFREEABT, READMINT, &
 99:      &        DUMPGROUPST, FREEPAIRT, KSHORTESTPATHST, KSHORT_FULL_PRINTT, DIJINITFLYT, BHINTERPT, ICINTERPT, & 99:      &        DUMPGROUPST, FREEPAIRT, KSHORTESTPATHST, KSHORT_FULL_PRINTT, DIJINITFLYT, BHINTERPT, ICINTERPT, &
100:      &        DUMMYTST, DOCKT, DSTAGE(6), USEPAIRST, LOWESTFRQT, BISECTT, NGTDISCONNECTALL, ANGLEAXIS2, TFOLDT, &100:      &        DUMMYTST, DOCKT, DSTAGE(6), USEPAIRST, LOWESTFRQT, BISECTT, NGTDISCONNECTALL, ANGLEAXIS2, TFOLDT, &
101:      &        SLURMT, INDEXCOSTFUNCTION, CVT, DOST, IMFRQT, CLOSEFILEST, PULLT, FRICTIONT, ATOMMATCHFULL, &101:      &        SLURMT, INDEXCOSTFUNCTION, CVT, DOST, IMFRQT, CLOSEFILEST, PULLT, FRICTIONT, ATOMMATCHFULL, &
102:      &        INTCONSTRAINTT, CHECKCONINT, INTLJT, INTERPCOSTFUNCTION, REMOVEUNCONNECTEDT, ATOMMATCHDIST, &102:      &        INTCONSTRAINTT, CHECKCONINT, INTLJT, INTERPCOSTFUNCTION, REMOVEUNCONNECTEDT, ATOMMATCHDIST, &
103:      &        DBPT, DBPTDT, DMBLPYT, EFIELDT, MSSTOCKT, NTIPT, PAHAT, PAPT, PATCHYDT, STOCKAAT, RBAAT, RBSYMT, TRAPT, SILANET, &103:      &        DBPT, DBPTDT, DMBLPYT, EFIELDT, MSSTOCKT, NTIPT, PAHAT, PAPT, PATCHYDT, STOCKAAT, RBAAT, RBSYMT, TRAPT, SILANET, &
104:      &        OHCELLT, INTFREEZET, LPERMDIST, PBST, RANDOMMETRICT, SSHT, ALLTST, USERPOTT, CHECKMINT, &104:      &        OHCELLT, INTFREEZET, LPERMDIST, PBST, RANDOMMETRICT, SSHT, ALLTST, USERPOTT, CHECKMINT, &
105:      &        CHECKTST, CHECKSPT, FROMLOWESTT, ADDMINXYZT, MACHINE, RATESCYCLET, NOINVERSION, NEWCONNECTIONST, NIMET, NIHEAM7T, &105:      &        CHECKTST, CHECKSPT, FROMLOWESTT, ADDMINXYZT, MACHINE, RATESCYCLET, NOINVERSION, NEWCONNECTIONST, NIMET, NIHEAM7T, &
106:      &        NIH2LEPST, DISTANCET, RATETARGETT, TARGETHIT, ALLOWABT, MICROTHERMT, RFKMCT, REGROUPKMCT, ONEREGROUPT, PHI4MODT, &106:      &        NIH2LEPST, DISTANCET, RATETARGETT, TARGETHIT, ALLOWABT, MICROTHERMT, RFKMCT, REGROUPKMCT, ONEREGROUPT, PHI4MODT, &
107:      &        PERSISTT, REGROUPPERSISTT, NOLABELST, SHANNONT, MAKEPAIRS, SKIPPAIRST, PERSISTAPPROXT, ALLCOMPONENTST, &107:      &        PERSISTT, REGROUPPERSISTT, NOLABELST, SHANNONT, MAKEPAIRS, SKIPPAIRST, PERSISTAPPROXT, ALLCOMPONENTST, &
108:      &        SHANNONRT, SHANNONZT, CUDAT, DIJPRUNET108:      &        SHANNONRT, SHANNONZT, CUDAT
109: 109: 
110:       LOGICAL, ALLOCATABLE :: SHIFTABLE(:)110:       LOGICAL, ALLOCATABLE :: SHIFTABLE(:)
111:       CHARACTER(LEN=80) COORDSLIGANDSTR, COORDSCOMPLEXSTR, COORDSPROTEINSTR111:       CHARACTER(LEN=80) COORDSLIGANDSTR, COORDSCOMPLEXSTR, COORDSPROTEINSTR
112:       CHARACTER(LEN=80) EXEC,EXECGMIN112:       CHARACTER(LEN=80) EXEC,EXECGMIN
113:       CHARACTER(LEN=80) PATHNAME, MINNAME, ADDMINXYZNAME, ALLCOMPS113:       CHARACTER(LEN=80) PATHNAME, MINNAME, ADDMINXYZNAME, ALLCOMPS
114:       CHARACTER(LEN=150) COPYFILES114:       CHARACTER(LEN=150) COPYFILES
115:       CHARACTER(LEN=80) USEPAIRSFILE115:       CHARACTER(LEN=80) USEPAIRSFILE
116:       CHARACTER(LEN=80) MAKEPAIRSFILE116:       CHARACTER(LEN=80) MAKEPAIRSFILE
117:       CHARACTER(LEN=2) DIRECTION117:       CHARACTER(LEN=2) DIRECTION
118:       CHARACTER(LEN=5) UNCONNECTEDS118:       CHARACTER(LEN=5) UNCONNECTEDS


r29756/cycle2.f90 2016-07-06 15:39:01.246005371 +0100 r29755/cycle2.f90 2016-07-06 15:39:02.810026511 +0100
 84: CALL MYSYSTEM(STATUS,DEBUG,'rm -f coords.*[0-9] > /dev/null ') 84: CALL MYSYSTEM(STATUS,DEBUG,'rm -f coords.*[0-9] > /dev/null ')
 85: CALL MYSYSTEM(STATUS,DEBUG,'rm -f path.xyz.*[0-9] > /dev/null ') 85: CALL MYSYSTEM(STATUS,DEBUG,'rm -f path.xyz.*[0-9] > /dev/null ')
 86: CALL MYSYSTEM(STATUS,DEBUG,'rm -f points.final.*[0-9] > /dev/null ') 86: CALL MYSYSTEM(STATUS,DEBUG,'rm -f points.final.*[0-9] > /dev/null ')
 87:  87: 
 88: ! 88: !
 89: ! Calculate initial rates if required. 89: ! Calculate initial rates if required.
 90: ! 90: !
 91: IF (RATESCYCLET) CALL GETRATESCYCLE 91: IF (RATESCYCLET) CALL GETRATESCYCLE
 92:  92: 
 93: ! NUSED is otherwise uninitialised 93: ! NUSED is otherwise uninitialised
 94: NUSED=0 94: NUSED=0 
 95: IF ((NMIN.EQ.2).AND.(DIJINITT.OR.DIJINITFLYT)) THEN ! no point running more than one initial search in this case 95: IF ((NMIN.EQ.2).AND.(DIJINITT.OR.DIJINITFLYT)) THEN ! no point running more than one initial search in this case
 96:    CALL GETDPAIR(NAVAIL,NUSED,MINS(1),MINF(1),SPOINTS,FPOINTS) 96:    CALL GETDPAIR(NAVAIL,NUSED,MINS(1),MINF(1),SPOINTS,FPOINTS)
 97:    CALL CONNECTODATA(1,SPOINTS,FPOINTS) 97:    CALL CONNECTODATA(1,SPOINTS,FPOINTS)
 98:    CALL FLUSH(6) ! the child process may duplicate output without this line! 98:    CALL FLUSH(6) ! the child process may duplicate output without this line!
 99:    CALL FORK_SUBR(PID(1)) ! PID is zero in the child, non-zero in the parent 99:    CALL FORK_SUBR(PID(1)) ! PID is zero in the child, non-zero in the parent
100: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!100: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
101: !  IF (PID(1).NE.0) WRITE(*,'(A,I10)') 'cycle2> forked connect run process id=',PID(1)101: !  IF (PID(1).NE.0) WRITE(*,'(A,I10)') 'cycle2> forked connect run process id=',PID(1)
102: !  PRINT *,'PID(1)=',PID(1)102: !  PRINT *,'PID(1)=',PID(1)
103: !  IF (PID(1).EQ.0) THEN103: !  IF (PID(1).EQ.0) THEN
104: !     WRITE(*,'(A,I8)') 'cycle2> I am the child! PID=',PID(1)104: !     WRITE(*,'(A,I8)') 'cycle2> I am the child! PID=',PID(1)


r29756/Dijinit.f90 2016-07-06 15:39:00.545995909 +0100 r29755/Dijinit.f90 2016-07-06 15:39:02.074016558 +0100
 19:  19: 
 20: !CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 20: !CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 21: ! 21: !
 22: !  Dijkstra connection algorithm for pathsample. 22: !  Dijkstra connection algorithm for pathsample.
 23: ! 23: !
 24: SUBROUTINE DIJINIT(NWORST) 24: SUBROUTINE DIJINIT(NWORST)
 25: USE PORFUNCS 25: USE PORFUNCS
 26: USE COMMONS 26: USE COMMONS
 27: IMPLICIT NONE 27: IMPLICIT NONE
 28:  28: 
 29: INTEGER J1, J2, J4, PARENT(NMIN), JMINW, NPERM, J5, LJ1, LJ2, NWORST, NSTEPS, NMINSTART, NMINEND, J6 29: INTEGER J1, J2, J4, PARENT(NMIN), JMINW, NPERM, J5, LJ1, LJ2, NWORST, NSTEPS, NMINSTART, NMINEND
 30: INTEGER, ALLOCATABLE :: LOCATIONSTART(:), LOCATIONEND(:) 30: INTEGER, ALLOCATABLE :: LOCATIONSTART(:), LOCATIONEND(:)
 31: LOGICAL PERMANENT(NMIN), ISA(NMIN), ISB(NMIN), ISSTART(NMIN), NOTDONE 31: LOGICAL PERMANENT(NMIN), ISA(NMIN), ISB(NMIN), ISSTART(NMIN), NOTDONE
 32: DOUBLE PRECISION MINWEIGHT, DUMMY, TNEW, ELAPSED, PFTOTALSTART, HUGESAVE, THRESH 32: DOUBLE PRECISION MINWEIGHT, DUMMY, TNEW, ELAPSED, PFTOTALSTART, HUGESAVE, THRESH
 33: DOUBLE PRECISION MAXWEIGHT, SCALEFAC, PDMAX, PD 33: DOUBLE PRECISION MAXWEIGHT, SCALEFAC, PDMAX, PD
 34: INTEGER, DIMENSION(:), ALLOCATABLE :: PATHMINS 
 35: ! 34: !
 36: ! KIND=16 is not supported by Portland. If you want extra precision, uncomment the following line 35: ! KIND=16 is not supported by Portland. If you want extra precision, uncomment the following line
 37: ! and use NAG. 36: ! and use NAG.
 38: ! 37: !
 39: ! REAL(KIND=16) :: TMPWEIGHT, WEIGHT(NMIN) 38: ! REAL(KIND=16) :: TMPWEIGHT, WEIGHT(NMIN)
 40: REAL(KIND=8) :: TMPWEIGHT, WEIGHT(NMIN) 39: REAL(KIND=8) :: TMPWEIGHT, WEIGHT(NMIN)
 41:  40: 
 42:  41: 
 43: CALL CPU_TIME(ELAPSED) 42: CALL CPU_TIME(ELAPSED)
 44: DEALLOCATE(DMIN1,DMIN2) 43: DEALLOCATE(DMIN1,DMIN2)
 45: ALLOCATE(DMIN1(10000),DMIN2(10000)) ! surely this will be enough room! 44: ALLOCATE(DMIN1(10000),DMIN2(10000)) ! surely this will be enough room!
 46: IF (DIJPRUNET) ALLOCATE(PATHMINS(10000)) 
 47: ISA(1:NMIN)=.FALSE. 45: ISA(1:NMIN)=.FALSE.
 48: ISB(1:NMIN)=.FALSE. 46: ISB(1:NMIN)=.FALSE.
 49: DO J1=1,NMINA 47: DO J1=1,NMINA
 50:    ISA(LOCATIONA(J1))=.TRUE. 48:    ISA(LOCATIONA(J1))=.TRUE.
 51: ENDDO 49: ENDDO
 52: DO J1=1,NMINB 50: DO J1=1,NMINB
 53:    ISB(LOCATIONB(J1))=.TRUE. 51:    ISB(LOCATIONB(J1))=.TRUE.
 54: ENDDO 52: ENDDO
 55:  53: 
 56: !!!!!!!!!!!!!!!!!!!   Dijkstra calculation    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 54: !!!!!!!!!!!!!!!!!!!   Dijkstra calculation    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
106:    NPERM=1104:    NPERM=1
107:    PARENT(1:NMIN)=0 ! parent is initially undefined105:    PARENT(1:NMIN)=0 ! parent is initially undefined
108:    J4=LJ1106:    J4=LJ1
109: 107: 
110:    dijkstraloop: DO108:    dijkstraloop: DO
111: 109: 
112:       DO J2=1,NMIN110:       DO J2=1,NMIN
113:          IF (J2.EQ.J4) CYCLE111:          IF (J2.EQ.J4) CYCLE
114:          IF (PERMANENT(J2)) CYCLE112:          IF (PERMANENT(J2)) CYCLE
115:          PD=1.0D4*PDMAX113:          PD=1.0D4*PDMAX
116:          IF (.NOT.DIJPRUNET) THEN !for pruning the database all minima count not just the ones not searched yet114:          DO J5=1,NPAIRDONE ! skip
117:             DO J5=1,NPAIRDONE ! skip115:             IF ((PAIR1(J5).EQ.J4).AND.(PAIR2(J5).EQ.J2)) GOTO 973
118:                IF ((PAIR1(J5).EQ.J4).AND.(PAIR2(J5).EQ.J2)) GOTO 973116:             IF ((PAIR1(J5).EQ.J2).AND.(PAIR2(J5).EQ.J4)) GOTO 973
119:                IF ((PAIR1(J5).EQ.J2).AND.(PAIR2(J5).EQ.J4)) GOTO 973117:          ENDDO 
120:             ENDDO 
121:          ENDIF  
122:          DO J5=1,PAIRDISTMAX118:          DO J5=1,PAIRDISTMAX
123:             IF (PAIRLIST(J4,J5).EQ.J2) THEN119:             IF (PAIRLIST(J4,J5).EQ.J2) THEN
124:                PD=PAIRDIST(J4,J5)120:                PD=PAIRDIST(J4,J5)
125:                GOTO 973121:                GOTO 973
126:             ENDIF122:             ENDIF
127:          ENDDO123:          ENDDO
128:          DO J5=1,PAIRDISTMAX124:          DO J5=1,PAIRDISTMAX
129:             IF (PAIRLIST(J2,J5).EQ.J4) THEN125:             IF (PAIRLIST(J2,J5).EQ.J4) THEN
130:                PD=PAIRDIST(J2,J5)126:                PD=PAIRDIST(J2,J5)
131:                GOTO 973127:                GOTO 973
219: ! 215: ! 
220: !  Summarise the best path for any A(B) and any B(A)216: !  Summarise the best path for any A(B) and any B(A)
221: !217: !
222: LJ2=LOCATIONEND(1)218: LJ2=LOCATIONEND(1)
223: LJ1=LOCATIONSTART(1)219: LJ1=LOCATIONSTART(1)
224: J5=LJ2220: J5=LJ2
225: NWORST=0221: NWORST=0
226: NSTEPS=0222: NSTEPS=0
227: PRINT '(A)','Dijinit> Summary of best path based on missing connection metric - note distance scaling is removed'223: PRINT '(A)','Dijinit> Summary of best path based on missing connection metric - note distance scaling is removed'
228: PRINT '(A)','    min1          energy        min2          energy             metric          edge weight            weight'224: PRINT '(A)','    min1          energy        min2          energy             metric          edge weight            weight'
229: IF (DIJPRUNET) OPEN(121,FILE='min.retain',POSITION='APPEND',ACTION='WRITE',STATUS='NEW') 
230: DO 225: DO 
231:    IF (PARENT(J5).EQ.0) THEN226:    IF (PARENT(J5).EQ.0) THEN
232:       PRINT '(A,I6,A)','Dijinit> ERROR - parent for J5=',J5,' is zero'227:       PRINT '(A,I6,A)','Dijinit> ERROR - parent for J5=',J5,' is zero'
233:       PRINT '(A)',     'Dijinit> Suggests all possible pairs have been tried!'228:       PRINT '(A)',     'Dijinit> Suggests all possible pairs have been tried!'
234:       STOP229:       STOP
235:    ENDIF230:    ENDIF
236: !  DUMMY=PAIRDIST(MAX(J5,PARENT(J5))*(MAX(J5,PARENT(J5))-1)/2+MIN(J5,PARENT(J5)))*SCALEFAC231: !  DUMMY=PAIRDIST(MAX(J5,PARENT(J5))*(MAX(J5,PARENT(J5))-1)/2+MIN(J5,PARENT(J5)))*SCALEFAC
237:    DUMMY=1.0D4*PDMAX*SCALEFAC232:    DUMMY=1.0D4*PDMAX*SCALEFAC
238:    DO J2=1,NPAIRDONE ! skip233:    DO J2=1,NPAIRDONE ! skip
239:       IF ((PAIR1(J2).EQ.J5).AND.(PAIR2(J2).EQ.PARENT(J5))) GOTO 864234:       IF ((PAIR1(J2).EQ.J5).AND.(PAIR2(J2).EQ.PARENT(J5))) GOTO 864
286:          ELSE281:          ELSE
287:             TMPWEIGHT=DUMMY**COSTFUNCTIONPOWER282:             TMPWEIGHT=DUMMY**COSTFUNCTIONPOWER
288:          ENDIF283:          ENDIF
289:       ENDIF284:       ENDIF
290:    ELSE285:    ELSE
291:       TMPWEIGHT=DUMMY286:       TMPWEIGHT=DUMMY
292:    ENDIF287:    ENDIF
293:    NSTEPS=NSTEPS+1288:    NSTEPS=NSTEPS+1
294:    289:    
295:    PRINT '(2(I8,G20.10),3G20.10)',J5,EMIN(J5),parent(J5),EMIN(PARENT(J5)),DUMMY/SCALEFAC,TMPWEIGHT,WEIGHT(J5)290:    PRINT '(2(I8,G20.10),3G20.10)',J5,EMIN(J5),parent(J5),EMIN(PARENT(J5)),DUMMY/SCALEFAC,TMPWEIGHT,WEIGHT(J5)
296:    IF (DIJPRUNET) PATHMINS(NSTEPS)=J5 
297:    THRESH=0.0D0291:    THRESH=0.0D0
298:    IF (BHINTERPT) THRESH=BHDISTTHRESH ! for bhinterp runs raise the threshold to BHDISTTHRESH292:    IF (BHINTERPT) THRESH=BHDISTTHRESH ! for bhinterp runs raise the threshold to BHDISTTHRESH
299:    IF (BISECTT) THRESH=BISECTMINDIST ! for bisect runs raise the threshold to BISECTMINDIST293:    IF (BISECTT) THRESH=BISECTMINDIST ! for bisect runs raise the threshold to BISECTMINDIST
300:    IF ((DUMMY/SCALEFAC.GT.THRESH).AND.(TMPWEIGHT.LT.HUGE(1.0D0)/10.0D0)) THEN294:    IF ((DUMMY/SCALEFAC.GT.THRESH).AND.(TMPWEIGHT.LT.HUGE(1.0D0)/10.0D0)) THEN
301:       NWORST=NWORST+1295:       NWORST=NWORST+1
302:       IF (NWORST.GT.10000) THEN296:       IF (NWORST.GT.10000) THEN
303:          PRINT '(A,I8)','ERROR in Dijinit, too many gaps, NWORST=',NWORST297:          PRINT '(A,I8)','ERROR in Dijinit, too many gaps, NWORST=',NWORST
304:          STOP298:          STOP
305:       ENDIF299:       ENDIF
306:       DMIN1(NWORST)=J5300:       DMIN1(NWORST)=J5
325: !            ENDIF319: !            ENDIF
326: !         ENDDO320: !         ENDDO
327: !751      CONTINUE321: !751      CONTINUE
328: !      ENDIF322: !      ENDIF
329:    ENDIF323:    ENDIF
330:    J5=PARENT(J5)324:    J5=PARENT(J5)
331:    IF (J5.EQ.LJ1) EXIT325:    IF (J5.EQ.LJ1) EXIT
332:    IF (J5.EQ.0) EXIT326:    IF (J5.EQ.0) EXIT
333: ENDDO327: ENDDO
334: PRINT '(2(A,I8))','Dijinit> Number of steps=',NSTEPS,' number of missing connections=',NWORST328: PRINT '(2(A,I8))','Dijinit> Number of steps=',NSTEPS,' number of missing connections=',NWORST
335: IF (DIJPRUNET) THEN !write the best path out to min.retain and then terminate 
336:    PATHMINS(NSTEPS+1)=J5 
337:    WRITE(121,'(I8)') NSTEPS+1 
338:    DO J6=1,NSTEPS+1 
339:       WRITE(121,'(I8)') PATHMINS(J6) 
340:    ENDDO 
341:    CLOSE(121) 
342:    PRINT '(A)','Dijprune> Best path written to min.retain' 
343:    STOP 
344: ENDIF 
345: IF (NWORST.EQ.0) THEN329: IF (NWORST.EQ.0) THEN
346:    PRINT '(A)','Dijinit> Connected path found'330:    PRINT '(A)','Dijinit> Connected path found'
347: !  IF (DIJCONT) THEN331: !  IF (DIJCONT) THEN
348: !     DIJINITT=.FALSE.332: !     DIJINITT=.FALSE.
349: !  ELSE333: !  ELSE
350:       STOP334:       STOP
351: !  ENDIF335: !  ENDIF
352: ENDIF336: ENDIF
353: CALL CPU_TIME(TNEW)337: CALL CPU_TIME(TNEW)
354: TDIJKSTRA=TDIJKSTRA+TNEW-ELAPSED338: TDIJKSTRA=TDIJKSTRA+TNEW-ELAPSED


r29756/keywords.f 2016-07-06 15:39:01.674011160 +0100 r29755/keywords.f 2016-07-06 15:39:03.162031269 +0100
168:       DIJKSTRAT=.FALSE.168:       DIJKSTRAT=.FALSE.
169:       DIJKSTRAWAITT=.FALSE.169:       DIJKSTRAWAITT=.FALSE.
170:       DIJPAIRT=.FALSE.170:       DIJPAIRT=.FALSE.
171:       BARRIERSORT=.FALSE.171:       BARRIERSORT=.FALSE.
172:       BARRIERSHORT=.FALSE.172:       BARRIERSHORT=.FALSE.
173:       RATESHORT=.FALSE.173:       RATESHORT=.FALSE.
174:       DIJINITT=.FALSE.174:       DIJINITT=.FALSE.
175:       DIJINITFLYT=.FALSE.175:       DIJINITFLYT=.FALSE.
176:       DIJINITSTARTT=.FALSE.176:       DIJINITSTARTT=.FALSE.
177:       DIJINITCONTT=.FALSE.177:       DIJINITCONTT=.FALSE.
178:       DIJPRUNET=.FALSE. 
179:       PAIRDISTMAX=100178:       PAIRDISTMAX=100
180:       NRANDOMMETRIC=100179:       NRANDOMMETRIC=100
181:       RANDOMMETRICT=.FALSE.180:       RANDOMMETRICT=.FALSE.
182:       PAIRDIST1=0181:       PAIRDIST1=0
183:       PAIRDIST2=0182:       PAIRDIST2=0
184:       TSTHRESH=HUGE(1.0D0)183:       TSTHRESH=HUGE(1.0D0)
185:       MAXBARRIER=HUGE(1.0D0)184:       MAXBARRIER=HUGE(1.0D0)
186:       MAXDOWNBARRIER=HUGE(1.0D0)185:       MAXDOWNBARRIER=HUGE(1.0D0)
187:       MINBARRIER=-HUGE(1.0D0)186:       MINBARRIER=-HUGE(1.0D0)
188:       COSTFUNCTIONPOWER=1187:       COSTFUNCTIONPOWER=1
831: C  DIJINITSTART - this keyword creates new min.A, min.B, points.min, points.ts,830: C  DIJINITSTART - this keyword creates new min.A, min.B, points.min, points.ts,
832: C  min.data and ts.data files, so it is potentially dangerous!831: C  min.data and ts.data files, so it is potentially dangerous!
833: C  DIJINITCONT specifies an initial path run where the above files already exist.832: C  DIJINITCONT specifies an initial path run where the above files already exist.
834: C  In a DIJINITSTART run C  file min.A is created exist with entries 1 1 and file min.B833: C  In a DIJINITSTART run C  file min.A is created exist with entries 1 1 and file min.B
835: C  with entries 1 2. min.data is set up with the two entries for834: C  with entries 1 2. min.data is set up with the two entries for
836: C  these minima. The coordinates are obtained via odata.start and odata.finish and put in records835: C  these minima. The coordinates are obtained via odata.start and odata.finish and put in records
837: C  1 and 2 in the points.min file. 836: C  1 and 2 in the points.min file. 
838: C  PAIRDISTMAX is the number of nearest neighbours to save in PAIRLIST judged by837: C  PAIRDISTMAX is the number of nearest neighbours to save in PAIRLIST judged by
839: C  the chosen distance or interpolation metric.838: C  the chosen distance or interpolation metric.
840: C839: C
841:       ELSE IF ((WORD.EQ.'DIJINITCONT').OR.(WORD.EQ.'DIJPRUNE')) THEN840:       ELSE IF (WORD.EQ.'DIJINITCONT') THEN
842:          IF (WORD.EQ.'DIJPRUNE') DIJPRUNET=.TRUE. 
843:          IF (NITEMS.GT.1) THEN841:          IF (NITEMS.GT.1) THEN
844:                CALL READU(WW)842:                CALL READU(WW)
845:                IF (TRIM(ADJUSTL(WW))=='INDEX') then843:                IF (TRIM(ADJUSTL(WW))=='INDEX') then
846:                     INDEXCOSTFUNCTION = .TRUE.844:                     INDEXCOSTFUNCTION = .TRUE.
847:                ELSEIF (TRIM(ADJUSTL(WW))=='EXP') then845:                ELSEIF (TRIM(ADJUSTL(WW))=='EXP') then
848:                     EXPCOSTFUNCTION = .TRUE.846:                     EXPCOSTFUNCTION = .TRUE.
849:                ELSE IF (WW(1:1) /= ' ') then847:                ELSE IF (WW(1:1) /= ' ') then
850:                     READ(WW,'(I20)') COSTFUNCTIONPOWER848:                     READ(WW,'(I20)') COSTFUNCTIONPOWER
851:                ENDIF849:                ENDIF
852:          ENDIF850:          ENDIF
922: C  DIJPAIR specifies a Dijkstra analysis to propose the pairs of minima to920: C  DIJPAIR specifies a Dijkstra analysis to propose the pairs of minima to
923: C  try and connect during the database construction.921: C  try and connect during the database construction.
924: C922: C
925:       ELSE IF (WORD.EQ.'DIJPAIR') THEN923:       ELSE IF (WORD.EQ.'DIJPAIR') THEN
926:          CALL READI(MAXATTEMPT)924:          CALL READI(MAXATTEMPT)
927:          IF (NITEMS.GT.2) CALL READI(NCONNMIN)925:          IF (NITEMS.GT.2) CALL READI(NCONNMIN)
928:          IF (NITEMS.GT.3) CALL READA(UNSTRING)926:          IF (NITEMS.GT.3) CALL READA(UNSTRING)
929:          IF (TRIM(ADJUSTL(UNSTRING)).EQ.'BARRIER') BARRIERSORT=.TRUE.927:          IF (TRIM(ADJUSTL(UNSTRING)).EQ.'BARRIER') BARRIERSORT=.TRUE.
930:          DIJPAIRT=.TRUE.928:          DIJPAIRT=.TRUE.
931:          DIJKSTRAT=.TRUE.929:          DIJKSTRAT=.TRUE.
932:  
933: C930: C
934: C  Direction of sampling.931: C  Direction of sampling.
935: C932: C
936:       ELSE IF (WORD.EQ.'DIRECTION') THEN933:       ELSE IF (WORD.EQ.'DIRECTION') THEN
937:          CALL READA(DIRECTION)934:          CALL READA(DIRECTION)
938: C935: C
939: C  Just run an optimised distance calculation for one minimum and some or all of the others.936: C  Just run an optimised distance calculation for one minimum and some or all of the others.
940: C937: C
941:       ELSE IF (WORD.EQ.'DISTANCE') THEN938:       ELSE IF (WORD.EQ.'DISTANCE') THEN
942:          DISTANCET=.TRUE.939:          DISTANCET=.TRUE.


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0