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

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

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


Revision 1.4 - (hide annotations) (download)
Mon Feb 5 03:16:23 2007 UTC (17 years, 3 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64a, checkpoint58w_post, checkpoint63p, checkpoint63q, checkpoint63r, checkpoint63s, checkpoint63l, checkpoint63m, checkpoint63n, checkpoint63o, checkpoint63h, checkpoint63i, checkpoint63j, checkpoint63k, checkpoint63d, checkpoint63e, checkpoint63f, checkpoint63g, checkpoint63a, checkpoint63b, checkpoint63c, checkpoint64, checkpoint60, checkpoint61, checkpoint62, checkpoint63, checkpoint58x_post, checkpoint59q, checkpoint59p, checkpoint59r, checkpoint59e, checkpoint59d, checkpoint59g, checkpoint59f, checkpoint59a, checkpoint59c, checkpoint59b, checkpoint59m, checkpoint59l, checkpoint59o, checkpoint59n, checkpoint59i, checkpoint59h, checkpoint59k, checkpoint59j, checkpoint59, checkpoint62c, checkpoint62b, checkpoint62a, checkpoint62g, checkpoint62f, checkpoint62e, checkpoint62d, checkpoint62k, checkpoint62j, checkpoint62i, checkpoint62h, checkpoint62o, checkpoint62n, checkpoint62m, checkpoint62l, checkpoint62s, checkpoint62r, checkpoint62q, checkpoint62p, checkpoint62w, checkpoint62v, checkpoint62u, checkpoint62t, checkpoint62z, checkpoint62y, checkpoint62x, checkpoint58y_post, checkpoint58v_post, checkpoint61f, checkpoint61g, checkpoint61d, checkpoint61e, checkpoint61b, checkpoint61c, checkpoint61a, checkpoint61n, checkpoint61o, checkpoint61l, checkpoint61m, checkpoint61j, checkpoint61k, checkpoint61h, checkpoint61i, checkpoint61v, checkpoint61w, checkpoint61t, checkpoint61u, checkpoint61r, checkpoint61s, checkpoint61p, checkpoint61q, checkpoint61z, checkpoint61x, checkpoint61y
Changes since 1.3: +8 -5 lines
fix range of indices (avoid Pb with uninitialized array).

1 jmc 1.4 C $Header: /u/gcmpack/MITgcm/pkg/mom_common/mom_quasihydrostatic.F,v 1.3 2006/12/05 05:27:38 jmc Exp $
2 jmc 1.1 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 jmc 1.2 C effectiveBuoy :: Density anomaly
45 jmc 1.1 _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 jmc 1.4 INTEGER iMin,iMax,jMin,jMax
51     PARAMETER( iMin = 0 , iMax = sNx+1 )
52     PARAMETER( jMin = 0 , jMax = sNy+1 )
53 jmc 1.1 INTEGER i,j
54     _RL scalingFactor
55     CEOP
56    
57     scalingFactor=rhoConst*gravitySign*recip_gravity
58     C- to reproduce old (wrong) results:
59     c scalingFactor=gravitySign*recip_gravity
60    
61 jmc 1.2 IF ( use3dCoriolis ) THEN
62 jmc 1.4 DO j=jMin,jMax
63     DO i=iMin,iMax
64 jmc 1.1 effectiveBuoy(i,j)=effectiveBuoy(i,j)
65     & +scalingFactor*
66     & fCoriCos(i,j,bi,bj)*
67 jmc 1.2 & ( angleCosC(i,j,bi,bj)*0.5 _d 0 *
68 jmc 1.1 & (uFld(i,j,k,bi,bj)+uFld(i+1,j,k,bi,bj))
69     & -angleSinC(i,j,bi,bj)*0.5 _d 0 *
70     & (vFld(i,j,k,bi,bj)+vFld(i,j+1,k,bi,bj))
71     & )
72 jmc 1.2 ENDDO
73 jmc 1.1 ENDDO
74 jmc 1.2 ENDIF
75 jmc 1.1
76 jmc 1.2 IF ( useNHMTerms ) THEN
77 jmc 1.4 DO j=jMin,jMax
78     DO i=iMin,iMax
79 jmc 1.1 effectiveBuoy(i,j)=effectiveBuoy(i,j)
80     & +scalingFactor*
81     & ( (uFld( i ,j,k,bi,bj)*uFld( i ,j,k,bi,bj)
82     & +uFld(i+1,j,k,bi,bj)*uFld(i+1,j,k,bi,bj))
83     & + (vFld(i, j ,k,bi,bj)*vFld(i, j ,k,bi,bj)
84     & +vFld(i,j+1,k,bi,bj)*vFld(i,j+1,k,bi,bj))
85 jmc 1.3 & )* 0.5 _d 0 * recip_rSphere*recip_deepFacC(k)
86 jmc 1.1 ENDDO
87     ENDDO
88     ENDIF
89    
90     RETURN
91     END

  ViewVC Help
Powered by ViewVC 1.1.22