/[MITgcm]/MITgcm/pkg/cal/cal_printerror.F
ViewVC logotype

Contents of /MITgcm/pkg/cal/cal_printerror.F

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


Revision 1.2 - (show annotations) (download)
Thu Oct 9 04:19:19 2003 UTC (20 years, 7 months ago) by edhill
Branch: MAIN
CVS Tags: checkpoint51k_post, hrcube4, checkpoint52d_pre, checkpoint52j_pre, checkpoint51o_pre, checkpoint51l_post, checkpoint52k_post, checkpoint52, checkpoint52f_post, checkpoint51t_post, checkpoint51n_post, checkpoint52i_pre, hrcube_1, hrcube_2, hrcube_3, checkpoint51s_post, checkpoint52e_pre, checkpoint52e_post, checkpoint51n_pre, checkpoint52b_pre, checkpoint51l_pre, checkpoint51q_post, checkpoint52b_post, checkpoint52c_post, checkpoint52f_pre, checkpoint51r_post, checkpoint51i_post, checkpoint52d_post, checkpoint52a_pre, checkpoint52i_post, checkpoint52h_pre, checkpoint52j_post, branch-netcdf, checkpoint51o_post, checkpoint52a_post, ecco_c52_e35, checkpoint51m_post, checkpoint51p_post, checkpoint51u_post
Branch point for: branch-nonh, tg2-branch, netcdf-sm0, checkpoint51n_branch
Changes since 1.1: +3 -2 lines
 o first check-in for the "branch-genmake2" merge
 o verification suite as run on shelley (gcc 3.2.2):

Wed Oct  8 23:42:29 EDT 2003
                T           S           U           V
G D M    c        m  s        m  s        m  s        m  s
E p a R  g  m  m  e  .  m  m  e  .  m  m  e  .  m  m  e  .
N n k u  2  i  a  a  d  i  a  a  d  i  a  a  d  i  a  a  d
2 d e n  d  n  x  n  .  n  x  n  .  n  x  n  .  n  x  n  .

OPTFILE=NONE

Y Y Y Y 13 16 16 16  0 16 16 16 16 16 16 16 16 13 12  0  0 pass  adjustment.128x64x1
Y Y Y Y 16 16 16 16  0 16 16 16 16 16 16  0  0 16 16  0  0 pass  adjustment.cs-32x32x1
Y Y Y Y 16 16 16 16  0 16 16 16 16 16 16 22  0 16 16 22  0 pass  adjust_nlfs.cs-32x32x1
Y Y Y Y -- 13 13 16 16 13 13 13 13 16 16 16 16 16 16 16 16 N/O   advect_cs
Y Y Y Y -- 22 16 16 16 16 16 16 13 16 16 16 16 16 16 16 16 N/O   advect_xy
Y Y Y Y -- 13 16 13 16 16 16 16 16 16 16 22 16 16 16 16 16 N/O   advect_xz
Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 pass  aim.5l_cs
Y Y Y Y 14 16 16 16 16 16 16 16 16 13 16 16 16 16 16 13 16 pass  aim.5l_Equatorial_Channel
Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 13 16 16 13 13 16 pass  aim.5l_LatLon
Y Y Y Y 13 16 16 16 16 16 16 16 16 16 13 12 13 13 16 13 16 pass  exp0
Y Y Y Y 14 16 16 16 16 16 16 16 22 16 16 16 13 16 16 22 16 pass  exp1
Y Y Y Y 13 13 16 13 16 16 16 16 16 13 13 16 16 13 13 13 13 pass  exp2
Y Y Y Y 16 16 16 16 16 16 16 16 22 16 16 16 16 16 16 16 16 pass  exp4
Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 22 16 16 16 22 16 pass  exp5
Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 pass  front_relax
Y Y Y Y 14 16 16 13 13 16 16 13 13 16 13 13 16 12 13 13 16 pass  global_ocean.90x40x15
Y Y Y Y 10 16 16 13 13 16 13 16 16 13 13 13 13 16 16 13 16 FAIL  global_ocean.cs32x15
Y Y Y Y  6 11 12 13 13 12 13 16 13  9  9  9  9 10  9  9 11 FAIL  global_ocean_pressure
Y Y Y Y 14 16 16 13 16 16 16 13 13 13 13 13 16 12 16 13 16 pass  global_with_exf
Y Y Y Y 14 16 16 16 16 16 16 16 16 11 13 22 13 16 16  9 16 pass  hs94.128x64x5
Y Y Y Y 13 16 16 16 16 16 16 16 16 11 16 16 16 13 16 22 13 pass  hs94.1x64x5
Y Y Y Y 14 16 16 16 16 16 16 16 16 13 16 13 13 16 16 22 13 pass  hs94.cs-32x32x5
Y Y Y Y 10 10 16 13 13 16 16 16 22 16 13 13 13 13 13 22 13 FAIL  ideal_2D_oce
Y Y Y Y  8 16 16 16 16 16 16 16 16 13 13  8 16 16 16 16 16 FAIL  internal_wave
Y Y Y Y 14 16 16 16 16 16 16 16 16 13 13 22 13 13 13 22 16 pass  inverted_barometer
Y Y Y Y 12 16 16 16 16 16 16 16 16 16 13 12 13 13 13 13 13 FAIL  lab_sea
Y Y Y Y 11 16 16 16 16 16 16 16 13 13 13 12 13 16 13 12 13 FAIL  natl_box
Y Y Y Y 16 16 16 16 16 16 16 16 22 16 16 16 16 16 16 16 16 pass  plume_on_slope
Y Y Y Y 13 16 16 16 16 13 16 16 16 16 16 16 16 13 16 16 16 pass  solid-body.cs-32x32x1

