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

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

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


Revision 1.6 - (hide annotations) (download)
Sat Sep 27 19:24:28 2003 UTC (20 years, 8 months ago) by dimitri
Branch: MAIN
CVS Tags: checkpoint51k_post, checkpoint53f_post, checkpoint54a_pre, checkpoint55c_post, checkpoint53b_pre, checkpoint51l_post, checkpoint51j_post, checkpoint57m_post, checkpoint52l_pre, checkpoint52e_pre, hrcube4, hrcube5, checkpoint57g_pre, checkpoint52j_post, checkpoint51o_pre, checkpoint57f_post, checkpoint52e_post, checkpoint51n_pre, checkpoint57j_post, checkpoint57b_post, checkpoint52d_pre, checkpoint53c_post, checkpoint53d_post, checkpoint57f_pre, checkpoint55d_pre, checkpoint57g_post, checkpoint57a_post, checkpoint55j_post, checkpoint56b_post, checkpoint57h_pre, branchpoint-genmake2, checkpoint52j_pre, checkpoint54a_post, branch-netcdf, checkpoint55h_post, checkpoint51r_post, checkpoint52b_pre, checkpoint52n_post, checkpoint54b_post, checkpoint51i_post, checkpoint57e_post, checkpoint54d_post, checkpoint56c_post, checkpoint54e_post, checkpoint55b_post, checkpoint51l_pre, checkpoint52m_post, checkpoint55, checkpoint53a_post, checkpoint55a_post, checkpoint57c_pre, checkpoint53b_post, checkpoint57o_post, checkpoint55g_post, checkpoint51o_post, checkpoint57k_post, checkpoint57d_post, checkpoint55f_post, checkpoint57i_post, checkpoint51q_post, checkpoint52l_post, checkpoint52k_post, checkpoint57h_post, checkpoint57a_pre, checkpoint54, checkpoint57, checkpoint56, checkpoint53, checkpoint52, checkpoint52d_post, checkpoint52a_post, checkpoint57h_done, checkpoint52b_post, checkpoint53g_post, checkpoint52f_post, checkpoint57n_post, checkpoint52c_post, checkpoint57p_post, checkpoint51h_pre, checkpoint57q_post, checkpoint51g_post, ecco_c52_e35, checkpoint54f_post, checkpoint51f_post, eckpoint57e_pre, checkpoint57c_post, checkpoint52a_pre, checkpoint51m_post, checkpoint51t_post, checkpoint53d_pre, checkpoint55e_post, checkpoint54c_post, checkpoint52i_post, checkpoint51p_post, checkpoint51n_post, checkpoint55i_post, checkpoint51i_pre, checkpoint57l_post, checkpoint52i_pre, checkpoint51u_post, checkpoint52h_pre, checkpoint52f_pre, hrcube_1, hrcube_2, hrcube_3, checkpoint56a_post, checkpoint51s_post, checkpoint55d_post
Branch point for: netcdf-sm0, branch-genmake2, branch-nonh, tg2-branch, checkpoint51n_branch
Changes since 1.5: +5 -5 lines
I/O bug fix

