Skip to content

Commit a80896d

Browse files
Group data2array tests
1 parent 05ae9c0 commit a80896d

File tree

7 files changed

+55
-61
lines changed

7 files changed

+55
-61
lines changed

.buildkite/pipeline.yml

+4
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,10 @@ steps:
102102
key: unit_data_ndims
103103
command: "julia --color=yes --check-bounds=yes --project=.buildkite test/DataLayouts/unit_ndims.jl"
104104

105+
- label: "Unit: unit_data2array"
106+
key: unit_data2array
107+
command: "julia --color=yes --check-bounds=yes --project=.buildkite test/DataLayouts/unit_data2array.jl"
108+
105109
- label: "Unit: data1d"
106110
key: unit_data1d
107111
command: "julia --color=yes --check-bounds=yes --project=.buildkite test/DataLayouts/data1d.jl"

test/DataLayouts/data0d.jl

-30
Original file line numberDiff line numberDiff line change
@@ -123,13 +123,6 @@ end
123123
data_if2 = data_f .+ data_if
124124
@test data_if2 isa IF{S}
125125
@test size(data_if2) == (2, 1, 1, 1, 1)
126-
127-
FT = Float64
128-
array = rand(FT, 2, 1)
129-
data = IF{FT, 2}(array)
130-
@test DataLayouts.data2array(data) == reshape(parent(data), :)
131-
@test parent(DataLayouts.array2data(DataLayouts.data2array(data), data)) ==
132-
parent(data)
133126
end
134127

135128
@testset "broadcasting DataF + IFH data object => IFH" begin
@@ -141,14 +134,6 @@ end
141134
data_ifh2 = data_f .+ data_ifh
142135
@test data_ifh2 isa IFH{S}
143136
@test size(data_ifh2) == (2, 1, 1, 1, 3)
144-
145-
146-
FT = Float64
147-
array = rand(FT, 2, 1, Nh)
148-
data = IFH{FT, 2, Nh}(array)
149-
@test DataLayouts.data2array(data) == reshape(parent(data), :)
150-
@test parent(DataLayouts.array2data(DataLayouts.data2array(data), data)) ==
151-
parent(data)
152137
end
153138

154139
@testset "broadcasting DataF + IJF data object => IJF" begin
@@ -159,13 +144,6 @@ end
159144
data_ijf2 = data_f .+ data_ijf
160145
@test data_ijf2 isa IJF{S}
161146
@test size(data_ijf2) == (2, 2, 1, 1, 1)
162-
163-
FT = Float64
164-
array = rand(FT, 2, 2, 1)
165-
data = IJF{FT, 2}(array)
166-
@test DataLayouts.data2array(data) == reshape(parent(data), :)
167-
@test parent(DataLayouts.array2data(DataLayouts.data2array(data), data)) ==
168-
parent(data)
169147
end
170148

171149
@testset "broadcasting DataF + IJFH data object => IJFH" begin
@@ -177,14 +155,6 @@ end
177155
data_ijfh2 = data_f .+ data_ijfh
178156
@test data_ijfh2 isa IJFH{S}
179157
@test size(data_ijfh2) == (2, 2, 1, 1, Nh)
180-
181-
FT = Float64
182-
Nh = 3
183-
array = rand(FT, 2, 2, 1, Nh)
184-
data = IJFH{FT, 2, Nh}(array)
185-
@test DataLayouts.data2array(data) == reshape(parent(data), :)
186-
@test parent(DataLayouts.array2data(DataLayouts.data2array(data), data)) ==
187-
parent(data)
188158
end
189159

190160
@testset "broadcasting DataF + VIFH data object => VIFH" begin

test/DataLayouts/data1dx.jl

-11
Original file line numberDiff line numberDiff line change
@@ -42,17 +42,6 @@ import ClimaCore.DataLayouts: VIFH, slab, column, VF, IFH, vindex, slab_index
4242
Complex{FT}(sum(array[:, :, 1, :]), sum(array[:, :, 2, :]))
4343
@test sum(x -> x[2], data) sum(array[:, :, 3, :])
4444
end
45-
46-
FT = Float64
47-
Nv = 10 # number of vertical levels
48-
Ni = 4 # number of nodal points
49-
Nh = 10 # number of elements
50-
array = rand(FT, Nv, Ni, 1, Nh)
51-
data = VIFH{FT, Nv, Ni, Nh}(array)
52-
@test DataLayouts.data2array(data) ==
53-
reshape(parent(data), DataLayouts.nlevels(data), :)
54-
@test parent(DataLayouts.array2data(DataLayouts.data2array(data), data)) ==
55-
parent(data)
5645
end
5746

5847
@testset "VIFH boundscheck" begin

test/DataLayouts/data2d.jl

