Back to home page

MITgcm

 
 

    


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 CBOP
                0004 C !ROUTINE: MOM_U_ADV_VU
                0005 
                0006 C !INTERFACE: ==========================================================
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 C !DESCRIPTION:
                0014 C Calculates the meridional advective flux of zonal momentum:
                0015 C \begin{equation*}
                0016 C F^y = \overline{V}^i \overline{u}^{j}
                0017 C \end{equation*}
                0018 
                0019 C !USES: ===============================================================
                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 C !INPUT PARAMETERS: ===================================================
31fb0e0e6d Jean*0027 C  bi, bj               :: tile indices
71207ba845 Alis*0028 C  k                    :: vertical level
                0029 C  vTrans               :: meridional transport
31fb0e0e6d Jean*0030 C  uFld                 :: zonal velocity
                0031 C  myThid               :: my Thread Id number
                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 C !OUTPUT PARAMETERS: ==================================================
229b6d70e7 Jean*0038 C  AdvectFluxVU         :: advective flux
71207ba845 Alis*0039       _RL AdvectFluxVU(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
                0040 
                0041 C !LOCAL VARIABLES: ====================================================
                0042 C  i,j                  :: loop indices
229b6d70e7 Jean*0043       INTEGER i,j
71207ba845 Alis*0044 CEOP
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 C-    Advect u*dxC (--> account for metric term u*v*tanPhi/R)
                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