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

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

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

revision 1.5 by dfer, Thu Sep 17 16:57:13 2009 UTC revision 1.8 by gforget, Wed Feb 17 00:21:35 2010 UTC
# Line 22  C     !USES: Line 22  C     !USES:
22  #include "GRID.h"  #include "GRID.h"
23  #include "SURFACE.h"  #include "SURFACE.h"
24  #include "MOM_VISC.h"  #include "MOM_VISC.h"
25    #if defined (ALLOW_3D_VISCAH) || defined (ALLOW_3D_VISCA4)
26    #include "DYNVARS.h"
27    #endif
28    
29  C     !INPUT PARAMETERS:  C     !INPUT PARAMETERS:
30  C     myThid               :: thread number  C     myThid               :: thread number
# Line 29  C     myThid               :: thread num Line 32  C     myThid               :: thread num
32  CEOP  CEOP
33    
34  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
35    C     i,j,k,bi,bj  :: loop counter
36        INTEGER i,j,bi,bj        INTEGER i,j,bi,bj
37  #ifdef NONLIN_FRSURF  #ifdef NONLIN_FRSURF
38  C     i,j,k,bi,bj  :: loop counter        INTEGER k
       INTEGER i,j,k,bi,bj  
39  #endif  #endif
40    
41  #ifdef NONLIN_FRSURF  #ifdef NONLIN_FRSURF
# Line 53  C-    used for side-drag: Line 56  C-    used for side-drag:
56  #endif /* NONLIN_FRSURF */  #endif /* NONLIN_FRSURF */
57    
58         IF (deltaTmom.NE.0.) THEN         IF (deltaTmom.NE.0.) THEN
59          recip_dt=1. _d 0/deltaTmom          recip_dt = 1. _d 0/deltaTmom
60         ELSE         ELSE
61          recip_dt=0. _d 0          recip_dt = 0. _d 0
62         ENDIF         ENDIF
63    
64         DO bj=myByLo(myThid), myByHi(myThid)         DO bj=myByLo(myThid), myByHi(myThid)
65          DO bi=myBxLo(myThid), myBxHi(myThid)          DO bi=myBxLo(myThid), myBxHi(myThid)
66           DO j=1-Oly,sNy+Oly           DO j=1-Oly,sNy+Oly
67            DO i=1-Olx,sNx+Olx            DO i=1-Olx,sNx+Olx
68             IF (useAreaViscLength) THEN              L2_D(i,j,bi,bj) = rA(i,j,bi,bj)
69              L2_D(i,j,bi,bj)=rA(i,j,bi,bj)            ENDDO
70             ELSE           ENDDO
71              L2_D(i,j,bi,bj)=2. _d 0           IF ( .NOT.useAreaViscLength ) THEN
72       &           /((recip_DXF(i,j,bi,bj)**2+recip_DYF(i,j,bi,bj)**2))            DO j=1-Oly,sNy+Oly
73             ENDIF             DO i=1-Olx,sNx+Olx
74             L3_D(i,j,bi,bj)=L2_D(i,j,bi,bj)**1.5              IF ( recip_dxF(i,j,bi,bj).NE.0. .OR.
75             L4rdt_D(i,j,bi,bj)=0.03125 _d 0*recip_dt*L2_D(i,j,bi,bj)**2       &           recip_dyF(i,j,bi,bj).NE.0. ) THEN
76                  L2_D(i,j,bi,bj) = 2. _d 0
77         &           /((recip_dxF(i,j,bi,bj)**2+recip_dyF(i,j,bi,bj)**2))
78                ENDIF
79               ENDDO
80              ENDDO
81             ENDIF
82             DO j=1-Oly,sNy+Oly
83              DO i=1-Olx,sNx+Olx
84                L3_D(i,j,bi,bj) = L2_D(i,j,bi,bj)**1.5
85                L4rdt_D(i,j,bi,bj) = 0.03125 _d 0*recip_dt
86         &                       *L2_D(i,j,bi,bj)**2
87            ENDDO            ENDDO
88           ENDDO           ENDDO
89          ENDDO          ENDDO
# Line 79  C-    used for side-drag: Line 93  C-    used for side-drag:
93          DO bi=myBxLo(myThid), myBxHi(myThid)          DO bi=myBxLo(myThid), myBxHi(myThid)
94           DO j=1-Oly,sNy+Oly           DO j=1-Oly,sNy+Oly
95            DO i=1-Olx,sNx+Olx            DO i=1-Olx,sNx+Olx
96             IF (useAreaViscLength) THEN              L2_Z(i,j,bi,bj) = rAz(i,j,bi,bj)
97              L2_Z(i,j,bi,bj)=rAz(i,j,bi,bj)            ENDDO
98             ELSE           ENDDO
99              L2_Z(i,j,bi,bj)=2. _d 0           IF ( .NOT.useAreaViscLength ) THEN
100       &           /((recip_DXV(I,J,bi,bj)**2+recip_DYU(I,J,bi,bj)**2))            DO j=1-Oly,sNy+Oly
101             ENDIF             DO i=1-Olx,sNx+Olx
102             L3_Z(i,j,bi,bj)=L2_Z(i,j,bi,bj)**1.5              IF ( recip_dxV(i,j,bi,bj).NE.0. .OR.
103             L4rdt_Z(i,j,bi,bj)=0.03125 _d 0*recip_dt*L2_Z(i,j,bi,bj)**2       &           recip_dyU(i,j,bi,bj).NE.0. ) THEN
104                  L2_Z(i,j,bi,bj) = 2. _d 0
105         &           /((recip_dxV(i,j,bi,bj)**2+recip_dyU(i,j,bi,bj)**2))
106                ENDIF
107               ENDDO
108              ENDDO
109             ENDIF
110             DO j=1-Oly,sNy+Oly
111              DO i=1-Olx,sNx+Olx
112                L3_Z(i,j,bi,bj) = L2_Z(i,j,bi,bj)**1.5
113                L4rdt_Z(i,j,bi,bj) = 0.03125 _d 0*recip_dt
114         &                       *L2_Z(i,j,bi,bj)**2
115            ENDDO            ENDDO
116           ENDDO           ENDDO
117          ENDDO          ENDDO
118         ENDDO         ENDDO
119    
120    #ifdef ALLOW_3D_VISCAH
121           IF ( viscAhDfile .NE. ' ' ) THEN
122              CALL READ_FLD_XYZ_RL(viscAhDfile,' ',viscAhDfld,0,myThid)
123              CALL EXCH_3D_RL( viscAhDfld, Nr, myThid )
124           ENDIF
125           IF ( viscAhZfile .NE. ' ' ) THEN
126              CALL READ_FLD_XYZ_RL(viscAhZfile,' ',viscAhZfld,0,myThid)
127              CALL EXCH_Z_3D_RL( viscAhZfld, Nr, myThid )
128           ENDIF
129    #endif
130    #ifdef ALLOW_3D_VISCA4
131           IF ( viscA4Dfile .NE. ' ' ) THEN
132              CALL READ_FLD_XYZ_RL(viscA4Dfile,' ',viscA4Dfld,0,myThid)
133              CALL EXCH_3D_RL( viscA4Dfld, Nr, myThid )
134           ENDIF
135           IF ( viscA4Zfile .NE. ' ' ) THEN
136              CALL READ_FLD_XYZ_RL(viscA4Zfile,' ',viscA4Zfld,0,myThid)
137              CALL EXCH_Z_3D_RL( viscA4Zfld, Nr, myThid )
138           ENDIF
139    #endif
140    
141  #ifdef ALLOW_DIAGNOSTICS  #ifdef ALLOW_DIAGNOSTICS
142        IF ( useDiagnostics ) THEN        IF ( useDiagnostics ) THEN
143          CALL MOM_DIAGNOSTICS_INIT( myThid )          CALL MOM_DIAGNOSTICS_INIT( myThid )

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.8

  ViewVC Help
Powered by ViewVC 1.1.22