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

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

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


Revision 1.10 - (hide annotations) (download)
Thu Mar 31 20:36:18 2011 UTC (13 years, 6 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64i, checkpoint64h, checkpoint64k, checkpoint64j, checkpoint64a, checkpoint64c, checkpoint64b, checkpoint64e, checkpoint64d, checkpoint64g, checkpoint64f, checkpoint63p, checkpoint63q, checkpoint63r, checkpoint63s, checkpoint63l, checkpoint63m, checkpoint63n, checkpoint63o, checkpoint63h, checkpoint63i, checkpoint63j, checkpoint63k, checkpoint63d, checkpoint63e, checkpoint63f, checkpoint63g, checkpoint63a, checkpoint63b, checkpoint63c, checkpoint64, checkpoint63, checkpoint62w, checkpoint62v, checkpoint62z, checkpoint62y, checkpoint62x
Changes since 1.9: +7 -29 lines
cleaning: remove copy of hFac into h0Fac

1 jmc 1.10 C $Header: /u/gcmpack/MITgcm/pkg/mom_common/mom_init_fixed.F,v 1.9 2010/02/17 23:39:37 gforget Exp $
2 ce107 1.4 C $Name: $
3 jmc 1.1
4     #include "MOM_COMMON_OPTIONS.h"
5    
6     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
7     CBOP
8     C !ROUTINE: MOM_INIT_FIXED
9    
10     C !INTERFACE:
11     SUBROUTINE MOM_INIT_FIXED( myThid )
12    
13     C !DESCRIPTION:
14 jmc 1.2 C Initialize fixed quantities
15 jmc 1.1 C for momentum (common to fluxform & vecinv) packages
16    
17     C !USES:
18     IMPLICIT NONE
19     #include "SIZE.h"
20     #include "EEPARAMS.h"
21     #include "PARAMS.h"
22 jmc 1.2 #include "GRID.h"
23     #include "SURFACE.h"
24 dfer 1.5 #include "MOM_VISC.h"
25 jmc 1.1
26     C !INPUT PARAMETERS:
27 jmc 1.10 C myThid :: my thread Id number
28 jmc 1.1 INTEGER myThid
29     CEOP
30    
31 jmc 1.2 C !LOCAL VARIABLES:
32 jmc 1.6 C i,j,k,bi,bj :: loop counter
33 dfer 1.5 INTEGER i,j,bi,bj
34 jmc 1.10 #if defined (ALLOW_3D_VISCAH) || defined (ALLOW_3D_VISCA4)
35 jmc 1.6 INTEGER k
36 jmc 1.2 #endif
37    
38 gforget 1.9 #if defined (ALLOW_3D_VISCAH) || defined (ALLOW_3D_VISCA4)
39     DO bj=myByLo(myThid), myByHi(myThid)
40     DO bi=myBxLo(myThid), myBxHi(myThid)
41     DO k=1,Nr
42     DO j=1-Oly,sNy+Oly
43     DO i=1-Olx,sNx+Olx
44     #ifdef ALLOW_3D_VISCAH
45     viscAhDfld(i,j,k,bi,bj) = 0. _d 0
46     viscAhZfld(i,j,k,bi,bj) = 0. _d 0
47     #endif
48 jmc 1.10 #ifdef ALLOW_3D_VISCA4
49 gforget 1.9 viscA4Dfld(i,j,k,bi,bj) = 0. _d 0
50     viscA4Zfld(i,j,k,bi,bj) = 0. _d 0
51 jmc 1.10 #endif
52 gforget 1.9 ENDDO
53     ENDDO
54     ENDDO
55     ENDDO
56     ENDDO
57     #endif /* ALLOW_3D_VISCAH */
58    
59 dfer 1.5 IF (deltaTmom.NE.0.) THEN
60 jmc 1.7 recip_dt = 1. _d 0/deltaTmom
61 dfer 1.5 ELSE
62 jmc 1.7 recip_dt = 0. _d 0
63 dfer 1.5 ENDIF
64    
65     DO bj=myByLo(myThid), myByHi(myThid)
66     DO bi=myBxLo(myThid), myBxHi(myThid)
67     DO j=1-Oly,sNy+Oly
68     DO i=1-Olx,sNx+Olx
69 jmc 1.7 L2_D(i,j,bi,bj) = rA(i,j,bi,bj)
70     ENDDO
71     ENDDO
72     IF ( .NOT.useAreaViscLength ) THEN
73     DO j=1-Oly,sNy+Oly
74     DO i=1-Olx,sNx+Olx
75     IF ( recip_dxF(i,j,bi,bj).NE.0. .OR.
76     & recip_dyF(i,j,bi,bj).NE.0. ) THEN
77     L2_D(i,j,bi,bj) = 2. _d 0
78     & /((recip_dxF(i,j,bi,bj)**2+recip_dyF(i,j,bi,bj)**2))
79     ENDIF
80     ENDDO
81     ENDDO
82     ENDIF
83     DO j=1-Oly,sNy+Oly
84     DO i=1-Olx,sNx+Olx
85     L3_D(i,j,bi,bj) = L2_D(i,j,bi,bj)**1.5
86     L4rdt_D(i,j,bi,bj) = 0.03125 _d 0*recip_dt
87     & *L2_D(i,j,bi,bj)**2
88 dfer 1.5 ENDDO
89     ENDDO
90     ENDDO
91     ENDDO
92    
93     DO bj=myByLo(myThid), myByHi(myThid)
94     DO bi=myBxLo(myThid), myBxHi(myThid)
95     DO j=1-Oly,sNy+Oly
96     DO i=1-Olx,sNx+Olx
97 jmc 1.7 L2_Z(i,j,bi,bj) = rAz(i,j,bi,bj)
98     ENDDO
99     ENDDO
100     IF ( .NOT.useAreaViscLength ) THEN
101     DO j=1-Oly,sNy+Oly
102     DO i=1-Olx,sNx+Olx
103     IF ( recip_dxV(i,j,bi,bj).NE.0. .OR.
104     & recip_dyU(i,j,bi,bj).NE.0. ) THEN
105     L2_Z(i,j,bi,bj) = 2. _d 0
106     & /((recip_dxV(i,j,bi,bj)**2+recip_dyU(i,j,bi,bj)**2))
107     ENDIF
108     ENDDO
109     ENDDO
110     ENDIF
111     DO j=1-Oly,sNy+Oly
112     DO i=1-Olx,sNx+Olx
113     L3_Z(i,j,bi,bj) = L2_Z(i,j,bi,bj)**1.5
114     L4rdt_Z(i,j,bi,bj) = 0.03125 _d 0*recip_dt
115     & *L2_Z(i,j,bi,bj)**2
116 dfer 1.5 ENDDO
117     ENDDO
118     ENDDO
119     ENDDO
120 jmc 1.2
121 gforget 1.8 #ifdef ALLOW_3D_VISCAH
122     IF ( viscAhDfile .NE. ' ' ) THEN
123     CALL READ_FLD_XYZ_RL(viscAhDfile,' ',viscAhDfld,0,myThid)
124     CALL EXCH_3D_RL( viscAhDfld, Nr, myThid )
125     ENDIF
126     IF ( viscAhZfile .NE. ' ' ) THEN
127     CALL READ_FLD_XYZ_RL(viscAhZfile,' ',viscAhZfld,0,myThid)
128     CALL EXCH_Z_3D_RL( viscAhZfld, Nr, myThid )
129     ENDIF
130 jmc 1.10 #endif /* ALLOW_3D_VISCAH */
131 gforget 1.8 #ifdef ALLOW_3D_VISCA4
132     IF ( viscA4Dfile .NE. ' ' ) THEN
133     CALL READ_FLD_XYZ_RL(viscA4Dfile,' ',viscA4Dfld,0,myThid)
134     CALL EXCH_3D_RL( viscA4Dfld, Nr, myThid )
135     ENDIF
136     IF ( viscA4Zfile .NE. ' ' ) THEN
137     CALL READ_FLD_XYZ_RL(viscA4Zfile,' ',viscA4Zfld,0,myThid)
138     CALL EXCH_Z_3D_RL( viscA4Zfld, Nr, myThid )
139     ENDIF
140 jmc 1.10 #endif /* ALLOW_3D_VISCA4 */
141 gforget 1.8
142 jmc 1.1 #ifdef ALLOW_DIAGNOSTICS
143     IF ( useDiagnostics ) THEN
144     CALL MOM_DIAGNOSTICS_INIT( myThid )
145     ENDIF
146     #endif /* ALLOW_DIAGNOSTICS */
147    
148     RETURN
149     END

  ViewVC Help
Powered by ViewVC 1.1.22