Skip to content

Commit 4541c24

Browse files
committed
refactor: consolidate grid arrays into type(grid_axis) :: x, y, z
Replace flat allocatable arrays x_cb/y_cb/z_cb, x_cc/y_cc/z_cc, and dx/dy/dz with a derived type having .cb, .cc, and .spacing components. All three executables (pre_process, simulation, post_process) updated across 47 files. Key design decisions: - pre_process keeps scalar dx/dy/dz as minimum cell-width scalars; only x_cb and x_cc are folded into x%cb and x%cc - OpenMP GPU target uses whole-struct declare target (x, y, z) since component-level declare target is invalid; OpenACC uses component-level - 2dHardcodedIC.fpp wraps dx*dy in #ifdef MFC_PRE_PROCESS for the scalar vs per-cell context difference Special variable collisions fixed: - m_chemistry.fpp: local integer x/y/z -> cx/cy/cz - m_weno.fpp: local real y(1:4) scratch -> ys - m_viscous.fpp: local real dx(1:3) scratch -> ds - m_ibm.fpp: local scalar dx/dy/dz -> dx_loc/dy_loc/dz_loc - m_cbc.fpp: Fypp template d${XYZ}$ -> ${XYZ}$%spacing
1 parent 8e4c7ea commit 4541c24

47 files changed

Lines changed: 1831 additions & 1783 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/common/include/1dHardcodedIC.fpp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@
77
select case (patch_icpp(patch_id)%hcid)
88
case (150) ! 1D Smooth Alfven Case for MHD
99
! velocity
10-
q_prim_vf(eqn_idx%mom%beg + 1)%sf(i, 0, 0) = 0.1_wp*sin(2._wp*pi*x_cc(i))
11-
q_prim_vf(eqn_idx%mom%beg + 2)%sf(i, 0, 0) = 0.1_wp*cos(2._wp*pi*x_cc(i))
10+
q_prim_vf(eqn_idx%mom%beg + 1)%sf(i, 0, 0) = 0.1_wp*sin(2._wp*pi*x%cc(i))
11+
q_prim_vf(eqn_idx%mom%beg + 2)%sf(i, 0, 0) = 0.1_wp*cos(2._wp*pi*x%cc(i))
1212

1313
! magnetic field
14-
q_prim_vf(eqn_idx%B%end - 1)%sf(i, 0, 0) = 0.1_wp*sin(2._wp*pi*x_cc(i))
15-
q_prim_vf(eqn_idx%B%end)%sf(i, 0, 0) = 0.1_wp*cos(2._wp*pi*x_cc(i))
14+
q_prim_vf(eqn_idx%B%end - 1)%sf(i, 0, 0) = 0.1_wp*sin(2._wp*pi*x%cc(i))
15+
q_prim_vf(eqn_idx%B%end)%sf(i, 0, 0) = 0.1_wp*cos(2._wp*pi*x%cc(i))
1616
case (170) ! 1D profile from external data (e.g. Cantera, SDtoolbox)
1717
! This hardcoded case can be used to start a simulation with initial conditions given from a known 1D profile (e.g. Cantera,
1818
! SDtoolbox)
@@ -21,17 +21,17 @@
2121
! This is patch is hard-coded for test suite optimization used in the 1D_shuoser cases: "patch_icpp(2)%alpha_rho(1)": "1 +
2222
! 0.2*sin(5*x)"
2323
if (patch_id == 2) then
24-
q_prim_vf(eqn_idx%cont%beg + 0)%sf(i, 0, 0) = 1 + 0.2*sin(5*x_cc(i))
24+
q_prim_vf(eqn_idx%cont%beg + 0)%sf(i, 0, 0) = 1 + 0.2*sin(5*x%cc(i))
2525
end if
2626
case (181) ! Titarev-Torro problem
2727
! This is patch is hard-coded for test suite optimization used in the 1D_titarevtorro cases: "patch_icpp(2)%alpha_rho(1)":
2828
! "1 + 0.1*sin(20*x*pi)"
29-
q_prim_vf(eqn_idx%cont%beg + 0)%sf(i, 0, 0) = 1 + 0.1*sin(20*x_cc(i)*pi)
29+
q_prim_vf(eqn_idx%cont%beg + 0)%sf(i, 0, 0) = 1 + 0.1*sin(20*x%cc(i)*pi)
3030
case (182) ! Multi-component diffusion
3131
! This patch is a hard-coded for test suite optimization (multiple component diffusion)
3232
x_mid_diffu = 0.05_wp/2.0_wp
3333
width_sq = (2.5_wp*10.0_wp**(-3.0_wp))**2
34-
profile_shape = 1.0_wp - 0.5_wp*exp(-(x_cc(i) - x_mid_diffu)**2/width_sq)
34+
profile_shape = 1.0_wp - 0.5_wp*exp(-(x%cc(i) - x_mid_diffu)**2/width_sq)
3535
q_prim_vf(eqn_idx%mom%beg)%sf(i, 0, 0) = 0.0_wp
3636
q_prim_vf(eqn_idx%E)%sf(i, 0, 0) = 1.01325_wp*(10.0_wp)**5
3737
q_prim_vf(eqn_idx%adv%beg)%sf(i, 0, 0) = 1.0_wp
@@ -58,10 +58,10 @@
5858
q_prim_vf(eqn_idx%mom%beg)%sf(i, 0, 0) = 0.0_wp
5959
q_prim_vf(eqn_idx%species%beg)%sf(i, 0, 0) = 1.0_wp
6060

