/[MITgcm]/MITgcm/model/src/plot_field.F
ViewVC logotype

Annotation of /MITgcm/model/src/plot_field.F

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


Revision 1.14 - (hide annotations) (download)
Thu Feb 7 20:00:09 2002 UTC (22 years, 3 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint46n_post, checkpoint51k_post, checkpoint62v, checkpoint47e_post, checkpoint57m_post, checkpoint52l_pre, checkpoint44e_post, checkpoint62u, hrcube4, hrcube5, checkpoint46l_post, checkpoint57g_pre, checkpoint46g_pre, checkpoint47c_post, checkpoint62t, checkpoint50c_post, checkpoint57s_post, checkpoint58b_post, checkpoint57b_post, checkpoint46f_post, checkpoint52d_pre, checkpoint57g_post, checkpoint48e_post, checkpoint56b_post, checkpoint50c_pre, checkpoint57y_post, checkpoint44f_post, checkpoint46b_post, checkpoint52j_pre, checkpoint51o_pre, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint54d_post, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint54e_post, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e, checkpoint62c, checkpoint51l_post, checkpoint48i_post, checkpoint57r_post, checkpoint46l_pre, checkpoint57d_post, checkpoint57i_post, checkpoint52l_post, checkpoint52k_post, chkpt44d_post, checkpoint59, checkpoint58, checkpoint55, checkpoint54, checkpoint57, checkpoint56, checkpoint51, checkpoint50, checkpoint53, checkpoint52, checkpoint50d_post, checkpoint58f_post, checkpoint52f_post, checkpoint57n_post, checkpoint58d_post, checkpoint62s, checkpoint58a_post, checkpoint62r, checkpoint62q, checkpoint50b_pre, checkpoint44e_pre, checkpoint62p, checkpoint57z_post, checkpoint54f_post, checkpoint51f_post, checkpoint62a, checkpoint62g, checkpoint62f, checkpoint62e, checkpoint62d, checkpoint62k, checkpoint62j, checkpoint62i, checkpoint62h, checkpoint62o, checkpoint62n, checkpoint62m, checkpoint62l, checkpoint62w, checkpoint62z, checkpoint62y, checkpoint62x, checkpoint58y_post, checkpoint48b_post, checkpoint51d_post, checkpoint48c_pre, checkpoint47d_pre, checkpoint51t_post, checkpoint58t_post, checkpoint51n_post, checkpoint55i_post, checkpoint58m_post, checkpoint57l_post, checkpoint52i_pre, hrcube_1, hrcube_2, hrcube_3, checkpoint51s_post, checkpoint47a_post, checkpoint57t_post, checkpoint55c_post, checkpoint48d_pre, checkpoint51j_post, checkpoint47i_post, checkpoint63g, checkpoint52e_pre, checkpoint57v_post, checkpoint57f_post, checkpoint52e_post, checkpoint51n_pre, checkpoint47d_post, checkpoint53d_post, checkpoint46d_pre, checkpoint64, checkpoint65, checkpoint60, checkpoint61, checkpoint62, checkpoint63, checkpoint57a_post, checkpoint48d_post, checkpoint57h_pre, checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint48f_post, checkpoint45d_post, checkpoint52b_pre, checkpoint54b_post, checkpoint46j_pre, checkpoint58w_post, checkpoint57h_post, checkpoint51l_pre, checkpoint52m_post, checkpoint57y_pre, checkpoint55g_post, checkpoint44h_pre, checkpoint48h_post, checkpoint51q_post, checkpoint51b_pre, checkpoint46a_post, checkpoint47g_post, checkpoint52b_post, checkpoint52c_post, checkpoint46j_post, checkpoint51h_pre, checkpoint46k_post, chkpt44c_pre, checkpoint58o_post, checkpoint48a_post, checkpoint45a_post, checkpoint57c_post, checkpoint50f_post, checkpoint50a_post, checkpoint50f_pre, checkpoint58p_post, checkpoint58q_post, checkpoint52f_pre, checkpoint55d_post, checkpoint58e_post, mitgcm_mapl_00, checkpoint47j_post, checkpoint54a_pre, checkpoint63p, checkpoint63q, checkpoint63r, checkpoint63s, checkpoint63l, checkpoint63m, checkpoint63n, checkpoint63o, checkpoint63h, checkpoint63i, checkpoint63j, checkpoint63k, checkpoint63d, checkpoint63e, checkpoint63f, checkpoint53c_post, checkpoint63a, checkpoint63b, checkpoint63c, checkpoint55d_pre, checkpoint57c_pre, checkpoint58r_post, checkpoint55j_post, branch-exfmods-tag, checkpoint44g_post, branchpoint-genmake2, checkpoint54a_post, checkpoint46e_pre, checkpoint55h_post, checkpoint58n_post, checkpoint51r_post, checkpoint48c_post, checkpoint45b_post, checkpoint46b_pre, checkpoint51i_post, checkpoint57e_post, release1_final_v1, checkpoint55b_post, checkpoint51b_post, checkpoint51c_post, checkpoint46c_pre, checkpoint53a_post, checkpoint46, checkpoint65o, checkpoint47b_post, checkpoint44b_post, checkpoint59q, checkpoint59p, checkpoint59r, checkpoint59e, checkpoint59d, checkpoint59g, checkpoint59f, checkpoint59a, checkpoint55f_post, checkpoint59c, checkpoint59b, checkpoint59m, checkpoint59l, checkpoint59o, checkpoint59n, checkpoint59i, checkpoint59h, checkpoint59k, checkpoint46h_pre, checkpoint52d_post, checkpoint53g_post, checkpoint46m_post, checkpoint57p_post, checkpint57u_post, checkpoint46a_pre, checkpoint50g_post, checkpoint45c_post, checkpoint57q_post, checkpoint44h_post, eckpoint57e_pre, checkpoint46g_post, checkpoint58k_post, checkpoint52a_pre, checkpoint62b, checkpoint58v_post, checkpoint50h_post, checkpoint52i_post, checkpoint50e_pre, checkpoint50i_post, checkpoint51i_pre, checkpoint52h_pre, checkpoint56a_post, checkpoint64y, checkpoint64x, checkpoint58l_post, checkpoint64z, checkpoint53f_post, checkpoint64q, checkpoint64p, checkpoint64s, checkpoint64r, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint64i, checkpoint64h, checkpoint64k, checkpoint64j, checkpoint64m, checkpoint64l, checkpoint64o, checkpoint64n, checkpoint64a, checkpoint64c, checkpoint64b, checkpoint64e, checkpoint64d, checkpoint64g, checkpoint64f, checkpoint57h_done, checkpoint52j_post, checkpoint47f_post, checkpoint50e_post, checkpoint46i_post, checkpoint57j_post, checkpoint57f_pre, checkpoint61f, checkpoint46c_post, checkpoint58g_post, branch-netcdf, checkpoint50d_pre, checkpoint58x_post, checkpoint61n, checkpoint52n_post, checkpoint53b_pre, checkpoint46e_post, checkpoint59j, checkpoint58h_post, checkpoint56c_post, checkpoint58j_post, checkpoint51e_post, checkpoint57a_pre, checkpoint55a_post, checkpoint47, checkpoint45, checkpoint48, checkpoint49, checkpoint57o_post, checkpoint46h_post, checkpoint51o_post, checkpoint61q, checkpoint57k_post, checkpoint51f_pre, chkpt44c_post, checkpoint48g_post, checkpoint53b_post, checkpoint47h_post, checkpoint52a_post, checkpoint57w_post, checkpoint61e, checkpoint44f_pre, checkpoint58i_post, checkpoint51g_post, ecco_c52_e35, checkpoint57x_post, checkpoint46d_post, checkpoint50b_post, checkpoint58c_post, checkpoint58u_post, checkpoint51m_post, checkpoint53d_pre, checkpoint58s_post, checkpoint55e_post, checkpoint61g, checkpoint61d, checkpoint54c_post, checkpoint61b, checkpoint61c, checkpoint61a, checkpoint51a_post, checkpoint61o, checkpoint61l, checkpoint61m, checkpoint61j, checkpoint61k, checkpoint61h, checkpoint61i, checkpoint61v, checkpoint61w, checkpoint61t, checkpoint61u, checkpoint61r, checkpoint61s, checkpoint61p, checkpoint51p_post, checkpoint61z, checkpoint61x, checkpoint61y, checkpoint51u_post, HEAD
Branch point for: branch-exfmods-curt, release1_final, branch-genmake2, branch-nonh, tg2-branch, netcdf-sm0, checkpoint51n_branch
Changes since 1.13: +402 -74 lines
o merge of relevant stuff from the ecco-branch:
  - genmake: removed $S64 overwrite for case SunOS
  - pkg/exf: update and corrections for field swapping and obcs
  - pkg/ecco: parameter lists for the_model_main, the_main_loop
              harmonized between ECCO and MITgcm
  - pkg/autodiff: added flow directives for obcs, mdsio_gl_slice
                  updated checkpointing_lev... lists for obcs
  - model/src: minor changes in forward_step, plot_field
               added directive for divided adjoint in the_main_loop
  - pkg/mdsio: added mdsio_gl_slice

1 heimbach 1.14 C $Header: /u/gcmpack/MITgcm/model/src/plot_field.F,v 1.13.6.1 2002/02/06 23:25:04 heimbach Exp $
2 jmc 1.12 C $Name: $
3 cnh 1.1
4 cnh 1.8 #include "CPP_OPTIONS.h"
5 cnh 1.1
6     C-- File plot_field.F: Routines for "formatted" I/O in the MITgcm UV
7     C-- implementation.
8     C-- Contents
9 cnh 1.5 C-- o plot_field_xyrs - Writes a XY _RS field
10     C-- o plot_field_xyrl - Writes a XY _RL field
11     C-- o plot_field_xyzrs - Writes a XYZ _RS field
12     C-- o plot_field_xyzrl - Writes a XYZ _RL field
13     SUBROUTINE PLOT_FIELD_XYRS(
14 cnh 1.1 I fld, fldNam , myIter, myThid )
15    
16 heimbach 1.14 C /==========================================================\
17     C | SUBROUTINE PLOT_FIELD_XYRS |
18     C | Print out an XY _RS field using text map. |
19     C |==========================================================|
20     C | This routine references "numerical model" parameters like|
21     C | like the integration time. It uses these to create a |
22     C | title for the field before calling a generic execution |
23     C | environment support routine. |
24     C | This routine can also be edited to cause only some region|
25     C | of a field to be printed by default, or every other |
26     C | point etc.. |
27     C | Other plot formats can also be substituted here. |
28     C | _RS is usually REAL*4 |
29     C \==========================================================/
30     IMPLICIT NONE
31 cnh 1.13
32 cnh 1.1 #include "SIZE.h"
33     #include "EEPARAMS.h"
34     #include "PARAMS.h"
35    
36     C == Routine arguments ==
37     C fld - Field to plot
38     C fldNam - Name of field
39     C myIter - Iteration number for plot
40     C myThid - Thread id of thread instance calling plot_field
41 cnh 1.5 _RS fld(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
42 cnh 1.1 CHARACTER*(*) fldNam
43     INTEGER myThid
44     INTEGER myIter
45    
46     C == Local variables ==
47     CHARACTER*(MAX_LEN_MBUF) fldTitle
48     INTEGER iStart, iEnd, iStride
49     INTEGER jStart, jEnd, jStride
50     INTEGER kStart, kEnd, kStride
51     INTEGER biStart, biEnd, biStride
52     INTEGER bjStart, bjEnd, bjStride
53    
54     C-- To get around synchronisation and multi-threaded I/O issues
55     C-- thread 1 will do all the writes.
56 cnh 1.6 _BARRIER
57 cnh 1.1 IF ( myThid .EQ. 1 ) THEN
58     C-- Form name for identifying "plot"
59     IF ( myIter .GE. 0 ) THEN
60 cnh 1.7 WRITE(fldTitle,'(A,A,A,I10)')
61     & '// Field ', fldNam, ' at iteration ',
62 cnh 1.1 & myIter
63     ELSE
64     WRITE(fldTitle,'(A,A)') '// Field ', fldNam
65     ENDIF
66     C-- Do "plot" using textual contour map "execution environment" routine
67     C Substitute other plotting utilities here!
68     iStart = 1-OLx
69     iEnd = sNx+OLx
70     iStride = 1
71     jStart = sNy+OLy
72     jEnd = 1-OLy
73     jStride = -1
74     kStart = 1
75     kEnd = 1
76     kStride = 1
77     biStart = 1
78     biEnd = nSx
79     biStride = 1
80     bjStart = nSy
81     bjEnd = 1
82     bjStride = -1
83 cnh 1.5 CALL PRINT_MAPRS(
84 cnh 1.1 I fld, fldTitle, PRINT_MAP_XY,
85     I 1-OLx,sNx+OLx,1-OLy,sNy+OLy,1,1, nSx, nSy,
86     I iStart, iEnd, iStride,
87     I jStart, jEnd, jStride,
88     I kStart, kEnd, kStride,
89     I biStart, biEnd, biStride,
90     I bjStart, bjEnd, bjStride )
91     ENDIF
92 cnh 1.6 _BARRIER
93 cnh 1.1
94     RETURN
95     END
96 cnh 1.5 SUBROUTINE PLOT_FIELD_XYRL(
97 cnh 1.1 I fld, fldNam , myIter, myThid )
98    
99 heimbach 1.14 C /==========================================================\
100     C | SUBROUTINE PLOT_FIELD_XYRL |
101     C | Print out an XY _RL field using text map. |
102     C |==========================================================|
103     C | This routine references "numerical model" parameters like|
104     C | like the integration time. It uses these to create a |
105     C | title for the field before calling a generic execution |
106     C | environment support routine. |
107     C | This routine can also be edited to cause only some region|
108     C | of a field to be printed by default, or every other |
109     C | point etc.. |
110     C | Other plot formats can also be substituted here. |
111     C | _RL is usually REAL*8 |
112     C \==========================================================/
113     IMPLICIT NONE
114 cnh 1.13
115 cnh 1.1 #include "SIZE.h"
116     #include "EEPARAMS.h"
117     #include "PARAMS.h"
118    
119     C == Routine arguments ==
120     C fld - Field to plot
121     C fldNam - Name of field
122     C myIter - Iteration number for plot
123     C myThid - Thread id of thread instance calling plot_field
124 cnh 1.5 _RL fld(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
125 cnh 1.1 CHARACTER*(*) fldNam
126     INTEGER myThid
127     INTEGER myIter
128    
129     C == Local variables ==
130     CHARACTER*(MAX_LEN_MBUF) fldTitle
131     INTEGER iStart, iEnd, iStride
132     INTEGER jStart, jEnd, jStride
133     INTEGER kStart, kEnd, kStride
134     INTEGER biStart, biEnd, biStride
135     INTEGER bjStart, bjEnd, bjStride
136    
137     C-- To get around synchronisation and multi-threaded I/O issues
138     C-- thread 1 will do all the writes.
139 cnh 1.6 _BARRIER
140 cnh 1.1 IF ( myThid .EQ. 1 ) THEN
141     C-- Form name for identifying "plot"
142     IF ( myIter .GE. 0 ) THEN
143 cnh 1.7 WRITE(fldTitle,'(A,A,A,I10)')
144     & '// Field ', fldNam, ' at iteration ',
145 cnh 1.1 & myIter
146     ELSE
147     WRITE(fldTitle,'(A,A)') '// Field ', fldNam
148     ENDIF
149     C-- Do "plot" using textual contour map "execution environment" routine
150     C Substitute other plotting utilities here!
151     iStart = 1-OLx
152     iEnd = sNx+OLx
153     iStride = 1
154     jStart = sNy+OLy
155     jEnd = 1-OLy
156     jStride = -1
157     kStart = 1
158     kEnd = 1
159     kStride = 1
160     biStart = 1
161     biEnd = nSx
162     biStride = 1
163     bjStart = nSy
164     bjEnd = 1
165     bjStride = -1
166 cnh 1.5 CALL PRINT_MAPRL(
167 cnh 1.1 I fld, fldTitle, PRINT_MAP_XY,
168     I 1-OLx,sNx+OLx,1-OLy,sNy+OLy,1,1, nSx, nSy,
169     I iStart, iEnd, iStride,
170     I jStart, jEnd, jStride,
171     I kStart, kEnd, kStride,
172     I biStart, biEnd, biStride,
173     I bjStart, bjEnd, bjStride )
174     ENDIF
175 cnh 1.6 _BARRIER
176 cnh 1.1
177     RETURN
178     END
179 cnh 1.5 SUBROUTINE PLOT_FIELD_XYZRS(
180 cnh 1.1 I fld, fldNam , fldNz, myIter, myThid )
181    
182 heimbach 1.14 C /==========================================================\
183     C | SUBROUTINE PLOT_FIELD_XYZR4 |
184     C | Print out an XYZ _RS field using text map. |
185     C |==========================================================|
186     C | This routine references "numerical model" parameters like|
187     C | like the integration time. It uses these to create a |
188     C | title for the field before calling a generic execution |
189     C | environment support routine. |
190     C | This routine can also be edited to cause only some region|
191     C | of a field to be printed by default, or every other |
192     C | point etc.. |
193     C | Other plot formats can also be substituted here. |
194     C | _RS is usually a REAL*4 field |
195     C \==========================================================/
196     IMPLICIT NONE
197 cnh 1.13
198 cnh 1.1 #include "SIZE.h"
199     #include "EEPARAMS.h"
200     #include "PARAMS.h"
201    
202     C == Routine arguments ==
203     C fld - Field to plot
204     C fldNam - Name of field
205     C fldNz - No. of layers in the vertical
206     C (Different fields may have different vertical extents)
207     C (Under the present implementation all fields have the)
208     C (same lateral extents. )
209     C myIter - Iteration number for plot
210     C myThid - Thread id of thread instance calling plot_field
211     INTEGER fldNz
212 cnh 1.5 _RS fld(1-OLx:sNx+OLx,1-OLy:sNy+OLy,1:fldNz,nSx,nSy)
213 cnh 1.1 CHARACTER*(*) fldNam
214     INTEGER myThid
215     INTEGER myIter
216    
217     C == Local variables ==
218     CHARACTER*(MAX_LEN_MBUF) fldTitle
219     INTEGER iStart, iEnd, iStride
220     INTEGER jStart, jEnd, jStride
221     INTEGER kStart, kEnd, kStride
222     INTEGER biStart, biEnd, biStride
223     INTEGER bjStart, bjEnd, bjStride
224    
225     C-- To get around synchronisation and multi-threaded I/O issues
226     C-- thread 1 will do all the writes.
227 cnh 1.6 _BARRIER
228 cnh 1.1 IF ( myThid .EQ. 1 ) THEN
229     C-- Form name for identifying "plot"
230     IF ( myIter .GE. 0 ) THEN
231 cnh 1.7 WRITE(fldTitle,'(A,A,A,I10)')
232     & '// Field ', fldNam, ' at iteration ',
233 cnh 1.1 & myIter
234     ELSE
235     WRITE(fldTitle,'(A,A)') '// Field ', fldNam
236     ENDIF
237     C-- Do "plot" using textual contour map "execution environment" routine
238     C Substitute other plotting utilities here!
239     iStart = 1-OLx
240     iEnd = sNx+OLx
241     C iStart = 1
242     C iEnd = sNx
243     iStride = 1
244     jStart = sNy+OLy
245     jEnd = 1-OLy
246     C jStart = sNy
247     C jEnd = 1
248     jStride = -1
249     kStart = 1
250 adcroft 1.10 C kEnd = fldNz
251 cnh 1.5 kEnd = 1
252 cnh 1.1 kStride = 1
253     biStart = 1
254     biEnd = nSx
255     biStride = 1
256     bjStart = nSy
257     bjEnd = 1
258     bjStride = -1
259 cnh 1.5 CALL PRINT_MAPRS(
260 cnh 1.1 I fld, fldTitle, PRINT_MAP_XY,
261     I 1-OLx,sNx+OLx,1-OLy,sNy+OLy,1,fldNz, nSx, nSy,
262     I iStart, iEnd, iStride,
263     I jStart, jEnd, jStride,
264     I kStart, kEnd, kStride,
265     I biStart, biEnd, biStride,
266     I bjStart, bjEnd, bjStride )
267     ENDIF
268 cnh 1.6 _BARRIER
269 cnh 1.1
270     RETURN
271     END
272 cnh 1.5 SUBROUTINE PLOT_FIELD_XYZRL(
273 cnh 1.1 I fld, fldNam , fldNz, myIter, myThid )
274    
275     C /==========================================================\
276 cnh 1.5 C | SUBROUTINE PLOT_FIELD_XYZRL |
277     C | Print out an XYZ _RL field using text map. |
278 cnh 1.1 C |==========================================================|
279     C | This routine references "numerical model" parameters like|
280     C | like the integration time. It uses these to create a |
281     C | title for the field before calling a generic execution |
282     C | environment support routine. |
283     C | This routine can also be edited to cause only some region|
284     C | of a field to be printed by default, or every other |
285     C | point etc.. |
286     C | Other plot formats can also be substituted here. |
287 cnh 1.5 C | _RL is usually a REAL*8 field |
288 cnh 1.1 C \==========================================================/
289 adcroft 1.9 IMPLICIT NONE
290    
291 cnh 1.1 #include "SIZE.h"
292     #include "EEPARAMS.h"
293     #include "PARAMS.h"
294    
295     C == Routine arguments ==
296     C fld - Field to plot
297     C fldNam - Name of field
298     C fldNz - No. of layers in the vertical
299     C (Different fields may have different vertical extents)
300     C (Under the present implementation all fields have the)
301     C (same lateral extents. )
302     C myIter - Iteration number for plot
303     C myThid - Thread id of thread instance calling plot_field
304     INTEGER fldNz
305 cnh 1.5 _RL fld(1-OLx:sNx+OLx,1-OLy:sNy+OLy,1:fldNz,nSx,nSy)
306 cnh 1.1 CHARACTER*(*) fldNam
307     INTEGER myThid
308     INTEGER myIter
309    
310     C == Local variables ==
311     CHARACTER*(MAX_LEN_MBUF) fldTitle
312     INTEGER iStart, iEnd, iStride
313     INTEGER jStart, jEnd, jStride
314     INTEGER kStart, kEnd, kStride
315     INTEGER biStart, biEnd, biStride
316     INTEGER bjStart, bjEnd, bjStride
317    
318     C-- To get around synchronisation and multi-threaded I/O issues
319     C-- thread 1 will do all the writes.
320 cnh 1.6 _BARRIER
321 cnh 1.1 IF ( myThid .EQ. 1 ) THEN
322     C-- Form name for identifying "plot"
323     IF ( myIter .GE. 0 ) THEN
324 cnh 1.7 WRITE(fldTitle,'(A,A,A,I10)')
325     & '// Field ', fldNam, ' at iteration ',
326 cnh 1.1 & myIter
327     ELSE
328     WRITE(fldTitle,'(A,A)') '// Field ', fldNam
329     ENDIF
330     C-- Do "plot" using textual contour map "execution environment" routine
331     C Substitute other plotting utilities here!
332     iStart = 1-OLx
333     iEnd = sNx+OLx
334 cnh 1.4 iStart = 1
335     iEnd = sNx
336 cnh 1.1 iStride = 1
337     jStart = sNy+OLy
338     jEnd = 1-OLy
339 cnh 1.4 jStart = sNy
340     jEnd = 1
341 cnh 1.1 jStride = -1
342     kStart = 1
343     kEnd = fldNz
344     kEnd = 1
345     kStride = 1
346     biStart = 1
347     biEnd = nSx
348     biStride = 1
349     bjStart = nSy
350     bjEnd = 1
351     bjStride = -1
352 cnh 1.5 CALL PRINT_MAPRL(
353 cnh 1.1 I fld, fldTitle, PRINT_MAP_XY,
354     I 1-OLx,sNx+OLx,1-OLy,sNy+OLy,1,fldNz, nSx, nSy,
355     I iStart, iEnd, iStride,
356     I jStart, jEnd, jStride,
357     I kStart, kEnd, kStride,
358     I biStart, biEnd, biStride,
359     I bjStart, bjEnd, bjStride )
360     ENDIF
361 cnh 1.6 _BARRIER
362 cnh 1.1
363     RETURN
364     END
365    
366 heimbach 1.14 SUBROUTINE PLOT_FIELD_XZRS(
367     I fld, fldNam , fldNz, myIter, myThid )
368    
369     C /==========================================================\
370     C | SUBROUTINE PLOT_FIELD_XYZR4 |
371     C | Print out an XYZ _RS field using text map. |
372     C |==========================================================|
373     C | This routine references "numerical model" parameters like|
374     C | like the integration time. It uses these to create a |
375     C | title for the field before calling a generic execution |
376     C | environment support routine. |
377     C | This routine can also be edited to cause only some region|
378     C | of a field to be printed by default, or every other |
379     C | point etc.. |
380     C | Other plot formats can also be substituted here. |
381     C | _RS is usually a REAL*4 field |
382     C \==========================================================/
383     IMPLICIT NONE
384    
385     #include "SIZE.h"
386     #include "EEPARAMS.h"
387     #include "PARAMS.h"
388    
389     C == Routine arguments ==
390     C fld - Field to plot
391     C fldNam - Name of field
392     C fldNz - No. of layers in the vertical
393     C (Different fields may have different vertical extents)
394     C (Under the present implementation all fields have the)
395     C (same lateral extents. )
396     C myIter - Iteration number for plot
397     C myThid - Thread id of thread instance calling plot_field
398     INTEGER fldNz
399     _RS fld(1-OLx:sNx+OLx,1:fldNz,nSx,nSy)
400     CHARACTER*(*) fldNam
401     INTEGER myThid
402     INTEGER myIter
403    
404     C == Local variables ==
405     CHARACTER*(MAX_LEN_MBUF) fldTitle
406     INTEGER iStart, iEnd, iStride
407     INTEGER jStart, jEnd, jStride
408     INTEGER kStart, kEnd, kStride
409     INTEGER biStart, biEnd, biStride
410     INTEGER bjStart, bjEnd, bjStride
411    
412     C-- To get around synchronisation and multi-threaded I/O issues
413     C-- thread 1 will do all the writes.
414     _BARRIER
415     IF ( myThid .EQ. 1 ) THEN
416     C-- Form name for identifying "plot"
417     IF ( myIter .GE. 0 ) THEN
418     WRITE(fldTitle,'(A,A,A,I10)')
419     & '// Field ', fldNam, ' at iteration ',
420     & myIter
421     ELSE
422     WRITE(fldTitle,'(A,A)') '// Field ', fldNam
423     ENDIF
424     C-- Do "plot" using textual contour map "execution environment" routine
425     C Substitute other plotting utilities here!
426     iStart = 1
427     iEnd = sNx
428     iStride = 1
429     jStart = 1
430     jEnd = 1
431     jStride = 1
432     kStart = 1
433     kEnd = fldNz
434     kStride = 1
435     biStart = 1
436     biEnd = nSx
437     biStride = 1
438     bjStart = nSy
439     bjEnd = 1
440     bjStride = -1
441     CALL PRINT_MAPRS(
442     I fld, fldTitle, PRINT_MAP_XZ,
443     I 1-OLx,sNx+OLx,1,fldNz,1,1, nSx, nSy,
444     I iStart, iEnd, iStride,
445     I jStart, jEnd, jStride,
446     I kStart, kEnd, kStride,
447     I biStart, biEnd, biStride,
448     I bjStart, bjEnd, bjStride )
449     ENDIF
450     _BARRIER
451    
452     RETURN
453     END
454     SUBROUTINE PLOT_FIELD_XZRL(
455     I fld, fldNam , fldNz, myIter, myThid )
456    
457     C /==========================================================\
458     C | SUBROUTINE PLOT_FIELD_XYZRL |
459     C | Print out an XYZ _RL field using text map. |
460     C |==========================================================|
461     C | This routine references "numerical model" parameters like|
462     C | like the integration time. It uses these to create a |
463     C | title for the field before calling a generic execution |
464     C | environment support routine. |
465     C | This routine can also be edited to cause only some region|
466     C | of a field to be printed by default, or every other |
467     C | point etc.. |
468     C | Other plot formats can also be substituted here. |
469     C | _RL is usually a REAL*8 field |
470     C \==========================================================/
471     IMPLICIT NONE
472    
473     #include "SIZE.h"
474     #include "EEPARAMS.h"
475     #include "PARAMS.h"
476    
477     C == Routine arguments ==
478     C fld - Field to plot
479     C fldNam - Name of field
480     C fldNz - No. of layers in the vertical
481     C (Different fields may have different vertical extents)
482     C (Under the present implementation all fields have the)
483     C (same lateral extents. )
484     C myIter - Iteration number for plot
485     C myThid - Thread id of thread instance calling plot_field
486     INTEGER fldNz
487     _RL fld(1-OLx:sNx+OLx,1:fldNz,nSx,nSy)
488     CHARACTER*(*) fldNam
489     INTEGER myThid
490     INTEGER myIter
491    
492     C == Local variables ==
493     CHARACTER*(MAX_LEN_MBUF) fldTitle
494     INTEGER iStart, iEnd, iStride
495     INTEGER jStart, jEnd, jStride
496     INTEGER kStart, kEnd, kStride
497     INTEGER biStart, biEnd, biStride
498     INTEGER bjStart, bjEnd, bjStride
499    
500     C-- To get around synchronisation and multi-threaded I/O issues
501     C-- thread 1 will do all the writes.
502     _BARRIER
503     IF ( myThid .EQ. 1 ) THEN
504     C-- Form name for identifying "plot"
505     IF ( myIter .GE. 0 ) THEN
506     WRITE(fldTitle,'(A,A,A,I10)')
507     & '// Field ', fldNam, ' at iteration ',
508     & myIter
509     ELSE
510     WRITE(fldTitle,'(A,A)') '// Field ', fldNam
511     ENDIF
512     C-- Do "plot" using textual contour map "execution environment" routine
513     C Substitute other plotting utilities here!
514     iStart = 1
515     iEnd = sNx
516     iStride = 1
517     jStart = 1
518     jEnd = 1
519     jStride = -1
520     kStart = 1
521     kEnd = fldNz
522     c kEnd = 1
523     kStride = 1
524     biStart = 1
525     biEnd = nSx
526     biStride = 1
527     bjStart = nSy
528     bjEnd = 1
529     bjStride = -1
530     CALL PRINT_MAPRL(
531     I fld, fldTitle, PRINT_MAP_XZ,
532     I 1-OLx,sNx+OLx,1,1,1,fldNz, nSx, nSy,
533     I iStart, iEnd, iStride,
534     I jStart, jEnd, jStride,
535     I kStart, kEnd, kStride,
536     I biStart, biEnd, biStride,
537     I bjStart, bjEnd, bjStride )
538     ENDIF
539     _BARRIER
540    
541     RETURN
542     END
543    
544     SUBROUTINE PLOT_FIELD_YZRS(
545     I fld, fldNam , fldNz, myIter, myThid )
546    
547     C /==========================================================\
548     C | SUBROUTINE PLOT_FIELD_XYZR4 |
549     C | Print out an XYZ _RS field using text map. |
550     C |==========================================================|
551     C | This routine references "numerical model" parameters like|
552     C | like the integration time. It uses these to create a |
553     C | title for the field before calling a generic execution |
554     C | environment support routine. |
555     C | This routine can also be edited to cause only some region|
556     C | of a field to be printed by default, or every other |
557     C | point etc.. |
558     C | Other plot formats can also be substituted here. |
559     C | _RS is usually a REAL*4 field |
560     C \==========================================================/
561     IMPLICIT NONE
562    
563     #include "SIZE.h"
564     #include "EEPARAMS.h"
565     #include "PARAMS.h"
566    
567     C == Routine arguments ==
568     C fld - Field to plot
569     C fldNam - Name of field
570     C fldNz - No. of layers in the vertical
571     C (Different fields may have different vertical extents)
572     C (Under the present implementation all fields have the)
573     C (same lateral extents. )
574     C myIter - Iteration number for plot
575     C myThid - Thread id of thread instance calling plot_field
576     INTEGER fldNz
577     _RS fld(1-OLy:sNy+OLy,1:fldNz,nSx,nSy)
578     CHARACTER*(*) fldNam
579     INTEGER myThid
580     INTEGER myIter
581    
582     C == Local variables ==
583     CHARACTER*(MAX_LEN_MBUF) fldTitle
584     INTEGER iStart, iEnd, iStride
585     INTEGER jStart, jEnd, jStride
586     INTEGER kStart, kEnd, kStride
587     INTEGER biStart, biEnd, biStride
588     INTEGER bjStart, bjEnd, bjStride
589    
590     C-- To get around synchronisation and multi-threaded I/O issues
591     C-- thread 1 will do all the writes.
592     _BARRIER
593     IF ( myThid .EQ. 1 ) THEN
594     C-- Form name for identifying "plot"
595     IF ( myIter .GE. 0 ) THEN
596     WRITE(fldTitle,'(A,A,A,I10)')
597     & '// Field ', fldNam, ' at iteration ',
598     & myIter
599     ELSE
600     WRITE(fldTitle,'(A,A)') '// Field ', fldNam
601     ENDIF
602     C-- Do "plot" using textual contour map "execution environment" routine
603     C Substitute other plotting utilities here!
604     iStart = 1
605     iEnd = 1
606     iStride = 1
607     jStart = sNy
608     jEnd = 1
609     jStride = -1
610     kStart = 1
611     kEnd = fldNz
612     C kEnd = 1
613     kStride = 1
614     biStart = 1
615     biEnd = nSx
616     biStride = 1
617     bjStart = nSy
618     bjEnd = 1
619     bjStride = -1
620     CALL PRINT_MAPRS(
621     I fld, fldTitle, PRINT_MAP_YZ,
622     I 1,1,1-OLy,sNy+OLy,1,fldNz, nSx, nSy,
623     I iStart, iEnd, iStride,
624     I jStart, jEnd, jStride,
625     I kStart, kEnd, kStride,
626     I biStart, biEnd, biStride,
627     I bjStart, bjEnd, bjStride )
628     ENDIF
629     _BARRIER
630    
631     RETURN
632     END
633     SUBROUTINE PLOT_FIELD_YZRL(
634     I fld, fldNam , fldNz, myIter, myThid )
635    
636     C /==========================================================\
637     C | SUBROUTINE PLOT_FIELD_XYZRL |
638     C | Print out an XYZ _RL field using text map. |
639     C |==========================================================|
640     C | This routine references "numerical model" parameters like|
641     C | like the integration time. It uses these to create a |
642     C | title for the field before calling a generic execution |
643     C | environment support routine. |
644     C | This routine can also be edited to cause only some region|
645     C | of a field to be printed by default, or every other |
646     C | point etc.. |
647     C | Other plot formats can also be substituted here. |
648     C | _RL is usually a REAL*8 field |
649     C \==========================================================/
650     IMPLICIT NONE
651    
652     #include "SIZE.h"
653     #include "EEPARAMS.h"
654     #include "PARAMS.h"
655    
656     C == Routine arguments ==
657     C fld - Field to plot
658     C fldNam - Name of field
659     C fldNz - No. of layers in the vertical
660     C (Different fields may have different vertical extents)
661     C (Under the present implementation all fields have the)
662     C (same lateral extents. )
663     C myIter - Iteration number for plot
664     C myThid - Thread id of thread instance calling plot_field
665     INTEGER fldNz
666     _RL fld(1-OLy:sNy+OLy,1:fldNz,nSx,nSy)
667     CHARACTER*(*) fldNam
668     INTEGER myThid
669     INTEGER myIter
670    
671     C == Local variables ==
672     CHARACTER*(MAX_LEN_MBUF) fldTitle
673     INTEGER iStart, iEnd, iStride
674     INTEGER jStart, jEnd, jStride
675     INTEGER kStart, kEnd, kStride
676     INTEGER biStart, biEnd, biStride
677     INTEGER bjStart, bjEnd, bjStride
678    
679     C-- To get around synchronisation and multi-threaded I/O issues
680     C-- thread 1 will do all the writes.
681     _BARRIER
682     IF ( myThid .EQ. 1 ) THEN
683     C-- Form name for identifying "plot"
684     IF ( myIter .GE. 0 ) THEN
685     WRITE(fldTitle,'(A,A,A,I10)')
686     & '// Field ', fldNam, ' at iteration ',
687     & myIter
688     ELSE
689     WRITE(fldTitle,'(A,A)') '// Field ', fldNam
690     ENDIF
691     C-- Do "plot" using textual contour map "execution environment" routine
692     C Substitute other plotting utilities here!
693     iStart = 1
694     iEnd = 1
695     iStride = 1
696     jStart = sNy
697     jEnd = 1
698     jStride = -1
699     kStart = 1
700     kEnd = fldNz
701     c kEnd = 1
702     kStride = 1
703     biStart = 1
704     biEnd = nSx
705     biStride = 1
706     bjStart = nSy
707     bjEnd = 1
708     bjStride = -1
709     CALL PRINT_MAPRL(
710     I fld, fldTitle, PRINT_MAP_YZ,
711     I 1,1,1-OLy,sNy+OLy,1,fldNz, nSx, nSy,
712     I iStart, iEnd, iStride,
713     I jStart, jEnd, jStride,
714     I kStart, kEnd, kStride,
715     I biStart, biEnd, biStride,
716     I bjStart, bjEnd, bjStride )
717     ENDIF
718     _BARRIER
719    
720     RETURN
721     END

  ViewVC Help
Powered by ViewVC 1.1.22