File indexing completed on 2018-03-02 18:40:58 UTC
view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
76b8386f6e Jean*0001 #include "GAD_OPTIONS.h"
0002
0003
0004
0005
0006
0ef5a3ea3b Jean*0007 SUBROUTINE GAD_DST2U1_ADV_X(
692dd30681 Jean*0008 I bi,bj,k, advectionScheme, calcCFL,
0af3073e4e Jean*0009 I deltaTloc, uTrans, uFld,
76b8386f6e Jean*0010 I tracer,
0011 O uT,
0012 I myThid )
0013
0014
0015
0ef5a3ea3b Jean*0016
76b8386f6e Jean*0017
0018
0019
0020 IMPLICIT NONE
0021 #include "SIZE.h"
0022 #include "GRID.h"
0023 #include "GAD.h"
0024
0025
0026
0027
0ef5a3ea3b Jean*0028
76b8386f6e Jean*0029
692dd30681 Jean*0030
0031
76b8386f6e Jean*0032
692dd30681 Jean*0033
76b8386f6e Jean*0034
0035
0036 INTEGER bi,bj,k
0037 INTEGER advectionScheme
692dd30681 Jean*0038 LOGICAL calcCFL
76b8386f6e Jean*0039 _RL deltaTloc
0040 _RL uTrans(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
0af3073e4e Jean*0041 _RL uFld (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
76b8386f6e Jean*0042 _RL tracer(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
0043 INTEGER myThid
0044
0045
0046
0047 _RL uT (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
0048
0049
0050
0051
0052
0053 INTEGER i,j
692dd30681 Jean*0054 _RL uCFL, xLimit, uAbs
76b8386f6e Jean*0055
0056
0057 xLimit = 0. _d 0
0058 IF ( advectionScheme.EQ.ENUM_DST2 ) xLimit = 1. _d 0
0059
0060 DO j=1-Oly,sNy+Oly
0061 uT(1-Olx,j)=0.
360ad14abb Mart*0062 ENDDO
0063 DO j=1-Oly,sNy+Oly
76b8386f6e Jean*0064 DO i=1-Olx+1,sNx+Olx
0065
692dd30681 Jean*0066 uCFL = uFld(i,j)
0067 IF ( calcCFL ) uCFL = ABS( uFld(i,j)*deltaTloc
62743db5c5 Jean*0068 & *recip_dxC(i,j,bi,bj)*recip_deepFacC(k) )
76b8386f6e Jean*0069
0ef5a3ea3b Jean*0070
0071
0072
0073
0074
0075
0076
0077
0078 uAbs = ABS(uTrans(i,j))
0079 & *( 1. _d 0 - xLimit*(1. _d 0 - uCFL) )
0080 uT(i,j) = ( uTrans(i,j)+uAbs )* 0.5 _d 0 * tracer(i-1,j)
0081 & + ( uTrans(i,j)-uAbs )* 0.5 _d 0 * tracer(i,j)
76b8386f6e Jean*0082 ENDDO
0083 ENDDO
0084
0085 RETURN
0086 END