File indexing completed on 2018-03-02 18:44:40 UTC
view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
42c525bfb4 Alis*0001 #include "ZONAL_FILT_OPTIONS.h"
0002
c450ad805c Jean*0003
0004
0005
0006
0007 SUBROUTINE ZONAL_FILT_APPLY_UV(
0008 U uFld, vFld,
0009 I myThid )
0010
0011
0012
0013
0014
0015
42c525bfb4 Alis*0016
c450ad805c Jean*0017
0018 IMPLICIT NONE
42c525bfb4 Alis*0019
0020 #include "SIZE.h"
0021 #include "EEPARAMS.h"
0022 #include "PARAMS.h"
0023 #include "GRID.h"
0024
c450ad805c Jean*0025
0026
42c525bfb4 Alis*0027 _RL uFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
0028 _RL vFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
0029 INTEGER myThid
c450ad805c Jean*0030
42c525bfb4 Alis*0031
0032 #ifdef ALLOW_ZONAL_FILT
0033
c450ad805c Jean*0034
0035 INTEGER bi,bj
0036 INTEGER i, j, k
0037 _RL uFlow(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
42c525bfb4 Alis*0038
0039 DO bj=myByLo(myThid),myByHi(myThid)
0040 DO bi=myBxLo(myThid),myBxHi(myThid)
0041
c450ad805c Jean*0042 IF ( select_rStar.GT.0 ) THEN
0043
0044 DO k=1,Nr
0045
0046 DO j=1-OLy,sNy+OLy
0047 DO i=1-OLx,sNx+OLx
0048 uFlow(i,j) = uFld(i,j,k,bi,bj)*hFacW(i,j,k,bi,bj)
0049 ENDDO
0050 ENDDO
0051 CALL ZONAL_FILTER(
0052 U uFlow,
0053 I hFacW(1-OLx,1-OLy,k,bi,bj),
0054 I 0, sNy+1, 1, bi, bj, 1, myThid )
0055 DO j=1-OLy,sNy+OLy
0056 DO i=1-OLx,sNx+OLx
0057 uFld(i,j,k,bi,bj) = uFlow(i,j)*recip_hFacW(i,j,k,bi,bj)
0058 ENDDO
0059 ENDDO
0060
0061 ENDDO
0062
0063 ELSE
0064
42c525bfb4 Alis*0065 CALL ZONAL_FILTER(
c450ad805c Jean*0066 U uFld( 1-OLx,1-OLy,1,bi,bj),
0067 I hFacW(1-OLx,1-OLy,1,bi,bj),
0068 I 0, sNy+1, Nr, bi, bj, 1, myThid )
0069
0070 ENDIF
0071
0072 CALL ZONAL_FILTER(
0073 U vFld( 1-OLx,1-OLy,1,bi,bj),
0074 I hFacS(1-OLx,1-OLy,1,bi,bj),
0075 I 0, sNy+1, Nr, bi, bj, 2, myThid )
42c525bfb4 Alis*0076
0077 ENDDO
0078 ENDDO
0079
0080 #endif /* ALLOW_ZONAL_FILT */
0081
0082 RETURN
0083 END