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

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

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

revision 1.15 by adcroft, Mon Mar 25 16:17:31 2002 UTC revision 1.39 by heimbach, Wed Jun 28 21:24:54 2006 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
8  C     !ROUTINE: EXTERNAL_FORCING_U  C     !ROUTINE: EXTERNAL_FORCING_U
9  C     !INTERFACE:  C     !INTERFACE:
10        SUBROUTINE EXTERNAL_FORCING_U(        SUBROUTINE EXTERNAL_FORCING_U(
11       I           iMin, iMax, jMin, jMax,bi,bj,kLev,       I           iMin,iMax, jMin,jMax, bi,bj, kLev,
12       I           myCurrentTime,myThid)       I           myTime, myThid )
13  C     !DESCRIPTION: \bv  C     !DESCRIPTION: \bv
14  C     *==========================================================*  C     *==========================================================*
15  C     | S/R EXTERNAL_FORCING_U                                      C     | S/R EXTERNAL_FORCING_U
16  C     | o Contains problem specific forcing for zonal velocity.    C     | o Contains problem specific forcing for zonal velocity.
17  C     *==========================================================*  C     *==========================================================*
18  C     | Adds terms to gU for forcing by external sources            C     | Adds terms to gU for forcing by external sources
19  C     | e.g. wind stress, bottom friction etc..................    C     | e.g. wind stress, bottom friction etc ...
20  C     *==========================================================*  C     *==========================================================*
21  C     \ev  C     \ev
22    
# Line 31  C     == Global data == Line 32  C     == Global data ==
32    
33  C     !INPUT/OUTPUT PARAMETERS:  C     !INPUT/OUTPUT PARAMETERS:
34  C     == Routine arguments ==  C     == Routine arguments ==
35  C     iMin - Working range of tile for applying forcing.  C     iMin,iMax :: Working range of x-index for applying forcing.
36  C     iMax  C     jMin,jMax :: Working range of y-index for applying forcing.
37  C     jMin  C     bi,bj     :: Current tile indices
38  C     jMax  C     kLev      :: Current vertical level index
39  C     kLev  C     myTime    :: Current time in simulation
40    C     myThid    :: Thread Id number
41        INTEGER iMin, iMax, jMin, jMax, kLev, bi, bj        INTEGER iMin, iMax, jMin, jMax, kLev, bi, bj
42        _RL myCurrentTime        _RL myTime
43        INTEGER myThid        INTEGER myThid
44    
45  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
46  C     == Local variables ==  C     == Local variables ==
47  C     Loop counters  C     i,j       :: Loop counters
48        INTEGER I, J  C     kSurface  :: index of surface layer
49          INTEGER i, j
50          INTEGER kSurface
51  CEOP  CEOP
52    
53          IF ( fluidIsAir ) THEN
54           kSurface = 0
55          ELSEIF ( usingPCoords ) THEN
56           kSurface = Nr
57          ELSE
58           kSurface = 1
59          ENDIF
60    
61  C--   Forcing term  C--   Forcing term
62    #ifdef ALLOW_AIM
63          IF ( useAIM ) CALL AIM_TENDENCY_APPLY_U(
64         &                      iMin,iMax, jMin,jMax, bi,bj, kLev,
65         &                      myTime, myThid )
66    #endif /* ALLOW_AIM */
67    
68    #ifdef ALLOW_FIZHI
69          IF ( useFIZHI ) CALL FIZHI_TENDENCY_APPLY_U(
70         &                      iMin,iMax, jMin,jMax, bi,bj, kLev,
71         &                      myTime, myThid )
72    #endif /* ALLOW_FIZHI */
73    
74    #ifdef ALLOW_MYPACKAGE
75          IF ( useMYPACKAGE ) CALL MYPACKAGE_TENDENCY_APPLY_U(
76         &                      iMin,iMax, jMin,jMax, bi,bj, kLev,
77         &                      myTime, myThid )
78    #endif /* ALLOW_MYPACKAGE */
79    
80  C     Add windstress momentum impulse into the top-layer  C     Add windstress momentum impulse into the top-layer
81        IF ( kLev .EQ. 1 ) THEN        IF ( kLev .EQ. kSurface ) THEN
82         DO j=jMin,jMax  c      DO j=1,sNy
83          DO i=iMin,iMax  C-jmc: Without CD-scheme, this is OK ; but with CD-scheme, needs to cover [0:sNy+1]
84           DO j=0,sNy+1
85            DO i=1,sNx+1
86           gU(i,j,kLev,bi,bj) = gU(i,j,kLev,bi,bj)           gU(i,j,kLev,bi,bj) = gU(i,j,kLev,bi,bj)
87       &   +foFacMom*surfaceTendencyU(i,j,bi,bj)       &   +foFacMom*surfaceForcingU(i,j,bi,bj)
88       &   *_maskW(i,j,kLev,bi,bj)       &   *recip_drF(kLev)*_recip_hFacW(i,j,kLev,bi,bj)
89          ENDDO          ENDDO
90         ENDDO         ENDDO
91        ENDIF        ENDIF
92    
93    #if (defined (ALLOW_TAU_EDDY))
94           CALL TAUEDDY_EXTERNAL_FORCING_U(
95         I           iMin,iMax, jMin,jMax, bi,bj, kLev,
96         I           myTime, myThid )
97    #endif
98    
99  #ifdef ALLOW_OBCS  #ifdef ALLOW_OBCS
100  C     IF (useOBCS) THEN        IF (useOBCS) THEN
101  C      CALL OBCS_SPONGE_U(         CALL OBCS_SPONGE_U(
102  C    I           iMin, iMax, jMin, jMax,bi,bj,kLev,       I           iMin,iMax, jMin,jMax, bi,bj, kLev,
103  C    I           myCurrentTime,myThid)       I           myTime, myThid )
104  C     ENDIF        ENDIF
105  #endif  #endif
106    
107        RETURN        RETURN
108        END        END
109    
110    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
111  CBOP  CBOP
112  C     !ROUTINE: EXTERNAL_FORCING_V  C     !ROUTINE: EXTERNAL_FORCING_V
113  C     !INTERFACE:  C     !INTERFACE:
114        SUBROUTINE EXTERNAL_FORCING_V(        SUBROUTINE EXTERNAL_FORCING_V(
115       I           iMin, iMax, jMin, jMax,bi,bj,kLev,       I           iMin,iMax, jMin,jMax, bi,bj, kLev,
116       I           myCurrentTime,myThid)       I           myTime, myThid )
117  C     !DESCRIPTION: \bv  C     !DESCRIPTION: \bv
118  C     *==========================================================*  C     *==========================================================*
119  C     | S/R EXTERNAL_FORCING_V                                      C     | S/R EXTERNAL_FORCING_V
120  C     | o Contains problem specific forcing for merid velocity.    C     | o Contains problem specific forcing for merid velocity.
121  C     *==========================================================*  C     *==========================================================*
122  C     | Adds terms to gV for forcing by external sources            C     | Adds terms to gV for forcing by external sources
123  C     | e.g. wind stress, bottom friction etc..................    C     | e.g. wind stress, bottom friction etc ...
124  C     *==========================================================*  C     *==========================================================*
125  C     \ev  C     \ev
126    
# Line 96  C     == Global data == Line 136  C     == Global data ==
136    
137  C     !INPUT/OUTPUT PARAMETERS:  C     !INPUT/OUTPUT PARAMETERS:
138  C     == Routine arguments ==  C     == Routine arguments ==
139  C     iMin - Working range of tile for applying forcing.  C     iMin,iMax :: Working range of x-index for applying forcing.
140  C     iMax  C     jMin,jMax :: Working range of y-index for applying forcing.
141  C     jMin  C     bi,bj     :: Current tile indices
142  C     jMax  C     kLev      :: Current vertical level index
143  C     kLev  C     myTime    :: Current time in simulation
144    C     myThid    :: Thread Id number
145        INTEGER iMin, iMax, jMin, jMax, kLev, bi, bj        INTEGER iMin, iMax, jMin, jMax, kLev, bi, bj
146        _RL myCurrentTime        _RL myTime
147        INTEGER myThid        INTEGER myThid
148    
149  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
150  C     == Local variables ==  C     == Local variables ==
151  C     Loop counters  C     i,j       :: Loop counters
152        INTEGER I, J  C     kSurface  :: index of surface layer
153          INTEGER i, j
154          INTEGER kSurface
155  CEOP  CEOP
156    
157          IF ( fluidIsAir ) THEN
158           kSurface = 0
159          ELSEIF ( usingPCoords ) THEN
160           kSurface = Nr
161          ELSE
162           kSurface = 1
163          ENDIF
164    
165  C--   Forcing term  C--   Forcing term
166    #ifdef ALLOW_AIM
167          IF ( useAIM ) CALL AIM_TENDENCY_APPLY_V(
168         &                      iMin,iMax, jMin,jMax, bi,bj, kLev,
169         &                      myTime, myThid )
170    #endif /* ALLOW_AIM */
171    
172    #ifdef ALLOW_FIZHI
173          IF ( useFIZHI ) CALL FIZHI_TENDENCY_APPLY_V(
174         &                      iMin,iMax, jMin,jMax, bi,bj, kLev,
175         &                      myTime, myThid )
176    #endif /* ALLOW_FIZHI */
177    
178    #ifdef ALLOW_MYPACKAGE
179          IF ( useMYPACKAGE ) CALL MYPACKAGE_TENDENCY_APPLY_V(
180         &                      iMin,iMax, jMin,jMax, bi,bj, kLev,
181         &                      myTime, myThid )
182    #endif /* ALLOW_MYPACKAGE */
183    
184  C     Add windstress momentum impulse into the top-layer  C     Add windstress momentum impulse into the top-layer
185        IF ( kLev .EQ. 1 ) THEN        IF ( kLev .EQ. kSurface ) THEN
186         DO j=jMin,jMax         DO j=1,sNy+1
187          DO i=iMin,iMax  c       DO i=1,sNx
188    C-jmc: Without CD-scheme, this is OK ; but with CD-scheme, needs to cover [0:sNx+1]
189            DO i=0,sNx+1
190           gV(i,j,kLev,bi,bj) = gV(i,j,kLev,bi,bj)           gV(i,j,kLev,bi,bj) = gV(i,j,kLev,bi,bj)
191       &   +foFacMom*surfaceTendencyV(i,j,bi,bj)       &   +foFacMom*surfaceForcingV(i,j,bi,bj)
192       &   *_maskS(i,j,kLev,bi,bj)       &   *recip_drF(kLev)*_recip_hFacS(i,j,kLev,bi,bj)
193          ENDDO          ENDDO
194         ENDDO         ENDDO
195        ENDIF        ENDIF
196    
197    #if (defined (ALLOW_TAU_EDDY))
198           CALL TAUEDDY_EXTERNAL_FORCING_V(
199         I           iMin,iMax, jMin,jMax, bi,bj, kLev,
200         I           myTime, myThid )
201    #endif
202    
203  #ifdef ALLOW_OBCS  #ifdef ALLOW_OBCS
204  C     IF (useOBCS) THEN        IF (useOBCS) THEN
205  C      CALL OBCS_SPONGE_V(         CALL OBCS_SPONGE_V(
206  C    I           iMin, iMax, jMin, jMax,bi,bj,kLev,       I           iMin,iMax, jMin,jMax, bi,bj, kLev,
207  C    I           myCurrentTime,myThid)       I           myTime, myThid )
208  C     ENDIF        ENDIF
209  #endif  #endif
210    
211        RETURN        RETURN
212        END        END
213    
214    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
215  CBOP  CBOP
216  C     !ROUTINE: EXTERNAL_FORCING_T  C     !ROUTINE: EXTERNAL_FORCING_T
217  C     !INTERFACE:  C     !INTERFACE:
218        SUBROUTINE EXTERNAL_FORCING_T(        SUBROUTINE EXTERNAL_FORCING_T(
219       I           iMin, iMax, jMin, jMax,bi,bj,kLev,       I           iMin,iMax, jMin,jMax, bi,bj, kLev,
220       I           myCurrentTime,myThid)       I           myTime, myThid )
221  C     !DESCRIPTION: \bv  C     !DESCRIPTION: \bv
222  C     *==========================================================*  C     *==========================================================*
223  C     | S/R EXTERNAL_FORCING_T                                      C     | S/R EXTERNAL_FORCING_T
224  C     | o Contains problem specific forcing for temperature.        C     | o Contains problem specific forcing for temperature.
225  C     *==========================================================*  C     *==========================================================*
226  C     | Adds terms to gT for forcing by external sources            C     | Adds terms to gT for forcing by external sources
227  C     | e.g. heat flux, climatalogical relaxation..............    C     | e.g. heat flux, climatalogical relaxation, etc ...
228  C     *==========================================================*  C     *==========================================================*
229  C     \ev  C     \ev
230    
# Line 158  C     == Global data == Line 237  C     == Global data ==
237  #include "GRID.h"  #include "GRID.h"
238  #include "DYNVARS.h"  #include "DYNVARS.h"
239  #include "FFIELDS.h"  #include "FFIELDS.h"
 #ifdef SHORTWAVE_HEATING  
       integer two  
       _RL minusone  
       parameter (two=2,minusone=-1.)  
       _RL swfracb(two)  
 #endif  
