Skip to content

Commit 5837d82

Browse files
Deprecate mesh-only methods
1 parent c173f80 commit 5837d82

File tree

6 files changed

+83
-9
lines changed

6 files changed

+83
-9
lines changed

NEWS.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@ ClimaCore.jl Release Notes
44
main
55
-------
66

7-
v0.15.0
8-
-------
9-
10-
- ![][badge-💥breaking] support for `IntervalTopology(::Mesh)` has been dropped in favor of using `IntervalTopology(::ClimaComms.AbstractDevice, ::Mesh)`. PR [#1821](https://github.com/CliMA/ClimaCore.jl/pull/1821).
7+
- Support for the following methods have been deprecated (PR [#1821](https://github.com/CliMA/ClimaCore.jl/pull/1821), ):
8+
- `IntervalTopology(::Mesh)` in favor of using `IntervalTopology(::ClimaComms.AbstractDevice, ::Mesh)`
9+
- `FaceFiniteDifferenceSpace(::Mesh)` in favor of using `FaceFiniteDifferenceSpace(::ClimaComms.AbstractDevice, ::Mesh)`
10+
- `CenterFiniteDifferenceSpace(::Mesh)` in favor of using `CenterFiniteDifferenceSpace(::ClimaComms.AbstractDevice, ::Mesh)`
11+
- `FiniteDifferenceGrid(::Mesh)` in favor of using `FiniteDifferenceGrid(::ClimaComms.AbstractDevice, ::Mesh)`
1112

1213
v0.14.9
1314
-------

examples/hybrid/box/bubble_3d_invariant_rhotheta.jl

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ function hvspace_3D(
4949
horzdomain = Domains.RectangleDomain(xdomain, ydomain)
5050
horzmesh = Meshes.RectilinearMesh(horzdomain, xelem, yelem)
5151
horztopology = Topologies.Topology2D(context, horzmesh)
52-
#horztopology = Topologies.Topology2D(horzmesh)
5352
device = ClimaComms.device(context)
5453

5554
zdomain = Domains.IntervalDomain(

src/Topologies/interval.jl

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,7 @@ function _IntervalTopology(
5555
end
5656
IntervalTopology(context, mesh, boundaries)
5757
end
58-
# IntervalTopology(mesh::Meshes.IntervalMesh) = IntervalTopology(
59-
# ClimaComms.SingletonCommsContext(ClimaComms.device()),
60-
# mesh,
61-
# )
58+
6259
IntervalTopology(device::ClimaComms.AbstractDevice, mesh::Meshes.IntervalMesh) =
6360
IntervalTopology(ClimaComms.SingletonCommsContext(device), mesh)
6461

src/deprecated.jl

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,28 @@
11
# Deprecated methods
2+
3+
import ClimaComms
4+
import .Grids: FiniteDifferenceGrid, CellFace, CellCenter
5+
import .Spaces:
6+
CenterFiniteDifferenceSpace,
7+
FaceFiniteDifferenceSpace,
8+
FiniteDifferenceSpace
9+
import .Topologies: IntervalTopology
10+
import .Meshes: IntervalMesh
11+
12+
@deprecate IntervalTopology(mesh::IntervalMesh) IntervalTopology(
13+
ClimaComms.SingletonCommsContext(ClimaComms.device()),
14+
mesh,
15+
)
16+
17+
@deprecate FaceFiniteDifferenceSpace(mesh::IntervalMesh) FiniteDifferenceSpace(
18+
FiniteDifferenceGrid(ClimaComms.device(), mesh),
19+
CellFace(),
20+
)
21+
@deprecate CenterFiniteDifferenceSpace(mesh::IntervalMesh) FiniteDifferenceSpace(
22+
FiniteDifferenceGrid(ClimaComms.device(), mesh),
23+
CellCenter(),
24+
)
25+
26+
@deprecate FiniteDifferenceGrid(mesh::IntervalMesh) FiniteDifferenceGrid(
27+
IntervalTopology(ClimaComms.device(), mesh),
28+
)

test/deprecations.jl

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
#=
2+
julia --project
3+
using Revise; include(joinpath("test", "deprecations.jl"))
4+
=#
5+
using Test
6+
using ClimaCore: Geometry, Quadratures, Domains, Meshes, Topologies, Spaces
7+
import ClimaCore.Spaces:
8+
CenterFiniteDifferenceSpace,
9+
FaceFiniteDifferenceSpace,
10+
FiniteDifferenceSpace
11+
import ClimaCore.Grids: FiniteDifferenceGrid
12+
import ClimaComms
13+
ClimaComms.@import_required_backends
14+
15+
@testset "Deprecations" begin
16+
FT = Float64
17+
context = ClimaComms.SingletonCommsContext()
18+
R = FT(6.371229e6)
19+
npoly = 3
20+
z_max = FT(30e3)
21+
z_elem = 64
22+
h_elem = 30
23+
# horizontal space
24+
domain = Domains.SphereDomain(R)
25+
horizontal_mesh = Meshes.EquiangularCubedSphere(domain, h_elem)
26+
horizontal_topology = Topologies.Topology2D(
27+
context,
28+
horizontal_mesh,
29+
Topologies.spacefillingcurve(horizontal_mesh),
30+
)
31+
quad = Quadratures.GLL{npoly + 1}()
32+
h_space = Spaces.SpectralElementSpace2D(horizontal_topology, quad)
33+
34+
# vertical space
35+
z_domain = Domains.IntervalDomain(
36+
Geometry.ZPoint(zero(z_max)),
37+
Geometry.ZPoint(z_max);
38+
boundary_names = (:bottom, :top),
39+
)
40+
z_mesh = Meshes.IntervalMesh(z_domain, nelems = z_elem)
41+
42+
# deprecated methods:
43+
@test_deprecated Topologies.IntervalTopology(z_mesh)
44+
@test_deprecated FaceFiniteDifferenceSpace(z_mesh)
45+
@test_deprecated CenterFiniteDifferenceSpace(z_mesh)
46+
@test_deprecated FiniteDifferenceGrid(z_mesh)
47+
end
48+
49+
nothing

test/runtests.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ UnitTest("InputOutput - hybrid3dcubedsphere_topo" ,"InputOutput/hybrid3dcubedsp
7878
UnitTest("Array interpolation" ,"Remapping/interpolate_array.jl"),
7979
UnitTest("Array interpolation" ,"Remapping/distributed_remapping.jl"),
8080
UnitTest("Aqua" ,"aqua.jl"),
81+
UnitTest("Deprecations" ,"deprecations.jl"),
8182
UnitTest("GPU - cuda" ,"gpu/cuda.jl";meta=:gpu_only),
8283
UnitTest("GPU - data" ,"DataLayouts/cuda.jl";meta=:gpu_only),
8384
UnitTest("Spaces - serial CUDA DSS on CubedSphere" ,"Spaces/ddss1_cs.jl";meta=:gpu_only),

0 commit comments

Comments
 (0)