61-
if (x_cc(i) <= 0.025_wp) then
62-
temp = 700.0_wp + ((1000.0_wp - 700.0_wp)/0.025_wp)*x_cc(i)
61+
if (x%cc(i) <= 0.025_wp) then
62+
temp = 700.0_wp + ((1000.0_wp - 700.0_wp)/0.025_wp)*x%cc(i)
6363
else
64-
temp = 1200.0_wp + ((900.0_wp - 1000.0_wp)/0.025_wp)*(x_cc(i) - 0.025_wp)
64+
temp = 1200.0_wp + ((900.0_wp - 1000.0_wp)/0.025_wp)*(x%cc(i) - 0.025_wp)
6565
end if
6666

6767
molar_mass_inv = 1.0_wp/2.01588_wp

src/common/include/2dHardcodedIC.fpp

Lines changed: 67 additions & 63 deletions
Large diffs are not rendered by default.

src/common/include/3dHardcodedIC.fpp

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
do l = 0, n
5656
rcut = 0._wp
5757
do s = 0, NJet - 1
58-
r = sqrt((y_cc(l) - y_th_arr(s))**2._wp + (z_cc(q) - z_th_arr(s))**2._wp)
58+
r = sqrt((y%cc(l) - y_th_arr(s))**2._wp + (z%cc(q) - z_th_arr(s))**2._wp)
5959
rcut = rcut + f_cut_on(r - r_th_arr(s), eps_smooth)
6060
end do
6161
rcut_arr(l, q) = rcut
@@ -76,33 +76,33 @@
7676
wl = 2._wp*pi/lam
7777
amp = 0.025_wp/wl
7878

79-
intH = amp*(sin(2._wp*pi*x_cc(i)/lam - pi/2._wp) + sin(2._wp*pi*z_cc(k)/lam - pi/2._wp)) + h
79+
intH = amp*(sin(2._wp*pi*x%cc(i)/lam - pi/2._wp) + sin(2._wp*pi*z%cc(k)/lam - pi/2._wp)) + h
8080

81-
alph = 5.e-1_wp*(1._wp + tanh((y_cc(j) - intH)/2.5e-3_wp))
81+
alph = 5.e-1_wp*(1._wp + tanh((y%cc(j) - intH)/2.5e-3_wp))
8282

8383
if (alph < eps) alph = eps
8484
if (alph > 1._wp - eps) alph = 1._wp - eps
8585

