File indexing completed on 2018-03-02 18:42:54 UTC
view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
08be60903a Mart*0001 #include "PP81_OPTIONS.h"
0002
40cf87ade1 Jean*0003 SUBROUTINE PP81_CALC_DIFF(
cd3138caa3 Jean*0004 I bi,bj,iMin,iMax,jMin,jMax,kArg,kSize,
0005 U KappaRx,
08be60903a Mart*0006 I myThid)
0007
40cf87ade1 Jean*0008
08be60903a Mart*0009
0010
40cf87ade1 Jean*0011
08be60903a Mart*0012 IMPLICIT NONE
0013
0014
0015 #include "SIZE.h"
0016 #include "EEPARAMS.h"
0017 #include "PARAMS.h"
40cf87ade1 Jean*0018
0019 #ifdef ALLOW_3D_DIFFKR
0020 # include "DYNVARS.h"
0021 #endif
cd3138caa3 Jean*0022 #ifdef ALLOW_PP81
40cf87ade1 Jean*0023 # include "PP81.h"
cd3138caa3 Jean*0024 #endif
08be60903a Mart*0025
0026
cd3138caa3 Jean*0027
0028
0029
0030
0031
0032
0033
0034
0035
0036 INTEGER bi,bj,iMin,iMax,jMin,jMax,kArg,kSize
40cf87ade1 Jean*0037 _RL KappaRx(1-OLx:sNx+OLx,1-OLy:sNy+OLy,kSize)
08be60903a Mart*0038 INTEGER myThid
0039
0040 #ifdef ALLOW_PP81
0041
0042
cd3138caa3 Jean*0043
0044 INTEGER i,j,k
08be60903a Mart*0045
cd3138caa3 Jean*0046
0047 IF ( kArg .EQ. 0 ) THEN
0048
0049 DO k=1,MIN(Nr,kSize)
0050 DO j=jMin,jMax
0051 DO i=iMin,iMax
0052 KappaRx(i,j,k) = KappaRx(i,j,k)
0053 & +( PPdiffKr(i,j,k,bi,bj)
40cf87ade1 Jean*0054 #ifdef ALLOW_3D_DIFFKR
08be60903a Mart*0055 & - diffKr(i,j,k,bi,bj) )
0056 #else
78524d1402 Jean*0057 & - diffKrNrS(k) )
08be60903a Mart*0058 #endif
cd3138caa3 Jean*0059 ENDDO
0060 ENDDO
0061 ENDDO
0062 ELSE
0063
0064 k = MIN(kArg,kSize)
0065 DO j=jMin,jMax
0066 DO i=iMin,iMax
0067 KappaRx(i,j,k) = KappaRx(i,j,k)
0068 & +( PPdiffKr(i,j,kArg,bi,bj)
40cf87ade1 Jean*0069 #ifdef ALLOW_3D_DIFFKR
cd3138caa3 Jean*0070 & - diffKr(i,j,kArg,bi,bj) )
08be60903a Mart*0071 #else
78524d1402 Jean*0072 & - diffKrNrS(kArg) )
08be60903a Mart*0073 #endif
cd3138caa3 Jean*0074 ENDDO
0075 ENDDO
0076 ENDIF
08be60903a Mart*0077
0078 #endif /* ALLOW_PP81 */
0079
0080 RETURN
0081 END