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

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

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


Revision 1.3 - (hide annotations) (download)
Sat Nov 10 22:09:32 2007 UTC (16 years, 7 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 jmc 1.3 C $Header: /u/gcmpack/MITgcm/pkg/ptracers/ptracers_diagnostics_state.F,v 1.2 2007/11/05 18:49:21 jmc Exp $
2 jmc 1.1 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 jmc 1.2
16 jmc 1.1 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 jmc 1.2 #include "PTRACERS_PARAMS.h"
24     #include "PTRACERS_FIELDS.h"
25 jmc 1.1
26     C !INPUT PARAMETERS:
27 jmc 1.2 INTEGER myThid
28 jmc 1.1 CEOP
29    
30     #ifdef ALLOW_DIAGNOSTICS
31    
32     C !LOCAL VARIABLES:
33     LOGICAL DIAGNOSTICS_IS_ON
34     EXTERNAL DIAGNOSTICS_IS_ON
35 jmc 1.2 _RL dummy(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
36 jmc 1.3 INTEGER i,j,k,bi,bj,iTr
37 jmc 1.2 CHARACTER*8 diagName
38 jmc 1.1 INTEGER km1
39 jmc 1.2
40     diagName = ' '
41    
42 jmc 1.3 DO iTr = 1,PTRACERS_numInUse
43 jmc 1.2
44     diagName = ' '
45 jmc 1.3 WRITE(diagName,'(A4,A2)') 'TRAC',PTRACERS_ioLabel(iTr)
46     CALL DIAGNOSTICS_FILL( pTracer(1-Olx,1-Oly,1,1,1,iTr), diagName,
47 jmc 1.1 & 0,Nr,0,1,1,myThid )
48 jmc 1.2
49     diagName = ' '
50 jmc 1.3 WRITE(diagName,'(A5,A2)') 'UTRAC',PTRACERS_ioLabel(iTr)
51 jmc 1.2 IF ( DIAGNOSTICS_IS_ON(diagName,myThid) ) THEN
52 jmc 1.1 DO bj = myByLo(myThid), myByHi(myThid)
53     DO bi = myBxLo(myThid), myBxHi(myThid)
54 jmc 1.2 DO k=1,Nr
55 jmc 1.1 DO j = 1,sNy
56 jmc 1.2 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 jmc 1.3 & 0.5 _d 0*( pTracer(i,j,k,bi,bj,iTr)
60     & + pTracer(i-1,j,k,bi,bj,iTr) )
61 jmc 1.1 ENDDO
62     ENDDO
63     ENDDO
64     ENDDO
65     ENDDO
66 jmc 1.2 CALL DIAGNOSTICS_FILL( dummy, diagName, 0,Nr,0,1,1,myThid )
67 jmc 1.1 ENDIF
68 jmc 1.2
69     diagName = ' '
70 jmc 1.3 WRITE(diagName,'(A5,A2)') 'VTRAC',PTRACERS_ioLabel(iTr)
71 jmc 1.2 IF ( DIAGNOSTICS_IS_ON(diagName,myThid) ) THEN
72 jmc 1.1 DO bj = myByLo(myThid), myByHi(myThid)
73     DO bi = myBxLo(myThid), myBxHi(myThid)
74 jmc 1.2 DO k=1,Nr
75     DO j = 1,sNy+1
76 jmc 1.1 DO i = 1,sNx
77 jmc 1.2 dummy(i,j,k,bi,bj) =
78     & vVel(i,j,k,bi,bj)*hFacS(i,j,k,bi,bj) *
79 jmc 1.3 & 0.5 _d 0*( pTracer(i,j,k,bi,bj,iTr)
80     & + pTracer(i,j-1,k,bi,bj,iTr) )
81 jmc 1.1 ENDDO
82     ENDDO
83     ENDDO
84     ENDDO
85     ENDDO
86 jmc 1.2 CALL DIAGNOSTICS_FILL( dummy, diagName, 0,Nr,0,1,1,myThid )
87 jmc 1.1 ENDIF
88 jmc 1.2
89     diagName = ' '
90 jmc 1.3 WRITE(diagName,'(A5,A2)') 'WTRAC',PTRACERS_ioLabel(iTr)
91 jmc 1.2 IF ( DIAGNOSTICS_IS_ON(diagName,myThid) ) THEN
92 jmc 1.1 DO bj = myByLo(myThid), myByHi(myThid)
93     DO bi = myBxLo(myThid), myBxHi(myThid)
94 jmc 1.2 DO k=1,Nr
95     km1 = MAX(k-1,1)
96 jmc 1.1 DO j = 1,sNy
97     DO i = 1,sNx
98 jmc 1.2 dummy(i,j,k,bi,bj) = wVel(i,j,k,bi,bj) *
99 jmc 1.3 & 0.5 _d 0*( pTracer(i,j,k,bi,bj,iTr)
100     & + pTracer(i,j,km1,bi,bj,iTr) )
101 jmc 1.1 ENDDO
102     ENDDO
103     ENDDO
104     ENDDO
105     ENDDO
106 jmc 1.2 CALL DIAGNOSTICS_FILL( dummy, diagName, 0,Nr,0,1,1,myThid )
107 jmc 1.1 ENDIF
108 jmc 1.2
109 jmc 1.1 ENDDO
110    
111     #endif /* ALLOW_DIAGNOSTICS */
112    
113 jmc 1.2 RETURN
114 jmc 1.1 END
115    
116     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|

  ViewVC Help
Powered by ViewVC 1.1.22