hdiff output

r31744/getallpaths.f 2017-01-21 10:37:06.950250000 +0000 r31743/getallpaths.f 2017-01-21 10:37:07.502250000 +0000
306:          ENDIF306:          ENDIF
307:          DO J2=1,NTS307:          DO J2=1,NTS
308:             DISTANCE=1.0D100308:             DISTANCE=1.0D100
309:             IF (ABS(NEWETS-ETS(J2)).LT.EDIFFTOL) THEN309:             IF (ABS(NEWETS-ETS(J2)).LT.EDIFFTOL) THEN
310:                READ(UTS,REC=J2) (LOCALPOINTS2(J3),J3=1,NVARS)310:                READ(UTS,REC=J2) (LOCALPOINTS2(J3),J3=1,NVARS)
311:                CALL MINPERMDIST(LOCALPOINTS,LOCALPOINTS2,NATOMS,DEBUG,BOXLX,BOXLY,BOXLZ,BULKT,TWOD,DISTANCE,DIST2,RIGIDBODY, 311:                CALL MINPERMDIST(LOCALPOINTS,LOCALPOINTS2,NATOMS,DEBUG,BOXLX,BOXLY,BOXLZ,BULKT,TWOD,DISTANCE,DIST2,RIGIDBODY, 
312:      &                          RMAT,.FALSE.)312:      &                          RMAT,.FALSE.)
313:             ENDIF313:             ENDIF
314: !           PRINT '(A,I8,5G20.10)','J2,NEWETS,ETS(J2),diff,tol,DISTANCE=',J2,NEWETS,ETS(J2),ABS(NEWETS-ETS(J2)),EDIFFTOL,DISTANCE314: !           PRINT '(A,I8,5G20.10)','J2,NEWETS,ETS(J2),diff,tol,DISTANCE=',J2,NEWETS,ETS(J2),ABS(NEWETS-ETS(J2)),EDIFFTOL,DISTANCE
315:             IF ((ABS(NEWETS-ETS(J2)).LT.EDIFFTOL).AND.(DISTANCE.LT.GEOMDIFFTOL)) THEN315:             IF ((ABS(NEWETS-ETS(J2)).LT.EDIFFTOL).AND.(DISTANCE.LT.GEOMDIFFTOL)) THEN
316:                IF (DEBUG) PRINT '(2(A,I6))','getallpaths> path ts ',J1,' energy matches database ts ',J2316:                IF (DEBUG) PRINT '(2(A,I6))','getallpaths> path ts ',J1,' is database ts ',J2
317:                IF (ABS(NEWFVIBTS-FVIBTS(J2))/FVIBTS(J2).GT.1.0D-3) THEN317:                IF (ABS(NEWFVIBTS-FVIBTS(J2))/FVIBTS(J2).GT.1.0D-3) THEN
318:                   WRITE(*,'(A,F15.5,A,F15.5)') 'getallpaths> WARNING, NEWFVIBTS=',NEWFVIBTS,' should be ',FVIBTS(J2)318:                   WRITE(*,'(A,F15.5,A,F15.5)') 'getallpaths> WARNING, NEWFVIBTS=',NEWFVIBTS,' should be ',FVIBTS(J2)
319:                ENDIF319:                ENDIF
320:                IF (NEWHORDERTS.NE.HORDERTS(J2)) THEN320:                IF (NEWHORDERTS.NE.HORDERTS(J2)) THEN
321:                   WRITE(*,'(A,I6,A,I6)') 'getallpaths> ERROR, NEWHORDERTS=',NEWHORDERTS,' should be ',HORDERTS(J2)321:                   WRITE(*,'(A,I6,A,I6)') 'getallpaths> ERROR, NEWHORDERTS=',NEWHORDERTS,' should be ',HORDERTS(J2)
322:                   NEWHORDERTS=MAX(NEWHORDERTS,HORDERTS(J2))322:                   NEWHORDERTS=MAX(NEWHORDERTS,HORDERTS(J2))
323:                   WRITE(*,'(A,I6)') 'getallpaths> using maximum value: ',NEWHORDERTS323:                   WRITE(*,'(A,I6)') 'getallpaths> using maximum value: ',NEWHORDERTS
324:                ENDIF324:                ENDIF
325:                TSISOLD=.TRUE.325:                TSISOLD=.TRUE.
326:                TSNUMBER=J2326:                TSNUMBER=J2
455: C455: C
456:          WRITE(UMIN,REC=NMIN) (NEWPOINTSMIN(J2),J2=1,NVARS)456:          WRITE(UMIN,REC=NMIN) (NEWPOINTSMIN(J2),J2=1,NVARS)
457: !        PRINT *,'getallpaths>  calling flush for UMIN'457: !        PRINT *,'getallpaths>  calling flush for UMIN'
458:          CALL FLUSH(UMIN)458:          CALL FLUSH(UMIN)
459: 459: 
460: 140      CONTINUE460: 140      CONTINUE
461: C461: C
462: C  Now we know the id of the MINUS minimum we can finish the bookkeeping for this ts.462: C  Now we know the id of the MINUS minimum we can finish the bookkeeping for this ts.
463: C463: C
464:          IF (TSISOLD) THEN464:          IF (TSISOLD) THEN
465:             IF (ALLTST) THEN ! need to check all the ts, as there could be more than one entry already465:             IF (TSNUMBER.GT.0) THEN
466:                LOCALPOINTS(1:NVARS)=NEWPOINTSTS(1:NVARS) 
467:                DO J2=1,NTS 
468:                   DISTANCE=1.0D100 
469:                   IF (ABS(NEWETS-ETS(J2)).LT.EDIFFTOL) THEN 
470:                      READ(UTS,REC=J2) (LOCALPOINTS2(J3),J3=1,NVARS) 
471:                      CALL MINPERMDIST(LOCALPOINTS,LOCALPOINTS2,NATOMS,DEBUG,BOXLX,BOXLY,BOXLZ,BULKT,TWOD,DISTANCE,DIST2,RIGIDBODY, 
472:      &                          RMAT,.FALSE.) 
473:                   ENDIF 
474: !           PRINT '(A,I8,5G20.10)','J2,NEWETS,ETS(J2),diff,tol,DISTANCE=',J2,NEWETS,ETS(J2),ABS(NEWETS-ETS(J2)),EDIFFTOL,DISTANCE 
475:                   IF ((ABS(NEWETS-ETS(J2)).LT.EDIFFTOL).AND.(DISTANCE.LT.GEOMDIFFTOL)) THEN 
476:                      IF (DEBUG) PRINT '(2(A,I6))','getallpaths> path ts ',J1,' energy matches database ts ',J2 
477:                      IF (ABS(NEWFVIBTS-FVIBTS(J2))/FVIBTS(J2).GT.1.0D-3) THEN 
478:                         WRITE(*,'(A,F15.5,A,F15.5)') 'getallpaths> WARNING, NEWFVIBTS=',NEWFVIBTS,' should be ',FVIBTS(J2) 
479:                      ENDIF 
480:                      IF (NEWHORDERTS.NE.HORDERTS(J2)) THEN 
481:                         WRITE(*,'(A,I6,A,I6)') 'getallpaths> ERROR, NEWHORDERTS=',NEWHORDERTS,' should be ',HORDERTS(J2) 
482:                         NEWHORDERTS=MAX(NEWHORDERTS,HORDERTS(J2)) 
483:                         WRITE(*,'(A,I6)') 'getallpaths> using maximum value: ',NEWHORDERTS 
484:                      ENDIF 
485:                      TSNUMBER=J2 
486:                      IF (ABS(EPLUS-EMIN(PLUS(TSNUMBER))).LT.EDIFFTOL) THEN 
487:                         IF (ABS(NEWEMIN-EMIN(MINUS(TSNUMBER))).LT.EDIFFTOL) THEN 
488:                            CALL INERTIAWRAPPER(NEWPOINTSMINPLUS,NOPT,angleAxis,IXPLUS,IYPLUS,IZPLUS) 
489:                            CALL INERTIAWRAPPER(NEWPOINTSMIN,NOPT,angleAxis,IXMINUS,IYMINUS,IZMINUS) 
490:                            IF (DEBUG) THEN 
491:                               PRINT '(A)','getallpaths> assigning + to + and - to -, energies are:' 
492:                               PRINT '(A,2G25.15)','getallpaths> new: ',EPLUS,NEWEMIN 
493:                               PRINT '(A,2G25.15)','getallpaths> old: ',EMIN(PLUS(TSNUMBER)),EMIN(MINUS(TSNUMBER)) 
494:                            ENDIF 
495:                            FAILED=.TRUE. 
496:                            IF (DEBUG) WRITE(*,'(A)') 'getallpaths> not recounting this ts for different connections' 
497:                            WRITE(*,'(A)') 'getallpaths> not recounting this ts for different connections' 
498:                            GOTO 753 
499:                         ENDIF 
500:                      ELSEIF (ABS(EPLUS-EMIN(MINUS(TSNUMBER))).LT.EDIFFTOL) THEN 
501:                         IF (ABS(NEWEMIN-EMIN(PLUS(TSNUMBER))).LT.EDIFFTOL) THEN 
502:                            CALL INERTIAWRAPPER(NEWPOINTSMIN,NOPT,angleAxis,IXPLUS,IYPLUS,IZPLUS) 
503:                            CALL INERTIAWRAPPER(NEWPOINTSMINPLUS,NOPT,angleAxis,IXMINUS,IYMINUS,IZMINUS) 
504:                            IF (DEBUG) THEN 
505:                               PRINT '(A)','getallpaths> assigning + to - and - to +, energies are:' 
506:                               PRINT '(A,2G25.15)','getallpaths> new: ',EPLUS,NEWEMIN 
507:                               PRINT '(A,2G25.15)','getallpaths> old: ',EMIN(MINUS(TSNUMBER)),EMIN(PLUS(TSNUMBER)) 
508:                            ENDIF 
509:                            FAILED=.TRUE. 
510:                            IF (DEBUG) WRITE(*,'(A)') 'getallpaths> not recounting this ts for different connections' 
511:                            WRITE(*,'(A)') 'getallpaths> not recounting this ts for different connections' 
512:                            GOTO 753 
513:                         ENDIF 
514:                      ENDIF 
515:                 PRINT '(A,I6,A,G20.10)','getallpaths> failed consistency check for old ts ',TSNUMBER,' energy=',ETS(TSNUMBER) 
516:                 PRINT '(A,2G20.10,A,I8,A,2G20.10)','getallpaths> +/- energies=',EPLUS,NEWEMIN 
517:                 PRINT '(A,I8,A,2G25.15)','getallpaths>  ts ',TSNUMBER,' minima are: ',EMIN(PLUS(TSNUMBER)),EMIN(MINUS(TSNUMBER)) 
518:                   ENDIF 
519:                ENDDO 
520:                PRINT '(A,I6,A,G20.10)','getallpaths> failed consistency check for all old ts ' 
521:                TSISOLD=.FALSE. 
522:                NTS=NTS+1 
523:                IF (NTS.GT.MAXTS) CALL TSDOUBLE 
524:                NEWTS=NTS 
525:                ETS(NTS)=NEWETS 
526:                FVIBTS(NTS)=NEWFVIBTS 
527:                HORDERTS(NTS)=NEWHORDERTS 
528:                IXTS(NTS)=NEWIXTS 
529:                IYTS(NTS)=NEWIYTS 
530:                IZTS(NTS)=NEWIZTS 
531:                NEGEIG(NTS)=NEWNEGEIG 
532:                IF (DIJKSTRAT .OR. KSHORTESTPATHST) TSATTEMPT(NTS)=0 
533: !              IF (DEBUG) THEN 
534:                   WRITE(*,'(A,I6,A)') 'getallpaths> new intermediate ts recounted for different connections ',NTS 
535: !              ENDIF 
536:                PLUS(NTS)=PLUSMIN 
537:                WRITE(UTS,REC=NTS) (NEWPOINTSTS(J2),J2=1,NVARS) 
538:                CALL FLUSH(UTS) 
539:                GOTO 140 
540: 753            CONTINUE 
541:             ELSE IF (TSNUMBER.GT.0) THEN 
542:                FAILED=.FALSE.466:                FAILED=.FALSE.
543: C467: C
544: C  Consistency check for minima.468: C  Consistency check for minima.
545: C469: C
546:                IF (ABS(EPLUS-EMIN(PLUS(TSNUMBER))).LT.EDIFFTOL) THEN470:                IF (ABS(EPLUS-EMIN(PLUS(TSNUMBER))).LT.EDIFFTOL) THEN
547:                   IF (ABS(NEWEMIN-EMIN(MINUS(TSNUMBER))).LT.EDIFFTOL) THEN471:                   IF (ABS(NEWEMIN-EMIN(MINUS(TSNUMBER))).LT.EDIFFTOL) THEN
548:                      CALL INERTIAWRAPPER(NEWPOINTSMINPLUS,NOPT,angleAxis,IXPLUS,IYPLUS,IZPLUS)472:                      CALL INERTIAWRAPPER(NEWPOINTSMINPLUS,NOPT,angleAxis,IXPLUS,IYPLUS,IZPLUS)
549:                      CALL INERTIAWRAPPER(NEWPOINTSMIN,NOPT,angleAxis,IXMINUS,IYMINUS,IZMINUS)473:                      CALL INERTIAWRAPPER(NEWPOINTSMIN,NOPT,angleAxis,IXMINUS,IYMINUS,IZMINUS)
550:                      IF (DEBUG) THEN474:                      IF (DEBUG) THEN
551:                         PRINT '(A)','getallpaths> assigning + to + and - to -, energies are:'475:                         PRINT '(A)','getallpaths> assigning + to + and - to -, energies are:'
681:                     PRINT '(A,2G20.10)','getallpaths> WARNING failed consistency check for inertia: -y',605:                     PRINT '(A,2G20.10)','getallpaths> WARNING failed consistency check for inertia: -y',
682:      &                                    IYMINUS,IYMIN(MINUS(TSNUMBER))606:      &                                    IYMINUS,IYMIN(MINUS(TSNUMBER))
683:                   ENDIF607:                   ENDIF
684:                   IF (ABS(IZMINUS-IZMIN(MINUS(TSNUMBER))).GT.IDIFFTOL) THEN608:                   IF (ABS(IZMINUS-IZMIN(MINUS(TSNUMBER))).GT.IDIFFTOL) THEN
685:                     PRINT '(A,2G20.10)','getallpaths> WARNING failed consistency check for inertia: -z',609:                     PRINT '(A,2G20.10)','getallpaths> WARNING failed consistency check for inertia: -z',
686:      &                                    IZMINUS,IZMIN(MINUS(TSNUMBER))610:      &                                    IZMINUS,IZMIN(MINUS(TSNUMBER))
687:                   ENDIF611:                   ENDIF
688:                ENDIF612:                ENDIF
689:             ENDIF613:             ENDIF
690: C614: C
691: C  Old ts might link new minima. This is inconsistent and is ignored unless ALLTST is true.615: C  Old ts might link new minima. This is inconsistent and is ignored.
692: C  Any new minima are not written to min.data, so we should reset to the saved NMIN value,616: C  Any new minima are not written to min.data, so we should reset to the saved NMIN value,
693: C  just to be safe.617: C  just to be safe.
694: C618: C
695: C  For small systems we see lines of control characters occasionally written to619: C  For small systems we see lines of control characters occasionally written to
696: C  min.data and ts.data. Probably due to a linux nfs problem. 620: C  min.data and ts.data. Probably due to a linux nfs problem. 
697: C  Addressed this issue by closing and opening files.621: C  Try slowing down the writes somehow? 
698: C622: C
699:             NMIN=NMINSAVE623:             NMIN=NMINSAVE
700:          ELSE IF (.NOT.BADTRIPLE) THEN624:          ELSE IF (.NOT.BADTRIPLE) THEN
701:             MINUS(NTS)=NEWMIN625:             MINUS(NTS)=NEWMIN
702:             IF (CLOSEFILEST) OPEN(UNIT=UTSDATA,FILE='ts.data',STATUS='OLD',POSITION='APPEND')626:             IF (CLOSEFILEST) OPEN(UNIT=UTSDATA,FILE='ts.data',STATUS='OLD',POSITION='APPEND')
703:             IF (IMFRQT) THEN627:             IF (IMFRQT) THEN
704:                WRITE(UTSDATA,'(2F25.15,3I10,4F20.10)') ETS(NTS),FVIBTS(NTS),HORDERTS(NTS),PLUS(NTS),MINUS(NTS),628:                WRITE(UTSDATA,'(2F25.15,3I10,4F20.10)') ETS(NTS),FVIBTS(NTS),HORDERTS(NTS),PLUS(NTS),MINUS(NTS),
705:      &                                          IXTS(NTS),IYTS(NTS),IZTS(NTS),NEGEIG(NTS)629:      &                                          IXTS(NTS),IYTS(NTS),IZTS(NTS),NEGEIG(NTS)
706:             ELSE630:             ELSE
707:                WRITE(UTSDATA,'(2F25.15,3I10,3F20.10)') ETS(NTS),FVIBTS(NTS),HORDERTS(NTS),PLUS(NTS),MINUS(NTS),631:                WRITE(UTSDATA,'(2F25.15,3I10,3F20.10)') ETS(NTS),FVIBTS(NTS),HORDERTS(NTS),PLUS(NTS),MINUS(NTS),


