/[MITgcm]/MITgcm/verification/solid-body.cs-32x32x1/code/ini_vel.F
ViewVC logotype

Diff of /MITgcm/verification/solid-body.cs-32x32x1/code/ini_vel.F

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

revision 1.1 by adcroft, Tue Jul 31 18:30:55 2001 UTC revision 1.2 by jmc, Tue Feb 11 04:02:24 2003 UTC
# Line 3  C $Name$ Line 3  C $Name$
3    
4  #include "CPP_OPTIONS.h"  #include "CPP_OPTIONS.h"
5    
6    CBOP
7    C     !ROUTINE: INI_VEL
8    C     !INTERFACE:
9        SUBROUTINE INI_VEL( myThid )        SUBROUTINE INI_VEL( myThid )
       IMPLICIT NONE  
10    
11  C     Initialize 3D flow field (either to zero or from input files)  C     !DESCRIPTION: \bv
12    C     *=================================================================
13    C     | SUBROUTINE INI_VEL
14    C     | o Initialize flow field (either to zero or from input files)
15    C     *=================================================================
16    C     \ev
17    
18    C     !USES:
19          IMPLICIT NONE
20  C     === Global variables ===  C     === Global variables ===
21  #include "SIZE.h"  #include "SIZE.h"
22  #include "EEPARAMS.h"  #include "EEPARAMS.h"
# Line 15  C     === Global variables === Line 24  C     === Global variables ===
24  #include "GRID.h"  #include "GRID.h"
25  #include "DYNVARS.h"  #include "DYNVARS.h"
26    
27    C     !INPUT/OUTPUT PARAMETERS:
28  C     == Routine arguments ==  C     == Routine arguments ==
29  C     myThid -  Number of this instance of INI_UVEL  C     myThid -  Number of this instance of INI_VEL
30        INTEGER myThid        INTEGER myThid
31    
32  C     == Local variables ==  C     == Local variables ==
33  C     bi,bj,i,j,k - Loop counters  C     bi,bj,i,j,k - Loop counters
34        INTEGER bi,bj,i,j,k        INTEGER bi,bj,i,j,k
35          INTEGER ip1,jp1
36        _RL psi,omegaprime,fac        _RL psi,omegaprime,fac
37    
38        psi(i,j,bi,bj)=fac*fCoriG(i,j,bi,bj)        psi(i,j,bi,bj)=fac*fCoriG(i,j,bi,bj)
# Line 39  C Line 50  C
50         DO bi = myBxLo(myThid), myBxHi(myThid)         DO bi = myBxLo(myThid), myBxHi(myThid)
51          DO k=1,Nr          DO k=1,Nr
52           DO j=1-Oly,sNy+Oly           DO j=1-Oly,sNy+Oly
53              jp1=MIN(j+1,sNy+Oly)
54            DO i=1-Olx,sNx+Olx            DO i=1-Olx,sNx+Olx
55               ip1=MIN(i+1,sNx+Olx)
56             uVel(i,j,k,bi,bj)=0.             uVel(i,j,k,bi,bj)=0.
57       &      +(psi(i,j,bi,bj)-psi(i,j+1,bi,bj))*recip_dyg(i,j,bi,bj)       &      +(psi(i,j,bi,bj)-psi(i,jp1,bi,bj))*recip_dyg(i,j,bi,bj)
58             vVel(i,j,k,bi,bj)=0.             vVel(i,j,k,bi,bj)=0.
59       &      +(psi(i+1,j,bi,bj)-psi(i,j,bi,bj))*recip_dxg(i,j,bi,bj)       &      +(psi(ip1,j,bi,bj)-psi(i,j,bi,bj))*recip_dxg(i,j,bi,bj)
60             wVel(i,j,k,bi,bj)=0.             wVel(i,j,k,bi,bj)=0.
61            ENDDO            ENDDO
62           ENDDO           ENDDO
# Line 66  c      _EXCH_XYZ_R8(uVel  , myThid ) Line 79  c      _EXCH_XYZ_R8(uVel  , myThid )
79  c      _EXCH_XYZ_R8(vVel  , myThid )  c      _EXCH_XYZ_R8(vVel  , myThid )
80        ENDIF        ENDIF
81    
82    c     IF (uVelInitFile .NE. ' ' .OR. vVelInitFile .NE. ' ') THEN
83           CALL EXCH_UV_XYZ_RL(uVel,vVel,.TRUE.,myThid)
84    c     ENDIF
85    
86        DO bj = myByLo(myThid), myByHi(myThid)        DO bj = myByLo(myThid), myByHi(myThid)
87         DO bi = myBxLo(myThid), myBxHi(myThid)         DO bi = myBxLo(myThid), myBxHi(myThid)
88          DO k=1,Nr          DO k=1,Nr
# Line 75  c      _EXCH_XYZ_R8(vVel  , myThid ) Line 92  c      _EXCH_XYZ_R8(vVel  , myThid )
92             vVel(i,j,k,bi,bj)=vVel(i,j,k,bi,bj)*_maskS(i,j,k,bi,bj)             vVel(i,j,k,bi,bj)=vVel(i,j,k,bi,bj)*_maskS(i,j,k,bi,bj)
93            ENDDO            ENDDO
94           ENDDO           ENDDO
          CALL INTEGRATE_FOR_W(  
      I                        bi, bj, k, uVel, vVel,  
      O                        wVel,  
      I                        myThid )  
95          ENDDO          ENDDO
96         ENDDO         ENDDO
97        ENDDO        ENDDO
98    
 c     IF (uVelInitFile .NE. ' ' .OR. vVelInitFile .NE. ' ') THEN  
        CALL EXCH_UV_XYZ_RL(uVel,vVel,.TRUE.,myThid)  
        _EXCH_XYZ_R8(wVel,myThid)  
 c     ENDIF  
   
99        RETURN        RETURN
100        END        END

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

  ViewVC Help
Powered by ViewVC 1.1.22