** Warning **
Issuing rollback() due to DESTROY without explicit disconnect() of DBD::mysql::db handle dbname=MITgcm at /usr/local/share/lxr/lib/LXR/Common.pm line 1224.
Last-Modified: Thu, 15 May 2024 05:11:27 GMT
Content-Type: text/html; charset=utf-8
MITgcm/MITgcm/pkg/mom_fluxform/mom_u_coriolis.F
File indexing completed on 2019-06-12 05:10:50 UTC
view on github raw file Latest commit 7843dde2 on 2019-06-11 16:37:20 UTC
6d54cf9ca1 Ed H* 0001 #include "MOM_FLUXFORM_OPTIONS.h "
aea29c8517 Alis* 0002
71207ba845 Alis* 0003
0004
0005
0006
010a91abcf Jean* 0007 SUBROUTINE MOM_U_CORIOLIS (
aea29c8517 Alis* 0008 I bi ,bj ,k ,vFld ,
0009 U uCoriolisTerm ,
0010 I myThid )
0011
71207ba845 Alis* 0012
0013
0014
0015
0016
aea29c8517 Alis* 0017
71207ba845 Alis* 0018
0019 IMPLICIT NONE
aea29c8517 Alis* 0020 #include "SIZE.h "
0021 #include "EEPARAMS.h "
0022 #include "PARAMS.h "
0023 #include "GRID.h "
0024 #include "SURFACE.h "
0025
71207ba845 Alis* 0026
0027
0028
0029
0030
010a91abcf Jean* 0031 INTEGER bi ,bj ,k
aea29c8517 Alis* 0032 _RL vFld (1-OLx :sNx +OLx ,1-OLy :sNy +OLy )
0033 INTEGER myThid
0034
71207ba845 Alis* 0035
0036
0037 _RL uCoriolisTerm (1-OLx :sNx +OLx ,1-OLy :sNy +OLy )
0038
0039
0040
010a91abcf Jean* 0041 INTEGER i ,j
0042 _RS one
0043 PARAMETER ( one = 1. _d 0 )
71207ba845 Alis* 0044
aea29c8517 Alis* 0045
7843dde2de jm-c 0046 IF ( selectCoriScheme .GE. 2 ) THEN
04a64662e0 Alis* 0047
7843dde2de jm-c 0048 DO j =1-OLy ,sNy +OLy -1
0049 DO i =1-OLx +1,sNx +OLx
04a64662e0 Alis* 0050 uCoriolisTerm (i ,j ) =
0051 & 0.5*( _fCori ( i ,j ,bi ,bj )
0052 & *0.5*( vFld ( i ,j )+vFld ( i ,j +1) )
0053 & + _fCori (i -1,j ,bi ,bj )
0054 & *0.5*( vFld (i -1,j )+vFld (i -1,j +1) ) )
0055 ENDDO
0056 ENDDO
0057 ELSE
0058
7843dde2de jm-c 0059 DO j =1-OLy ,sNy +OLy -1
0060 DO i =1-OLx +1,sNx +OLx
04a64662e0 Alis* 0061 uCoriolisTerm (i ,j ) =
aea29c8517 Alis* 0062 & 0.5*( _fCori ( i ,j ,bi ,bj ) +
0063 & _fCori (i -1,j ,bi ,bj ) )
0064 & *0.25*(
0065 & vFld ( i ,j )+vFld ( i ,j +1)
0066 & +vFld (i -1,j )+vFld (i -1,j +1)
0067 & )
04a64662e0 Alis* 0068 ENDDO
aea29c8517 Alis* 0069 ENDDO
04a64662e0 Alis* 0070 ENDIF
aea29c8517 Alis* 0071
7843dde2de jm-c 0072 IF ( selectCoriScheme .EQ. 1 .OR. selectCoriScheme .EQ. 3 ) THEN
8088b71082 Alis* 0073
0074
0075
7843dde2de jm-c 0076 DO j =1-OLy ,sNy +OLy -1
0077 DO i =1-OLx +1,sNx +OLx
8088b71082 Alis* 0078 uCoriolisTerm (i ,j ) = uCoriolisTerm (i ,j )
010a91abcf Jean* 0079 & *4. _d 0/MAX( one ,
0080 & maskS ( i , j ,k ,bi ,bj )+maskS ( i ,j +1,k ,bi ,bj )
0081 & +maskS (i -1, j ,k ,bi ,bj )+maskS (i -1,j +1,k ,bi ,bj ) )
8088b71082 Alis* 0082 ENDDO
0083 ENDDO
0084 ENDIF
0085
aea29c8517 Alis* 0086 RETURN
0087 END