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

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

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

revision 1.1 by jmc, Sun Aug 6 18:06:17 2006 UTC revision 1.2 by jmc, Tue Nov 13 19:39:26 2007 UTC
# Line 11  C--   o WRITE_REC_XYZ_RS Line 11  C--   o WRITE_REC_XYZ_RS
11  C--   o WRITE_REC_XYZ_RL  C--   o WRITE_REC_XYZ_RL
12  C--   o WRITE_REC_3D_RS  C--   o WRITE_REC_3D_RS
13  C--   o WRITE_REC_3D_RL  C--   o WRITE_REC_3D_RL
14    C--   o WRITE_REC_LEV_RS
15    C--   o WRITE_REC_LEV_RL
16    
17    
18    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
19  CBOP  CBOP
20  C     !ROUTINE: SET_WRITE_GLOBAL_REC  C     !ROUTINE: SET_WRITE_GLOBAL_REC
21  C     !INTERFACE:  C     !INTERFACE:
# Line 40  CEOP Line 44  CEOP
44        RETURN        RETURN
45        END        END
46    
47    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
48  CBOP  CBOP
49  C     !ROUTINE: WRITE_REC_XY_RS  C     !ROUTINE: WRITE_REC_XY_RS
50  C     !INTERFACE:  C     !INTERFACE:
51        SUBROUTINE WRITE_REC_XY_RS( fName,field,iRec,myIter,myThid)        SUBROUTINE WRITE_REC_XY_RS( fName,field,iRec,myIter,myThid )
52    
53  C     !DESCRIPTION: \bv  C     !DESCRIPTION: \bv
54  C WRITE_REC_XY_RS is a "front-end" interface to the low-level I/O  C WRITE_REC_XY_RS is a "front-end" interface to the low-level I/O
# Line 74  C Common Line 79  C Common
79    
80  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
81  C Local  C Local
82          LOGICAL useCurrentDir
83        CHARACTER*(2) fType        CHARACTER*(2) fType
84        INTEGER nNz        INTEGER nNz
85  c     INTEGER IL  c     INTEGER IL
# Line 88  c     ELSE Line 94  c     ELSE
94  c      fullName=fName  c      fullName=fName
95  c     ENDIF  c     ENDIF
96    
97          useCurrentDir = .FALSE.
98        fType='RS'        fType='RS'
99        nNz=1        nNz=1
 c     globalFile=.FALSE.  
100  #ifdef ALLOW_MDSIO  #ifdef ALLOW_MDSIO
101        CALL MDSWRITEFIELD( fName, writeBinaryPrec, globalFile,        CALL MDS_WRITE_FIELD(
102       &     fType, nNz, field, iRec, myIter, myThid )       I                      fName, writeBinaryPrec,
103         I                      globalFile, useCurrentDir,
104         I                      fType, nNz, 1, nNz, field,
105         I                      iRec, myIter, myThid )
106  #endif  #endif
107        RETURN        RETURN
108        END        END
109    
110    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
111  CBOP  CBOP
112  C     !ROUTINE: WRITE_REC_XY_RL  C     !ROUTINE: WRITE_REC_XY_RL
113  C     !INTERFACE:  C     !INTERFACE:
114        SUBROUTINE WRITE_REC_XY_RL( fName,field,iRec,myIter,myThid)        SUBROUTINE WRITE_REC_XY_RL( fName,field,iRec,myIter,myThid )
115    
116  C     !DESCRIPTION: \bv  C     !DESCRIPTION: \bv
117  C WRITE_REC_XY_RL is a "front-end" interface to the low-level I/O  C WRITE_REC_XY_RL is a "front-end" interface to the low-level I/O
# Line 132  C Common Line 142  C Common
142    
143  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
144  C Local  C Local
145          LOGICAL useCurrentDir
146        CHARACTER*(2) fType        CHARACTER*(2) fType
147        INTEGER nNz        INTEGER nNz
148  c     INTEGER IL  c     INTEGER IL
# Line 146  c     ELSE Line 157  c     ELSE
157  c      fullName=fName  c      fullName=fName
158  c     ENDIF  c     ENDIF
159    
160          useCurrentDir = .FALSE.
161        fType='RL'        fType='RL'
162        nNz=1        nNz=1
 c     globalFile=.FALSE.  
