/[MITgcm]/MITgcm/pkg/mnc/mnc_cw_model_attr.F
ViewVC logotype

Diff of /MITgcm/pkg/mnc/mnc_cw_model_attr.F

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

revision 1.4 by edhill, Mon Feb 23 19:28:29 2004 UTC revision 1.9 by edhill, Sat Sep 4 18:19:20 2004 UTC
# Line 4  C $Name$ Line 4  C $Name$
4  #include "MNC_OPTIONS.h"  #include "MNC_OPTIONS.h"
5                
6  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
7    CBOP 0
8    C     !ROUTINE: MNC_CW_SET_GATTR
9          
10    C     !INTERFACE:
11        SUBROUTINE MNC_CW_SET_GATTR(        SUBROUTINE MNC_CW_SET_GATTR(
      I     myThid,  
12       I     fname,       I     fname,
13       I     bi, bj, tnum )       I     bi, bj, tnum,
14         I     myThid )
15    
16    C     !DESCRIPTION:
17    C     This subroutine uses the MNC convenience wrapper layer to write
18    C     per-tile grid (grid.xxxxx.nc) files containing all of the grid
19    C     information including locations, spacing, areas, \textit{etc}.
20    
21    C     !USES:
22        implicit none        implicit none
23  #include "SIZE.h"  #include "SIZE.h"
24  #include "EEPARAMS.h"  #include "EEPARAMS.h"
25  #include "EESUPPORT.h"  #include "EESUPPORT.h"
26  #include "PARAMS.h"  #include "PARAMS.h"
27  #include "GRID.h"  #include "GRID.h"
 #include "DYNVARS.h"  
