/[MITgcm]/MITgcm/verification/internal_wave/code/obcs_calc.F
ViewVC logotype

Diff of /MITgcm/verification/internal_wave/code/obcs_calc.F

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

revision 1.6 by jahn, Tue Dec 15 17:03:29 2009 UTC revision 1.7 by jmc, Mon Feb 28 16:31:36 2011 UTC
# Line 4  C $Name$ Line 4  C $Name$
4  #include "OBCS_OPTIONS.h"  #include "OBCS_OPTIONS.h"
5    
6        SUBROUTINE OBCS_CALC( futureTime, futureIter,        SUBROUTINE OBCS_CALC( futureTime, futureIter,
7       &                      uVel, vVel, wVel, theta, salt,       &                      uVel, vVel, wVel, theta, salt,
8       &                      myThid )       &                      myThid )
9  C     /==========================================================\  C     *==========================================================*
10  C     | SUBROUTINE OBCS_CALC                                     |  C     | SUBROUTINE OBCS_CALC
11  C     | o Calculate future boundary data at open boundaries      |  C     | o Calculate future boundary data at open boundaries
12  C     |   at time = futureTime                                   |  C     |   at time = futureTime
13  C     |==========================================================|  C     *==========================================================*
 C     |                                                          |  
 C     \==========================================================/  
14        IMPLICIT NONE        IMPLICIT NONE
15    
16  C     === Global variables ===  C     === Global variables ===
17  #include "SIZE.h"  #include "SIZE.h"
18  #include "EEPARAMS.h"  #include "EEPARAMS.h"
19  #include "PARAMS.h"  #include "PARAMS.h"
20  #include "EOS.h"  #include "GRID.h"
21  #include "OBCS.h"  #include "OBCS.h"
22    #include "EOS.h"
23    
24  C     == Routine arguments ==  C     == Routine arguments ==
25        INTEGER futureIter        INTEGER futureIter
# Line 37  C     == Routine arguments == Line 36  C     == Routine arguments ==
36  C     == Local variables ==  C     == Local variables ==
37        INTEGER bi, bj        INTEGER bi, bj
38        INTEGER I, J ,K        INTEGER I, J ,K
   
 #include "GRID.h"  
39        _RL obTimeScale,Uinflow,rampTime2        _RL obTimeScale,Uinflow,rampTime2
40        _RL vertStructWst(Nr)        _RL vertStructWst(Nr)
41        _RL mz,strat,kx        _RL mz,strat,kx
42        _RL tmpsum        _RL tmpsum
43    
44    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
45    
46    #ifdef ALLOW_DEBUG
47          IF (debugMode) CALL DEBUG_ENTER('OBCS_CALC',myThid)
48    #endif
49    
50  C Vertical mode number  C Vertical mode number
51        mz=1.0 _d 0        mz=1.0 _d 0
52  C Stratification  C Stratification
# Line 77  C for smoother looking solutions. Line 80  C for smoother looking solutions.
80  C     Eastern OB  C     Eastern OB
81        IF (useOrlanskiEast) THEN        IF (useOrlanskiEast) THEN
82          CALL ORLANSKI_EAST(          CALL ORLANSKI_EAST(
83       &          bi, bj, futureTime,       &          bi, bj, futureTime,
84       &          uVel, vVel, wVel, theta, salt,       &          uVel, vVel, wVel, theta, salt,
85       &          myThid )       &          myThid )
86        ELSE        ELSE
87          DO K=1,Nr          DO K=1,Nr
# Line 97  C     Eastern OB Line 100  C     Eastern OB
100  C     Western OB  C     Western OB
101        IF (useOrlanskiWest) THEN        IF (useOrlanskiWest) THEN
102          CALL ORLANSKI_WEST(          CALL ORLANSKI_WEST(
103       &          bi, bj, futureTime,       &          bi, bj, futureTime,
104       &          uVel, vVel, wVel, theta, salt,       &          uVel, vVel, wVel, theta, salt,
105       &          myThid )       &          myThid )
106        ELSE        ELSE
107          DO K=1,Nr          DO K=1,Nr
# Line 150  c    &  + exp(-futureTime/rampTime2)) Line 153  c    &  + exp(-futureTime/rampTime2))
153  C         Northern OB, template for forcing  C         Northern OB, template for forcing
154        IF (useOrlanskiNorth) THEN        IF (useOrlanskiNorth) THEN
155          CALL ORLANSKI_NORTH(          CALL ORLANSKI_NORTH(
156       &          bi, bj, futureTime,       &          bi, bj, futureTime,
157       &          uVel, vVel, wVel, theta, salt,       &          uVel, vVel, wVel, theta, salt,
158       &          myThid )       &          myThid )
159        ELSE        ELSE
160          DO K=1,Nr          DO K=1,Nr
# Line 168  C         Northern OB, template for forc Line 171  C         Northern OB, template for forc
171        ENDIF        ENDIF
172    
173  C         Southern OB, template for forcing  C         Southern OB, template for forcing
174        IF (useOrlanskiSouth) THEN          IF (useOrlanskiSouth) THEN
175          CALL ORLANSKI_SOUTH(          CALL ORLANSKI_SOUTH(
176       &          bi, bj, futureTime,       &          bi, bj, futureTime,
177       &          uVel, vVel, wVel, theta, salt,       &          uVel, vVel, wVel, theta, salt,
178       &          myThid )       &          myThid )
179        ELSE        ELSE
180          DO K=1,Nr          DO K=1,Nr
# Line 188  C         Southern OB, template for forc Line 191  C         Southern OB, template for forc
191        ENDIF        ENDIF
192    
193  C--   end bi,bj loops.  C--   end bi,bj loops.
       ENDDO  
194        ENDDO        ENDDO
195          ENDDO
196    
197    #ifdef ALLOW_OBCS_BALANCE
198          IF ( useOBCSbalance ) THEN
199            CALL OBCS_BALANCE_FLOW( futureTime, futureIter, myThid )
200          ENDIF
201    #endif /* ALLOW_OBCS_BALANCE */
202    
203    #ifdef ALLOW_DEBUG
204          IF (debugMode) CALL DEBUG_LEAVE('OBCS_CALC',myThid)
205    #endif
206  #endif /* ALLOW_OBCS */  #endif /* ALLOW_OBCS */
207    
208        RETURN        RETURN
209        END        END

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.7

  ViewVC Help
Powered by ViewVC 1.1.22