Changeset 4132 for LMDZ6/branches/Portage_acc/libf/phylmd/ajsec.F90
- Timestamp:
- Apr 20, 2022, 6:35:42 PM (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Portage_acc/libf/phylmd/ajsec.F90
r2346 r4132 1 1 2 ! $ Header$2 ! $Id$ 3 3 4 4 SUBROUTINE ajsec(paprs, pplay, t, q, limbas, d_t, d_q) … … 34 34 INTEGER i, k, k1, k2 35 35 36 !$acc data create (zh, zho, zq,zpk,zpkdp,modif) & 37 !$acc & copyin (paprs, pplay, t , q, limbas) & 38 !$acc & copyout (d_t, d_q) & 39 !$acc & 40 36 41 ! Initialisation: 37 42 … … 39 44 limhau = klev 40 45 46 !$acc kernels default(none) async 41 47 DO k = 1, klev 42 48 DO i = 1, klon … … 71 77 END DO 72 78 END DO 79 !$acc end kernels 73 80 ! ------------------------------------- correction des profils instables 81 !$acc kernels default(none) async 74 82 DO i = 1, klon 75 83 IF (modif(i)) THEN … … 114 122 END IF 115 123 END DO 116 124 !$acc end kernels 125 126 !$acc kernels default(none) async 117 127 DO k = 1, limhau 118 128 DO i = 1, klon … … 121 131 END DO 122 132 END DO 133 !$acc end kernels 123 134 124 135 ! FH : les d_q et d_t sont maintenant calcules de facon a valoir … … 144 155 145 156 IF (.NOT. mixq) THEN 157 !$acc kernels default(none) async 146 158 DO k = 1, klev 147 159 DO i = 1, klon … … 149 161 END DO 150 162 END DO 163 !$acc end kernels 151 164 END IF 165 !$acc end data 152 166 153 167 RETURN 168 154 169 END SUBROUTINE ajsec 155 170 … … 187 202 INTEGER i, k, k1, k2 188 203 204 !$acc data create (zh, zq, zpk, zpkdp, modif) & 205 !$acc & copyin (paprs, pplay, t , q) & 206 !$acc & copyout (d_t, d_q) 207 189 208 ! Initialisation: 190 209 … … 193 212 limhau = klev 194 213 214 !$acc kernels default(none) async 195 215 DO k = 1, klev 196 216 DO i = 1, klon … … 199 219 END DO 200 220 END DO 221 !$acc end kernels 222 201 223 ! ------------------------------------- detection des profils a modifier 224 !$acc kernels default(none) async 202 225 DO k = limbas, limhau 203 226 DO i = 1, klon … … 224 247 END DO 225 248 END DO 249 !$acc end kernels 226 250 ! ------------------------------------- correction des profils instables 251 !$acc kernels default(none) async 227 252 DO i = 1, klon 228 253 IF (modif(i)) THEN … … 267 292 END IF 268 293 END DO 269 294 !$acc end kernels 295 296 !$acc kernels default(none) async 270 297 DO k = limbas, limhau 271 298 DO i = 1, klon … … 274 301 END DO 275 302 END DO 303 !$acc end kernels 276 304 277 305 IF (limbas>1) THEN 306 !$acc kernels default(none) async 278 307 DO k = 1, limbas - 1 279 308 DO i = 1, klon … … 282 311 END DO 283 312 END DO 313 !$acc end kernels 284 314 END IF 285 315 286 316 IF (limhau<klev) THEN 317 !$acc kernels default(none) async 287 318 DO k = limhau + 1, klev 288 319 DO i = 1, klon … … 291 322 END DO 292 323 END DO 324 !$acc end kernels 293 325 END IF 294 326 295 327 IF (.NOT. mixq) THEN 328 !$acc kernels default(none) async 296 329 DO k = 1, klev 297 330 DO i = 1, klon … … 299 332 END DO 300 333 END DO 334 !$acc end kernels 301 335 END IF 302 336 337 !$acc end data 338 303 339 RETURN 340 341 304 342 END SUBROUTINE ajsec_convv2 305 343 SUBROUTINE ajsec_old(paprs, pplay, t, d_t) … … 324 362 LOGICAL modif(klon), down 325 363 INTEGER i, l, l1, l2 364 365 !$acc data create (local_h, modif) & 366 !$acc & copyin (paprs, pplay, t) & 367 !$acc & copyout (d_t) 368 326 369 ! ------------------------------------- detection des profils a modifier 370 !$acc kernels default(none) async 327 371 DO i = 1, klon 328 372 modif(i) = .FALSE. … … 344 388 END DO 345 389 END DO 390 !$acc end kernels 346 391 ! ------------------------------------- correction des profils instables 392 !$acc kernels default(none) async 347 393 DO i = 1, klon 348 394 IF (modif(i)) THEN … … 387 433 END IF 388 434 END DO 389 435 !$acc end kernels 436 437 !$acc kernels default(none) async 390 438 DO l = 1, klev 391 439 DO i = 1, klon … … 393 441 END DO 394 442 END DO 443 !$acc end kernels 444 !$acc end data 395 445 396 446 RETURN 447 448 397 449 END SUBROUTINE ajsec_old
Note: See TracChangeset
for help on using the changeset viewer.