-9
Original file line numberDiff line numberDiff line change
@@ -64,15 +64,6 @@ end
6464
@test sum(data.:1) Complex(sum(array[:, :, 1, :]), sum(array[:, :, 2, :])) atol =
6565
10eps()
6666
@test sum(x -> x[2], data) sum(array[:, :, 3, :]) atol = 10eps()
67-
68-
FT = Float64
69-
Nij = 4 # number of nodal points
70-
Nh = 10 # number of elements
71-
array = rand(FT, Nij, Nij, 1, Nh)
72-
data = IJFH{FT, Nij, Nh}(array)
73-
@test DataLayouts.data2array(data) == reshape(parent(data), :)
74-
@test parent(DataLayouts.array2data(DataLayouts.data2array(data), data)) ==
75-
parent(data)
7667
end
7768

7869
@testset "IJFH boundscheck" begin

test/DataLayouts/data2dx.jl

-11
Original file line numberDiff line numberDiff line change
@@ -43,17 +43,6 @@ import ClimaCore.DataLayouts: VF, IJFH, VIJFH, slab, column, slab_index, vindex
4343
Complex{FT}(sum(array[:, :, :, 1, :]), sum(array[:, :, :, 2, :]))
4444
@test sum(x -> x[2], data) sum(array[:, :, :, 3, :])
4545
end
46-
47-
FT = Float64
48-
Nv = 10 # number of vertical levels
49-
Ni = 4 # number of nodal points
50-
Nh = 10 # number of elements
51-
array = rand(FT, Nv, Nij, Nij, 1, Nh)
52-
data = VIJFH{FT, Nv, Nij, Nh}(array)
53-
@test DataLayouts.data2array(data) ==
54-
reshape(parent(data), DataLayouts.nlevels(data), :)
55-
@test parent(DataLayouts.array2data(DataLayouts.data2array(data), data)) ==
56-
parent(data)
5746
end
5847

5948
@testset "VIJFH boundscheck" begin

test/DataLayouts/unit_data2array.jl

+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
#=
2+
julia --project
3+
using Revise; include(joinpath("test", "DataLayouts", "unit_data2array.jl"))
4+
=#
5+
using Test
6+
using ClimaCore.DataLayouts
7+
8+
function is_data2array2data_identity(data)
9+
all(
10+
parent(DataLayouts.array2data(DataLayouts.data2array(data), data)) .==
11+
parent(data),
12+
)
13+
end
14+
15+
@testset "data2array & array2data" begin
16+
FT = Float64
17+
Nv = 10 # number of vertical levels
18+
Nij = 4 # number of nodal points
19+
Nh = 10 # number of elements
20+
21+
array = rand(FT, 2, 1)
22+
data = IF{FT, 2}(array)
23+
@test DataLayouts.data2array(data) == reshape(parent(data), :)
24+
@test is_data2array2data_identity(data)
25+
26+
array = rand(FT, 2, 1, Nh)
27+
data = IFH{FT, 2, Nh}(array)
28+
@test DataLayouts.data2array(data) == reshape(parent(data), :)
29+
@test is_data2array2data_identity(data)
30+
31+
array = rand(FT, 2, 2, 1)
32+
data = IJF{FT, 2}(array)
33+
@test DataLayouts.data2array(data) == reshape(parent(data), :)
34+
@test is_data2array2data_identity(data)
35+
36+
array = rand(FT, Nij, Nij, 1, Nh)
37+
data = IJFH{FT, Nij, Nh}(array)
38+
@test DataLayouts.data2array(data) == reshape(parent(data), :)
39+
@test is_data2array2data_identity(data)
40+
41+
array = rand(FT, Nv, Nij, 1, Nh)
42+
data = VIFH{FT, Nv, Nij, Nh}(array)
43+
@test DataLayouts.data2array(data) == reshape(parent(data), Nv, :)
44+
@test is_data2array2data_identity(data)
45+
46+
array = rand(FT, Nv, Nij, Nij, 1, Nh)
47+
data = VIJFH{FT, Nv, Nij, Nh}(array)
48+
@test DataLayouts.data2array(data) == reshape(parent(data), Nv, :)
49+
@test is_data2array2data_identity(data)
50+
end

test/runtests.jl

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ include("tabulated_tests.jl")
99
unit_tests = [
1010
UnitTest("DataLayouts fill" ,"DataLayouts/unit_fill.jl"),
1111
UnitTest("DataLayouts ndims" ,"DataLayouts/unit_ndims.jl"),
12+
UnitTest("DataLayouts array<->data" ,"DataLayouts/unit_data2array.jl"),
1213
UnitTest("DataLayouts get_struct" ,"DataLayouts/unit_struct.jl"),
1314
UnitTest("Recursive" ,"RecursiveApply/unit_recursive_apply.jl"),
1415
UnitTest("PlusHalf" ,"Utilities/unit_plushalf.jl"),

0 commit comments

Comments
 (0)