/[MITgcm]/MITgcm/pkg/mom_common/mom_v_coriolis_nh.F
ViewVC logotype

Annotation of /MITgcm/pkg/mom_common/mom_v_coriolis_nh.F

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


Revision 1.1 - (hide annotations) (download)
Thu Mar 30 19:44:19 2006 UTC (18 years, 2 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint58l_post, checkpoint58e_post, mitgcm_mapl_00, checkpoint58u_post, checkpoint58r_post, checkpoint58n_post, checkpoint58t_post, checkpoint58h_post, checkpoint58q_post, checkpoint58j_post, checkpoint58f_post, checkpoint58d_post, checkpoint58i_post, checkpoint58g_post, checkpoint58o_post, checkpoint58k_post, checkpoint58v_post, checkpoint58s_post, checkpoint58p_post, checkpoint58m_post
moved from pkg/mom_fluxform to pkg/mom_common (to add 3.D Coriolis to
 mom_vecinv) ; deal with general orientation of the grid X-axis.

1 jmc 1.1 C $Header: $
2     C $Name: $
3    
4     #include "MOM_COMMON_OPTIONS.h"
5    
6     CBOP
7     C !ROUTINE: MOM_V_CORIOLIS_NH
8    
9     C !INTERFACE: ==========================================================
10     SUBROUTINE MOM_V_CORIOLIS_NH(
11     I bi,bj,k,wFld,
12     O vCoriolisTerm,
13     I myThid )
14    
15     C !DESCRIPTION:
16     C Calculates the 3.D Coriolis term in the meridional momentum equation:
17     C \begin{equation*}
18     C - \overline{ f' \overline{w}^{k} }^{i}
19     C \end{equation*}
20     C consistent with Non-Hydrostatic (or quasi-hydrostatic) formulation
21    
22     C !USES: ===============================================================
23     IMPLICIT NONE
24     #include "SIZE.h"
25     #include "EEPARAMS.h"
26     #include "PARAMS.h"
27     #include "GRID.h"
28    
29     C !INPUT PARAMETERS: ===================================================
30     C bi,bj :: tile indices
31     C k :: vertical level
32     C wFld :: vertical flow
33     C myThid :: thread number
34     INTEGER bi,bj,K
35     _RL wFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
36     INTEGER myThid
37    
38     C !OUTPUT PARAMETERS: ==================================================
39     C vCoriolisTerm :: Coriolis term
40     _RL vCoriolisTerm(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
41    
42     C !LOCAL VARIABLES: ====================================================
43     C i,j :: loop indices
44     INTEGER i,j,kp1
45     _RL wMsk
46     CEOP
47    
48    
49     kp1=min(k+1,Nr)
50     wMsk=1.
51     IF (k.EQ.Nr) wMsk=0.
52    
53     C Energy conserving discretization of 2*Omega*cos(phi)*w
54     DO j=2-Oly,sNy+Oly
55     DO i=1-Olx,sNx+Olx
56     vCoriolisTerm(i,j) =
57     & -0.5*( fCoriCos( i ,j,bi,bj)*angleSinC(i, j ,bi,bj)
58     & *0.5*( wFld( i ,j,k,bi,bj)+wFld( i ,j,kp1,bi,bj)*wMsk )
59     & + fCoriCos(i,j-1,bi,bj)*angleSinC(i,j-1,bi,bj)
60     & *0.5*( wFld(i,j-1,k,bi,bj)+wFld(i,j-1,kp1,bi,bj)*wMsk ) )
61     & *gravitySign*recip_horiVertRatio
62     ENDDO
63     ENDDO
64    
65     RETURN
66     END

  ViewVC Help
Powered by ViewVC 1.1.22