** 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: Wed, 15 Sep 2026 05:09:17 GMT
Content-Type: text/html; charset=utf-8
MITgcm/MITgcm/pkg/mom_fluxform/mom_u_adv_wu.F
File indexing completed on 2025-05-05 05:08:24 UTC
view on github raw file Latest commit 31fb0e0e on 2025-05-05 02:15:14 UTC
6d54cf9ca1 Ed H* 0001 #include "MOM_FLUXFORM_OPTIONS.h "
aea29c8517 Alis* 0002
71207ba845 Alis* 0003
0004
0005
0006
aea29c8517 Alis* 0007 SUBROUTINE MOM_U_ADV_WU (
31fb0e0e6d Jean* 0008 I bi , bj , k , deepFacA ,
0009 I uFld , wFld , rTrans ,
aea29c8517 Alis* 0010 O advectiveFluxWU ,
eaba2fd266 Jean* 0011 I myThid )
aea29c8517 Alis* 0012
71207ba845 Alis* 0013
0014
0015
0016
0017
0018
0019
0020 IMPLICIT NONE
aea29c8517 Alis* 0021 #include "SIZE.h "
0022 #include "EEPARAMS.h "
0023 #include "PARAMS.h "
0024 #include "GRID.h "
0025
71207ba845 Alis* 0026
31fb0e0e6d Jean* 0027
71207ba845 Alis* 0028
31fb0e0e6d Jean* 0029
bd2e80b12f Jean* 0030
0031
0032
31fb0e0e6d Jean* 0033
0034 INTEGER bi , bj , k
0035 _RL deepFacA (Nr )
aea29c8517 Alis* 0036 _RL uFld (1-OLx :sNx +OLx ,1-OLy :sNy +OLy ,Nr ,nSx ,nSy )
0037 _RL wFld (1-OLx :sNx +OLx ,1-OLy :sNy +OLy ,Nr ,nSx ,nSy )
bd2e80b12f Jean* 0038 _RL rTrans (1-OLx :sNx +OLx ,1-OLy :sNy +OLy )
aea29c8517 Alis* 0039 INTEGER myThid
0040
71207ba845 Alis* 0041
0042
0043 _RL advectiveFluxWU (1-OLx :sNx +OLx ,1-OLy :sNy +OLy )
0044
0045
31fb0e0e6d Jean* 0046
0047 INTEGER i , j
71207ba845 Alis* 0048
aea29c8517 Alis* 0049
e0c3eb6fa1 Jean* 0050 IF ( k .EQ. Nr +1 .AND.
9669509dca Jean* 0051 & useRealFreshWaterFlux .AND. usingPCoords ) THEN
31fb0e0e6d Jean* 0052 DO j =1-OLy +1,sNy +OLy
0053 DO i =1-OLx +1,sNx +OLx
eaba2fd266 Jean* 0054 advectiveFluxWU (i ,j ) = rTrans (i ,j )*uFld (i ,j ,k -1,bi ,bj )
31fb0e0e6d Jean* 0055 & *deepFacA (k -1)
e0c3eb6fa1 Jean* 0056 ENDDO
0057 ENDDO
0058
0059 ELSEIF ( k .GT. Nr .OR. (k .EQ. 1.AND. rigidLid ) ) THEN
aea29c8517 Alis* 0060
0061
31fb0e0e6d Jean* 0062 DO j =1-OLy ,sNy +OLy
0063 DO i =1-OLx ,sNx +OLx
0064 advectiveFluxWU (i ,j ) = 0.
0065 ENDDO
aea29c8517 Alis* 0066 ENDDO
0067
0068 ELSEIF (k .EQ. 1) THEN
0069
0070
31fb0e0e6d Jean* 0071 DO j =1-OLy +1,sNy +OLy
0072 DO i =1-OLx +1,sNx +OLx
0073 advectiveFluxWU (i ,j ) = rTrans (i ,j )*uFld (i ,j ,k ,bi ,bj )
0074 & *deepFacA (k )
0075 ENDDO
aea29c8517 Alis* 0076 ENDDO
0077
0078 ELSE
0079
eaba2fd266 Jean* 0080
31fb0e0e6d Jean* 0081 DO j =1-OLy +1,sNy +OLy
0082 DO i =1-OLx +1,sNx +OLx
0083 advectiveFluxWU (i ,j ) = rTrans (i ,j )*halfRL
229b6d70e7 Jean* 0084 #ifdef MOM_BOUNDARY_CONSERVE
31fb0e0e6d Jean* 0085 & *( uFld (i ,j , k ,bi ,bj )*deepFacA ( k )*_maskW (i ,j ,k -1,bi ,bj )
0086 & + uFld (i ,j ,k -1,bi ,bj )*deepFacA (k -1)*_maskW (i ,j , k ,bi ,bj ) )
229b6d70e7 Jean* 0087 #else
31fb0e0e6d Jean* 0088 & *( uFld (i ,j , k ,bi ,bj )*deepFacA ( k )
0089 & + uFld (i ,j ,k -1,bi ,bj )*deepFacA (k -1) )
229b6d70e7 Jean* 0090 #endif
31fb0e0e6d Jean* 0091 ENDDO
aea29c8517 Alis* 0092 ENDDO
0093
31fb0e0e6d Jean* 0094 IF ( select_rStar .EQ. 0 .AND. .NOT. rigidLid ) THEN
0095
aea29c8517 Alis* 0096
31fb0e0e6d Jean* 0097 DO j =1-OLy +1,sNy +OLy
0098 DO i =1-OLx +1,sNx +OLx
aea29c8517 Alis* 0099 advectiveFluxWU (i ,j ) = advectiveFluxWU (i ,j )
31fb0e0e6d Jean* 0100 & +0.25 _d 0*(
0101 & wFld ( i ,j ,k ,bi ,bj )*rA ( i ,j ,bi ,bj )
0102 & *(maskC ( i ,j ,k ,bi ,bj )-maskC ( i ,j ,k -1,bi ,bj ))
0103 & +wFld (i -1,j ,k ,bi ,bj )*rA (i -1,j ,bi ,bj )
0104 & *(maskC (i -1,j ,k ,bi ,bj )-maskC (i -1,j ,k -1,bi ,bj ))
0105 & )*deepFac2F (k )*rhoFacF (k )
0106 & *uFld (i ,j ,k ,bi ,bj )*deepFacA (k )
aea29c8517 Alis* 0107 ENDDO
0108 ENDDO
31fb0e0e6d Jean* 0109
0110 ENDIF
aea29c8517 Alis* 0111
31fb0e0e6d Jean* 0112
aea29c8517 Alis* 0113 ENDIF
0114
0115 RETURN
0116 END