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

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

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

revision 1.3 by heimbach, Fri Jul 13 13:47:50 2001 UTC revision 1.4 by adcroft, Wed Sep 26 19:05:21 2001 UTC
# Line 3  C $Name$ Line 3  C $Name$
3    
4  #include "CPP_OPTIONS.h"  #include "CPP_OPTIONS.h"
5    
6    CBOP
7    C !ROUTINE: MOM_U_BOTTOMDRAG
8    
9    C !INTERFACE: ==========================================================
10        SUBROUTINE MOM_U_BOTTOMDRAG(        SUBROUTINE MOM_U_BOTTOMDRAG(
11       I        bi,bj,k,       I        bi,bj,k,
12       I        uFld, KE, KappaRU,       I        uFld, KE, KappaRU,
13       O        uDragTerms,       O        uDragTerms,
14       I        myThid)       I        myThid)
       IMPLICIT NONE  
 C  
 C     Calculate bottom drag terms for U eqn  
 C       - is not vector invariant ...  
 C  
15    
16  C     == Global variables ==  C !DESCRIPTION:
17    C Calculates the drag due to friction and the no-slip condition at bottom:
18    C \begin{equation*}
19    C G^u_{drag} = - ( r_b + C_D |v| + \frac{2}{\Delta r_c} ) u
20    C \end{equation*}
21    
22    C !USES: ===============================================================
23          IMPLICIT NONE
24  #include "SIZE.h"  #include "SIZE.h"
25  #include "EEPARAMS.h"  #include "EEPARAMS.h"
26  #include "PARAMS.h"  #include "PARAMS.h"
27  #include "GRID.h"  #include "GRID.h"
28    
29  C     == Routine arguments ==  C !INPUT PARAMETERS: ===================================================
30    C  bi,bj                :: tile indices
31    C  k                    :: vertical level
32    C  uFld                 :: zonal flow
33    C  KE                   :: Kinetic energy
34    C  KappaRU              :: vertical viscosity
35    C  myThid               :: thread number
36        INTEGER bi,bj,k        INTEGER bi,bj,k
37        _RL uFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL uFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
38        _RL KE(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL KE(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
39        _RL KappaRU(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL KappaRU(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
       _RL uDragTerms(1-OLx:sNx+OLx,1-OLy:sNy+OLy)  
       _RL viscFac  
40        INTEGER myThid        INTEGER myThid
41    
42  C     == Local variables ==  C !OUTPUT PARAMETERS: ==================================================
43    C  uDragTerms           :: drag term
44          _RL uDragTerms(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
45    
46    C !LOCAL VARIABLES: ====================================================
47    C  i,j                  :: loop indices
48    C  Kp1                  :: =k+1 for k<Nr, =Nr for k>=Nr
49        INTEGER I,J,Kp1        INTEGER I,J,Kp1
50          _RL viscFac
51        _RL rdrckp1,maskDown        _RL rdrckp1,maskDown
52    CEOP
53    
54  C-  No-slip BCs impose a drag at bottom  C-  No-slip BCs impose a drag at bottom
55        Kp1=min(k+1,Nr)        Kp1=min(k+1,Nr)

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

  ViewVC Help
Powered by ViewVC 1.1.22