/[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.5 - (hide annotations) (download)
Thu Sep 17 16:57:13 2009 UTC (14 years, 8 months ago) by dfer
Branch: MAIN
Changes since 1.4: +42 -1 lines
Move computation of length scales to mom_init_fixed.F (avoid recomputation
at each time-steps*levels).

1 dfer 1.5 C $Header: /u/gcmpack/MITgcm/pkg/mom_common/mom_init_fixed.F,v 1.4 2007/07/31 23:01:58 ce107 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     C myThid :: thread number
28     INTEGER myThid
29     CEOP
30    
31 jmc 1.2 C !LOCAL VARIABLES:
32 dfer 1.5 INTEGER i,j,bi,bj
33 jmc 1.2 #ifdef NONLIN_FRSURF
34     C i,j,k,bi,bj :: loop counter
35     INTEGER i,j,k,bi,bj
36     #endif
37    
38     #ifdef NONLIN_FRSURF
39     C- used for side-drag:
40     DO bj=myByLo(myThid), myByHi(myThid)
41     DO bi=myBxLo(myThid), myBxHi(myThid)
42     DO k=1,Nr
43     DO j=1-Oly,sNy+Oly
44     DO i=1-Olx,sNx+Olx
45 heimbach 1.3 h0FacC(i,j,k,bi,bj) = _hFacC(i,j,k,bi,bj)
46     h0FacW(i,j,k,bi,bj) = _hFacW(i,j,k,bi,bj)
47     h0FacS(i,j,k,bi,bj) = _hFacS(i,j,k,bi,bj)
48 jmc 1.2 ENDDO
49     ENDDO
50     ENDDO
51     ENDDO
52     ENDDO
53     #endif /* NONLIN_FRSURF */
54    
55 dfer 1.5 IF (deltaTmom.NE.0.) THEN
56     recip_dt=1. _d 0/deltaTmom
57     ELSE
58     recip_dt=0. _d 0
59     ENDIF
60    
61     DO bj=myByLo(myThid), myByHi(myThid)
62     DO bi=myBxLo(myThid), myBxHi(myThid)
63     DO j=1-Oly,sNy+Oly
64     DO i=1-Olx,sNx+Olx
65     IF (useAreaViscLength) THEN
66     L2_D(i,j,bi,bj)=rA(i,j,bi,bj)
67     ELSE
68     L2_D(i,j,bi,bj)=2. _d 0
69     & /((recip_DXF(i,j,bi,bj)**2+recip_DYF(i,j,bi,bj)**2))
70     ENDIF
71     L3_D(i,j,bi,bj)=L2_D(i,j,bi,bj)**1.5
72     L4rdt_D(i,j,bi,bj)=0.03125 _d 0*recip_dt*L2_D(i,j,bi,bj)**2
73     ENDDO
74     ENDDO
75     ENDDO
76     ENDDO
77    
78     DO bj=myByLo(myThid), myByHi(myThid)
79     DO bi=myBxLo(myThid), myBxHi(myThid)
80     DO j=1-Oly,sNy+Oly
81     DO i=1-Olx,sNx+Olx
82     IF (useAreaViscLength) THEN
83     L2_Z(i,j,bi,bj)=rAz(i,j,bi,bj)
84     ELSE
85     L2_Z(i,j,bi,bj)=2. _d 0
86     & /((recip_DXV(I,J,bi,bj)**2+recip_DYU(I,J,bi,bj)**2))
87     ENDIF
88     L3_Z(i,j,bi,bj)=L2_Z(i,j,bi,bj)**1.5
89     L4rdt_Z(i,j,bi,bj)=0.03125 _d 0*recip_dt*L2_Z(i,j,bi,bj)**2
90     ENDDO
91     ENDDO
92     ENDDO
93     ENDDO
94 jmc 1.2
95 jmc 1.1 #ifdef ALLOW_DIAGNOSTICS
96     IF ( useDiagnostics ) THEN
97     CALL MOM_DIAGNOSTICS_INIT( myThid )
98     ENDIF
99     #endif /* ALLOW_DIAGNOSTICS */
100    
101     RETURN
102     END

  ViewVC Help
Powered by ViewVC 1.1.22