/[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.6 by edhill, Wed Oct 13 04:37:37 2004 UTC revision 1.10 by jmc, Tue Feb 22 17:09:24 2005 UTC
# Line 40  C     !LOCAL VARIABLES: Line 40  C     !LOCAL VARIABLES:
40  C     tmpfld  - Temporary array used to compute & write Total Depth  C     tmpfld  - Temporary array used to compute & write Total Depth
41  C               has to be in common for multi threading  C               has to be in common for multi threading
42  C     ?aja: not sure why the COMMON block is necessary - should ask JMC?  C     ?aja: not sure why the COMMON block is necessary - should ask JMC?
43        COMMON / LOCAL_INI_MASKS_ETC / tmpfld  c     COMMON / LOCAL_INI_MASKS_ETC / tmpfld
44        _RS tmpfld(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)        _RS tmpfld(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
45        INTEGER i,j,bi,bj        INTEGER i,j,bi,bj
46  CEOP  CEOP
# Line 61  C             Total fluid column thickne Line 61  C             Total fluid column thickne
61    
62        _BEGIN_MASTER( myThid )        _BEGIN_MASTER( myThid )
63    
64        IF (snapshot_mdsio) THEN  C     Write horizontal grid arrays
65  C       Write horizontal grid arrays        CALL WRITE_FLD_XY_RS( 'XC',' ',XC,0,myThid)
66          CALL WRITE_FLD_XY_RS( 'XC',' ',XC,0,myThid)        CALL WRITE_FLD_XY_RS( 'YC',' ',YC,0,myThid)
67          CALL WRITE_FLD_XY_RS( 'YC',' ',YC,0,myThid)        CALL WRITE_FLD_XY_RS( 'XG',' ',XG,0,myThid)
68          CALL WRITE_FLD_XY_RS( 'XG',' ',XG,0,myThid)        CALL WRITE_FLD_XY_RS( 'YG',' ',YG,0,myThid)
69          CALL WRITE_FLD_XY_RS( 'YG',' ',YG,0,myThid)        CALL WRITE_FLD_XY_RS( 'RAC',' ',rA,0,myThid)
70          CALL WRITE_FLD_XY_RS( 'RAC',' ',rA,0,myThid)        CALL WRITE_FLD_XY_RS( 'RAW',' ',rAw,0,myThid)
71          CALL WRITE_FLD_XY_RS( 'RAW',' ',rAw,0,myThid)        CALL WRITE_FLD_XY_RS( 'RAS',' ',rAs,0,myThid)
72          CALL WRITE_FLD_XY_RS( 'RAS',' ',rAs,0,myThid)        CALL WRITE_FLD_XY_RS( 'DXG',' ',DXG,0,myThid)
73          CALL WRITE_FLD_XY_RS( 'DXG',' ',DXG,0,myThid)        CALL WRITE_FLD_XY_RS( 'DYG',' ',DYG,0,myThid)
74          CALL WRITE_FLD_XY_RS( 'DYG',' ',DYG,0,myThid)        CALL WRITE_FLD_XY_RS( 'DXC',' ',DXC,0,myThid)
75          CALL WRITE_FLD_XY_RS( 'DXC',' ',DXC,0,myThid)        CALL WRITE_FLD_XY_RS( 'DYC',' ',DYC,0,myThid)
76          CALL WRITE_FLD_XY_RS( 'DYC',' ',DYC,0,myThid)  C     Write 3D geometry arrays
77  C       Write 3D geometry arrays        CALL WRITE_FLD_XY_RS( 'Depth',' ',tmpfld,0,myThid)
78          CALL WRITE_FLD_XY_RS( 'Depth',' ',tmpfld,0,myThid)        CALL WRITE_FLD_XYZ_RS( 'hFacC',' ',hFacC,0,myThid)
79          CALL WRITE_FLD_XYZ_RS( 'hFacC',' ',hFacC,0,myThid)        CALL WRITE_FLD_XYZ_RS( 'hFacW',' ',hFacW,0,myThid)
80          CALL WRITE_FLD_XYZ_RS( 'hFacW',' ',hFacW,0,myThid)        CALL WRITE_FLD_XYZ_RS( 'hFacS',' ',hFacS,0,myThid)
81          CALL WRITE_FLD_XYZ_RS( 'hFacS',' ',hFacS,0,myThid)        IF (buoyancyRelation .EQ. 'ATMOSPHERIC')
82          IF (buoyancyRelation .EQ. 'ATMOSPHERIC')       &     CALL WRITE_FLD_XY_RS( 'topo_P',' ',Ro_surf,0,myThid)
      &       CALL WRITE_FLD_XY_RS( 'topo_P',' ',Ro_surf,0,myThid)  
83    
       ENDIF  
84        _END_MASTER(myThid)        _END_MASTER(myThid)
85    
86  #ifdef ALLOW_MNC  #ifdef ALLOW_MNC
87        IF (useMNC .AND. snapshot_mnc) THEN        _BEGIN_MASTER( myThid )
88          bfname='grid';        IF (useMNC) THEN
89            bfname='grid'
90            
91  C       Grid spacing, areas and hFacs  C       Grid spacing, areas and hFacs
92          CALL MNC_CW_ADD_VNAME('drC', '-_-_--__C__-', 0,0, myThid)          CALL MNC_CW_ADD_VNAME('drC', '-_-_--__C__-', 0,0, myThid)
93          CALL MNC_CW_ADD_VNAME('drF', '-_-_--__C__-', 0,0, myThid)          CALL MNC_CW_ADD_VNAME('drF', '-_-_--__C__-', 0,0, myThid)
94          CALL MNC_CW_ADD_VNAME('saFac', '-_-_--__C__-', 0,0, myThid)  c       CALL MNC_CW_ADD_VNAME('saFac', '-_-_--__C__-', 0,0, myThid)
95    
96          CALL MNC_CW_ADD_VNAME('dxC', 'Cen_xy_Hn__-__-', 3,4, myThid)          CALL MNC_CW_ADD_VNAME('dxC', 'U_xy_Hn__-__-', 3,4, myThid)
97          CALL MNC_CW_ADD_VNAME('dyC', 'Cen_xy_Hn__-__-', 3,4, myThid)          CALL MNC_CW_ADD_VNAME('dyC', 'V_xy_Hn__-__-', 3,4, myThid)
98          CALL MNC_CW_ADD_VNAME('dxF', 'Cen_xy_Hn__-__-', 3,4, myThid)          CALL MNC_CW_ADD_VNAME('dxF', 'Cen_xy_Hn__-__-', 3,4, myThid)
99          CALL MNC_CW_ADD_VNAME('dyF', 'Cen_xy_Hn__-__-', 3,4, myThid)          CALL MNC_CW_ADD_VNAME('dyF', 'Cen_xy_Hn__-__-', 3,4, myThid)
100          CALL MNC_CW_ADD_VNAME('dxG', 'Cen_xy_Hn__-__-', 3,4, myThid)          CALL MNC_CW_ADD_VNAME('dxG', 'V_xy_Hn__-__-', 3,4, myThid)
101          CALL MNC_CW_ADD_VNAME('dyG', 'Cen_xy_Hn__-__-', 3,4, myThid)          CALL MNC_CW_ADD_VNAME('dyG', 'U_xy_Hn__-__-', 3,4, myThid)
102          CALL MNC_CW_ADD_VNAME('dxV', 'U_xy_Hn__-__-', 3,4, myThid)          CALL MNC_CW_ADD_VNAME('dxV', 'Cor_xy_Hn__-__-', 3,4, myThid)
103          CALL MNC_CW_ADD_VNAME('dyU', 'V_xy_Hn__-__-', 3,4, myThid)          CALL MNC_CW_ADD_VNAME('dyU', 'Cor_xy_Hn__-__-', 3,4, myThid)
104          CALL MNC_CW_ADD_VNAME('rA', 'Cen_xy_Hn__-__-', 3,4, myThid)          CALL MNC_CW_ADD_VNAME('rA',  'Cen_xy_Hn__-__-', 3,4, myThid)
105          CALL MNC_CW_ADD_VNAME('rAw', 'Cen_xy_Hn__-__-', 3,4, myThid)          CALL MNC_CW_ADD_VNAME('rAw', 'U_xy_Hn__-__-', 3,4, myThid)
106          CALL MNC_CW_ADD_VNAME('rAs', 'Cen_xy_Hn__-__-', 3,4, myThid)          CALL MNC_CW_ADD_VNAME('rAs', 'V_xy_Hn__-__-', 3,4, myThid)
107          CALL MNC_CW_ADD_VNAME('rAz', 'Cen_xy_Hn__-__-', 3,4, myThid)          CALL MNC_CW_ADD_VNAME('rAz', 'Cor_xy_Hn__-__-', 3,4, myThid)
108          CALL MNC_CW_ADD_VNAME('fCori', 'Cen_xy_Hn__-__-', 3,4,myThid)          CALL MNC_CW_ADD_VNAME('fCori', 'Cen_xy_Hn__-__-', 3,4,myThid)
109          CALL MNC_CW_ADD_VNAME('fCoriG','Cen_xy_Hn__-__-', 3,4,myThid)          CALL MNC_CW_ADD_VNAME('fCoriG','Cor_xy_Hn__-__-', 3,4,myThid)
110          CALL MNC_CW_ADD_VNAME('R_low','Cen_xy_Hn__-__-', 3,4, myThid)          CALL MNC_CW_ADD_VNAME('R_low','Cen_xy_Hn__-__-', 3,4, myThid)
111          CALL MNC_CW_ADD_VNAME('Ro_surf','Cen_xy_Hn__-__-',3,4,myThid)          CALL MNC_CW_ADD_VNAME('Ro_surf','Cen_xy_Hn__-__-',3,4,myThid)
112          CALL MNC_CW_ADD_VNAME('Depth', 'Cen_xy_Hn__-__-', 3,4,myThid)          CALL MNC_CW_ADD_VNAME('Depth', 'Cen_xy_Hn__-__-', 3,4,myThid)
113          CALL MNC_CW_ADD_VNAME('HFacC', 'Cen_xy_Hn__C__-', 4,5,myThid)          CALL MNC_CW_ADD_VNAME('HFacC', 'Cen_xy_Hn__C__-', 4,5,myThid)
114          CALL MNC_CW_ADD_VNAME('HFacW', 'Cen_xy_Hn__C__-', 4,5,myThid)          CALL MNC_CW_ADD_VNAME('HFacW', 'U_xy_Hn__C__-', 4,5,myThid)
115          CALL MNC_CW_ADD_VNAME('HFacS', 'Cen_xy_Hn__C__-', 4,5,myThid)          CALL MNC_CW_ADD_VNAME('HFacS', 'V_xy_Hn__C__-', 4,5,myThid)
116                    
117          CALL MNC_CW_ADD_VATTR_TEXT('drC','description',          CALL MNC_CW_ADD_VATTR_TEXT('drC','description',
118       &       'r cell center separation',myThid)       &       'r cell center separation',myThid)
119          CALL MNC_CW_ADD_VATTR_TEXT('drF','description',          CALL MNC_CW_ADD_VATTR_TEXT('drF','description',
120       &       'r cell face separation',myThid)       &       'r cell face separation',myThid)
121          CALL MNC_CW_ADD_VATTR_TEXT('saFac','description',  c       CALL MNC_CW_ADD_VATTR_TEXT('saFac','description',
122       &       'shallow atmosphere factor',myThid)  c    &       'shallow atmosphere factor',myThid)
123          CALL MNC_CW_ADD_VATTR_TEXT('dxC','description',          CALL MNC_CW_ADD_VATTR_TEXT('dxC','description',
124       &       'x cell center separation',myThid)       &       'x cell center separation',myThid)
125          CALL MNC_CW_ADD_VATTR_TEXT('dyC','description',          CALL MNC_CW_ADD_VATTR_TEXT('dyC','description',
# Line 130  C       Grid spacing, areas and hFacs Line 129  C       Grid spacing, areas and hFacs
129          CALL MNC_CW_ADD_VATTR_TEXT('dyF','description',          CALL MNC_CW_ADD_VATTR_TEXT('dyF','description',
130       &     'y cell face separation',myThid)       &     'y cell face separation',myThid)
131          CALL MNC_CW_ADD_VATTR_TEXT('dxG','description',          CALL MNC_CW_ADD_VATTR_TEXT('dxG','description',
132       &     'x cell face separation',myThid)       &     'x cell corner separation',myThid)
133          CALL MNC_CW_ADD_VATTR_TEXT('dyG','description',          CALL MNC_CW_ADD_VATTR_TEXT('dyG','description',
134       &       'y cell face separation',myThid)       &       'y cell corner separation',myThid)
135          CALL MNC_CW_ADD_VATTR_TEXT('dxV','description',          CALL MNC_CW_ADD_VATTR_TEXT('dxV','description',
136       &       'x v-velocity separation',myThid)       &       'x v-velocity separation',myThid)
137          CALL MNC_CW_ADD_VATTR_TEXT('dyU','description',          CALL MNC_CW_ADD_VATTR_TEXT('dyU','description',
138       &       'y u-velocity separation',myThid)       &       'y u-velocity separation',myThid)
139          CALL MNC_CW_ADD_VATTR_TEXT('rA','description',          CALL MNC_CW_ADD_VATTR_TEXT('rA','description',
140       &       'r-face area',myThid)       &       'r-face area at cell center',myThid)
141  C       Its pointless to write blank attributes so these should be          CALL MNC_CW_ADD_VATTR_TEXT('rAw','description',
142  C       filled in.       &       'r-face area at U point',myThid)
143  C        CALL MNC_CW_ADD_VATTR_TEXT('rAw','description',          CALL MNC_CW_ADD_VATTR_TEXT('rAs','description',
144  C     &       '',myThid)       &       'r-face area at V point',myThid)
145  C        CALL MNC_CW_ADD_VATTR_TEXT('rAs','description',          CALL MNC_CW_ADD_VATTR_TEXT('rAz','description',
146  C     &       '',myThid)       &       'r-face area at cell corner',myThid)
 C        CALL MNC_CW_ADD_VATTR_TEXT('rAz','description',  
 C       &       '',myThid)  
147          CALL MNC_CW_ADD_VATTR_TEXT('fCori','description',          CALL MNC_CW_ADD_VATTR_TEXT('fCori','description',
148       &       'Coriolis f',myThid)       &       'Coriolis f at cell center',myThid)
149          CALL MNC_CW_ADD_VATTR_TEXT('fCoriG','description',          CALL MNC_CW_ADD_VATTR_TEXT('fCoriG','description',
150       &       'Coriolis f',myThid)       &       'Coriolis f at cell corner',myThid)
151          CALL MNC_CW_ADD_VATTR_TEXT('R_low','description',          CALL MNC_CW_ADD_VATTR_TEXT('R_low','description',
152       &       'base of fluid in r-units',myThid)       &       'base of fluid in r-units',myThid)
153          CALL MNC_CW_ADD_VATTR_TEXT('Ro_surf','description',          CALL MNC_CW_ADD_VATTR_TEXT('Ro_surf','description',
# Line 170  C       Write the GRID.h variables to a Line 167  C       Write the GRID.h variables to a
167          CALL MNC_CW_RL_W('D',bfname,0,0,'RF',rF,myThid)          CALL MNC_CW_RL_W('D',bfname,0,0,'RF',rF,myThid)
168          CALL MNC_CW_RL_W('D',bfname,0,0,'drC',drC,myThid)          CALL MNC_CW_RL_W('D',bfname,0,0,'drC',drC,myThid)
169          CALL MNC_CW_RL_W('D',bfname,0,0,'drF',drF,myThid)          CALL MNC_CW_RL_W('D',bfname,0,0,'drF',drF,myThid)
170          CALL MNC_CW_RL_W('D',bfname,0,0,'saFac',saFac,myThid)  c       CALL MNC_CW_RL_W('D',bfname,0,0,'saFac',saFac,myThid)
171          CALL MNC_CW_RL_W('D',bfname,0,0,'XC',xC,myThid)          CALL MNC_CW_RL_W('D',bfname,0,0,'XC',xC,myThid)
172          CALL MNC_CW_RL_W('D',bfname,0,0,'YC',yC,myThid)          CALL MNC_CW_RL_W('D',bfname,0,0,'YC',yC,myThid)
173          CALL MNC_CW_RL_W('D',bfname,0,0,'XU',xG,myThid)  c       CALL MNC_CW_RL_W('D',bfname,0,0,'XU',xG,myThid)
174          CALL MNC_CW_RL_W('D',bfname,0,0,'YU',yC,myThid)  c       CALL MNC_CW_RL_W('D',bfname,0,0,'YU',yC,myThid)
175          CALL MNC_CW_RL_W('D',bfname,0,0,'XV',xC,myThid)  c       CALL MNC_CW_RL_W('D',bfname,0,0,'XV',xC,myThid)
176          CALL MNC_CW_RL_W('D',bfname,0,0,'YV',yG,myThid)  c       CALL MNC_CW_RL_W('D',bfname,0,0,'YV',yG,myThid)
177          CALL MNC_CW_RL_W('D',bfname,0,0,'XG',xG,myThid)          CALL MNC_CW_RL_W('D',bfname,0,0,'XG',xG,myThid)
178          CALL MNC_CW_RL_W('D',bfname,0,0,'YG',yG,myThid)          CALL MNC_CW_RL_W('D',bfname,0,0,'YG',yG,myThid)
179          CALL MNC_CW_RL_W('D',bfname,0,0,'dxC',dxC,myThid)          CALL MNC_CW_RL_W('D',bfname,0,0,'dxC',dxC,myThid)
# Line 201  C       Write the GRID.h variables to a Line 198  C       Write the GRID.h variables to a
198          CALL MNC_CW_RL_W('D',bfname,0,0,'HFacS',HFacS,myThid)          CALL MNC_CW_RL_W('D',bfname,0,0,'HFacS',HFacS,myThid)
199    
200        ENDIF        ENDIF
201          _END_MASTER(myThid)
202  #endif /* ALLOW_MNC */  #endif /* ALLOW_MNC */
203    
204        RETURN        RETURN

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.10

  ViewVC Help
Powered by ViewVC 1.1.22