/[MITgcm]/MITgcm/model/src/diags_phi_rlow.F
ViewVC logotype

Diff of /MITgcm/model/src/diags_phi_rlow.F

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

revision 1.9 by jmc, Tue Jul 19 23:49:34 2011 UTC revision 1.10 by jmc, Mon Dec 31 22:06:40 2012 UTC
# Line 59  C     !LOCAL VARIABLES: Line 59  C     !LOCAL VARIABLES:
59  C     == Local variables ==  C     == Local variables ==
60  C     i,j :: Loop counters  C     i,j :: Loop counters
61        INTEGER i,j        INTEGER i,j
       _RL zero, one, half  
62        _RL ddRloc, ratioRm, ratioRp        _RL ddRloc, ratioRm, ratioRp
       PARAMETER ( zero= 0. _d 0 , one= 1. _d 0 , half= .5 _d 0 )  
63  #ifdef NONLIN_FRSURF  #ifdef NONLIN_FRSURF
64        _RL facP, dPhiRef        _RL facP, dPhiRef
65  #endif /* NONLIN_FRSURF */  #endif /* NONLIN_FRSURF */
# Line 75  C      with Del_h = distance from the bo Line 73  C      with Del_h = distance from the bo
73    
74  C--    Initialise to zero (otherwise phi0surf accumulate over land)  C--    Initialise to zero (otherwise phi0surf accumulate over land)
75         IF ( k.EQ.1 ) THEN         IF ( k.EQ.1 ) THEN
76           DO j=1-Oly,sNy+Oly           DO j=1-OLy,sNy+OLy
77            DO i=1-Olx,sNx+Olx            DO i=1-OLx,sNx+OLx
78              phiHydLow(i,j,bi,bj) = 0. _d 0              phiHydLow(i,j,bi,bj) = 0. _d 0
79            ENDDO            ENDDO
80           ENDDO           ENDDO
# Line 98  C  --  Finite Volume Form Line 96  C  --  Finite Volume Form
96         ELSE         ELSE
97  C  --  Finite Difference Form  C  --  Finite Difference Form
98    
99           ratioRm = one           ratioRm = oneRL
100           ratioRp = one           ratioRp = oneRL
101           IF (k.GT.1 ) ratioRm = half*drC(k)/(rF(k)-rC(k))           IF (k.GT.1 ) ratioRm = halfRL*drC(k)/(rF(k)-rC(k))
102           IF (k.LT.Nr) ratioRp = half*drC(k+1)/(rC(k)-rF(k+1))           IF (k.LT.Nr) ratioRp = halfRL*drC(k+1)/(rC(k)-rF(k+1))
103    
104           DO j=jMin,jMax           DO j=jMin,jMax
105            DO i=iMin,iMax            DO i=iMin,iMax
106             IF ( k .EQ. kLowC(i,j,bi,bj) ) THEN             IF ( k .EQ. kLowC(i,j,bi,bj) ) THEN
107               ddRloc = rC(k)-R_low(i,j,bi,bj)               ddRloc = rC(k)-R_low(i,j,bi,bj)
108               phiHydLow(i,j,bi,bj) = phiHydC(i,j)               phiHydLow(i,j,bi,bj) = phiHydC(i,j)
109       &                  +( MIN(zero,ddRloc)*ratioRm       &                  +( MIN(zeroRL,ddRloc)*ratioRm
110       &                    +MAX(zero,ddRloc)*ratioRp       &                    +MAX(zeroRL,ddRloc)*ratioRp
111       &                   )*gravity*alphRho(i,j)*recip_rhoConst       &                   )*gravity*alphRho(i,j)*recip_rhoConst
112             ENDIF             ENDIF
113            ENDDO            ENDDO
# Line 147  C-     Consistent with Phi'= Integr[ the Line 145  C-     Consistent with Phi'= Integr[ the
145       &                             - phi0surf(i,j,bi,bj)       &                             - phi0surf(i,j,bi,bj)
146             phiHydLow(i,j,bi,bj) =             phiHydLow(i,j,bi,bj) =
147       &              phiHydLow(i,j,bi,bj)*facP       &              phiHydLow(i,j,bi,bj)*facP
148       &            + MAX( dPhiRef, zero )*( facP - 1. _d 0 )       &            + MAX( dPhiRef, zeroRL )*( facP - 1. _d 0 )
149       &            + phi0surf(i,j,bi,bj)       &            + phi0surf(i,j,bi,bj)
150            ENDDO            ENDDO
151           ENDDO           ENDDO

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.10

  ViewVC Help
Powered by ViewVC 1.1.22