240    
241  C     !INPUT/OUTPUT PARAMETERS:  C     !INPUT/OUTPUT PARAMETERS:
242  C     == Routine arguments ==  C     == Routine arguments ==
243  C     iMin - Working range of tile for applying forcing.  C     iMin,iMax :: Working range of x-index for applying forcing.
244  C     iMax  C     jMin,jMax :: Working range of y-index for applying forcing.
245  C     jMin  C     bi,bj     :: Current tile indices
246  C     jMax  C     kLev      :: Current vertical level index
247  C     kLev  C     myTime    :: Current time in simulation
248    C     myThid    :: Thread Id number
249        INTEGER iMin, iMax, jMin, jMax, kLev, bi, bj        INTEGER iMin, iMax, jMin, jMax, kLev, bi, bj
250        _RL myCurrentTime        _RL myTime
251        INTEGER myThid        INTEGER myThid
 CEndOfInterface  
252    
253  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
254  C     == Local variables ==  C     == Local variables ==
255  C     Loop counters  C     i,j       :: Loop counters
256        INTEGER I, J  C     kSurface  :: index of surface layer
257          INTEGER i, j
258          INTEGER kSurface
259  CEOP  CEOP
260    #ifdef SHORTWAVE_HEATING
261          integer two
262          _RL minusone
263          parameter (two=2,minusone=-1.)
264          _RL swfracb(two)
265          INTEGER kp1
266    #endif
267    
268          IF ( fluidIsAir ) THEN
269           kSurface = 0
270          ELSEIF ( usingPCoords ) THEN
271           kSurface = Nr
272          ELSE
273           kSurface = 1
274          ENDIF
275    
276  C--   Forcing term  C--   Forcing term
277    #ifdef ALLOW_AIM
278          IF ( useAIM ) CALL AIM_TENDENCY_APPLY_T(
279         &                      iMin,iMax, jMin,jMax, bi,bj, kLev,
280         &                      myTime, myThid )
281    #endif /* ALLOW_AIM */
282    
283    #ifdef ALLOW_FIZHI
284          IF ( useFIZHI ) CALL FIZHI_TENDENCY_APPLY_T(
285         &                      iMin,iMax, jMin,jMax, bi,bj, kLev,
286         &                      myTime, myThid )
287    #endif /* ALLOW_FIZHI */
288    
289    #ifdef ALLOW_MYPACKAGE
290          IF ( useMYPACKAGE ) CALL MYPACKAGE_TENDENCY_APPLY_T(
291         &                      iMin,iMax, jMin,jMax, bi,bj, kLev,
292         &                      myTime, myThid )
293    #endif /* ALLOW_MYPACKAGE */
294    
295  C     Add heat in top-layer  C     Add heat in top-layer
296        IF ( kLev .EQ. 1 ) THEN        IF ( kLev .EQ. kSurface ) THEN
297         DO j=jMin,jMax         DO j=1,sNy
298          DO i=iMin,iMax          DO i=1,sNx
299           gT(i,j,kLev,bi,bj)=gT(i,j,kLev,bi,bj)           gT(i,j,kLev,bi,bj)=gT(i,j,kLev,bi,bj)
300       &     +maskC(i,j,kLev,bi,bj)*surfaceTendencyT(i,j,bi,bj)       &     +surfaceForcingT(i,j,bi,bj)
301         &     *recip_drF(kLev)*_recip_hFacC(i,j,kLev,bi,bj)
302          ENDDO          ENDDO
303         ENDDO         ENDDO
304        ENDIF        ENDIF
305    
306    #ifdef ALLOW_SHELFICE
307          IF ( useShelfIce )
308         &     CALL SHELFICE_FORCING_T(
309         I     iMin,iMax, jMin,jMax, bi,bj, kLev,
310         I     myTime, myThid )
311    #endif /* ALLOW_SHELFICE */
312    
313  #ifdef SHORTWAVE_HEATING  #ifdef SHORTWAVE_HEATING
314  C Penetrating SW radiation  C Penetrating SW radiation
315        swfracb(1)=abs(rF(klev))  c     IF ( usePenetratingSW ) THEN
316        swfracb(2)=abs(rF(klev+1))         swfracb(1)=abs(rF(klev))
317        call SWFRAC(         swfracb(2)=abs(rF(klev+1))
318           CALL SWFRAC(
319       I     two,minusone,       I     two,minusone,
320       I     myCurrentTime,myThid,       I     myTime,myThid,
321       O     swfracb)       U     swfracb)
322        DO j=jMin,jMax         kp1 = klev+1
323         DO i=iMin,iMax         IF (klev.EQ.Nr) THEN
324          gT(i,j,klev,bi,bj) = gT(i,j,klev,bi,bj)          kp1 = klev
325       &   -maskC(i,j,klev,bi,bj)*Qsw(i,j,bi,bj)*(swfracb(1)-swfracb(2))          swfracb(2)=0. _d 0
326       &    *recip_Cp*recip_rhoNil*recip_drF(klev)         ENDIF
327           DO j=1,sNy
328            DO i=1,sNx
329             gT(i,j,klev,bi,bj) = gT(i,j,klev,bi,bj)
330         &   -Qsw(i,j,bi,bj)*(swfracb(1)*maskC(i,j,klev,bi,bj)
331         &                   -swfracb(2)*maskC(i,j,kp1, bi,bj))
332         &    *recip_Cp*recip_rhoConst
333         &    *recip_drF(klev)*_recip_hFacC(i,j,kLev,bi,bj)
334            ENDDO
335         ENDDO         ENDDO
336        ENDDO  c     ENDIF
337    #endif
338    
339    #ifdef ALLOW_RBCS
340           if (useRBCS) then
341              call RBCS_ADD_TENDENCY(bi,bj,klev, 1,
342         &                            myTime, myThid )
343           endif
344  #endif  #endif
345    
346  #ifdef ALLOW_OBCS  #ifdef ALLOW_OBCS
347  C     IF (useOBCS) THEN        IF (useOBCS) THEN
348  C      CALL OBCS_SPONGE_T(         CALL OBCS_SPONGE_T(
349  C    I           iMin, iMax, jMin, jMax,bi,bj,kLev,       I           iMin,iMax, jMin,jMax, bi,bj, kLev,
350  C    I           myCurrentTime,myThid)       I           myTime, myThid )
351  C     ENDIF        ENDIF
352  #endif  #endif
353    
354        RETURN        RETURN
355        END        END
356    
357    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
358  CBOP  CBOP
359  C     !ROUTINE: EXTERNAL_FORCING_S  C     !ROUTINE: EXTERNAL_FORCING_S
360  C     !INTERFACE:  C     !INTERFACE:
361        SUBROUTINE EXTERNAL_FORCING_S(        SUBROUTINE EXTERNAL_FORCING_S(
362       I           iMin, iMax, jMin, jMax,bi,bj,kLev,       I           iMin,iMax, jMin,jMax, bi,bj, kLev,
363       I           myCurrentTime,myThid)       I           myTime, myThid )
364    
365  C     !DESCRIPTION: \bv  C     !DESCRIPTION: \bv
366  C     *==========================================================*  C     *==========================================================*
367  C     | S/R EXTERNAL_FORCING_S                                      C     | S/R EXTERNAL_FORCING_S
368  C     | o Contains problem specific forcing for merid velocity.    C     | o Contains problem specific forcing for merid velocity.
369  C     *==========================================================*  C     *==========================================================*
370  C     | Adds terms to gS for forcing by external sources            C     | Adds terms to gS for forcing by external sources
371  C     | e.g. fresh-water flux, climatalogical relaxation.......    C     | e.g. fresh-water flux, climatalogical relaxation, etc ...
372  C     *==========================================================*  C     *==========================================================*
373  C     \ev  C     \ev
374    
# Line 250  C     == Global data == Line 384  C     == Global data ==
384    
385  C     !INPUT/OUTPUT PARAMETERS:  C     !INPUT/OUTPUT PARAMETERS:
386  C     == Routine arguments ==  C     == Routine arguments ==
387  C     iMin - Working range of tile for applying forcing.  C     iMin,iMax :: Working range of x-index for applying forcing.
388  C     iMax  C     jMin,jMax :: Working range of y-index for applying forcing.
389  C     jMin  C     bi,bj     :: Current tile indices
390  C     jMax  C     kLev      :: Current vertical level index
391  C     kLev  C     myTime    :: Current time in simulation
392    C     myThid    :: Thread Id number
393        INTEGER iMin, iMax, jMin, jMax, kLev, bi, bj        INTEGER iMin, iMax, jMin, jMax, kLev, bi, bj
394        _RL myCurrentTime        _RL myTime
395        INTEGER myThid        INTEGER myThid
396    
397  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
398  C     == Local variables ==  C     == Local variables ==
399  C     Loop counters  C     i,j       :: Loop counters
400        INTEGER I, J  C     kSurface  :: index of surface layer
401          INTEGER i, j
402          INTEGER kSurface
403  CEOP  CEOP
404    
405          IF ( fluidIsAir ) THEN
406           kSurface = 0
407          ELSEIF ( usingPCoords ) THEN
408           kSurface = Nr
409          ELSE
410           kSurface = 1
411          ENDIF
412    
413  C--   Forcing term  C--   Forcing term
414    #ifdef ALLOW_AIM
415          IF ( useAIM ) CALL AIM_TENDENCY_APPLY_S(
416         &                      iMin,iMax, jMin,jMax, bi,bj, kLev,
417         &                      myTime, myThid )
418    #endif /* ALLOW_AIM */
419    
420    #ifdef ALLOW_FIZHI
421          IF ( useFIZHI ) CALL FIZHI_TENDENCY_APPLY_S(
422         &                      iMin,iMax, jMin,jMax, bi,bj, kLev,
423         &                      myTime, myThid )
424    #endif /* ALLOW_FIZHI */
425    
426    #ifdef ALLOW_MYPACKAGE
427          IF ( useMYPACKAGE ) CALL MYPACKAGE_TENDENCY_APPLY_S(
428         &                      iMin,iMax, jMin,jMax, bi,bj, kLev,
429         &                      myTime, myThid )
430    #endif /* ALLOW_MYPACKAGE */
431    
432  C     Add fresh-water in top-layer  C     Add fresh-water in top-layer
433        IF ( kLev .EQ. 1 ) THEN        IF ( kLev .EQ. kSurface ) THEN
434         DO j=jMin,jMax         DO j=1,sNy
435          DO i=iMin,iMax          DO i=1,sNx
436           gS(i,j,kLev,bi,bj)=gS(i,j,kLev,bi,bj)           gS(i,j,kLev,bi,bj)=gS(i,j,kLev,bi,bj)
437       &   +maskC(i,j,kLev,bi,bj)*surfaceTendencyS(i,j,bi,bj)       &     +surfaceForcingS(i,j,bi,bj)
438         &     *recip_drF(kLev)*_recip_hFacC(i,j,kLev,bi,bj)
439          ENDDO          ENDDO
440         ENDDO         ENDDO
441        ENDIF        ENDIF
442    
443    #ifdef ALLOW_SHELFICE
444          IF ( useShelfIce )
445         &     CALL SHELFICE_FORCING_S(
446         I     iMin,iMax, jMin,jMax, bi,bj, kLev,
447         I     myTime, myThid )
448    #endif /* ALLOW_SHELFICE */
449    
450    #ifdef ALLOW_RBCS
451           if (useRBCS) then
452              call RBCS_ADD_TENDENCY(bi,bj,klev, 2,
453         &                            myTime, myThid )
454           endif
455    #endif
456    
457  #ifdef ALLOW_OBCS  #ifdef ALLOW_OBCS
458  C     IF (useOBCS) THEN        IF (useOBCS) THEN
459  C      CALL OBCS_SPONGE_S(         CALL OBCS_SPONGE_S(
460  C    I           iMin, iMax, jMin, jMax,bi,bj,kLev,       I           iMin,iMax, jMin,jMax, bi,bj, kLev,
461  C    I           myCurrentTime,myThid)       I           myTime, myThid )
462  C     ENDIF        ENDIF
463  #endif  #endif
464    
465        RETURN        RETURN

Legend:
Removed from v.1.15  
changed lines
  Added in v.1.39

  ViewVC Help
Powered by ViewVC 1.1.22