Skip to content

Commit 5cb5c63

Browse files
committed
Merge branch 'atmosphere/smlstep_pert_reduce_args' into develop (PR #1227)
This merge removes unused arguments from the atm_set_smlstep_pert_variables_work and atm_set_smlstep_pert_variables routines. * atmosphere/smlstep_pert_reduce_args: Remove unused arguments from atm_set_smlstep_pert_variables and _work routines Whitespace, improve if-statement readability in atm_set_smlstep_pert_variables_work
2 parents be13523 + 8f24163 commit 5cb5c63

File tree

1 file changed

+33
-87
lines changed

1 file changed

+33
-87
lines changed

src/core_atmosphere/dynamics/mpas_atm_time_integration.F

+33-87
Original file line numberDiff line numberDiff line change
@@ -999,11 +999,8 @@ subroutine atm_srk3(domain, dt, itimestep, exchange_halo_group)
999999

10001000
!$OMP PARALLEL DO
10011001
do thread=1,nThreads
1002-
call atm_set_smlstep_pert_variables( tend, diag, mesh, block % configs, &
1003-
cellThreadStart(thread), cellThreadEnd(thread), &
1004-
edgeThreadStart(thread), edgeThreadEnd(thread), &
1005-
cellSolveThreadStart(thread), cellSolveThreadEnd(thread), &
1006-
edgeSolveThreadStart(thread), edgeSolveThreadEnd(thread))
1002+
call atm_set_smlstep_pert_variables( tend, mesh, &
1003+
cellSolveThreadStart(thread), cellSolveThreadEnd(thread))
10071004
end do
10081005
!$OMP END PARALLEL DO
10091006
call mpas_timer_stop('small_step_prep')
@@ -2006,9 +2003,7 @@ subroutine atm_compute_vert_imp_coefs_work(nCells, moist_start, moist_end, dts,
20062003
end subroutine atm_compute_vert_imp_coefs_work
20072004

20082005

2009-
subroutine atm_set_smlstep_pert_variables( tend, diag, mesh, configs, &
2010-
cellStart, cellEnd, edgeStart, edgeEnd, &
2011-
cellSolveStart, cellSolveEnd, edgeSolveStart, edgeSolveEnd)
2006+
subroutine atm_set_smlstep_pert_variables( tend, mesh, cellSolveStart, cellSolveEnd)
20122007

20132008
! following Klemp et al MWR 2007, we use preturbation variables
20142009
! in the acoustic-step integration. This routine computes those
@@ -2019,91 +2014,58 @@ subroutine atm_set_smlstep_pert_variables( tend, diag, mesh, configs, &
20192014
implicit none
20202015

20212016
type (mpas_pool_type), intent(inout) :: tend
2022-
type (mpas_pool_type), intent(inout) :: diag
20232017
type (mpas_pool_type), intent(inout) :: mesh
2024-
type (mpas_pool_type), intent(in) :: configs
2025-
integer, intent(in) :: cellStart, cellEnd, edgeStart, edgeEnd
2026-
integer, intent(in) :: cellSolveStart, cellSolveEnd, edgeSolveStart, edgeSolveEnd
2018+
integer, intent(in) :: cellSolveStart, cellSolveEnd
2019+
2020+
integer, pointer :: nCells, nEdges
20272021

2028-
integer, pointer :: nCells, nEdges, nCellsSolve
20292022
integer, dimension(:), pointer :: nEdgesOnCell
20302023
integer, dimension(:,:), pointer :: cellsOnEdge, edgesOnCell
2024+
real (kind=RKIND), dimension(:,:), pointer :: edgesOnCell_sign
2025+
integer, dimension(:), pointer :: bdyMaskCell ! regional_MPAS
2026+
20312027
real (kind=RKIND), dimension(:), pointer :: fzm, fzp
2032-
real (kind=RKIND), dimension(:,:), pointer :: ruAvg, wwAvg
20332028
real (kind=RKIND), dimension(:,:,:), pointer :: zb, zb3, zb_cell, zb3_cell
20342029
real (kind=RKIND), dimension(:,:), pointer :: zz
2035-
real (kind=RKIND), dimension(:,:), pointer :: w_tend, u_tend
2036-
real (kind=RKIND), dimension(:,:), pointer :: rho_pp, rho_p_save, rho_p
2037-
real (kind=RKIND), dimension(:,:), pointer :: ru_p, ru, ru_save
2038-
real (kind=RKIND), dimension(:,:), pointer :: rtheta_pp, rtheta_p_save, rtheta_p, rtheta_pp_old
2039-
real (kind=RKIND), dimension(:,:), pointer :: rw_p, rw_save, rw
2040-
real (kind=RKIND), dimension(:,:), pointer :: edgesOnCell_sign
20412030

2042-
integer, dimension(:), pointer :: bdyMaskCell ! regional_MPAS
2031+
real (kind=RKIND), dimension(:,:), pointer :: w_tend, u_tend
20432032

20442033
call mpas_pool_get_dimension(mesh, 'nCells', nCells)
2045-
call mpas_pool_get_dimension(mesh, 'nCellsSolve', nCellsSolve)
20462034
call mpas_pool_get_dimension(mesh, 'nEdges', nEdges)
20472035

2036+
call mpas_pool_get_array(mesh, 'nEdgesOnCell', nEdgesOnCell)
2037+
call mpas_pool_get_array(mesh, 'cellsOnEdge', cellsOnEdge)
2038+
call mpas_pool_get_array(mesh, 'edgesOnCell', edgesOnCell)
2039+
call mpas_pool_get_array(mesh, 'edgesOnCell_sign', edgesOnCell_sign)
20482040
! regional_MPAS: get specified zone cell mask
20492041
call mpas_pool_get_array(mesh, 'bdyMaskCell', bdyMaskCell)
20502042

2051-
call mpas_pool_get_array(mesh, 'zz', zz)
2043+
call mpas_pool_get_array(mesh, 'fzm', fzm)
2044+
call mpas_pool_get_array(mesh, 'fzp', fzp)
20522045
call mpas_pool_get_array(mesh, 'zb', zb)
20532046
call mpas_pool_get_array(mesh, 'zb3', zb3)
20542047
call mpas_pool_get_array(mesh, 'zb_cell', zb_cell)
20552048
call mpas_pool_get_array(mesh, 'zb3_cell', zb3_cell)
2056-
call mpas_pool_get_array(mesh, 'fzm', fzm)
2057-
call mpas_pool_get_array(mesh, 'fzp', fzp)
2058-
call mpas_pool_get_array(mesh, 'cellsOnEdge', cellsOnEdge)
2059-
call mpas_pool_get_array(mesh, 'nEdgesOnCell', nEdgesOnCell)
2060-
call mpas_pool_get_array(mesh, 'edgesOnCell', edgesOnCell)
2061-
call mpas_pool_get_array(mesh, 'edgesOnCell_sign', edgesOnCell_sign)
2049+
call mpas_pool_get_array(mesh, 'zz', zz)
20622050

20632051
call mpas_pool_get_array(tend, 'w', w_tend)
20642052
call mpas_pool_get_array(tend, 'u', u_tend)
20652053

2066-
call mpas_pool_get_array(diag, 'ruAvg', ruAvg)
2067-
call mpas_pool_get_array(diag, 'wwAvg', wwAvg)
2068-
2069-
call mpas_pool_get_array(diag, 'rho_pp', rho_pp)
2070-
call mpas_pool_get_array(diag, 'rho_p_save', rho_p_save)
2071-
call mpas_pool_get_array(diag, 'rho_p', rho_p)
2072-
2073-
call mpas_pool_get_array(diag, 'ru_p', ru_p)
2074-
call mpas_pool_get_array(diag, 'ru_save', ru_save)
2075-
call mpas_pool_get_array(diag, 'ru', ru)
2076-
2077-
call mpas_pool_get_array(diag, 'rtheta_pp', rtheta_pp)
2078-
call mpas_pool_get_array(diag, 'rtheta_p_save', rtheta_p_save)
2079-
call mpas_pool_get_array(diag, 'rtheta_p', rtheta_p)
2080-
call mpas_pool_get_array(diag, 'rtheta_pp_old', rtheta_pp_old)
2081-
2082-
call mpas_pool_get_array(diag, 'rw_p', rw_p)
2083-
call mpas_pool_get_array(diag, 'rw_save', rw_save)
2084-
call mpas_pool_get_array(diag, 'rw', rw)
2085-
2086-
call atm_set_smlstep_pert_variables_work(nCells, nEdges, nCellsSolve, &
2087-
nEdgesOnCell, cellsOnEdge, edgesOnCell, fzm, fzp, ruAvg, wwAvg, zb, zb3, zb_cell, zb3_cell, &
2088-
zz, w_tend, u_tend, rho_pp, rho_p_save, rho_p, ru_p, ru, ru_save, &
2089-
rtheta_pp, rtheta_p_save, rtheta_p, rtheta_pp_old, rw_p, rw_save, rw, &
2090-
bdyMaskCell, & ! added for regional_MPAS
2091-
edgesOnCell_sign, &
2092-
cellStart, cellEnd, edgeStart, edgeEnd, &
2093-
cellSolveStart, cellSolveEnd, edgeSolveStart, edgeSolveEnd)
2054+
call atm_set_smlstep_pert_variables_work(nCells, nEdges, &
2055+
nEdgesOnCell, cellsOnEdge, edgesOnCell, edgesOnCell_sign, bdyMaskCell, &
2056+
fzm, fzp, zb, zb3, zb_cell, zb3_cell, zz, &
2057+
w_tend, u_tend, &
2058+
cellSolveStart, cellSolveEnd)
20942059

20952060

20962061
end subroutine atm_set_smlstep_pert_variables
20972062

20982063

2099-
subroutine atm_set_smlstep_pert_variables_work(nCells, nEdges, nCellsSolve, &
2100-
nEdgesOnCell, cellsOnEdge, edgesOnCell, fzm, fzp, ruAvg, wwAvg, zb, zb3, zb_cell, zb3_cell, &
2101-
zz, w_tend, u_tend, rho_pp, rho_p_save, rho_p, ru_p, ru, ru_save, &
2102-
rtheta_pp, rtheta_p_save, rtheta_p, rtheta_pp_old, rw_p, rw_save, rw, &
2103-
bdyMaskCell, & ! added for regional_MPAS
2104-
edgesOnCell_sign, &
2105-
cellStart, cellEnd, edgeStart, edgeEnd, &
2106-
cellSolveStart, cellSolveEnd, edgeSolveStart, edgeSolveEnd)
2064+
subroutine atm_set_smlstep_pert_variables_work(nCells, nEdges, &
2065+
nEdgesOnCell, cellsOnEdge, edgesOnCell, edgesOnCell_sign, bdyMaskCell, &
2066+
fzm, fzp, zb, zb3, zb_cell, zb3_cell, zz, &
2067+
w_tend, u_tend, &
2068+
cellSolveStart, cellSolveEnd)
21072069

21082070
use mpas_atm_dimensions
21092071

@@ -2113,41 +2075,26 @@ subroutine atm_set_smlstep_pert_variables_work(nCells, nEdges, nCellsSolve, &
21132075
!
21142076
! Dummy arguments
21152077
!
2116-
integer, intent(in) :: nCells, nEdges, nCellsSolve
2117-
2118-
integer, intent(in) :: cellStart, cellEnd, edgeStart, edgeEnd
2119-
integer, intent(in) :: cellSolveStart, cellSolveEnd, edgeSolveStart, edgeSolveEnd
2078+
integer, intent(in) :: nCells, nEdges
2079+
integer, intent(in) :: cellSolveStart, cellSolveEnd
21202080

21212081
integer, dimension(nCells+1) :: nEdgesOnCell
21222082
integer, dimension(2,nEdges+1) :: cellsOnEdge
21232083
integer, dimension(maxEdges,nCells+1) :: edgesOnCell
2084+
real (kind=RKIND), dimension(maxEdges,nCells+1) :: edgesOnCell_sign
2085+
integer, dimension(nCells+1), intent(in) :: bdyMaskCell ! added for regional_MPAS
2086+
21242087
real (kind=RKIND), dimension(nVertLevels) :: fzm
21252088
real (kind=RKIND), dimension(nVertLevels) :: fzp
2126-
real (kind=RKIND), dimension(nVertLevels,nEdges+1) :: ruAvg
2127-
real (kind=RKIND), dimension(nVertLevels+1,nCells+1) :: wwAvg
21282089
real (kind=RKIND), dimension(nVertLevels+1,2,nEdges+1) :: zb
21292090
real (kind=RKIND), dimension(nVertLevels+1,2,nEdges+1) :: zb3
21302091
real (kind=RKIND), dimension(nVertLevels+1,maxEdges,nCells+1) :: zb_cell
21312092
real (kind=RKIND), dimension(nVertLevels+1,maxEdges,nCells+1) :: zb3_cell
21322093
real (kind=RKIND), dimension(nVertLevels,nCells+1) :: zz
2094+
21332095
real (kind=RKIND), dimension(nVertLevels+1,nCells+1) :: w_tend
21342096
real (kind=RKIND), dimension(nVertLevels,nEdges+1) :: u_tend
2135-
real (kind=RKIND), dimension(nVertLevels,nCells+1) :: rho_pp
2136-
real (kind=RKIND), dimension(nVertLevels,nCells+1) :: rho_p_save
2137-
real (kind=RKIND), dimension(nVertLevels,nCells+1) :: rho_p
2138-
real (kind=RKIND), dimension(nVertLevels,nEdges+1) :: ru_p
2139-
real (kind=RKIND), dimension(nVertLevels,nEdges+1) :: ru
2140-
real (kind=RKIND), dimension(nVertLevels,nEdges+1) :: ru_save
2141-
real (kind=RKIND), dimension(nVertLevels,nCells+1) :: rtheta_pp
2142-
real (kind=RKIND), dimension(nVertLevels,nCells+1) :: rtheta_p_save
2143-
real (kind=RKIND), dimension(nVertLevels,nCells+1) :: rtheta_p
2144-
real (kind=RKIND), dimension(nVertLevels,nCells+1) :: rtheta_pp_old
2145-
real (kind=RKIND), dimension(nVertLevels+1,nCells+1) :: rw_p
2146-
real (kind=RKIND), dimension(nVertLevels+1,nCells+1) :: rw_save
2147-
real (kind=RKIND), dimension(nVertLevels+1,nCells+1) :: rw
2148-
real (kind=RKIND), dimension(maxEdges,nCells+1) :: edgesOnCell_sign
21492097

2150-
integer, dimension(nCells+1), intent(in) :: bdyMaskCell ! added for regional_MPAS
21512098

21522099
!
21532100
! Local variables
@@ -2165,7 +2112,6 @@ subroutine atm_set_smlstep_pert_variables_work(nCells, nEdges, nCellsSolve, &
21652112
! here we need to compute the omega tendency in a manner consistent with our diagnosis of omega.
21662113
! this requires us to use the same flux divergence as is used in the theta eqn - see Klemp et al MWR 2003.
21672114

2168-
!! do iCell=cellStart,cellEnd
21692115
!$acc parallel default(present)
21702116
!$acc loop gang worker
21712117
do iCell=cellSolveStart,cellSolveEnd

0 commit comments

Comments
 (0)