/[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.5 - (hide annotations) (download)
Sat Apr 3 04:57:11 2004 UTC (20 years, 2 months ago) by edhill
Branch: MAIN
Changes since 1.4: +40 -34 lines
 o add monitor to apr_reference
 o another _R[48] clean-up in eesupp

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

  ViewVC Help
Powered by ViewVC 1.1.22