/[MITgcm]/MITgcm/pkg/monitor/mon_solution.F
ViewVC logotype

Contents of /MITgcm/pkg/monitor/mon_solution.F

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


Revision 1.8 - (show annotations) (download)
Wed Jul 1 14:49:22 2009 UTC (14 years, 11 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint61v, checkpoint61w, checkpoint61t, checkpoint61u, checkpoint61z, checkpoint61x, checkpoint61y
Changes since 1.7: +14 -10 lines
change error msg when stopping in MON_SOLUTION (add iteration number ...)

1 C $Header: /u/gcmpack/MITgcm/pkg/monitor/mon_solution.F,v 1.7 2009/05/26 23:04:03 jmc Exp $
2 C $Name: $
3
4 #include "MONITOR_OPTIONS.h"
5
6 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
7 CBOP
8 C !ROUTINE: MON_SOLUTION
9
10 C !INTERFACE:
11 SUBROUTINE MON_SOLUTION(
12 I statsTemp,
13 I myTime, myIter, myThid )
14
15 C !DESCRIPTION:
16 C Checks that the solutions is within bounds
17
18 C !USES:
19 IMPLICIT NONE
20 #include "SIZE.h"
21 #include "EEPARAMS.h"
22 #include "PARAMS.h"
23 #include "DYNVARS.h"
24 #include "GRID.h"
25 #include "MONITOR.h"
26
27 C !INPUT PARAMETERS:
28 _RL statsTemp(*)
29 _RL myTime
30 INTEGER myIter
31 INTEGER myThid
32 CEOP
33
34 C !LOCAL VARIABLES:
35 CHARACTER*(MAX_LEN_MBUF) msgBuf
36 _RL tMin,tMax,tMean,tSD,tDel2,tVol
37
38 IF ( statsTemp(1) .LE. statsTemp(2) ) THEN
39 C Take statistics from the input argument "statsTemp":
40 tMin = statsTemp(1)
41 tMax = statsTemp(2)
42 ELSE
43 C Statistics for T
44 CALL MON_STATS_RL(
45 I Nr, theta, maskC,hFacC,rA,drF,
46 O tMin,tMax,tMean,tSD,tDel2,tVol,
47 I myThid )
48 ENDIF
49
50 IF ( (tMax-tMin).GT.monSolutionMaxRange ) THEN
51 _BEGIN_MASTER(myThid)
52 WRITE(msgBuf,'(A,1P2E11.3)')
53 & 'SOLUTION IS HEADING OUT OF BOUNDS: tMin,tMax=',tMin,tMax
54 CALL PRINT_MESSAGE(msgBuf,errorMessageUnit,SQUEEZE_RIGHT,myThid)
55 WRITE(msgBuf,'(2A,1PE11.3,A)') ' exceeds allowed range ',
56 & '(monSolutionMaxRange=', monSolutionMaxRange,')'
57 CALL PRINT_MESSAGE(msgBuf,errorMessageUnit,SQUEEZE_RIGHT,myThid)
58 WRITE(msgBuf,'(A,I10)')
59 & 'MON_SOLUTION: STOPPING CALCULATION at Iter=', myIter
60 CALL PRINT_MESSAGE(msgBuf,errorMessageUnit,SQUEEZE_RIGHT,myThid)
61 _END_MASTER(myThid)
62
63 C jmc: add this "if not ..." to avoid beeing stuck when using coupler;
64 IF ( .NOT.useCoupler ) CALL ALL_PROC_DIE( myThid )
65 STOP
66 & 'ABNORMAL END: S/R MON_SOLUTION, stops due to EXTREME Pot.Temp'
67 ENDIF
68
69 RETURN
70 END

  ViewVC Help
Powered by ViewVC 1.1.22