/[MITgcm]/MITgcm/pkg/rw/write_rec.F
ViewVC logotype

Annotation of /MITgcm/pkg/rw/write_rec.F

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


Revision 1.1 - (hide annotations) (download)
Sun Aug 6 18:06:17 2006 UTC (17 years, 10 months ago) by jmc
Branch: MAIN
CVS Tags: mitgcm_mapl_00, checkpoint58u_post, checkpoint58w_post, checkpoint58r_post, checkpoint58n_post, checkpoint58x_post, checkpoint58t_post, checkpoint58q_post, checkpoint59e, checkpoint59d, checkpoint59g, checkpoint59f, checkpoint59a, checkpoint59c, checkpoint59b, checkpoint59i, checkpoint59h, checkpoint59j, checkpoint59, checkpoint58o_post, checkpoint58y_post, checkpoint58v_post, checkpoint58s_post, checkpoint58p_post
- split file read_write_rec.F in two: read_rec.F & write_rec.F
- add new S/R READ,WRITE_REC_3D_RX with number of levels and
   file precision in argument list.

1 jmc 1.1 C $Header: /u/gcmpack/MITgcm/pkg/rw/read_write_rec.F,v 1.2 2006/08/04 02:48:05 jmc Exp $
2     C $Name: $
3     #include "RW_OPTIONS.h"
4    
5     C-- File read_write_rec.F: Routines to handle mid-level I/O interface.
6     C-- Contents
7     C-- o SET_WRITE_GLOBAL_REC
8     C-- o WRITE_REC_XY_RS
9     C-- o WRITE_REC_XY_RL
10     C-- o WRITE_REC_XYZ_RS
11     C-- o WRITE_REC_XYZ_RL
12     C-- o WRITE_REC_3D_RS
13     C-- o WRITE_REC_3D_RL
14    
15     CBOP
16     C !ROUTINE: SET_WRITE_GLOBAL_REC
17     C !INTERFACE:
18     SUBROUTINE SET_WRITE_GLOBAL_REC ( flag )
19     IMPLICIT NONE
20    
21     C !DESCRIPTION: \bv
22     C SET_WRITE_GLOBAL_FLD( flag ) sets an internal logical state to
23     C indicate whether files written by subsequent call to the
24     C READ_WRITE_FLD package should create "global" or "tiled" files.
25     C flag = .TRUE. indicates "global" files
26     C flag = .FALSE. indicates "tiled" files
27     C \ev
28    
29     C !INPUT/OUTPUT PARAMETERS:
30     C Arguments
31     LOGICAL flag
32     C !USES:
33     C Common
34     COMMON /RD_WR_REC/ globalFile
35     LOGICAL globalFile
36     CEOP
37    
38     globalFile=flag
39    
40     RETURN
41     END
42    
43     CBOP
44     C !ROUTINE: WRITE_REC_XY_RS
45     C !INTERFACE:
46     SUBROUTINE WRITE_REC_XY_RS( fName,field,iRec,myIter,myThid)
47    
48     C !DESCRIPTION: \bv
49     C WRITE_REC_XY_RS is a "front-end" interface to the low-level I/O
50     C routines.
51     C \ev
52    
53     C !USES:
54     IMPLICIT NONE
55     C Global
56     #include "SIZE.h"
57     #include "EEPARAMS.h"
58     #include "PARAMS.h"
59    
60     C !INPUT/OUTPUT PARAMETERS:
61     C Arguments
62     CHARACTER*(*) fName
63     _RS field(1-Olx:sNx+Olx,1-Oly:sNy+Oly,nSx,nSy)
64     INTEGER iRec
65     INTEGER myIter
66     INTEGER myThid
67    
68     C Functions
69     c INTEGER ILNBLNK
70    
71     C Common
72     COMMON /RD_WR_REC/ globalFile
73     LOGICAL globalFile
74    
75     C !LOCAL VARIABLES:
76     C Local
77     CHARACTER*(2) fType
78     INTEGER nNz
79     c INTEGER IL
80     c CHARACTER*(MAX_LEN_FNAM) fullName
81     CEOP
82    
83    
84     c IF (myIter.GE.0) THEN
85     c IL=ILNBLNK( fName )
86     c WRITE(fullName,'(2a,i10.10)') fName(1:IL),'.',myIter
87     c ELSE
88     c fullName=fName
89     c ENDIF
90    
91     fType='RS'
92     nNz=1
93     c globalFile=.FALSE.
94     #ifdef ALLOW_MDSIO
95     CALL MDSWRITEFIELD( fName, writeBinaryPrec, globalFile,
96     & fType, nNz, field, iRec, myIter, myThid )
97     #endif
98     RETURN
99     END
100    
101     CBOP
102     C !ROUTINE: WRITE_REC_XY_RL
103     C !INTERFACE:
104     SUBROUTINE WRITE_REC_XY_RL( fName,field,iRec,myIter,myThid)
105    
106     C !DESCRIPTION: \bv
107     C WRITE_REC_XY_RL is a "front-end" interface to the low-level I/O
108     C routines.
109     C \ev
110    
111     C !USES:
112     IMPLICIT NONE
113     C Global
114     #include "SIZE.h"
115     #include "EEPARAMS.h"
116     #include "PARAMS.h"
117    
118     C !INPUT/OUTPUT PARAMETERS:
119     C Arguments
120     CHARACTER*(*) fName
121     _RL field(1-Olx:sNx+Olx,1-Oly:sNy+Oly,nSx,nSy)
122     INTEGER iRec
123     INTEGER myIter
124     INTEGER myThid
125    
126     C Functions
127     c INTEGER ILNBLNK
128    
129     C Common
130     COMMON /RD_WR_REC/ globalFile
131     LOGICAL globalFile
132    
133     C !LOCAL VARIABLES:
134     C Local
135     CHARACTER*(2) fType
136     INTEGER nNz
137     c INTEGER IL
138     c CHARACTER*(MAX_LEN_FNAM) fullName
139     CEOP
140    
141    
142     c IF (myIter.GE.0) THEN
143     c IL=ILNBLNK( fName )
144     c WRITE(fullName,'(2a,i10.10)') fName(1:IL),'.',myIter
145     c ELSE
146     c fullName=fName
147     c ENDIF
148    
149     fType='RL'
150     nNz=1
151     c globalFile=.FALSE.
152     #ifdef ALLOW_MDSIO
153     CALL MDSWRITEFIELD( fName, writeBinaryPrec, globalFile,
154     & fType, nNz, field, iRec, myIter, myThid )
155     #endif
156     RETURN
157     END
158    
159     CBOP
160     C !ROUTINE: WRITE_REC_XYZ_RS
161     C !INTERFACE:
162     SUBROUTINE WRITE_REC_XYZ_RS( fName,field,iRec,myIter,myThid)
163    
164     C !DESCRIPTION: \bv
165     C WRITE_REC_XYZ_RS is a "front-end" interface to the low-level I/O
166     C routines.
167     C \ev
168    
169     C !USES:
170     IMPLICIT NONE
171     C Global
172     #include "SIZE.h"
173     #include "EEPARAMS.h"
174     #include "PARAMS.h"
175    
176     C !INPUT/OUTPUT PARAMETERS:
177     C Arguments
178     CHARACTER*(*) fName
179     _RS field(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr,nSx,nSy)
180     INTEGER iRec
181     INTEGER myIter
182     INTEGER myThid
183    
184     C Functions
185     c INTEGER ILNBLNK
186    
187     C Common
188     COMMON /RD_WR_REC/ globalFile
189     LOGICAL globalFile
190    
191     C !LOCAL VARIABLES:
192     C Local
193     CHARACTER*(2) fType
194     INTEGER nNz
195     c INTEGER IL
196     c CHARACTER*(MAX_LEN_FNAM) fullName
197     CEOP
198    
199    
200     c IF (myIter.GE.0) THEN
201     c IL=ILNBLNK( fName )
202     c WRITE(fullName,'(2a,i10.10)') fName(1:IL),'.',myIter
203     c ELSE
204     c fullName=fName
205     c ENDIF
206    
207     fType='RS'
208     nNz=Nr
209     c globalFile=.FALSE.
210     #ifdef ALLOW_MDSIO
211     CALL MDSWRITEFIELD( fName, writeBinaryPrec, globalFile,
212     & fType, nNz, field, iRec, myIter, myThid )
213     #endif
214     RETURN
215     END
216    
217     CBOP
218     C !ROUTINE: WRITE_REC_XYZ_RL
219     C !INTERFACE:
220     SUBROUTINE WRITE_REC_XYZ_RL( fName,field,iRec,myIter,myThid)
221    
222     C !DESCRIPTION: \bv
223     C WRITE_REC_XYZ_RL is a "front-end" interface to the low-level I/O
224     C routines.
225     C \ev
226    
227     C !USES:
228     IMPLICIT NONE
229     C Global
230     #include "SIZE.h"
231     #include "EEPARAMS.h"
232     #include "PARAMS.h"
233    
234     C !INPUT/OUTPUT PARAMETERS:
235     C Arguments
236     CHARACTER*(*) fName
237     _RL field(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr,nSx,nSy)
238     INTEGER iRec
239     INTEGER myIter
240     INTEGER myThid
241    
242     C Functions
243     c INTEGER ILNBLNK
244    
245     C Common
246     COMMON /RD_WR_REC/ globalFile
247     LOGICAL globalFile
248    
249     C !LOCAL VARIABLES:
250     C Local
251     CHARACTER*(2) fType
252     INTEGER nNz
253     c INTEGER IL
254     c CHARACTER*(MAX_LEN_FNAM) fullName
255     CEOP
256    
257    
258     c IF (myIter.GE.0) THEN
259     c IL=ILNBLNK( fName )
260     c WRITE(fullName,'(2a,i10.10)') fName(1:IL),'.',myIter
261     c ELSE
262     c fullName=fName
263     c ENDIF
264    
265     fType='RL'
266     nNz=Nr
267     c globalFile=.FALSE.
268     #ifdef ALLOW_MDSIO
269     CALL MDSWRITEFIELD( fName, writeBinaryPrec, globalFile,
270     & fType, nNz, field, iRec, myIter, myThid )
271     #endif
272     RETURN
273     END
274    
275     CBOP
276     C !ROUTINE: WRITE_REC_3D_RS
277     C !INTERFACE:
278     SUBROUTINE WRITE_REC_3D_RS(
279     I fName, fPrec, nNz, field,
280     I iRec, myIter, myThid )
281    
282     C !DESCRIPTION: \bv
283     C WRITE_REC_3D_RS is a "front-end" interface to the low-level I/O routines.
284     C write a full 3D field (nNz levels) to record number "iRec"
285     C in binary file "fName" (precision "fPrec", generally =32 or 64).
286     C \ev
287    
288     C !USES:
289     IMPLICIT NONE
290     C Global
291     #include "SIZE.h"
292     #include "EEPARAMS.h"
293     #include "PARAMS.h"
294    
295     C !INPUT/OUTPUT PARAMETERS:
296     C Arguments
297     CHARACTER*(*) fName
298     INTEGER fPrec
299     INTEGER nNz
300     _RS field(1-Olx:sNx+Olx,1-Oly:sNy+Oly,nNz,nSx,nSy)
301     INTEGER iRec
302     INTEGER myIter
303     INTEGER myThid
304    
305     C Functions
306     c INTEGER ILNBLNK
307    
308     C Common
309     COMMON /RD_WR_REC/ globalFile
310     LOGICAL globalFile
311    
312     C !LOCAL VARIABLES:
313     C Local
314     CHARACTER*(2) fType
315     c INTEGER IL
316     c CHARACTER*(MAX_LEN_FNAM) fullName
317     CEOP
318    
319    
320     c IF (myIter.GE.0) THEN
321     c IL=ILNBLNK( fName )
322     c WRITE(fullName,'(2a,i10.10)') fName(1:IL),'.',myIter
323     c ELSE
324     c fullName=fName
325     c ENDIF
326    
327     fType='RS'
328     c globalFile=.FALSE.
329     #ifdef ALLOW_MDSIO
330     CALL MDSWRITEFIELD( fName, fPrec, globalFile,
331     & fType, nNz, field, iRec, myIter, myThid )
332     #endif
333     RETURN
334     END
335    
336     CBOP
337     C !ROUTINE: WRITE_REC_3D_RL
338     C !INTERFACE:
339     SUBROUTINE WRITE_REC_3D_RL(
340     I fName, fPrec, nNz, field,
341     I iRec, myIter, myThid )
342    
343     C !DESCRIPTION: \bv
344     C WRITE_REC_3D_RL is a "front-end" interface to the low-level I/O routines.
345     C write a full 3D field (nNz levels) to record number "iRec"
346     C in binary file "fName" (precision "fPrec", generally =32 or 64).
347     C \ev
348    
349     C !USES:
350     IMPLICIT NONE
351     C Global
352     #include "SIZE.h"
353     #include "EEPARAMS.h"
354     #include "PARAMS.h"
355    
356     C !INPUT/OUTPUT PARAMETERS:
357     C Arguments
358     CHARACTER*(*) fName
359     INTEGER fPrec
360     INTEGER nNz
361     _RL field(1-Olx:sNx+Olx,1-Oly:sNy+Oly,nNz,nSx,nSy)
362     INTEGER iRec
363     INTEGER myIter
364     INTEGER myThid
365    
366     C Functions
367     c INTEGER ILNBLNK
368    
369     C Common
370     COMMON /RD_WR_REC/ globalFile
371     LOGICAL globalFile
372    
373     C !LOCAL VARIABLES:
374     C Local
375     CHARACTER*(2) fType
376     c INTEGER IL
377     c CHARACTER*(MAX_LEN_FNAM) fullName
378     CEOP
379    
380    
381     c IF (myIter.GE.0) THEN
382     c IL=ILNBLNK( fName )
383     c WRITE(fullName,'(2a,i10.10)') fName(1:IL),'.',myIter
384     c ELSE
385     c fullName=fName
386     c ENDIF
387    
388     fType='RL'
389     c globalFile=.FALSE.
390     #ifdef ALLOW_MDSIO
391     CALL MDSWRITEFIELD( fName, fPrec, globalFile,
392     & fType, nNz, field, iRec, myIter, myThid )
393     #endif
394     RETURN
395     END

  ViewVC Help
Powered by ViewVC 1.1.22