/[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.1 - (show annotations) (download)
Mon Jun 18 17:39:59 2001 UTC (22 years, 11 months ago) by cnh
Branch: MAIN
Add to main branch of
  o CS atmos with AIM physics
  o Multi-threaded AIM physics for LatLon and CS tests
  o Tidied up monitor() output

1 C $Header: /u/gcmpack/models/MITgcmUV/pkg/monitor/monitor.F,v 1.3 2001/06/06 14:49:20 adcroft Exp $
2 C $Name: $
3
4 #include "CPP_OPTIONS.h"
5
6 SUBROUTINE MON_OUT_I(pref, value, foot )
7 C.sh /==========================================================\
8 C | SUBROUTINE MON_OUT_I |
9 C | o Formatted integer I/O for monitor print out. |
10 C. \==========================================================/
11 IMPLICIT NONE
12
13 C.gd === Global data ===
14 #include "SIZE.h"
15 #include "EEPARAMS.h"
16 #include "MONITOR.h"
17 EXTERNAL IFNBLNK
18 INTEGER IFNBLNK
19 EXTERNAL ILNBLNK
20 INTEGER ILNBLNK
21 C.
22
23 C.ra === Routine arguments ===
24 C.d pref - Field prefix ( ignored if == mon_string_none )
25 C.d value - Value to print
26 C.d foot - Field suffix ( ignored if == mon_string_none )
27 CHARACTER*(*) pref
28 INTEGER value
29 CHARACTER*(*) foot
30 C.
31
32 C.lv === Local variables ===
33 C.d msgBuf - Buffer for building output string
34 C.d lBuf - Buffer for length
35 C.d. I0 - Temps used in calculating string length
36 C I1
37 C. IL
38 CHARACTER*(MAX_LEN_MBUF) msgBuf
39 INTEGER lBuf
40 INTEGER I0, I1, IL
41 C.
42
43 msgBuf = ' '
44 lBuf = 0
45
46 I0 = IFNBLNK(mon_head)
47 I1 = ILNBLNK(mon_head)
48 IL = I1-I0+1
49 IF ( IL .GT. 0 .AND. lBuf+IL+1 .LE. MAX_LEN_MBUF ) THEN
50 msgBuf(1:IL) = mon_head
51 lBuf = IL+1
52 msgBuf(lBuf:lBuf) = ' '
53 ENDIF
54
55 IF ( mon_pref(1:mon_prefL) .NE. mon_string_none .AND.
56 & lBuf+mon_prefL+1 .LE. MAX_LEN_MBUF ) THEN
57 lBuf = lBuf+1
58 msgBuf(lBuf:lBuf+mon_prefL-1) = mon_pref(1:mon_prefL)
59 lBuf = lBuf+mon_prefL-1
60 ENDIF
61
62 I0 = IFNBLNK(pref)
63 I1 = ILNBLNK(pref)
64 IL = I1-I0+1
65 IF ( IL .GT. 0 ) THEN
66 IF ( pref(I0:I1) .NE. mon_string_none .AND.
67 & lBuf+IL+1 .LE. MAX_LEN_MBUF ) THEN
68 lBuf = lBuf+1
69 msgBuf(lBuf:lBuf+IL-1) = pref(I0:I1)
70 lBuf = lBuf+IL-1
71 ENDIF
72 ENDIF
73
74 I0 = IFNBLNK(foot)
75 I1 = ILNBLNK(foot)
76 IL = I1-I0+1
77 IF ( IL .GT. 0 ) THEN
78 IF ( foot(I0:I1) .NE. mon_string_none .AND.
79 & lBuf+IL+1 .LE. MAX_LEN_MBUF ) THEN
80 lBuf = lBuf+1
81 msgBuf(lBuf:lBuf+IL-1) = foot(I0:I1)
82 lBuf = lBuf+IL-1
83 ENDIF
84 ENDIF
85
86 msgBuf(35:35) = '='
87
88 WRITE(msgBuf(36:57),'(1X,I21)') value
89
90 CALL PRINT_MESSAGE( msgBuf, mon_ioUnit, SQUEEZE_RIGHT, 1 )
91
92 RETURN
93 END
94 SUBROUTINE MON_OUT_RS(pref, value, foot )
95 C.sh /==========================================================\
96 C | SUBROUTINE MON_OUT_RS |
97 C | o Formatted RS I/O for monitor print out. |
98 C. \==========================================================/
99 IMPLICIT NONE
100
101 C.gd === Global data ===
102 #include "SIZE.h"
103 #include "EEPARAMS.h"
104 #include "MONITOR.h"
105 EXTERNAL IFNBLNK
106 INTEGER IFNBLNK
107 EXTERNAL ILNBLNK
108 INTEGER ILNBLNK
109 C.
110
111 C.ra === Routine arguments ===
112 C.d pref - Field prefix ( ignored if == mon_string_none )
113 C.d value - Value to print
114 C.d foot - Field suffix ( ignored if == mon_string_none )
115 CHARACTER*(*) pref
116 _RS value
117 CHARACTER*(*) foot
118 C.
119
120 C.lv === Local variables ===
121 C.d msgBuf - Buffer for building output string
122 C.d lBuf - Buffer for length
123 C.d. I0 - Temps used in calculating string length
124 C I1
125 C. IL
126 CHARACTER*(MAX_LEN_MBUF) msgBuf
127 INTEGER lBuf
128 INTEGER I0, I1, IL
129 C.
130
131 msgBuf = ' '
132 lBuf = 0
133
134 I0 = IFNBLNK(mon_head)
135 I1 = ILNBLNK(mon_head)
136 IL = I1-I0+1
137 IF ( IL .GT. 0 .AND. lBuf+IL+1 .LE. MAX_LEN_MBUF ) THEN
138 msgBuf(1:IL) = mon_head
139 lBuf = IL+1
140 msgBuf(lBuf:lBuf) = ' '
141 ENDIF
142
143 IF ( mon_pref(1:mon_prefL) .NE. mon_string_none .AND.
144 & lBuf+mon_prefL+1 .LE. MAX_LEN_MBUF ) THEN
145 lBuf = lBuf+1
146 msgBuf(lBuf:lBuf+mon_prefL-1) = mon_pref(1:mon_prefL)
147 lBuf = lBuf+mon_prefL-1
148 ENDIF
149
150 I0 = IFNBLNK(pref)
151 I1 = ILNBLNK(pref)
152 IL = I1-I0+1
153 IF ( IL .GT. 0 ) THEN
154 IF ( pref(I0:I1) .NE. mon_string_none .AND.
155 & lBuf+IL+1 .LE. MAX_LEN_MBUF ) THEN
156 lBuf = lBuf+1
157 msgBuf(lBuf:lBuf+IL-1) = pref(I0:I1)
158 lBuf = lBuf+IL-1
159 ENDIF
160 ENDIF
161
162 I0 = IFNBLNK(foot)
163 I1 = ILNBLNK(foot)
164 IL = I1-I0+1
165 IF ( IL .GT. 0 ) THEN
166 IF ( foot(I0:I1) .NE. mon_string_none .AND.
167 & lBuf+IL+1 .LE. MAX_LEN_MBUF ) THEN
168 lBuf = lBuf+1
169 msgBuf(lBuf:lBuf+IL-1) = foot(I0:I1)
170 lBuf = lBuf+IL-1
171 ENDIF
172 ENDIF
173
174 msgBuf(35:35) = '='
175
176 WRITE(msgBuf(36:57),'(1X,1P1E21.13)') value
177
178 CALL PRINT_MESSAGE( msgBuf, mon_ioUnit, SQUEEZE_RIGHT, 1 )
179 RETURN
180 END
181 SUBROUTINE MON_OUT_RL(pref, value, foot )
182 C.sh /==========================================================\
183 C | SUBROUTINE MON_OUT_RL |
184 C | o Formatted RL I/O for monitor print out. |
185 C. \==========================================================/
186 IMPLICIT NONE
187
188 C.gd === Global data ===
189 #include "SIZE.h"
190 #include "EEPARAMS.h"
191 #include "MONITOR.h"
192 EXTERNAL IFNBLNK
193 INTEGER IFNBLNK
194 EXTERNAL ILNBLNK
195 INTEGER ILNBLNK
196 C.
197
198 C.ra === Routine arguments ===
199 C.d pref - Field prefix ( ignored if == mon_string_none )
200 C.d value - Value to print
201 C.d foot - Field suffix ( ignored if == mon_string_none )
202 CHARACTER*(*) pref
203 _RL value
204 CHARACTER*(*) foot
205 C.
206
207 C.lv === Local variables ===
208 C.d msgBuf - Buffer for building output string
209 C.d lBuf - Buffer for length
210 C.d. I0 - Temps used in calculating string length
211 C I1
212 C. IL
213 CHARACTER*(MAX_LEN_MBUF) msgBuf
214 INTEGER lBuf
215 INTEGER I0, I1, IL
216 C.
217
218 msgBuf = ' '
219 lBuf = 0
220
221 I0 = IFNBLNK(mon_head)
222 I1 = ILNBLNK(mon_head)
223 IL = I1-I0+1
224 IF ( IL .GT. 0 .AND. lBuf+IL+1 .LE. MAX_LEN_MBUF ) THEN
225 msgBuf(1:IL) = mon_head
226 lBuf = IL+1
227 msgBuf(lBuf:lBuf) = ' '
228 ENDIF
229
230 IF ( mon_pref(1:mon_prefL) .NE. mon_string_none .AND.
231 & lBuf+mon_prefL+1 .LE. MAX_LEN_MBUF ) THEN
232 lBuf = lBuf+1
233 msgBuf(lBuf:lBuf+mon_prefL-1) = mon_pref(1:mon_prefL)
234 lBuf = lBuf+mon_prefL-1
235 ENDIF
236
237 I0 = IFNBLNK(pref)
238 I1 = ILNBLNK(pref)
239 IL = I1-I0+1
240 IF ( IL .GT. 0 ) THEN
241 IF ( pref(I0:I1) .NE. mon_string_none .AND.
242 & lBuf+IL+1 .LE. MAX_LEN_MBUF ) THEN
243 lBuf = lBuf+1
244 msgBuf(lBuf:lBuf+IL-1) = pref(I0:I1)
245 lBuf = lBuf+IL-1
246 ENDIF
247 ENDIF
248
249 I0 = IFNBLNK(foot)
250 I1 = ILNBLNK(foot)
251 IL = I1-I0+1
252 IF ( IL .GT. 0 ) THEN
253 IF ( foot(I0:I1) .NE. mon_string_none .AND.
254 & lBuf+IL+1 .LE. MAX_LEN_MBUF ) THEN
255 lBuf = lBuf+1
256 msgBuf(lBuf:lBuf+IL-1) = foot(I0:I1)
257 lBuf = lBuf+IL-1
258 ENDIF
259 ENDIF
260
261 msgBuf(35:35) = '='
262
263 WRITE(msgBuf(36:57),'(1X,1P1E21.13)') value
264
265 CALL PRINT_MESSAGE( msgBuf, mon_ioUnit, SQUEEZE_RIGHT, 1 )
266 RETURN
267 END

  ViewVC Help
Powered by ViewVC 1.1.22