Skip to content

Commit f69d18b

Browse files
committed
Initial port of atm_bdy_reset_speczone_values
1 parent 37aa961 commit f69d18b

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

src/core_atmosphere/dynamics/mpas_atm_time_integration.F

+14
Original file line numberDiff line numberDiff line change
@@ -6780,15 +6780,29 @@ subroutine atm_bdy_reset_speczone_values( state, diag, mesh, nVertLevels, &
67806780
call mpas_pool_get_array(state, 'theta_m', theta_m, 2)
67816781
call mpas_pool_get_array(diag, 'rtheta_p', rtheta_p)
67826782
call mpas_pool_get_array(diag, 'rtheta_base', rtheta_base)
6783+
6784+
MPAS_ACC_TIMER_START('atm_bdy_reset_speczone_values [ACC_data_xfer]')
6785+
!$acc enter data copyin(rt_driving_values, rho_driving_values, rtheta_base, &
6786+
!$acc theta_m, rtheta_p)
6787+
MPAS_ACC_TIMER_STOP('atm_bdy_reset_speczone_values [ACC_data_xfer]')
67836788

6789+
!$acc parallel default(present)
6790+
!$acc loop gang worker
67846791
do iCell = cellSolveStart, cellSolveEnd
67856792
if( bdyMaskCell(iCell) > nRelaxZone) then
6793+
!$acc loop vector
67866794
do k=1, nVertLevels
67876795
theta_m(k,iCell) = rt_driving_values(k,iCell)/rho_driving_values(k,iCell)
67886796
rtheta_p(k,iCell) = rt_driving_values(k,iCell) - rtheta_base(k,iCell)
67896797
end do
67906798
end if
67916799
end do
6800+
!$acc end parallel
6801+
6802+
MPAS_ACC_TIMER_START('atm_bdy_reset_speczone_values [ACC_data_xfer]')
6803+
!$acc exit data copyout(theta_m, rtheta_p) &
6804+
!$acc delete(rt_driving_values, rho_driving_values, rtheta_base)
6805+
MPAS_ACC_TIMER_STOP('atm_bdy_reset_speczone_values [ACC_data_xfer]')
67926806

67936807
end subroutine atm_bdy_reset_speczone_values
67946808

0 commit comments

Comments
 (0)