1 C $Header: /u/u3/gcmpack/MITgcm/pkg/cal/cal_printerror.F,v 1.1.20.2 2003/10/07 20:46:37 adcroft Exp $
2 C $Name: $
3
4 #include "CAL_OPTIONS.h"
5
6 subroutine cal_PrintError(
7 I calerr,
8 I mythid
9 & )
10
11 c ==================================================================
12 c SUBROUTINE cal_PrintError
13 c ==================================================================
14 c
15 c Purpose: Use the MITgcmuv's print routines to document errors that
16 c occured during the execution of the calendar tool.
17 c
18 c o Calling this routine allows to print out an error message for
19 c several errors that might occur.
20 c
21 c The error codes for the calendar tool are specified by a four
22 c digit integer:
23 c RRCC
24 c
25 c The RR digits identify the routine that detected the error.
26 c The CC digits identify the specific error in the routine that
27 c detected the error.
28 c
29 c RR translates to routines in the following way:
30 c
31 c cal_Init 0
32 c cal_Set 1
33 c cal_GetDate 2
34 c cal_FullDate 3
35 c cal_IsLeap 4
36 c cal_TimePassed 5
37 c cal_AddTime 6
38 c cal_TimeInterval 7
39 c cal_SubDates 8
40 c cal_ConvDate 9
41 c cal_ToSeconds 10
42 c cal_StepsPerDay 11
43 c cal_DaysPerMonth 12
44 c cal_MonthsPerYear 13
45 c cal_IntYears 14
46 c cal_IntMonths 15
47 c cal_IntDays 16
48 c cal_nStepDay 17
49 c cal_CheckDate 18
50 c cal_PrintError 19
51 c cal_PrintDate 20
52 c cal_NumInts 25
53 c
54 c
55 c started: Christian Eckert eckert@mit.edu 30-Jun-1999
56 c
57 c changed: Christian Eckert eckert@mit.edu 29-Dec-1999
58 c
59 c Christian Eckert eckert@mit.edu 10-Jan-2000
60 c
61 c - Corrected the print statement for error code 104.
62 c It contained more than 72 characters in one line.
63 c
64 c Christian Eckert eckert@mit.edu 03-Feb-2000
65 c
66 c - Introduced new routine and function names, cal_<NAME>,
67 c for verion 0.1.3.
68 c
69 c Christian Eckert eckert@mit.edu 24-Feb-2000
70 c
71 c - Included cal_NumInts error code.
72 c
73 c ==================================================================
74 c SUBROUTINE cal_PrintError
75 c ==================================================================
76
77 implicit none
78
79 c == global variables ==
80
81 #include "EEPARAMS.h"
82
83 c == routine arguments ==
84
85 c mythid - thread number for this instance of the routine.
86 c calerr - error code
87
88 integer mythid
89 integer calerr
90
91 c == local variables ==
92
93 integer nroutine
94 integer nerrcode
95 logical missingerrcode
96
97 c == end of interface ==
98
99 nerrcode = mod(calerr,100)
100 nroutine = (calerr - nerrcode)/100
101 missingerrcode = .false.
102
103 if (nroutine .eq. 0) then
104 c Error in cal_Init
105
106 if (nerrcode .eq. 1) then
107 print*,
108 & ' cal_Init: Unable to open calendar parameter file'
109 print*,
110 & ' file "data.calendar".'
111 endif
112
113 else if (nroutine .eq. 1) then
114 c Error in cal_Set
115
116 if (nerrcode .eq. 1) then
117 print*,
118 & ' cal_Set: No appropriate calendar has been specified.'
119 else if (nerrcode .eq. 2) then
120 print*,
121 & ' cal_Set: The time step specified is not valid.'
122 else if (nerrcode .eq. 3) then
123 print*,
124 & ' cal_Set: The time step is less than a second.'
125 else if (nerrcode .eq. 4) then
126 print*,
127 & ' cal_Set: The time step contains fractions of a',
128 & ' second.'
129 else if (nerrcode .eq. 5) then
130 print*,
131 & ' cal_Set: Less than one time step per calendar day.'
132 else if (nerrcode .eq. 6) then
133 print*,
134 & ' cal_Set: The specifications are incomplete. Please'
135 print*,
136 & ' refer to the documentation.'
137 else if (nerrcode .eq. 7) then
138 print*,
139 & ' cal_Set: The final date of integration is before its'
140 print*,
141 & ' start date.'
142 else if (nerrcode .eq. 10) then
143 print*,
144 & ' cal_Set: The Julian Calendar is not implemented yet.'
145 else if (nerrcode .eq. 11) then
146 print*,
147 & ' cal_Set: The No Calendar case is not implemented yet.'
148 else if ( nerrcode .eq. 12) then
149 print*,
150 & ' cal_Set: modelstart .ne. startTime ... please check.'
151 else if ( nerrcode .eq. 13 ) then
152 print*,
153 & ' cal_Set: modelend .ne. endTime ... please check.'
154 else if ( nerrcode .eq. 14 ) then
155 print*,
156 & ' cal_Set: modelstep .ne. deltaTclock ... please check.'
157 else if ( nerrcode .eq. 15 ) then
158 print*,
159 & ' cal_Set: modeliter0 .ne. nIter0 ... please check.'
160 else if ( nerrcode .eq. 16 ) then
161 print*,
162 & ' cal_Set: modeliterend .ne. nEndIter ... please check.'
163 else if ( nerrcode .eq. 17 ) then
164 print*,
165 & ' cal_Set: modelintsteps .ne. nTimeSteps',
166 & ' ... please check.'
167 else
168 missingerrcode = .true.
169 endif
170
171 else if (nroutine .eq. 2) then
172 c Error in cal_GetDate
173
174 missingerrcode = .true.
175
176 else if (nroutine .eq. 3) then
177 c Error in cal_FullDate
178
179 missingerrcode = .true.
180
181 else if (nroutine .eq. 4) then
182 c Error in cal_IsLeap
183
184 missingerrcode = .true.
185
186 else if (nroutine .eq. 5) then
187 c Error in cal_TimePassed
188
189 if (nerrcode .eq. 1) then
190 print*,
191 & ' cal_TimePassed: calendar and timeinterval cannot',
192 & ' be compared.'
193 else
194 missingerrcode = .true.
195 endif
196
197 else if (nroutine .eq. 6) then
198 c Error in cal_AddTime
199
200 if (nerrcode .eq. 1) then
201 print*,
202 & ' cal_AddTime: not a valid time interval.'
203 else
204 missingerrcode = .true.
205 endif
206
207 else if (nroutine .eq. 7) then
208 c Error in cal_TimeInterval
209
210 if (nerrcode .eq. 1) then
211 print*,
212 & ' cal_TimeInterval: not a valid time unit.'
213 else
214 missingerrcode = .true.
215 endif
216
217 else if (nroutine .eq. 8) then
218 c Error in cal_SubDates
219
220 if (nerrcode .eq. 1) then
221 print*,
222 & ' cal_SubDates: Not a valid combination of calendar dates'
223 print*,
224 & ' or time intervals.'
225 else
226 missingerrcode = .true.
227 endif
228
229 else if (nroutine .eq. 9) then
230 c Error in cal_ConvDate
231
232 if (nerrcode .eq. 1) then
233 print*,
234 & ' cal_ConvDate: date specification has mixed signs.'
235 else
236 missingerrcode = .true.
237 endif
238
239 else if (nroutine .eq. 10) then
240 c Error in cal_ToSeconds
241
242 if (nerrcode .eq. 1) then
243 print*,
244 & ' cal_ToSeconds: input not a time interval array.'
245 else
246 missingerrcode = .true.
247 endif
248
249 else if (nroutine .eq. 11) then
250 c Error in cal_StepsPerDay
251
252 if (nerrcode .eq. 1) then
253 print*,
254 & ' cal_StepsPerDay: nothing else to do.'
255 else
256 missingerrcode = .true.
257 endif
258
259 else if (nroutine .eq. 12) then
260 c Error in cal_DaysPerMonth
261
262 if (nerrcode .eq. 1) then
263 print*,
264 & ' cal_DaysPerMonth: current year after final year.'
265 else
266 missingerrcode = .true.
267 endif
268
269 else if (nroutine .eq. 13) then
270 c Error in cal_MonthsPerYear
271
272 missingerrcode = .true.
273
274 else if (nroutine .eq. 14) then
275 c Error in cal_IntYears
276
277 missingerrcode = .true.
278
279 else if (nroutine .eq. 15) then
280 c Error in cal_IntMonths
281
282 missingerrcode = .true.
283
284 else if (nroutine .eq. 16) then
285 c Error in cal_IntDays
286
287 missingerrcode = .true.
288
289 else if (nroutine .eq. 17) then
290 c Error in cal_nStepDay
291
292 missingerrcode = .true.
293
294 else if (nroutine .eq. 18) then
295 c Error in cal_CheckDate
296
297 if (nerrcode .eq. 0) then
298 print*,
299 & ' cal_CheckDate: A valid date specification!'
300 print*,
301 & ' --> This only means that the format is ok!'
302 else if (nerrcode .eq. 1) then
303 print*,
304 & ' cal_CheckDate: Last component of array not valid!'
305 else if (nerrcode .eq. 2) then
306 print*,
307 & ' cal_CheckDate: Third component of interval array',
308 & ' not zero!'
309 else if (nerrcode .eq. 3) then
310 print*,
311 & ' cal_CheckDate: Signs of first two components unequal!'
312 else if (nerrcode .eq. 4) then
313 print*,
314 & ' cal_CheckDate: Second component not in hhmmss format!'
315 else if (nerrcode .eq. 5) then
316 print*,
317 & ' cal_CheckDate: Weekday indentifier not correct!'
318 else if (nerrcode .eq. 6) then
319 print*,
320 & ' cal_CheckDate: Leap year identifier not correct!'
321 else if (nerrcode .eq. 7) then
322 print*,
323 & ' cal_CheckDate: Calendar date before predefined reference',
324 & ' date!'
325 else if (nerrcode .eq. 8) then
326 print*,
327 & ' cal_CheckDate: First component not in yymmdd format!'
328 else
329 missingerrcode = .true.
330 endif
331
332 else if (nroutine .eq. 19) then
333 c Error in cal_PrintError
334
335 missingerrcode = .true.
336
337 else if (nroutine .eq. 20) then
338 c Error in cal_PrintDate
339
340 if (nerrcode .eq. 1) then
341 print*,
342 & ' cal_PrintDate: date not a legal calendar array.'
343 else
344 missingerrcode = .true.
345 endif
346
347 else if (nroutine .eq. 21) then
348 c Error in cal_PrintError
349
350 missingerrcode = .true.
351
352 else if (nroutine .eq. 25) then
353 c Error in cal_NumInts
354
355 if (nerrcode .eq. 1) then
356 print*,
357 & ' cal_NumInts: Expected a time interval as third argument.'
358 else
359 missingerrcode = .true.
360 endif
361
362 else
363 missingerrcode = .true.
364 endif
365
366 if (missingerrcode) then
367 print*,' cal_PrintError: routine called by an undefined'
368 print*,' error code.'
369 print*,' cal_PrintError: error code = ',calerr
370 stop ' stopped in cal_PrintError.'
371 endif
372
373 return
374 end
375

  ViewVC Help
Powered by ViewVC 1.1.22