Skip to content

Commit c7ce952

Browse files
Remove distributed macros from ClimaOcean (#403)
* go ahead * new oceananigans version * remove distributed utils * remove distributed utils * fix tests
1 parent e8516e8 commit c7ce952

File tree

10 files changed

+13
-237
lines changed

10 files changed

+13
-237
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ JLD2 = "0.4, 0.5"
4141
KernelAbstractions = "0.9"
4242
MPI = "0.20"
4343
NCDatasets = "0.12, 0.13, 0.14"
44-
Oceananigans = "0.95.25 - 0.99"
44+
Oceananigans = "0.95.26 - 0.99"
4545
OffsetArrays = "1.14"
4646
Scratch = "1"
4747
SeawaterPolynomials = "0.3.4"

src/Bathymetry.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ export regrid_bathymetry, retrieve_bathymetry, download_bathymetry
44

55
using ImageMorphology
66
using ..DataWrangling: download_progress
7-
using ..DistributedUtils: @root
7+
using Oceananigans.DistributedComputations
88

99
using Oceananigans
1010
using Oceananigans.Architectures: architecture, on_architecture
@@ -282,7 +282,7 @@ function regrid_bathymetry(target_grid::DistributedGrid; kw...)
282282
end
283283

284284
# Synchronize
285-
ClimaOcean.global_barrier(arch.communicator)
285+
Oceananigans.DistributedComputations.global_barrier(arch.communicator)
286286

287287
# Share the result (can we share SubArrays?)
288288
bottom_height = all_reduce(+, bottom_height, arch)

src/ClimaOcean.jl

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,7 @@ export
3232
LinearlyTaperedPolarMask,
3333
ocean_simulation,
3434
sea_ice_simulation,
35-
initialize!,
36-
@root,
37-
@onrank,
38-
@distribute,
39-
@handshake
35+
initialize!
4036

4137
using Oceananigans
4238
using Oceananigans.Operators: ℑxyᶠᶜᵃ, ℑxyᶜᶠᵃ
@@ -73,7 +69,6 @@ end
7369
return NamedTuple{names}(vals)
7470
end
7571

76-
include("DistributedUtils.jl")
7772
include("OceanSimulations/OceanSimulations.jl")
7873
include("SeaIceSimulations.jl")
7974
include("OceanSeaIceModels/OceanSeaIceModels.jl")
@@ -83,7 +78,6 @@ include("DataWrangling/DataWrangling.jl")
8378
include("Bathymetry.jl")
8479
include("Diagnostics/Diagnostics.jl")
8580

86-
using .DistributedUtils
8781
using .VerticalGrids
8882
using .Bathymetry
8983
using .DataWrangling

src/DataWrangling/DataWrangling.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ using Oceananigans: pretty_filesize, location
1515
using Oceananigans.Utils: launch!
1616
using KernelAbstractions: @kernel, @index
1717

18-
using ClimaOcean.DistributedUtils
18+
using Oceananigans.DistributedComputations
1919

2020
#####
2121
##### Downloading utilities

src/DataWrangling/ECCO/ECCO.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ export ECCO2Monthly, ECCO4Monthly, ECCO2Daily
55
export ECCOFieldTimeSeries, ECCORestoring, LinearlyTaperedPolarMask
66

77
using ClimaOcean
8-
using ClimaOcean.DistributedUtils
98
using ClimaOcean.DataWrangling
109
using ClimaOcean.DataWrangling: inpaint_mask!, NearestNeighborInpainting, download_progress
1110
using ClimaOcean.InitialConditions: three_dimensional_regrid!, interpolate!
@@ -14,6 +13,7 @@ using Oceananigans
1413
using Oceananigans: location
1514
using Oceananigans.Architectures: architecture, child_architecture
1615
using Oceananigans.BoundaryConditions
16+
using Oceananigans.DistributedComputations
1717
using Oceananigans.DistributedComputations: DistributedField, all_reduce, barrier!
1818
using Oceananigans.Utils
1919

src/DataWrangling/ECCO/ECCO_metadata.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ using CFTime
22
using Dates
33
using ClimaOcean.DataWrangling
44
using ClimaOcean.DataWrangling: netrc_downloader, metadata_path, AnyDateTime
5+
using Oceananigans.DistributedComputations
56

67
import Dates: year, month, day
78
using Downloads

src/DataWrangling/JRA55/JRA55.jl

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ using Oceananigans.Fields: interpolate!
1414
using Oceananigans.OutputReaders: Cyclical, TotallyInMemory, AbstractInMemoryBackend, FlavorOfFTS, time_indices
1515

1616
using ClimaOcean
17-
using ClimaOcean.DistributedUtils
1817

1918
using ClimaOcean.OceanSeaIceModels:
2019
PrescribedAtmosphere,

src/DataWrangling/JRA55/JRA55_metadata.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ using CFTime
22
using Dates
33
using Downloads
44

5+
using Oceananigans.DistributedComputations
6+
57
using ClimaOcean.DataWrangling
68
using ClimaOcean.DataWrangling: Metadata, metadata_path, download_progress, AnyDateTime
79

src/DistributedUtils.jl

Lines changed: 0 additions & 163 deletions
This file was deleted.

test/test_distributed_utils.jl

Lines changed: 4 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -5,68 +5,11 @@ MPI.Init()
55

66
using NCDatasets
77
using ClimaOcean.ECCO: download_dataset, metadata_path
8+
using Oceananigans.DistributedComputations
89
using Oceananigans.DistributedComputations: reconstruct_global_grid
910
using CFTime
1011
using Dates
1112

12-
@testset begin
13-
rank = MPI.Comm_rank(MPI.COMM_WORLD)
14-
15-
@onrank 0 begin
16-
@test rank == 0
17-
end
18-
19-
@root begin
20-
@test rank == 0
21-
end
22-
23-
@onrank 1 begin
24-
@test rank == 1
25-
end
26-
27-
@onrank 2 begin
28-
@test rank == 2
29-
end
30-
31-
@onrank 3 begin
32-
@test rank == 3
33-
end
34-
35-
a = Int[]
36-
37-
@distribute for i in 1:10
38-
push!(a, i)
39-
end
40-
41-
@root begin
42-
@test a == [1, 5, 9]
43-
end
44-
45-
@onrank 1 begin
46-
@test a == [2, 6, 10]
47-
end
48-
49-
@onrank 2 begin
50-
@test a == [3, 7]
51-
end
52-
53-
@onrank 3 begin
54-
@test a == [4, 8]
55-
end
56-
57-
58-
split_comm = MPI.Comm_split(MPI.COMM_WORLD, rank % 2, rank)
59-
60-
a = Int[]
61-
62-
@distribute split_comm for i in 1:10
63-
push!(a, i)
64-
end
65-
66-
@onrank split_comm 0 @test a == [1, 3, 5, 7, 9]
67-
@onrank split_comm 1 @test a == [2, 4, 6, 8, 10]
68-
end
69-
7013
@testset "Distributed ECCO download" begin
7114
dates = DateTimeProlepticGregorian(1992, 1, 1) : Month(1) : DateTimeProlepticGregorian(1994, 4, 1)
7215
metadata = Metadata(:u_velocity; dataset=ECCO4Monthly(), dates)
@@ -115,9 +58,9 @@ end
11558
z = (0, 1))
11659

11760
global_height = regrid_bathymetry(global_grid;
118-
dir = "./",
119-
filename = "trivial_bathymetry.nc",
120-
interpolation_passes=10)
61+
dir = "./",
62+
filename = "trivial_bathymetry.nc",
63+
interpolation_passes=10)
12164

12265
arch_x = Distributed(CPU(), partition=Partition(4, 1))
12366
arch_y = Distributed(CPU(), partition=Partition(1, 4))

0 commit comments

Comments
 (0)