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

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

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

revision 1.3 by edhill, Thu Oct 9 04:19:18 2003 UTC revision 1.4 by jmc, Tue Jun 29 22:21:43 2004 UTC
# Line 48  CEOP Line 48  CEOP
48    
49        DO bj=myByLo(myThid),myByHi(myThid)        DO bj=myByLo(myThid),myByHi(myThid)
50         DO bi=myBxLo(myThid),myBxHi(myThid)         DO bi=myBxLo(myThid),myBxHi(myThid)
 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  
   
 #ifdef NONLIN_FRSURF  
 c      IF (useRealFreshWaterFlux .AND. nonlinFreeSurf.GT.0) THEN  
        IF ( (nonlinFreeSurf.GT.0 .OR. buoyancyRelation.EQ.'OCEANICP')  
      &      .AND. useRealFreshWaterFlux ) THEN  
   
 C-- Called at the beginning of the time step :  
 C-  keep present time EmPmR to compute later (S/R EXTERNAL_FORCING_SURF)  
 C   tracers and momentum flux associated with fresh water input.  
   
         IF ( myTime.NE.startTime ) THEN  
          DO j=1-Oly,sNy+Oly  
           DO i=1-Olx,sNx+Olx  
             PmEpR(i,j,bi,bj) = -EmPmR(i,j,bi,bj)  
           ENDDO  
          ENDDO  
   
         ELSE  
           DO j=1-Oly,sNy+Oly  
            DO i=1-Olx,sNx+Olx  
             PmEpR(i,j,bi,bj) = 0. _d 0  
            ENDDO  
           ENDDO  
   
           IF( myTime .NE. 0. _d 0 .AND. nonlinFreeSurf.GE.0 ) THEN  
 C     needs previous time-step value of E-P-R, that has not been loaded  
 C     and was not in pickup-file ; try to use etaN & etaH instead.  
           DO j=1,sNy  
            DO i=1,sNx  
             PmEpR(i,j,bi,bj) =  
      &        hDivFlow(i,j,bi,bj)*recip_rA(i,j,bi,bj)  
      &      + (etaN(i,j,bi,bj)-etaH(i,j,bi,bj))  
      &       /(implicDiv2Dflow*deltaTfreesurf)  
             PmEpR(i,j,bi,bj) = PmEpR(i,j,bi,bj)/convertEmP2rUnit  
            ENDDO  
           ENDDO  
           ENDIF  
         ENDIF  
   
        ENDIF  
 #endif /* NONLIN_FRSURF */  
51    
52  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
53    
# Line 114  C     and was not in pickup-file ; try t Line 72  C     and was not in pickup-file ; try t
72           ENDDO           ENDDO
73          ENDDO          ENDDO
74    
        ELSEIF (useRealFreshWaterFlux) THEN  
         DO j=1,sNy  
          DO i=1,sNx  
            etaH(i,j,bi,bj) = etaN(i,j,bi,bj)  
      &      - (1. - implicDiv2Dflow)*( convertEmP2rUnit*EmPmR(i,j,bi,bj)  
      &                    +hDivFlow(i,j,bi,bj)*recip_rA(i,j,bi,bj)  
      &                               )*deltaTfreesurf  
          ENDDO  
         ENDDO  
   
75         ELSE         ELSE
76          DO j=1,sNy          DO j=1,sNy
77           DO i=1,sNx           DO i=1,sNx
78             etaH(i,j,bi,bj) = etaN(i,j,bi,bj)             etaH(i,j,bi,bj) = etaN(i,j,bi,bj)
79       &      - (1. - implicDiv2Dflow)*hDivFlow(i,j,bi,bj)       &      + (1. - implicDiv2Dflow)*dEtaHdt(i,j,bi,bj)
80       &                              *recip_rA(i,j,bi,bj)*deltaTfreesurf       &                              *deltaTfreesurf
81           ENDDO           ENDDO
82          ENDDO          ENDDO
83         ENDIF         ENDIF
# Line 157  C- end bi,bj loop. Line 105  C- end bi,bj loop.
105        IF (implicDiv2Dflow .NE. 1. _d 0 .OR. useOBCS )        IF (implicDiv2Dflow .NE. 1. _d 0 .OR. useOBCS )
106       &    _EXCH_XY_RL(etaH, myThid )       &    _EXCH_XY_RL(etaH, myThid )
107    
 #endif /* EXACT_CONSERV */  
108    
 #ifdef NONLIN_FRSURF  
109        IF ( buoyancyRelation.EQ.'OCEANICP'        IF ( buoyancyRelation.EQ.'OCEANICP'
110       &     .AND. useRealFreshWaterFlux       &     .AND. useRealFreshWaterFlux
111       &     .AND. myTime.EQ.startTime ) THEN       &     .AND. myTime.EQ.startTime ) THEN
112            _EXCH_XY_RS(PmEpR, myThid )            _EXCH_XY_RS(PmEpR, myThid )
113        ENDIF        ENDIF
114  #endif /* NONLIN_FRSURF */  #endif /* EXACT_CONSERV */
115    
116        RETURN        RETURN
117        END        END

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

  ViewVC Help
Powered by ViewVC 1.1.22