Changeset 12586 for NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/LBC/lbc_nfd_nogather_generic.h90
- Timestamp:
- 2020-03-23T13:14:40+01:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/LBC/lbc_nfd_nogather_generic.h90
r11536 r12586 44 44 # define L_SIZE(ptab) SIZE(ptab,4) 45 45 # endif 46 # define ARRAY2_IN(i,j,k,l,f) ptab2(i,j,k,l)47 46 # define J_SIZE(ptab2) SIZE(ptab2,2) 47 # define ARRAY2_IN(i,j,k,l,f) ptab2(i,j,k,l) 48 48 # define ARRAY_TYPE(i,j,k,l,f) REAL(wp),INTENT(inout)::ARRAY_IN(i,j,k,l,f) 49 49 # define ARRAY2_TYPE(i,j,k,l,f) REAL(wp),INTENT(inout)::ARRAY2_IN(i,j,k,l,f) … … 57 57 !! 58 58 !!---------------------------------------------------------------------- 59 ARRAY_TYPE( :,:,:,:,:) ! array or pointer of arrays on which the boundary condition is applied60 ARRAY2_TYPE( :,:,:,:,:) ! array or pointer of arrays on which the boundary condition is applied59 ARRAY_TYPE(1-nn_hls+1:,1-nn_hls+1:,:,:,:) 60 ARRAY2_TYPE(1-nn_hls+1:,:,:,:,:) 61 61 CHARACTER(len=1) , INTENT(in ) :: NAT_IN(:) ! nature of array grid-points 62 62 REAL(wp) , INTENT(in ) :: SGN_IN(:) ! sign used across the north fold boundary 63 63 INTEGER, OPTIONAL, INTENT(in ) :: kfld ! number of pt3d arrays 64 64 ! 65 INTEGER :: ji, jj, jk, 66 INTEGER :: ipi, ipj, ipk, ipl, ipf 67 INTEGER :: ijt, iju, ij pj, ijpjp1, ijta, ijua, jia, startloop, endloop65 INTEGER :: ji, jj, jk, jn, ii, jl, jh, jf ! dummy loop indices 66 INTEGER :: ipi, ipj, ipk, ipl, ipf, ijj ! dimension of the input array 67 INTEGER :: ijt, iju, ijta, ijua, jia, startloop, endloop 68 68 LOGICAL :: l_fast_exchanges 69 69 !!---------------------------------------------------------------------- … … 75 75 ! Security check for further developments 76 76 IF ( ipf > 1 ) CALL ctl_stop( 'STOP', 'lbc_nfd_nogather: multiple fields not allowed. Revise implementation...' ) 77 !78 ijpj = 1 ! index of first modified line79 ijpjp1 = 2 ! index + 180 81 77 ! 2nd dimension determines exchange speed 82 78 IF (ipj == 1 ) THEN … … 95 91 ! 96 92 CASE ( 'T' , 'W' ) ! T-, W-point 97 IF ( nimpp /= 1 ) THEN ; startloop =193 IF ( nimpp - nn_hls+1 /= 1 ) THEN ; startloop = 1 - nn_hls + 1 98 94 ELSE ; startloop = 2 99 95 ENDIF 100 96 ! 101 97 DO jl = 1, ipl; DO jk = 1, ipk 102 DO ji = startloop, nlci 103 ijt = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 4 104 ARRAY_IN(ji,nlcj,jk,jl,jf) = SGN_IN(jf) * ARRAY2_IN(ijt,ijpj,jk,jl,jf) 105 END DO 106 END DO; END DO 107 IF( nimpp == 1 ) THEN 108 DO jl = 1, ipl; DO jk = 1, ipk 109 ARRAY_IN(1,nlcj,jk,jl,jf) = SGN_IN(jf) * ARRAY_IN(3,nlcj-2,jk,jl,jf) 110 END DO; END DO 111 ENDIF 112 ! 113 IF ( .NOT. l_fast_exchanges ) THEN 114 IF( nimpp >= jpiglo/2+1 ) THEN 115 startloop = 1 116 ELSEIF( nimpp+nlci-1 >= jpiglo/2+1 .AND. nimpp < jpiglo/2+1 ) THEN 117 startloop = jpiglo/2+1 - nimpp + 1 98 DO jj = 1, nn_hls 99 ijj = nlcj -jj +1 100 DO ji = startloop, nlci 101 ijt = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 4 102 ARRAY_IN(ji,ijj,jk,jl,jf) = SGN_IN(jf) * ARRAY2_IN(ijt,jj,jk,jl,jf) 103 END DO 104 END DO 105 END DO; END DO 106 IF( nimpp - nn_hls+1 == 1 ) THEN 107 DO jl = 1, ipl; DO jk = 1, ipk 108 DO jj = 1, nn_hls 109 ijj = nlcj -jj +1 110 DO ii = 1, nn_hls 111 ARRAY_IN(1-ii+1,ijj,jk,jl,jf) = SGN_IN(jf) * ARRAY_IN(ii+2,nlcj-2*nn_hls+jj-1,jk,jl,jf) 112 END DO 113 END DO 114 END DO; END DO 115 ENDIF 116 ! 117 IF ( .NOT. l_fast_exchanges ) THEN 118 IF( nimpp - nn_hls +1 >= jpiglo/2+1 ) THEN 119 startloop = 1 - nn_hls +1 120 ELSEIF( nimpp+nlci-1 >= jpiglo/2+1 .AND. nimpp - nn_hls +1 < jpiglo/2+1 ) THEN 121 startloop = jpiglo/2+1 - nimpp + nn_hls 118 122 ELSE 119 123 startloop = nlci + 1 … … 126 130 ijta = jpiglo - jia + 2 127 131 IF( ijta >= startloop+nimpp-1 .AND. ijta < jia ) THEN 128 ARRAY_IN(ji,nlcj- 1,jk,jl,jf) = SGN_IN(jf) * ARRAY_IN(ijta-nimpp+1,nlcj-1,jk,jl,jf)132 ARRAY_IN(ji,nlcj-nn_hls,jk,jl,jf) = SGN_IN(jf) * ARRAY_IN(ijta-nimpp+1,nlcj-nn_hls,jk,jl,jf) 129 133 ELSE 130 ARRAY_IN(ji,nlcj- 1,jk,jl,jf) = SGN_IN(jf) * ARRAY2_IN(ijt,ijpjp1,jk,jl,jf)134 ARRAY_IN(ji,nlcj-nn_hls,jk,jl,jf) = SGN_IN(jf) * ARRAY2_IN(ijt,nn_hls+1,jk,jl,jf) 131 135 ENDIF 132 136 END DO … … 134 138 ENDIF 135 139 ENDIF 136 140 CASE ( 'U' ) ! U-point 141 IF( nimpp + nlci - nn_hls /= jpiglo ) THEN 142 endloop = nlci 143 ELSE 144 endloop = nlci - nn_hls 145 ENDIF 146 DO jl = 1, ipl; DO jk = 1, ipk 147 DO jj = 1, nn_hls 148 ijj = nlcj -jj +1 149 DO ji = 1-nn_hls+1, endloop 150 iju = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 3 151 ARRAY_IN(ji,ijj,jk,jl,jf) = SGN_IN(jf) * ARRAY2_IN(iju,jj,jk,jl,jf) 152 END DO 153 END DO 154 END DO; END DO 155 IF (nimpp - nn_hls+1 .eq. 1) THEN 156 DO jj = 1, nn_hls 157 ijj = nlcj -jj +1 158 DO ii = 1, nn_hls 159 ARRAY_IN(2-ii,ijj,:,:,jf) = SGN_IN(jf) * ARRAY_IN(ii+1,nlcj-2*nn_hls+jj-1,:,:,jf) 160 END DO 161 END DO 162 ENDIF 163 IF((nimpp + nlci - nn_hls) .eq. jpiglo) THEN 164 DO jj = 1, nn_hls 165 ijj = nlcj -jj +1 166 DO ii = 1, nn_hls 167 ARRAY_IN(nlci-ii+1,ijj,:,:,jf) = SGN_IN(jf) * ARRAY_IN(nlci-2*nn_hls+ii,nlcj-2*nn_hls+jj-1,:,:,jf) 168 END DO 169 END DO 170 ENDIF 171 ! 172 IF ( .NOT. l_fast_exchanges ) THEN 173 IF( nimpp + nlci - nn_hls /= jpiglo ) THEN 174 endloop = nlci 175 ELSE 176 endloop = nlci - nn_hls 177 ENDIF 178 IF( nimpp - nn_hls+1 >= jpiglo/2 ) THEN 179 startloop = 1- nn_hls + 1 180 ELSEIF( ( nimpp+nlci-1 >= jpiglo/2 ) .AND. ( nimpp - nn_hls+1 < jpiglo/2 ) ) THEN 181 startloop = jpiglo/2 - nimpp + nn_hls 182 ELSE 183 startloop = endloop + 1 184 ENDIF 185 IF( startloop <= endloop ) THEN 186 DO jl = 1, ipl; DO jk = 1, ipk 187 DO ji = startloop, endloop 188 iju = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 3 189 jia = ji + nimpp - 1 190 ijua = jpiglo - jia + 1 191 IF( ijua >= startloop+nimpp-1 .AND. ijua < jia ) THEN 192 ARRAY_IN(ji,nlcj-nn_hls,jk,jl,jf) = SGN_IN(jf) * ARRAY_IN(ijua-nimpp+1,nlcj-nn_hls,jk,jl,jf) 193 ELSE 194 ARRAY_IN(ji,nlcj-nn_hls,jk,jl,jf) = SGN_IN(jf) * ARRAY2_IN(iju,nn_hls+1,jk,jl,jf) 195 ENDIF 196 END DO 197 END DO; END DO 198 ENDIF 199 ENDIF 200 ! 201 CASE ( 'V' ) ! V-point 202 IF( nimpp - nn_hls+1 /= 1 ) THEN 203 startloop = 1 - nn_hls + 1 204 ELSE 205 startloop = 2 206 ENDIF 207 IF ( .NOT. l_fast_exchanges ) THEN 208 DO jl = 1, ipl; DO jk = 1, ipk 209 DO jj = 2, nn_hls+1 210 ijj = nlcj -jj +1 211 DO ji = startloop, nlci 212 ijt=jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 4 213 ARRAY_IN(ji,ijj,jk,jl,jf) = SGN_IN(jf) * ARRAY2_IN(ijt,jj,jk,jl,jf) 214 END DO 215 END DO 216 END DO; END DO 217 ENDIF 218 DO jl = 1, ipl; DO jk = 1, ipk 219 DO ji = startloop, nlci 220 ijt=jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 4 221 ARRAY_IN(ji,nlcj,jk,jl,jf) = SGN_IN(jf) * ARRAY2_IN(ijt,1,jk,jl,jf) 222 END DO 223 END DO; END DO 224 IF (nimpp - nn_hls+1.eq. 1) THEN 225 DO jj = 1, nn_hls 226 ijj = nlcj-jj+1 227 DO ii = 1, nn_hls 228 ARRAY_IN(1-ii+1,ijj,:,:,jf) = SGN_IN(jf) * ARRAY_IN(ii+2,nlcj-2*nn_hls+jj-1,:,:,jf) 229 END DO 230 END DO 231 ENDIF 232 CASE ( 'F' ) ! F-point 233 IF( nimpp + nlci - nn_hls /= jpiglo ) THEN 234 endloop = nlci 235 ELSE 236 endloop = nlci - nn_hls 237 ENDIF 238 IF ( .NOT. l_fast_exchanges ) THEN 239 DO jl = 1, ipl; DO jk = 1, ipk 240 DO jj = 2, nn_hls+1 241 ijj = nlcj -jj +1 242 DO ji = 1 - nn_hls +1, endloop 243 iju = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 3 244 ARRAY_IN(ji,ijj,jk,jl,jf) = SGN_IN(jf) * ARRAY2_IN(iju,jj,jk,jl,jf) 245 END DO 246 END DO 247 END DO; END DO 248 ENDIF 249 DO jl = 1, ipl; DO jk = 1, ipk 250 DO ji = 1- nn_hls +1, endloop 251 iju = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 3 252 ARRAY_IN(ji,nlcj,jk,jl,jf) = SGN_IN(jf) * ARRAY2_IN(iju,1,jk,jl,jf) 253 END DO 254 END DO; END DO 255 IF (nimpp - nn_hls+1.eq. 1) THEN 256 DO ii = 1, nn_hls 257 ARRAY_IN(2-ii,nlcj,:,:,jf) = SGN_IN(jf) * ARRAY_IN(ii+1,nlcj-2*nn_hls-1,:,:,jf) 258 END DO 259 IF ( .NOT. l_fast_exchanges ) THEN 260 DO jj = 1, nn_hls 261 ijj = nlcj -jj 262 DO ii = 1, nn_hls 263 ARRAY_IN(2-ii,ijj,:,:,jf) = SGN_IN(jf) * ARRAY_IN(ii+1,nlcj-2*nn_hls+jj-1,:,:,jf) 264 END DO 265 END DO 266 ENDIF 267 ENDIF 268 IF((nimpp + nlci - nn_hls ) .eq. jpiglo) THEN 269 DO ii = 1, nn_hls 270 ARRAY_IN(nlci-ii+1,nlcj,:,:,jf) = SGN_IN(jf) * ARRAY_IN(nlci-2*nn_hls+ii,nlcj-2*nn_hls-1,:,:,jf) 271 END DO 272 IF ( .NOT. l_fast_exchanges ) THEN 273 DO jj = 1, nn_hls 274 ijj = nlcj -jj 275 DO ii = 1, nn_hls 276 ARRAY_IN(nlci-ii+1,ijj,:,:,jf) = SGN_IN(jf) * ARRAY_IN(nlci-2*nn_hls+ii,nlcj-2*nn_hls+jj-1,:,:,jf) 277 END DO 278 END DO 279 ENDIF 280 ENDIF 281 ! 282 END SELECT 283 ! 284 CASE ( 5, 6 ) ! * North fold F-point pivot 285 ! 286 WRITE(*,*) 'extrahalo not handled in this case', __FILE__, __LINE__ 287 SELECT CASE ( NAT_IN(jf) ) 288 CASE ( 'T' , 'W' ) ! T-, W-point 289 DO jl = 1, ipl; DO jk = 1, ipk 290 DO jj = 1, nn_hls 291 ijj = nlcj -jj+1 292 DO ji = 1, nlci 293 ijt = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 3 294 ARRAY_IN(ji,ijj,jk,jl,jf) = SGN_IN(jf) * ARRAY2_IN(ijt,jj,jk,jl,jf) 295 END DO 296 END DO 297 END DO; END DO 298 ! 137 299 CASE ( 'U' ) ! U-point 138 300 IF( nimpp + nlci - 1 /= jpiglo ) THEN … … 143 305 DO jl = 1, ipl; DO jk = 1, ipk 144 306 DO ji = 1, endloop 145 iju = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 3 146 ARRAY_IN(ji,nlcj,jk,jl,jf) = SGN_IN(jf) * ARRAY2_IN(iju,ijpj,jk,jl,jf) 147 END DO 148 END DO; END DO 149 IF (nimpp .eq. 1) THEN 150 ARRAY_IN(1,nlcj,:,:,jf) = SGN_IN(jf) * ARRAY_IN(2,nlcj-2,:,:,jf) 151 ENDIF 307 iju = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 2 308 ARRAY_IN(ji,nlcj,jk,jl,jf) = SGN_IN(jf) * ARRAY2_IN(iju,ijpj-1,jk,jl,jf) 309 END DO 310 END DO; END DO 152 311 IF((nimpp + nlci - 1) .eq. jpiglo) THEN 153 ARRAY_IN(nlci,nlcj,:,:,jf) = SGN_IN(jf) * ARRAY_IN(nlci-1,nlcj-2,:,:,jf) 154 ENDIF 155 ! 156 IF ( .NOT. l_fast_exchanges ) THEN 157 IF( nimpp + nlci - 1 /= jpiglo ) THEN 158 endloop = nlci 159 ELSE 160 endloop = nlci - 1 161 ENDIF 162 IF( nimpp >= jpiglo/2 ) THEN 163 startloop = 1 164 ELSEIF( ( nimpp+nlci-1 >= jpiglo/2 ) .AND. ( nimpp < jpiglo/2 ) ) THEN 165 startloop = jpiglo/2 - nimpp + 1 166 ELSE 167 startloop = endloop + 1 168 ENDIF 169 IF( startloop <= endloop ) THEN 170 DO jl = 1, ipl; DO jk = 1, ipk 171 DO ji = startloop, endloop 172 iju = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 3 173 jia = ji + nimpp - 1 174 ijua = jpiglo - jia + 1 175 IF( ijua >= startloop+nimpp-1 .AND. ijua < jia ) THEN 176 ARRAY_IN(ji,nlcj-1,jk,jl,jf) = SGN_IN(jf) * ARRAY_IN(ijua-nimpp+1,nlcj-1,jk,jl,jf) 177 ELSE 178 ARRAY_IN(ji,nlcj-1,jk,jl,jf) = SGN_IN(jf) * ARRAY2_IN(iju,ijpjp1,jk,jl,jf) 179 ENDIF 180 END DO 181 END DO; END DO 182 ENDIF 312 DO jl = 1, ipl; DO jk = 1, ipk 313 ARRAY_IN(nlci,nlcj,jk,jl,jf) = SGN_IN(jf) * ARRAY_IN(nlci-2,nlcj-1,jk,jl,jf) 314 END DO; END DO 183 315 ENDIF 184 316 ! 185 317 CASE ( 'V' ) ! V-point 186 IF( nimpp /= 1 ) THEN187 startloop = 1188 ELSE189 startloop = 2190 ENDIF191 IF ( .NOT. l_fast_exchanges ) THEN192 DO jl = 1, ipl; DO jk = 1, ipk193 DO ji = startloop, nlci194 ijt=jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 4195 ARRAY_IN(ji,nlcj-1,jk,jl,jf) = SGN_IN(jf) * ARRAY2_IN(ijt,ijpjp1,jk,jl,jf)196 END DO197 END DO; END DO198 ENDIF199 DO jl = 1, ipl; DO jk = 1, ipk200 DO ji = startloop, nlci201 ijt=jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 4202 ARRAY_IN(ji,nlcj,jk,jl,jf) = SGN_IN(jf) * ARRAY2_IN(ijt,ijpj,jk,jl,jf)203 END DO204 END DO; END DO205 IF (nimpp .eq. 1) THEN206 ARRAY_IN(1,nlcj,:,:,jf) = SGN_IN(jf) * ARRAY_IN(3,nlcj-3,:,:,jf)207 ENDIF208 CASE ( 'F' ) ! F-point209 IF( nimpp + nlci - 1 /= jpiglo ) THEN210 endloop = nlci211 ELSE212 endloop = nlci - 1213 ENDIF214 IF ( .NOT. l_fast_exchanges ) THEN215 DO jl = 1, ipl; DO jk = 1, ipk216 DO ji = 1, endloop217 iju = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 3218 ARRAY_IN(ji,nlcj-1,jk,jl,jf) = SGN_IN(jf) * ARRAY2_IN(iju,ijpjp1,jk,jl,jf)219 END DO220 END DO; END DO221 ENDIF222 DO jl = 1, ipl; DO jk = 1, ipk223 DO ji = 1, endloop224 iju = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 3225 ARRAY_IN(ji,nlcj,jk,jl,jf) = SGN_IN(jf) * ARRAY2_IN(iju,ijpj,jk,jl,jf)226 END DO227 END DO; END DO228 IF (nimpp .eq. 1) THEN229 ARRAY_IN(1,nlcj,:,:,jf) = SGN_IN(jf) * ARRAY_IN(2,nlcj-3,:,:,jf)230 IF ( .NOT. l_fast_exchanges ) &231 ARRAY_IN(1,nlcj-1,:,:,jf) = SGN_IN(jf) * ARRAY_IN(2,nlcj-2,:,:,jf)232 ENDIF233 IF((nimpp + nlci - 1) .eq. jpiglo) THEN234 ARRAY_IN(nlci,nlcj,:,:,jf) = SGN_IN(jf) * ARRAY_IN(nlci-1,nlcj-3,:,:,jf)235 IF ( .NOT. l_fast_exchanges ) &236 ARRAY_IN(nlci,nlcj-1,:,:,jf) = SGN_IN(jf) * ARRAY_IN(nlci-1,nlcj-2,:,:,jf)237 ENDIF238 !239 END SELECT240 !241 CASE ( 5, 6 ) ! * North fold F-point pivot242 !243 SELECT CASE ( NAT_IN(jf) )244 CASE ( 'T' , 'W' ) ! T-, W-point245 318 DO jl = 1, ipl; DO jk = 1, ipk 246 319 DO ji = 1, nlci 247 320 ijt = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 3 248 ARRAY_IN(ji,nlcj,jk,jl,jf) = SGN_IN(jf) * ARRAY2_IN(ijt,ijpj,jk,jl,jf) 249 END DO 250 END DO; END DO 251 ! 252 CASE ( 'U' ) ! U-point 253 IF( nimpp + nlci - 1 /= jpiglo ) THEN 254 endloop = nlci 255 ELSE 256 endloop = nlci - 1 257 ENDIF 258 DO jl = 1, ipl; DO jk = 1, ipk 259 DO ji = 1, endloop 260 iju = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 2 261 ARRAY_IN(ji,nlcj,jk,jl,jf) = SGN_IN(jf) * ARRAY2_IN(iju,ijpj,jk,jl,jf) 262 END DO 263 END DO; END DO 264 IF((nimpp + nlci - 1) .eq. jpiglo) THEN 265 DO jl = 1, ipl; DO jk = 1, ipk 266 ARRAY_IN(nlci,nlcj,jk,jl,jf) = SGN_IN(jf) * ARRAY_IN(nlci-2,nlcj-1,jk,jl,jf) 267 END DO; END DO 268 ENDIF 269 ! 270 CASE ( 'V' ) ! V-point 271 DO jl = 1, ipl; DO jk = 1, ipk 272 DO ji = 1, nlci 273 ijt = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 3 274 ARRAY_IN(ji,nlcj,jk,jl,jf) = SGN_IN(jf) * ARRAY2_IN(ijt,ijpj,jk,jl,jf) 321 ARRAY_IN(ji,nlcj,jk,jl,jf) = SGN_IN(jf) * ARRAY2_IN(ijt,ijpj-1,jk,jl,jf) 275 322 END DO 276 323 END DO; END DO … … 288 335 DO ji = startloop, nlci 289 336 ijt = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 3 290 ARRAY_IN(ji,nlcj-1,jk,jl,jf) = SGN_IN(jf) * ARRAY2_IN(ijt,ijpj p1,jk,jl,jf)337 ARRAY_IN(ji,nlcj-1,jk,jl,jf) = SGN_IN(jf) * ARRAY2_IN(ijt,ijpj,jk,jl,jf) 291 338 END DO 292 339 END DO; END DO … … 303 350 DO ji = 1, endloop 304 351 iju = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 2 305 ARRAY_IN(ji,nlcj ,jk,jl,jf) = SGN_IN(jf) * ARRAY2_IN(iju,ijpj ,jk,jl,jf)352 ARRAY_IN(ji,nlcj ,jk,jl,jf) = SGN_IN(jf) * ARRAY2_IN(iju,ijpj-1,jk,jl,jf) 306 353 END DO 307 354 END DO; END DO … … 329 376 DO ji = startloop, endloop 330 377 iju = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 2 331 ARRAY_IN(ji,nlcj-1,jk,jl,jf) = SGN_IN(jf) * ARRAY2_IN(iju,ijpj p1,jk,jl,jf)378 ARRAY_IN(ji,nlcj-1,jk,jl,jf) = SGN_IN(jf) * ARRAY2_IN(iju,ijpj,jk,jl,jf) 332 379 END DO 333 380 END DO; END DO
Note: See TracChangeset
for help on using the changeset viewer.