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

Diff of /MITgcm/pkg/rw/read_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 10  C--   o READ_REC_XYZ_RS Line 10  C--   o READ_REC_XYZ_RS
10  C--   o READ_REC_XYZ_RL  C--   o READ_REC_XYZ_RL
11  C--   o READ_REC_3D_RS  C--   o READ_REC_3D_RS
12  C--   o READ_REC_3D_RL  C--   o READ_REC_3D_RL
13    C--   o READ_REC_LEV_RS
14    C--   o READ_REC_LEV_RL
15  C--   o READ_REC_XZ_RS  C--   o READ_REC_XZ_RS
16  C--   o READ_REC_XZ_RL  C--   o READ_REC_XZ_RL
17  C--   o READ_REC_YZ_RS  C--   o READ_REC_YZ_RS
18  C--   o READ_REC_YZ_RL  C--   o READ_REC_YZ_RL
19    
20    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
21  CBOP  CBOP
22  C     !ROUTINE: READ_REC_XY_RS  C     !ROUTINE: READ_REC_XY_RS
23  C     !INTERFACE:  C     !INTERFACE:
24        SUBROUTINE READ_REC_XY_RS( fName,field,iRec,myIter,myThid)        SUBROUTINE READ_REC_XY_RS( fName,field,iRec,myIter,myThid )
25  C     !DESCRIPTION: \bv  C     !DESCRIPTION: \bv
26  C READ_REC_XY_RS is a "front-end" interface to the low-level I/O  C READ_REC_XY_RS is a "front-end" interface to the low-level I/O
27  C routines.  C routines.
# Line 42  c     INTEGER ILNBLNK Line 45  c     INTEGER ILNBLNK
45    
46  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
47  C Local  C Local
48          LOGICAL useCurrentDir
49        CHARACTER*(2) fType        CHARACTER*(2) fType
50        INTEGER nNz        INTEGER nNz
51  c     INTEGER IL  c     INTEGER IL
# Line 55  c     ELSE Line 59  c     ELSE
59  c      fullName=fName  c      fullName=fName
60  c     ENDIF  c     ENDIF
61    
62          useCurrentDir = .FALSE.
63        fType='RS'        fType='RS'
64        nNz=1        nNz=1
65  #ifdef ALLOW_MDSIO  #ifdef ALLOW_MDSIO
66        CALL MDSREADFIELD( fName, readBinaryPrec, fType,        CALL MDS_READ_FIELD(
67       &     nNz, field, iRec, myThid )       I                     fName, readBinaryPrec, useCurrentDir,
68         I                     fType, nNz, 1, nNz,
69         O                     field,
70         I                     iRec, myThid )
71  #endif  #endif
72        RETURN        RETURN
73        END        END
74    
75    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
76  CBOP  CBOP
77  C     !ROUTINE: READ_REC_XY_RL  C     !ROUTINE: READ_REC_XY_RL
78  C     !INTERFACE:  C     !INTERFACE:
79        SUBROUTINE READ_REC_XY_RL( fName,field,iRec,myIter,myThid)        SUBROUTINE READ_REC_XY_RL( fName,field,iRec,myIter,myThid )
80    
81  C     !DESCRIPTION: \bv  C     !DESCRIPTION: \bv
82  C READ_REC_XY_RL is a "front-end" interface to the low-level I/O  C READ_REC_XY_RL is a "front-end" interface to the low-level I/O
# Line 94  c     INTEGER ILNBLNK Line 103  c     INTEGER ILNBLNK
103    
104  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
105  C Local  C Local
106          LOGICAL useCurrentDir
107        CHARACTER*(2) fType        CHARACTER*(2) fType
108        INTEGER nNz        INTEGER nNz
109  c     INTEGER IL  c     INTEGER IL
# Line 107  c     ELSE Line 117  c     ELSE
117  c      fullName=fName  c      fullName=fName
118  c     ENDIF  c     ENDIF
119    
120          useCurrentDir = .FALSE.
121        fType='RL'        fType='RL'
122        nNz=1        nNz=1
123  #ifdef ALLOW_MDSIO  #ifdef ALLOW_MDSIO
124        CALL MDSREADFIELD( fName, readBinaryPrec, fType,        CALL MDS_READ_FIELD(
125       &     nNz, field, iRec, myThid )       I                     fName, readBinaryPrec, useCurrentDir,
126         I                     fType, nNz, 1, nNz,
127         O                     field,
128         I                     iRec, myThid )
129  #endif  #endif
130        RETURN        RETURN
131        END        END
132    
133    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
134  CBOP  CBOP
135  C     !ROUTINE: READ_REC_XYZ_RS  C     !ROUTINE: READ_REC_XYZ_RS
136  C     !INTERFACE:  C     !INTERFACE:
137        SUBROUTINE READ_REC_XYZ_RS( fName,field,iRec,myIter,myThid)        SUBROUTINE READ_REC_XYZ_RS( fName,field,iRec,myIter,myThid )
138    
139  C     !DESCRIPTION: \bv  C     !DESCRIPTION: \bv
140  C READ_REC_XYZ_RS is a "front-end" interface to the low-level I/O  C READ_REC_XYZ_RS is a "front-end" interface to the low-level I/O
# Line 146  c     INTEGER ILNBLNK Line 161  c     INTEGER ILNBLNK
161    
162  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
163  C Local  C Local
164          LOGICAL useCurrentDir
165        CHARACTER*(2) fType        CHARACTER*(2) fType
166        INTEGER nNz        INTEGER nNz
167  c     INTEGER IL  c     INTEGER IL
# Line 160  c     ELSE Line 176  c     ELSE
176  c      fullName=fName  c      fullName=fName
177  c     ENDIF  c     ENDIF
178    
179          useCurrentDir = .FALSE.
180        fType='RS'        fType='RS'
181        nNz=Nr        nNz=Nr
182  #ifdef ALLOW_MDSIO  #ifdef ALLOW_MDSIO
183        CALL MDSREADFIELD( fName, readBinaryPrec, fType,        CALL MDS_READ_FIELD(
184       &     nNz, field, iRec, myThid )       I                     fName, readBinaryPrec, useCurrentDir,
185         I                     fType, nNz, 1, nNz,
186         O                     field,
187         I                     iRec, myThid )
188  #endif  #endif
189        RETURN        RETURN
190        END        END
191    
192    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
193  CBOP  CBOP
194  C     !ROUTINE: READ_REC_XYZ_RL  C     !ROUTINE: READ_REC_XYZ_RL
195  C     !INTERFACE:  C     !INTERFACE:
196        SUBROUTINE READ_REC_XYZ_RL( fName,field,iRec,myIter,myThid)        SUBROUTINE READ_REC_XYZ_RL( fName,field,iRec,myIter,myThid )
197    
198  C     !DESCRIPTION: \bv  C     !DESCRIPTION: \bv
199  C READ_REC_XYZ_RL is a "front-end" interface to the low-level I/O  C READ_REC_XYZ_RL is a "front-end" interface to the low-level I/O
# Line 199  c     INTEGER ILNBLNK Line 220  c     INTEGER ILNBLNK
220    
221  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
222  C Local  C Local
223          LOGICAL useCurrentDir
224        CHARACTER*(2) fType        CHARACTER*(2) fType
225        INTEGER nNz        INTEGER nNz
226  c     INTEGER IL  c     INTEGER IL
# Line 213  c     ELSE Line 235  c     ELSE
235  c      fullName=fName  c      fullName=fName
236  c     ENDIF  c     ENDIF
237    
238          useCurrentDir = .FALSE.
239        fType='RL'        fType='RL'
240        nNz=Nr        nNz=Nr
241  #ifdef ALLOW_MDSIO  #ifdef ALLOW_MDSIO
242        CALL MDSREADFIELD( fName, readBinaryPrec, fType,        CALL MDS_READ_FIELD(
243       &     nNz, field, iRec, myThid )       I                     fName, readBinaryPrec, useCurrentDir,
244         I                     fType, nNz, 1, nNz,
245         O                     field,
246         I                     iRec, myThid )
247  #endif  #endif
248        RETURN        RETURN
249        END        END
250    
251    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
252  CBOP  CBOP
253  C     !ROUTINE: READ_REC_3D_RS  C     !ROUTINE: READ_REC_3D_RS
254  C     !INTERFACE:  C     !INTERFACE:
# Line 258  c     INTEGER ILNBLNK Line 285  c     INTEGER ILNBLNK
285    
286  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
287  C Local  C Local
288          LOGICAL useCurrentDir
289        CHARACTER*(2) fType        CHARACTER*(2) fType
290  c     INTEGER IL  c     INTEGER IL
291  c     CHARACTER*(MAX_LEN_FNAM) fullName  c     CHARACTER*(MAX_LEN_FNAM) fullName
# Line 271  c     ELSE Line 299  c     ELSE
299  c      fullName=fName  c      fullName=fName
300  c     ENDIF  c     ENDIF
301    
302          useCurrentDir = .FALSE.
303        fType='RS'        fType='RS'
304  #ifdef ALLOW_MDSIO  #ifdef ALLOW_MDSIO
305        CALL MDSREADFIELD( fName, fPrec, fType,        CALL MDS_READ_FIELD(
306       &     nNz, field, iRec, myThid )       I                     fName, fPrec, useCurrentDir,
307         I                     fType, nNz, 1, nNz,
308         O                     field,
309         I                     iRec, myThid )
310  #endif  #endif
311        RETURN        RETURN
312        END        END
313    
314    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
315  CBOP  CBOP
316  C     !ROUTINE: READ_REC_3D_RL  C     !ROUTINE: READ_REC_3D_RL
317  C     !INTERFACE:  C     !INTERFACE:
# Line 315  c     INTEGER ILNBLNK Line 348  c     INTEGER ILNBLNK
348    
349  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
350  C Local  C Local
351          LOGICAL useCurrentDir
352        CHARACTER*(2) fType        CHARACTER*(2) fType
353  c     INTEGER IL  c     INTEGER IL
354  c     CHARACTER*(MAX_LEN_FNAM) fullName  c     CHARACTER*(MAX_LEN_FNAM) fullName
# Line 328  c     ELSE Line 362  c     ELSE
362  c      fullName=fName  c      fullName=fName
363  c     ENDIF  c     ENDIF
364    
365          useCurrentDir = .FALSE.
366        fType='RL'        fType='RL'
367  #ifdef ALLOW_MDSIO  #ifdef ALLOW_MDSIO
368        CALL MDSREADFIELD( fName, fPrec, fType,        CALL MDS_READ_FIELD(
369       &     nNz, field, iRec, myThid )       I                     fName, fPrec, useCurrentDir,
370         I                     fType, nNz, 1, nNz,
371         O                     field,
372         I                     iRec, myThid )
373    #endif
374          RETURN
375          END
376    
377    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
378    CBOP
379    C     !ROUTINE: READ_REC_LEV_RS
380    C     !INTERFACE:
381          SUBROUTINE READ_REC_LEV_RS(
382         I                           fName, fPrec, kSiz, kLo, kHi,
383         O                           field,
384         I                           iRec, myIter, myThid )
385    
386    C     !DESCRIPTION: \bv
387    C READ_REC_LEV_RS is a "front-end" interface to the low-level I/O routines.
388    C  Read a set a consecutive levels (from kLo to kHi) into 3D array (size: kSiz)
389    C  from record number "iRec" in binary file "fName" (precision "fPrec",
390    C  generally =32 or 64).
391    C     \ev
392    
393    C     !USES:
394          IMPLICIT NONE
395    C Global
396    #include "SIZE.h"
397    #include "EEPARAMS.h"
398    #include "PARAMS.h"
399    
400    C     !INPUT/OUTPUT PARAMETERS:
401    C Arguments
402          CHARACTER*(*) fName
403          INTEGER fPrec
404          INTEGER kSiz, kLo, kHi
405          _RS field(1-Olx:sNx+Olx,1-Oly:sNy+Oly,kSiz,nSx,nSy)
406          INTEGER iRec
407          INTEGER myIter
408          INTEGER myThid
409    
410    C Functions
411    c     INTEGER ILNBLNK
412    
413    C     !LOCAL VARIABLES:
414    C Local
415          LOGICAL useCurrentDir
416          CHARACTER*(2) fType
417    c     INTEGER IL
418    c     CHARACTER*(MAX_LEN_FNAM) fullName
419    CEOP
420    
421    
422    c     IF (myIter.GE.0) THEN
423    c      IL=ILNBLNK( fName )
424    c      WRITE(fullName,'(2a,i10.10)') fName(1:IL),'.',myIter
425    c     ELSE
426    c      fullName=fName
427    c     ENDIF
428    
429          useCurrentDir = .FALSE.
430          fType='RS'
431    #ifdef ALLOW_MDSIO
432          CALL MDS_READ_FIELD(
433         I                     fName, fPrec, useCurrentDir,
434         I                     fType, kSiz, kLo, kHi,
435         O                     field,
436         I                     iRec, myThid )
437    #endif
438          RETURN
439          END
440    
441    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
442    CBOP
443    C     !ROUTINE: READ_REC_LEV_RL
444    C     !INTERFACE:
445          SUBROUTINE READ_REC_LEV_RL(
446         I                           fName, fPrec, kSiz, kLo, kHi,
447         O                           field,
448         I                           iRec, myIter, myThid )
449    
450    C     !DESCRIPTION: \bv
451    C READ_REC_LEV_RL is a "front-end" interface to the low-level I/O routines.
452    C  Read a set a consecutive levels (from kLo to kHi) into 3D array (size: kSiz)
453    C  from record number "iRec" in binary file "fName" (precision "fPrec",
454    C  generally =32 or 64).
455    C     \ev
456    
457    C     !USES:
458          IMPLICIT NONE
459    C Global
460    #include "SIZE.h"
461    #include "EEPARAMS.h"
462    #include "PARAMS.h"
463    
464    C     !INPUT/OUTPUT PARAMETERS:
465    C Arguments
466          CHARACTER*(*) fName
467          INTEGER fPrec
468          INTEGER kSiz, kLo, kHi
469          _RL field(1-Olx:sNx+Olx,1-Oly:sNy+Oly,kSiz,nSx,nSy)
470          INTEGER iRec
471          INTEGER myIter
472          INTEGER myThid
473    
474    C Functions
475    c     INTEGER ILNBLNK
476    
477    C     !LOCAL VARIABLES:
478    C Local
479          LOGICAL useCurrentDir
480          CHARACTER*(2) fType
481    c     INTEGER IL
482    c     CHARACTER*(MAX_LEN_FNAM) fullName
483    CEOP
484    
485    
486    c     IF (myIter.GE.0) THEN
487    c      IL=ILNBLNK( fName )
488    c      WRITE(fullName,'(2a,i10.10)') fName(1:IL),'.',myIter
489    c     ELSE
490    c      fullName=fName
491    c     ENDIF
492    
493          useCurrentDir = .FALSE.
494          fType='RL'
495    #ifdef ALLOW_MDSIO
496          CALL MDS_READ_FIELD(
497         I                     fName, fPrec, useCurrentDir,
498         I                     fType, kSiz, kLo, kHi,
499         O                     field,
500         I                     iRec, myThid )
501  #endif  #endif
502        RETURN        RETURN
503        END        END
504    
505    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
506  CBOP  CBOP
507  C     !ROUTINE: READ_REC_XZ_RS  C     !ROUTINE: READ_REC_XZ_RS
508  C     !INTERFACE:  C     !INTERFACE:
509        SUBROUTINE READ_REC_XZ_RS( fName,field,iRec,myIter,myThid)        SUBROUTINE READ_REC_XZ_RS( fName,field,iRec,myIter,myThid )
510    
511  C     !DESCRIPTION: \bv  C     !DESCRIPTION: \bv
512  C READ_REC_XZ_RS is a "front-end" interface to the low-level I/O  C READ_REC_XZ_RS is a "front-end" interface to the low-level I/O
# Line 387  c     ENDIF Line 554  c     ENDIF
554        RETURN        RETURN
555        END        END
556    
557    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
558  CBOP  CBOP
559  C     !ROUTINE: READ_REC_XZ_RL  C     !ROUTINE: READ_REC_XZ_RL
560  C     !INTERFACE:  C     !INTERFACE:
561        SUBROUTINE READ_REC_XZ_RL( fName,field,iRec,myIter,myThid)        SUBROUTINE READ_REC_XZ_RL( fName,field,iRec,myIter,myThid )
562    
563  C     !DESCRIPTION: \bv  C     !DESCRIPTION: \bv
564  C READ_REC_XZ_RL is a "front-end" interface to the low-level I/O  C READ_REC_XZ_RL is a "front-end" interface to the low-level I/O
# Line 439  c     ENDIF Line 607  c     ENDIF
607        RETURN        RETURN
608        END        END
609    
610    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
611  CBOP  CBOP
612  C     !ROUTINE: READ_REC_YZ_RS  C     !ROUTINE: READ_REC_YZ_RS
613  C     !INTERFACE:  C     !INTERFACE:
614        SUBROUTINE READ_REC_YZ_RS( fName,field,iRec,myIter,myThid)        SUBROUTINE READ_REC_YZ_RS( fName,field,iRec,myIter,myThid )
615    
616  C     !DESCRIPTION: \bv  C     !DESCRIPTION: \bv
617  C READ_REC_YZ_RS is a "front-end" interface to the low-level I/O  C READ_REC_YZ_RS is a "front-end" interface to the low-level I/O
# Line 492  c     ENDIF Line 661  c     ENDIF
661        RETURN        RETURN
662        END        END
663    
664    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
665  CBOP  CBOP
666  C     !ROUTINE: READ_REC_YZ_RL  C     !ROUTINE: READ_REC_YZ_RL
667  C     !INTERFACE:  C     !INTERFACE:
668        SUBROUTINE READ_REC_YZ_RL( fName,field,iRec,myIter,myThid)        SUBROUTINE READ_REC_YZ_RL( fName,field,iRec,myIter,myThid )
669    
670  C     !DESCRIPTION: \bv  C     !DESCRIPTION: \bv
671  C READ_REC_YZ_RL is a "front-end" interface to the low-level I/O  C READ_REC_YZ_RL is a "front-end" interface to the low-level I/O

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

  ViewVC Help
Powered by ViewVC 1.1.22