/[MITgcm]/MITgcm/model/src/taueddy_external_forcing.F
ViewVC logotype

Diff of /MITgcm/model/src/taueddy_external_forcing.F

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

revision 1.2 by jmc, Sun Feb 26 19:44:49 2006 UTC revision 1.3 by gforget, Fri May 30 02:45:43 2008 UTC
# Line 1  Line 1 
1  C $Header$  C $Header$
2  C $Name$  C $Name$
3    
4    #include "PACKAGES_CONFIG.h"
5  #include "CPP_OPTIONS.h"  #include "CPP_OPTIONS.h"
6    
7  CBOP  CBOP
# Line 28  C     == Global data == Line 29  C     == Global data ==
29  #include "GRID.h"  #include "GRID.h"
30  #include "DYNVARS.h"  #include "DYNVARS.h"
31  #include "FFIELDS.h"  #include "FFIELDS.h"
32    #ifdef ALLOW_GMREDI
33    #include "GMREDI.h"
34    #endif
35    
36  C     !INPUT/OUTPUT PARAMETERS:  C     !INPUT/OUTPUT PARAMETERS:
37  C     == Routine arguments ==  C     == Routine arguments ==
# Line 41  C     kLev Line 45  C     kLev
45        INTEGER myThid        INTEGER myThid
46  CEOP  CEOP
47    
48  #ifdef ALLOW_TAU_EDDY  #ifdef ALLOW_EDDYPSI
49  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
50  C     == Local variables ==  C     == Local variables ==
51  C     Loop counters  C     Loop counters
# Line 59  C     number of surface interface layer Line 63  C     number of surface interface layer
63        ENDIF        ENDIF
64    
65  C     Add zonal eddy momentum impulse into the layer  C     Add zonal eddy momentum impulse into the layer
66    #ifdef ALLOW_GMREDI
67          if ( GM_InMomAsStress ) then
68    #endif
69        Kp1=min(klev+1,Nr)        Kp1=min(klev+1,Nr)
70        maskp1=1.        maskp1=1.
71        maskm1=1.        maskm1=1.
# Line 68  C     Add zonal eddy momentum impulse in Line 75  C     Add zonal eddy momentum impulse in
75         DO i=iMin,iMax         DO i=iMin,iMax
76          gU(i,j,kLev,bi,bj) = gU(i,j,kLev,bi,bj)          gU(i,j,kLev,bi,bj) = gU(i,j,kLev,bi,bj)
77       &  +foFacMom*       &  +foFacMom*
78       &  (maskm1*_maskW(i,j,klev,bi,bj)*eddyTauX(i,j,klev,bi,bj)  #ifdef ALLOW_GMREDI
79       &  -maskp1*_maskW(i,j,kp1,bi,bj)*eddyTauX(i,j,kp1,bi,bj))       &  (maskm1*_maskW(i,j,klev,bi,bj)*GM_PsiX(i,j,klev,bi,bj)
80         &  -maskp1*_maskW(i,j,kp1,bi,bj)*GM_PsiX(i,j,kp1,bi,bj))
81    #else
82         &  (maskm1*_maskW(i,j,klev,bi,bj)*eddyPsiX(i,j,klev,bi,bj)
83         &  -maskp1*_maskW(i,j,kp1,bi,bj)*eddyPsiX(i,j,kp1,bi,bj))
84    #endif
85       &  *recip_drF(klev)*_recip_hFacW(i,j,klev,bi,bj)       &  *recip_drF(klev)*_recip_hFacW(i,j,klev,bi,bj)
86         &  *0.5*(_fCori(i,j,bi,bj)+_fCori(i-1,j,bi,bj))
87         ENDDO         ENDDO
88        ENDDO        ENDDO
89    #ifdef ALLOW_GMREDI
90          endif
91    #endif
92    
93  #endif  #endif
94    
95        RETURN        RETURN
# Line 102  C     == Global data == Line 119  C     == Global data ==
119  #include "GRID.h"  #include "GRID.h"
120  #include "DYNVARS.h"  #include "DYNVARS.h"
121  #include "FFIELDS.h"  #include "FFIELDS.h"
122    #ifdef ALLOW_GMREDI
123    #include "GMREDI.h"
124    #endif
125    
126  C     !INPUT/OUTPUT PARAMETERS:  C     !INPUT/OUTPUT PARAMETERS:
127  C     == Routine arguments ==  C     == Routine arguments ==
# Line 115  C     kLev Line 135  C     kLev
135        INTEGER myThid        INTEGER myThid
136  CEOP  CEOP
137    
138  #ifdef ALLOW_TAU_EDDY  #ifdef ALLOW_EDDYPSI
139  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
140  C     == Local variables ==  C     == Local variables ==
141  C     Loop counters  C     Loop counters
# Line 133  C     number of surface interface layer Line 153  C     number of surface interface layer
153        ENDIF        ENDIF
154    
155  C     Add meridional eddy momentum impulse into the layer  C     Add meridional eddy momentum impulse into the layer
156    #ifdef ALLOW_GMREDI
157          if ( GM_InMomAsStress ) then
158    #endif
159        Kp1=min(klev+1,Nr)        Kp1=min(klev+1,Nr)
160        maskp1=1.        maskp1=1.
161        maskm1=1.        maskm1=1.
# Line 142  C     Add meridional eddy momentum impul Line 165  C     Add meridional eddy momentum impul
165         DO i=iMin,iMax         DO i=iMin,iMax
166          gV(i,j,kLev,bi,bj) = gV(i,j,kLev,bi,bj)          gV(i,j,kLev,bi,bj) = gV(i,j,kLev,bi,bj)
167       &  +foFacMom*       &  +foFacMom*
168       &  (maskm1*_maskS(i,j,klev,bi,bj)*eddyTauY(i,j,klev,bi,bj)  #ifdef ALLOW_GMREDI
169       &  -maskp1*_maskS(i,j,kp1,bi,bj)*eddyTauY(i,j,kp1,bi,bj))       &  (maskm1*_maskS(i,j,klev,bi,bj)*GM_PsiY(i,j,klev,bi,bj)
170         &  -maskp1*_maskS(i,j,kp1,bi,bj)*GM_PsiY(i,j,kp1,bi,bj))
171    #else
172         &  (maskm1*_maskS(i,j,klev,bi,bj)*eddyPsiY(i,j,klev,bi,bj)
173         &  -maskp1*_maskS(i,j,kp1,bi,bj)*eddyPsiY(i,j,kp1,bi,bj))
174    #endif
175       &  *recip_drF(klev)*_recip_hFacS(i,j,klev,bi,bj)       &  *recip_drF(klev)*_recip_hFacS(i,j,klev,bi,bj)
176         &  *0.5*(_fCori(i,j,bi,bj)+_fCori(i,j-1,bi,bj))
177         ENDDO         ENDDO
178        ENDDO        ENDDO
179    #ifdef ALLOW_GMREDI
180          if ( GM_InMomAsStress ) then
181    #endif
182    
183  #endif  #endif
184    
185        RETURN        RETURN

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

  ViewVC Help
Powered by ViewVC 1.1.22