/[MITgcm]/MITgcm/pkg/mom_fluxform/mom_fluxform.F
ViewVC logotype

Diff of /MITgcm/pkg/mom_fluxform/mom_fluxform.F

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

revision 1.8 by jmc, Sun Jan 26 21:18:50 2003 UTC revision 1.9 by jmc, Sat Feb 8 02:13:02 2003 UTC
# Line 33  C !ROUTINE: MOM_FLUXFORM Line 33  C !ROUTINE: MOM_FLUXFORM
33  C !INTERFACE: ==========================================================  C !INTERFACE: ==========================================================
34        SUBROUTINE MOM_FLUXFORM(        SUBROUTINE MOM_FLUXFORM(
35       I        bi,bj,iMin,iMax,jMin,jMax,k,kUp,kDown,       I        bi,bj,iMin,iMax,jMin,jMax,k,kUp,kDown,
36       I        phi_hyd,KappaRU,KappaRV,       I        phi_hyd,dPhihydX,dPhiHydY,KappaRU,KappaRV,
37       U        fVerU, fVerV,       U        fVerU, fVerV,
38       I        myTime,myIter,myThid)       I        myTime,myIter,myThid)
39    
# Line 59  C  k                    :: vertical leve Line 59  C  k                    :: vertical leve
59  C  kUp                  :: =1 or 2 for consecutive k  C  kUp                  :: =1 or 2 for consecutive k
60  C  kDown                :: =2 or 1 for consecutive k  C  kDown                :: =2 or 1 for consecutive k
61  C  phi_hyd              :: hydrostatic pressure (perturbation)  C  phi_hyd              :: hydrostatic pressure (perturbation)
62    C  dPhiHydX,Y           :: Gradient (X & Y dir.) of Hydrostatic Potential
63  C  KappaRU              :: vertical viscosity  C  KappaRU              :: vertical viscosity
64  C  KappaRV              :: vertical viscosity  C  KappaRV              :: vertical viscosity
65  C  fVerU                :: vertical flux of U, 2 1/2 dim for pipe-lining  C  fVerU                :: vertical flux of U, 2 1/2 dim for pipe-lining
# Line 69  C  myThid               :: thread number Line 70  C  myThid               :: thread number
70        INTEGER bi,bj,iMin,iMax,jMin,jMax        INTEGER bi,bj,iMin,iMax,jMin,jMax
71        INTEGER k,kUp,kDown        INTEGER k,kUp,kDown
72        _RL phi_hyd(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL phi_hyd(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
73          _RL dPhiHydX(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
74          _RL dPhiHydY(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
75        _RL KappaRU(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL KappaRU(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
76        _RL KappaRV(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL KappaRV(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
77        _RL fVerU(1-OLx:sNx+OLx,1-OLy:sNy+OLy,2)        _RL fVerU(1-OLx:sNx+OLx,1-OLy:sNy+OLy,2)
# Line 348  C     Combine fluxes Line 351  C     Combine fluxes
351         ENDDO         ENDDO
352        ENDDO        ENDDO
353    
 C---  Hydrostatic term ( -1/rhoConst . dphi/dx )  
       IF (momPressureForcing) THEN  
        DO j=jMin,jMax  
         DO i=iMin,iMax  
          pf(i,j) = - _recip_dxC(i,j,bi,bj)  
      &    *(phi_hyd(i,j,k)-phi_hyd(i-1,j,k))  
         ENDDO  
        ENDDO  
       ENDIF  
   
354  C--   Tendency is minus divergence of the fluxes + coriolis + pressure term  C--   Tendency is minus divergence of the fluxes + coriolis + pressure term
355        DO j=jMin,jMax        DO j=jMin,jMax
356         DO i=iMin,iMax         DO i=iMin,iMax
# Line 373  C--   Tendency is minus divergence of th Line 366  C--   Tendency is minus divergence of th
366       &   +fMer(i,j+1)          - fMer(i  ,j)       &   +fMer(i,j+1)          - fMer(i  ,j)
367       &   +fVerU(i,j,kUp)*rkFac - fVerU(i,j,kDown)*rkFac       &   +fVerU(i,j,kUp)*rkFac - fVerU(i,j,kDown)*rkFac
368       &   )       &   )
369       & _PHM( +phxFac * pf(i,j) )       &  - phxFac*dPhiHydX(i,j)
370         ENDDO         ENDDO
371        ENDDO        ENDDO
372    
# Line 510  C     Combine fluxes -> fVerV Line 503  C     Combine fluxes -> fVerV
503         ENDDO         ENDDO
504        ENDDO        ENDDO
505    
 C---  Hydorstatic term (-1/rhoConst . dphi/dy )  
       IF (momPressureForcing) THEN  
        DO j=jMin,jMax  
         DO i=iMin,iMax  
          pF(i,j) = -_recip_dyC(i,j,bi,bj)  
      &    *(phi_hyd(i,j,k)-phi_hyd(i,j-1,k))  
         ENDDO  
        ENDDO  
       ENDIF  
   
506  C--   Tendency is minus divergence of the fluxes + coriolis + pressure term  C--   Tendency is minus divergence of the fluxes + coriolis + pressure term
507        DO j=jMin,jMax        DO j=jMin,jMax
508         DO i=iMin,iMax         DO i=iMin,iMax
# Line 535  C--   Tendency is minus divergence of th Line 518  C--   Tendency is minus divergence of th
518       &   +fMer(i,j  )          - fMer(i,j-1)       &   +fMer(i,j  )          - fMer(i,j-1)
519       &   +fVerV(i,j,kUp)*rkFac - fVerV(i,j,kDown)*rkFac       &   +fVerV(i,j,kUp)*rkFac - fVerV(i,j,kDown)*rkFac
520       &   )       &   )
521       & _PHM( +phyFac*pf(i,j) )       &  - phyFac*dPhiHydY(i,j)
522         ENDDO         ENDDO
523        ENDDO        ENDDO
524    
# Line 615  C--   Set dv/dt on boundaries to zero Line 598  C--   Set dv/dt on boundaries to zero
598  C--   Coriolis term  C--   Coriolis term
599  C     Note. As coded here, coriolis will not work with "thin walls"  C     Note. As coded here, coriolis will not work with "thin walls"
600  #ifdef INCLUDE_CD_CODE  #ifdef INCLUDE_CD_CODE
601        CALL MOM_CDSCHEME(bi,bj,k,phi_hyd,myThid)        CALL MOM_CDSCHEME(bi,bj,k,phi_hyd,dPhiHydX,dPhiHydY,myThid)
602  #else  #else
603        CALL MOM_U_CORIOLIS(bi,bj,k,vFld,cf,myThid)        CALL MOM_U_CORIOLIS(bi,bj,k,vFld,cf,myThid)
604        DO j=jMin,jMax        DO j=jMin,jMax

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

  ViewVC Help
Powered by ViewVC 1.1.22