86-
if (y_cc(j) > intH) then
86+
if (y%cc(j) > intH) then
8787
q_prim_vf(eqn_idx%adv%beg)%sf(i, j, k) = alph
8888
q_prim_vf(eqn_idx%adv%end)%sf(i, j, k) = 1._wp - alph
8989
q_prim_vf(eqn_idx%cont%beg)%sf(i, j, k) = alph*rhoH
9090
q_prim_vf(eqn_idx%cont%end)%sf(i, j, k) = (1._wp - alph)*rhoL
91-
q_prim_vf(eqn_idx%E)%sf(i, j, k) = pref + rhoH*9.81_wp*(1.2_wp - y_cc(j))
91+
q_prim_vf(eqn_idx%E)%sf(i, j, k) = pref + rhoH*9.81_wp*(1.2_wp - y%cc(j))
9292
else
9393
q_prim_vf(eqn_idx%adv%beg)%sf(i, j, k) = alph
9494
q_prim_vf(eqn_idx%adv%end)%sf(i, j, k) = 1._wp - alph
9595
q_prim_vf(eqn_idx%cont%beg)%sf(i, j, k) = alph*rhoH
9696
q_prim_vf(eqn_idx%cont%end)%sf(i, j, k) = (1._wp - alph)*rhoL
9797
pInt = pref + rhoH*9.81_wp*(1.2_wp - intH)
98-
q_prim_vf(eqn_idx%E)%sf(i, j, k) = pInt + rhoL*9.81_wp*(intH - y_cc(j))
98+
q_prim_vf(eqn_idx%E)%sf(i, j, k) = pInt + rhoL*9.81_wp*(intH - y%cc(j))
9999
end if
100100
case (301) ! (3D lung geometry in X direction, |sin(*)+sin(*)|)
101101
h = 0.0_wp
102102
lam = 1.0_wp
103103
amp = patch_icpp(patch_id)%a(2)
104-
intH = amp*abs((sin(2*pi*y_cc(j)/lam - pi/2) + sin(2*pi*z_cc(k)/lam - pi/2)) + h)
105-
if (x_cc(i) > intH) then
104+
intH = amp*abs((sin(2*pi*y%cc(j)/lam - pi/2) + sin(2*pi*z%cc(k)/lam - pi/2)) + h)
105+
if (x%cc(i) > intH) then
106106
q_prim_vf(eqn_idx%cont%beg)%sf(i, j, k) = patch_icpp(1)%alpha_rho(1)
107107
q_prim_vf(eqn_idx%cont%end)%sf(i, j, k) = patch_icpp(1)%alpha_rho(2)
108108
q_prim_vf(eqn_idx%E)%sf(i, j, k) = patch_icpp(1)%pres
@@ -122,9 +122,9 @@
122122
eps_smooth = 1._wp
123123
eps = 1e-6
124124

125-
r = sqrt((y_cc(j) - y_th)**2._wp + (z_cc(k) - z_th)**2._wp)
125+
r = sqrt((y%cc(j) - y_th)**2._wp + (z%cc(k) - z_th)**2._wp)
126126
rcut = f_cut_on(r - r_th, eps_smooth)
127-
xcut = f_cut_on(x_cc(i), eps_smooth)
127+
xcut = f_cut_on(x%cc(i), eps_smooth)
128128

129129
q_prim_vf(eqn_idx%mom%beg)%sf(i, j, k) = ux_th*rcut*xcut + ux_am
130130
q_prim_vf(eqn_idx%mom%beg + 1)%sf(i, j, k) = 0._wp
@@ -150,7 +150,7 @@
150150
eps = 1e-6
151151

152152
rcut = rcut_arr(j, k)
153-
xcut = f_cut_on(x_cc(i), eps_smooth)
153+
xcut = f_cut_on(x%cc(i), eps_smooth)
154154

155155
q_prim_vf(eqn_idx%mom%beg)%sf(i, j, k) = ux_th*rcut*xcut + ux_am
156156
q_prim_vf(eqn_idx%mom%beg + 1)%sf(i, j, k) = 0._wp
@@ -174,9 +174,9 @@
174174
Mach = 0.1
175175
if (patch_id == 1) then
176176
q_prim_vf(eqn_idx%E)%sf(i, j, &
177-
& k) = 101325 + (Mach**2*376.636429464809**2/16)*(cos(2*x_cc(i)/1) + cos(2*y_cc(j)/1))*(cos(2*z_cc(k)/1) + 2)
178-
q_prim_vf(eqn_idx%mom%beg + 0)%sf(i, j, k) = Mach*376.636429464809*sin(x_cc(i)/1)*cos(y_cc(j)/1)*sin(z_cc(k)/1)
179-
q_prim_vf(eqn_idx%mom%beg + 1)%sf(i, j, k) = -Mach*376.636429464809*cos(x_cc(i)/1)*sin(y_cc(j)/1)*sin(z_cc(k)/1)
177+
& k) = 101325 + (Mach**2*376.636429464809**2/16)*(cos(2*x%cc(i)/1) + cos(2*y%cc(j)/1))*(cos(2*z%cc(k)/1) + 2)
178+
q_prim_vf(eqn_idx%mom%beg + 0)%sf(i, j, k) = Mach*376.636429464809*sin(x%cc(i)/1)*cos(y%cc(j)/1)*sin(z%cc(k)/1)
179+
q_prim_vf(eqn_idx%mom%beg + 1)%sf(i, j, k) = -Mach*376.636429464809*cos(x%cc(i)/1)*sin(y%cc(j)/1)*sin(z%cc(k)/1)
180180
end if
181181
case default
182182
call s_int_to_str(patch_id, iStr)

