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

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

  ViewVC Help
Powered by ViewVC 1.1.22