Skip to content

Commit 05ae9c0

Browse files
Merge pull request #1944 from CliMA/ck/refactor_dss
Use internals less in DSS
2 parents 432de4d + 09c416d commit 05ae9c0

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

src/Topologies/dss.jl

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -396,8 +396,9 @@ function dss_transform!(
396396
p∂x∂ξ = parent(∂x∂ξ)
397397
p∂ξ∂x = parent(∂ξ∂x)
398398
pperimeter_data = parent(perimeter_data)
399-
(nlevels, _, nfid, nelems) = size(pperimeter_data)
400-
nmetric = cld(length(p∂ξ∂x), prod(size(∂ξ∂x)))
399+
(nlevels, _, nfid, nelems) = DataLayouts.farray_size(perimeter_data)
400+
401+
nmetric = cld(prod(DataLayouts.farray_size(∂ξ∂x)), prod(size(∂ξ∂x)))
401402
sizet_data = (nlevels, Nq, Nq, nfid, nelems)
402403
sizet_wt = (Nq, Nq, 1, nelems)
403404
sizet_metric = (nlevels, Nq, Nq, nmetric, nelems)
@@ -575,8 +576,8 @@ function dss_untransform!(
575576
p∂x∂ξ = parent(∂x∂ξ)
576577
p∂ξ∂x = parent(∂ξ∂x)
577578
pperimeter_data = parent(perimeter_data)
578-
(nlevels, _, nfid, nelems) = size(pperimeter_data)
579-
nmetric = cld(length(p∂ξ∂x), prod(size(∂ξ∂x)))
579+
(nlevels, _, nfid, nelems) = DataLayouts.farray_size(perimeter_data)
580+
nmetric = cld(prod(DataLayouts.farray_size(∂ξ∂x)), prod(size(∂ξ∂x)))
580581
sizet_data = (nlevels, Nq, Nq, nfid, nelems)
581582
sizet_metric = (nlevels, Nq, Nq, nmetric, nelems)
582583

@@ -703,9 +704,10 @@ function dss_load_perimeter_data!(
703704
data::Union{DataLayouts.IJFH, DataLayouts.VIJFH},
704705
perimeter::Perimeter2D{Nq},
705706
) where {Nq}
706-
pperimeter_data = parent(dss_buffer.perimeter_data)
707+
(; perimeter_data) = dss_buffer
708+
pperimeter_data = parent(perimeter_data)
707709
pdata = parent(data)
708-
(nlevels, _, nfid, nelems) = size(pperimeter_data)
710+
(nlevels, _, nfid, nelems) = DataLayouts.farray_size(perimeter_data)
709711
sizet = (nlevels, Nq, Nq, nfid, nelems)
710712
for elem in 1:nelems, (p, (ip, jp)) in enumerate(perimeter)
711713
for fidx in 1:nfid, level in 1:nlevels
@@ -722,9 +724,10 @@ function dss_unload_perimeter_data!(
722724
dss_buffer::DSSBuffer,
723725
perimeter::Perimeter2D{Nq},
724726
) where {Nq}
725-
pperimeter_data = parent(dss_buffer.perimeter_data)
727+
(; perimeter_data) = dss_buffer
728+
pperimeter_data = parent(perimeter_data)
726729
pdata = parent(data)
727-
(nlevels, _, nfid, nelems) = size(pperimeter_data)
730+
(nlevels, _, nfid, nelems) = DataLayouts.farray_size(perimeter_data)
728731
sizet = (nlevels, Nq, Nq, nfid, nelems)
729732
for elem in 1:nelems, (p, (ip, jp)) in enumerate(perimeter)
730733
for fidx in 1:nfid, level in 1:nlevels

0 commit comments

Comments
 (0)