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

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

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


Revision 1.1 - (hide 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 cnh 1.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