r31744/mergedb.f90 2017-01-21 10:37:07.226250000 +0000 r31743/mergedb.f90 2017-01-21 10:37:07.766250000 +0000
 35: IMPLICIT NONE 35: IMPLICIT NONE
 36:  36: 
 37: INTEGER J1, J2, ISTAT, NMINOLD, NTSOLD, NMINDB, NDUMMY, J3, LUNIT, J4, LPLUNIT, LPDUNIT, PLUNIT, PDUNIT 37: INTEGER J1, J2, ISTAT, NMINOLD, NTSOLD, NMINDB, NDUMMY, J3, LUNIT, J4, LPLUNIT, LPDUNIT, PLUNIT, PDUNIT
 38: DOUBLE PRECISION LOCALPOINTS(NOPT), NEWEMIN, NEWETS 38: DOUBLE PRECISION LOCALPOINTS(NOPT), NEWEMIN, NEWETS
 39: DOUBLE PRECISION NEWFVIBMIN, NEWFVIBTS, NEWPOINTSMIN(NOPT), NEWNEGEIG, LPLUS(NOPT), LMINUS(NOPT), & 39: DOUBLE PRECISION NEWFVIBMIN, NEWFVIBTS, NEWPOINTSMIN(NOPT), NEWNEGEIG, LPLUS(NOPT), LMINUS(NOPT), &
 40:   &  NEWPOINTSTS(NOPT), NEWIXMIN,  NEWIYMIN, NEWIZMIN, LPAIRDIST(PAIRDISTMAX), & 40:   &  NEWPOINTSTS(NOPT), NEWIXMIN,  NEWIYMIN, NEWIZMIN, LPAIRDIST(PAIRDISTMAX), &
 41:   &  NEWIXTS,  NEWIYTS, NEWIZTS, DISTANCE, DIST2, LOCALPOINTS2(NOPT), RMAT(3,3) 41:   &  NEWIXTS,  NEWIYTS, NEWIZTS, DISTANCE, DIST2, LOCALPOINTS2(NOPT), RMAT(3,3)
 42: INTEGER NEWHORDERMIN, NEWHORDERTS, NEWMIN, NEWTS, INDEX, LPAIRLIST(PAIRDISTMAX) 42: INTEGER NEWHORDERMIN, NEWHORDERTS, NEWMIN, NEWTS, INDEX, LPAIRLIST(PAIRDISTMAX)
 43: INTEGER, ALLOCATABLE :: MINMAP(:), IDUM(:), TSMAP(:), LOCATIONDB(:) 43: INTEGER, ALLOCATABLE :: MINMAP(:), IDUM(:), TSMAP(:), LOCATIONDB(:)
 44: CHARACTER(LEN=130) FNAME, PDFILE, PLFILE, LPDFILE, LPLFILE 44: CHARACTER(LEN=130) FNAME, PDFILE, PLFILE, LPDFILE, LPLFILE
 45: LOGICAL YESNO, NEWMINT 45: LOGICAL YESNO
 46: INTEGER MINDB, TSDB 46: INTEGER MINDB, TSDB
 47: INTEGER :: NMINDBMAX=10 47: INTEGER :: NMINDBMAX=10
 48: INTEGER :: NTSDBMAX=10 48: INTEGER :: NTSDBMAX=10
 49: LOGICAL I_OPENED 49: LOGICAL I_OPENED
 50: CHARACTER(LEN=80) I_NAME, I_ACTION 50: CHARACTER(LEN=80) I_NAME, I_ACTION
 51:  51: 
 52: ! 52: !
 53: ! First check for new minima in <pathname>/min.data and <pathname>/points.min 53: ! First check for new minima in <pathname>/min.data and <pathname>/points.min
 54: ! 54: !
 55: NMINOLD=NMIN 55: NMINOLD=NMIN
