Back to home page

MITgcm

 
 

    


File indexing completed on 2018-03-02 18:41:59 UTC

view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
353773d087 Ed H*0001 #include "MNC_OPTIONS.h"
084cc799da Jean*0002 
353773d087 Ed H*0003 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
e6bb5b2cc3 Ed H*0004 CBOP 1
1b5fb69d21 Ed H*0005 C !ROUTINE: MNC_CW_WRITE_GRID_INFO
353773d087 Ed H*0006 
1b5fb69d21 Ed H*0007 C !INTERFACE:
353773d087 Ed H*0008       SUBROUTINE MNC_CW_WRITE_GRID_INFO(
084cc799da Jean*0009      I     bfname,
3f2ea2a4ed Ed H*0010      I     myThid )
353773d087 Ed H*0011 
1b5fb69d21 Ed H*0012 C     !DESCRIPTION:
                0013 C     This subroutine writes all the grid information (\textit{eg.}
                0014 C     locations, spacings, areas, \textit{etc.}) to one grid file
                0015 C     (\texttt{grid.xxxxx.nc}) per tile.
084cc799da Jean*0016 
304c42568e Jean*0017 C===================================================================
                0018 C  WARNING: This routine is not maintained since it is never called
                0019 C===================================================================
                0020 
1b5fb69d21 Ed H*0021 C     !USES:
353773d087 Ed H*0022       implicit none
07155994b8 Mart*0023 #include "MNC_COMMON.h"
353773d087 Ed H*0024 #include "SIZE.h"
                0025 #include "EEPARAMS.h"
                0026 #include "PARAMS.h"
                0027 #include "GRID.h"
                0028 
1b5fb69d21 Ed H*0029 C     !INPUT PARAMETERS:
353773d087 Ed H*0030       integer myThid
                0031       character*(*) bfname
e6bb5b2cc3 Ed H*0032 CEOP
353773d087 Ed H*0033 
1b5fb69d21 Ed H*0034 C     !LOCAL VARIABLES:
                0035       integer nf,nl
e6bb5b2cc3 Ed H*0036 
353773d087 Ed H*0037 C     Functions
                0038       integer IFNBLNK, ILNBLNK
                0039 
                0040       nf = IFNBLNK(bfname)
                0041       nl = ILNBLNK(bfname)
                0042 
304c42568e Jean*0043 C===================================================================
                0044 C  WARNING: This routine is not maintained since it is never called
                0045 C===================================================================
                0046       STOP 'MNC_CW_WRITE_GRID_INFO is not maintained'
                0047 
353773d087 Ed H*0048 C     Create MNC definitions for GRID.h variables
3f2ea2a4ed Ed H*0049       CALL MNC_CW_ADD_VNAME('rC', '-_-_--__C__-', 0,0, myThid)
                0050       CALL MNC_CW_ADD_VNAME('rF', '-_-_--__I__-', 0,0, myThid)
                0051       CALL MNC_CW_ADD_VNAME('drC', '-_-_--__C__-', 0,0, myThid)
                0052       CALL MNC_CW_ADD_VNAME('drF', '-_-_--__C__-', 0,0, myThid)
