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

Contents of /MITgcm/pkg/mom_common/mom_quasihydrostatic.F

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


Revision 1.3 - (show annotations) (download)
Tue Dec 5 05:27:38 2006 UTC (17 years, 5 months ago) by jmc
Branch: MAIN
CVS Tags: mitgcm_mapl_00, checkpoint58u_post, checkpoint58t_post, checkpoint58s_post
Changes since 1.2: +2 -2 lines
start to implement deep-atmosphere and/or anelastic formulation

1 C $Header: /u/gcmpack/MITgcm/pkg/mom_common/mom_quasihydrostatic.F,v 1.2 2006/07/13 03:02:48 jmc Exp $
2 C $Name: $
3
4 #include "MOM_COMMON_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: MOM_QUASIHYDROSTATIC
8
9 C !INTERFACE: ==========================================================
10 SUBROUTINE MOM_QUASIHYDROSTATIC(
11 I bi,bj,k,
12 I uFld, vFld,
13 O effectiveBuoy,
14 I myThid )
15
16 C !DESCRIPTION:
17 C *==========================================================*
18 C | o SUBROUTINE MOM_QUASIHYDROSTATIC
19 C | Add Quasi-Hydrostatic Terms to buoyancy
20 C *==========================================================*
21
22 C !USES: ===============================================================
23 IMPLICIT NONE
24
25 C-- == Global data ==
26 #include "SIZE.h"
27 #include "EEPARAMS.h"
28 #include "PARAMS.h"
29 #include "GRID.h"
30
31 C-- == Routine arguments ==
32 C !INPUT VARIABLES: ====================================================
33 C bi,bj :: tile indices
34 C k :: vertical level
35 C uFld :: zonal flow
36 C vFld :: meridional flow
37 C myThid :: my Thread Id number
38 INTEGER bi,bj,k
39 _RL uFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
40 _RL vFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
41 INTEGER myThid
42
43 C !OUTPUT/MODIFIED VARIABLES: ==========================================
44 C effectiveBuoy :: Density anomaly
45 _RL effectiveBuoy(1-Olx:sNx+Olx,1-Oly:sNy+Oly)
46
47 C !LOCAL VARIABLES: ====================================================
48 C i,j :: loop indices
49 C scalingFactor :: scaling factor (from acceleration to density)
50 INTEGER i,j
51 _RL scalingFactor
52 CEOP
53
54 scalingFactor=rhoConst*gravitySign*recip_gravity
55 C- to reproduce old (wrong) results:
56 c scalingFactor=gravitySign*recip_gravity
57
58 IF ( use3dCoriolis ) THEN
59 DO j=1-Oly,sNy+Oly-1
60 DO i=1-Olx,sNx+Olx-1
61 effectiveBuoy(i,j)=effectiveBuoy(i,j)
62 & +scalingFactor*
63 & fCoriCos(i,j,bi,bj)*
64 & ( angleCosC(i,j,bi,bj)*0.5 _d 0 *
65 & (uFld(i,j,k,bi,bj)+uFld(i+1,j,k,bi,bj))
66 & -angleSinC(i,j,bi,bj)*0.5 _d 0 *
67 & (vFld(i,j,k,bi,bj)+vFld(i,j+1,k,bi,bj))
68 & )
69 ENDDO
70 ENDDO
71 ENDIF
72
73 IF ( useNHMTerms ) THEN
74 DO j=1-Oly,sNy+Oly-1
75 DO i=1-Olx,sNx+Olx-1
76 effectiveBuoy(i,j)=effectiveBuoy(i,j)
77 & +scalingFactor*
78 & ( (uFld( i ,j,k,bi,bj)*uFld( i ,j,k,bi,bj)
79 & +uFld(i+1,j,k,bi,bj)*uFld(i+1,j,k,bi,bj))
80 & + (vFld(i, j ,k,bi,bj)*vFld(i, j ,k,bi,bj)
81 & +vFld(i,j+1,k,bi,bj)*vFld(i,j+1,k,bi,bj))
82 & )* 0.5 _d 0 * recip_rSphere*recip_deepFacC(k)
83 ENDDO
84 ENDDO
85 ENDIF
86
87 RETURN
88 END

  ViewVC Help
Powered by ViewVC 1.1.22