using Oceananigans
using Oceananigans.Units
using Oceananigans.Grids: φnode
using ClimaOcean
using ClimaOcean.ECCO
using Printf
using CairoMakie
using CFTime
using Dates
arch = GPU()
Nx = 1440
Ny = 400
Nz = 40
z_faces = exponential_z_faces(; Nz, depth=6000)
grid = LatitudeLongitudeGrid(arch;
size = (Nx, Ny, Nz),
halo = (7, 7, 7),
z = z_faces,
latitude = (-80, -20),
longitude = (0, 360))
bottom_height = regrid_bathymetry(grid;
minimum_depth = 10,
interpolation_passes = 7,
major_basins = 1)
grid = ImmersedBoundaryGrid(grid, GridFittedBottom(bottom_height), active_cells_map=true)
start_date = DateTime(1993, 1, 1)
end_date = DateTime(1993, 12, 1)
1993-12-01T00:00:00
Restoring force φS φN -20 ––––––– | ––––––––– | –––––– | no restoring 0 linear mask 1 mask = 1 1
const φN₁ = -23
const φN₂ = -25
const φS₁ = -78
const φS₂ = -75
@inline northern_mask(φ) = min(max((φ - φN₂) / (φN₁ - φN₂), zero(φ)), one(φ))
@inline southern_mask(φ, z) = ifelse(z > -20,
min(max((φ - φS₂) / (φS₁ - φS₂), zero(φ)), one(φ)),
zero(φ))
@inline function tracer_mask(λ, φ, z, t)
n = northern_mask(φ)
s = southern_mask(φ, z)
return max(s, n)
end
@inline function u_restoring(i, j, k, grid, clock, fields, p)
φ = φnode(i, j, k, grid, Face(), Center(), Center())
return - p.rate * fields.u[i, j, k] * northern_mask(φ)
end
@inline function v_restoring(i, j, k, grid, clock, fields, p)
φ = φnode(i, j, k, grid, Center(), Face(), Center())
return - p.rate * fields.v[i, j, k] * northern_mask(φ)
end
T_meta = Metadata(:temperature; start_date, end_date, dataset=ECCO4Monthly())
S_meta = Metadata(:temperature; start_date, end_date, dataset=ECCO4Monthly())
forcing = (T=DatasetRestoring(T_meta, arch; rate=1/5days, mask=tracer_mask),
S=DatasetRestoring(S_meta, arch; rate=1/5days, mask=tracer_mask),
u=Forcing(u_restoring; discrete_form=true, parameters=(; rate=1/5days)),
v=Forcing(v_restoring; discrete_form=true, parameters=(; rate=1/5days)))
momentum_advection = WENOVectorInvariant()
tracer_advection = WENO(order=7)
ocean = ocean_simulation(grid; forcing, momentum_advection, tracer_advection)
model = ocean.model
set!(model,
T = Metadatum(:temperature; date=start_date, dataset=ECCO4Monthly()),
S = Metadatum(:salinity; date=start_date, dataset=ECCO4Monthly()))
backend = JRA55NetCDFBackend(41)
atmosphere = JRA55PrescribedAtmosphere(arch; backend)
radiation = Radiation()
coupled_model = OceanSeaIceModel(ocean; atmosphere, radiation)
coupled_simulation = Simulation(coupled_model; Δt=10minutes, stop_time = 10days)
wall_time = [time_ns()]
function progress(sim)
ocean = sim.model.ocean
u, v, w = ocean.model.velocities
T = ocean.model.tracers.T
Tmax, Tmin = maximum(T), minimum(T)
umax = maximum(abs, u), maximum(abs, v), maximum(abs, w)
step_time = 1e-9 * (time_ns() - wall_time[1])
@info @sprintf("Time: %s, Iteration %d, Δt %s, max(vel): (%.2e, %.2e, %.2e), max(T): %.2f, min(T): %.2f, wtime: %s \n",
prettytime(ocean.model.clock.time),
ocean.model.clock.iteration,
prettytime(ocean.Δt),
umax..., Tmax, Tmin, prettytime(step_time))
wall_time[1] = time_ns()
end
coupled_simulation.callbacks[:progress] = Callback(progress, TimeInterval(4hours))
ocean.output_writers[:surface] = JLD2Writer(model, merge(model.tracers, model.velocities);
schedule = TimeInterval(5days),
filename = "surface",
indices = (:, :, grid.Nz),
overwrite_existing = true,
array_type = Array{Float32})
[ Info: Downloading ECCO data: temperature in /storage5/buildkite-agent/.julia-3668/scratchspaces/0376089a-ecfe-4b0e-a64f-9c555d74d754/ECCO/v4...
[ Info: Downloading ECCO data: temperature in /storage5/buildkite-agent/.julia-3668/scratchspaces/0376089a-ecfe-4b0e-a64f-9c555d74d754/ECCO/v4...
[ Info: Downloading ECCO data: temperature in /storage5/buildkite-agent/.julia-3668/scratchspaces/0376089a-ecfe-4b0e-a64f-9c555d74d754/ECCO/v4...
[ Info: Downloading ECCO data: temperature in /storage5/buildkite-agent/.julia-3668/scratchspaces/0376089a-ecfe-4b0e-a64f-9c555d74d754/ECCO/v4...
[ Info: Downloading ECCO data: temperature in /storage5/buildkite-agent/.julia-3668/scratchspaces/0376089a-ecfe-4b0e-a64f-9c555d74d754/ECCO/v4...
[ Info: Downloading ECCO data: temperature in /storage5/buildkite-agent/.julia-3668/scratchspaces/0376089a-ecfe-4b0e-a64f-9c555d74d754/ECCO/v4...
[ Info: Downloading ECCO data: temperature in /storage5/buildkite-agent/.julia-3668/scratchspaces/0376089a-ecfe-4b0e-a64f-9c555d74d754/ECCO/v4...
[ Info: Downloading ECCO data: temperature in /storage5/buildkite-agent/.julia-3668/scratchspaces/0376089a-ecfe-4b0e-a64f-9c555d74d754/ECCO/v4...
[ Info: Downloading ECCO data: temperature in /storage5/buildkite-agent/.julia-3668/scratchspaces/0376089a-ecfe-4b0e-a64f-9c555d74d754/ECCO/v4...
[ Info: Downloading ECCO data: temperature in /storage5/buildkite-agent/.julia-3668/scratchspaces/0376089a-ecfe-4b0e-a64f-9c555d74d754/ECCO/v4...
[ Info: Downloading ECCO data: temperature in /storage5/buildkite-agent/.julia-3668/scratchspaces/0376089a-ecfe-4b0e-a64f-9c555d74d754/ECCO/v4...
[ Info: Downloading ECCO data: temperature in /storage5/buildkite-agent/.julia-3668/scratchspaces/0376089a-ecfe-4b0e-a64f-9c555d74d754/ECCO/v4...
[ Info: Inpainting ECCO4Monthly temperature data from 1993-01-01T00:00:00...
[ Info: ... (8.716 seconds)
[ Info: Inpainting ECCO4Monthly temperature data from 1993-02-01T00:00:00...
[ Info: ... (282.102 ms)
[ Info: Downloading ECCO data: salinity in /storage5/buildkite-agent/.julia-3668/scratchspaces/0376089a-ecfe-4b0e-a64f-9c555d74d754/ECCO/v4...
[ Info: Inpainting ECCO4Monthly salinity data from 1993-01-01T00:00:00...
[ Info: ... (245.487 ms)
Spinning up the simulation
As an initial condition, we have interpolated ECCO tracer fields onto our custom grid. The bathymetry of the original ECCO data may differ from our grid, so the initialization of the velocity field might cause shocks if a large time step is used.
Therefore, we spin up the simulation with a small time step to ensure that the interpolated initial conditions adapt to the model numerics and parameterization without causing instability. A 10-day integration with a maximum time step of 1 minute should be sufficient to dissipate spurious initialization shocks.
coupled_simulation.stop_time = 10days
coupled_simulation.Δt = 2minutes
run!(coupled_simulation)
[ Info: Initializing simulation...
[ Info: Time: 0 seconds, Iteration 0, Δt 3.170 hours, max(vel): (0.00e+00, 0.00e+00, 0.00e+00), max(T): 29.70, min(T): -1.86, wtime: 1.996 minutes
[ Info: ... simulation initialization complete (1.709 minutes)
[ Info: Executing initial time step...
[ Info: ... initial time step complete (28.733 seconds).
[ Info: Time: 4 hours, Iteration 120, Δt 2 minutes, max(vel): (9.99e-01, 1.04e+00, 1.29e-02), max(T): 29.73, min(T): -1.86, wtime: 58.984 seconds
[ Info: Time: 8 hours, Iteration 240, Δt 2 minutes, max(vel): (1.87e+00, 1.18e+00, 1.57e-02), max(T): 29.90, min(T): -1.86, wtime: 31.408 seconds
[ Info: Time: 12 hours, Iteration 360, Δt 2 minutes, max(vel): (2.16e+00, 1.35e+00, 2.63e-02), max(T): 30.06, min(T): -1.86, wtime: 32.473 seconds
[ Info: Time: 16 hours, Iteration 480, Δt 2 minutes, max(vel): (2.60e+00, 1.54e+00, 4.26e-02), max(T): 29.97, min(T): -1.86, wtime: 32.848 seconds
[ Info: Time: 20 hours, Iteration 600, Δt 2 minutes, max(vel): (1.51e+00, 1.27e+00, 6.01e-02), max(T): 29.91, min(T): -1.86, wtime: 32.349 seconds
[ Info: Time: 1 day, Iteration 720, Δt 2 minutes, max(vel): (2.19e+00, 1.50e+00, 6.47e-02), max(T): 29.86, min(T): -1.86, wtime: 32.250 seconds
[ Info: Time: 1.167 days, Iteration 840, Δt 2 minutes, max(vel): (2.37e+00, 1.22e+00, 5.65e-02), max(T): 29.88, min(T): -1.86, wtime: 32.794 seconds
[ Info: Time: 1.333 days, Iteration 960, Δt 2 minutes, max(vel): (1.96e+00, 1.76e+00, 5.26e-02), max(T): 30.05, min(T): -1.86, wtime: 33.201 seconds
[ Info: Time: 1.500 days, Iteration 1080, Δt 2 minutes, max(vel): (1.22e+00, 1.50e+00, 4.61e-02), max(T): 30.18, min(T): -1.86, wtime: 32.529 seconds
[ Info: Time: 1.667 days, Iteration 1200, Δt 2 minutes, max(vel): (2.86e+00, 1.46e+00, 3.98e-02), max(T): 30.16, min(T): -1.86, wtime: 32.341 seconds
[ Info: Time: 1.833 days, Iteration 1320, Δt 2 minutes, max(vel): (2.04e+00, 1.73e+00, 2.98e-02), max(T): 30.12, min(T): -1.86, wtime: 32.269 seconds
[ Info: Time: 2 days, Iteration 1440, Δt 2 minutes, max(vel): (2.70e+00, 1.66e+00, 2.24e-02), max(T): 30.06, min(T): -1.86, wtime: 31.980 seconds
[ Info: Time: 2.167 days, Iteration 1560, Δt 2 minutes, max(vel): (2.73e+00, 1.06e+00, 1.92e-02), max(T): 30.07, min(T): -1.86, wtime: 32.801 seconds
[ Info: Time: 2.333 days, Iteration 1680, Δt 2 minutes, max(vel): (2.32e+00, 1.50e+00, 2.01e-02), max(T): 30.23, min(T): -1.86, wtime: 32.884 seconds
[ Info: Time: 2.500 days, Iteration 1800, Δt 2 minutes, max(vel): (1.78e+00, 1.15e+00, 2.31e-02), max(T): 30.34, min(T): -1.86, wtime: 32.175 seconds
[ Info: Time: 2.667 days, Iteration 1920, Δt 2 minutes, max(vel): (2.66e+00, 1.20e+00, 2.53e-02), max(T): 30.33, min(T): -1.86, wtime: 31.662 seconds
[ Info: Time: 2.833 days, Iteration 2040, Δt 2 minutes, max(vel): (3.10e+00, 1.21e+00, 2.63e-02), max(T): 30.27, min(T): -1.86, wtime: 31.807 seconds
[ Info: Time: 3 days, Iteration 2160, Δt 2 minutes, max(vel): (1.09e+00, 1.03e+00, 2.47e-02), max(T): 30.20, min(T): -1.86, wtime: 31.798 seconds
[ Info: Time: 3.167 days, Iteration 2280, Δt 2 minutes, max(vel): (2.76e+00, 1.41e+00, 2.22e-02), max(T): 30.21, min(T): -1.86, wtime: 31.606 seconds
[ Info: Time: 3.333 days, Iteration 2400, Δt 2 minutes, max(vel): (3.67e+00, 1.48e+00, 1.93e-02), max(T): 30.37, min(T): -1.86, wtime: 31.818 seconds
[ Info: Time: 3.500 days, Iteration 2520, Δt 2 minutes, max(vel): (9.97e-01, 1.48e+00, 1.75e-02), max(T): 30.48, min(T): -1.86, wtime: 31.445 seconds
[ Info: Time: 3.667 days, Iteration 2640, Δt 2 minutes, max(vel): (2.31e+00, 1.32e+00, 1.63e-02), max(T): 30.43, min(T): -1.86, wtime: 31.721 seconds
[ Info: Time: 3.833 days, Iteration 2760, Δt 2 minutes, max(vel): (3.27e+00, 1.36e+00, 1.40e-02), max(T): 30.36, min(T): -1.86, wtime: 31.220 seconds
[ Info: Time: 4 days, Iteration 2880, Δt 2 minutes, max(vel): (9.11e-01, 1.36e+00, 1.25e-02), max(T): 30.31, min(T): -1.86, wtime: 31.588 seconds
[ Info: Time: 4.167 days, Iteration 3000, Δt 2 minutes, max(vel): (2.02e+00, 1.30e+00, 1.04e-02), max(T): 30.30, min(T): -1.86, wtime: 31.204 seconds
[ Info: Time: 4.333 days, Iteration 3120, Δt 2 minutes, max(vel): (1.92e+00, 1.33e+00, 1.10e-02), max(T): 30.46, min(T): -1.86, wtime: 31.227 seconds
[ Info: Time: 4.500 days, Iteration 3240, Δt 2 minutes, max(vel): (1.70e+00, 1.41e+00, 1.15e-02), max(T): 30.55, min(T): -1.86, wtime: 31.139 seconds
[ Info: Time: 4.667 days, Iteration 3360, Δt 2 minutes, max(vel): (1.41e+00, 1.47e+00, 1.19e-02), max(T): 30.51, min(T): -1.86, wtime: 30.944 seconds
[ Info: Time: 4.833 days, Iteration 3480, Δt 2 minutes, max(vel): (1.51e+00, 1.41e+00, 1.26e-02), max(T): 30.45, min(T): -1.86, wtime: 31.123 seconds
[ Info: Time: 5 days, Iteration 3600, Δt 2 minutes, max(vel): (1.58e+00, 1.82e+00, 1.26e-02), max(T): 30.38, min(T): -1.86, wtime: 31.222 seconds
[ Info: Time: 5.167 days, Iteration 3720, Δt 2 minutes, max(vel): (1.64e+00, 1.74e+00, 1.26e-02), max(T): 30.38, min(T): -1.86, wtime: 44.122 seconds
[ Info: Time: 5.333 days, Iteration 3840, Δt 2 minutes, max(vel): (1.54e+00, 1.63e+00, 1.25e-02), max(T): 30.51, min(T): -1.86, wtime: 31.044 seconds
[ Info: Time: 5.500 days, Iteration 3960, Δt 2 minutes, max(vel): (1.72e+00, 1.41e+00, 1.19e-02), max(T): 30.61, min(T): -1.86, wtime: 30.758 seconds
[ Info: Time: 5.667 days, Iteration 4080, Δt 2 minutes, max(vel): (1.98e+00, 1.41e+00, 1.07e-02), max(T): 30.55, min(T): -1.86, wtime: 31.160 seconds
[ Info: Time: 5.833 days, Iteration 4200, Δt 2 minutes, max(vel): (1.31e+00, 1.52e+00, 1.06e-02), max(T): 30.48, min(T): -1.86, wtime: 30.874 seconds
[ Info: Time: 6 days, Iteration 4320, Δt 2 minutes, max(vel): (1.78e+00, 1.51e+00, 1.14e-02), max(T): 30.41, min(T): -1.86, wtime: 31.005 seconds
[ Info: Time: 6.167 days, Iteration 4440, Δt 2 minutes, max(vel): (1.02e+00, 1.45e+00, 1.39e-02), max(T): 30.41, min(T): -1.86, wtime: 30.639 seconds
[ Info: Time: 6.333 days, Iteration 4560, Δt 2 minutes, max(vel): (1.06e+00, 1.44e+00, 1.30e-02), max(T): 30.57, min(T): -1.86, wtime: 30.706 seconds
[ Info: Time: 6.500 days, Iteration 4680, Δt 2 minutes, max(vel): (1.57e+00, 1.47e+00, 1.38e-02), max(T): 30.69, min(T): -1.86, wtime: 31.295 seconds
[ Info: Time: 6.667 days, Iteration 4800, Δt 2 minutes, max(vel): (1.28e+00, 1.59e+00, 1.31e-02), max(T): 30.64, min(T): -1.86, wtime: 30.718 seconds
[ Info: Time: 6.833 days, Iteration 4920, Δt 2 minutes, max(vel): (1.84e+00, 1.68e+00, 1.36e-02), max(T): 30.58, min(T): -1.86, wtime: 30.829 seconds
[ Info: Time: 7 days, Iteration 5040, Δt 2 minutes, max(vel): (1.34e+00, 1.65e+00, 1.40e-02), max(T): 30.51, min(T): -1.86, wtime: 30.924 seconds
[ Info: Time: 7.167 days, Iteration 5160, Δt 2 minutes, max(vel): (1.03e+00, 1.61e+00, 1.29e-02), max(T): 30.52, min(T): -1.86, wtime: 30.863 seconds
[ Info: Time: 7.333 days, Iteration 5280, Δt 2 minutes, max(vel): (1.68e+00, 1.56e+00, 1.18e-02), max(T): 30.66, min(T): -1.85, wtime: 30.979 seconds
[ Info: Time: 7.500 days, Iteration 5400, Δt 2 minutes, max(vel): (1.10e+00, 1.48e+00, 1.16e-02), max(T): 30.70, min(T): -1.85, wtime: 31.923 seconds
[ Info: Time: 7.667 days, Iteration 5520, Δt 2 minutes, max(vel): (1.01e+00, 1.50e+00, 1.16e-02), max(T): 30.65, min(T): -1.85, wtime: 35.979 seconds
[ Info: Time: 7.833 days, Iteration 5640, Δt 2 minutes, max(vel): (1.07e+00, 1.53e+00, 1.11e-02), max(T): 30.56, min(T): -1.85, wtime: 36.190 seconds
[ Info: Time: 8 days, Iteration 5760, Δt 2 minutes, max(vel): (1.19e+00, 1.48e+00, 1.08e-02), max(T): 30.49, min(T): -1.85, wtime: 36.643 seconds
[ Info: Time: 8.167 days, Iteration 5880, Δt 2 minutes, max(vel): (1.44e+00, 1.35e+00, 1.08e-02), max(T): 30.50, min(T): -1.85, wtime: 36.079 seconds
[ Info: Time: 8.333 days, Iteration 6000, Δt 2 minutes, max(vel): (1.27e+00, 1.30e+00, 1.03e-02), max(T): 30.62, min(T): -1.85, wtime: 35.975 seconds
[ Info: Time: 8.500 days, Iteration 6120, Δt 2 minutes, max(vel): (1.42e+00, 1.46e+00, 9.68e-03), max(T): 30.70, min(T): -1.85, wtime: 34.076 seconds
[ Info: Time: 8.667 days, Iteration 6240, Δt 2 minutes, max(vel): (1.49e+00, 1.44e+00, 1.05e-02), max(T): 30.66, min(T): -1.85, wtime: 30.296 seconds
[ Info: Time: 8.833 days, Iteration 6360, Δt 2 minutes, max(vel): (1.29e+00, 1.40e+00, 1.01e-02), max(T): 30.58, min(T): -1.85, wtime: 30.693 seconds
[ Info: Time: 9 days, Iteration 6480, Δt 2 minutes, max(vel): (1.03e+00, 1.53e+00, 9.35e-03), max(T): 30.52, min(T): -1.85, wtime: 31.174 seconds
[ Info: Time: 9.167 days, Iteration 6600, Δt 2 minutes, max(vel): (1.20e+00, 1.48e+00, 1.06e-02), max(T): 30.51, min(T): -1.85, wtime: 33.507 seconds
[ Info: Time: 9.333 days, Iteration 6720, Δt 2 minutes, max(vel): (1.48e+00, 1.50e+00, 7.68e-03), max(T): 30.56, min(T): -1.85, wtime: 35.913 seconds
[ Info: Time: 9.500 days, Iteration 6840, Δt 2 minutes, max(vel): (1.79e+00, 1.60e+00, 8.95e-03), max(T): 30.61, min(T): -1.85, wtime: 36.515 seconds
[ Info: Time: 9.667 days, Iteration 6960, Δt 2 minutes, max(vel): (1.29e+00, 1.90e+00, 1.11e-02), max(T): 30.57, min(T): -1.85, wtime: 35.847 seconds
[ Info: Time: 9.833 days, Iteration 7080, Δt 2 minutes, max(vel): (1.20e+00, 1.54e+00, 9.33e-03), max(T): 30.51, min(T): -1.85, wtime: 35.641 seconds
[ Info: Simulation is stopping after running for 34.755 minutes.
[ Info: Simulation time 10 days equals or exceeds stop time 10 days.
[ Info: Time: 10 days, Iteration 7200, Δt 2 minutes, max(vel): (1.55e+00, 1.48e+00, 8.66e-03), max(T): 30.45, min(T): -1.85, wtime: 36.190 seconds
Running the simulation
Now that the simulation has spun up, we can run it for the full 2 years. We increase the maximum time step size to 10 minutes and let the simulation run for 2 years.
coupled_simulation.stop_time = 2*365days
coupled_simulation.Δt = 10minutes
run!(coupled_simulation)
[ Info: Initializing simulation...
[ Info: ... simulation initialization complete (21.088 ms)
[ Info: Executing initial time step...
[ Info: ... initial time step complete (13.230 seconds).
[ Info: Time: 10.167 days, Iteration 7224, Δt 10 minutes, max(vel): (1.03e+00, 1.45e+00, 1.18e-02), max(T): 30.44, min(T): -1.85, wtime: 19.305 seconds
[ Info: Time: 10.333 days, Iteration 7248, Δt 10 minutes, max(vel): (1.18e+00, 1.51e+00, 1.17e-02), max(T): 30.57, min(T): -1.85, wtime: 6.236 seconds
[ Info: Time: 10.500 days, Iteration 7272, Δt 10 minutes, max(vel): (1.03e+00, 1.62e+00, 1.08e-02), max(T): 30.64, min(T): -1.85, wtime: 6.212 seconds
[ Info: Time: 10.667 days, Iteration 7296, Δt 10 minutes, max(vel): (1.04e+00, 1.66e+00, 1.21e-02), max(T): 30.61, min(T): -1.85, wtime: 6.235 seconds
[ Info: Time: 10.833 days, Iteration 7320, Δt 10 minutes, max(vel): (1.27e+00, 1.66e+00, 1.20e-02), max(T): 30.55, min(T): -1.85, wtime: 6.536 seconds
[ Info: Time: 11 days, Iteration 7344, Δt 10 minutes, max(vel): (1.24e+00, 1.61e+00, 1.26e-02), max(T): 30.49, min(T): -1.85, wtime: 6.536 seconds
[ Info: Time: 11.167 days, Iteration 7368, Δt 10 minutes, max(vel): (1.29e+00, 1.63e+00, 1.24e-02), max(T): 30.47, min(T): -1.85, wtime: 6.255 seconds
[ Info: Time: 11.333 days, Iteration 7392, Δt 10 minutes, max(vel): (1.31e+00, 1.69e+00, 1.64e-02), max(T): 30.61, min(T): -1.85, wtime: 6.230 seconds
[ Info: Time: 11.500 days, Iteration 7416, Δt 10 minutes, max(vel): (1.40e+00, 1.71e+00, 1.53e-02), max(T): 30.73, min(T): -1.85, wtime: 6.212 seconds
[ Info: Time: 11.667 days, Iteration 7440, Δt 10 minutes, max(vel): (1.38e+00, 1.70e+00, 1.41e-02), max(T): 30.70, min(T): -1.85, wtime: 6.230 seconds
[ Info: Time: 11.833 days, Iteration 7464, Δt 10 minutes, max(vel): (1.42e+00, 1.64e+00, 1.85e-02), max(T): 30.64, min(T): -1.85, wtime: 6.859 seconds
[ Info: Time: 12 days, Iteration 7488, Δt 10 minutes, max(vel): (1.43e+00, 1.63e+00, 1.99e-02), max(T): 30.56, min(T): -1.85, wtime: 6.231 seconds
[ Info: Time: 12.167 days, Iteration 7512, Δt 10 minutes, max(vel): (1.38e+00, 1.72e+00, 1.73e-02), max(T): 30.54, min(T): -1.85, wtime: 6.250 seconds
[ Info: Time: 12.333 days, Iteration 7536, Δt 10 minutes, max(vel): (1.39e+00, 1.76e+00, 2.35e-02), max(T): 30.70, min(T): -1.85, wtime: 6.314 seconds
[ Info: Time: 12.500 days, Iteration 7560, Δt 10 minutes, max(vel): (1.49e+00, 1.72e+00, 2.61e-02), max(T): 30.80, min(T): -1.85, wtime: 6.304 seconds
[ Info: Time: 12.667 days, Iteration 7584, Δt 10 minutes, max(vel): (1.53e+00, 1.67e+00, 2.18e-02), max(T): 30.75, min(T): -1.85, wtime: 6.288 seconds
[ Info: Time: 12.833 days, Iteration 7608, Δt 10 minutes, max(vel): (1.52e+00, 1.67e+00, 2.34e-02), max(T): 30.68, min(T): -1.85, wtime: 6.220 seconds
[ Info: Time: 13 days, Iteration 7632, Δt 10 minutes, max(vel): (1.58e+00, 1.75e+00, 2.69e-02), max(T): 30.59, min(T): -1.85, wtime: 6.230 seconds
[ Info: Time: 13.167 days, Iteration 7656, Δt 10 minutes, max(vel): (1.61e+00, 1.84e+00, 2.45e-02), max(T): 30.58, min(T): -1.85, wtime: 6.289 seconds
[ Info: Time: 13.333 days, Iteration 7680, Δt 10 minutes, max(vel): (1.75e+00, 1.84e+00, 2.51e-02), max(T): 30.70, min(T): -1.85, wtime: 6.241 seconds
[ Info: Time: 13.500 days, Iteration 7704, Δt 10 minutes, max(vel): (1.72e+00, 1.78e+00, 2.97e-02), max(T): 30.81, min(T): -1.85, wtime: 6.308 seconds
[ Info: Time: 13.667 days, Iteration 7728, Δt 10 minutes, max(vel): (1.77e+00, 1.78e+00, 2.73e-02), max(T): 30.79, min(T): -1.85, wtime: 6.249 seconds
[ Info: Time: 13.833 days, Iteration 7752, Δt 10 minutes, max(vel): (1.74e+00, 1.85e+00, 2.29e-02), max(T): 30.73, min(T): -1.85, wtime: 6.232 seconds
[ Info: Time: 14 days, Iteration 7776, Δt 10 minutes, max(vel): (1.76e+00, 1.95e+00, 3.23e-02), max(T): 30.66, min(T): -1.85, wtime: 6.259 seconds
[ Info: Time: 14.167 days, Iteration 7800, Δt 10 minutes, max(vel): (1.72e+00, 1.98e+00, 3.10e-02), max(T): 30.65, min(T): -1.85, wtime: 6.235 seconds
[ Info: Time: 14.333 days, Iteration 7824, Δt 10 minutes, max(vel): (1.81e+00, 1.96e+00, 3.57e-02), max(T): 30.74, min(T): -1.85, wtime: 6.246 seconds
[ Info: Time: 14.500 days, Iteration 7848, Δt 10 minutes, max(vel): (1.72e+00, 1.93e+00, 3.99e-02), max(T): 30.83, min(T): -1.85, wtime: 6.271 seconds
[ Info: Time: 14.667 days, Iteration 7872, Δt 10 minutes, max(vel): (1.52e+00, 1.95e+00, 3.34e-02), max(T): 30.79, min(T): -1.85, wtime: 6.291 seconds
[ Info: Time: 14.833 days, Iteration 7896, Δt 10 minutes, max(vel): (1.49e+00, 2.02e+00, 3.78e-02), max(T): 30.69, min(T): -1.85, wtime: 6.238 seconds
[ Info: Time: 15 days, Iteration 7920, Δt 10 minutes, max(vel): (1.65e+00, 2.07e+00, 3.45e-02), max(T): 30.61, min(T): -1.85, wtime: 6.356 seconds
[ Info: Time: 15.167 days, Iteration 7944, Δt 10 minutes, max(vel): (1.53e+00, 2.07e+00, 3.70e-02), max(T): 30.57, min(T): -1.85, wtime: 16.938 seconds
[ Info: Time: 15.333 days, Iteration 7968, Δt 10 minutes, max(vel): (1.69e+00, 2.07e+00, 3.30e-02), max(T): 30.68, min(T): -1.85, wtime: 6.207 seconds
[ Info: Time: 15.500 days, Iteration 7992, Δt 10 minutes, max(vel): (1.62e+00, 2.08e+00, 4.27e-02), max(T): 30.78, min(T): -1.85, wtime: 6.905 seconds
[ Info: Time: 15.667 days, Iteration 8016, Δt 10 minutes, max(vel): (1.61e+00, 2.07e+00, 3.49e-02), max(T): 30.76, min(T): -1.85, wtime: 6.213 seconds
[ Info: Time: 15.833 days, Iteration 8040, Δt 10 minutes, max(vel): (1.66e+00, 1.95e+00, 4.32e-02), max(T): 30.69, min(T): -1.85, wtime: 6.612 seconds
[ Info: Time: 16 days, Iteration 8064, Δt 10 minutes, max(vel): (1.64e+00, 1.88e+00, 4.11e-02), max(T): 30.63, min(T): -1.85, wtime: 6.224 seconds
[ Info: Time: 16.167 days, Iteration 8088, Δt 10 minutes, max(vel): (1.73e+00, 1.83e+00, 3.69e-02), max(T): 30.62, min(T): -1.85, wtime: 6.191 seconds
[ Info: Time: 16.333 days, Iteration 8112, Δt 10 minutes, max(vel): (1.86e+00, 1.80e+00, 4.57e-02), max(T): 30.75, min(T): -1.85, wtime: 6.214 seconds
[ Info: Time: 16.500 days, Iteration 8136, Δt 10 minutes, max(vel): (1.77e+00, 1.78e+00, 4.49e-02), max(T): 30.88, min(T): -1.85, wtime: 6.260 seconds
[ Info: Time: 16.667 days, Iteration 8160, Δt 10 minutes, max(vel): (1.89e+00, 1.75e+00, 3.91e-02), max(T): 30.84, min(T): -1.85, wtime: 6.220 seconds
[ Info: Time: 16.833 days, Iteration 8184, Δt 10 minutes, max(vel): (2.06e+00, 1.73e+00, 3.90e-02), max(T): 30.77, min(T): -1.85, wtime: 6.256 seconds
[ Info: Time: 17 days, Iteration 8208, Δt 10 minutes, max(vel): (2.10e+00, 1.74e+00, 5.24e-02), max(T): 30.71, min(T): -1.85, wtime: 6.208 seconds
[ Info: Time: 17.167 days, Iteration 8232, Δt 10 minutes, max(vel): (2.00e+00, 1.74e+00, 4.74e-02), max(T): 30.69, min(T): -1.85, wtime: 6.223 seconds
[ Info: Time: 17.333 days, Iteration 8256, Δt 10 minutes, max(vel): (2.05e+00, 1.75e+00, 4.46e-02), max(T): 30.80, min(T): -1.85, wtime: 6.240 seconds
[ Info: Time: 17.500 days, Iteration 8280, Δt 10 minutes, max(vel): (2.05e+00, 1.77e+00, 6.09e-02), max(T): 30.93, min(T): -1.85, wtime: 6.209 seconds
[ Info: Time: 17.667 days, Iteration 8304, Δt 10 minutes, max(vel): (2.01e+00, 1.83e+00, 4.83e-02), max(T): 30.89, min(T): -1.85, wtime: 6.722 seconds
[ Info: Time: 17.833 days, Iteration 8328, Δt 10 minutes, max(vel): (2.10e+00, 1.86e+00, 4.83e-02), max(T): 30.82, min(T): -1.85, wtime: 6.200 seconds
[ Info: Time: 18 days, Iteration 8352, Δt 10 minutes, max(vel): (2.19e+00, 1.83e+00, 5.64e-02), max(T): 30.73, min(T): -1.85, wtime: 6.228 seconds
[ Info: Time: 18.167 days, Iteration 8376, Δt 10 minutes, max(vel): (2.32e+00, 1.83e+00, 5.02e-02), max(T): 30.68, min(T): -1.85, wtime: 6.222 seconds
[ Info: Time: 18.333 days, Iteration 8400, Δt 10 minutes, max(vel): (2.40e+00, 1.84e+00, 5.52e-02), max(T): 30.79, min(T): -1.85, wtime: 6.202 seconds
[ Info: Time: 18.500 days, Iteration 8424, Δt 10 minutes, max(vel): (2.34e+00, 1.86e+00, 5.16e-02), max(T): 30.85, min(T): -1.85, wtime: 6.209 seconds
[ Info: Time: 18.667 days, Iteration 8448, Δt 10 minutes, max(vel): (2.35e+00, 1.90e+00, 5.31e-02), max(T): 30.79, min(T): -1.85, wtime: 6.362 seconds
[ Info: Time: 18.833 days, Iteration 8472, Δt 10 minutes, max(vel): (2.47e+00, 1.89e+00, 5.31e-02), max(T): 30.70, min(T): -1.85, wtime: 6.187 seconds
[ Info: Time: 19 days, Iteration 8496, Δt 10 minutes, max(vel): (2.53e+00, 1.87e+00, 5.41e-02), max(T): 30.62, min(T): -1.85, wtime: 6.196 seconds
[ Info: Time: 19.167 days, Iteration 8520, Δt 10 minutes, max(vel): (2.53e+00, 1.84e+00, 5.64e-02), max(T): 30.61, min(T): -1.85, wtime: 6.213 seconds
[ Info: Time: 19.333 days, Iteration 8544, Δt 10 minutes, max(vel): (2.47e+00, 1.82e+00, 5.93e-02), max(T): 30.75, min(T): -1.85, wtime: 6.190 seconds
[ Info: Time: 19.500 days, Iteration 8568, Δt 10 minutes, max(vel): (2.45e+00, 1.84e+00, 6.30e-02), max(T): 30.88, min(T): -1.85, wtime: 6.497 seconds
[ Info: Time: 19.667 days, Iteration 8592, Δt 10 minutes, max(vel): (2.41e+00, 1.89e+00, 6.70e-02), max(T): 30.86, min(T): -1.85, wtime: 6.187 seconds
[ Info: Time: 19.833 days, Iteration 8616, Δt 10 minutes, max(vel): (2.40e+00, 1.93e+00, 6.97e-02), max(T): 30.79, min(T): -1.85, wtime: 6.181 seconds
[ Info: Time: 20 days, Iteration 8640, Δt 10 minutes, max(vel): (2.50e+00, 1.91e+00, 7.06e-02), max(T): 30.73, min(T): -1.85, wtime: 6.345 seconds
[ Info: Time: 20.167 days, Iteration 8664, Δt 10 minutes, max(vel): (2.49e+00, 1.86e+00, 6.78e-02), max(T): 30.70, min(T): -1.85, wtime: 22.046 seconds
[ Info: Time: 20.333 days, Iteration 8688, Δt 10 minutes, max(vel): (2.51e+00, 1.84e+00, 6.73e-02), max(T): 30.80, min(T): -1.85, wtime: 12.871 seconds
[ Info: Time: 20.500 days, Iteration 8712, Δt 10 minutes, max(vel): (2.54e+00, 1.91e+00, 7.18e-02), max(T): 30.88, min(T): -1.85, wtime: 13.053 seconds
[ Info: Time: 20.667 days, Iteration 8736, Δt 10 minutes, max(vel): (2.58e+00, 1.97e+00, 7.09e-02), max(T): 30.85, min(T): -1.85, wtime: 13.025 seconds
[ Info: Time: 20.833 days, Iteration 8760, Δt 10 minutes, max(vel): (2.61e+00, 2.06e+00, 7.62e-02), max(T): 30.79, min(T): -1.85, wtime: 13.107 seconds
[ Info: Time: 21 days, Iteration 8784, Δt 10 minutes, max(vel): (2.58e+00, 2.02e+00, 7.68e-02), max(T): 30.72, min(T): -1.85, wtime: 11.447 seconds
[ Info: Time: 21.167 days, Iteration 8808, Δt 10 minutes, max(vel): (2.65e+00, 1.88e+00, 7.81e-02), max(T): 30.69, min(T): -1.85, wtime: 8.415 seconds
[ Info: Time: 21.333 days, Iteration 8832, Δt 10 minutes, max(vel): (2.59e+00, 1.74e+00, 8.89e-02), max(T): 30.77, min(T): -1.85, wtime: 12.208 seconds
[ Info: Time: 21.500 days, Iteration 8856, Δt 10 minutes, max(vel): (2.62e+00, 1.77e+00, 9.39e-02), max(T): 30.84, min(T): -1.85, wtime: 12.932 seconds
[ Info: Time: 21.667 days, Iteration 8880, Δt 10 minutes, max(vel): (2.50e+00, 1.79e+00, 9.53e-02), max(T): 30.80, min(T): -1.85, wtime: 12.745 seconds
[ Info: Time: 21.833 days, Iteration 8904, Δt 10 minutes, max(vel): (2.72e+00, 1.82e+00, 9.21e-02), max(T): 30.73, min(T): -1.85, wtime: 12.253 seconds
[ Info: Time: 22 days, Iteration 8928, Δt 10 minutes, max(vel): (2.81e+00, 1.84e+00, 9.48e-02), max(T): 30.66, min(T): -1.85, wtime: 12.232 seconds
[ Info: Time: 22.167 days, Iteration 8952, Δt 10 minutes, max(vel): (2.83e+00, 1.88e+00, 9.12e-02), max(T): 30.64, min(T): -1.85, wtime: 13.057 seconds
[ Info: Time: 22.333 days, Iteration 8976, Δt 10 minutes, max(vel): (2.83e+00, 1.82e+00, 9.25e-02), max(T): 30.76, min(T): -1.85, wtime: 7.761 seconds
[ Info: Time: 22.500 days, Iteration 9000, Δt 10 minutes, max(vel): (2.87e+00, 1.82e+00, 8.72e-02), max(T): 30.84, min(T): -1.85, wtime: 12.823 seconds
[ Info: Time: 22.667 days, Iteration 9024, Δt 10 minutes, max(vel): (2.83e+00, 2.04e+00, 9.32e-02), max(T): 30.81, min(T): -1.85, wtime: 12.129 seconds
[ Info: Time: 22.833 days, Iteration 9048, Δt 10 minutes, max(vel): (2.84e+00, 2.02e+00, 9.14e-02), max(T): 30.75, min(T): -1.85, wtime: 12.213 seconds
[ Info: Time: 23 days, Iteration 9072, Δt 10 minutes, max(vel): (2.84e+00, 1.96e+00, 9.59e-02), max(T): 30.70, min(T): -1.85, wtime: 12.968 seconds
[ Info: Time: 23.167 days, Iteration 9096, Δt 10 minutes, max(vel): (2.88e+00, 1.89e+00, 1.16e-01), max(T): 30.69, min(T): -1.85, wtime: 12.499 seconds
[ Info: Time: 23.333 days, Iteration 9120, Δt 10 minutes, max(vel): (2.70e+00, 1.80e+00, 1.02e-01), max(T): 30.84, min(T): -1.85, wtime: 12.208 seconds
[ Info: Time: 23.500 days, Iteration 9144, Δt 10 minutes, max(vel): (2.69e+00, 1.75e+00, 1.07e-01), max(T): 30.95, min(T): -1.85, wtime: 10.356 seconds
[ Info: Time: 23.667 days, Iteration 9168, Δt 10 minutes, max(vel): (2.69e+00, 1.80e+00, 1.12e-01), max(T): 30.92, min(T): -1.85, wtime: 8.472 seconds
[ Info: Time: 23.833 days, Iteration 9192, Δt 10 minutes, max(vel): (2.69e+00, 1.80e+00, 1.21e-01), max(T): 30.85, min(T): -1.85, wtime: 12.905 seconds
[ Info: Time: 24 days, Iteration 9216, Δt 10 minutes, max(vel): (2.59e+00, 1.77e+00, 1.14e-01), max(T): 30.77, min(T): -1.85, wtime: 13.002 seconds
[ Info: Time: 24.167 days, Iteration 9240, Δt 10 minutes, max(vel): (2.65e+00, 1.83e+00, 1.15e-01), max(T): 30.76, min(T): -1.85, wtime: 12.714 seconds
[ Info: Time: 24.333 days, Iteration 9264, Δt 10 minutes, max(vel): (2.55e+00, 1.82e+00, 1.10e-01), max(T): 30.87, min(T): -1.85, wtime: 13.104 seconds
[ Info: Time: 24.500 days, Iteration 9288, Δt 10 minutes, max(vel): (2.22e+00, 1.74e+00, 1.20e-01), max(T): 30.98, min(T): -1.85, wtime: 13.097 seconds
[ Info: Time: 24.667 days, Iteration 9312, Δt 10 minutes, max(vel): (2.29e+00, 1.66e+00, 1.42e-01), max(T): 30.94, min(T): -1.85, wtime: 11.973 seconds
[ Info: Time: 24.833 days, Iteration 9336, Δt 10 minutes, max(vel): (2.24e+00, 1.68e+00, 1.33e-01), max(T): 30.87, min(T): -1.85, wtime: 8.264 seconds
[ Info: Time: 25 days, Iteration 9360, Δt 10 minutes, max(vel): (2.24e+00, 1.75e+00, 1.12e-01), max(T): 30.80, min(T): -1.85, wtime: 13.790 seconds
[ Info: Time: 25.167 days, Iteration 9384, Δt 10 minutes, max(vel): (2.30e+00, 1.83e+00, 1.23e-01), max(T): 30.78, min(T): -1.85, wtime: 25.174 seconds
[ Info: Time: 25.333 days, Iteration 9408, Δt 10 minutes, max(vel): (2.55e+00, 1.86e+00, 1.21e-01), max(T): 30.92, min(T): -1.85, wtime: 13.126 seconds
[ Info: Time: 25.500 days, Iteration 9432, Δt 10 minutes, max(vel): (2.52e+00, 1.85e+00, 1.21e-01), max(T): 31.04, min(T): -1.85, wtime: 11.805 seconds
[ Info: Time: 25.667 days, Iteration 9456, Δt 10 minutes, max(vel): (2.48e+00, 1.96e+00, 1.45e-01), max(T): 31.00, min(T): -1.85, wtime: 7.899 seconds
[ Info: Time: 25.833 days, Iteration 9480, Δt 10 minutes, max(vel): (2.62e+00, 2.14e+00, 1.27e-01), max(T): 30.91, min(T): -1.84, wtime: 13.414 seconds
[ Info: Time: 26 days, Iteration 9504, Δt 10 minutes, max(vel): (2.65e+00, 2.14e+00, 1.36e-01), max(T): 30.80, min(T): -1.84, wtime: 12.656 seconds
[ Info: Time: 26.167 days, Iteration 9528, Δt 10 minutes, max(vel): (2.67e+00, 1.95e+00, 1.35e-01), max(T): 30.75, min(T): -1.84, wtime: 13.013 seconds
[ Info: Time: 26.333 days, Iteration 9552, Δt 10 minutes, max(vel): (2.81e+00, 1.98e+00, 1.31e-01), max(T): 30.85, min(T): -1.84, wtime: 12.967 seconds
[ Info: Time: 26.500 days, Iteration 9576, Δt 10 minutes, max(vel): (3.04e+00, 2.08e+00, 1.33e-01), max(T): 30.92, min(T): -1.84, wtime: 12.285 seconds
[ Info: Time: 26.667 days, Iteration 9600, Δt 10 minutes, max(vel): (3.21e+00, 2.12e+00, 1.47e-01), max(T): 30.89, min(T): -1.84, wtime: 12.944 seconds
[ Info: Time: 26.833 days, Iteration 9624, Δt 10 minutes, max(vel): (3.02e+00, 2.05e+00, 1.51e-01), max(T): 30.83, min(T): -1.84, wtime: 6.551 seconds
[ Info: Time: 27 days, Iteration 9648, Δt 10 minutes, max(vel): (3.49e+00, 1.85e+00, 1.34e-01), max(T): 30.76, min(T): -1.84, wtime: 12.310 seconds
[ Info: Time: 27.167 days, Iteration 9672, Δt 10 minutes, max(vel): (3.75e+00, 1.80e+00, 1.41e-01), max(T): 30.75, min(T): -1.84, wtime: 12.266 seconds
[ Info: Time: 27.333 days, Iteration 9696, Δt 10 minutes, max(vel): (3.85e+00, 1.82e+00, 1.42e-01), max(T): 30.90, min(T): -1.84, wtime: 12.494 seconds
[ Info: Time: 27.500 days, Iteration 9720, Δt 10 minutes, max(vel): (3.64e+00, 1.74e+00, 1.45e-01), max(T): 31.01, min(T): -1.84, wtime: 12.379 seconds
[ Info: Time: 27.667 days, Iteration 9744, Δt 10 minutes, max(vel): (3.39e+00, 1.95e+00, 1.55e-01), max(T): 30.98, min(T): -1.84, wtime: 12.952 seconds
[ Info: Time: 27.833 days, Iteration 9768, Δt 10 minutes, max(vel): (3.25e+00, 2.39e+00, 1.52e-01), max(T): 30.91, min(T): -1.84, wtime: 13.005 seconds
[ Info: Time: 28 days, Iteration 9792, Δt 10 minutes, max(vel): (3.20e+00, 2.29e+00, 1.50e-01), max(T): 30.84, min(T): -1.84, wtime: 9.538 seconds
[ Info: Time: 28.167 days, Iteration 9816, Δt 10 minutes, max(vel): (3.11e+00, 2.38e+00, 1.57e-01), max(T): 30.82, min(T): -1.84, wtime: 9.820 seconds
[ Info: Time: 28.333 days, Iteration 9840, Δt 10 minutes, max(vel): (3.62e+00, 2.20e+00, 1.54e-01), max(T): 30.95, min(T): -1.84, wtime: 13.118 seconds
[ Info: Time: 28.500 days, Iteration 9864, Δt 10 minutes, max(vel): (3.63e+00, 2.13e+00, 1.73e-01), max(T): 31.06, min(T): -1.84, wtime: 12.573 seconds
[ Info: Time: 28.667 days, Iteration 9888, Δt 10 minutes, max(vel): (3.69e+00, 2.50e+00, 1.69e-01), max(T): 31.03, min(T): -1.84, wtime: 12.728 seconds
[ Info: Time: 28.833 days, Iteration 9912, Δt 10 minutes, max(vel): (3.29e+00, 2.79e+00, 1.68e-01), max(T): 30.96, min(T): -1.84, wtime: 12.901 seconds
[ Info: Time: 29 days, Iteration 9936, Δt 10 minutes, max(vel): (3.52e+00, 2.40e+00, 1.74e-01), max(T): 30.88, min(T): -1.84, wtime: 12.813 seconds
[ Info: Time: 29.167 days, Iteration 9960, Δt 10 minutes, max(vel): (3.31e+00, 2.38e+00, 1.61e-01), max(T): 30.85, min(T): -1.84, wtime: 11.066 seconds
[ Info: Time: 29.333 days, Iteration 9984, Δt 10 minutes, max(vel): (3.24e+00, 3.08e+00, 1.73e-01), max(T): 30.95, min(T): -1.84, wtime: 9.842 seconds
[ Info: Time: 29.500 days, Iteration 10008, Δt 10 minutes, max(vel): (4.22e+00, 2.27e+00, 1.80e-01), max(T): 31.03, min(T): -1.84, wtime: 12.860 seconds
[ Info: Time: 29.667 days, Iteration 10032, Δt 10 minutes, max(vel): (4.20e+00, 2.44e+00, 1.85e-01), max(T): 31.00, min(T): -1.84, wtime: 13.033 seconds
[ Info: Time: 29.833 days, Iteration 10056, Δt 10 minutes, max(vel): (4.41e+00, 2.38e+00, 1.99e-01), max(T): 30.93, min(T): -1.84, wtime: 12.595 seconds
[ Info: Time: 30 days, Iteration 10080, Δt 10 minutes, max(vel): (4.44e+00, 2.06e+00, 2.22e-01), max(T): 30.86, min(T): -1.84, wtime: 7.922 seconds
[ Info: Time: 30.167 days, Iteration 10104, Δt 10 minutes, max(vel): (4.04e+00, 2.59e+00, 1.97e-01), max(T): 30.83, min(T): -1.84, wtime: 27.502 seconds
[ Info: Time: 30.333 days, Iteration 10128, Δt 10 minutes, max(vel): (NaN, NaN, NaN), max(T): NaN, min(T): NaN, wtime: 9.803 seconds
[ Info: Time: 30.500 days, Iteration 10152, Δt 10 minutes, max(vel): (NaN, NaN, NaN), max(T): NaN, min(T): NaN, wtime: 11.796 seconds
[ Info: Time: 30.667 days, Iteration 10176, Δt 10 minutes, max(vel): (NaN, NaN, NaN), max(T): NaN, min(T): NaN, wtime: 12.414 seconds
[ Info: time = 2.664e6, iteration = 10200: NaN found in field u_ocean. Stopping simulation.
[ Info: Time: 30.833 days, Iteration 10200, Δt 10 minutes, max(vel): (NaN, NaN, NaN), max(T): NaN, min(T): NaN, wtime: 6.871 seconds
Visualizing the results
The simulation has finished, let's visualize the results. In this section we pull up the saved data and create visualizations using the CairoMakie.jl package. In particular, we generate an animation of the evolution of surface fields: surface speed (s), surface temperature (T), and turbulent kinetic energy (e).
u = FieldTimeSeries("surface.jld2", "u"; backend = OnDisk())
v = FieldTimeSeries("surface.jld2", "v"; backend = OnDisk())
T = FieldTimeSeries("surface.jld2", "T"; backend = OnDisk())
e = FieldTimeSeries("surface.jld2", "e"; backend = OnDisk())
times = u.times
Nt = length(times)
iter = Observable(Nt)
Ti = @lift begin
Ti = interior(T[$iter], :, :, 1)
Ti[Ti .== 0] .= NaN
Ti
end
ei = @lift begin
ei = interior(e[$iter], :, :, 1)
ei[ei .== 0] .= NaN
ei
end
si = @lift begin
s = Field(sqrt(u[$iter]^2 + v[$iter]^2))
compute!(s)
s = interior(s, :, :, 1)
s[s .== 0] .= NaN
s
end
fig = Figure(size = (800, 400))
ax = Axis(fig[1, 1])
hm = heatmap!(ax, si, colorrange = (0, 0.5), colormap = :deep)
cb = Colorbar(fig[0, 1], hm, vertical = false, label = "Surface speed (ms⁻¹)")
hidedecorations!(ax)
CairoMakie.record(fig, "near_global_ocean_surface_s.mp4", 1:Nt, framerate = 8) do i
iter[] = i
end
fig = Figure(size = (800, 400))
ax = Axis(fig[1, 1])
hm = heatmap!(ax, Ti, colorrange = (-1, 30), colormap = :magma)
cb = Colorbar(fig[0, 1], hm, vertical = false, label = "Surface Temperature (Cᵒ)")
hidedecorations!(ax)
CairoMakie.record(fig, "near_global_ocean_surface_T.mp4", 1:Nt, framerate = 8) do i
iter[] = i
end
fig = Figure(size = (800, 400))
ax = Axis(fig[1, 1])
hm = heatmap!(ax, ei, colorrange = (0, 1e-3), colormap = :solar)
cb = Colorbar(fig[0, 1], hm, vertical = false, label = "Turbulent Kinetic Energy (m²s⁻²)")
hidedecorations!(ax)
CairoMakie.record(fig, "near_global_ocean_surface_e.mp4", 1:Nt, framerate = 8) do i
iter[] = i
end
This page was generated using Literate.jl.