28  #ifdef ALLOW_EXCH2  #ifdef ALLOW_EXCH2
29  #include "W2_EXCH2_TOPOLOGY.h"  #include "W2_EXCH2_TOPOLOGY.h"
30  #include "W2_EXCH2_PARAMS.h"  #include "W2_EXCH2_PARAMS.h"
31  #endif  #endif
32    C     Functions
33          integer ILNBLNK
34    
35  C     Arguments  C     !INPUT PARAMETERS:
36        integer myThid, bi,bj, tnum        integer myThid, bi,bj, tnum
37        character*(*) fname        character*(*) fname
38    CEOP
39    
40        CALL MNC_FILE_REDEF(myThid,fname)  C     !LOCAL VARIABLES:
41          integer ilnb
42    
43          CALL MNC_FILE_REDEF(fname, myThid)
44    
45  C     Global attributes  C     Global attributes
46        CALL MNC_FILE_ADD_ATTR_STR(myThid,fname, 'MITgcm_ref',        ilnb = ILNBLNK(the_run_name)
47       &     'http://mitgcm.org' )        IF (ilnb .GT. 0) THEN
48        CALL MNC_FILE_ADD_ATTR_STR(myThid,fname, 'MITgcm_tag_index',          CALL MNC_FILE_ADD_ATTR_STR(fname, 'the_run_name',
49       &     MNC_TAG_ID )       &       the_run_name, myThid )
50        CALL MNC_FILE_ADD_ATTR_DBL(myThid,fname, 'MITgcm_mnc_ver',        ENDIF
51       &     1, 0.1D0 )  
52    #ifdef THISVER
53          CALL MNC_FILE_ADD_ATTR_STR(fname, 'MITgcm_version',
54         &     THISVER ,
55         &     myThid )
56    #endif
57    #ifdef THISUSER
58          CALL MNC_FILE_ADD_ATTR_STR(fname, 'build_user',
59         &     THISUSER ,
60         &     myThid )
61    #endif
62    #ifdef THISHOST
63          CALL MNC_FILE_ADD_ATTR_STR(fname, 'build_host',
64         &     THISHOST ,
65         &     myThid )
66    #endif
67    #ifdef THISDATE
68          CALL MNC_FILE_ADD_ATTR_STR(fname, 'build_date',
69         &     THISDATE ,
70         &     myThid )
71    #endif
72    
73          CALL MNC_FILE_ADD_ATTR_STR(fname, 'MITgcm_URL',
74         &     'http://mitgcm.org', myThid )
75          CALL MNC_FILE_ADD_ATTR_STR(fname, 'MITgcm_tag_id',
76         &     MNC_TAG_ID, myThid )
77          CALL MNC_FILE_ADD_ATTR_DBL(fname, 'MITgcm_mnc_ver',
78         &     1, 0.2D0, myThid )
79    
80  C     Grid info included as attributes  C     Grid info included as attributes
81        CALL MNC_FILE_ADD_ATTR_INT(myThid,fname, 'tile_number', 1, tnum)        CALL MNC_FILE_ADD_ATTR_INT(fname,'tile_number', 1, tnum, myThid)
82        CALL MNC_FILE_ADD_ATTR_INT(myThid,fname, 'bi', 1, bi)        CALL MNC_FILE_ADD_ATTR_INT(fname,'bi', 1, bi, myThid)
83        CALL MNC_FILE_ADD_ATTR_INT(myThid,fname, 'bj', 1, bj)        CALL MNC_FILE_ADD_ATTR_INT(fname,'bj', 1, bj, myThid)
84        CALL MNC_FILE_ADD_ATTR_DBL(myThid,fname, 'xC0', 1, xC0)        CALL MNC_FILE_ADD_ATTR_DBL(fname,'xC0', 1, xC0, myThid)
85        CALL MNC_FILE_ADD_ATTR_DBL(myThid,fname, 'yC0', 1, yC0)        CALL MNC_FILE_ADD_ATTR_DBL(fname,'yC0', 1, yC0, myThid)
86        CALL MNC_FILE_ADD_ATTR_DBL(myThid,fname, 'gravitySign',  c     CALL MNC_FILE_ADD_ATTR_DBL(fname,'gravitySign',
87       &     1, gravitySign )  c    &     1, gravitySign, myThid )
88        CALL MNC_FILE_ADD_ATTR_DBL(myThid,fname, 'rkFac', 1, rkFac)  c     CALL MNC_FILE_ADD_ATTR_DBL(fname,'rkFac', 1, rkFac, myThid)
89    
90  #ifdef ALLOW_EXCH2  #ifdef ALLOW_EXCH2
91  C     W2/exch2 information  C     W2/exch2 information
92        CALL MNC_FILE_ADD_ATTR_INT(myThid,fname,        CALL MNC_FILE_ADD_ATTR_INT(fname,
93       &     'exch2_nNeighbours', 1, exch2_nNeighbours(tnum))       &     'exch2_nNeighbours', 1, exch2_nNeighbours(tnum), myThid)
94        CALL MNC_FILE_ADD_ATTR_INT(myThid,fname,        CALL MNC_FILE_ADD_ATTR_INT(fname,
95       &     'exch2_neighbourId', exch2_nNeighbours(tnum),       &     'exch2_neighbourId', exch2_nNeighbours(tnum),
96       &     exch2_neighbourId(1,tnum))       &     exch2_neighbourId(1,tnum), myThid)
97    
98        CALL MNC_FILE_ADD_ATTR_INT(myThid,fname,        CALL MNC_FILE_ADD_ATTR_INT(fname, 'exch2_pi',
99       &     'exch2_pi', 2*exch2_nNeighbours(tnum), exch2_pi(1,1,tnum))       &     2*exch2_nNeighbours(tnum), exch2_pi(1,1,tnum), myThid)
100        CALL MNC_FILE_ADD_ATTR_INT(myThid,fname,        CALL MNC_FILE_ADD_ATTR_INT(fname, 'exch2_pj',
101       &     'exch2_pj', 2*exch2_nNeighbours(tnum), exch2_pj(1,1,tnum))       &     2*exch2_nNeighbours(tnum), exch2_pj(1,1,tnum), myThid)
102        CALL MNC_FILE_ADD_ATTR_INT(myThid,fname,        CALL MNC_FILE_ADD_ATTR_INT(fname, 'exch2_oi',
103       &     'exch2_oi', exch2_nNeighbours(tnum), exch2_oi(1,tnum))       &     exch2_nNeighbours(tnum), exch2_oi(1,tnum), myThid)
104        CALL MNC_FILE_ADD_ATTR_INT(myThid,fname,        CALL MNC_FILE_ADD_ATTR_INT(fname, 'exch2_oj',
105       &     'exch2_oj', exch2_nNeighbours(tnum), exch2_oj(1,tnum))       &     exch2_nNeighbours(tnum), exch2_oj(1,tnum), myThid)
106        CALL MNC_FILE_ADD_ATTR_INT(myThid,fname,        CALL MNC_FILE_ADD_ATTR_INT(fname, 'exch2_oi_f',
107       &     'exch2_oi_f', exch2_nNeighbours(tnum), exch2_oi_f(1,tnum))       &     exch2_nNeighbours(tnum), exch2_oi_f(1,tnum), myThid)
108        CALL MNC_FILE_ADD_ATTR_INT(myThid,fname,        CALL MNC_FILE_ADD_ATTR_INT(fname, 'exch2_oj_f',
109       &     'exch2_oj_f', exch2_nNeighbours(tnum), exch2_oj_f(1,tnum))       &     exch2_nNeighbours(tnum), exch2_oj_f(1,tnum), myThid)
110    
111        CALL MNC_FILE_ADD_ATTR_INT(myThid,fname,        CALL MNC_FILE_ADD_ATTR_INT(fname,
112       &     'exch2_isNedge', 1, exch2_isNedge(tnum))       &     'exch2_isNedge', 1, exch2_isNedge(tnum), myThid)
113        CALL MNC_FILE_ADD_ATTR_INT(myThid,fname,        CALL MNC_FILE_ADD_ATTR_INT(fname,
114       &     'exch2_isSedge', 1, exch2_isSedge(tnum))       &     'exch2_isSedge', 1, exch2_isSedge(tnum), myThid)
115        CALL MNC_FILE_ADD_ATTR_INT(myThid,fname,        CALL MNC_FILE_ADD_ATTR_INT(fname,
116       &     'exch2_isEedge', 1, exch2_isEedge(tnum))       &     'exch2_isEedge', 1, exch2_isEedge(tnum), myThid)
117        CALL MNC_FILE_ADD_ATTR_INT(myThid,fname,        CALL MNC_FILE_ADD_ATTR_INT(fname,
118       &     'exch2_isWedge', 1, exch2_isWedge(tnum))       &     'exch2_isWedge', 1, exch2_isWedge(tnum), myThid)
119    
120        CALL MNC_FILE_ADD_ATTR_INT(myThid,fname,        CALL MNC_FILE_ADD_ATTR_INT(fname,
121       &     'exch2_myFace', 1, exch2_myFace(tnum))       &     'exch2_myFace', 1, exch2_myFace(tnum), myThid)
122        CALL MNC_FILE_ADD_ATTR_INT(myThid,fname,        CALL MNC_FILE_ADD_ATTR_INT(fname,
123       &     'exch2_txglobalo', 1, exch2_txglobalo(tnum))       &     'exch2_txglobalo', 1, exch2_txglobalo(tnum), myThid)
124        CALL MNC_FILE_ADD_ATTR_INT(myThid,fname,        CALL MNC_FILE_ADD_ATTR_INT(fname,
125       &     'exch2_tyglobalo', 1, exch2_tyglobalo(tnum))       &     'exch2_tyglobalo', 1, exch2_tyglobalo(tnum), myThid)
126        CALL MNC_FILE_ADD_ATTR_INT(myThid,fname,        CALL MNC_FILE_ADD_ATTR_INT(fname,
127       &     'exch2_tbasex', 1, exch2_tbasex(tnum))       &     'exch2_tbasex', 1, exch2_tbasex(tnum), myThid)
128        CALL MNC_FILE_ADD_ATTR_INT(myThid,fname,        CALL MNC_FILE_ADD_ATTR_INT(fname,
129       &     'exch2_tbasey', 1, exch2_tbasey(tnum))       &     'exch2_tbasey', 1, exch2_tbasey(tnum), myThid)
130  #endif  #endif
131                
132  C     Model parameters (SIZE.h) included as attributes  C     Model parameters (SIZE.h) included as attributes
133        CALL MNC_FILE_ADD_ATTR_INT(myThid,fname, 'sNx', 1, sNx)        CALL MNC_FILE_ADD_ATTR_INT(fname, 'sNx', 1, sNx, myThid)
134        CALL MNC_FILE_ADD_ATTR_INT(myThid,fname, 'sNy', 1, sNy)        CALL MNC_FILE_ADD_ATTR_INT(fname, 'sNy', 1, sNy, myThid)
135        CALL MNC_FILE_ADD_ATTR_INT(myThid,fname, 'OLx', 1, OLx)        CALL MNC_FILE_ADD_ATTR_INT(fname, 'OLx', 1, OLx, myThid)
136        CALL MNC_FILE_ADD_ATTR_INT(myThid,fname, 'OLy', 1, OLy)        CALL MNC_FILE_ADD_ATTR_INT(fname, 'OLy', 1, OLy, myThid)
137        CALL MNC_FILE_ADD_ATTR_INT(myThid,fname, 'nSx', 1, nSx)        CALL MNC_FILE_ADD_ATTR_INT(fname, 'nSx', 1, nSx, myThid)
138        CALL MNC_FILE_ADD_ATTR_INT(myThid,fname, 'nSy', 1, nSy)        CALL MNC_FILE_ADD_ATTR_INT(fname, 'nSy', 1, nSy, myThid)
139        CALL MNC_FILE_ADD_ATTR_INT(myThid,fname, 'nPx', 1, nPx)        CALL MNC_FILE_ADD_ATTR_INT(fname, 'nPx', 1, nPx, myThid)
140        CALL MNC_FILE_ADD_ATTR_INT(myThid,fname, 'nPy', 1, nPy)        CALL MNC_FILE_ADD_ATTR_INT(fname, 'nPy', 1, nPy, myThid)
141        CALL MNC_FILE_ADD_ATTR_INT(myThid,fname, 'Nx', 1, Nx)        CALL MNC_FILE_ADD_ATTR_INT(fname, 'Nx', 1, Nx, myThid)
142        CALL MNC_FILE_ADD_ATTR_INT(myThid,fname, 'Ny', 1, Ny)        CALL MNC_FILE_ADD_ATTR_INT(fname, 'Ny', 1, Ny, myThid)
143        CALL MNC_FILE_ADD_ATTR_INT(myThid,fname, 'Nr', 1, Nr)        CALL MNC_FILE_ADD_ATTR_INT(fname, 'Nr', 1, Nr, myThid)
144                
145        RETURN        RETURN
146        END        END

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.9

  ViewVC Help
Powered by ViewVC 1.1.22