1 dimitri 1.6 C $Header: /usr/local/gcmpack/MITgcm/model/src/read_write_rec.F,v 1.5 2001/09/26 18:09:16 cnh Exp $
2 heimbach 1.4 C $Name: $
3 adcroft 1.1 #include "CPP_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 READ_REC_XY_RS
9     C-- o READ_REC_XY_RL
10     C-- o READ_REC_XYZ_RS
11     C-- o READ_REC_XYZ_RL
12 heimbach 1.4 C-- o READ_REC_XZ_RS
13     C-- o READ_REC_XZ_RL
14     C-- o READ_REC_YZ_RS
15     C-- o READ_REC_YZ_RL
16 adcroft 1.1 C-- o WRITE_REC_XY_RS
17     C-- o WRITE_REC_XY_RL
18     C-- o WRITE_REC_XYZ_RS
19     C-- o WRITE_REC_XYZ_RL
20    
21 cnh 1.5 CBOP
22     C !ROUTINE: SET_WRITE_GLOBAL_REC
23     C !INTERFACE:
24 adcroft 1.1 SUBROUTINE SET_WRITE_GLOBAL_REC ( flag )
25     IMPLICIT NONE
26 cnh 1.5
27     C !DESCRIPTION: \bv
28 adcroft 1.1 C SET_WRITE_GLOBAL_FLD( flag ) sets an internal logical state to
29     C indicate whether files written by subsequent call to the
30     C READ_WRITE_FLD package should create "global" or "tiled" files.
31     C flag = .TRUE. indicates "global" files
32     C flag = .FALSE. indicates "tiled" files
33 cnh 1.5 C \ev
34    
35     C !INPUT/OUTPUT PARAMETERS:
36 adcroft 1.1 C Arguments
37     LOGICAL flag
38 cnh 1.5 C !USES:
39 adcroft 1.1 C Common
40     COMMON /RD_WR_REC/ globalFile
41     LOGICAL globalFile
42 cnh 1.5 CEOP
43 adcroft 1.1 C
44     globalFile=flag
45     C
46     RETURN
47     END
48    
49 cnh 1.5 CBOP
50     C !ROUTINE: READ_REC_XY_RS
51     C !INTERFACE:
52 adcroft 1.1 SUBROUTINE READ_REC_XY_RS( fName,field,iRec,myIter,myThid)
53 cnh 1.5 C !DESCRIPTION: \bv
54 adcroft 1.1 C READ_REC_XY_RS is a "front-end" interface to the low-level I/O
55     C routines. It assumes single record files.
56 cnh 1.5 C \ev
57     C !USES:
58 adcroft 1.1 IMPLICIT NONE
59     C Global
60     #include "SIZE.h"
61     #include "EEPARAMS.h"
62     #include "PARAMS.h"
63 cnh 1.5 C !INPUT/OUTPUT PARAMETERS:
64 adcroft 1.1 C Arguments
65     CHARACTER*(*) fName
66     _RS field(1-Olx:sNx+Olx,1-Oly:sNy+Oly,nSx,nSy)
67     INTEGER iRec
68     INTEGER myIter
69     INTEGER myThid
70     C Functions
71 adcroft 1.2 C INTEGER ILNBLNK
72 cnh 1.5 C !LOCAL VARIABLES:
73 adcroft 1.1 C Local
74     CHARACTER*(2) fType
75     INTEGER nNz
76 adcroft 1.2 C INTEGER IL
77 adcroft 1.1 CHARACTER*(80) fullName
78 cnh 1.5 CEOP
79 adcroft 1.1 C
80     C IF (myIter.GE.0) THEN
81     C IL=ILNBLNK( fName )
82     C WRITE(fullName(1:80),'(2a,i10.10)') fName(1:IL),'.',myIter
83     C ELSE
84     fullName=fName
85     C ENDIF
86     C
87     fType='RS'
88     nNz=1
89     CALL MDSREADFIELD( fullName, readBinaryPrec, fType,
90     & nNz, field, irec, myThid )
91     C
92     RETURN
93     END
94    
95 cnh 1.5 CBOP
96     C !ROUTINE: READ_REC_XY_RL
97     C !INTERFACE:
98 adcroft 1.1 SUBROUTINE READ_REC_XY_RL( fName,field,iRec,myIter,myThid)
99 cnh 1.5
100     C !DESCRIPTION: \bv
101 adcroft 1.1 C READ_REC_XY_RL is a "front-end" interface to the low-level I/O
102     C routines. It assumes single record files.
103 cnh 1.5 C \ev
104    
105     C !USES:
106 adcroft 1.1 IMPLICIT NONE
107     C Global
108     #include "SIZE.h"
109     #include "EEPARAMS.h"
110     #include "PARAMS.h"
111 cnh 1.5
112     C !INPUT/OUTPUT PARAMETERS:
113 adcroft 1.1 C Arguments
114     CHARACTER*(*) fName
115     _RL field(1-Olx:sNx+Olx,1-Oly:sNy+Oly,nSx,nSy)
116     INTEGER iRec
117     INTEGER myIter
118     INTEGER myThid
119     C Functions
120 adcroft 1.2 C INTEGER ILNBLNK
121 cnh 1.5
122     C !LOCAL VARIABLES:
123 adcroft 1.1 C Local
124     CHARACTER*(2) fType
125     INTEGER nNz
126 adcroft 1.2 C INTEGER IL
127 adcroft 1.1 CHARACTER*(80) fullName
128 cnh 1.5 CEOP
129 adcroft 1.1 C
130     C IF (myIter.GE.0) THEN
131     C IL=ILNBLNK( fName )
132     C WRITE(fullName(1:80),'(2a,i10.10)') fName(1:IL),'.',myIter
133     C ELSE
134     fullName=fName
135     C ENDIF
136     C
137     fType='RL'
138     nNz=1
139     CALL MDSREADFIELD( fullName, readBinaryPrec, fType,
140     & nNz, field, irec, myThid )
141     C
142     RETURN
143     END
144    
145 cnh 1.5 CBOP
146     C !ROUTINE: READ_REC_XYZ_RS
147     C !INTERFACE:
148 adcroft 1.1 SUBROUTINE READ_REC_XYZ_RS( fName,field,iRec,myIter,myThid)
149 cnh 1.5
150     C !DESCRIPTION: \bv
151 adcroft 1.1 C READ_REC_XYZ_RS is a "front-end" interface to the low-level I/O
152     C routines. It assumes single record files.
153 cnh 1.5 C \ev
154    
155     C !USES:
156 adcroft 1.1 IMPLICIT NONE
157     C Global
158     #include "SIZE.h"
159     #include "EEPARAMS.h"
160     #include "PARAMS.h"
161 cnh 1.5
162     C !INPUT/OUTPUT PARAMETERS:
163 adcroft 1.1 C Arguments
164     CHARACTER*(*) fName
165     _RS field(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr,nSx,nSy)
166     INTEGER iRec
167     INTEGER myIter
168     INTEGER myThid
169     C Functions
170 adcroft 1.2 C INTEGER ILNBLNK
171 cnh 1.5
172     C !LOCAL VARIABLES:
173 adcroft 1.1 C Local
174     CHARACTER*(2) fType
175     INTEGER nNz
176 adcroft 1.2 C INTEGER IL
177 adcroft 1.1 CHARACTER*(80) fullName
178 cnh 1.5 CEOP
179    
180 adcroft 1.1 C
181     C IF (myIter.GE.0) THEN
182     C IL=ILNBLNK( fName )
183     C WRITE(fullName(1:80),'(2a,i10.10)') fName(1:IL),'.',myIter
184     C ELSE
185     fullName=fName
186     C ENDIF
187     C
188     fType='RS'
189     nNz=Nr
190     CALL MDSREADFIELD( fullName, readBinaryPrec, fType,
191     & nNz, field, irec, myThid )
192     C
193     RETURN
194     END
195    
196 cnh 1.5 CBOP
197     C !ROUTINE: READ_REC_XYZ_RL
198     C !INTERFACE:
199 adcroft 1.1 SUBROUTINE READ_REC_XYZ_RL( fName,field,iRec,myIter,myThid)
200 cnh 1.5
201     C !DESCRIPTION: \bv
202 adcroft 1.1 C READ_REC_XYZ_RL is a "front-end" interface to the low-level I/O
203     C routines. It assumes single record files.
204 cnh 1.5 C \ev
205    
206     C !USES:
207 adcroft 1.1 IMPLICIT NONE
208     C Global
209     #include "SIZE.h"
210     #include "EEPARAMS.h"
211     #include "PARAMS.h"
212 cnh 1.5
213     C !INPUT/OUTPUT PARAMETERS:
214 adcroft 1.1 C Arguments
215     CHARACTER*(*) fName
216     _RL field(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr,nSx,nSy)
217     INTEGER iRec
218     INTEGER myIter
219     INTEGER myThid
220     C Functions
221 adcroft 1.2 C INTEGER ILNBLNK
222 cnh 1.5
223     C !LOCAL VARIABLES:
224 adcroft 1.1 C Local
225     CHARACTER*(2) fType
226     INTEGER nNz
227 adcroft 1.2 C INTEGER IL
228 adcroft 1.1 CHARACTER*(80) fullName
229 cnh 1.5 CEOP
230    
231 adcroft 1.1 C
232     C IF (myIter.GE.0) THEN
233     C IL=ILNBLNK( fName )
234     C WRITE(fullName(1:80),'(2a,i10.10)') fName(1:IL),'.',myIter
235     C ELSE
236     fullName=fName
237     C ENDIF
238     C
239     fType='RL'
240     nNz=Nr
241     CALL MDSREADFIELD( fullName, readBinaryPrec, fType,
242 heimbach 1.4 & nNz, field, irec, myThid )
243     C
244     RETURN
245     END
246    
247 cnh 1.5 CBOP
248     C !ROUTINE: READ_REC_XZ_RS
249     C !INTERFACE:
250 heimbach 1.4 SUBROUTINE READ_REC_XZ_RS( fName,field,iRec,myIter,myThid)
251 cnh 1.5
252     C !DESCRIPTION: \bv
253 heimbach 1.4 C READ_REC_XZ_RS is a "front-end" interface to the low-level I/O
254     C routines. It assumes single record files.
255 cnh 1.5 C \ev
256    
257     C !USES:
258 heimbach 1.4 IMPLICIT NONE
259     C Global
260     #include "SIZE.h"
261     #include "EEPARAMS.h"
262     #include "PARAMS.h"
263 cnh 1.5 C !INPUT/OUTPUT PARAMETERS:
264 heimbach 1.4 C Arguments
265     CHARACTER*(*) fName
266     _RS field(1-Olx:sNx+Olx,Nr,nSx,nSy)
267     INTEGER iRec
268     INTEGER myIter
269     INTEGER myThid
270     C Functions
271     C INTEGER ILNBLNK
272 cnh 1.5
273     C !LOCAL VARIABLES:
274 heimbach 1.4 C Local
275     CHARACTER*(2) fType
276     INTEGER nNz
277     C INTEGER IL
278     CHARACTER*(80) fullName
279 cnh 1.5 CEOP
280 heimbach 1.4 C
281     C IF (myIter.GE.0) THEN
282     C IL=ILNBLNK( fName )
283     C WRITE(fullName(1:80),'(2a,i10.10)') fName(1:IL),'.',myIter
284     C ELSE
285     fullName=fName
286     C ENDIF
287     C
288     fType='RS'
289     nNz=Nr
290     CALL MDSREADFIELDXZ( fullName, readBinaryPrec, fType,
291     & nNz, field, irec, myThid )
292     C
293     RETURN
294     END
295    
296 cnh 1.5 CBOP
297     C !ROUTINE: READ_REC_XZ_RL
298     C !INTERFACE:
299 heimbach 1.4 SUBROUTINE READ_REC_XZ_RL( fName,field,iRec,myIter,myThid)
300 cnh 1.5
301     C !DESCRIPTION: \bv
302 heimbach 1.4 C READ_REC_XZ_RL is a "front-end" interface to the low-level I/O
303     C routines. It assumes single record files.
304 cnh 1.5 C \ev
305    
306     C !USES:
307 heimbach 1.4 IMPLICIT NONE
308     C Global
309     #include "SIZE.h"
310     #include "EEPARAMS.h"
311     #include "PARAMS.h"
312 cnh 1.5
313     C !INPUT/OUTPUT PARAMETERS:
314 heimbach 1.4 C Arguments
315     CHARACTER*(*) fName
316     _RL field(1-Olx:sNx+Olx,Nr,nSx,nSy)
317     INTEGER iRec
318     INTEGER myIter
319     INTEGER myThid
320     C Functions
321     C INTEGER ILNBLNK
322 cnh 1.5
323     C !LOCAL VARIABLES:
324 heimbach 1.4 C Local
325     CHARACTER*(2) fType
326     INTEGER nNz
327     C INTEGER IL
328     CHARACTER*(80) fullName
329 cnh 1.5 CEOP
330 heimbach 1.4 C
331     C IF (myIter.GE.0) THEN
332     C IL=ILNBLNK( fName )
333     C WRITE(fullName(1:80),'(2a,i10.10)') fName(1:IL),'.',myIter
334     C ELSE
335     fullName=fName
336     C ENDIF
337     C
338     fType='RL'
339     nNz=Nr
340     CALL MDSREADFIELDXZ( fullName, readBinaryPrec, fType,
341     & nNz, field, irec, myThid )
342     C
343     RETURN
344     END
345    
346 cnh 1.5 CBOP
347     C !ROUTINE: READ_REC_YZ_RS
348     C !INTERFACE:
349 heimbach 1.4 SUBROUTINE READ_REC_YZ_RS( fName,field,iRec,myIter,myThid)
350 cnh 1.5
351     C !DESCRIPTION: \bv
352 heimbach 1.4 C READ_REC_YZ_RS is a "front-end" interface to the low-level I/O
353     C routines. It assumes single record files.
354 cnh 1.5 C \ev
355    
356     C !USES:
357 heimbach 1.4 IMPLICIT NONE
358     C Global
359     #include "SIZE.h"
360     #include "EEPARAMS.h"
361     #include "PARAMS.h"
362 cnh 1.5
363     C !INPUT/OUTPUT PARAMETERS:
364 heimbach 1.4 C Arguments
365     CHARACTER*(*) fName
366     _RS field(1-Oly:sNy+Oly,Nr,nSx,nSy)
367     INTEGER iRec
368     INTEGER myIter
369     INTEGER myThid
370     C Functions
371     C INTEGER ILNBLNK
372 cnh 1.5
373     C !LOCAL VARIABLES:
374 heimbach 1.4 C Local
375     CHARACTER*(2) fType
376     INTEGER nNz
377     C INTEGER IL
378     CHARACTER*(80) fullName
379 cnh 1.5 CEOP
380    
381 heimbach 1.4 C
382     C IF (myIter.GE.0) THEN
383     C IL=ILNBLNK( fName )
384     C WRITE(fullName(1:80),'(2a,i10.10)') fName(1:IL),'.',myIter
385     C ELSE
386     fullName=fName
387     C ENDIF
388     C
389     fType='RS'
390     nNz=Nr
391     CALL MDSREADFIELDYZ( fullName, readBinaryPrec, fType,
392     & nNz, field, irec, myThid )
393     C
394     RETURN
395     END
396    
397 cnh 1.5 CBOP
398     C !ROUTINE: READ_REC_YZ_RL
399     C !INTERFACE:
400 heimbach 1.4 SUBROUTINE READ_REC_YZ_RL( fName,field,iRec,myIter,myThid)
401 cnh 1.5
402     C !DESCRIPTION: \bv
403 heimbach 1.4 C READ_REC_YZ_RL is a "front-end" interface to the low-level I/O
404     C routines. It assumes single record files.
405 cnh 1.5 C \ev
406    
407     C !USES:
408 heimbach 1.4 IMPLICIT NONE
409     C Global
410     #include "SIZE.h"
411     #include "EEPARAMS.h"
412     #include "PARAMS.h"
413 cnh 1.5
414     C !INPUT/OUTPUT PARAMETERS:
415 heimbach 1.4 C Arguments
416     CHARACTER*(*) fName
417     _RL field(1-Oly:sNy+Oly,Nr,nSx,nSy)
418     INTEGER iRec
419     INTEGER myIter
420     INTEGER myThid
421     C Functions
422     C INTEGER ILNBLNK
423 cnh 1.5
424     C !LOCAL VARIABLES:
425 heimbach 1.4 C Local
426     CHARACTER*(2) fType
427     INTEGER nNz
428     C INTEGER IL
429     CHARACTER*(80) fullName
430 cnh 1.5 CEOP
431    
432 heimbach 1.4 C
433     C IF (myIter.GE.0) THEN
434     C IL=ILNBLNK( fName )
435     C WRITE(fullName(1:80),'(2a,i10.10)') fName(1:IL),'.',myIter
436     C ELSE
437     fullName=fName
438     C ENDIF
439     C
440     fType='RL'
441     nNz=Nr
442     CALL MDSREADFIELDYZ( fullName, readBinaryPrec, fType,
443 adcroft 1.1 & nNz, field, irec, myThid )
444     C
445     RETURN
446     END
447    
448 cnh 1.5 CBOP
449     C !ROUTINE: WRITE_REC_XY_RS
450     C !INTERFACE:
451 adcroft 1.1 SUBROUTINE WRITE_REC_XY_RS( fName,field,iRec,myIter,myThid)
452 cnh 1.5
453     C !DESCRIPTION: \bv
454 adcroft 1.1 C WRITE_REC_XY_RS is a "front-end" interface to the low-level I/O
455     C routines. It assumes single record files.
456 cnh 1.5 C \ev
457    
458     C !USES:
459 adcroft 1.1 IMPLICIT NONE
460     C Global
461     #include "SIZE.h"
462     #include "EEPARAMS.h"
463     #include "PARAMS.h"
464 cnh 1.5
465     C !INPUT/OUTPUT PARAMETERS:
466 adcroft 1.1 C Arguments
467     CHARACTER*(*) fName
468     _RS field(1-Olx:sNx+Olx,1-Oly:sNy+Oly,nSx,nSy)
469     INTEGER iRec
470     INTEGER myIter
471     INTEGER myThid
472     C Functions
473 adcroft 1.2 C INTEGER ILNBLNK
474 adcroft 1.1 C Common
475     COMMON /RD_WR_REC/ globalFile
476     LOGICAL globalFile
477 cnh 1.5
478     C !LOCAL VARIABLES:
479 adcroft 1.1 C Local
480     CHARACTER*(2) fType
481     INTEGER nNz
482 adcroft 1.2 C INTEGER IL
483 adcroft 1.1 CHARACTER*(80) fullName
484 cnh 1.5 CEOP
485    
486 adcroft 1.1 C
487     C IF (myIter.GE.0) THEN
488     C IL=ILNBLNK( fName )
489     C WRITE(fullName(1:80),'(2a,i10.10)') fName(1:IL),'.',myIter
490     C ELSE
491     fullName=fName
492     C ENDIF
493     C
494     fType='RS'
495     nNz=1
496 dimitri 1.6 C globalFile=.FALSE.
497 adcroft 1.1 CALL MDSWRITEFIELD( fullName, writeBinaryPrec, globalFile,
498     & fType, nNz, field, irec, myIter, myThid )
499     C
500     RETURN
501     END
502    
503 cnh 1.5 CBOP
504     C !ROUTINE: WRITE_REC_XY_RL
505     C !INTERFACE:
506 adcroft 1.1 SUBROUTINE WRITE_REC_XY_RL( fName,field,iRec,myIter,myThid)
507 cnh 1.5
508     C !DESCRIPTION: \bv
509 adcroft 1.1 C WRITE_REC_XY_RL is a "front-end" interface to the low-level I/O
510     C routines. It assumes single record files.
511 cnh 1.5 C \ev
512    
513     C !USES:
514 adcroft 1.1 IMPLICIT NONE
515     C Global
516     #include "SIZE.h"
517     #include "EEPARAMS.h"
518     #include "PARAMS.h"
519 cnh 1.5
520     C !INPUT/OUTPUT PARAMETERS:
521 adcroft 1.1 C Arguments
522     CHARACTER*(*) fName
523     _RL field(1-Olx:sNx+Olx,1-Oly:sNy+Oly,nSx,nSy)
524     INTEGER iRec
525     INTEGER myIter
526     INTEGER myThid
527     C Functions
528 adcroft 1.2 C INTEGER ILNBLNK
529 adcroft 1.1 C Common
530     COMMON /RD_WR_REC/ globalFile
531     LOGICAL globalFile
532 cnh 1.5
533     C !LOCAL VARIABLES:
534 adcroft 1.1 C Local
535     CHARACTER*(2) fType
536     INTEGER nNz
537 adcroft 1.2 C INTEGER IL
538 adcroft 1.1 CHARACTER*(80) fullName
539 cnh 1.5 CEOP
540    
541 adcroft 1.1 C
542     C IF (myIter.GE.0) THEN
543     C IL=ILNBLNK( fName )
544     C WRITE(fullName(1:80),'(2a,i10.10)') fName(1:IL),'.',myIter
545     C ELSE
546     fullName=fName
547     C ENDIF
548     C
549     fType='RL'
550     nNz=1
551 dimitri 1.6 C globalFile=.FALSE.
552 adcroft 1.1 CALL MDSWRITEFIELD( fullName, writeBinaryPrec, globalFile,
553     & fType, nNz, field, irec, myIter, myThid )
554     C
555     RETURN
556     END
557    
558 cnh 1.5 CBOP
559     C !ROUTINE: WRITE_REC_XYZ_RS
560     C !INTERFACE:
561 adcroft 1.1 SUBROUTINE WRITE_REC_XYZ_RS( fName,field,iRec,myIter,myThid)
562 cnh 1.5
563     C !DESCRIPTION: \bv
564 adcroft 1.1 C WRITE_REC_XYZ_RS is a "front-end" interface to the low-level I/O
565     C routines. It assumes single record files.
566 cnh 1.5 C \ev
567    
568     C !USES:
569 adcroft 1.1 IMPLICIT NONE
570     C Global
571     #include "SIZE.h"
572     #include "EEPARAMS.h"
573     #include "PARAMS.h"
574 cnh 1.5
575     C !INPUT/OUTPUT PARAMETERS:
576 adcroft 1.1 C Arguments
577     CHARACTER*(*) fName
578     _RS field(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr,nSx,nSy)
579     INTEGER iRec
580     INTEGER myIter
581     INTEGER myThid
582     C Functions
583 adcroft 1.2 C INTEGER ILNBLNK
584 adcroft 1.1 C Common
585     COMMON /RD_WR_REC/ globalFile
586     LOGICAL globalFile
587 cnh 1.5
588     C !LOCAL VARIABLES:
589 adcroft 1.1 C Local
590     CHARACTER*(2) fType
591     INTEGER nNz
592 adcroft 1.2 C INTEGER IL
593 adcroft 1.1 CHARACTER*(80) fullName
594 cnh 1.5 CEOP
595    
596 adcroft 1.1 C
597     C IF (myIter.GE.0) THEN
598     C IL=ILNBLNK( fName )
599     C WRITE(fullName(1:80),'(2a,i10.10)') fName(1:IL),'.',myIter
600     C ELSE
601     fullName=fName
602     C ENDIF
603     C
604     fType='RS'
605     nNz=Nr
606 dimitri 1.6 C globalFile=.FALSE.
607 adcroft 1.1 CALL MDSWRITEFIELD( fullName, writeBinaryPrec, globalFile,
608     & fType, nNz, field, irec, myIter, myThid )
609     C
610     RETURN
611     END
612    
613 cnh 1.5 CBOP
614     C !ROUTINE: WRITE_REC_XYZ_RL
615     C !INTERFACE:
616 adcroft 1.1 SUBROUTINE WRITE_REC_XYZ_RL( fName,field,iRec,myIter,myThid)
617 cnh 1.5
618     C !DESCRIPTION: \bv
619 adcroft 1.1 C WRITE_REC_XYZ_RL is a "front-end" interface to the low-level I/O
620     C routines. It assumes single record files.
621 cnh 1.5 C \ev
622    
623     C !USES:
624 adcroft 1.1 IMPLICIT NONE
625     C Global
626     #include "SIZE.h"
627     #include "EEPARAMS.h"
628     #include "PARAMS.h"
629 cnh 1.5
630     C !INPUT/OUTPUT PARAMETERS:
631 adcroft 1.1 C Arguments
632     CHARACTER*(*) fName
633     _RL field(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr,nSx,nSy)
634     INTEGER iRec
635     INTEGER myIter
636     INTEGER myThid
637     C Functions
638 adcroft 1.2 C INTEGER ILNBLNK
639 adcroft 1.1 C Common
640     COMMON /RD_WR_REC/ globalFile
641     LOGICAL globalFile
642 cnh 1.5
643     C !LOCAL VARIABLES:
644 adcroft 1.1 C Local
645     CHARACTER*(2) fType
646     INTEGER nNz
647 adcroft 1.2 C INTEGER IL
648 adcroft 1.1 CHARACTER*(80) fullName
649 cnh 1.5 CEOP
650    
651 adcroft 1.1 C
652     C IF (myIter.GE.0) THEN
653     C IL=ILNBLNK( fName )
654     C WRITE(fullName(1:80),'(2a,i10.10)') fName(1:IL),'.',myIter
655     C ELSE
656     fullName=fName
657     C ENDIF
658     C
659     fType='RL'
660     nNz=Nr
661 dimitri 1.6 C globalFile=.FALSE.
662 adcroft 1.1 CALL MDSWRITEFIELD( fullName, writeBinaryPrec, globalFile,
663     & fType, nNz, field, irec, myIter, myThid )
664     C
665     RETURN
666     END

  ViewVC Help
Powered by ViewVC 1.1.22