Skip to content

Commit 057ee7e

Browse files
committed
Addressing review comments
Combining some OpenACC loops and parallel regions. Some whitespace changes. Removing redundant calls to mpas_pool_get_array.
1 parent d1c5164 commit 057ee7e

File tree

1 file changed

+4
-39
lines changed

1 file changed

+4
-39
lines changed

src/core_atmosphere/dynamics/mpas_atm_boundaries.F

Lines changed: 4 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -170,9 +170,9 @@ subroutine mpas_atm_update_bdy_tend(clock, streamManager, block, firstCall, ierr
170170
! Compute any derived fields from those that were read from the lbc_in stream
171171
!
172172
call mpas_pool_get_array(lbc, 'lbc_u', u, 2)
173-
call mpas_pool_get_array(lbc, 'lbc_w', w, 2)
174173
call mpas_pool_get_array(lbc, 'lbc_ru', ru, 2)
175174
call mpas_pool_get_array(lbc, 'lbc_rho_edge', rho_edge, 2)
175+
call mpas_pool_get_array(lbc, 'lbc_w', w, 2)
176176
call mpas_pool_get_array(lbc, 'lbc_theta', theta, 2)
177177
call mpas_pool_get_array(lbc, 'lbc_rtheta_m', rtheta_m, 2)
178178
call mpas_pool_get_array(lbc, 'lbc_rho_zz', rho_zz, 2)
@@ -221,7 +221,6 @@ subroutine mpas_atm_update_bdy_tend(clock, streamManager, block, firstCall, ierr
221221
!$acc end kernels
222222

223223
!$acc parallel
224-
! Compute lbc_rho_zz
225224
!$acc loop gang vector collapse(2)
226225
do iCell=1,nCells+1
227226
do k=1,nVertLevels
@@ -267,26 +266,6 @@ subroutine mpas_atm_update_bdy_tend(clock, streamManager, block, firstCall, ierr
267266
dt = 86400.0_RKIND * real(dd_intv, kind=RKIND) + real(s_intv, kind=RKIND) &
268267
+ (real(sn_intv, kind=RKIND) / real(sd_intv, kind=RKIND))
269268

270-
call mpas_pool_get_array(lbc, 'lbc_u', u, 2)
271-
call mpas_pool_get_array(lbc, 'lbc_ru', ru, 2)
272-
call mpas_pool_get_array(lbc, 'lbc_rho_edge', rho_edge, 2)
273-
call mpas_pool_get_array(lbc, 'lbc_w', w, 2)
274-
call mpas_pool_get_array(lbc, 'lbc_theta', theta, 2)
275-
call mpas_pool_get_array(lbc, 'lbc_rtheta_m', rtheta_m, 2)
276-
call mpas_pool_get_array(lbc, 'lbc_rho_zz', rho_zz, 2)
277-
call mpas_pool_get_array(lbc, 'lbc_rho', rho, 2)
278-
call mpas_pool_get_array(lbc, 'lbc_scalars', scalars, 2)
279-
280-
call mpas_pool_get_array(lbc, 'lbc_u', lbc_tend_u, 1)
281-
call mpas_pool_get_array(lbc, 'lbc_ru', lbc_tend_ru, 1)
282-
call mpas_pool_get_array(lbc, 'lbc_rho_edge', lbc_tend_rho_edge, 1)
283-
call mpas_pool_get_array(lbc, 'lbc_w', lbc_tend_w, 1)
284-
call mpas_pool_get_array(lbc, 'lbc_theta', lbc_tend_theta, 1)
285-
call mpas_pool_get_array(lbc, 'lbc_rtheta_m', lbc_tend_rtheta_m, 1)
286-
call mpas_pool_get_array(lbc, 'lbc_rho_zz', lbc_tend_rho_zz, 1)
287-
call mpas_pool_get_array(lbc, 'lbc_rho', lbc_tend_rho, 1)
288-
call mpas_pool_get_array(lbc, 'lbc_scalars', lbc_tend_scalars, 1)
289-
290269

291270
dt = 1.0_RKIND / dt
292271

@@ -296,13 +275,7 @@ subroutine mpas_atm_update_bdy_tend(clock, streamManager, block, firstCall, ierr
296275
do k=1,nVertLevels
297276
lbc_tend_u(k,iEdge) = (u(k,iEdge) - lbc_tend_u(k,iEdge)) * dt
298277
lbc_tend_ru(k,iEdge) = (ru(k,iEdge) - lbc_tend_ru(k,iEdge)) * dt
299-
end do
300-
end do
301-
302-
!$acc loop gang vector collapse(2)
303-
do iEdge=1,nEdges+1
304-
do k=1,nVertLevels
305-
lbc_tend_rho_edge(k,iEdge) = (rho_edge(k,iEdge) - lbc_tend_rho_edge(k,iEdge)) * dt
278+
lbc_tend_rho_edge(k,iEdge) = (rho_edge(k,iEdge) - lbc_tend_rho_edge(k,iEdge)) * dt
306279
end do
307280
end do
308281

@@ -318,25 +291,17 @@ subroutine mpas_atm_update_bdy_tend(clock, streamManager, block, firstCall, ierr
318291
do k=1,nVertLevels
319292
lbc_tend_theta(k,iCell) = (theta(k,iCell) - lbc_tend_theta(k,iCell)) * dt
320293
lbc_tend_rtheta_m(k,iCell) = (rtheta_m(k,iCell) - lbc_tend_rtheta_m(k,iCell)) * dt
321-
end do
322-
end do
323-
324-
!$acc loop gang vector collapse(2)
325-
do iCell=1,nCells+1
326-
do k=1,nVertLevels
327294
lbc_tend_rho_zz(k,iCell) = (rho_zz(k,iCell) - lbc_tend_rho_zz(k,iCell)) * dt
328295
lbc_tend_rho(k,iCell) = (rho(k,iCell) - lbc_tend_rho(k,iCell)) * dt
329296
end do
330297
end do
331-
!$acc end parallel
332-
333-
!$acc parallel default(present)
298+
334299
!$acc loop gang
335300
do iCell=1,nCells+1
336301
!$acc loop vector collapse(2)
337302
do k=1,nVertLevels
338303
do j = 1,nScalars
339-
lbc_tend_scalars(j,k,iCell) = (scalars(j,k,iCell) - lbc_tend_scalars(j,k,iCell)) * dt
304+
lbc_tend_scalars(j,k,iCell) = (scalars(j,k,iCell) - lbc_tend_scalars(j,k,iCell)) * dt
340305
end do
341306
end do
342307
end do

0 commit comments

Comments
 (0)