From abb1f74046fb522b7d8664503ed2646b018dcc43 Mon Sep 17 00:00:00 2001 From: Simone Silvestri Date: Thu, 30 Jan 2025 10:58:25 +0100 Subject: [PATCH] should work now --- .../distributed_hydrostatic_turbulence.jl | 46 ------------------- .../visualize_hydrostatic_simulation.jl | 35 ++++++++++++++ 2 files changed, 35 insertions(+), 46 deletions(-) create mode 100644 validation/distributed_simulations/visualize_hydrostatic_simulation.jl diff --git a/validation/distributed_simulations/distributed_hydrostatic_turbulence.jl b/validation/distributed_simulations/distributed_hydrostatic_turbulence.jl index c2883efb40..389787899a 100644 --- a/validation/distributed_simulations/distributed_hydrostatic_turbulence.jl +++ b/validation/distributed_simulations/distributed_hydrostatic_turbulence.jl @@ -63,49 +63,3 @@ arch = Distributed(CPU(), partition = Partition(2, 2)) # Run the simulation run_simulation(Nx, Ny, arch) - -# Visualize the plane -# Produce a video for variable `var` -try - using GLMakie - - function visualize_simulation(var) - iter = Observable(1) - - v = Vector(undef, 4) - V = Vector(undef, 4) - x = Vector(undef, 4) - y = Vector(undef, 4) - - for r in 1:4 - v[r] = FieldTimeSeries("mpi_hydrostatic_turbulence_rank$(r-1).jld2", var) - nx, ny, _ = size(v[r]) - V[r] = @lift(interior(v[r][$iter], 1:nx, 1:ny, 1)) - - x[r] = xnodes(v[r]) - y[r] = ynodes(v[r]) - end - - fig = Figure() - ax = Axis(fig[1, 1]) - for r in 1:4 - heatmap!(ax, x[r], y[r], V[r], colorrange = (-1.0, 1.0)) - end - - GLMakie.record(fig, "hydrostatic_test_" * var * ".mp4", 1:length(v[1].times), framerate = 11) do i - @info "step $i"; - iter[] = i; - end - end - - if MPI.Comm_rank(MPI.COMM_WORLD) == 0 - visualize_simulation("u") - visualize_simulation("v") - visualize_simulation("c") - end -catch err - @info err -end - -MPI.Barrier(arch.communicator) - diff --git a/validation/distributed_simulations/visualize_hydrostatic_simulation.jl b/validation/distributed_simulations/visualize_hydrostatic_simulation.jl new file mode 100644 index 0000000000..de48f1bc94 --- /dev/null +++ b/validation/distributed_simulations/visualize_hydrostatic_simulation.jl @@ -0,0 +1,35 @@ +using GLMakie +using Oceananigans + +function visualize_simulation(var) + iter = Observable(1) + + v = Vector(undef, 4) + V = Vector(undef, 4) + x = Vector(undef, 4) + y = Vector(undef, 4) + + for r in 1:4 + v[r] = FieldTimeSeries("mpi_hydrostatic_turbulence_rank$(r-1).jld2", var; boundary_conditions=nothing) + nx, ny, _ = size(v[r]) + V[r] = @lift(interior(v[r][$iter], 1:nx, 1:ny, 1)) + + x[r] = xnodes(v[r]) + y[r] = ynodes(v[r]) + end + + fig = Figure() + ax = Axis(fig[1, 1]) + for r in 1:4 + heatmap!(ax, x[r], y[r], V[r], colorrange = (-1.0, 1.0)) + end + + GLMakie.record(fig, "hydrostatic_test_" * var * ".mp4", 1:length(v[1].times), framerate = 11) do i + @info "step $i"; + iter[] = i; + end +end + +visualize_simulation("u") +visualize_simulation("v") +visualize_simulation("c")