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

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

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

revision 1.3 by adcroft, Fri Mar 24 18:31:31 2000 UTC revision 1.9 by cnh, Wed Sep 26 18:09:14 2001 UTC
# Line 1  Line 1 
1    C $Header$
2    C     !DESCRIPTION: \bv
3    C $Name$
4  #include "CPP_OPTIONS.h"  #include "CPP_OPTIONS.h"
5    
6    CBOP
7    C     !ROUTINE: CALC_GW
8    C     !INTERFACE:
9        SUBROUTINE CALC_GW(            SUBROUTINE CALC_GW(    
10       I        myThid)       I        myThid)
11  C     /==========================================================\  C     !DESCRIPTION: \bv
12  C     | S/R CALC_GW                                              |  C     *==========================================================*
13  C     \==========================================================/  C     | S/R CALC_GW                                              
14        IMPLICIT NONE  C     | o Calculate vert. velocity tendency terms ( NH, QH only )
15    C     *==========================================================*
16    C     | In NH and QH, the vertical momentum tendency must be
17    C     | calculated explicitly and included as a source term
18    C     | for a 3d pressure eqn. Calculate that term here.
19    C     | This routine is not used in HYD calculations.
20    C     *==========================================================*
21    C     \ev
22    
23    C     !USES:
24          IMPLICIT NONE
25  C     == Global variables ==  C     == Global variables ==
26  #include "SIZE.h"  #include "SIZE.h"
27  #include "DYNVARS.h"  #include "DYNVARS.h"
# Line 14  C     == Global variables == Line 29  C     == Global variables ==
29  #include "EEPARAMS.h"  #include "EEPARAMS.h"
30  #include "PARAMS.h"  #include "PARAMS.h"
31  #include "GRID.h"  #include "GRID.h"
 #include "CG2D.h"  
32  #include "GW.h"  #include "GW.h"
33  #include "CG3D.h"  #include "CG3D.h"
34    
35    C     !INPUT/OUTPUT PARAMETERS:
36  C     == Routine arguments ==  C     == Routine arguments ==
37  C     myThid - Instance number for this innvocation of CALC_GW  C     myThid - Instance number for this innvocation of CALC_GW
38        INTEGER myThid        INTEGER myThid
39    
40  #ifdef ALLOW_NONHYDROSTATIC  #ifdef ALLOW_NONHYDROSTATIC
41    
42    C     !LOCAL VARIABLES:
43  C     == Local variables ==  C     == Local variables ==
44    C     bi, bj,      :: Loop counters
45    C     iMin, iMax,
46    C     jMin, jMax
47    C     flx_NS       :: Temp. used for fVol meridional terms.
48    C     flx_EW       :: Temp. used for fVol zonal terms.
49    C     flx_Up       :: Temp. used for fVol vertical terms.
50    C     flx_Dn       :: Temp. used for fVol vertical terms.
51        INTEGER bi,bj,iMin,iMax,jMin,jMax        INTEGER bi,bj,iMin,iMax,jMin,jMax
       _RL      aF (1-OLx:sNx+OLx,1-OLy:sNy+OLy)  
       _RL      vF (1-OLx:sNx+OLx,1-OLy:sNy+OLy)  
       _RL      v4F(1-OLx:sNx+OLx,1-OLy:sNy+OLy)  
       _RL      cF (1-OLx:sNx+OLx,1-OLy:sNy+OLy)  
       _RL      mT (1-OLx:sNx+OLx,1-OLy:sNy+OLy)  
       _RL      pF (1-OLx:sNx+OLx,1-OLy:sNy+OLy)  
       _RL    fZon (1-OLx:sNx+OLx,1-OLy:sNy+OLy)  
       _RL    fMer (1-OLx:sNx+OLx,1-OLy:sNy+OLy)  
   
52        _RL    flx_NS(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)        _RL    flx_NS(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
53        _RL    flx_EW(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)        _RL    flx_EW(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
54        _RL    flx_Dn(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)        _RL    flx_Dn(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
55        _RL    flx_Up(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)        _RL    flx_Up(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
56  C     I,J,K - Loop counters  C     I,J,K - Loop counters
57        INTEGER i,j,k, kP1        INTEGER i,j,k, kP1, kUp
58        _RL  wOverride        _RL  wOverride
59        _RS  hFacROpen        _RS  hFacROpen
60        _RS  hFacRClosed        _RS  hFacRClosed
# Line 54  C     I,J,K - Loop counters Line 68  C     I,J,K - Loop counters
68  #define In sNx  #define In sNx
69  #define J0 1  #define J0 1
70  #define Jn sNy  #define Jn sNy
71    CEOP
72    
73  C     Adams-Bashforth timestepping weights  C     Adams-Bashforth timestepping weights
74        ab15=1.5+abeps        ab15=1.5+abeps
# Line 64  C     Adams-Bashforth timestepping weigh Line 79  C     Adams-Bashforth timestepping weigh
79          DO K=1,Nr          DO K=1,Nr
80           DO j=1-OLy,sNy+OLy           DO j=1-OLy,sNy+OLy
81            DO i=1-OLx,sNx+OLx            DO i=1-OLx,sNx+OLx
82               gWNM1(i,j,k,bi,bj) = gW(i,j,k,bi,bj)
83             gW(i,j,k,bi,bj) = 0.             gW(i,j,k,bi,bj) = 0.
84            ENDDO            ENDDO
85           ENDDO           ENDDO
# Line 165  caja           and an hFacUS (above V po Line 181  caja           and an hFacUS (above V po
181          ENDDO          ENDDO
182         ENDDO         ENDDO
183        ENDDO        ENDDO
184        DO bj=myByLo(myThid),myByHi(myThid)  
185         DO bi=myBxLo(myThid),myBxHi(myThid)  #ifdef ALLOW_OBCS
186          DO K=1,Nr        IF (useOBCS) THEN
187           DO j=J0,Jn  C--   This call is aesthetic: it makes the W field
188            DO i=I0,In  C     consistent with the OBs but this has no algorithmic
189             gWNM1(i,j,k,bi,bj) = gW(i,j,k,bi,bj)  C     impact. This is purely for diagnostic purposes.
190            ENDDO         DO bj=myByLo(myThid),myByHi(myThid)
191            DO bi=myBxLo(myThid),myBxHi(myThid)
192             DO K=1,Nr
193              CALL OBCS_APPLY_W( bi, bj, K, wVel, myThid )
194           ENDDO           ENDDO
195          ENDDO          ENDDO
196         ENDDO         ENDDO
197        ENDDO        ENDIF
198    #endif /* ALLOW_OBCS */
199    
200  #endif /* ALLOW_NONHYDROSTATIC */  #endif /* ALLOW_NONHYDROSTATIC */
201    

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

  ViewVC Help
Powered by ViewVC 1.1.22