/[MITgcm]/MITgcm/pkg/debug/write_fullarray_rl.F
ViewVC logotype

Diff of /MITgcm/pkg/debug/write_fullarray_rl.F

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

revision 1.1 by jmc, Sun Dec 7 20:36:16 2003 UTC revision 1.2 by jmc, Thu Sep 23 21:21:02 2004 UTC
# Line 4  C $Name$ Line 4  C $Name$
4  #include "CPP_OPTIONS.h"  #include "CPP_OPTIONS.h"
5    
6  CStartofinterface  CStartofinterface
7        SUBROUTINE WRITE_FULLARRAY_RL(fnam, fld, kSize, myIter,myThid)        SUBROUTINE WRITE_FULLARRAY_RL(fnam, fld, kSize,
8         I                              biArg, bjArg, myIter, myThid)
9  C     *==========================================================*  C     *==========================================================*
10  C     | SUBROUTINE WRITE_FULLARRAY  C     | SUBROUTINE WRITE_FULLARRAY
11  C     | write full array (including the overlap) to binary files  C     | write full array (including the overlap) to binary files
12  C     *==========================================================*  C     *==========================================================*
13  C     | Only used for debugging purpose.  C     | Only used for debugging purpose.
14    C     |  can write local array (tile biArg,bjArg) or global
15    C     |  array (with biArg=bjArg=0)
16  C     *==========================================================*  C     *==========================================================*
17        IMPLICIT NONE        IMPLICIT NONE
18    
# Line 20  C     == Global variables === Line 23  C     == Global variables ===
23  C     == Routine arguments ==  C     == Routine arguments ==
24        CHARACTER*(*) fnam        CHARACTER*(*) fnam
25        INTEGER kSize        INTEGER kSize
26          INTEGER biArg, bjArg
27        INTEGER myIter        INTEGER myIter
28        INTEGER myThid        INTEGER myThid
29        _RL fld(1-Olx:sNx+Olx,1-Oly:sNy+Oly,kSize,nSx,nSy)        _RL fld(1-Olx:sNx+Olx,1-Oly:sNy+Oly,kSize,nSx,nSy)
# Line 45  C--   to Build file name Line 49  C--   to Build file name
49    
50        fType='RL'        fType='RL'
51                
52        DO bj = 1,nSy        IF ( biArg.EQ.0 .AND. bjArg.EQ.0 ) THEN
53         DO bi = 1,nSx  C--   Write full global array:
54          iG=bi+(myXGlobalLo-1)/sNx         DO bj = 1,nSy
55          jG=bj+(myYGlobalLo-1)/sNy          DO bi = 1,nSx
56             iG=bi+(myXGlobalLo-1)/sNx
57             jG=bj+(myYGlobalLo-1)/sNy
58    
59          WRITE( fullName, '(2A,I10.10,2(A,I3.3),A)' )           WRITE( fullName, '(2A,I10.10,2(A,I3.3),A)' )
60       &    fnam(s1Lo:s1Hi),'.',myIter,'.',iG,'.',jG,'.bin'       &    fnam(s1Lo:s1Hi),'.',myIter,'.',iG,'.',jG,'.bin'
61    
62  c       length_of_rec=MDS_RECLEN( filePrec, sNx, mythid )  c        length_of_rec=MDS_RECLEN( filePrec, sNx, mythid )
63          OPEN(dUnit, file=fullName, status='unknown',           OPEN(dUnit, file=fullName, status='unknown',
64       &        form='unformatted')       &        form='unformatted')
65  c    &        access='direct', recl=length_of_rec )  c    &        access='direct', recl=length_of_rec )
66          WRITE(dUnit) ((( fld(i,j,k,bi,bj),           WRITE(dUnit) ((( fld(i,j,k,bi,bj),
67       &                       i=1-Olx,sNx+Olx),       &                       i=1-Olx,sNx+Olx),
68       &                       j=1-Oly,sNy+Oly),       &                       j=1-Oly,sNy+Oly),
69       &                       k=1,kSize)       &                       k=1,kSize)
70          CLOSE(dUnit)           CLOSE(dUnit)
71    
72            ENDDO
73         ENDDO         ENDDO
74        ENDDO  
75          ELSE
76    C--   Write local array:
77             iG=biArg+(myXGlobalLo-1)/sNx
78             jG=bjArg+(myYGlobalLo-1)/sNy
79    
80             WRITE( fullName, '(2A,I10.10,2(A,I3.3),A)' )
81         &    fnam(s1Lo:s1Hi),'.',myIter,'.',iG,'.',jG,'.bin'
82    
83    c        length_of_rec=MDS_RECLEN( filePrec, sNx, mythid )
84             OPEN(dUnit, file=fullName, status='unknown',
85         &        form='unformatted')
86    c    &        access='direct', recl=length_of_rec )
87             WRITE(dUnit) ((( fld(i,j,k,1,1),
88         &                       i=1-Olx,sNx+Olx),
89         &                       j=1-Oly,sNy+Oly),
90         &                       k=1,kSize)
91             CLOSE(dUnit)
92    
93          ENDIF
94    
95        _END_MASTER( myThid )        _END_MASTER( myThid )
96    

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

  ViewVC Help
Powered by ViewVC 1.1.22