/[MITgcm]/MITgcm/verification/advect_cs/code/ini_vel.F
ViewVC logotype

Diff of /MITgcm/verification/advect_cs/code/ini_vel.F

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

revision 1.2 by jmc, Tue Feb 11 02:29:54 2003 UTC revision 1.3 by jmc, Tue Jan 8 17:35:55 2008 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:
33  C     == Local variables ==  C     == Local variables ==
34  C     bi,bj,i,j,k - Loop counters  C     i,j,k  :: Loop counters
35    C     bi,bj  :: tile indices
36        INTEGER bi,bj,i,j,k        INTEGER bi,bj,i,j,k
37        INTEGER ip1,jp1        INTEGER ip1,jp1
38        _RL psi,omegaprime,fac        _RL psi,omegaprime,fac
39    CEOP
40    
41        psi(i,j,bi,bj)=fac*fCoriG(i,j,bi,bj)        psi(i,j,bi,bj)=fac*fCoriG(i,j,bi,bj)
42    
# Line 43  C Line 56  C
56            jp1=MIN(j+1,sNy+Oly)            jp1=MIN(j+1,sNy+Oly)
57            DO i=1-Olx,sNx+Olx            DO i=1-Olx,sNx+Olx
58             ip1=MIN(i+1,sNx+Olx)             ip1=MIN(i+1,sNx+Olx)
59             uVel(i,j,k,bi,bj)=0.             uVel(i,j,k,bi,bj)=0. _d 0
60       &      +(psi(i,j,bi,bj)-psi(i,jp1,bi,bj))*recip_dyg(i,j,bi,bj)       &      +(psi(i,j,bi,bj)-psi(i,jp1,bi,bj))*recip_dyG(i,j,bi,bj)
61             vVel(i,j,k,bi,bj)=0.             vVel(i,j,k,bi,bj)=0. _d 0
62       &      +(psi(ip1,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)
            wVel(i,j,k,bi,bj)=0.  
63            ENDDO            ENDDO
64           ENDDO           ENDDO
65          ENDDO          ENDDO
66         ENDDO         ENDDO
67        ENDDO        ENDDO
68    
69          IF (uVelInitFile .NE. ' ' .OR. vVelInitFile .NE. ' ') THEN
70           _BARRIER
71  C     Read an initial state for each component if required  C     Read an initial state for each component if required
72        IF (uVelInitFile .NE. ' ') THEN         IF (uVelInitFile .NE. ' ')
73         _BEGIN_MASTER( myThid )       & CALL READ_FLD_XYZ_RL( uVelInitFile, ' ', uVel, 0, myThid )
74         CALL READ_FLD_XYZ_RL( uVelInitFile, ' ', uVel, 0, myThid )  
75         _END_MASTER(myThid)         IF (vVelInitFile .NE. ' ')
76  c      _EXCH_XYZ_R8(uVel  , myThid )       & CALL READ_FLD_XYZ_RL( vVelInitFile, ' ', vVel, 0, myThid )
       ENDIF  
77    
78        IF (vVelInitFile .NE. ' ') THEN         CALL EXCH_UV_XYZ_RL(uVel,vVel,.TRUE.,myThid)
        _BEGIN_MASTER( myThid )  
        CALL READ_FLD_XYZ_RL( vVelInitFile, ' ', vVel, 0, myThid )  
        _END_MASTER(myThid)  
 c      _EXCH_XYZ_R8(vVel  , myThid )  
79        ENDIF        ENDIF
80    
81        DO bj = myByLo(myThid), myByHi(myThid)        DO bj = myByLo(myThid), myByHi(myThid)
# Line 78  c      _EXCH_XYZ_R8(vVel  , myThid ) Line 87  c      _EXCH_XYZ_R8(vVel  , myThid )
87             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)
88            ENDDO            ENDDO
89           ENDDO           ENDDO
          CALL INTEGRATE_FOR_W(  
      I                        bi, bj, k, uVel, vVel,  
      O                        wVel,  
      I                        myThid )  
90          ENDDO          ENDDO
91         ENDDO         ENDDO
92        ENDDO        ENDDO
93    
 c     IF (uVelInitFile .NE. ' ' .OR. vVelInitFile .NE. ' ') THEN  
        CALL EXCH_UV_XYZ_RL(uVel,vVel,.TRUE.,myThid)  
        _EXCH_XYZ_R8(wVel,myThid)  
 c     ENDIF  
   
94        RETURN        RETURN
95        END        END

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

  ViewVC Help
Powered by ViewVC 1.1.22