File indexing completed on 2025-05-05 05:08:24 UTC
view on githubraw 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_VU(
31fb0e0e6d Jean*0008 I bi, bj, k,
aea29c8517 Alis*0009 I vTrans, uFld,
0010 O AdvectFluxVU,
31fb0e0e6d 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
0029
31fb0e0e6d Jean*0030
0031
0032 INTEGER bi, bj, k
aea29c8517 Alis*0033 _RL vTrans(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
0034 _RL uFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
0035 INTEGER myThid
0036
71207ba845 Alis*0037
229b6d70e7 Jean*0038
71207ba845 Alis*0039 _RL AdvectFluxVU(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
0040
0041
0042
229b6d70e7 Jean*0043 INTEGER i,j
71207ba845 Alis*0044
aea29c8517 Alis*0045
31fb0e0e6d Jean*0046 IF ( selectMetricTerms.NE.3 ) THEN
0047 DO j=1-OLy+1,sNy+OLy
0048 DO i=1-OLx+1,sNx+OLx
0049 AdvectFluxVU(i,j) = 0.25 _d 0
0050 & *( vTrans(i,j) + vTrans(i-1,j) )
229b6d70e7 Jean*0051 #ifdef MOM_BOUNDARY_CONSERVE
31fb0e0e6d Jean*0052 & *( uFld(i,j)*_maskW(i,j-1,k,bi,bj)
229b6d70e7 Jean*0053 & + uFld(i,j-1)*_maskW(i,j,k,bi,bj) )
0054 #else
31fb0e0e6d Jean*0055 & *( uFld(i,j) + uFld(i,j-1) )
229b6d70e7 Jean*0056 #endif
aea29c8517 Alis*0057 #ifdef OLD_ADV_BCS
31fb0e0e6d Jean*0058 & *_maskW(i,j,k,bi,bj)
0059 & *_maskW(i,j-1,k,bi,bj)
aea29c8517 Alis*0060 #endif /* OLD_ADV_BCS */
31fb0e0e6d Jean*0061 ENDDO
0062 ENDDO
0063 ELSE
0064
0065 DO j=1-OLy+1,sNy+OLy
0066 DO i=1-OLx+1,sNx+OLx
0067 AdvectFluxVU(i,j) = 0.25 _d 0
0068 & *( vTrans(i,j) + vTrans(i-1,j) )
0069 #ifdef MOM_BOUNDARY_CONSERVE
0070 & *( uFld(i, j )*dxC(i, j, bi,bj)*_maskW(i,j-1,k,bi,bj)
0071 & + uFld(i,j-1)*dxC(i,j-1,bi,bj)*_maskW(i, j, k,bi,bj) )
0072 #else
0073 & *( uFld(i, j )*dxC(i, j, bi,bj)
0074 & + uFld(i,j-1)*dxC(i,j-1,bi,bj) )
0075 #endif
0076 ENDDO
0077 ENDDO
0078 ENDIF
aea29c8517 Alis*0079
0080 RETURN
0081 END