296: !296: !
297: !  DO J2=1,NTS297: !  DO J2=1,NTS
298:    DO J2=1,NTS+NEWTS298:    DO J2=1,NTS+NEWTS
299:       IF (ABS(NEWETS-ETS(J2)).LT.EDIFFTOL) THEN299:       IF (ABS(NEWETS-ETS(J2)).LT.EDIFFTOL) THEN
300:          DISTANCE=1.0D100300:          DISTANCE=1.0D100
301:          READ(UTS,REC=J2) (LOCALPOINTS2(J3),J3=1,NOPT)301:          READ(UTS,REC=J2) (LOCALPOINTS2(J3),J3=1,NOPT)
302:          CALL MINPERMDIST(LOCALPOINTS,LOCALPOINTS2,NATOMS,DEBUG,BOXLX,BOXLY,BOXLZ,BULKT,TWOD,DISTANCE,DIST2,RIGIDBODY, &302:          CALL MINPERMDIST(LOCALPOINTS,LOCALPOINTS2,NATOMS,DEBUG,BOXLX,BOXLY,BOXLZ,BULKT,TWOD,DISTANCE,DIST2,RIGIDBODY, &
303:   &                       RMAT,.FALSE.)303:   &                       RMAT,.FALSE.)
304:          IF (DISTANCE.LT.GEOMDIFFTOL) THEN304:          IF (DISTANCE.LT.GEOMDIFFTOL) THEN
305: 305: 
306:             IF (DEBUG) PRINT '(2(A,I10),A,2G20.10)','mergedb> ts ',TSDB,' is database ts ',J2,' energies: ',NEWETS,ETS(J2)306:             IF (DEBUG) PRINT '(2(A,I10))','mergedb> ts ',TSDB,' is database ts ',J2
307:             IF (ABS(NEWFVIBTS-FVIBTS(J2))/FVIBTS(J2).GT.1.0D-3) THEN307:             IF (ABS(NEWFVIBTS-FVIBTS(J2))/FVIBTS(J2).GT.1.0D-3) THEN
308:                WRITE(*,'(A,F15.5,A,F15.5)') 'mergedb> WARNING, NEWFVIBTS=',NEWFVIBTS,' should be ',FVIBTS(J2)308:                WRITE(*,'(A,F15.5,A,F15.5)') 'mergedb> WARNING, NEWFVIBTS=',NEWFVIBTS,' should be ',FVIBTS(J2)
309:             ENDIF309:             ENDIF
310:             IF (NEWHORDERTS.NE.HORDERTS(J2)) THEN310:             IF (NEWHORDERTS.NE.HORDERTS(J2)) THEN
311:             WRITE(*,'(A,I6,A,I6)') 'mergedb> ERROR, NEWHORDERTS=',NEWHORDERTS,' should be ',HORDERTS(J2)311:             WRITE(*,'(A,I6,A,I6)') 'mergedb> ERROR, NEWHORDERTS=',NEWHORDERTS,' should be ',HORDERTS(J2)
312:                   NEWHORDERTS=HORDERTS(J2)312:                   NEWHORDERTS=HORDERTS(J2)
313:                WRITE(*,'(A,I6)') 'mergedb> using existing value: ',HORDERTS(J2)313:                WRITE(*,'(A,I6)') 'mergedb> using existing value: ',HORDERTS(J2)
314:             ENDIF314:             ENDIF
315: !315: !
316: !  Check end minima are consistent as well.316: !  Check end minima are consistent as well.
317: !317: !
318:             NEWMINT=.FALSE. 
319:             IF (.NOT.(((MINMAP(PLUS(INDEX)).EQ.PLUS(J2)).AND.(MINMAP(MINUS(INDEX)).EQ.MINUS(J2))).OR. &318:             IF (.NOT.(((MINMAP(PLUS(INDEX)).EQ.PLUS(J2)).AND.(MINMAP(MINUS(INDEX)).EQ.MINUS(J2))).OR. &
320:   &                   ((MINMAP(PLUS(INDEX)).EQ.MINUS(J2)).AND.(MINMAP(MINUS(INDEX)).EQ.PLUS(J2)))) ) THEN319:   &                   ((MINMAP(PLUS(INDEX)).EQ.MINUS(J2)).AND.(MINMAP(MINUS(INDEX)).EQ.PLUS(J2)))) ) THEN
321:                PRINT '(A,I10)', 'mergedb> Inconsistent minima for old transition state ',J2320:                PRINT '(A,I10)', 'mergedb> Inconsistent minima for old transition state ',J2
322:                PRINT '(A,2I10)','mergedb> Previous minima: ',PLUS(J2),MINUS(J2)321:                PRINT '(A,2I10)','mergedb> Previous minima: ',PLUS(J2),MINUS(J2)
323:                PRINT '(A,2I10)','mergedb> Minima for database '//TRIM(ADJUSTL(PATHNAME))//'/ts.data: ', &322:                PRINT '(A,2I10)','mergedb> Minima for database '//TRIM(ADJUSTL(PATHNAME))//'/ts.data: ', &
324:   &                             MINMAP(PLUS(INDEX)),MINMAP(MINUS(INDEX))323:   &                             MINMAP(PLUS(INDEX)),MINMAP(MINUS(INDEX))
325:                NEWMINT=.TRUE. 
326:             ENDIF324:             ENDIF
327:             IF ((.NOT.ALLTST).OR.(.NOT.NEWMINT)) THEN325: !           IF (.NOT.ALLTST) THEN
328:                TSMAP(TSDB)=J2326:                TSMAP(TSDB)=J2
329:                NDUMMY=NDUMMY+1327:                NDUMMY=NDUMMY+1
330:                PRINT '(A)', 'mergedb> Not recounting this transition state' 
331:                GOTO 140328:                GOTO 140
332:             ELSE329: !           ELSE
333:                PRINT '(A)', 'mergedb> ALLTS set - treating this as a new transition state'330: !              PRINT '(A)', 'mergedb> Treating this as a new transition state'
334:             ENDIF331: !           ENDIF
335:          ENDIF332:          ENDIF
336:       ENDIF333:       ENDIF
337:    ENDDO334:    ENDDO
338: !335: !
339: !  If we reach this point we have a new ts336: !  If we reach this point we have a new ts
340: !337: !
341:    NEWTS=NEWTS+1338:    NEWTS=NEWTS+1
342:    TSMAP(TSDB)=NTS+NEWTS339:    TSMAP(TSDB)=NTS+NEWTS
343:    IF (DEBUG) PRINT '(A,I10,A,I10)','mergedb> new ts number ',NTS+NEWTS,' number of new ts=',NEWTS340:    IF (DEBUG) PRINT '(A,I10,A,I10)','mergedb> new ts number ',NTS+NEWTS,' number of new ts=',NEWTS
344:    IF (DEBUG) WRITE(*,'(A,I10,A)') 'mergedb> new ts ',NEWTS,' writing parameters to file ts.data and points to points.ts'341:    IF (DEBUG) WRITE(*,'(A,I10,A)') 'mergedb> new ts ',NEWTS,' writing parameters to file ts.data and points to points.ts'


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0