/[MITgcm]/MITgcm/pkg/diagnostics/diagnostics_fill_state.F
ViewVC logotype

Diff of /MITgcm/pkg/diagnostics/diagnostics_fill_state.F

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

revision 1.37 by jmc, Tue Apr 22 22:01:01 2008 UTC revision 1.40 by jmc, Tue Jul 19 21:41:27 2011 UTC
# Line 44  C     == Local variables == Line 44  C     == Local variables ==
44        EXTERNAL DIAGNOSTICS_IS_ON        EXTERNAL DIAGNOSTICS_IS_ON
45        _RL tmpMk(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)        _RL tmpMk(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
46        _RL tmp1k(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)        _RL tmp1k(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
47          _RL tmpU (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
48          _RL tmpV (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
49        _RL tmpFac, uBarC, vBarC        _RL tmpFac, uBarC, vBarC
50  #ifdef ALLOW_FIZHI  #ifdef ALLOW_FIZHI
51        _RL dummy1, dummy2, dummy3, dummy4, kappa, getcon        _RL dummy1, dummy2, dummy3, dummy4, kappa, getcon
# Line 97  C--   fill momentum state-var diagnostic Line 99  C--   fill momentum state-var diagnostic
99    
100  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
101    
102          IF ( DIAGNOSTICS_IS_ON('UV_VEL_C',myThid) ) THEN          IF ( DIAGNOSTICS_IS_ON('UE_VEL_C',myThid) .OR.
103         &       DIAGNOSTICS_IS_ON('VN_VEL_C',myThid) .OR.
104         &       DIAGNOSTICS_IS_ON('UV_VEL_C',myThid) ) THEN
105           DO bj = myByLo(myThid), myByHi(myThid)           DO bj = myByLo(myThid), myByHi(myThid)
106            DO bi = myBxLo(myThid), myBxHi(myThid)            DO bi = myBxLo(myThid), myBxHi(myThid)
107             DO K=1,Nr             DO K=1,Nr
# Line 107  C---+----1----+----2----+----3----+----4 Line 111  C---+----1----+----2----+----3----+----4
111       &           *(uVel(i,j,K,bi,bj)+uVel(i+1,j,K,bi,bj))       &           *(uVel(i,j,K,bi,bj)+uVel(i+1,j,K,bi,bj))
112                vBarC = 0.5 _d 0                vBarC = 0.5 _d 0
113       &           *(vVel(i,j,K,bi,bj)+vVel(i,j+1,K,bi,bj))       &           *(vVel(i,j,K,bi,bj)+vVel(i,j+1,K,bi,bj))
114                tmpMk(i,j,K,bi,bj) =                tmpU(i,j) = angleCosC(i,j,bi,bj)*uBarC
115       &            ( angleCosC(i,j,bi,bj)*uBarC       &                   -angleSinC(i,j,bi,bj)*vBarC
116       &             -angleSinC(i,j,bi,bj)*vBarC )                tmpV(i,j) = angleSinC(i,j,bi,bj)*uBarC
117       &           *( angleSinC(i,j,bi,bj)*uBarC       &                   +angleCosC(i,j,bi,bj)*vBarC
118       &             +angleCosC(i,j,bi,bj)*vBarC )                tmpMk(i,j,K,bi,bj) = tmpU(i,j)*tmpV(i,j)
119               ENDDO               ENDDO
120              ENDDO              ENDDO
121                CALL DIAGNOSTICS_FILL(tmpU,'UE_VEL_C',k,1,2,bi,bj,myThid)
122                CALL DIAGNOSTICS_FILL(tmpV,'VN_VEL_C',k,1,2,bi,bj,myThid)
123             ENDDO             ENDDO
124            ENDDO            ENDDO
125           ENDDO           ENDDO
# Line 321  C---+----1----+----2----+----3----+----4 Line 327  C---+----1----+----2----+----3----+----4
327              DO j = 1,sNy              DO j = 1,sNy
328               DO i = 1,sNx               DO i = 1,sNx
329                tmpMk(i,j,k,bi,bj) = tmp1k(i,j,bi,bj)                tmpMk(i,j,k,bi,bj) = tmp1k(i,j,bi,bj)
330       &               + (rF(k)-rC(k))*hFacC(i,j,k,bi,bj)       &             + (rF(k+1)-rC(k))*hFacC(i,j,k,bi,bj)*rkSign
331  C         above: more general (setInterFDr/setCenterDr) than line below  C         above: more general (setInterFDr/setCenterDr) than line below
332  c    &                      + drF(k)*hFacC(i,j,k,bi,bj)*0.5 _d 0  c    &                      + drF(k)*hFacC(i,j,k,bi,bj)*0.5 _d 0
333                tmp1k(i,j,bi,bj) =   tmp1k(i,j,bi,bj)                tmp1k(i,j,bi,bj) =   tmp1k(i,j,bi,bj)
# Line 628  C--   fill tracer state-var diagnostics: Line 634  C--   fill tracer state-var diagnostics:
634    
635        IF ( selectVars.EQ.4 ) THEN        IF ( selectVars.EQ.4 ) THEN
636  C Second fill sequence for state variable tendency diagnostics: add state variable  C Second fill sequence for state variable tendency diagnostics: add state variable
637  C NOTE: send a '-1' for the bibjflag and allow counter to be incremented  C NOTE: send a '-1' for the bibjflag and do not increment counter
638  C       this means that diag fill is called from inside the bi-bj loop  C     (next fill for these diagnostics WILL allow counter to be incremented)
639    
640          IF ( DIAGNOSTICS_IS_ON('TOTUTEND',myThid) ) THEN          IF ( DIAGNOSTICS_IS_ON('TOTUTEND',myThid) ) THEN
641           DO bj = myByLo(myThid), myByHi(myThid)           DO bj = myByLo(myThid), myByHi(myThid)

Legend:
Removed from v.1.37  
changed lines
  Added in v.1.40

  ViewVC Help
Powered by ViewVC 1.1.22