File indexing completed on 2024-01-06 06:10:39 UTC
view on githubraw file Latest commit aef96ed3 on 2024-01-05 19:00:20 UTC
f014439617 Alis*0001 #include "CPP_OPTIONS.h"
0002
04467031dc Jean*0003
0004
0005
f014439617 Alis*0006 SUBROUTINE INI_VEL( myThid )
0007
04467031dc Jean*0008
0009
0010
0011
0012
0013
f014439617 Alis*0014
04467031dc Jean*0015
0016 IMPLICIT NONE
f014439617 Alis*0017
0018 #include "SIZE.h"
0019 #include "EEPARAMS.h"
0020 #include "PARAMS.h"
0021 #include "GRID.h"
0022 #include "DYNVARS.h"
0023
04467031dc Jean*0024
aef96ed361 Jean*0025
f014439617 Alis*0026 INTEGER myThid
0027
04467031dc Jean*0028
0029
0030
aef96ed361 Jean*0031 INTEGER i, j, k
0032 INTEGER bi, bj
0033 INTEGER ip1, jp1
0034 _RL psi, omegaprime, fac
04467031dc Jean*0035
f014439617 Alis*0036
aef96ed361 Jean*0037
0038 psi(i,j,bi,bj) = fac*fCoriG(i,j,bi,bj)
f014439617 Alis*0039
0040
0041
0042
0043
0044
0045
0046
aef96ed361 Jean*0047
0048 omegaprime = 38.60328935834681 _d 0 / rSphere
0049 fac = -(rSphere*rSphere)*omegaprime/(2. _d 0*Omega)
f014439617 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)
f014439617 Alis*0061 ENDDO
0062 ENDDO
0063 ENDDO
0064 ENDDO
0065 ENDDO
0066
aef96ed361 Jean*0067
f014439617 Alis*0068
aef96ed361 Jean*0069 IF ( uVelInitFile .NE. ' ' )
04467031dc Jean*0070 & CALL READ_FLD_XYZ_RL( uVelInitFile, ' ', uVel, 0, myThid )
0071
aef96ed361 Jean*0072 IF ( vVelInitFile .NE. ' ' )
04467031dc Jean*0073 & CALL READ_FLD_XYZ_RL( vVelInitFile, ' ', vVel, 0, myThid )
f014439617 Alis*0074
04467031dc Jean*0075 CALL EXCH_UV_XYZ_RL(uVel,vVel,.TRUE.,myThid)
aef96ed361 Jean*0076
f014439617 Alis*0077
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)
f014439617 Alis*0085 ENDDO
0086 ENDDO
0087 ENDDO
0088 ENDDO
0089 ENDDO
0090
0091 RETURN
0092 END