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

Contents of /MITgcm/pkg/mnc/mnc_cw_citer.F

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


Revision 1.1 - (show annotations) (download)
Sat Sep 10 18:30:07 2005 UTC (18 years, 8 months ago) by edhill
Branch: MAIN
 o various changes to mnc including:
   - all files use the new "BASENAME[[.ITER].{t|f}NUM].nc" format
   - output can now be grouped so that all files within a group
       change the ITER portion of their names in lock-step together
   - can now read ("global") PER-FACE (in addition to PER-TILE) files
       and works with both EXCH1 and EXCH2 (but needs more testing)
   - writing works for all verification test cases w/ g77 on Linux

1 C $Header: $
2 C $Name: $
3
4 #include "MNC_OPTIONS.h"
5
6 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
7
8 CBOP 0
9 C !ROUTINE: MNC_CW_CITER_SETG
10
11 C !INTERFACE:
12 SUBROUTINE MNC_CW_CITER_SETG(
13 I igroup,
14 I iflag, ival_curr, ival_next,
15 I myThid )
16
17 C !DESCRIPTION:
18 C Set CITER information for group "igroup"
19
20 C !USES:
21 implicit none
22 #include "mnc_common.h"
23
24 C !INPUT PARAMETERS:
25 integer igroup, iflag, ival_curr, ival_next, myThid
26 CEOP
27
28 mnc_cw_cit(1,igroup) = iflag
29 IF ( ival_curr .GT. 0 ) THEN
30 mnc_cw_cit(2,igroup) = ival_curr
31 ENDIF
32 IF ( ival_next .GT. 0 ) THEN
33 mnc_cw_cit(3,igroup) = ival_next
34 ENDIF
35
36 RETURN
37 END
38
39 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
40
41 CBOP 0
42 C !ROUTINE: MNC_CW_CITER_GETG
43
44 C !INTERFACE:
45 SUBROUTINE MNC_CW_CITER_GETG(
46 I igroup,
47 O iflag, ival_curr, ival_next,
48 I myThid )
49
50 C !DESCRIPTION:
51 C Get the current CITER information for group "igroup"
52
53 C !USES:
54 implicit none
55 #include "mnc_common.h"
56
57 C !INPUT PARAMETERS:
58 integer igroup, iflag, ival_curr, ival_next, myThid
59 CEOP
60
61 iflag = mnc_cw_cit(1,igroup)
62 ival_curr = mnc_cw_cit(2,igroup)
63 ival_next = mnc_cw_cit(3,igroup)
64
65 RETURN
66 END
67
68 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
69
70 CBOP 0
71 C !ROUTINE: MNC_CW_SET_CITER
72
73 C !INTERFACE:
74 SUBROUTINE MNC_CW_SET_CITER(
75 I fgname,
76 I igroup,
77 I iflag, ival_curr, ival_next,
78 I myThid )
79
80 C !DESCRIPTION:
81 C Set the flag and/or current iteration value
82
83 C !USES:
84 implicit none
85 #include "mnc_common.h"
86 #include "EEPARAMS.h"
87
88 C !INPUT PARAMETERS:
89 integer igroup, iflag, ival_curr, ival_next, myThid
90 character*(*) fgname
91 CEOP
92
93 C !LOCAL VARIABLES:
94 integer fgf,fgl, indfg
95 character*(MAX_LEN_MBUF) msgbuf
96
97 C Functions
98 integer IFNBLNK, ILNBLNK
99
100 C Check that this name is not already defined
101 fgf = IFNBLNK(fgname)
102 fgl = ILNBLNK(fgname)
103 CALL MNC_GET_IND(MNC_MAX_ID, fgname, mnc_cw_fgnm, indfg, myThid)
104 IF (indfg .LT. 1) THEN
105 C Error if this file group name is not set
106 write(msgbuf,'(3a)')
107 & 'MNC_CW_SET_CITER ERROR: the file group name ''',
108 & fgname(fgf:fgl), ''' does not exist'
109 CALL print_error(msgbuf, mythid)
110 STOP 'ABNORMAL END: S/R MNC_CW_SET_CITER'
111 ENDIF
112
113 IF (igroup .LT. 1) THEN
114 igroup = mnc_cw_fgci(indfg)
115 ELSE
116 mnc_cw_fgci(indfg) = igroup
117 ENDIF
118 IF ((igroup .LT. 1) .OR. (igroup .GT. MNC_MAX_INFO)) THEN
119 write(msgbuf,'(4a)')
120 & 'MNC_CW_SET_CITER ERROR: invalid igroup index for ',
121 & 'file group name ''', fgname(fgf:fgl), ''''
122 CALL print_error(msgbuf, mythid)
123 STOP 'ABNORMAL END: S/R MNC_CW_SET_CITER'
124 ENDIF
125
126 CALL MNC_CW_CITER_SETG( igroup,
127 & iflag, ival_curr, ival_next, myThid )
128
129 RETURN
130 END
131
132 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
133
134 CBOP 0
135 C !ROUTINE: MNC_CW_GET_CITER
136
137 C !INTERFACE:
138 SUBROUTINE MNC_CW_GET_CITER(
139 I fgname,
140 O igroup,
141 O iflag, ival_curr, ival_next,
142 I myThid )
143
144 C !DESCRIPTION:
145 C Set the flag and/or current iteration value
146
147 C !USES:
148 implicit none
149 #include "mnc_common.h"
150 #include "EEPARAMS.h"
151
152 C !INPUT PARAMETERS:
153 integer igroup, iflag, ival_curr, ival_next, myThid
154 character*(*) fgname
155 CEOP
156
157 C !LOCAL VARIABLES:
158 integer fgf,fgl, indfg
159 character*(MAX_LEN_MBUF) msgbuf
160
161 C Functions
162 integer IFNBLNK, ILNBLNK
163
164 C Check that this name is not already defined
165 fgf = IFNBLNK(fgname)
166 fgl = ILNBLNK(fgname)
167 CALL MNC_GET_IND(MNC_MAX_ID, fgname, mnc_cw_fgnm, indfg, myThid)
168 IF (indfg .LT. 1) THEN
169 C Error if this file group name is not set
170 write(msgbuf,'(3a)')
171 & 'MNC_CW_SET_CITER ERROR: the file group name ''',
172 & fgname(fgf:fgl), ''' does not exist'
173 CALL print_error(msgbuf, mythid)
174 STOP 'ABNORMAL END: S/R MNC_CW_SET_CITER'
175 ENDIF
176
177 igroup = mnc_cw_fgci(indfg)
178 IF ((igroup .LT. 1) .OR. (igroup .GT. MNC_MAX_INFO)) THEN
179 igroup = -1
180 iflag = -1
181 ival_curr = -1
182 ival_next = -1
183 ELSE
184 CALL MNC_CW_CITER_GETG( igroup,
185 & iflag, ival_curr, ival_next, myThid )
186 ENDIF
187
188
189 RETURN
190 END
191
192 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
193

  ViewVC Help
Powered by ViewVC 1.1.22