/[MITgcm]/MITgcm/pkg/monitor/mon_out.F
ViewVC logotype

Diff of /MITgcm/pkg/monitor/mon_out.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.5 by edhill, Sat Apr 3 04:57:11 2004 UTC revision 1.6 by edhill, Sat Apr 3 21:17:10 2004 UTC
# Line 8  CBOP Line 8  CBOP
8  C     !ROUTINE: MON_OUT_I  C     !ROUTINE: MON_OUT_I
9    
10  C     !INTERFACE:  C     !INTERFACE:
11        SUBROUTINE MON_OUT_I(pref, value, foot, myThid )        SUBROUTINE MON_OUT_I( pref, value, foot, myThid )
12    
13  C     !DESCRIPTION:  C     !DESCRIPTION:
14  C     Formatted integer I/O for monitor print out.            C     Formatted integer I/O for monitor print out.          
15    
 C     !USES:  
       IMPLICIT NONE  
 #include "SIZE.h"  
 #include "EEPARAMS.h"  
 #include "PARAMS.h"  
 #include "EESUPPORT.h"  
 #include "MONITOR.h"  
       EXTERNAL IFNBLNK  
       INTEGER  IFNBLNK  
       EXTERNAL ILNBLNK  
       INTEGER  ILNBLNK  
   
16  C     !INPUT PARAMETERS:  C     !INPUT PARAMETERS:
17  C.d   pref   - Field prefix ( ignored if == mon_string_none )  C     pref   - Field prefix ( ignored if == mon_string_none )
18  C.d   value  - Value to print  C     value  - Value to print
19  C.d   foot   - Field suffix ( ignored if == mon_string_none )  C     foot   - Field suffix ( ignored if == mon_string_none )
20        CHARACTER*(*) pref        CHARACTER*(*) pref
21        INTEGER       value        INTEGER       value
22        CHARACTER*(*) foot        CHARACTER*(*) foot
23        INTEGER  myThid        INTEGER  myThid
24  CEOP  CEOP
25    
26  C     !LOCAL VARIABLES:        CALL MON_OUT_ALL(pref, foot, 1, value, 0.0, 0.0d0, myThid)
 C.d   msgBuf - Buffer for building output string  
 C.d   lBuf   - Buffer for length  
 C.d.  I0     - Temps used in calculating string length  
 C     I1  
 C.    IL  
       CHARACTER*(MAX_LEN_MBUF) msgBuf  
       INTEGER  lBuf  
       INTEGER  I0, I1, IL  
 C.  
   
       msgBuf = ' '  
       lBuf   = 0  
   
       I0 = IFNBLNK(mon_head)  
       I1 = ILNBLNK(mon_head)  
       IL = I1-I0+1  
       IF ( IL .GT. 0 .AND. lBuf+IL+1 .LE. MAX_LEN_MBUF ) THEN  
         msgBuf(1:IL) = mon_head  
         lBuf = IL+1  
         msgBuf(lBuf:lBuf) = ' '  
       ENDIF  
   
       IF ( mon_pref(1:mon_prefL) .NE. mon_string_none .AND.  
      &     lBuf+mon_prefL+1      .LE. MAX_LEN_MBUF ) THEN  
         lBuf = lBuf+1  
         msgBuf(lBuf:lBuf+mon_prefL-1) = mon_pref(1:mon_prefL)  
         lBuf = lBuf+mon_prefL-1  
       ENDIF  
   
       I0 = IFNBLNK(pref)  
       I1 = ILNBLNK(pref)  
       IL = I1-I0+1  
       IF ( IL .GT. 0 ) THEN  
         IF ( pref(I0:I1) .NE. mon_string_none .AND.  
      &       lBuf+IL+1   .LE. MAX_LEN_MBUF ) THEN  
           lBuf = lBuf+1  
           msgBuf(lBuf:lBuf+IL-1) = pref(I0:I1)  
           lBuf = lBuf+IL-1  
         ENDIF  
       ENDIF  
   
       I0 = IFNBLNK(foot)  
       I1 = ILNBLNK(foot)  
       IL = I1-I0+1  
       IF ( IL .GT. 0 ) THEN  
         IF ( foot(I0:I1) .NE. mon_string_none .AND.  
      &       lBuf+IL+1   .LE. MAX_LEN_MBUF ) THEN  
           lBuf = lBuf+1  
           msgBuf(lBuf:lBuf+IL-1) = foot(I0:I1)  
           lBuf = lBuf+IL-1  
         ENDIF  
       ENDIF  
   
       msgBuf(35:35) = '='  
   
       _BEGIN_MASTER(myThid)  
 #ifdef ALLOW_USE_MPI  
         IF ( .NOT. useSingleCPUIO .OR. mpiMyId .EQ. 0 ) THEN  
 #endif /* ALLOW_USE_MPI */  
           WRITE(msgBuf(36:57),'(1X,I21)') value  
           CALL PRINT_MESSAGE( msgBuf, mon_ioUnit, SQUEEZE_RIGHT, 1 )  
 #ifdef ALLOW_USE_MPI  
         ENDIF  
 #endif /* ALLOW_USE_MPI */  
       _END_MASTER()  
   
