File indexing completed on 2018-03-02 18:36:23 UTC
view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
31ab105195 Alis*0001 #include "CPP_OPTIONS.h"
0002
9366854e02 Chri*0003
0004
0005
31ab105195 Alis*0006 SUBROUTINE ADAMS_BASHFORTH2(
23a7f3050f Jean*0007 I bi, bj, kArg, kSize,
31ab105195 Alis*0008 U gTracer, gTrNm1,
38e8b1b15b Jean*0009 O AB_gTr,
117ee419f5 Jean*0010 I startAB, myIter, myThid )
9366854e02 Chri*0011
0012
117ee419f5 Jean*0013
23a7f3050f Jean*0014
0015
0016
0017
0018
9366854e02 Chri*0019
0020
31ab105195 Alis*0021
9366854e02 Chri*0022
0023 IMPLICIT NONE
31ab105195 Alis*0024
0025 #include "SIZE.h"
0026 #include "EEPARAMS.h"
0027 #include "PARAMS.h"
0028
9366854e02 Chri*0029
31ab105195 Alis*0030
23a7f3050f Jean*0031
0032
0033
94e3f14b29 Jean*0034
23a7f3050f Jean*0035
0036
0037
0038
0039
38e8b1b15b Jean*0040
117ee419f5 Jean*0041
9366854e02 Chri*0042
38e8b1b15b Jean*0043
23a7f3050f Jean*0044 INTEGER bi, bj, kArg, kSize
0045 _RL gTracer(1-OLx:sNx+OLx,1-OLy:sNy+OLy,kSize)
0046 _RL gTrNm1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,kSize)
38e8b1b15b Jean*0047 _RL AB_gTr (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
117ee419f5 Jean*0048 INTEGER startAB
31ab105195 Alis*0049 INTEGER myIter, myThid
9366854e02 Chri*0050
0051
31ab105195 Alis*0052
23a7f3050f Jean*0053
9366854e02 Chri*0054
38e8b1b15b Jean*0055
23a7f3050f Jean*0056 INTEGER i, j, k
38e8b1b15b Jean*0057 _RL abFac
9366854e02 Chri*0058
31ab105195 Alis*0059
38e8b1b15b Jean*0060
117ee419f5 Jean*0061 IF ( myIter.EQ.nIter0 .AND. startAB.EQ.0 ) THEN
38e8b1b15b Jean*0062 abFac = 0. _d 0
31ab105195 Alis*0063 ELSE
38e8b1b15b Jean*0064 abFac = 0.5 _d 0 + abEps
31ab105195 Alis*0065 ENDIF
0066
117ee419f5 Jean*0067
31ab105195 Alis*0068
23a7f3050f Jean*0069 IF ( kArg.EQ.0 ) THEN
0070
0071 DO k=1,kSize
0072 DO j=1-OLy,sNy+OLy
0073 DO i=1-OLx,sNx+OLx
0074 AB_gTr(i,j) = abFac*( gTracer(i,j,k) - gTrNm1(i,j,k) )
0075 gTrNm1(i,j,k) = gTracer(i,j,k) + AB_gTr(i,j)
0076 ENDDO
0077 ENDDO
0078 ENDDO
0079 ELSE
0080
0081 k = kArg
0082 DO j=1-OLy,sNy+OLy
0083 DO i=1-OLx,sNx+OLx
0084 AB_gTr(i,j) = abFac*( gTracer(i,j,k) - gTrNm1(i,j,k) )
0085 gTrNm1(i,j,k) = gTracer(i,j,k)
0086 gTracer(i,j,k) = gTracer(i,j,k) + AB_gTr(i,j)
0087 ENDDO
0088 ENDDO
0089 ENDIF
31ab105195 Alis*0090
0091 RETURN
0092 END