src/common/include/ExtrusionHardcodedIC.fpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,8 @@
9797

9898
! Calculate offsets
9999
domain_xstart = x_coords(1)
100-
x_step = x_cc(1) - x_cc(0)
101-
delta_x = merge(x_cc(0) - domain_xstart + x_step/2.0, x_cc(index_x) - domain_xstart + x_step/2.0, num_dims == 1)
100+
x_step = x%cc(1) - x%cc(0)
101+
delta_x = merge(x%cc(0) - domain_xstart + x_step/2.0, x%cc(index_x) - domain_xstart + x_step/2.0, num_dims == 1)
102102
global_offset_x = nint(abs(delta_x)/x_step)
103103
case (3) ! 3D case - determine grid structure
104104
! Find yRows by counting rows with same x
@@ -156,10 +156,10 @@
156156
end do
157157

158158
! Calculate offsets
159-
x_step = x_cc(1) - x_cc(0)
160-
y_step = y_cc(1) - y_cc(0)
161-
delta_x = x_cc(index_x) - x_coords(1) + x_step/2.0_wp
162-
delta_y = y_cc(index_y) - y_coords(1) + y_step/2.0_wp
159+
x_step = x%cc(1) - x%cc(0)
160+
y_step = y%cc(1) - y%cc(0)
161+
delta_x = x%cc(index_x) - x_coords(1) + x_step/2.0_wp
162+
delta_y = y%cc(index_y) - y_coords(1) + y_step/2.0_wp
163163
global_offset_x = nint(abs(delta_x)/x_step)
164164
global_offset_y = nint(abs(delta_y)/y_step)
165165
end select

src/common/m_boundary_common.fpp

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -784,7 +784,7 @@ contains
784784
integer :: j, q, i
785785

786786
do j = 1, buff_size
787-
if (z_cc(l) < pi) then
787+
if (z%cc(l) < pi) then
788788
do i = 1, eqn_idx%mom%beg
789789
q_prim_vf(i)%sf(k, -j, l) = q_prim_vf(i)%sf(k, j - 1, l + ((p + 1)/2))
790790
end do
@@ -815,7 +815,7 @@ contains
815815
do i = 1, nb
816816
do q = 1, nnode
817817
do j = 1, buff_size
818-
if (z_cc(l) < pi) then
818+
if (z%cc(l) < pi) then
819819
pb_in(k, -j, l, q, i) = pb_in(k, j - 1, l + ((p + 1)/2), q, i)
820820
mv_in(k, -j, l, q, i) = mv_in(k, j - 1, l + ((p + 1)/2), q, i)
821821
else
@@ -2166,51 +2166,51 @@ contains
21662166
call s_mpi_sendrecv_grid_variables_buffers(1, -1)
21672167
else if (bc_x%beg <= BC_GHOST_EXTRAP) then
21682168
do i = 1, buff_size
2169-
dx(-i) = dx(0)
2169+
x%spacing(-i) = x%spacing(0)
21702170
end do
21712171
else if (bc_x%beg == BC_REFLECTIVE) then
21722172
do i = 1, buff_size
2173-
dx(-i) = dx(i - 1)
2173+
x%spacing(-i) = x%spacing(i - 1)
21742174
end do
21752175
else if (bc_x%beg == BC_PERIODIC) then
21762176
do i = 1, buff_size
2177-
dx(-i) = dx(m - (i - 1))
2177+
x%spacing(-i) = x%spacing(m - (i - 1))
21782178
end do
21792179
end if
21802180

21812181
! Computing the cell-boundary and center locations buffer at bc_x%beg
21822182
do i = 1, offset_x%beg
2183-
x_cb(-1 - i) = x_cb(-i) - dx(-i)
2183+
x%cb(-1 - i) = x%cb(-i) - x%spacing(-i)
21842184
end do
21852185