27        RETURN        RETURN
28        END        END
29    
30  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
31    CBOP
32    C     !ROUTINE: MON_OUT_RS
33    
34        SUBROUTINE MON_OUT_RS(pref, value, foot, myThid )  C     !INTERFACE:
35  C.sh  /==========================================================\        SUBROUTINE MON_OUT_RS( pref, value, foot, myThid )
 C     | SUBROUTINE MON_OUT_RS                                    |  
 C     | o Formatted RS I/O for monitor print out.                |  
 C.    \==========================================================/  
       IMPLICIT NONE  
36    
37  C.gd  === Global data ===  C     !DESCRIPTION:
38  #include "SIZE.h"  C     Formatted RS I/O for monitor print out.
 #include "EEPARAMS.h"  
 #include "PARAMS.h"  
 #include "EESUPPORT.h"  
 #include "MONITOR.h"  
       EXTERNAL IFNBLNK  
       INTEGER  IFNBLNK  
       EXTERNAL ILNBLNK  
       INTEGER  ILNBLNK  
       INTEGER  myThid  
 C.  
39    
40  C.ra  === Routine arguments ===  C     !INPUT PARAMETERS:
41  C.d   pref   - Field prefix ( ignored if == mon_string_none )  C     pref   - Field prefix ( ignored if == mon_string_none )
42  C.d   value  - Value to print  C     value  - Value to print
43  C.d   foot   - Field suffix ( ignored if == mon_string_none )  C     foot   - Field suffix ( ignored if == mon_string_none )
44        CHARACTER*(*) pref        CHARACTER*(*) pref
45        _RS           value        _RS           value
46        CHARACTER*(*) foot        CHARACTER*(*) foot
47  C.        INTEGER  myThid
48    CEOP
49    
50  C.lv  === Local variables ===        CALL MON_OUT_ALL(pref, foot, 2, 0, value, 0.0d0, myThid)
51  C.d   msgBuf - Buffer for building output string        RETURN
52  C.d   lBuf   - Buffer for length        END
 C.d.  I0     - Temps used in calculating string length  
 C     I1  
 C.    IL  
       CHARACTER*(MAX_LEN_MBUF) msgBuf  
       INTEGER  lBuf  
       INTEGER  I0, I1, IL  
 C.  
53    
54        msgBuf = ' '  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
55        lBuf   = 0  CBOP
56    C     !ROUTINE: MON_OUT_RL
57    
58        I0 = IFNBLNK(mon_head)  C     !INTERFACE:
59        I1 = ILNBLNK(mon_head)        SUBROUTINE MON_OUT_RL(pref, value, foot, myThid )
       IL = I1-I0+1  
       IF ( IL .GT. 0 .AND. lBuf+IL+1 .LE. MAX_LEN_MBUF ) THEN  
        msgBuf(1:IL) = mon_head  
        lBuf = IL+1  
        msgBuf(lBuf:lBuf) = ' '  
       ENDIF  
60    
61        IF ( mon_pref(1:mon_prefL) .NE. mon_string_none .AND.  C     !DESCRIPTION:
62       &     lBuf+mon_prefL+1      .LE. MAX_LEN_MBUF ) THEN  C     Formatted RL I/O for monitor print out.
        lBuf = lBuf+1  
        msgBuf(lBuf:lBuf+mon_prefL-1) = mon_pref(1:mon_prefL)  
        lBuf = lBuf+mon_prefL-1  
       ENDIF  
63    
64        I0 = IFNBLNK(pref)  C     !INPUT PARAMETERS:
65        I1 = ILNBLNK(pref)  C     pref   - Field prefix ( ignored if == mon_string_none )
66        IL = I1-I0+1  C     value  - Value to print
67        IF ( IL .GT. 0 ) THEN  C     foot   - Field suffix ( ignored if == mon_string_none )
68         IF ( pref(I0:I1) .NE. mon_string_none .AND.        CHARACTER*(*) pref
69       &      lBuf+IL+1   .LE. MAX_LEN_MBUF ) THEN        _RL           value
70          lBuf = lBuf+1        CHARACTER*(*) foot
71          msgBuf(lBuf:lBuf+IL-1) = pref(I0:I1)        INTEGER  myThid
72          lBuf = lBuf+IL-1  CEOP
        ENDIF  
       ENDIF  
73    
74        I0 = IFNBLNK(foot)        CALL MON_OUT_ALL(pref, foot, 3, 0, 0.0, value, myThid)
75        I1 = ILNBLNK(foot)        RETURN
76        IL = I1-I0+1        END
       IF ( IL .GT. 0 ) THEN  
        IF ( foot(I0:I1) .NE. mon_string_none .AND.  
      &      lBuf+IL+1   .LE. MAX_LEN_MBUF ) THEN  
         lBuf = lBuf+1  
         msgBuf(lBuf:lBuf+IL-1) = foot(I0:I1)  
         lBuf = lBuf+IL-1  
        ENDIF  
       ENDIF  