163  #ifdef ALLOW_MDSIO  #ifdef ALLOW_MDSIO
164        CALL MDSWRITEFIELD( fName, writeBinaryPrec, globalFile,        CALL MDS_WRITE_FIELD(
165       &     fType, nNz, field, iRec, myIter, myThid )       I                      fName, writeBinaryPrec,
166         I                      globalFile, useCurrentDir,
167         I                      fType, nNz, 1, nNz, field,
168         I                      iRec, myIter, myThid )
169  #endif  #endif
170        RETURN        RETURN
171        END        END
172    
173    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
174  CBOP  CBOP
175  C     !ROUTINE: WRITE_REC_XYZ_RS  C     !ROUTINE: WRITE_REC_XYZ_RS
176  C     !INTERFACE:  C     !INTERFACE:
177        SUBROUTINE WRITE_REC_XYZ_RS( fName,field,iRec,myIter,myThid)        SUBROUTINE WRITE_REC_XYZ_RS( fName,field,iRec,myIter,myThid )
178    
179  C     !DESCRIPTION: \bv  C     !DESCRIPTION: \bv
180  C WRITE_REC_XYZ_RS is a "front-end" interface to the low-level I/O  C WRITE_REC_XYZ_RS is a "front-end" interface to the low-level I/O
# Line 190  C Common Line 205  C Common
205    
206  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
207  C Local  C Local
208          LOGICAL useCurrentDir
209        CHARACTER*(2) fType        CHARACTER*(2) fType
210        INTEGER nNz        INTEGER nNz
211  c     INTEGER IL  c     INTEGER IL
# Line 204  c     ELSE Line 220  c     ELSE
220  c      fullName=fName  c      fullName=fName
221  c     ENDIF  c     ENDIF
222    
223          useCurrentDir = .FALSE.
224        fType='RS'        fType='RS'
225        nNz=Nr        nNz=Nr
 c     globalFile=.FALSE.  
226  #ifdef ALLOW_MDSIO  #ifdef ALLOW_MDSIO
227        CALL MDSWRITEFIELD( fName, writeBinaryPrec, globalFile,        CALL MDS_WRITE_FIELD(
228       &     fType, nNz, field, iRec, myIter, myThid )       I                      fName, writeBinaryPrec,
229         I                      globalFile, useCurrentDir,
230         I                      fType, nNz, 1, nNz, field,
231         I                      iRec, myIter, myThid )
232  #endif  #endif
233        RETURN        RETURN
234        END        END
235    
236    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
237  CBOP  CBOP
238  C     !ROUTINE: WRITE_REC_XYZ_RL  C     !ROUTINE: WRITE_REC_XYZ_RL
239  C     !INTERFACE:  C     !INTERFACE:
240        SUBROUTINE WRITE_REC_XYZ_RL( fName,field,iRec,myIter,myThid)        SUBROUTINE WRITE_REC_XYZ_RL( fName,field,iRec,myIter,myThid )
241    
242  C     !DESCRIPTION: \bv  C     !DESCRIPTION: \bv
243  C WRITE_REC_XYZ_RL is a "front-end" interface to the low-level I/O  C WRITE_REC_XYZ_RL is a "front-end" interface to the low-level I/O
# Line 248  C Common Line 268  C Common
268    
269  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
270  C Local  C Local
271          LOGICAL useCurrentDir
272        CHARACTER*(2) fType        CHARACTER*(2) fType
273        INTEGER nNz        INTEGER nNz
274  c     INTEGER IL  c     INTEGER IL
# Line 262  c     ELSE Line 283  c     ELSE
283  c      fullName=fName  c      fullName=fName
284  c     ENDIF  c     ENDIF
285    
286          useCurrentDir = .FALSE.
287        fType='RL'        fType='RL'
288        nNz=Nr        nNz=Nr
 c     globalFile=.FALSE.  
