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

Diff of /MITgcm/model/src/write_grid.F

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

revision 1.8 by edhill, Tue Dec 14 23:00:53 2004 UTC revision 1.40 by jmc, Mon Aug 22 22:06:01 2016 UTC
# Line 1  Line 1 
1  C $Header$  C $Header$
2  C $Name$  C $Name$
3          
4  #include "PACKAGES_CONFIG.h"  #include "PACKAGES_CONFIG.h"
5  #include "CPP_OPTIONS.h"  #include "CPP_OPTIONS.h"
6          #include "AD_CONFIG.h"
7    #ifdef ALLOW_AUTODIFF
8    # include "AUTODIFF_OPTIONS.h"
9    #endif
10    
11  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
12  CBOP  CBOP
13  C     !ROUTINE: WRITE_GRID  C     !ROUTINE: WRITE_GRID
14  C     !INTERFACE:  C     !INTERFACE:
15        SUBROUTINE WRITE_GRID(        SUBROUTINE WRITE_GRID(
16       I     myThid )       I                 myThid )
17    
18  C     !DESCRIPTION:  C     !DESCRIPTION:
19  C     Writes the model geometry and grid arrays to file(s) using which  C     Writes the model geometry and grid arrays to file(s) using which
# Line 22  C     INITIALIZE_FIXED Line 26  C     INITIALIZE_FIXED
26  C       |  C       |
27  C       |-- WRITE_GRID  C       |-- WRITE_GRID
28    
29    C     !USES:
30        IMPLICIT NONE        IMPLICIT NONE
31    
32  #include "SIZE.h"  #include "SIZE.h"
33  #include "EEPARAMS.h"  #include "EEPARAMS.h"
34  #include "PARAMS.h"  #include "PARAMS.h"
# Line 36  C     myThid -  Number of this instances Line 42  C     myThid -  Number of this instances
42        INTEGER myThid        INTEGER myThid
43    
44  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
45        character*(4) bfname  C     tmpfld :: Temporary array used to compute & write Total Depth ;
46  C     tmpfld  - Temporary array used to compute & write Total Depth  C               loaded in multi-threaded way but written by single (master)
47  C               has to be in common for multi threading  C               thread => needs to be in common to be shared by all threads
48  C     ?aja: not sure why the COMMON block is necessary - should ask JMC?  C     no longer needed since MDSIO now allows (2009/06/07) to write local arrays
49        COMMON / LOCAL_INI_MASKS_ETC / tmpfld  c     COMMON / LOCAL_WRITE_GRID / tmpfld
50        _RS tmpfld(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)        _RS tmpfld(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
51        INTEGER i,j,bi,bj        _RS tmpVar(Nr+1)
52          INTEGER i,j,k,bi,bj
53          LOGICAL writegrid_mdsio
54    #ifdef ALLOW_MNC
55          CHARACTER*(4) bfname
56    #endif
57  CEOP  CEOP
58    
59  C     Calculate the fluid thickness in R coordinates as seen by the  C     Calculate the fluid thickness in R coordinates as seen by the
60  C     model.  This may differ from what the user specified due to  C     model.  This may differ from what the user specified due to
61  C     partial cells, etc.  C     partial cells, etc.
62        DO bj = myByLo(myThid), myByHi(myThid)        DO bj = myByLo(myThid), myByHi(myThid)
63          DO bi = myBxLo(myThid), myBxHi(myThid)         DO bi = myBxLo(myThid), myBxHi(myThid)
64            DO j=1-Oly,sNy+Oly           DO j=1-OLy,sNy+OLy
65              DO i=1-Olx,sNx+Olx            DO i=1-OLx,sNx+OLx
66  C             Total fluid column thickness (r_unit) :  C     Total fluid column thickness (r_unit) :
67                tmpfld(i,j,bi,bj) = Ro_surf(i,j,bi,bj) - R_low(i,j,bi,bj)              tmpfld(i,j,bi,bj) = Ro_surf(i,j,bi,bj) - R_low(i,j,bi,bj)
             ENDDO  
68            ENDDO            ENDDO
69          ENDDO           ENDDO
70           ENDDO
71        ENDDO        ENDDO
72    c     _BARRIER
73    
74        _BEGIN_MASTER( myThid )        writegrid_mdsio = .TRUE.
75    #ifdef ALLOW_MNC
76          IF ( useMNC ) THEN
77            writegrid_mdsio = outputTypesInclusive .OR. .NOT.writegrid_mnc
78          ENDIF
79    #endif /* ALLOW_MNC */
80    
81          IF ( writegrid_mdsio ) THEN
82    
83  C     Write horizontal grid arrays  C     Write horizontal grid arrays
84        CALL WRITE_FLD_XY_RS( 'XC',' ',XC,0,myThid)          CALL WRITE_FLD_XY_RS( 'XC',' ',xC,-1,myThid)
85        CALL WRITE_FLD_XY_RS( 'YC',' ',YC,0,myThid)          CALL WRITE_FLD_XY_RS( 'YC',' ',yC,-1,myThid)
86        CALL WRITE_FLD_XY_RS( 'XG',' ',XG,0,myThid)          CALL WRITE_FLD_XY_RS( 'XG',' ',xG,-1,myThid)
87        CALL WRITE_FLD_XY_RS( 'YG',' ',YG,0,myThid)          CALL WRITE_FLD_XY_RS( 'YG',' ',yG,-1,myThid)
88        CALL WRITE_FLD_XY_RS( 'RAC',' ',rA,0,myThid)          CALL WRITE_FLD_XY_RS( 'RAC',' ',rA,-1,myThid)
89        CALL WRITE_FLD_XY_RS( 'RAW',' ',rAw,0,myThid)          CALL WRITE_FLD_XY_RS( 'RAW',' ',rAw,-1,myThid)
90        CALL WRITE_FLD_XY_RS( 'RAS',' ',rAs,0,myThid)          CALL WRITE_FLD_XY_RS( 'RAS',' ',rAs,-1,myThid)
91        CALL WRITE_FLD_XY_RS( 'DXG',' ',DXG,0,myThid)          CALL WRITE_FLD_XY_RS( 'RAZ',' ',rAz,-1,myThid)
92        CALL WRITE_FLD_XY_RS( 'DYG',' ',DYG,0,myThid)          CALL WRITE_FLD_XY_RS( 'DXG',' ',dxG,-1,myThid)
93        CALL WRITE_FLD_XY_RS( 'DXC',' ',DXC,0,myThid)          CALL WRITE_FLD_XY_RS( 'DYG',' ',dyG,-1,myThid)
94        CALL WRITE_FLD_XY_RS( 'DYC',' ',DYC,0,myThid)          CALL WRITE_FLD_XY_RS( 'DXC',' ',dxC,-1,myThid)
95            CALL WRITE_FLD_XY_RS( 'DYC',' ',dyC,-1,myThid)
96            IF ( usingCurvilinearGrid .OR. rotateGrid ) THEN
97              CALL WRITE_FLD_XY_RS( 'AngleCS',' ',angleCosC,-1,myThid)
98              CALL WRITE_FLD_XY_RS( 'AngleSN',' ',angleSinC,-1,myThid)
99              CALL WRITE_FLD_XY_RS( 'U2zonDir',' ',u2zonDir,-1,myThid)
100              CALL WRITE_FLD_XY_RS( 'V2zonDir',' ',v2zonDir,-1,myThid)
101            ENDIF
102  C     Write 3D geometry arrays  C     Write 3D geometry arrays
103        CALL WRITE_FLD_XY_RS( 'Depth',' ',tmpfld,0,myThid)          CALL WRITE_FLD_XY_RS( 'Depth',' ',tmpfld,-1,myThid)
104        CALL WRITE_FLD_XYZ_RS( 'hFacC',' ',hFacC,0,myThid)          IF ( debugLevel.GE.debLevC ) THEN
105        CALL WRITE_FLD_XYZ_RS( 'hFacW',' ',hFacW,0,myThid)           CALL WRITE_FLD_XY_RS( 'rLowC', ' ', R_low, -1,myThid)
106        CALL WRITE_FLD_XYZ_RS( 'hFacS',' ',hFacS,0,myThid)           CALL WRITE_FLD_XY_RS( 'rLowW', ' ', rLowW, -1,myThid)
107        IF (buoyancyRelation .EQ. 'ATMOSPHERIC')           CALL WRITE_FLD_XY_RS( 'rLowS', ' ', rLowS, -1,myThid)
108       &     CALL WRITE_FLD_XY_RS( 'topo_P',' ',Ro_surf,0,myThid)           CALL WRITE_FLD_XY_RS( 'rSurfC',' ',Ro_surf,-1,myThid)
109             CALL WRITE_FLD_XY_RS( 'rSurfW',' ',rSurfW, -1,myThid)
110             CALL WRITE_FLD_XY_RS( 'rSurfS',' ',rSurfS, -1,myThid)
111            ENDIF
112            CALL WRITE_FLD_XYZ_RS( 'hFacC',' ',hFacC, 0,myThid)
113            CALL WRITE_FLD_XYZ_RS( 'hFacW',' ',hFacW, 0,myThid)
114            CALL WRITE_FLD_XYZ_RS( 'hFacS',' ',hFacS, 0,myThid)
115            IF ( fluidIsAir )
116         &    CALL WRITE_FLD_XY_RS( 'topo_P',' ',Ro_surf,-1,myThid)
117            IF ( useOBCS ) THEN
118              CALL WRITE_FLD_XY_RS( 'maskInC',' ', maskInC, -1, myThid )
119              CALL WRITE_FLD_XY_RS( 'maskInW',' ', maskInW, -1, myThid )
120              CALL WRITE_FLD_XY_RS( 'maskInS',' ', maskInS, -1, myThid )
121    c         CALL WRITE_FULLARRAY_RS('maskInC',maskInC,1,0,0,1,-1,myThid)
122    c         CALL WRITE_FULLARRAY_RS('maskInW',maskInW,1,0,0,1,-1,myThid)
123    c         CALL WRITE_FULLARRAY_RS('maskInS',maskInS,1,0,0,1,-1,myThid)
124            ENDIF
125    
126    C     Write vertical grid arrays
127            CALL WRITE_GLVEC_RS( 'RC', ' ', rC,  Nr, -1, myThid )
128            CALL WRITE_GLVEC_RS( 'RF', ' ', rF, 1+Nr,-1, myThid )
129            CALL WRITE_GLVEC_RS( 'DRC',' ', drC,1+Nr,-1, myThid )
130            CALL WRITE_GLVEC_RS( 'DRF',' ', drF, Nr, -1, myThid )
131            IF ( selectSigmaCoord.NE.0 ) THEN
132             CALL WRITE_GLVEC_RS( 'AHybSigF',' ',aHybSigmF,1+Nr,-1,myThid )
133             CALL WRITE_GLVEC_RS( 'BHybSigF',' ',bHybSigmF,1+Nr,-1,myThid )
134             CALL WRITE_GLVEC_RS( 'AHybSigC',' ',aHybSigmC, Nr, -1,myThid )
135             CALL WRITE_GLVEC_RS( 'BHybSigC',' ',bHybSigmC, Nr, -1,myThid )
136             CALL WRITE_GLVEC_RS('DAHybSigF',' ',dAHybSigF, Nr, -1,myThid )
137             CALL WRITE_GLVEC_RS('DBHybSigF',' ',dBHybSigF, Nr, -1,myThid )
138             CALL WRITE_GLVEC_RS('DAHybSigC',' ',dAHybSigC,1+Nr,-1,myThid )
139             CALL WRITE_GLVEC_RS('DBHybSigC',' ',dBHybSigC,1+Nr,-1,myThid )
140            ENDIF
141    
142          ENDIF
143    
144        _END_MASTER(myThid)  C--  Comment out the "if": also useful for the Ocean (to get the full
145    C    Pressure) and write also these MDS file when writegrid_mdsio=F
146    C    (since missing from MNC grid-file)
147    c      IF (buoyancyRelation .EQ. 'ATMOSPHERIC') THEN
148            DO k=1,Nr+1
149              tmpVar(k) = phiRef(2*k-1)
150            ENDDO
151            CALL WRITE_GLVEC_RS( 'PHrefF',' ',tmpVar,1+Nr,-1, myThid )
152            DO k=1,Nr
153              tmpVar(k) = phiRef(2*k)
154            ENDDO
155            CALL WRITE_GLVEC_RS( 'PHrefC',' ',tmpVar, Nr, -1, myThid )
156    c      ENDIF
157    
158    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
159    
160  #ifdef ALLOW_MNC  #ifdef ALLOW_MNC
161        _BEGIN_MASTER( myThid )        IF ( useMNC .AND. writegrid_mnc ) THEN
162        IF (useMNC) THEN  
163            _BEGIN_MASTER( myThid )
164          bfname='grid'          bfname='grid'
165            
 C       Grid spacing, areas and hFacs  
         CALL MNC_CW_ADD_VNAME('drC', '-_-_--__C__-', 0,0, myThid)  
         CALL MNC_CW_ADD_VNAME('drF', '-_-_--__C__-', 0,0, myThid)  
         CALL MNC_CW_ADD_VNAME('saFac', '-_-_--__C__-', 0,0, myThid)  
   
         CALL MNC_CW_ADD_VNAME('dxC', 'Cen_xy_Hn__-__-', 3,4, myThid)  
         CALL MNC_CW_ADD_VNAME('dyC', 'Cen_xy_Hn__-__-', 3,4, myThid)  
         CALL MNC_CW_ADD_VNAME('dxF', 'Cen_xy_Hn__-__-', 3,4, myThid)  
         CALL MNC_CW_ADD_VNAME('dyF', 'Cen_xy_Hn__-__-', 3,4, myThid)  
         CALL MNC_CW_ADD_VNAME('dxG', 'Cen_xy_Hn__-__-', 3,4, myThid)  
         CALL MNC_CW_ADD_VNAME('dyG', 'Cen_xy_Hn__-__-', 3,4, myThid)  
         CALL MNC_CW_ADD_VNAME('dxV', 'U_xy_Hn__-__-', 3,4, myThid)  
         CALL MNC_CW_ADD_VNAME('dyU', 'V_xy_Hn__-__-', 3,4, myThid)  
         CALL MNC_CW_ADD_VNAME('rA', 'Cen_xy_Hn__-__-', 3,4, myThid)  
         CALL MNC_CW_ADD_VNAME('rAw', 'Cen_xy_Hn__-__-', 3,4, myThid)  
         CALL MNC_CW_ADD_VNAME('rAs', 'Cen_xy_Hn__-__-', 3,4, myThid)  
         CALL MNC_CW_ADD_VNAME('rAz', 'Cen_xy_Hn__-__-', 3,4, myThid)  
         CALL MNC_CW_ADD_VNAME('fCori', 'Cen_xy_Hn__-__-', 3,4,myThid)  
         CALL MNC_CW_ADD_VNAME('fCoriG','Cen_xy_Hn__-__-', 3,4,myThid)  
         CALL MNC_CW_ADD_VNAME('R_low','Cen_xy_Hn__-__-', 3,4, myThid)  
         CALL MNC_CW_ADD_VNAME('Ro_surf','Cen_xy_Hn__-__-',3,4,myThid)  
         CALL MNC_CW_ADD_VNAME('Depth', 'Cen_xy_Hn__-__-', 3,4,myThid)  
         CALL MNC_CW_ADD_VNAME('HFacC', 'Cen_xy_Hn__C__-', 4,5,myThid)  
         CALL MNC_CW_ADD_VNAME('HFacW', 'Cen_xy_Hn__C__-', 4,5,myThid)  
         CALL MNC_CW_ADD_VNAME('HFacS', 'Cen_xy_Hn__C__-', 4,5,myThid)  
           
         CALL MNC_CW_ADD_VATTR_TEXT('drC','description',  
      &       'r cell center separation',myThid)  
         CALL MNC_CW_ADD_VATTR_TEXT('drF','description',  
      &       'r cell face separation',myThid)  
         CALL MNC_CW_ADD_VATTR_TEXT('saFac','description',  
      &       'shallow atmosphere factor',myThid)  
         CALL MNC_CW_ADD_VATTR_TEXT('dxC','description',  
      &       'x cell center separation',myThid)  
         CALL MNC_CW_ADD_VATTR_TEXT('dyC','description',  
      &       'y cell center separation',myThid)  
         CALL MNC_CW_ADD_VATTR_TEXT('dxF','description',  
      &       'x cell face separation',myThid)  
         CALL MNC_CW_ADD_VATTR_TEXT('dyF','description',  
      &     'y cell face separation',myThid)  
         CALL MNC_CW_ADD_VATTR_TEXT('dxG','description',  
      &     'x cell face separation',myThid)  
         CALL MNC_CW_ADD_VATTR_TEXT('dyG','description',  
      &       'y cell face separation',myThid)  
         CALL MNC_CW_ADD_VATTR_TEXT('dxV','description',  
      &       'x v-velocity separation',myThid)  
         CALL MNC_CW_ADD_VATTR_TEXT('dyU','description',  
      &       'y u-velocity separation',myThid)  
         CALL MNC_CW_ADD_VATTR_TEXT('rA','description',  
      &       'r-face area',myThid)  
 C       Its pointless to write blank attributes so these should be  
 C       filled in.  
 C        CALL MNC_CW_ADD_VATTR_TEXT('rAw','description',  
 C     &       '',myThid)  
 C        CALL MNC_CW_ADD_VATTR_TEXT('rAs','description',  
 C     &       '',myThid)  
 C        CALL MNC_CW_ADD_VATTR_TEXT('rAz','description',  
 C       &       '',myThid)  
         CALL MNC_CW_ADD_VATTR_TEXT('fCori','description',  
      &       'Coriolis f',myThid)  
         CALL MNC_CW_ADD_VATTR_TEXT('fCoriG','description',  
      &       'Coriolis f',myThid)  
         CALL MNC_CW_ADD_VATTR_TEXT('R_low','description',  
      &       'base of fluid in r-units',myThid)  
         CALL MNC_CW_ADD_VATTR_TEXT('Ro_surf','description',  
      &       'surface reference (at rest) position',myThid)  
         CALL MNC_CW_ADD_VATTR_TEXT('Depth','description',  
      &       'fluid thickness in r coordinates (at rest)',myThid)  
         CALL MNC_CW_ADD_VATTR_TEXT('HFacC','description',  
      &       'C-facing vertical fraction of open cell',myThid)  
         CALL MNC_CW_ADD_VATTR_TEXT('HFacW','description',  
      &       'W-facing vertical fraction of open cell',myThid)  
         CALL MNC_CW_ADD_VATTR_TEXT('HFacS','description',  
      &       'S-facing vertical fraction of open cell',myThid)  
           
166  C       Write the GRID.h variables to a file  C       Write the GRID.h variables to a file
167          CALL MNC_CW_SET_UDIM(bfname, 0, myThid)          CALL MNC_CW_SET_UDIM(bfname, 0, myThid)
168          CALL MNC_CW_RL_W('D',bfname,0,0,'RC',rC,myThid)          CALL MNC_CW_SET_CITER(bfname, 2, -1, -1, -1, myThid)
169          CALL MNC_CW_RL_W('D',bfname,0,0,'RF',rF,myThid)          CALL MNC_CW_SET_UDIM(bfname, 1, myThid)
170          CALL MNC_CW_RL_W('D',bfname,0,0,'drC',drC,myThid)          CALL MNC_CW_RS_W('D',bfname,0,0,'RC',rC,myThid)
171          CALL MNC_CW_RL_W('D',bfname,0,0,'drF',drF,myThid)          CALL MNC_CW_RS_W('D',bfname,0,0,'RF',rF,myThid)
172          CALL MNC_CW_RL_W('D',bfname,0,0,'saFac',saFac,myThid)          CALL MNC_CW_RS_W('D',bfname,0,0,'RU',rF(2),myThid)
173          CALL MNC_CW_RL_W('D',bfname,0,0,'XC',xC,myThid)          CALL MNC_CW_RS_W('D',bfname,0,0,'RL',rF,myThid)
174          CALL MNC_CW_RL_W('D',bfname,0,0,'YC',yC,myThid)          CALL MNC_CW_RS_W('D',bfname,0,0,'drC',drC,myThid)
175          CALL MNC_CW_RL_W('D',bfname,0,0,'XU',xG,myThid)          CALL MNC_CW_RS_W('D',bfname,0,0,'drF',drF,myThid)
176          CALL MNC_CW_RL_W('D',bfname,0,0,'YU',yC,myThid)          CALL MNC_CW_RS_W('D',bfname,0,0,'XC',xC,myThid)
177          CALL MNC_CW_RL_W('D',bfname,0,0,'XV',xC,myThid)          CALL MNC_CW_RS_W('D',bfname,0,0,'YC',yC,myThid)
178          CALL MNC_CW_RL_W('D',bfname,0,0,'YV',yG,myThid)  c       CALL MNC_CW_RS_W('D',bfname,0,0,'XU',xG,myThid)
179          CALL MNC_CW_RL_W('D',bfname,0,0,'XG',xG,myThid)  c       CALL MNC_CW_RS_W('D',bfname,0,0,'YU',yC,myThid)
180          CALL MNC_CW_RL_W('D',bfname,0,0,'YG',yG,myThid)  c       CALL MNC_CW_RS_W('D',bfname,0,0,'XV',xC,myThid)
181          CALL MNC_CW_RL_W('D',bfname,0,0,'dxC',dxC,myThid)  c       CALL MNC_CW_RS_W('D',bfname,0,0,'YV',yG,myThid)
182          CALL MNC_CW_RL_W('D',bfname,0,0,'dyC',dyC,myThid)          CALL MNC_CW_RS_W('D',bfname,0,0,'XG',xG,myThid)
183          CALL MNC_CW_RL_W('D',bfname,0,0,'dxF',dxF,myThid)          CALL MNC_CW_RS_W('D',bfname,0,0,'YG',yG,myThid)
184          CALL MNC_CW_RL_W('D',bfname,0,0,'dyF',dyF,myThid)          CALL MNC_CW_RS_W('D',bfname,0,0,'dxC',dxC,myThid)
185          CALL MNC_CW_RL_W('D',bfname,0,0,'dxG',dxG,myThid)          CALL MNC_CW_RS_W('D',bfname,0,0,'dyC',dyC,myThid)
186          CALL MNC_CW_RL_W('D',bfname,0,0,'dyG',dyG,myThid)          CALL MNC_CW_RS_W('D',bfname,0,0,'dxF',dxF,myThid)
187          CALL MNC_CW_RL_W('D',bfname,0,0,'dxV',dxV,myThid)          CALL MNC_CW_RS_W('D',bfname,0,0,'dyF',dyF,myThid)
188          CALL MNC_CW_RL_W('D',bfname,0,0,'dyU',dyU,myThid)          CALL MNC_CW_RS_W('D',bfname,0,0,'dxG',dxG,myThid)
189          CALL MNC_CW_RL_W('D',bfname,0,0,'rA',rA,myThid)          CALL MNC_CW_RS_W('D',bfname,0,0,'dyG',dyG,myThid)
190          CALL MNC_CW_RL_W('D',bfname,0,0,'rAw',rAw,myThid)          CALL MNC_CW_RS_W('D',bfname,0,0,'dxV',dxV,myThid)
191          CALL MNC_CW_RL_W('D',bfname,0,0,'rAs',rAs,myThid)          CALL MNC_CW_RS_W('D',bfname,0,0,'dyU',dyU,myThid)
192          CALL MNC_CW_RL_W('D',bfname,0,0,'rAz',rAz,myThid)          CALL MNC_CW_RS_W('D',bfname,0,0,'rA',rA,myThid)
193          CALL MNC_CW_RL_W('D',bfname,0,0,'fCori',fCori,myThid)          CALL MNC_CW_RS_W('D',bfname,0,0,'rAw',rAw,myThid)
194          CALL MNC_CW_RL_W('D',bfname,0,0,'fCoriG',fCoriG,myThid)          CALL MNC_CW_RS_W('D',bfname,0,0,'rAs',rAs,myThid)
195          CALL MNC_CW_RL_W('D',bfname,0,0,'R_low',R_low,myThid)          CALL MNC_CW_RS_W('D',bfname,0,0,'rAz',rAz,myThid)
196          CALL MNC_CW_RL_W('D',bfname,0,0,'Ro_surf',Ro_surf,myThid)          IF ( usingCurvilinearGrid .OR. rotateGrid ) THEN
197          CALL MNC_CW_RL_W('D',bfname,0,0,'Depth',tmpfld,myThid)            CALL MNC_CW_RS_W('D',bfname,0,0,'AngleCS',angleCosC,myThid)
198          CALL MNC_CW_RL_W('D',bfname,0,0,'HFacC',HFacC,myThid)            CALL MNC_CW_RS_W('D',bfname,0,0,'AngleSN',angleSinC,myThid)
199          CALL MNC_CW_RL_W('D',bfname,0,0,'HFacW',HFacW,myThid)          ENDIF
200          CALL MNC_CW_RL_W('D',bfname,0,0,'HFacS',HFacS,myThid)          CALL MNC_CW_RS_W('D',bfname,0,0,'fCori',fCori,myThid)
201            CALL MNC_CW_RS_W('D',bfname,0,0,'fCoriG',fCoriG,myThid)
202            CALL MNC_CW_RS_W('D',bfname,0,0,'R_low',R_low,myThid)
203            CALL MNC_CW_RS_W('D',bfname,0,0,'Ro_surf',Ro_surf,myThid)
204            CALL MNC_CW_RS_W('D',bfname,0,0,'Depth',tmpfld,myThid)
205            CALL MNC_CW_RS_W('D',bfname,0,0,'HFacC',HFacC,myThid)
206            CALL MNC_CW_RS_W('D',bfname,0,0,'HFacW',HFacW,myThid)
207            CALL MNC_CW_RS_W('D',bfname,0,0,'HFacS',HFacS,myThid)
208    
209            _END_MASTER(myThid)
210    
211        ENDIF        ENDIF
212        _END_MASTER(myThid)  
213          IF ( useMNC .AND. (usingCurvilinearGrid .OR. rotateGrid) ) THEN
214    C     If the grid is not simply cartesian, cylindrical or spherical,
215    C     include additional coordinate information to the following files
216           IF ( snapshot_mnc .AND.
217         &      ( dumpFreq .GT. 0. .OR. dumpInitAndLast ) )
218         &      CALL MNC_CW_WRITE_GRID_COORD('state', myThid)
219    #if (defined ALLOW_AUTODIFF) && \
220        (defined (ALLOW_ADJOINT_RUN) || defined (ALLOW_ADMTLM)) && \
221        (defined ALLOW_AUTODIFF_MONITOR)
222           IF ( autodiff_mnc .AND. adjDumpFreq .GT. 0. ) THEN
223            CALL MNC_CW_WRITE_GRID_COORD('adstate', myThid)
224    #ifdef ALLOW_EXF
225            IF (useEXF) CALL MNC_CW_WRITE_GRID_COORD('adexf',myThid)
226    #endif /* ALLOW_EXF */
227    #ifdef ALLOW_SEAICE
228            IF (useSEAICE) CALL MNC_CW_WRITE_GRID_COORD('adseaice',myThid)
229    #endif /* ALLOW_SEAICE */
230           ENDIF
231    #endif /* ALLOW_AUTODIFF */
232          ENDIF
233    
234  #endif /* ALLOW_MNC */  #endif /* ALLOW_MNC */
235    
236        RETURN        RETURN
237        END        END
   
 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  
   

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.40

  ViewVC Help
Powered by ViewVC 1.1.22