File indexing completed on 2021-02-17 06:11:33 UTC
view on githubraw file Latest commit 2d5bb917 on 2020-09-13 20:55:43 UTC
31566b6684 Alis*0001 #include "GAD_OPTIONS.h"
0002
aba3ddc7b7 Alis*0003
0004
0005
0006
eaba2fd266 Jean*0007 SUBROUTINE GAD_DIFF_X(
31566b6684 Alis*0008 I bi,bj,k,
0009 I xA, diffKh,
0010 I tracer,
0011 O dfx,
0012 I myThid )
0013
aba3ddc7b7 Alis*0014
527a84022c Alis*0015
0016
aba3ddc7b7 Alis*0017
527a84022c Alis*0018
aba3ddc7b7 Alis*0019
0020
0021
0022 IMPLICIT NONE
31566b6684 Alis*0023 #include "SIZE.h"
0024 #include "GRID.h"
2d5bb917cc Jean*0025 #ifdef ALLOW_SMAG_3D_DIFFUSIVITY
0026 # include "EEPARAMS.h"
0027 # include "PARAMS.h"
0028 # include "DYNVARS.h"
0029 #endif
31566b6684 Alis*0030
aba3ddc7b7 Alis*0031
0032
0033
0034
0035
0036
0037
31566b6684 Alis*0038 INTEGER bi,bj,k
0039 _RS xA (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
0040 _RL diffKh
0041 _RL tracer(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
0042 INTEGER myThid
0043
aba3ddc7b7 Alis*0044
0045
0046 _RL dfx (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
0047
0048
0049
31566b6684 Alis*0050 INTEGER i,j
aba3ddc7b7 Alis*0051
31566b6684 Alis*0052
2d5bb917cc Jean*0053 #ifdef ALLOW_SMAG_3D_DIFFUSIVITY
0054 IF ( smag3D_diffCoeff.GT.zeroRL ) THEN
0055 DO j=1-OLy,sNy+OLy
0056 dfx(1-OLx,j) = 0.
0057 DO i=1-OLx+1,sNx+OLx
0058 dfx(i,j) = -( diffKh
0059 & + halfRL*( smag3D_diffK(i-1,j,k,bi,bj)
0060 & + smag3D_diffK( i, j,k,bi,bj) )
0061 & )*xA(i,j)
0062 & *_recip_dxC(i,j,bi,bj)*recip_deepFacC(k)
0063 & *( tracer(i,j) - tracer(i-1,j) )
0064 & *cosFacU(j,bi,bj)
0065 ENDDO
0066 ENDDO
0067 ELSE
0068 #endif /* ALLOW_SMAG_3D_DIFFUSIVITY */
0069 DO j=1-OLy,sNy+OLy
0070 dfx(1-OLx,j) = 0.
0071 DO i=1-OLx+1,sNx+OLx
0072 dfx(i,j) = -diffKh*xA(i,j)
0073 & *_recip_dxC(i,j,bi,bj)*recip_deepFacC(k)
0074 & *( tracer(i,j) - tracer(i-1,j) )
0075 & *cosFacU(j,bi,bj)
0076 ENDDO
0077 ENDDO
0078 #ifdef ALLOW_SMAG_3D_DIFFUSIVITY
0079 ENDIF
0080 #endif /* ALLOW_SMAG_3D_DIFFUSIVITY */
31566b6684 Alis*0081
0082 RETURN
0083 END