21862186
do i = 1, buff_size
2187-
x_cc(-i) = x_cc(1 - i) - (dx(1 - i) + dx(-i))/2._wp
2187+
x%cc(-i) = x%cc(1 - i) - (x%spacing(1 - i) + x%spacing(-i))/2._wp
21882188
end do
21892189

21902190
! Populating the cell-width distribution buffer at bc_x%end
21912191
if (bc_x%end >= 0) then
21922192
call s_mpi_sendrecv_grid_variables_buffers(1, 1)
21932193
else if (bc_x%end <= BC_GHOST_EXTRAP) then
21942194
do i = 1, buff_size
2195-
dx(m + i) = dx(m)
2195+
x%spacing(m + i) = x%spacing(m)
21962196
end do
21972197
else if (bc_x%end == BC_REFLECTIVE) then
21982198
do i = 1, buff_size
2199-
dx(m + i) = dx(m - (i - 1))
2199+
x%spacing(m + i) = x%spacing(m - (i - 1))
22002200
end do
22012201
else if (bc_x%end == BC_PERIODIC) then
22022202
do i = 1, buff_size
2203-
dx(m + i) = dx(i - 1)
2203+
x%spacing(m + i) = x%spacing(i - 1)
22042204
end do
22052205
end if
22062206

22072207
! Populating the cell-boundary and center locations buffer at bc_x%end
22082208
do i = 1, offset_x%end
2209-
x_cb(m + i) = x_cb(m + (i - 1)) + dx(m + i)
2209+
x%cb(m + i) = x%cb(m + (i - 1)) + x%spacing(m + i)
22102210
end do
22112211

22122212
do i = 1, buff_size
2213-
x_cc(m + i) = x_cc(m + (i - 1)) + (dx(m + (i - 1)) + dx(m + i))/2._wp
2213+
x%cc(m + i) = x%cc(m + (i - 1)) + (x%spacing(m + (i - 1)) + x%spacing(m + i))/2._wp
22142214
end do
22152215

22162216
! Population of Buffers in y-direction
@@ -2222,51 +2222,51 @@ contains
22222222
call s_mpi_sendrecv_grid_variables_buffers(2, -1)
22232223
else if (bc_y%beg <= BC_GHOST_EXTRAP .and. bc_y%beg /= BC_AXIS) then
22242224
do i = 1, buff_size
2225-
dy(-i) = dy(0)
2225+
y%spacing(-i) = y%spacing(0)
22262226
end do
22272227
else if (bc_y%beg == BC_REFLECTIVE .or. bc_y%beg == BC_AXIS) then
22282228
do i = 1, buff_size
2229-
dy(-i) = dy(i - 1)
2229+
y%spacing(-i) = y%spacing(i - 1)
22302230
end do
22312231
else if (bc_y%beg == BC_PERIODIC) then
22322232
do i = 1, buff_size
2233-
dy(-i) = dy(n - (i - 1))
2233+
y%spacing(-i) = y%spacing(n - (i - 1))
22342234
end do
22352235
end if
22362236

22372237
! Computing the cell-boundary and center locations buffer at bc_y%beg
22382238
do i = 1, offset_y%beg
2239-
y_cb(-1 - i) = y_cb(-i) - dy(-i)
2239+
y%cb(-1 - i) = y%cb(-i) - y%spacing(-i)
22402240
end do
22412241

22422242
do i = 1, buff_size
2243-
y_cc(-i) = y_cc(1 - i) - (dy(1 - i) + dy(-i))/2._wp
2243+
y%cc(-i) = y%cc(1 - i) - (y%spacing(1 - i) + y%spacing(-i))/2._wp
22442244
end do
22452245

22462246
! Populating the cell-width distribution buffer at bc_y%end
22472247
if (bc_y%end >= 0) then
22482248
call s_mpi_sendrecv_grid_variables_buffers(2, 1)
22492249
else if (bc_y%end <= BC_GHOST_EXTRAP) then
22502250
do i = 1, buff_size
2251-
dy(n + i) = dy(n)
2251+
y%spacing(n + i) = y%spacing(n)
22522252
end do
22532253
else if (bc_y%end == BC_REFLECTIVE) then
22542254
do i = 1, buff_size
2255-
dy(n + i) = dy(n - (i - 1))
2255+
y%spacing(n + i) = y%spacing(n - (i - 1))
22562256
end do
22572257
else if (bc_y%end == BC_PERIODIC) then
22582258
do i = 1, buff_size
2259-
dy(n + i) = dy(i - 1)
2259+
y%spacing(n + i) = y%spacing(i - 1)
22602260
end do
22612261
end if
22622262