353773d087 Ed H*0053 
bf33bd5b2d Ed H*0054       CALL MNC_CW_ADD_VNAME('xC', 'Cen_xy_Hn__-__-', 3,4, myThid)
                0055       CALL MNC_CW_ADD_VNAME('yC', 'Cen_xy_Hn__-__-', 3,4, myThid)
                0056       CALL MNC_CW_ADD_VNAME('xG', 'Cor_xy_Hn__-__-', 3,4, myThid)
                0057       CALL MNC_CW_ADD_VNAME('yG', 'Cor_xy_Hn__-__-', 3,4, myThid)
                0058       CALL MNC_CW_ADD_VNAME('dxC', 'Cen_xy_Hn__-__-', 3,4, myThid)
                0059       CALL MNC_CW_ADD_VNAME('dyC', 'Cen_xy_Hn__-__-', 3,4, myThid)
                0060       CALL MNC_CW_ADD_VNAME('dxF', 'Cen_xy_Hn__-__-', 3,4, myThid)
                0061       CALL MNC_CW_ADD_VNAME('dyF', 'Cen_xy_Hn__-__-', 3,4, myThid)
                0062       CALL MNC_CW_ADD_VNAME('dxG', 'Cen_xy_Hn__-__-', 3,4, myThid)
                0063       CALL MNC_CW_ADD_VNAME('dyG', 'Cen_xy_Hn__-__-', 3,4, myThid)
                0064       CALL MNC_CW_ADD_VNAME('dxV', 'U_xy_Hn__-__-', 3,4, myThid)
                0065       CALL MNC_CW_ADD_VNAME('dyU', 'V_xy_Hn__-__-', 3,4, myThid)
                0066       CALL MNC_CW_ADD_VNAME('rA', 'Cen_xy_Hn__-__-', 3,4, myThid)
                0067       CALL MNC_CW_ADD_VNAME('rAw', 'Cen_xy_Hn__-__-', 3,4, myThid)
                0068       CALL MNC_CW_ADD_VNAME('rAs', 'Cen_xy_Hn__-__-', 3,4, myThid)
                0069       CALL MNC_CW_ADD_VNAME('rAz', 'Cen_xy_Hn__-__-', 3,4, myThid)
                0070       CALL MNC_CW_ADD_VNAME('fCori', 'Cen_xy_Hn__-__-', 3,4, myThid)
                0071       CALL MNC_CW_ADD_VNAME('fCoriG', 'Cen_xy_Hn__-__-', 3,4, myThid)
                0072       CALL MNC_CW_ADD_VNAME('R_low', 'Cen_xy_Hn__-__-', 3,4, myThid)
                0073       CALL MNC_CW_ADD_VNAME('Ro_surf', 'Cen_xy_Hn__-__-', 3,4, myThid)
                0074       CALL MNC_CW_ADD_VNAME('HFacC', 'Cen_xy_Hn__C__-', 4,5, myThid)
                0075       CALL MNC_CW_ADD_VNAME('HFacW', 'Cen_xy_Hn__C__-', 4,5, myThid)
                0076       CALL MNC_CW_ADD_VNAME('HFacS', 'Cen_xy_Hn__C__-', 4,5, myThid)
353773d087 Ed H*0077 
2509c39694 Ed H*0078       CALL MNC_CW_ADD_VATTR_TEXT('rC','description',
3f2ea2a4ed Ed H*0079      &     'r of cell center',myThid)
2509c39694 Ed H*0080       CALL MNC_CW_ADD_VATTR_TEXT('rF','description',
3f2ea2a4ed Ed H*0081      &     'r of cell face',myThid)
2509c39694 Ed H*0082       CALL MNC_CW_ADD_VATTR_TEXT('drC','description',
3f2ea2a4ed Ed H*0083      &     'r cell center separation',myThid)
2509c39694 Ed H*0084       CALL MNC_CW_ADD_VATTR_TEXT('drF','description',
3f2ea2a4ed Ed H*0085      &     'r cell face separation',myThid)
2509c39694 Ed H*0086       CALL MNC_CW_ADD_VATTR_TEXT('xC','description',
3f2ea2a4ed Ed H*0087      &     'x of cell center',myThid)
2509c39694 Ed H*0088       CALL MNC_CW_ADD_VATTR_TEXT('yC','description',
3f2ea2a4ed Ed H*0089      &     'y of cell center',myThid)
2509c39694 Ed H*0090       CALL MNC_CW_ADD_VATTR_TEXT('xG','description',
3f2ea2a4ed Ed H*0091      &     'x of cell corner',myThid)
2509c39694 Ed H*0092       CALL MNC_CW_ADD_VATTR_TEXT('yG','description',
3f2ea2a4ed Ed H*0093      &     'y of cell corner',myThid)
2509c39694 Ed H*0094       CALL MNC_CW_ADD_VATTR_TEXT('dxC','description',
3f2ea2a4ed Ed H*0095      &     'x cell center separation',myThid)
2509c39694 Ed H*0096       CALL MNC_CW_ADD_VATTR_TEXT('dyC','description',
3f2ea2a4ed Ed H*0097      &     'y cell center separation',myThid)
2509c39694 Ed H*0098       CALL MNC_CW_ADD_VATTR_TEXT('dxF','description',
3f2ea2a4ed Ed H*0099      &     'x cell face separation',myThid)
2509c39694 Ed H*0100       CALL MNC_CW_ADD_VATTR_TEXT('dyF','description',
3f2ea2a4ed Ed H*0101      &     'y cell face separation',myThid)
2509c39694 Ed H*0102       CALL MNC_CW_ADD_VATTR_TEXT('dxG','description',
3f2ea2a4ed Ed H*0103      &     'x cell face separation',myThid)
2509c39694 Ed H*0104       CALL MNC_CW_ADD_VATTR_TEXT('dyG','description',
3f2ea2a4ed Ed H*0105      &     'y cell face separation',myThid)
2509c39694 Ed H*0106       CALL MNC_CW_ADD_VATTR_TEXT('dxV','description',
3f2ea2a4ed Ed H*0107      &     'x v-velocity separation',myThid)
2509c39694 Ed H*0108       CALL MNC_CW_ADD_VATTR_TEXT('dyU','description',
3f2ea2a4ed Ed H*0109      &     'y u-velocity separation',myThid)
2509c39694 Ed H*0110       CALL MNC_CW_ADD_VATTR_TEXT('rA','description',
3f2ea2a4ed Ed H*0111      &     'r-face area',myThid)
2509c39694 Ed H*0112       CALL MNC_CW_ADD_VATTR_TEXT('rAw','description',
3f2ea2a4ed Ed H*0113      &     '',myThid)
2509c39694 Ed H*0114       CALL MNC_CW_ADD_VATTR_TEXT('rAs','description',
3f2ea2a4ed Ed H*0115      &     '',myThid)
2509c39694 Ed H*0116       CALL MNC_CW_ADD_VATTR_TEXT('rAz','description',
3f2ea2a4ed Ed H*0117      &     '',myThid)
2509c39694 Ed H*0118       CALL MNC_CW_ADD_VATTR_TEXT('fCori','description',
3f2ea2a4ed Ed H*0119      &     'Coriolis f',myThid)
2509c39694 Ed H*0120       CALL MNC_CW_ADD_VATTR_TEXT('fCoriG','description',
3f2ea2a4ed Ed H*0121      &     'Coriolis f',myThid)
2509c39694 Ed H*0122       CALL MNC_CW_ADD_VATTR_TEXT('R_low','description',
3f2ea2a4ed Ed H*0123      &     'base of fluid in r-units',myThid)
2509c39694 Ed H*0124       CALL MNC_CW_ADD_VATTR_TEXT('Ro_surf','description',
3f2ea2a4ed Ed H*0125      &     'surface reference (at rest,myThid) position',myThid)
2509c39694 Ed H*0126       CALL MNC_CW_ADD_VATTR_TEXT('HFacC','description',
3f2ea2a4ed Ed H*0127      &     'C-facing vertical fraction of open cell',myThid)
2509c39694 Ed H*0128       CALL MNC_CW_ADD_VATTR_TEXT('HFacW','description',
3f2ea2a4ed Ed H*0129      &     'W-facing vertical fraction of open cell',myThid)
2509c39694 Ed H*0130       CALL MNC_CW_ADD_VATTR_TEXT('HFacS','description',
3f2ea2a4ed Ed H*0131      &     'S-facing vertical fraction of open cell',myThid)
353773d087 Ed H*0132 
                0133 C     Write the GRID.h variables
