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

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

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


Revision 1.6 - (show annotations) (download)
Sat Apr 3 21:17:10 2004 UTC (20 years, 2 months ago) by edhill
Branch: MAIN
Changes since 1.5: +80 -201 lines
 o removing duplicate code in mon_out.F in preparation for MNC output
 o convert all monitor files to protex-style comments

1 C $Header: /u/gcmpack/MITgcm/pkg/monitor/mon_out.F,v 1.5 2004/04/03 04:57:11 edhill Exp $
2 C $Name: $
3
4 #include "MONITOR_OPTIONS.h"
5
6 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
7 CBOP
8 C !ROUTINE: MON_OUT_I
9
10 C !INTERFACE:
11 SUBROUTINE MON_OUT_I( pref, value, foot, myThid )
12
13 C !DESCRIPTION:
14 C Formatted integer I/O for monitor print out.
15
16 C !INPUT PARAMETERS:
17 C pref - Field prefix ( ignored if == mon_string_none )
18 C value - Value to print
19 C foot - Field suffix ( ignored if == mon_string_none )
20 CHARACTER*(*) pref
21 INTEGER value
22 CHARACTER*(*) foot
23 INTEGER myThid
24 CEOP
25
26 CALL MON_OUT_ALL(pref, foot, 1, value, 0.0, 0.0d0, myThid)
27 RETURN
28 END
29
30 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
31 CBOP
32 C !ROUTINE: MON_OUT_RS
33
34 C !INTERFACE:
35 SUBROUTINE MON_OUT_RS( pref, value, foot, myThid )
36
37 C !DESCRIPTION:
38 C Formatted RS I/O for monitor print out.
39
40 C !INPUT PARAMETERS:
41 C pref - Field prefix ( ignored if == mon_string_none )
42 C value - Value to print
43 C foot - Field suffix ( ignored if == mon_string_none )
44 CHARACTER*(*) pref
45 _RS value
46 CHARACTER*(*) foot
47 INTEGER myThid
48 CEOP
49
50 CALL MON_OUT_ALL(pref, foot, 2, 0, value, 0.0d0, myThid)
51 RETURN
52 END
53
54 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
55 CBOP
56 C !ROUTINE: MON_OUT_RL
57
58 C !INTERFACE:
59 SUBROUTINE MON_OUT_RL(pref, value, foot, myThid )
60
61 C !DESCRIPTION:
62 C Formatted RL I/O for monitor print out.
63
64 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 CALL MON_OUT_ALL(pref, foot, 3, 0, 0.0, value, myThid)
75 RETURN
76 END
77
78 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 C !DESCRIPTION:
89 C Formatted I/O for monitor output.
90
91 C !USES:
92 IMPLICIT NONE
93 #include "SIZE.h"
94 #include "EEPARAMS.h"
95 #include "PARAMS.h"
96 #include "EESUPPORT.h"
97 #include "MONITOR.h"
98 INTEGER IFNBLNK
99 INTEGER ILNBLNK
100
101 C !INPUT PARAMETERS:
102 C pref - Field prefix ( ignored if == mon_string_none )
103 C foot - Field suffix ( ignored if == mon_string_none )
104 CHARACTER*(*) pref, foot
105 INTEGER itype
106 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
117 INTEGER lBuf
118 INTEGER I0, I1, IL
119
120 msgBuf = ' '
121 lBuf = 0
122
123 I0 = IFNBLNK(mon_head)
124 I1 = ILNBLNK(mon_head)
125 IL = I1-I0+1
126 IF ( IL .GT. 0 .AND. lBuf+IL+1 .LE. MAX_LEN_MBUF ) THEN
127 msgBuf(1:IL) = mon_head
128 lBuf = IL+1
129 msgBuf(lBuf:lBuf) = ' '
130 ENDIF
131
132 IF ( mon_pref(1:mon_prefL) .NE. mon_string_none .AND.
133 & lBuf+mon_prefL+1 .LE. MAX_LEN_MBUF ) THEN
134 lBuf = lBuf+1
135 msgBuf(lBuf:lBuf+mon_prefL-1) = mon_pref(1:mon_prefL)
136 lBuf = lBuf+mon_prefL-1
137 ENDIF
138
139 I0 = IFNBLNK(pref)
140 I1 = ILNBLNK(pref)
141 IL = I1-I0+1
142 IF ( IL .GT. 0 ) THEN
143 IF ( pref(I0:I1) .NE. mon_string_none .AND.
144 & lBuf+IL+1 .LE. MAX_LEN_MBUF ) THEN
145 lBuf = lBuf+1
146 msgBuf(lBuf:lBuf+IL-1) = pref(I0:I1)
147 lBuf = lBuf+IL-1
148 ENDIF
149 ENDIF
150
151 I0 = IFNBLNK(foot)
152 I1 = ILNBLNK(foot)
153 IL = I1-I0+1
154 IF ( IL .GT. 0 ) THEN
155 IF ( foot(I0:I1) .NE. mon_string_none .AND.
156 & lBuf+IL+1 .LE. MAX_LEN_MBUF ) THEN
157 lBuf = lBuf+1
158 msgBuf(lBuf:lBuf+IL-1) = foot(I0:I1)
159 lBuf = lBuf+IL-1
160 ENDIF
161 ENDIF
162
163 msgBuf(35:35) = '='
164
165 _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
181 RETURN
182 END
183
184 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|

  ViewVC Help
Powered by ViewVC 1.1.22