Changeset 3634 for palm/trunk/SOURCE/tridia_solver_mod.f90
- Timestamp:
- Dec 18, 2018 12:31:28 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/tridia_solver_mod.f90
r3274 r3634 25 25 ! ----------------- 26 26 ! $Id$ 27 ! OpenACC port for SPEC 28 ! 29 ! 3274 2018-09-24 15:42:55Z knoop 27 30 ! Modularization of all bulk cloud physics code components 28 31 ! … … 150 153 151 154 USE arrays_3d, & 152 ONLY: ddzu_pres, ddzw, rho_air_zw 155 ONLY: ddzu_pres, ddzw, rho_air_zw, tri 153 156 154 157 IMPLICIT NONE … … 169 172 CALL maketri 170 173 CALL split 174 175 !$ACC ENTER DATA & 176 !$ACC COPYIN(ddzuw(0:nz-1,1:3)) & 177 !$ACC COPYIN(tri(nxl_z:nxr_z,nys_z:nyn_z,0:nz-1,1:2)) 171 178 172 179 END SUBROUTINE tridia_init … … 290 297 291 298 REAL(wp), DIMENSION(nxl_z:nxr_z,nys_z:nyn_z,0:nz-1) :: ar1 !< 299 !$ACC DECLARE CREATE(ar1) 292 300 293 301 ! 294 302 !-- Forward substitution 303 !$ACC PARALLEL PRESENT(ar, ar1, tri) PRIVATE(i,j,k) 295 304 DO k = 0, nz - 1 305 !$ACC LOOP COLLAPSE(2) 296 306 DO j = nys_z, nyn_z 297 307 DO i = nxl_z, nxr_z … … 306 316 ENDDO 307 317 ENDDO 318 !$ACC END PARALLEL 308 319 309 320 ! … … 312 323 !-- by zero appearing if the pressure bc is set to neumann at the top of 313 324 !-- the model domain. 325 !$ACC PARALLEL PRESENT(ar, ar1, ddzuw, tri) PRIVATE(i,j,k) 314 326 DO k = nz-1, 0, -1 327 !$ACC LOOP COLLAPSE(2) 315 328 DO j = nys_z, nyn_z 316 329 DO i = nxl_z, nxr_z … … 325 338 ENDDO 326 339 ENDDO 340 !$ACC END PARALLEL 327 341 328 342 ! … … 332 346 IF ( ibc_p_b == 1 .AND. ibc_p_t == 1 ) THEN 333 347 IF ( nys_z == 0 .AND. nxl_z == 0 ) THEN 348 !$ACC PARALLEL LOOP PRESENT(ar) 334 349 DO k = 1, nz 335 350 ar(nxl_z,nys_z,k) = 0.0_wp
Note: See TracChangeset
for help on using the changeset viewer.