Changeset 11049 for NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/BDY/bdydyn2d.F90
- Timestamp:
- 2019-05-24T10:22:47+02:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/BDY/bdydyn2d.F90
r11048 r11049 99 99 ii = idx%nbi(jb,igrd) 100 100 ij = idx%nbj(jb,igrd) 101 IF( ii == 1 .OR. ii == jpi .OR. ij == 1 .OR. ij == jpj ) CYCLE ! to remove102 101 zwgt = idx%nbw(jb,igrd) 103 102 pua2d(ii,ij) = ( pua2d(ii,ij) + zwgt * ( dta%u2d(jb) - pua2d(ii,ij) ) ) * umask(ii,ij,1) … … 108 107 ii = idx%nbi(jb,igrd) 109 108 ij = idx%nbj(jb,igrd) 110 IF( ii == 1 .OR. ii == jpi .OR. ij == 1 .OR. ij == jpj ) CYCLE ! to remove111 109 zwgt = idx%nbw(jb,igrd) 112 110 pva2d(ii,ij) = ( pva2d(ii,ij) + zwgt * ( dta%v2d(jb) - pva2d(ii,ij) ) ) * vmask(ii,ij,1) … … 165 163 ii = idx%nbi(jb,igrd) 166 164 ij = idx%nbj(jb,igrd) 167 IF( ii == 1 .OR. ii == jpi .OR. ij == 1 .OR. ij == jpj ) CYCLE ! to remove168 165 IF( ll_wd ) THEN 169 166 spgu(ii, ij) = dta%ssh(jb) - ssh_ref … … 180 177 DO jb = 1, idx%nblenrim(igrd) 181 178 ii = idx%nbi(jb,igrd) 182 ij = idx%nbj(jb,igrd) 183 IF( ii == 1 .OR. ii == jpi .OR. ij == 1 .OR. ij == jpj ) CYCLE ! to remove 179 ij = idx%nbj(jb,igrd) 184 180 flagu => idx%flagu(jb,igrd) 185 181 iim1 = ii + MAX( 0, INT( flagu ) ) ! T pts i-indice inside the boundary 186 182 iip1 = ii - MIN( 0, INT( flagu ) ) ! T pts i-indice outside the boundary 183 IF( iim1 > jpi .OR. iip1 > jpi ) CYCLE 187 184 ! 188 185 zcorr = - flagu * SQRT( grav * phur(ii, ij) ) * ( pssh(iim1, ij) - spgu(iip1,ij) ) … … 199 196 DO jb = 1, idx%nblenrim(igrd) 200 197 ii = idx%nbi(jb,igrd) 201 ij = idx%nbj(jb,igrd) 202 IF( ii == 1 .OR. ii == jpi .OR. ij == 1 .OR. ij == jpj ) CYCLE ! to remove 198 ij = idx%nbj(jb,igrd) 203 199 flagv => idx%flagv(jb,igrd) 204 200 ijm1 = ij + MAX( 0, INT( flagv ) ) ! T pts j-indice inside the boundary 205 201 ijp1 = ij - MIN( 0, INT( flagv ) ) ! T pts j-indice outside the boundary 202 IF( ijm1 > jpj .OR. ijp1 > jpj ) CYCLE 206 203 ! 207 204 zcorr = - flagv * SQRT( grav * phvr(ii, ij) ) * ( pssh(ii, ijm1) - spgu(ii,ijp1) ) … … 210 207 ! Use characteristics method instead 211 208 zflag = ABS(flagv) 212 zforc 209 zforc = dta%v2d(jb) * (1._wp - z1_2*zflag) + z1_2 * zflag * pva2d(ii,ijm1) 213 210 pva2d(ii,ij) = zforc + (1._wp - z1_2*zflag) * zcorr * vmask(ii,ij,1) 214 211 END DO
Note: See TracChangeset
for help on using the changeset viewer.