Back to home page

MITgcm

 
 

    


File indexing completed on 2018-03-02 18:42:21 UTC

view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
91672e10e3 Alis*0001 #include "MONITOR_OPTIONS.h"
                0002 
2741539ec0 Ed H*0003 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0004 CBOP
                0005 C     !ROUTINE: MON_SOLUTION
                0006 
                0007 C     !INTERFACE:
91672e10e3 Alis*0008       SUBROUTINE MON_SOLUTION(
723acae40e Jean*0009      I     statsTemp,
                0010      I     myTime, myIter, myThid )
2741539ec0 Ed H*0011 
                0012 C     !DESCRIPTION:
1d437cd206 Jean*0013 C     Checks that the solutions is within bounds
91672e10e3 Alis*0014 
2741539ec0 Ed H*0015 C     !USES:
                0016       IMPLICIT NONE
91672e10e3 Alis*0017 #include "SIZE.h"
                0018 #include "EEPARAMS.h"
                0019 #include "PARAMS.h"
                0020 #include "DYNVARS.h"
                0021 #include "GRID.h"
                0022 #include "MONITOR.h"
                0023 
2741539ec0 Ed H*0024 C     !INPUT PARAMETERS:
723acae40e Jean*0025       _RL statsTemp(*)
91672e10e3 Alis*0026       _RL myTime
723acae40e Jean*0027       INTEGER myIter
91672e10e3 Alis*0028       INTEGER myThid
2741539ec0 Ed H*0029 CEOP
91672e10e3 Alis*0030 
2741539ec0 Ed H*0031 C     !LOCAL VARIABLES:
1d437cd206 Jean*0032       CHARACTER*(MAX_LEN_MBUF) msgBuf
91672e10e3 Alis*0033       _RL tMin,tMax,tMean,tSD,tDel2,tVol
                0034 
723acae40e Jean*0035       IF ( statsTemp(1) .LE. statsTemp(2) ) THEN
ba41d6c98e Jean*0036 C     Take statistics from the input argument "statsTemp":
723acae40e Jean*0037         tMin = statsTemp(1)
                0038         tMax = statsTemp(2)
                0039       ELSE
91672e10e3 Alis*0040 C     Statistics for T
b082722712 Jean*0041         CALL MON_CALC_STATS_RL(
                0042      I                Nr, theta, hFacC, maskInC, rA, drF,
                0043      O                tMin, tMax, tMean, tSD, tDel2, tVol,
91672e10e3 Alis*0044      I                myThid )
723acae40e Jean*0045       ENDIF
1d437cd206 Jean*0046 
ba41d6c98e Jean*0047       IF ( (tMax-tMin).GT.monSolutionMaxRange ) THEN
91672e10e3 Alis*0048         _BEGIN_MASTER(myThid)
ba41d6c98e Jean*0049         WRITE(msgBuf,'(A,1P2E11.3)')
91672e10e3 Alis*0050      &    'SOLUTION IS HEADING OUT OF BOUNDS: tMin,tMax=',tMin,tMax
ba41d6c98e Jean*0051         CALL PRINT_MESSAGE(msgBuf,errorMessageUnit,SQUEEZE_RIGHT,myThid)
                0052         WRITE(msgBuf,'(2A,1PE11.3,A)') '  exceeds allowed range ',
                0053      &             '(monSolutionMaxRange=', monSolutionMaxRange,')'
                0054         CALL PRINT_MESSAGE(msgBuf,errorMessageUnit,SQUEEZE_RIGHT,myThid)
                0055         WRITE(msgBuf,'(A,I10)')
                0056      &    'MON_SOLUTION: STOPPING CALCULATION at Iter=', myIter
                0057         CALL PRINT_MESSAGE(msgBuf,errorMessageUnit,SQUEEZE_RIGHT,myThid)
91672e10e3 Alis*0058         _END_MASTER(myThid)
                0059 
de2dcd6b45 Jean*0060         CALL ALL_PROC_DIE( myThid )
ba41d6c98e Jean*0061         STOP
                0062      &  'ABNORMAL END: S/R MON_SOLUTION, stops due to EXTREME Pot.Temp'
91672e10e3 Alis*0063       ENDIF
                0064 
                0065       RETURN
                0066       END