File indexing completed on 2024-01-06 06:10:49 UTC
view on githubraw file Latest commit aef96ed3 on 2024-01-05 19:00:20 UTC
905f660335 Alis*0001 #include "CPP_OPTIONS.h"
0002
644a731b64 Jean*0003
0004
0005
905f660335 Alis*0006 SUBROUTINE INI_VEL( myThid )
0007
644a731b64 Jean*0008
0009
0010
0011
0012
0013
905f660335 Alis*0014
644a731b64 Jean*0015
0016 IMPLICIT NONE
905f660335 Alis*0017
0018 #include "SIZE.h"
0019 #include "EEPARAMS.h"
0020 #include "PARAMS.h"
0021 #include "GRID.h"
0022 #include "DYNVARS.h"
0023
644a731b64 Jean*0024
aef96ed361 Jean*0025
905f660335 Alis*0026 INTEGER myThid
0027
aef96ed361 Jean*0028
0029
0030
0031 INTEGER i, j, k
0032 INTEGER bi, bj
0033 INTEGER ip1, jp1
0034 _RL psi, omegaprime, fac
0035
905f660335 Alis*0036
aef96ed361 Jean*0037
0038 psi(i,j,bi,bj) = fac*fCoriG(i,j,bi,bj)
905f660335 Alis*0039
0040
0041
0042
0043
0044
0045
0046
aef96ed361 Jean*0047
0048 omegaprime = 80. _d 0 / rSphere
0049 fac = -(rSphere*rSphere)*omegaprime/(2. _d 0*Omega)
905f660335 Alis*0050 DO bj = myByLo(myThid), myByHi(myThid)
0051 DO bi = myBxLo(myThid), myBxHi(myThid)
0052 DO k=1,Nr
aef96ed361 Jean*0053 DO j=1-OLy,sNy+OLy
0054 jp1 = MIN(j+1,sNy+OLy)
0055 DO i=1-OLx,sNx+OLx
0056 ip1 = MIN(i+1,sNx+OLx)
0057 uVel(i,j,k,bi,bj) = 0. _d 0
0058 & + (psi(i,j,bi,bj)-psi(i,jp1,bi,bj))*recip_dyG(i,j,bi,bj)
0059 vVel(i,j,k,bi,bj) = 0. _d 0
0060 & + (psi(ip1,j,bi,bj)-psi(i,j,bi,bj))*recip_dxG(i,j,bi,bj)
905f660335 Alis*0061 ENDDO
0062 ENDDO
0063 ENDDO
0064 ENDDO
0065 ENDDO
0066
aef96ed361 Jean*0067
905f660335 Alis*0068
aef96ed361 Jean*0069 IF ( uVelInitFile .NE. ' ' )
0070 & CALL READ_FLD_XYZ_RL( uVelInitFile, ' ', uVel, 0, myThid )
905f660335 Alis*0071
aef96ed361 Jean*0072 IF ( vVelInitFile .NE. ' ' )
0073 & CALL READ_FLD_XYZ_RL( vVelInitFile, ' ', vVel, 0, myThid )
905f660335 Alis*0074
644a731b64 Jean*0075 CALL EXCH_UV_XYZ_RL(uVel,vVel,.TRUE.,myThid)
0076
0077
905f660335 Alis*0078 DO bj = myByLo(myThid), myByHi(myThid)
0079 DO bi = myBxLo(myThid), myBxHi(myThid)
0080 DO k=1,Nr
aef96ed361 Jean*0081 DO j=1-OLy,sNy+OLy
0082 DO i=1-OLx,sNx+OLx
0083 uVel(i,j,k,bi,bj) = uVel(i,j,k,bi,bj)*_maskW(i,j,k,bi,bj)
0084 vVel(i,j,k,bi,bj) = vVel(i,j,k,bi,bj)*_maskS(i,j,k,bi,bj)
905f660335 Alis*0085 ENDDO
0086 ENDDO
0087 ENDDO
0088 ENDDO
0089 ENDDO
0090
0091 RETURN
0092 END