Back to home page

MITgcm

 
 

    


File indexing completed on 2018-03-02 18:42:15 UTC

view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
768c96c465 Jean*0001 #include "MOM_FLUXFORM_OPTIONS.h"
0ac260a803 Andr*0002 
                0003 CBOP
768c96c465 Jean*0004 C !ROUTINE: MOM_V_METRIC_CYLINDER
0ac260a803 Andr*0005 
                0006 C !INTERFACE: ==========================================================
                0007       SUBROUTINE MOM_V_METRIC_CYLINDER(
                0008      I        bi,bj,k,
                0009      I        uFld, vFld,
                0010      O        vMetricTerms,
768c96c465 Jean*0011      I        myThid )
0ac260a803 Andr*0012 
                0013 C !DESCRIPTION:
768c96c465 Jean*0014 C Calculates the meridional metric term due to cylinder curvature:
0ac260a803 Andr*0015 C \begin{equation}
768c96c465 Jean*0016 C -\frac{u^2}{r}
0ac260a803 Andr*0017 C \end{equation}
                0018 
                0019 C !USES: ===============================================================
                0020       IMPLICIT NONE
                0021 #include "SIZE.h"
                0022 #include "EEPARAMS.h"
                0023 #include "PARAMS.h"
                0024 #include "GRID.h"
                0025 
                0026 C !INPUT PARAMETERS: ===================================================
                0027 C  bi,bj                :: tile indices
                0028 C  k                    :: vertical level
                0029 C  uFld                 :: zonal flow
                0030 C  vFld                 :: meridional flow
                0031 C  myThid               :: thread number
                0032       INTEGER bi,bj,k
                0033       _RL uFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
                0034       _RL vFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
                0035       INTEGER myThid
                0036 
                0037 C !OUTPUT PARAMETERS: ==================================================
                0038 C  vMetricTerms         :: metric term
                0039       _RL vMetricTerms(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
                0040 
                0041 C !LOCAL VARIABLES: ====================================================
                0042 C  i,j                  :: loop indices
                0043       INTEGER i,j
764c772f2d Jean*0044       _RL radius
0ac260a803 Andr*0045 CEOP
                0046 
768c96c465 Jean*0047       DO j=1-OLy+1,sNy+OLy
                0048        DO i=1-OLx,sNx+OLx-1
764c772f2d Jean*0049           radius = (yG(i,j,bi,bj)+yG(i+1,j,bi,bj))*0.5 _d 0
                0050 C-   to get the same results as before:
                0051 c         radius = yC(i,j,bi,bj)
768c96c465 Jean*0052           IF ( radius.GT.0. ) THEN
                0053              vMetricTerms(i,j) =
764c772f2d Jean*0054      &           -0.25*(uFld(i,j) + uFld(i+1,j) +
768c96c465 Jean*0055      &                  uFld(i,j-1)+uFld(i+1,j-1))
764c772f2d Jean*0056      &           *0.25*(uFld(i,j) + uFld(i+1,j) +
                0057      &                  uFld(i,j-1)+uFld(i+1,j-1))/radius
                0058           ELSE
0ac260a803 Andr*0059              vMetricTerms(i,j) = 0.
764c772f2d Jean*0060           ENDIF
0ac260a803 Andr*0061        ENDDO
                0062       ENDDO
                0063 
                0064       RETURN
                0065       END