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

Contents of /MITgcm/pkg/mom_fluxform/mom_v_coriolis.F

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


Revision 1.5 - (show annotations) (download)
Mon Nov 26 16:13:27 2001 UTC (22 years, 6 months ago) by adcroft
Branch: MAIN
Changes since 1.4: +2 -2 lines
Bug fix for energy conserving form.

1 C $Header: /u/gcmpack/models/MITgcmUV/pkg/mom_fluxform/mom_v_coriolis.F,v 1.4 2001/09/28 03:25:15 adcroft Exp $
2 C $Name: $
3
4 #include "CPP_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: MOM_V_CORIOLIS
8
9 C !INTERFACE: ==========================================================
10 SUBROUTINE MOM_V_CORIOLIS(
11 I bi,bj,k,uFld,
12 U vCoriolisTerm,
13 I myThid)
14
15 C !DESCRIPTION:
16 C Calculates the horizontal Coriolis term in the meridional equation:
17 C \begin{equation*}
18 C -\overline{f}^j \overline{u}^{ij}
19 C \end{equation*}
20
21 C !USES: ===============================================================
22 IMPLICIT NONE
23 #include "SIZE.h"
24 #include "DYNVARS.h"
25 #include "EEPARAMS.h"
26 #include "PARAMS.h"
27 #include "GRID.h"
28 #include "SURFACE.h"
29
30 C !INPUT PARAMETERS: ===================================================
31 C bi,bj :: tile indices
32 C k :: vertical level
33 C uFld :: zonal flow
34 C myThid :: thread number
35 INTEGER bi,bj,K
36 _RL uFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
37 INTEGER myThid
38
39 C !OUTPUT PARAMETERS: ==================================================
40 C vCoriolisTerm :: Coriolis term
41 _RL vCoriolisTerm(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
42
43 C !LOCAL VARIABLES: ====================================================
44 C i,j :: loop indices
45 INTEGER I,J
46 CEOP
47
48 IF (useEnergyConservingCoriolis) THEN
49 C Energy conserving discretization
50 DO j=1-Oly+1,sNy+Oly
51 DO i=1-Olx,sNx+Olx-1
52 vCoriolisTerm(i,j) =
53 & -0.5*( _fCori(i, j ,bi,bj)
54 & *0.5*( uFld( i , j )+uFld(i+1, j ) )
55 & + _fCori(i,j-1,bi,bj)
56 & *0.5*( uFld( i ,j-1)+uFld(i+1,j-1) ) )
57 ENDDO
58 ENDDO
59 ELSE
60 C Original discretization
61 DO j=1-Oly+1,sNy+Oly
62 DO i=1-Olx,sNx+Olx-1
63 vCoriolisTerm(i,j) =
64 & -0.5*(_fCori(i, j ,bi,bj)+_fCori(i,j-1,bi,bj))
65 & *0.25*( uFld(i, j )+uFld(i+1, j )
66 & +uFld(i,j-1)+uFld(i+1,j-1)
67 & )
68 ENDDO
69 ENDDO
70 ENDIF
71
72 RETURN
73 END

  ViewVC Help
Powered by ViewVC 1.1.22