File indexing completed on 2021-10-13 05:14:42 UTC
view on githubraw file Latest commit c59dd234 on 2021-10-12 16:00:15 UTC
01719759b8 Jean*0001 #include "CTRL_OPTIONS.h"
0002
0003
6b46535faa Gael*0004
01719759b8 Jean*0005
0006
0007
0008
0009
0010
0011
6b46535faa Gael*0012
0013
0014 SUBROUTINE CTRL_BOUND_3D(
01719759b8 Jean*0015 U fieldCur,
c59dd234b1 Jean*0016 I mask3D, boundsVec, myThid )
6b46535faa Gael*0017
0018
f5f1792fb5 Gael*0019
0020
0021
0022
6b46535faa Gael*0023
01719759b8 Jean*0024
6b46535faa Gael*0025
01719759b8 Jean*0026
0027 IMPLICIT NONE
6b46535faa Gael*0028 #include "SIZE.h"
0029 #include "EEPARAMS.h"
0030
01719759b8 Jean*0031
c59dd234b1 Jean*0032 _RL fieldCur(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
0033 _RS mask3D (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
f5f1792fb5 Gael*0034 _RL boundsVec(5)
01719759b8 Jean*0035 INTEGER myThid
0036
0037
0038 INTEGER bi,bj,i,j,k
0039
0040
0041 IF (boundsVec(1).LT.boundsVec(4)) THEN
0042
0043 DO bj=myByLo(myThid), myByHi(myThid)
0044 DO bi=myBxLo(myThid), myBxHi(myThid)
0045
0046 DO k = 1,Nr
0047 DO j = 1,sNy
0048 DO i = 1,sNx
c59dd234b1 Jean*0049 IF (mask3D(i,j,k,bi,bj).NE.0.) THEN
01719759b8 Jean*0050 IF (fieldCur(i,j,k,bi,bj).GT.boundsVec(4)) THEN
0051 fieldCur(i,j,k,bi,bj)=boundsVec(4)
0052 ENDIF
0053 IF (fieldCur(i,j,k,bi,bj).LT.boundsVec(1)) THEN
0054 fieldCur(i,j,k,bi,bj)=boundsVec(1)
0055 ENDIF
0056 ENDIF
0057 ENDDO
0058 ENDDO
0059 ENDDO
0060
0061 ENDDO
0062 ENDDO
f5f1792fb5 Gael*0063
01719759b8 Jean*0064 ENDIF
6b46535faa Gael*0065
01719759b8 Jean*0066 RETURN
0067 END
0068
0069
0070
0071
6b46535faa Gael*0072
0073
0074 SUBROUTINE CTRL_BOUND_2D(
01719759b8 Jean*0075 U fieldCur,
7b8b86ab99 Timo*0076 I mask2D, boundsVec, myThid )
6b46535faa Gael*0077
0078
f5f1792fb5 Gael*0079
0080
0081
0082
6b46535faa Gael*0083
01719759b8 Jean*0084
6b46535faa Gael*0085
01719759b8 Jean*0086
0087 IMPLICIT NONE
6b46535faa Gael*0088 #include "SIZE.h"
0089 #include "EEPARAMS.h"
0090
01719759b8 Jean*0091
7b8b86ab99 Timo*0092 _RL fieldCur(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0093 _RS mask2D (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
f5f1792fb5 Gael*0094 _RL boundsVec(5)
01719759b8 Jean*0095 INTEGER myThid
0096
0097
0098 INTEGER bi,bj,i,j
0099
0100
0101 IF (boundsVec(1).LT.boundsVec(4)) THEN
0102
0103 DO bj=myByLo(myThid), myByHi(myThid)
0104 DO bi=myBxLo(myThid), myBxHi(myThid)
0105
0106 DO j = 1-OLy,sNy+OLy
0107 DO i = 1-OLx,sNx+OLx
7b8b86ab99 Timo*0108 IF (mask2D(i,j,bi,bj).NE.0.) THEN
01719759b8 Jean*0109 IF (fieldCur(i,j,bi,bj).GT.boundsVec(4)) THEN
0110 fieldCur(i,j,bi,bj)=boundsVec(4)
0111 ENDIF
0112 IF (fieldCur(i,j,bi,bj).LT.boundsVec(1)) THEN
0113 fieldCur(i,j,bi,bj)=boundsVec(1)
0114 ENDIF
0115 ENDIF
0116 ENDDO
0117 ENDDO
0118
0119 ENDDO
0120 ENDDO
0121
0122 ENDIF
6b46535faa Gael*0123
3c0a47830d Jean*0124 RETURN
0125 END