/[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.14 - (hide annotations) (download)
Tue Dec 14 16:54:08 2004 UTC (19 years, 5 months ago) by edhill
Branch: MAIN
CVS Tags: checkpoint57m_post, checkpoint57g_pre, checkpoint57s_post, checkpoint57b_post, checkpoint57g_post, checkpoint57y_post, checkpoint57r_post, checkpoint57d_post, checkpoint57i_post, checkpoint58, checkpoint57n_post, checkpoint58a_post, checkpoint57z_post, checkpoint57l_post, checkpoint57t_post, checkpoint57v_post, checkpoint57f_post, checkpoint57h_pre, checkpoint57h_post, checkpoint57y_pre, checkpoint57c_post, checkpoint57c_pre, checkpoint57e_post, checkpoint57p_post, checkpint57u_post, checkpoint57q_post, eckpoint57e_pre, checkpoint57h_done, checkpoint57j_post, checkpoint57f_pre, checkpoint57o_post, checkpoint57k_post, checkpoint57w_post, checkpoint57x_post
Changes since 1.13: +2 -2 lines
 o every instance of _END_MASTER() has been found and replaced with
   _END_MASTER( myThid ) in order to satisfy certain picky Sun
   preprocessors

1 edhill 1.14 C $Header: /u/gcmpack/MITgcm/pkg/monitor/mon_out.F,v 1.13 2004/10/10 06:08:49 edhill 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 edhill 1.6 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 !INPUT PARAMETERS:
17 edhill 1.6 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 cnh 1.1 CHARACTER*(*) pref
21     INTEGER value
22     CHARACTER*(*) foot
23 edhill 1.5 INTEGER myThid
24     CEOP
25 cnh 1.1
26 edhill 1.7 CALL MON_OUT_ALL(pref, foot, 1, value, 0.0d0, myThid)
27 edhill 1.6 RETURN
28     END
29 cnh 1.1
30 edhill 1.6 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
31     CBOP
32     C !ROUTINE: MON_OUT_RS
33 cnh 1.1
34 edhill 1.6 C !INTERFACE:
35     SUBROUTINE MON_OUT_RS( pref, value, foot, myThid )
36 cnh 1.1
37 edhill 1.6 C !DESCRIPTION:
38     C Formatted RS I/O for monitor print out.
39 cnh 1.1
40 edhill 1.6 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 edhill 1.7 REAL*8 dtmp
50     dtmp = value
51 cnh 1.1
52 edhill 1.7 CALL MON_OUT_ALL(pref, foot, 2, 0, dtmp, myThid)
53 cnh 1.1 RETURN
54     END
55 edhill 1.5
56     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
57 edhill 1.6 CBOP
58     C !ROUTINE: MON_OUT_RL
59 edhill 1.5
60 edhill 1.6 C !INTERFACE:
61 edhill 1.7 SUBROUTINE MON_OUT_RL( pref, value, foot, myThid )
62 cnh 1.1
63 edhill 1.6 C !DESCRIPTION:
64     C Formatted RL I/O for monitor print out.
65 cnh 1.1
66 edhill 1.6 C !INPUT PARAMETERS:
67     C pref - Field prefix ( ignored if == mon_string_none )
68     C value - Value to print
69     C foot - Field suffix ( ignored if == mon_string_none )
70 cnh 1.1 CHARACTER*(*) pref
71 edhill 1.6 _RL value
72 cnh 1.1 CHARACTER*(*) foot
73 edhill 1.6 INTEGER myThid
74     CEOP
75 edhill 1.7 REAL*8 dtmp
76     dtmp = value
77 cnh 1.1
78 edhill 1.7 CALL MON_OUT_ALL(pref, foot, 2, 0, dtmp, myThid)
79 edhill 1.6 RETURN
80     END
81 cnh 1.1
82 edhill 1.6 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
83     CBOP 1
84     C !ROUTINE: MON_OUT_ALL
85 cnh 1.1
86 edhill 1.6 C !INTERFACE:
87     SUBROUTINE MON_OUT_ALL(
88     I pref, foot,
89 edhill 1.7 I itype, ival, dval,
90 edhill 1.6 I myThid )
91 cnh 1.1
92 edhill 1.6 C !DESCRIPTION:
93     C Formatted I/O for monitor output.
94 cnh 1.1
95 edhill 1.6 C !USES:
96 cnh 1.1 IMPLICIT NONE
97     #include "SIZE.h"
98     #include "EEPARAMS.h"
99 dimitri 1.4 #include "PARAMS.h"
100     #include "EESUPPORT.h"
101 cnh 1.1 #include "MONITOR.h"
102 edhill 1.6 INTEGER IFNBLNK
103     INTEGER ILNBLNK
104    
105     C !INPUT PARAMETERS:
106     C pref - Field prefix ( ignored if == mon_string_none )
107     C foot - Field suffix ( ignored if == mon_string_none )
108     CHARACTER*(*) pref, foot
109     INTEGER itype
110     INTEGER ival
111 edhill 1.7 REAL*8 dval
112 edhill 1.6 INTEGER myThid
113     CEOP
114 cnh 1.1
115 edhill 1.6 C !LOCAL VARIABLES:
116     C msgBuf - Buffer for building output string
117     C lBuf - Buffer for length
118     C I0 - Temps used in calculating string length
119 cnh 1.1 CHARACTER*(MAX_LEN_MBUF) msgBuf
120     INTEGER lBuf
121 edhill 1.8 INTEGER i, I0,I1, IL
122     CHARACTER*(100) mon_vname
123     INTEGER nvname
124 edhill 1.12 INTEGER ivarr(1)
125     REAL*8 dvarr(1)
126    
127     ivarr(1) = ival
128     dvarr(1) = dval
129 cnh 1.1
130     msgBuf = ' '
131     lBuf = 0
132    
133 edhill 1.8 DO i = 1,100
134     mon_vname(i:i) = ' '
135     ENDDO
136    
137 cnh 1.1 I0 = IFNBLNK(mon_head)
138     I1 = ILNBLNK(mon_head)
139     IL = I1-I0+1
140     IF ( IL .GT. 0 .AND. lBuf+IL+1 .LE. MAX_LEN_MBUF ) THEN
141 edhill 1.8 msgBuf(1:IL) = mon_head
142     lBuf = IL+1
143     msgBuf(lBuf:lBuf) = ' '
144 cnh 1.1 ENDIF
145 edhill 1.8
146 cnh 1.1 IF ( mon_pref(1:mon_prefL) .NE. mon_string_none .AND.
147     & lBuf+mon_prefL+1 .LE. MAX_LEN_MBUF ) THEN
148 edhill 1.8 lBuf = lBuf+1
149     msgBuf(lBuf:lBuf+mon_prefL-1) = mon_pref(1:mon_prefL)
150     lBuf = lBuf+mon_prefL-1
151     mon_vname(1:mon_prefL) = mon_pref(1:mon_prefL)
152     nvname = mon_prefL
153     ELSE
154     nvname = 0
155 cnh 1.1 ENDIF
156    
157     I0 = IFNBLNK(pref)
158     I1 = ILNBLNK(pref)
159     IL = I1-I0+1
160     IF ( IL .GT. 0 ) THEN
161 edhill 1.8 IF ( pref(I0:I1) .NE. mon_string_none .AND.
162     & lBuf+IL+1 .LE. MAX_LEN_MBUF ) THEN
163     lBuf = lBuf+1
164     msgBuf(lBuf:lBuf+IL-1) = pref(I0:I1)
165     lBuf = lBuf+IL-1
166     mon_vname((nvname+1):(nvname+IL)) = pref(I0:I1)
167     nvname = nvname + IL
168     ENDIF
169 cnh 1.1 ENDIF
170    
171 edhill 1.8 I0 = IFNBLNK(foot)
172     I1 = ILNBLNK(foot)
173     IL = I1-I0+1
174 cnh 1.1 IF ( IL .GT. 0 ) THEN
175 edhill 1.8 IF ( foot(I0:I1) .NE. mon_string_none .AND.
176     & lBuf+IL+1 .LE. MAX_LEN_MBUF ) THEN
177     lBuf = lBuf+1
178     msgBuf(lBuf:lBuf+IL-1) = foot(I0:I1)
179     lBuf = lBuf+IL-1
180     mon_vname((nvname+1):(nvname+IL)) = foot(I0:I1)
181     nvname = nvname + IL
182     ENDIF
183 cnh 1.1 ENDIF
184    
185 edhill 1.8 C write(*,*) 'mon_vname = ''', mon_vname(1:nvname), ''''
186 edhill 1.9 C write(*,*) 'mon_write_mnc = ''', mon_write_mnc, ''''
187     C write(*,*) 'mon_write_stdout = ''', mon_write_stdout, ''''
188 edhill 1.8
189 cnh 1.1 msgBuf(35:35) = '='
190    
191 adcroft 1.2 _BEGIN_MASTER(myThid)
192 dimitri 1.4 #ifdef ALLOW_USE_MPI
193 edhill 1.6 IF ( .NOT. useSingleCPUIO .OR. mpiMyId .EQ. 0 ) THEN
194 dimitri 1.4 #endif /* ALLOW_USE_MPI */
195 edhill 1.9
196     IF (mon_write_stdout) THEN
197     IF (itype .EQ. 1)
198     & WRITE(msgBuf(36:57),'(1X,I21)') ival
199     IF (itype .EQ. 2)
200     & WRITE(msgBuf(36:57),'(1X,1P1E21.13)') dval
201     CALL PRINT_MESSAGE(msgBuf, mon_ioUnit, SQUEEZE_RIGHT, 1)
202     ENDIF
203 edhill 1.8
204     #ifdef ALLOW_MNC
205 edhill 1.9 IF (useMNC .AND. mon_write_mnc) THEN
206 edhill 1.8 CALL MNC_CW_APPEND_VNAME(
207     & mon_vname, '-_-_--__-__t', 0,0, myThid)
208     IF (itype .EQ. 1)
209     & CALL MNC_CW_I_W(
210 edhill 1.12 & 'I',mon_fname,1,1,mon_vname, ivarr, myThid)
211 edhill 1.8 IF (itype .EQ. 2)
212     & CALL MNC_CW_RL_W(
213 edhill 1.12 & 'D',mon_fname,1,1,mon_vname, dvarr, myThid)
214 edhill 1.8 ENDIF
215     #endif /* ALLOW_MNC */
216    
217 dimitri 1.4 #ifdef ALLOW_USE_MPI
218 edhill 1.6 ENDIF
219 dimitri 1.4 #endif /* ALLOW_USE_MPI */
220 edhill 1.14 _END_MASTER(myThid)
221 cnh 1.1
222     RETURN
223     END
224 edhill 1.6
225     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|

  ViewVC Help
Powered by ViewVC 1.1.22