0007eca320 Ed H*0134       CALL MNC_CW_SET_UDIM(bfname(nf:nl), 0, myThid)
084cc799da Jean*0135       CALL MNC_CW_RS_W('D',bfname(nf:nl),0,0,'rC',rC,myThid)
                0136       CALL MNC_CW_RS_W('D',bfname(nf:nl),0,0,'rF',rF,myThid)
                0137       CALL MNC_CW_RS_W('D',bfname(nf:nl),0,0,'drC',drC,myThid)
                0138       CALL MNC_CW_RS_W('D',bfname(nf:nl),0,0,'drF',drF,myThid)
                0139       CALL MNC_CW_RS_W('D',bfname(nf:nl),0,0,'xC',xC,myThid)
                0140       CALL MNC_CW_RS_W('D',bfname(nf:nl),0,0,'yC',yC,myThid)
                0141       CALL MNC_CW_RS_W('D',bfname(nf:nl),0,0,'xG',xG,myThid)
                0142       CALL MNC_CW_RS_W('D',bfname(nf:nl),0,0,'yG',yG,myThid)
                0143       CALL MNC_CW_RS_W('D',bfname(nf:nl),0,0,'dxC',dxC,myThid)
                0144       CALL MNC_CW_RS_W('D',bfname(nf:nl),0,0,'dyC',dyC,myThid)
                0145       CALL MNC_CW_RS_W('D',bfname(nf:nl),0,0,'dxF',dxF,myThid)
                0146       CALL MNC_CW_RS_W('D',bfname(nf:nl),0,0,'dyF',dyF,myThid)
                0147       CALL MNC_CW_RS_W('D',bfname(nf:nl),0,0,'dxG',dxG,myThid)
                0148       CALL MNC_CW_RS_W('D',bfname(nf:nl),0,0,'dyG',dyG,myThid)
                0149       CALL MNC_CW_RS_W('D',bfname(nf:nl),0,0,'dxV',dxV,myThid)
                0150       CALL MNC_CW_RS_W('D',bfname(nf:nl),0,0,'dyU',dyU,myThid)
                0151       CALL MNC_CW_RS_W('D',bfname(nf:nl),0,0,'rA',rA,myThid)
                0152       CALL MNC_CW_RS_W('D',bfname(nf:nl),0,0,'rAw',rAw,myThid)
                0153       CALL MNC_CW_RS_W('D',bfname(nf:nl),0,0,'rAs',rAs,myThid)
                0154       CALL MNC_CW_RS_W('D',bfname(nf:nl),0,0,'rAz',rAz,myThid)
                0155       CALL MNC_CW_RS_W('D',bfname(nf:nl),0,0,'fCori',fCori,myThid)
                0156       CALL MNC_CW_RS_W('D',bfname(nf:nl),0,0,'fCoriG',fCoriG,myThid)
                0157       CALL MNC_CW_RS_W('D',bfname(nf:nl),0,0,'R_low',R_low,myThid)
                0158       CALL MNC_CW_RS_W('D',bfname(nf:nl),0,0,'Ro_surf',Ro_surf,myThid)
                0159       CALL MNC_CW_RS_W('D',bfname(nf:nl),0,0,'HFacC',HFacC,myThid)
                0160       CALL MNC_CW_RS_W('D',bfname(nf:nl),0,0,'HFacW',HFacW,myThid)
                0161       CALL MNC_CW_RS_W('D',bfname(nf:nl),0,0,'HFacS',HFacS,myThid)
