/[MITgcm]/MITgcm/pkg/ptracers/ptracers_diagnostics_state.F
ViewVC logotype

Contents of /MITgcm/pkg/ptracers/ptracers_diagnostics_state.F

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


Revision 1.3 - (show annotations) (download)
Sat Nov 10 22:09:32 2007 UTC (16 years, 6 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint60, checkpoint61, checkpoint59q, checkpoint59p, checkpoint59r, checkpoint59m, checkpoint59l, checkpoint59o, checkpoint59n, checkpoint59k, checkpoint61f, checkpoint61g, checkpoint61d, checkpoint61e, checkpoint61b, checkpoint61c, checkpoint61a, checkpoint61n, checkpoint61o, checkpoint61l, checkpoint61m, checkpoint61j, checkpoint61k, checkpoint61h, checkpoint61i, checkpoint61r, checkpoint61p, checkpoint61q
Changes since 1.2: +14 -17 lines
use a 2 characters string ioLabel to identify tracers (if more than 99 tracers)

1 C $Header: /u/gcmpack/MITgcm/pkg/ptracers/ptracers_diagnostics_state.F,v 1.2 2007/11/05 18:49:21 jmc Exp $
2 C $Name: $
3
4 #include "PTRACERS_OPTIONS.h"
5
6 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
7 CBOP 1
8 C !ROUTINE: PTRACERS_DIAGNOSTICS_STATE
9
10 C !INTERFACE:
11 SUBROUTINE PTRACERS_DIAGNOSTICS_STATE(myThid)
12
13 C !DESCRIPTION:
14 C Fill-in the diagnostics array for PTRACERS state variables
15
16 C !USES:
17 IMPLICIT NONE
18 #include "SIZE.h"
19 #include "EEPARAMS.h"
20 #include "GRID.h"
21 #include "DYNVARS.h"
22 #include "PTRACERS_SIZE.h"
23 #include "PTRACERS_PARAMS.h"
24 #include "PTRACERS_FIELDS.h"
25
26 C !INPUT PARAMETERS:
27 INTEGER myThid
28 CEOP
29
30 #ifdef ALLOW_DIAGNOSTICS
31
32 C !LOCAL VARIABLES:
33 LOGICAL DIAGNOSTICS_IS_ON
34 EXTERNAL DIAGNOSTICS_IS_ON
35 _RL dummy(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
36 INTEGER i,j,k,bi,bj,iTr
37 CHARACTER*8 diagName
38 INTEGER km1
39
40 diagName = ' '
41
42 DO iTr = 1,PTRACERS_numInUse
43
44 diagName = ' '
45 WRITE(diagName,'(A4,A2)') 'TRAC',PTRACERS_ioLabel(iTr)
46 CALL DIAGNOSTICS_FILL( pTracer(1-Olx,1-Oly,1,1,1,iTr), diagName,
47 & 0,Nr,0,1,1,myThid )
48
49 diagName = ' '
50 WRITE(diagName,'(A5,A2)') 'UTRAC',PTRACERS_ioLabel(iTr)
51 IF ( DIAGNOSTICS_IS_ON(diagName,myThid) ) THEN
52 DO bj = myByLo(myThid), myByHi(myThid)
53 DO bi = myBxLo(myThid), myBxHi(myThid)
54 DO k=1,Nr
55 DO j = 1,sNy
56 DO i = 1,sNx+1
57 dummy(i,j,k,bi,bj) =
58 & uVel(i,j,k,bi,bj)*hFacW(i,j,k,bi,bj) *
59 & 0.5 _d 0*( pTracer(i,j,k,bi,bj,iTr)
60 & + pTracer(i-1,j,k,bi,bj,iTr) )
61 ENDDO
62 ENDDO
63 ENDDO
64 ENDDO
65 ENDDO
66 CALL DIAGNOSTICS_FILL( dummy, diagName, 0,Nr,0,1,1,myThid )
67 ENDIF
68
69 diagName = ' '
70 WRITE(diagName,'(A5,A2)') 'VTRAC',PTRACERS_ioLabel(iTr)
71 IF ( DIAGNOSTICS_IS_ON(diagName,myThid) ) THEN
72 DO bj = myByLo(myThid), myByHi(myThid)
73 DO bi = myBxLo(myThid), myBxHi(myThid)
74 DO k=1,Nr
75 DO j = 1,sNy+1
76 DO i = 1,sNx
77 dummy(i,j,k,bi,bj) =
78 & vVel(i,j,k,bi,bj)*hFacS(i,j,k,bi,bj) *
79 & 0.5 _d 0*( pTracer(i,j,k,bi,bj,iTr)
80 & + pTracer(i,j-1,k,bi,bj,iTr) )
81 ENDDO
82 ENDDO
83 ENDDO
84 ENDDO
85 ENDDO
86 CALL DIAGNOSTICS_FILL( dummy, diagName, 0,Nr,0,1,1,myThid )
87 ENDIF
88
89 diagName = ' '
90 WRITE(diagName,'(A5,A2)') 'WTRAC',PTRACERS_ioLabel(iTr)
91 IF ( DIAGNOSTICS_IS_ON(diagName,myThid) ) THEN
92 DO bj = myByLo(myThid), myByHi(myThid)
93 DO bi = myBxLo(myThid), myBxHi(myThid)
94 DO k=1,Nr
95 km1 = MAX(k-1,1)
96 DO j = 1,sNy
97 DO i = 1,sNx
98 dummy(i,j,k,bi,bj) = wVel(i,j,k,bi,bj) *
99 & 0.5 _d 0*( pTracer(i,j,k,bi,bj,iTr)
100 & + pTracer(i,j,km1,bi,bj,iTr) )
101 ENDDO
102 ENDDO
103 ENDDO
104 ENDDO
105 ENDDO
106 CALL DIAGNOSTICS_FILL( dummy, diagName, 0,Nr,0,1,1,myThid )
107 ENDIF
108
109 ENDDO
110
111 #endif /* ALLOW_DIAGNOSTICS */
112
113 RETURN
114 END
115
116 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|

  ViewVC Help
Powered by ViewVC 1.1.22