22632263
! Populating the cell-boundary and center locations buffer at bc_y%end
22642264
do i = 1, offset_y%end
2265-
y_cb(n + i) = y_cb(n + (i - 1)) + dy(n + i)
2265+
y%cb(n + i) = y%cb(n + (i - 1)) + y%spacing(n + i)
22662266
end do
22672267

22682268
do i = 1, buff_size
2269-
y_cc(n + i) = y_cc(n + (i - 1)) + (dy(n + (i - 1)) + dy(n + i))/2._wp
2269+
y%cc(n + i) = y%cc(n + (i - 1)) + (y%spacing(n + (i - 1)) + y%spacing(n + i))/2._wp
22702270
end do
22712271

22722272
! Population of Buffers in z-direction
@@ -2278,51 +2278,51 @@ contains
22782278
call s_mpi_sendrecv_grid_variables_buffers(3, -1)
22792279
else if (bc_z%beg <= BC_GHOST_EXTRAP) then
22802280
do i = 1, buff_size
2281-
dz(-i) = dz(0)
2281+
z%spacing(-i) = z%spacing(0)
22822282
end do
22832283
else if (bc_z%beg == BC_REFLECTIVE) then
22842284
do i = 1, buff_size
2285-
dz(-i) = dz(i - 1)
2285+
z%spacing(-i) = z%spacing(i - 1)
22862286
end do
22872287
else if (bc_z%beg == BC_PERIODIC) then
22882288
do i = 1, buff_size
2289-
dz(-i) = dz(p - (i - 1))
2289+
z%spacing(-i) = z%spacing(p - (i - 1))
22902290
end do
22912291
end if
22922292

22932293
! Computing the cell-boundary and center locations buffer at bc_z%beg
22942294
do i = 1, offset_z%beg
2295-
z_cb(-1 - i) = z_cb(-i) - dz(-i)
2295+
z%cb(-1 - i) = z%cb(-i) - z%spacing(-i)
22962296
end do
22972297

22982298
do i = 1, buff_size
2299-
z_cc(-i) = z_cc(1 - i) - (dz(1 - i) + dz(-i))/2._wp
2299+
z%cc(-i) = z%cc(1 - i) - (z%spacing(1 - i) + z%spacing(-i))/2._wp
23002300
end do
23012301

23022302
! Populating the cell-width distribution buffer at bc_z%end
23032303
if (bc_z%end >= 0) then
23042304
call s_mpi_sendrecv_grid_variables_buffers(3, 1)
23052305
else if (bc_z%end <= BC_GHOST_EXTRAP) then
23062306
do i = 1, buff_size
2307-
dz(p + i) = dz(p)
2307+
z%spacing(p + i) = z%spacing(p)
23082308
end do
23092309
else if (bc_z%end == BC_REFLECTIVE) then
23102310
do i = 1, buff_size
2311-
dz(p + i) = dz(p - (i - 1))
2311+
z%spacing(p + i) = z%spacing(p - (i - 1))
23122312
end do
23132313
else if (bc_z%end == BC_PERIODIC) then
23142314
do i = 1, buff_size
2315-
dz(p + i) = dz(i - 1)
2315+
z%spacing(p + i) = z%spacing(i - 1)
23162316
end do
23172317
end if
23182318

23192319
! Populating the cell-boundary and center locations buffer at bc_z%end
23202320
do i = 1, offset_z%end
2321-
z_cb(p + i) = z_cb(p + (i - 1)) + dz(p + i)
2321+
z%cb(p + i) = z%cb(p + (i - 1)) + z%spacing(p + i)
23222322
end do
23232323

23242324
do i = 1, buff_size
2325-
z_cc(p + i) = z_cc(p + (i - 1)) + (dz(p + (i - 1)) + dz(p + i))/2._wp
2325+
z%cc(p + i) = z%cc(p + (i - 1)) + (z%spacing(p + (i - 1)) + z%spacing(p + i))/2._wp
23262326
end do
23272327
#endif
23282328

0 commit comments

Comments
 (0)