353773d087 Ed H*0162 
                0163       RETURN
                0164       END
                0165 
                0166 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
36d1710afb Mart*0167 
771fc8e51a Jean*0168 CBOP
36d1710afb Mart*0169 C !ROUTINE: MNC_CW_WRITE_GRID_COORD
                0170 
                0171 C !INTERFACE:
                0172       SUBROUTINE MNC_CW_WRITE_GRID_COORD(
                0173      I     fname,
                0174      I     myThid )
                0175 
                0176 C     !DESCRIPTION:
                0177 C     This subroutine writes coordinates to one netcdf file
                0178 C     (\texttt{fname.xxxxx.nc}) per tile.
                0179 
                0180 C     !USES:
                0181       implicit none
                0182 #include "SIZE.h"
                0183 #include "GRID.h"
                0184 
                0185 C     !INPUT PARAMETERS:
                0186       integer myThid
                0187       character*(*) fname
                0188 CEOP
                0189 C     Write coordinates to file "fname"
                0190       _BEGIN_MASTER( myThid )
                0191 
                0192       CALL MNC_CW_SET_UDIM(fname, 0, myThid)
                0193       CALL MNC_CW_RS_W('R',fname,0,0,'XC',xC, myThid)
                0194       CALL MNC_CW_RS_W('R',fname,0,0,'YC',yC, myThid)
                0195       CALL MNC_CW_RS_W('R',fname,0,0,'XG',xG, myThid)
                0196       CALL MNC_CW_RS_W('R',fname,0,0,'YG',yG, myThid)
                0197 C--   Here we can add as much grid information as we like, but this
771fc8e51a Jean*0198 C--   will increase the size of each of the affected files. It is
36d1710afb Mart*0199 C--   a matter of taste, but here are some candidates:
                0200 C--   Probably it is enough to write the coordinates of the
                0201 C--   center points and the corners.
                0202 C     CALL MNC_CW_RS_W('R',fname,0,0,'XU',xG, myThid)
                0203 C     CALL MNC_CW_RS_W('R',fname,0,0,'YU',yC, myThid)
                0204 C     CALL MNC_CW_RS_W('R',fname,0,0,'XV',xC, myThid)
                0205 C     CALL MNC_CW_RS_W('R',fname,0,0,'YV',yG, myThid)
                0206 C--   Only required for diagnostics files, but unclear what the vertical
771fc8e51a Jean*0207 C--   coordinate means in this case, so do not write anything for now
36d1710afb Mart*0208 C     CALL MNC_CW_RS_W('R',fname,0,0,'RC',rC, myThid)
                0209 C     CALL MNC_CW_RS_W('R',fname,0,0,'RF',rF, myThid)
                0210 C--   If required write mask information.
                0211 C     CALL MNC_CW_RS_W('R',fname,0,0,'HFacC',HFacC,myThid)
                0212 
                0213       _END_MASTER(myThid)
                0214 
                0215       RETURN
                0216       END
                0217 
                0218 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|