/[MITgcm]/MITgcm/pkg/gmredi/gmredi_diagnostics_impl.F
ViewVC logotype

Contents of /MITgcm/pkg/gmredi/gmredi_diagnostics_impl.F

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


Revision 1.1 - (show annotations) (download)
Tue Mar 20 23:36:59 2012 UTC (12 years, 1 month ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64o, checkpoint64a, checkpoint63r, checkpoint64q, checkpoint64p, checkpoint64s, checkpoint64r, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint64n, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint64b, checkpoint63m, checkpoint64e, checkpoint63q, checkpoint64d, checkpoint64c, checkpoint64g, checkpoint64f, checkpoint63l, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint63n, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65o, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e, checkpoint64i, checkpoint63o, checkpoint63p, checkpoint64h, checkpoint63s, checkpoint64k, checkpoint64, checkpoint65, checkpoint64j, checkpoint64m, checkpoint64l, HEAD
add a diagnostic for Redi (main diagnonal) vertical diffusive flux of Temp

1 C $Header: $
2 C $Name: $
3
4 #include "GMREDI_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: GMREDI_DIAGNOSTICS_IMPL
8 C !INTERFACE:
9 SUBROUTINE GMREDI_DIAGNOSTICS_IMPL(
10 I myTime, myIter, myThid )
11 C !DESCRIPTION: \bv
12 C *==========================================================*
13 C | SUBROUTINE GMREDI_DIAGNOSTICS_IMPL
14 C | o fill GM-Redi diagnostics for backward (implicit) terms
15 C *==========================================================*
16 C \ev
17
18 C !USES:
19 IMPLICIT NONE
20 C === Global data ===
21 #include "SIZE.h"
22 #include "EEPARAMS.h"
23 #include "PARAMS.h"
24 #include "GRID.h"
25 #include "DYNVARS.h"
26 #include "GMREDI.h"
27
28 C !INPUT/OUTPUT PARAMETERS:
29 _RL myTime
30 INTEGER myIter
31 INTEGER myThid
32
33 #ifdef ALLOW_DIAGNOSTICS
34 C !FUNCTIONS:
35 LOGICAL DIAGNOSTICS_IS_ON
36 EXTERNAL DIAGNOSTICS_IS_ON
37 #endif /* ALLOW_DIAGNOSTICS */
38 CEOP
39
40 #ifdef ALLOW_GMREDI
41 #ifdef ALLOW_DIAGNOSTICS
42
43 C !LOCAL VARIABLES:
44 INTEGER bi,bj
45 INTEGER i,j,k
46 _RL tmpVar(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
47
48 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
49
50 IF ( useDiagnostics .AND. implicitDiffusion .AND.
51 & Nr.GE.2 .AND. tempStepping ) THEN
52
53 IF ( DIAGNOSTICS_IS_ON('GM_KwzTz', myThid ) ) THEN
54 DO bj=myByLo(myThid),myByHi(myThid)
55 DO bi=myBxLo(myThid),myBxHi(myThid)
56 CALL DIAGNOSTICS_COUNT( 'GM_KwzTz', bi, bj, myThid )
57 DO k=2,Nr
58 DO j = 1, sNy
59 DO i = 1, sNx
60 tmpVar(i,j) = -recip_drC(k)*rkSign
61 & *(theta(i,j,k,bi,bj)-theta(i,j,k-1,bi,bj))
62 & * maskC(i,j,k,bi,bj)*maskC(i,j,k-1,bi,bj)
63 tmpVar(i,j) = tmpVar(i,j)*Kwz(i,j,k,bi,bj)
64 & *rA(i,j,bi,bj)
65 ENDDO
66 ENDDO
67 CALL DIAGNOSTICS_FILL( tmpVar, 'GM_KwzTz',
68 & k, 1, 2, bi, bj, myThid )
69 ENDDO
70 ENDDO
71 ENDDO
72 ENDIF
73
74 ENDIF
75
76 #endif /* ALLOW_DIAGNOSTICS */
77 #endif /* ALLOW_GMREDI */
78
79 RETURN
80 END

  ViewVC Help
Powered by ViewVC 1.1.22