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

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

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

revision 1.3 by jmc, Wed May 18 23:41:26 2011 UTC revision 1.4 by jmc, Thu Dec 15 22:45:16 2011 UTC
# Line 59  c     CHARACTER*10 sufx Line 59  c     CHARACTER*10 sufx
59  c     CHARACTER*(MAX_LEN_MBUF) msgBuf  c     CHARACTER*(MAX_LEN_MBUF) msgBuf
60        _RL     tmpFac, tmpSurf        _RL     tmpFac, tmpSurf
61        _RL     wFacKm, wFacKp        _RL     wFacKm, wFacKp
62        _RL     uf(1-Olx:sNx+Olx,1-Oly:sNy+Oly)        _RL     uf(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
63        _RL     vf(1-Olx:sNx+Olx,1-Oly:sNy+Oly)        _RL     vf(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
64  #ifdef NONLIN_FRSURF  #ifdef NONLIN_FRSURF
65        _RL     tmpVar(1-Olx:sNx+Olx,1-Oly:sNy+Oly)        _RL     tmpVar(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
66  #endif  #endif
67  CEOP  CEOP
68    
# Line 76  C     see CG3D.h for the interface to th Line 76  C     see CG3D.h for the interface to th
76  C--   Add EmPmR contribution to top level cg3d_b:  C--   Add EmPmR contribution to top level cg3d_b:
77  C      (has been done for cg2d_b ; and addMass was added by CALC_DIV_GHAT)  C      (has been done for cg2d_b ; and addMass was added by CALC_DIV_GHAT)
78          IF ( useRealFreshWaterFlux.AND.fluidIsWater ) THEN          IF ( useRealFreshWaterFlux.AND.fluidIsWater ) THEN
79            tmpFac = freeSurfFac*mass2rUnit            tmpFac = freeSurfFac*mass2rUnit*implicDiv2DFlow
           IF (exactConserv)  
      &     tmpFac = freeSurfFac*mass2rUnit*implicDiv2DFlow  
80            ks = 1            ks = 1
81            IF ( usingPCoords ) ks = Nr            IF ( usingPCoords ) ks = Nr
82            DO j=1,sNy            DO j=1,sNy
83             DO i=1,sNx             DO i=1,sNx
84              cg3d_b(i,j,ks,bi,bj) = cg3d_b(i,j,ks,bi,bj)              cg3d_b(i,j,ks,bi,bj) = cg3d_b(i,j,ks,bi,bj)
85       &        + tmpFac*_rA(i,j,bi,bj)*EmPmR(i,j,bi,bj)/deltaTMom       &        + tmpFac*_rA(i,j,bi,bj)*EmPmR(i,j,bi,bj)/deltaTMom
86         &                               *maskInC(i,j,bi,bj)
87             ENDDO             ENDDO
88            ENDDO            ENDDO
89          ENDIF          ENDIF
# Line 107  c    & Line 106  c    &
106                ELSE                ELSE
107                 tmpSurf = etaN(i,j,bi,bj)-etaH(i,j,bi,bj)                 tmpSurf = etaN(i,j,bi,bj)-etaH(i,j,bi,bj)
108                ENDIF                ENDIF
109                ks = ksurfC(i,j,bi,bj)                ks = kSurfC(i,j,bi,bj)
110                IF ( ks.LE.Nr ) THEN                IF ( ks.LE.Nr ) THEN
111                 cg3d_b(i,j,ks,bi,bj) = cg3d_b(i,j,ks,bi,bj)                 cg3d_b(i,j,ks,bi,bj) = cg3d_b(i,j,ks,bi,bj)
112       &                  +freeSurfFac*tmpSurf       &                  +freeSurfFac*tmpSurf
# Line 122  c    &                  +freeSurfFac*(et Line 121  c    &                  +freeSurfFac*(et
121             tmpFac = 0.             tmpFac = 0.
122             DO j=1,sNy             DO j=1,sNy
123              DO i=1,sNx              DO i=1,sNx
124                ks = ksurfC(i,j,bi,bj)                ks = kSurfC(i,j,bi,bj)
125                tmpVar(i,j) = freeSurfFac                tmpVar(i,j) = freeSurfFac
126       &                    *( etaN(i,j,bi,bj) - etaH(i,j,bi,bj) )       &                    *( etaN(i,j,bi,bj) - etaH(i,j,bi,bj) )
127       &                    *_rA(i,j,bi,bj)*deepFac2F(ks)       &                    *_rA(i,j,bi,bj)*deepFac2F(ks)
# Line 147  C-       Other than Z coordinate: no ass Line 146  C-       Other than Z coordinate: no ass
146             tmpFac = 0.             tmpFac = 0.
147             DO j=1,sNy             DO j=1,sNy
148              DO i=1,sNx              DO i=1,sNx
149                ks = ksurfC(i,j,bi,bj)                ks = kSurfC(i,j,bi,bj)
150                IF ( ks.LE.Nr ) THEN                IF ( ks.LE.Nr ) THEN
151                 cg3d_b(i,j,ks,bi,bj) = cg3d_b(i,j,ks,bi,bj)                 cg3d_b(i,j,ks,bi,bj) = cg3d_b(i,j,ks,bi,bj)
152       &              +freeSurfFac*etaN(i,j,bi,bj)/deltaTfreesurf       &              +freeSurfFac*etaN(i,j,bi,bj)/deltaTfreesurf

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

  ViewVC Help
Powered by ViewVC 1.1.22