289  #ifdef ALLOW_MDSIO  #ifdef ALLOW_MDSIO
290        CALL MDSWRITEFIELD( fName, writeBinaryPrec, globalFile,        CALL MDS_WRITE_FIELD(
291       &     fType, nNz, field, iRec, myIter, myThid )       I                      fName, writeBinaryPrec,
292         I                      globalFile, useCurrentDir,
293         I                      fType, nNz, 1, nNz, field,
294         I                      iRec, myIter, myThid )
295  #endif  #endif
296        RETURN        RETURN
297        END        END
298    
299    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
300  CBOP  CBOP
301  C     !ROUTINE: WRITE_REC_3D_RS  C     !ROUTINE: WRITE_REC_3D_RS
302  C     !INTERFACE:  C     !INTERFACE:
# Line 311  C Common Line 336  C Common
336    
337  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
338  C Local  C Local
339          LOGICAL useCurrentDir
340        CHARACTER*(2) fType        CHARACTER*(2) fType
341  c     INTEGER IL  c     INTEGER IL
342  c     CHARACTER*(MAX_LEN_FNAM) fullName  c     CHARACTER*(MAX_LEN_FNAM) fullName
# Line 324  c     ELSE Line 350  c     ELSE
350  c      fullName=fName  c      fullName=fName
351  c     ENDIF  c     ENDIF
352    
353          useCurrentDir = .FALSE.
354        fType='RS'        fType='RS'
 c     globalFile=.FALSE.  