77    
78        msgBuf(35:35) = '='  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
79    CBOP 1
80    C     !ROUTINE: MON_OUT_ALL
81    
82        _BEGIN_MASTER(myThid)  C     !INTERFACE:
83  #ifdef ALLOW_USE_MPI        SUBROUTINE MON_OUT_ALL(
84         IF ( .NOT. useSingleCPUIO .OR. mpiMyId .EQ. 0 ) THEN       I     pref, foot,
85  #endif /* ALLOW_USE_MPI */       I     itype, ival, rval, dval,
86          WRITE(msgBuf(36:57),'(1X,1P1E21.13)') value       I     myThid )
         CALL PRINT_MESSAGE( msgBuf, mon_ioUnit, SQUEEZE_RIGHT, 1 )  
 #ifdef ALLOW_USE_MPI  
        ENDIF  
 #endif /* ALLOW_USE_MPI */  
       _END_MASTER()  
87    
88        RETURN  C     !DESCRIPTION:
89        END  C     Formatted I/O for monitor output.
       SUBROUTINE MON_OUT_RL(pref, value, foot, myThid )  
 C.sh  /==========================================================\  
 C     | SUBROUTINE MON_OUT_RL                                    |  
 C     | o Formatted RL I/O for monitor print out.                |  
 C.    \==========================================================/  
       IMPLICIT NONE  
90    
91  C.gd  === Global data ===  C     !USES:
92          IMPLICIT NONE
93  #include "SIZE.h"  #include "SIZE.h"
94  #include "EEPARAMS.h"  #include "EEPARAMS.h"
95  #include "PARAMS.h"  #include "PARAMS.h"
96  #include "EESUPPORT.h"  #include "EESUPPORT.h"
97  #include "MONITOR.h"  #include "MONITOR.h"
98        EXTERNAL IFNBLNK        INTEGER IFNBLNK
99        INTEGER  IFNBLNK        INTEGER ILNBLNK
100        EXTERNAL ILNBLNK  
101        INTEGER  ILNBLNK  C     !INPUT PARAMETERS:
102  C.  C     pref   - Field prefix ( ignored if == mon_string_none )
103    C     foot   - Field suffix ( ignored if == mon_string_none )
104  C.ra  === Routine arguments ===        CHARACTER*(*) pref, foot
105  C.d   pref   - Field prefix ( ignored if == mon_string_none )        INTEGER itype
106  C.d   value  - Value to print        INTEGER ival
107  C.d   foot   - Field suffix ( ignored if == mon_string_none )        _RS     rval
108        CHARACTER*(*) pref        _RL     dval
109        _RL           value        INTEGER myThid
110        CHARACTER*(*) foot  CEOP
       INTEGER  myThid  
 C.  
111    
112  C.lv  === Local variables ===  C     !LOCAL VARIABLES:
113  C.d   msgBuf - Buffer for building output string  C     msgBuf - Buffer for building output string
114  C.d   lBuf   - Buffer for length  C     lBuf   - Buffer for length
115  C.d.  I0     - Temps used in calculating string length  C     I0     - Temps used in calculating string length
 C     I1  
 C.    IL  
116        CHARACTER*(MAX_LEN_MBUF) msgBuf        CHARACTER*(MAX_LEN_MBUF) msgBuf
117        INTEGER  lBuf        INTEGER  lBuf
118        INTEGER  I0, I1, IL        INTEGER  I0, I1, IL
 C.  
119    
120        msgBuf = ' '        msgBuf = ' '
121        lBuf   = 0        lBuf   = 0
# Line 292  C. Line 164  C.
164    
165        _BEGIN_MASTER(myThid)        _BEGIN_MASTER(myThid)
166  #ifdef ALLOW_USE_MPI  #ifdef ALLOW_USE_MPI
167         IF ( .NOT. useSingleCPUIO .OR. mpiMyId .EQ. 0 ) THEN          IF ( .NOT. useSingleCPUIO .OR. mpiMyId .EQ. 0 ) THEN
168  #endif /* ALLOW_USE_MPI */  #endif /* ALLOW_USE_MPI */
169          WRITE(msgBuf(36:57),'(1X,1P1E21.13)') value            IF (itype .EQ. 1)
170          CALL PRINT_MESSAGE( msgBuf, mon_ioUnit, SQUEEZE_RIGHT, 1 )       &         WRITE(msgBuf(36:57),'(1X,I21)')       ival
171              IF (itype .EQ. 2)
172         &         WRITE(msgBuf(36:57),'(1X,1P1E21.13)') rval
173              IF (itype .EQ. 3)
174         &         WRITE(msgBuf(36:57),'(1X,1P1E21.13)') dval
175              CALL PRINT_MESSAGE( msgBuf, mon_ioUnit, SQUEEZE_RIGHT, 1 )
176  #ifdef ALLOW_USE_MPI  #ifdef ALLOW_USE_MPI
177         ENDIF          ENDIF
178  #endif /* ALLOW_USE_MPI */  #endif /* ALLOW_USE_MPI */
179        _END_MASTER()        _END_MASTER()
180    
181        RETURN        RETURN
182        END        END
183    
184    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

  ViewVC Help
Powered by ViewVC 1.1.22