hdiff output

r22720/disconnectionDPS.f90 2016-07-06 15:43:16.609456371 +0100 r22719/disconnectionDPS.f90 2016-07-06 15:43:16.981461389 +0100
440:    INTEGER :: NMINTR=0440:    INTEGER :: NMINTR=0
441:    INTEGER :: CONNECTMIN=0441:    INTEGER :: CONNECTMIN=0
442:    INTEGER :: MINRANGE=10000442:    INTEGER :: MINRANGE=10000
443:    INTEGER, ALLOCATABLE :: MINIDS(:)443:    INTEGER, ALLOCATABLE :: MINIDS(:)
444:    INTEGER, ALLOCATABLE :: MINTRS(:)444:    INTEGER, ALLOCATABLE :: MINTRS(:)
445:    DOUBLE PRECISION, ALLOCATABLE :: DPMINTRS(:)445:    DOUBLE PRECISION, ALLOCATABLE :: DPMINTRS(:)
446:    DOUBLE PRECISION :: DELTA_E, E_HIGH446:    DOUBLE PRECISION :: DELTA_E, E_HIGH
447:    DOUBLE PRECISION :: TSTHRESH=1.0D100447:    DOUBLE PRECISION :: TSTHRESH=1.0D100
448:    DOUBLE PRECISION :: TSBARTHRESH=1.0D100448:    DOUBLE PRECISION :: TSBARTHRESH=1.0D100
449:    DOUBLE PRECISION :: CSCALE=1.0D0 449:    DOUBLE PRECISION :: CSCALE=1.0D0 
450:    DOUBLE PRECISION :: DJWSCALE=1.0D0  
451:    DOUBLE PRECISION :: TRMIN=0.0D0450:    DOUBLE PRECISION :: TRMIN=0.0D0
452:    DOUBLE PRECISION :: TRMAX=1.0D0451:    DOUBLE PRECISION :: TRMAX=1.0D0
453:    DOUBLE PRECISION :: BENERGY=1.0D100 452:    DOUBLE PRECISION :: BENERGY=1.0D100 
454:    DOUBLE PRECISION :: TRSCALEX=90.0453:    DOUBLE PRECISION :: TRSCALEX=90.0
455:    DOUBLE PRECISION :: TRSCALEY=50.0454:    DOUBLE PRECISION :: TRSCALEY=50.0
456:    CHARACTER(LEN=120) :: FILE_MIN, FILE_PICK, FILE_TS, FILE_WEIGHTS, &    455:    CHARACTER(LEN=120) :: FILE_MIN, FILE_PICK, FILE_TS, FILE_WEIGHTS, &    
457:       FILE_TRACE456:       FILE_TRACE
458:    CHARACTER(LEN=10) :: LAB_FMT457:    CHARACTER(LEN=10) :: LAB_FMT
459:    LOGICAL :: BARRIERS, CENTRE_GMIN, DUMP_NUMBERS, DUMP_SIZES, EXCLUDEALL, &458:    LOGICAL :: BARRIERS, CENTRE_GMIN, DUMP_NUMBERS, DUMP_SIZES, EXCLUDEALL, &
460:       IDENTIFY, MONOTONIC, SPLIT, WEIGHTS459:       IDENTIFY, MONOTONIC, SPLIT, WEIGHTS
461:    LOGICAL :: IDENTIFY_NODE=.FALSE.460:    LOGICAL :: IDENTIFY_NODE=.FALSE.
462:    LOGICAL :: IDENTIFY_NODE_SIZE=.FALSE.461:    LOGICAL :: IDENTIFY_NODE_SIZE=.FALSE.
463:    LOGICAL :: IDMINT=.FALSE.462:    LOGICAL :: IDMINT=.FALSE.
464:    LOGICAL :: TRMINT=.FALSE.463:    LOGICAL :: TRMINT=.FALSE.
465:    LOGICAL :: TRPRINT=.FALSE.464:    LOGICAL :: TRPRINT=.FALSE.
466:    LOGICAL :: TRVALRANGET=.FALSE. 
467:    LOGICAL :: TRVALT=.FALSE.465:    LOGICAL :: TRVALT=.FALSE.
468:    LOGICAL :: BASINT=.FALSE.466:    LOGICAL :: BASINT=.FALSE.
469:    LOGICAL :: WEIGHTLOWER=.FALSE.467:    LOGICAL :: WEIGHTLOWER=.FALSE.
470:    LOGICAL :: TRVALSCALET=.FALSE.468:    LOGICAL :: TRVALSCALET=.FALSE.
471:    LOGICAL :: MATCHMIN=.FALSE.469:    LOGICAL :: MATCHMIN=.FALSE.
472:    INTEGER, ALLOCATABLE :: NCONN(:)470:    INTEGER, ALLOCATABLE :: NCONN(:)
473: 471: 
474: END MODULE VARS472: END MODULE VARS
475: !................................................................................!473: !................................................................................!
476: !MODULE PAGE474: !MODULE PAGE
518:    INTEGER, ALLOCATABLE :: DJWBASIN(:), NMINGROUP(:), GROUPMAP(:)516:    INTEGER, ALLOCATABLE :: DJWBASIN(:), NMINGROUP(:), GROUPMAP(:)
519:    DOUBLE PRECISION ETHRESH517:    DOUBLE PRECISION ETHRESH
520:    INTEGER NBASIN, NCOUNT, J2518:    INTEGER NBASIN, NCOUNT, J2
521:    WRITE (6, '(/, A)') 'Disconnectivity Graphs'519:    WRITE (6, '(/, A)') 'Disconnectivity Graphs'
522:    WRITE (6, '(A, /)') '----------------------'520:    WRITE (6, '(A, /)') '----------------------'
523: 521: 
524:    CALL READ_OPTIONS522:    CALL READ_OPTIONS
525: !523: !
526: ! Rescale order parameter values between 0 and 1 using the values of TRMAX and TRMIN.524: ! Rescale order parameter values between 0 and 1 using the values of TRMAX and TRMIN.
527: !525: !
528:    IF (TRVALRANGET) THEN526:    IF (TRVALT) THEN
529:       PRINT '(A,2G20.10)','Scaling order parameter values between 0 and 1 for range ',TRMIN,TRMAX527:       PRINT '(A,2G20.10)','Scaling order parameter values between 0 and 1 for range ',TRMIN,TRMAX
530:       DJWSCALE=1.0D0/(TRMAX-TRMIN)528:       CSCALE=1.0D0/(TRMAX-TRMIN)
531:       DO J1=1,MINRANGE529:       DO J1=1,MINRANGE
532:          DPMINTRS(J1)=(DPMINTRS(J1)-TRMIN)*DJWSCALE530:          DPMINTRS(J1)=(DPMINTRS(J1)-TRMIN)*CSCALE
533: !        PRINT *,'J1,DPMINTRS=',J1,DPMINTRS(J1)531: !        PRINT *,'J1,DPMINTRS=',J1,DPMINTRS(J1)
534:       ENDDO532:       ENDDO
535:    ENDIF533:    ENDIF
536: 534: 
537: !  Procure minima info.535: !  Procure minima info.
538:    CALL COUNT_MIN(FILE_MIN, N_MIN)536:    CALL COUNT_MIN(FILE_MIN, N_MIN)
539:    ALLOCATE (M(N_MIN), END_X(N_MIN), END_Y(N_MIN))537:    ALLOCATE (M(N_MIN), END_X(N_MIN), END_Y(N_MIN))
540:    ALLOCATE (END_E(0:N_MIN), END_M(0:N_MIN))538:    ALLOCATE (END_E(0:N_MIN), END_M(0:N_MIN))
541:    ALLOCATE (DJWBASIN(N_MIN),NMINGROUP(N_MIN),GROUPMAP(0:N_MIN))539:    ALLOCATE (DJWBASIN(N_MIN),NMINGROUP(N_MIN),GROUPMAP(0:N_MIN))
542:    OPEN (UNIT=20, FILE=TRIM(FILE_MIN), STATUS='OLD', IOSTAT=err)540:    OPEN (UNIT=20, FILE=TRIM(FILE_MIN), STATUS='OLD', IOSTAT=err)
1323:                  IF (MARKNODE(I,K) ==2)  WRITE (20, '(A)') '0 1 0 setrgbcolor'1321:                  IF (MARKNODE(I,K) ==2)  WRITE (20, '(A)') '0 1 0 setrgbcolor'
1324:                  IF (MARKNODE(I,K) ==3)  WRITE (20, '(A)') '0 0 1 setrgbcolor'1322:                  IF (MARKNODE(I,K) ==3)  WRITE (20, '(A)') '0 0 1 setrgbcolor'
1325:                  IF (MARKNODE(I,K) ==4)  WRITE (20, '(A)') '1 0 1 setrgbcolor'  ! magenta1323:                  IF (MARKNODE(I,K) ==4)  WRITE (20, '(A)') '1 0 1 setrgbcolor'  ! magenta
1326:                  WRITE (20, '(2F7.2, A, 2F7.2, A)') x1, y1, ' mt ', x3, y3, ' ls'1324:                  WRITE (20, '(2F7.2, A, 2F7.2, A)') x1, y1, ' mt ', x3, y3, ' ls'
1327:                  WRITE (20, '(A)') '0 0 0 setrgbcolor'1325:                  WRITE (20, '(A)') '0 0 0 setrgbcolor'
1328:                ELSE1326:                ELSE
1329:                  WRITE (20, '(2F7.2, A, 2F7.2, A)') x1, y1, ' mt ', x3, y3, ' ls'1327:                  WRITE (20, '(2F7.2, A, 2F7.2, A)') x1, y1, ' mt ', x3, y3, ' ls'
1330:                ENDIF1328:                ENDIF
1331:             ELSE IF (TRVALT) THEN ! otherwise DPMARKNODE is not allocated1329:             ELSE IF (TRVALT) THEN ! otherwise DPMARKNODE is not allocated
1332:                IF (DPMARKNODE(I,K).GE.0.0D0) THEN1330:                IF (DPMARKNODE(I,K).GE.0.0D0) THEN
1333:                   R2=DPMARKNODE(I,K)*3.0D0*CSCALE1331:                   R2=DPMARKNODE(I,K)*3.0D0! *CSCALE
1334:                   IF (R2.GT.3.0D0) THEN1332:                   IF (R2.GT.3.0D0) THEN
1335:                      WRITE(6,*) 'WARNING: value of DPMARKNODE is ',DPMARKNODE(I,K),' for ',i,k1333:                      WRITE(6,*) 'WARNING: value of DPMARKNODE is ',DPMARKNODE(I,K),' for ',i,k
1336:                      R2=3.0D01334:                      R2=3.0D0
1337:                   END IF1335:                   END IF
1338:                    IF (R2.LT.1.0d0.AND.R2.GE.0.0d0)  WRITE (20, '(2F7.4,A)') (2.67d0-R2)/2.67D0 ,R2/2.0D0, ' 0  setrgbcolor'1336:                    IF (R2.LT.1.0d0.AND.R2.GE.0.0d0)  WRITE (20, '(2F7.4,A)') (2.67d0-R2)/2.67D0 ,R2/2.0D0, ' 0  setrgbcolor'
1339:                    IF (R2.LT.1.5d0.AND.R2.GE.1.0d0)  WRITE (20, '(F7.4,A)')  0.625D0-(R2-1.0D0)*1.25D0, ' 0.50  0  setrgbcolor' 1337:                    IF (R2.LT.1.5d0.AND.R2.GE.1.0d0)  WRITE (20, '(F7.4,A)')  0.625D0-(R2-1.0D0)*1.25D0, ' 0.50  0  setrgbcolor' 
1340:                    IF (R2.LT.2.0d0.AND.R2.GE.1.5d0)  WRITE (20, '(A,F7.4,A)') '0 0.5 ',0.625D0+(R2-2.0d0)*1.25D0,'  setrgbcolor'1338:                    IF (R2.LT.2.0d0.AND.R2.GE.1.5d0)  WRITE (20, '(A,F7.4,A)') '0 0.5 ',0.625D0+(R2-2.0d0)*1.25D0,'  setrgbcolor'
1341:                    IF (R2.LE.3.0d0.AND.R2.GE.2.0d0)  &1339:                    IF (R2.LE.3.0d0.AND.R2.GE.2.0d0)  &
1342:   &         WRITE (20, '(A,2F7.4,A)') '0 ',(3.0d0-R2)/2.0D0, ((2.0D0-R2)-1.67d0)/(-2.67D0), '  setrgbcolor'            1340:   &         WRITE (20, '(A,2F7.4,A)') '0 ',(3.0d0-R2)/2.0D0, ((2.0D0-R2)-1.67d0)/(-2.67D0), '  setrgbcolor'            
1343: !                  IF (R2.LE.1.AND.R2.GE.0)  WRITE (20, '(A,F6.4,A)') '1 0 ',(1-R2)/2,'  setrgbcolor'1341: !                  IF (R2.LE.1.AND.R2.GE.0)  WRITE (20, '(A,F6.4,A)') '1 0 ',(1-R2)/2,'  setrgbcolor'
1387: !                 IF (MARKNODE(I,K) ==8)  WRITE (20, '(A)') '0 0.5 1 setrgbcolor'1385: !                 IF (MARKNODE(I,K) ==8)  WRITE (20, '(A)') '0 0.5 1 setrgbcolor'
1388: !                 IF (MARKNODE(I,K) ==9)  WRITE (20, '(A)') '0 0 1 setrgbcolor'1386: !                 IF (MARKNODE(I,K) ==9)  WRITE (20, '(A)') '0 0 1 setrgbcolor'
1389: !                 IF (MARKNODE(I,K) ==10)  WRITE (20, '(A)') '0.5 0 1 setrgbcolor'1387: !                 IF (MARKNODE(I,K) ==10)  WRITE (20, '(A)') '0.5 0 1 setrgbcolor'
1390:                   WRITE (20, '(2F7.2, A, 2F7.2, A)') x1, y1, ' mt ', x2, y2, ' ls'1388:                   WRITE (20, '(2F7.2, A, 2F7.2, A)') x1, y1, ' mt ', x2, y2, ' ls'
1391:                   WRITE (20, '(A)') '0 0 0 setrgbcolor'1389:                   WRITE (20, '(A)') '0 0 0 setrgbcolor'
1392:                ELSE1390:                ELSE
1393:                   WRITE (20, '(2F7.2, A, 2F7.2, A)') x1, y1, ' mt ', x2, y2, ' ls'1391:                   WRITE (20, '(2F7.2, A, 2F7.2, A)') x1, y1, ' mt ', x2, y2, ' ls'
1394:                ENDIF1392:                ENDIF
1395:             ELSE IF (TRVALT) THEN1393:             ELSE IF (TRVALT) THEN
1396:                IF (DPMARKNODE(I,K).GE.0.0D0) THEN1394:                IF (DPMARKNODE(I,K).GE.0.0D0) THEN
1397:                    R2=DPMARKNODE(I,K)*3.0D0*CSCALE1395:                    R2=DPMARKNODE(I,K)*3.0D0 ! *CSCALE
1398:                    IF (R2.GT.3.0D0) THEN1396:                    IF (R2.GT.3.0D0) THEN
1399:                       WRITE(6,*) 'WARNING: value of DPMARKNODE is ',DPMARKNODE(I,K),' for ',i,k1397:                       WRITE(6,*) 'WARNING: value of DPMARKNODE is ',DPMARKNODE(I,K),' for ',i,k
1400:                       R2=3.0D01398:                       R2=3.0D0
1401:                    END IF1399:                    END IF
1402:                    IF (R2.LT.1.0d0.AND.R2.GE.0.0d0)  WRITE (20, '(2F7.4,A)') (2.67d0-R2)/2.67D0 ,R2/2.0D0, ' 0  setrgbcolor'1400:                    IF (R2.LT.1.0d0.AND.R2.GE.0.0d0)  WRITE (20, '(2F7.4,A)') (2.67d0-R2)/2.67D0 ,R2/2.0D0, ' 0  setrgbcolor'
1403:                    IF (R2.LT.1.5d0.AND.R2.GE.1.0d0)  WRITE (20, '(F7.4,A)')  0.625D0-(R2-1.0D0)*1.25D0, ' 0.50  0  setrgbcolor' 1401:                    IF (R2.LT.1.5d0.AND.R2.GE.1.0d0)  WRITE (20, '(F7.4,A)')  0.625D0-(R2-1.0D0)*1.25D0, ' 0.50  0  setrgbcolor' 
1404:                    IF (R2.LT.2.0d0.AND.R2.GE.1.5d0)  WRITE (20, '(A,F7.4,A)') '0 0.5 ',0.625D0+(R2-2.0d0)*1.25D0,'  setrgbcolor'1402:                    IF (R2.LT.2.0d0.AND.R2.GE.1.5d0)  WRITE (20, '(A,F7.4,A)') '0 0.5 ',0.625D0+(R2-2.0d0)*1.25D0,'  setrgbcolor'
1405:                    IF (R2.LE.3.0d0.AND.R2.GE.2.0d0)  &1403:                    IF (R2.LE.3.0d0.AND.R2.GE.2.0d0)  &
1406:   &                   WRITE (20, '(A,2F7.4,A)') &1404:   &                   WRITE (20, '(A,2F7.4,A)') &
1407:   &                   '0 ',(3.0d0-R2)/2.0D0, ((2.0D0-R2)-1.67d0)/(-2.67D0), '  setrgbcolor'1405:   &                   '0 ',(3.0d0-R2)/2.0D0, ((2.0D0-R2)-1.67d0)/(-2.67D0), '  setrgbcolor'
1584:      & '0.7 swidth 2.25 swidth moveto', &1582:      & '0.7 swidth 2.25 swidth moveto', &
1585:      & '1.0 swidth 2.25 swidth lineto', &1583:      & '1.0 swidth 2.25 swidth lineto', &
1586:      & 'stroke', &1584:      & 'stroke', &
1587:      & '%Numbers for scale', &1585:      & '%Numbers for scale', &
1588:      & '/Times-Roman findfont 12 scalefont setfont', &1586:      & '/Times-Roman findfont 12 scalefont setfont', &
1589:      & '0.0 swidth 3.40 swidth moveto', &1587:      & '0.0 swidth 3.40 swidth moveto', &
1590:      & '(Order Parameter) show', &1588:      & '(Order Parameter) show', &
1591:      & '/Times-Roman findfont 10 scalefont setfont'1589:      & '/Times-Roman findfont 10 scalefont setfont'
1592:       WRITE (20, '(4((A, /), (A2, F7.2, A, /)), (A, /), (A2, F7.2, A)) ') &1590:       WRITE (20, '(4((A, /), (A2, F7.2, A, /)), (A, /), (A2, F7.2, A)) ') &
1593:      & '1.2 swidth -0.04 swidth moveto', &1591:      & '1.2 swidth -0.04 swidth moveto', &
1594:      & '( ', TRMIN, ' ) show', &1592:      & '( ', TRMIN+0.00/CSCALE, ' ) show', &
1595:      & '1.2 swidth 0.71 swidth moveto', &1593:      & '1.2 swidth 0.71 swidth moveto', &
1596:      & '( ', TRMIN+0.25/(CSCALE*DJWSCALE), ' ) show', &1594:      & '( ', TRMIN+0.25/CSCALE, ' ) show', &
1597:      & '1.2 swidth 1.46 swidth moveto', &1595:      & '1.2 swidth 1.46 swidth moveto', &
1598:      & '( ', TRMIN+0.50/(CSCALE*DJWSCALE), ' ) show', &1596:      & '( ', TRMIN+0.50/CSCALE, ' ) show', &
1599:      & '1.2 swidth 2.21 swidth moveto', &1597:      & '1.2 swidth 2.21 swidth moveto', &
1600:      & '( ', TRMIN+0.75/(CSCALE*DJWSCALE), ' ) show', &1598:      & '( ', TRMIN+0.75/CSCALE, ' ) show', &
1601:      & '1.2 swidth 2.96 swidth moveto', &1599:      & '1.2 swidth 2.96 swidth moveto', &
1602:      & '( ', TRMIN+1.00/(CSCALE*DJWSCALE), ' ) show'1600:      & '( ', TRMIN+1.00/CSCALE, ' ) show'
1603:    END IF1601:    END IF
1604: 1602: 
1605:    WRITE (20, '(/, A)') 'showpage'1603:    WRITE (20, '(/, A)') 'showpage'
1606:    CLOSE (20)1604:    CLOSE (20)
1607:    WRITE (6, '(A, /)') 'Done.'1605:    WRITE (6, '(A, /)') 'Done.'
1608:    DEALLOCATE(DJWBASIN,TSEN)1606:    DEALLOCATE(DJWBASIN,TSEN)
1609: 1607: 
1610: !   CALL SYSTEM('ps2pdf tree.ps tree.pdf')1608: !   CALL SYSTEM('ps2pdf tree.ps tree.pdf')
1611: 1609: 
1612: END PROGRAM DISCONNECTION1610: END PROGRAM DISCONNECTION
1754:          DO I4=1, MINRANGE1752:          DO I4=1, MINRANGE
1755:             READ(22, *, IOSTAT=ERR) DPMINTRS(I4)1753:             READ(22, *, IOSTAT=ERR) DPMINTRS(I4)
1756:             IF (ERR /= 0) EXIT1754:             IF (ERR /= 0) EXIT
1757:          ENDDO1755:          ENDDO
1758:          CLOSE(22)1756:          CLOSE(22)
1759:       CASE ('TRVALSCALE')1757:       CASE ('TRVALSCALE')
1760:          TRVALSCALET = .TRUE.1758:          TRVALSCALET = .TRUE.
1761:          CALL GET_DP(TRSCALEX)1759:          CALL GET_DP(TRSCALEX)
1762:          CALL GET_DP(TRSCALEY)1760:          CALL GET_DP(TRSCALEY)
1763:       CASE ('TRVALRANGE')1761:       CASE ('TRVALRANGE')
1764:          TRVALRANGET=.TRUE. 
1765:          CALL GET_DP(TRMIN)1762:          CALL GET_DP(TRMIN)
1766:          CALL GET_DP(TRMAX)1763:          CALL GET_DP(TRMAX)
1767:       CASE ('TS')1764:       CASE ('TS')
1768:          CALL GET_STRING(FILE_TS)1765:          CALL GET_STRING(FILE_TS)
1769:       CASE ('WEIGHTS')1766:       CASE ('WEIGHTS')
1770:          CALL GET_STRING(FILE_WEIGHTS)1767:          CALL GET_STRING(FILE_WEIGHTS)
1771:          WEIGHTS=.TRUE.1768:          WEIGHTS=.TRUE.
1772:       CASE ('BASINT')1769:       CASE ('BASINT')
1773:          BASINT = .TRUE.1770:          BASINT = .TRUE.
1774:          CALL GET_DP(BENERGY)1771:          CALL GET_DP(BENERGY)


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0