355  #ifdef ALLOW_MDSIO  #ifdef ALLOW_MDSIO
356        CALL MDSWRITEFIELD( fName, fPrec, globalFile,        CALL MDS_WRITE_FIELD(
357       &     fType, nNz, field, iRec, myIter, myThid )       I                      fName, fPrec, globalFile, useCurrentDir,
358         I                      fType, nNz, 1, nNz, field,
359         I                      iRec, myIter, myThid )
360  #endif  #endif
361        RETURN        RETURN
362        END        END
363    
364    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
365  CBOP  CBOP
366  C     !ROUTINE: WRITE_REC_3D_RL  C     !ROUTINE: WRITE_REC_3D_RL
367  C     !INTERFACE:  C     !INTERFACE:
# Line 372  C Common Line 401  C Common
401    
402  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
403  C Local  C Local
404          LOGICAL useCurrentDir
405          CHARACTER*(2) fType
406    c     INTEGER IL
407    c     CHARACTER*(MAX_LEN_FNAM) fullName
408    CEOP
409    
410    
411    c     IF (myIter.GE.0) THEN
412    c      IL=ILNBLNK( fName )
413    c      WRITE(fullName,'(2a,i10.10)') fName(1:IL),'.',myIter
414    c     ELSE
415    c      fullName=fName
416    c     ENDIF
417    
418          useCurrentDir = .FALSE.
419          fType='RL'
420    #ifdef ALLOW_MDSIO
421          CALL MDS_WRITE_FIELD(
422         I                      fName, fPrec, globalFile, useCurrentDir,
423         I                      fType, nNz, 1, nNz, field,
424         I                      iRec, myIter, myThid )
425    #endif
426          RETURN
427          END
428    
429    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
430    CBOP
431    C     !ROUTINE: WRITE_REC_LEV_RS
432    C     !INTERFACE:
433          SUBROUTINE WRITE_REC_LEV_RS(
434         I                            fName, fPrec, kSiz, kLo, kHi, field,
435         I                            iRec, myIter, myThid )
436    
437    C     !DESCRIPTION: \bv
438    C WRITE_REC_LEV_RS is a "front-end" interface to the low-level I/O routines.
439    C  Write a set a consecutive levels (from kLo to kHi) from 3D array (size: kSiz)
440    C  to record number "iRec" in binary file "fName" (precision "fPrec",
441    C  generally =32 or 64).
442    C     \ev
443    
444    C     !USES:
445          IMPLICIT NONE
446    C Global
447    #include "SIZE.h"
448    #include "EEPARAMS.h"
449    #include "PARAMS.h"
450    
451    C     !INPUT/OUTPUT PARAMETERS:
452    C Arguments
453          CHARACTER*(*) fName
454          INTEGER fPrec
455          INTEGER kSiz, kLo, kHi
456          _RS field(1-Olx:sNx+Olx,1-Oly:sNy+Oly,kSiz,nSx,nSy)
457          INTEGER iRec
458          INTEGER myIter
459          INTEGER myThid
460    
461    C Functions
462    c     INTEGER ILNBLNK
463    
464    C Common
465          COMMON /RD_WR_REC/ globalFile
466          LOGICAL globalFile
467    
468    C     !LOCAL VARIABLES:
469    C Local
470          LOGICAL useCurrentDir
471        CHARACTER*(2) fType        CHARACTER*(2) fType
472  c     INTEGER IL  c     INTEGER IL
473  c     CHARACTER*(MAX_LEN_FNAM) fullName  c     CHARACTER*(MAX_LEN_FNAM) fullName
# Line 385  c     ELSE Line 481  c     ELSE
481  c      fullName=fName  c      fullName=fName
482  c     ENDIF  c     ENDIF
483    
484          useCurrentDir = .FALSE.
485          fType='RS'
486    #ifdef ALLOW_MDSIO
487          CALL MDS_WRITE_FIELD(
488         I                      fName, fPrec, globalFile, useCurrentDir,
489         I                      fType, kSiz, kLo, kHi, field,
490         I                      iRec, myIter, myThid )
491    #endif
492          RETURN
493          END
494    
495    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
496    CBOP
497    C     !ROUTINE: WRITE_REC_LEV_RL
498    C     !INTERFACE:
499          SUBROUTINE WRITE_REC_LEV_RL(
500         I                            fName, fPrec, kSiz, kLo, kHi, field,
501         I                            iRec, myIter, myThid )
502    
503    C     !DESCRIPTION: \bv
504    C WRITE_REC_LEV_RL is a "front-end" interface to the low-level I/O routines.
505    C  Write a set a consecutive levels (from kLo to kHi) from 3D array (size: kSiz)
506    C  to record number "iRec" in binary file "fName" (precision "fPrec",
507    C  generally =32 or 64).
508    C     \ev
509    
510    C     !USES:
511          IMPLICIT NONE
512    C Global
513    #include "SIZE.h"
514    #include "EEPARAMS.h"
515    #include "PARAMS.h"
516    
517    C     !INPUT/OUTPUT PARAMETERS:
518    C Arguments
519          CHARACTER*(*) fName
520          INTEGER fPrec
521          INTEGER kSiz, kLo, kHi
522          _RS field(1-Olx:sNx+Olx,1-Oly:sNy+Oly,kSiz,nSx,nSy)
523          INTEGER iRec
524          INTEGER myIter
525          INTEGER myThid
526    
527    C Functions
528    c     INTEGER ILNBLNK
529    
530    C Common
531          COMMON /RD_WR_REC/ globalFile
532          LOGICAL globalFile
533    
534    C     !LOCAL VARIABLES:
535    C Local
536          LOGICAL useCurrentDir
537          CHARACTER*(2) fType
538    c     INTEGER IL
539    c     CHARACTER*(MAX_LEN_FNAM) fullName
540    CEOP
541    
542    
543    c     IF (myIter.GE.0) THEN
544    c      IL=ILNBLNK( fName )
545    c      WRITE(fullName,'(2a,i10.10)') fName(1:IL),'.',myIter
546    c     ELSE
547    c      fullName=fName
548    c     ENDIF
549    
550          useCurrentDir = .FALSE.
551        fType='RL'        fType='RL'
 c     globalFile=.FALSE.  
552  #ifdef ALLOW_MDSIO  #ifdef ALLOW_MDSIO
553        CALL MDSWRITEFIELD( fName, fPrec, globalFile,        CALL MDS_WRITE_FIELD(
554       &     fType, nNz, field, iRec, myIter, myThid )       I                      fName, fPrec, globalFile, useCurrentDir,
555         I                      fType, kSiz, kLo, kHi, field,
556         I                      iRec, myIter, myThid )
557  #endif  #endif
558        RETURN        RETURN
559        END        END
560    
561    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

  ViewVC Help
Powered by ViewVC 1.1.22