Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
f2fde93
Update to Oceananigans v0.105 and migrate ClimaOcean to NumericalEarth
glwagner Mar 6, 2026
6b1217b
Restore first_time_step\! and keep FixedIterations
glwagner Mar 6, 2026
fbc5744
Replace exponential_z_faces with ExponentialDiscretization
glwagner Mar 6, 2026
bb96e8a
Switch ocean climate simulation to LatitudeLongitudeGrid
glwagner Mar 6, 2026
2274d2d
Use EN4 instead of ECCO for ocean climate simulation
glwagner Mar 6, 2026
da53b26
Make grid a positional arg to HydrostaticFreeSurfaceModel (Oceananiga…
glwagner Mar 6, 2026
2589f0e
Point Oceananigans to branch with view fix for cpu_face_constructor_r
glwagner Mar 6, 2026
25395a2
Trigger CI with updated Oceananigans fixes (view + OffsetArray)
glwagner Mar 6, 2026
6b2c0bc
Fix filtered_state field names for SplitExplicitFreeSurface in correc…
glwagner Mar 6, 2026
9bd3d6a
Reduce sharded test grid size to avoid OOM on CI
glwagner Mar 6, 2026
4d4789a
Fix NaN in tendencies by forcing euler=true on first time step
glwagner Mar 6, 2026
a44d849
Call Oceananigans.initialize! in first_time_step!
glwagner Mar 6, 2026
1201f0e
Don't throw on initial state comparison (Gⁿ is uninitialized)
glwagner Mar 6, 2026
1a82ea8
Don't throw on Gⁿ comparison after initial update_state\!
glwagner Mar 6, 2026
8c7d587
Point Oceananigans to glw/reactant-correctness and add maybe_initiali…
glwagner Mar 6, 2026
ae2645e
Revert maybe_initialize_state\! no-op (moved to Oceananigans)
glwagner Mar 6, 2026
461d36b
Always compare tendencies on interior only
glwagner Mar 6, 2026
cebff2f
throw error on compare states
glwagner Mar 7, 2026
3696760
use lat-lon grid for data-free
glwagner Mar 7, 2026
008ba82
Update precompile imports for Oceananigans v0.105 API
glwagner Mar 7, 2026
67cf652
Merge branch 'main' into glw/up
glwagner Mar 7, 2026
f2bd340
define special first_time_step for QAB2 timestepper
glwagner Mar 7, 2026
f27f68d
Merge branch 'glw/up' of https://github.com/PRONTOLab/GB-25 into glw/up
glwagner Mar 8, 2026
70bf424
update to latest tagged Oceananigans
glwagner Mar 9, 2026
5d0228f
cleanup
glwagner Mar 10, 2026
2aaf23b
use 3 for Ninner rather than ConcreteRNumber
glwagner Mar 10, 2026
3598b01
Update simulations/baroclinic_instability_simulation_run.jl
glwagner Mar 10, 2026
57976e9
ensure we use QAB2 timestepper
glwagner Mar 10, 2026
e5fa36f
force main for both Reactant and ReactantCore
glwagner Mar 10, 2026
5bb873a
Merge branch 'glw/up' of https://github.com/PRONTOLab/GB-25 into glw/up
glwagner Mar 10, 2026
b9d35ff
quality Periodic (plus other topologies)
glwagner Mar 11, 2026
07dd736
try workaround for number promotion bug
glwagner Mar 12, 2026
4f57792
that didnt work
glwagner Mar 12, 2026
7ec4d14
use new Oceananigans branch
glwagner Mar 12, 2026
5a24b9d
trigger CI
glwagner Mar 12, 2026
3ff4809
Point to new NumericalEarth branch
glwagner Mar 12, 2026
ca53d6b
zero tendencies before initialize! is called in correctness
glwagner Mar 12, 2026
85e9271
Update simulations/ocean_climate_simulation.jl
glwagner Mar 13, 2026
4e8b2c3
Update Project.toml
glwagner Mar 19, 2026
0e353d4
Update Project.toml
glwagner Mar 19, 2026
ba88003
Update Project.toml
glwagner Mar 19, 2026
8ff9128
update compat
glwagner Mar 19, 2026
1b1547a
Update sharding/sharded_baroclinic_instability_simulation_run.jl
glwagner Mar 20, 2026
3d53573
Add CUDA and pray
dkytezab Mar 20, 2026
122120c
add back zero_tendencies
glwagner Mar 20, 2026
2d0b1ec
Fix NaN in correctness tests from zero-thickness vertical grid cells
glwagner Mar 20, 2026
fe9f0e5
Reduce Ninner from 3 to 2 to avoid OOM during loop! compilation
glwagner Mar 20, 2026
383a84f
Trigger CI to pick up Oceananigans tick! fix
glwagner Mar 21, 2026
c3651a7
Pin Oceananigans to specific commit with tick! fix
glwagner Mar 21, 2026
baa55a0
Use optimization_barrier to break clock field alias in tick!
glwagner Mar 21, 2026
06104b0
Revert throw_error=false to throw_error in correctness tests
glwagner Mar 21, 2026
da1e0f1
try Ninner=1 for compile
glwagner Mar 23, 2026
5337a37
cleanup
glwagner Mar 23, 2026
744e6dd
Merge branch 'main' into glw/up
glwagner Mar 23, 2026
6af3510
add eager registry preference
glwagner Mar 23, 2026
8485e9a
require _jll 0.358
glwagner Mar 23, 2026
7a9f37d
fix
glwagner Mar 23, 2026
4bbbb40
point to oceananigans 106.1
glwagner Mar 23, 2026
221c059
Update Project.toml
glwagner Mar 23, 2026
116733e
try Reactant fixup
Pangoraw Mar 24, 2026
b236589
try TenUnrolledIterations
glwagner Mar 24, 2026
a21a7bc
Only check for the op
Pangoraw Mar 26, 2026
8e2ebdd
Update ocean_climate_simulation_run.jl
glwagner Mar 26, 2026
0d54917
newest reactant
Pangoraw Mar 27, 2026
3a89118
Update sharded_baroclinic_instability_simulation_compile.jl
Pangoraw Mar 27, 2026
cafeb0c
Actually fix debug compile
Pangoraw Mar 28, 2026
1e09ee4
take2
Pangoraw Mar 28, 2026
0ee7d91
Update sharded_baroclinic_instability_simulation_compile.jl
Pangoraw Mar 28, 2026
43ba004
Update baroclinic_instability_simulation_compile.jl
Pangoraw Mar 28, 2026
b8c4572
Update ocean_climate_simulation_compile.jl
Pangoraw Mar 28, 2026
4a737e0
Pass ctx to code_hlo calls in compile scripts
Pangoraw Mar 28, 2026
f08a3f3
Pass args as tuple to Reactant.Compiler.code_hlo
Pangoraw Mar 28, 2026
c51a466
cancel
Pangoraw Mar 28, 2026
7ed879f
Try Reactant workaround
Pangoraw Mar 29, 2026
02b90f0
agro
Pangoraw Mar 31, 2026
fa91d4f
no aggro
Pangoraw Mar 31, 2026
0d57984
here we go again
Pangoraw Mar 31, 2026
50371f5
Update src/data_free_ocean_climate_model.jl
glwagner Apr 3, 2026
f511bc5
Merge branch 'main' into glw/up
glwagner Apr 3, 2026
ae645f8
Update correctness_baroclinic_instability_simulation_run.jl
glwagner Apr 3, 2026
6e2c1f2
Update correctness_sharded_baroclinic_instability_simulation_run.jl
glwagner Apr 3, 2026
da9b7e6
Merge branch 'main' into glw/up
glwagner Apr 8, 2026
7bd9894
Merge branch 'main' into glw/up
dkytezab Apr 8, 2026
0590584
Use ConcreteRNumber for baroclinic inner loop
glwagner May 22, 2026
ab53225
Pin ClimaSeaIce for NumericalEarth CI
glwagner May 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .github/workflows/CompileOrRun.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@ jobs:
simulation:
name: Julia ${{ inputs.julia_version }} - ${{ inputs.sim_type }} - ${{ inputs.os }} - ${{ inputs.xla_runtime }} - ${{ inputs.compile_or_run }}
runs-on: ${{ inputs.os }}
env:
JULIA_PKG_SERVER_REGISTRY_PREFERENCE: eager
strategy:
fail-fast: false
steps:
Expand Down Expand Up @@ -131,7 +133,7 @@ jobs:
run: |
OK="true"
for OP in all-to-all all-gather all-reduce; do
COLLECTIVES=$(find . -name 'optimised_${{ inputs.sim_type }}*.xla' -exec grep --with-filename --line-number --extended-regexp "${OP}" '{}' \;)
COLLECTIVES=$(find . -name 'optimised_${{ inputs.sim_type }}*.xla' -exec grep --with-filename --line-number --extended-regexp "${OP}\(" '{}' \;)
NUM_COLLECTIVES=$(echo "${COLLECTIVES}" | wc -l | xargs)
if [[ -n "${COLLECTIVES}" ]]; then
MSG="There are ${NUM_COLLECTIVES} remaining ${OP} operations"
Expand Down
18 changes: 15 additions & 3 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,19 @@ ArgParse = "c7e460c6-2fb9-53a9-8c5b-16f535851c63"
BFloat16s = "ab4f0b2a-ad5b-11e8-123f-65d77653426b"
CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
CUDA_Runtime_jll = "76a88914-d11a-5bdc-97e0-2f5a05c973a2"
ClimaOcean = "0376089a-ecfe-4b0e-a64f-9c555d74d754"
ClimaSeaIce = "6ba0ff68-24e6-4315-936c-2e99227c95a4"
Dates = "ade2ca70-3891-5945-98fb-dc099432e06a"
HDF5_jll = "0234f1f7-429e-5d53-9886-15a909be8d59"
KernelAbstractions = "63c18a36-062a-441e-b654-da1e3ab1ce7c"
MPI = "da04e1cc-30fd-572f-bb4f-1f8673147195"
NumericalEarth = "904d977b-046a-4731-8b86-9235c0d1ef02"
Oceananigans = "9e8cae18-63c1-5223-a75c-80ca9d6e9a09"
PrecompileTools = "aea7be01-6a6a-4083-8856-8a6e6704d82a"
Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7"
Profile = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
Reactant = "3c362404-f566-11ee-1572-e11a4b42c853"
ReactantCore = "a3311ec8-5e00-46d5-b541-4f83e724a433"
Reactant_jll = "0192cb87-2b54-54ad-80e0-3be72ad8a3c0"
SeawaterPolynomials = "d496a93d-167e-4197-9f49-d3af4ff8fe40"
Serialization = "9e88b42a-f829-5b0c-bbe9-9e923198166b"
Expand All @@ -27,18 +29,28 @@ Serialization = "9e88b42a-f829-5b0c-bbe9-9e923198166b"
ArgParse = "1.2.0"
BFloat16s = "0.6.1"
CUDA = "5.7.1"
ClimaOcean = "0.5.10"
ClimaSeaIce = "=0.4.5"
Dates = "1"
HDF5_jll = "=1.14.3"
KernelAbstractions = "0.9.34"
MPI = "0.20.22"
Oceananigans = "=0.96.26"
NumericalEarth = "0.2.2"
Oceananigans = "0.106.1"
PrecompileTools = "1.2.1"
Printf = "1"
Profile = "1"
ReactantCore = "0.1.18"
Reactant = "0.2.247"
SeawaterPolynomials = "0.3.9"
Serialization = "1"

[sources.Oceananigans]
url = "https://github.com/CliMA/Oceananigans.jl.git"
rev = "pb/step-fix"

[sources.NumericalEarth]
url = "https://github.com/NumericalEarth/NumericalEarth.jl.git"
rev = "glw/manual-iterate"

[preferences.Reactant]
xla_runtime = "IFRT"
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ const parsed_args = GordonBell25.parse_baroclinic_instability_args(;

default_float_type = GordonBell25.float_type_from_args(parsed_args)
Oceananigans.defaults.FloatType = default_float_type
using CUDA
using Reactant

throw_error = true
Expand Down Expand Up @@ -40,6 +41,8 @@ vmodel = GordonBell25.baroclinic_instability_model(varch, Nx, Ny, Nz; model_kw..
ui = 1e-3 .* rand(size(vmodel.velocities.u)...)
vi = 1e-3 .* rand(size(vmodel.velocities.v)...)
set!(vmodel, u=ui, v=vi)
GordonBell25.zero_tendencies!(rmodel)
GordonBell25.zero_tendencies!(vmodel)
GordonBell25.sync_states!(rmodel, vmodel)

@info "At the beginning:"
Expand All @@ -57,6 +60,9 @@ Oceananigans.TimeSteppers.update_state!(vmodel)
GordonBell25.compare_states(rmodel, vmodel; include_halos, throw_error, rtol, atol)

GordonBell25.sync_states!(rmodel, vmodel)
GordonBell25.zero_tendencies!(rmodel)
GordonBell25.zero_tendencies!(vmodel)
# compile_options = CompileOptions(; sync=true, raise=true, strip_llvm_debuginfo=true, strip=:all)
rfirst! = @compile compile_options=compile_options GordonBell25.first_time_step!(rmodel)
@showtime rfirst!(rmodel)
@showtime GordonBell25.first_time_step!(vmodel)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using GordonBell25
using Oceananigans
using Reactant

const parsed_args = GordonBell25.parse_baroclinic_instability_args(;
grid_x_default = 64,
Expand All @@ -9,7 +10,6 @@ const parsed_args = GordonBell25.parse_baroclinic_instability_args(;

default_float_type = GordonBell25.float_type_from_args(parsed_args)
Oceananigans.defaults.FloatType = default_float_type
using Reactant

if !GordonBell25.is_distributed_env_present()
using MPI
Expand Down Expand Up @@ -64,6 +64,8 @@ end
ui = 1e-3 .* rand(size(vmodel.velocities.u)...)
vi = 1e-3 .* rand(size(vmodel.velocities.v)...)
set!(vmodel, u=ui, v=vi)
GordonBell25.zero_tendencies!(rmodel)
GordonBell25.zero_tendencies!(vmodel)
GordonBell25.sync_states!(rmodel, vmodel)

compile_options = CompileOptions(; sync=true, raise=true, strip_llvm_debuginfo=true, strip=["enzymexla.kernel_call", "(::Reactant.Compiler.LLVMFunc", "ka_with_reactant", "(::KernelAbstractions.Kernel", "var\"#_launch!;_launch!"], multifloat=GordonBell25.multifloat_from_args(parsed_args))
Expand All @@ -81,6 +83,8 @@ Oceananigans.TimeSteppers.update_state!(vmodel)
GordonBell25.compare_states(rmodel, vmodel; include_halos, throw_error, rtol, atol)

GordonBell25.sync_states!(rmodel, vmodel)
GordonBell25.zero_tendencies!(rmodel)
GordonBell25.zero_tendencies!(vmodel)
rfirst! = @compile compile_options=compile_options GordonBell25.first_time_step!(rmodel)
@showtime rfirst!(rmodel)
@showtime GordonBell25.first_time_step!(vmodel)
Expand Down
23 changes: 11 additions & 12 deletions ext/PrecompileAB2StepF32.jl
Original file line number Diff line number Diff line change
Expand Up @@ -11,24 +11,23 @@ using Oceananigans: fields, prognostic_fields
using Oceananigans.BoundaryConditions:
fill_halo_regions!

using Oceananigans.Fields:
tupled_fill_halo_regions!

using Oceananigans.Models.HydrostaticFreeSurfaceModels:
mask_immersed_model_fields!,
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@glwagner and @giordano please re-enable precompilation [and test this]

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

need to remind myself how we triggered these in Project.toml

compute_auxiliaries!,
compute_tendencies!
compute_closure_fields!,
compute_momentum_tendencies!,
compute_tracer_tendencies!

# For reference

* mask_immersed_model_fields!(model, grid)
* tupled_fill_halo_regions!(prognostic_fields(model), grid, model.clock, fields(model))
* compute_auxiliaries!(model)
* fill_halo_regions!(model.diffusivity_fields; only_local_halos=true)
* compute_tendencies!(model, callbacks)
* mask_immersed_model_fields!(model)
* fill_halo_regions!((u, v), model.clock, fields(model))
* fill_halo_regions!(tracers, model.clock, fields(model))
* compute_closure_fields!(model.closure_fields, model.closure, model, ...)
* fill_halo_regions!(model.closure_fields; only_local_halos=true)
* compute_momentum_tendencies!(model, callbacks)
* ab2_step!(model, Δt)
* tupled_fill_halo_regions!(prognostic_fields(model), model.grid, model.clock, fields(model))
* correct_velocities_and_cache_previous_tendencies!(model, Δt)
* fill_halo_regions!(prognostic_fields(model), model.clock, fields(model))
* cache_previous_tendencies!(model)
=#

@setup_workload begin
Expand Down
26 changes: 12 additions & 14 deletions ext/PrecompileCachePreviousTendenciesF32.jl
Original file line number Diff line number Diff line change
Expand Up @@ -11,24 +11,23 @@ using Oceananigans: fields, prognostic_fields
using Oceananigans.BoundaryConditions:
fill_halo_regions!

using Oceananigans.Fields:
tupled_fill_halo_regions!

using Oceananigans.Models.HydrostaticFreeSurfaceModels:
mask_immersed_model_fields!,
compute_auxiliaries!,
compute_tendencies!
compute_closure_fields!,
compute_momentum_tendencies!,
compute_tracer_tendencies!

# For reference

* mask_immersed_model_fields!(model, grid)
* tupled_fill_halo_regions!(prognostic_fields(model), grid, model.clock, fields(model))
* compute_auxiliaries!(model)
* fill_halo_regions!(model.diffusivity_fields; only_local_halos=true)
* compute_tendencies!(model, callbacks)
* mask_immersed_model_fields!(model)
* fill_halo_regions!((u, v), model.clock, fields(model))
* fill_halo_regions!(tracers, model.clock, fields(model))
* compute_closure_fields!(model.closure_fields, model.closure, model, ...)
* fill_halo_regions!(model.closure_fields; only_local_halos=true)
* compute_momentum_tendencies!(model, callbacks)
* ab2_step!(model, Δt)
* tupled_fill_halo_regions!(prognostic_fields(model), model.grid, model.clock, fields(model))
* correct_velocities_and_cache_previous_tendencies!(model, Δt)
* fill_halo_regions!(prognostic_fields(model), model.clock, fields(model))
* cache_previous_tendencies!(model)
=#

@setup_workload begin
Expand All @@ -39,8 +38,7 @@ using Oceananigans.Models.HydrostaticFreeSurfaceModels:

@compile_workload begin
model = GordonBell25.baroclinic_instability_model(arch; resolution=4, Δt=60, Nz=4, grid_type=:simple_lat_lon)
Δt = ConcreteRNumber(60.0)
compiled! = @compile GordonBell25.correct_velocities_and_cache_previous_tendencies_workload!(model, Δt)
compiled! = @compile GordonBell25.cache_previous_tendencies_workload!(model)
end

# Reset float type
Expand Down
23 changes: 11 additions & 12 deletions ext/PrecompileComputeAuxiliariesF32.jl
Original file line number Diff line number Diff line change
Expand Up @@ -11,24 +11,23 @@ using Oceananigans: fields, prognostic_fields
using Oceananigans.BoundaryConditions:
fill_halo_regions!

using Oceananigans.Fields:
tupled_fill_halo_regions!

using Oceananigans.Models.HydrostaticFreeSurfaceModels:
mask_immersed_model_fields!,
compute_auxiliaries!,
compute_tendencies!
compute_closure_fields!,
compute_momentum_tendencies!,
compute_tracer_tendencies!

# For reference

* mask_immersed_model_fields!(model, grid)
* tupled_fill_halo_regions!(prognostic_fields(model), grid, model.clock, fields(model))
* compute_auxiliaries!(model)
* fill_halo_regions!(model.diffusivity_fields; only_local_halos=true)
* compute_tendencies!(model, callbacks)
* mask_immersed_model_fields!(model)
* fill_halo_regions!((u, v), model.clock, fields(model))
* fill_halo_regions!(tracers, model.clock, fields(model))
* compute_closure_fields!(model.closure_fields, model.closure, model, ...)
* fill_halo_regions!(model.closure_fields; only_local_halos=true)
* compute_momentum_tendencies!(model, callbacks)
* ab2_step!(model, Δt)
* tupled_fill_halo_regions!(prognostic_fields(model), model.grid, model.clock, fields(model))
* correct_velocities_and_cache_previous_tendencies!(model, Δt)
* fill_halo_regions!(prognostic_fields(model), model.clock, fields(model))
* cache_previous_tendencies!(model)
=#

@setup_workload begin
Expand Down
25 changes: 12 additions & 13 deletions ext/PrecompileComputeBoundaryTendenciesF32.jl
Original file line number Diff line number Diff line change
Expand Up @@ -11,24 +11,23 @@ using Oceananigans: fields, prognostic_fields
using Oceananigans.BoundaryConditions:
fill_halo_regions!

using Oceananigans.Fields:
tupled_fill_halo_regions!

using Oceananigans.Models.HydrostaticFreeSurfaceModels:
mask_immersed_model_fields!,
compute_auxiliaries!,
compute_tendencies!
compute_closure_fields!,
compute_momentum_tendencies!,
compute_tracer_tendencies!

# For reference

* mask_immersed_model_fields!(model, grid)
* tupled_fill_halo_regions!(prognostic_fields(model), grid, model.clock, fields(model))
* compute_auxiliaries!(model)
* fill_halo_regions!(model.diffusivity_fields; only_local_halos=true)
* compute_tendencies!(model, callbacks)
* mask_immersed_model_fields!(model)
* fill_halo_regions!((u, v), model.clock, fields(model))
* fill_halo_regions!(tracers, model.clock, fields(model))
* compute_closure_fields!(model.closure_fields, model.closure, model, ...)
* fill_halo_regions!(model.closure_fields; only_local_halos=true)
* compute_momentum_tendencies!(model, callbacks)
* ab2_step!(model, Δt)
* tupled_fill_halo_regions!(prognostic_fields(model), model.grid, model.clock, fields(model))
* correct_velocities_and_cache_previous_tendencies!(model, Δt)
* fill_halo_regions!(prognostic_fields(model), model.clock, fields(model))
* cache_previous_tendencies!(model)
=#

@setup_workload begin
Expand All @@ -39,7 +38,7 @@ using Oceananigans.Models.HydrostaticFreeSurfaceModels:

@compile_workload begin
model = GordonBell25.baroclinic_instability_model(arch; resolution=4, Δt=60, Nz=4, grid_type=:simple_lat_lon)
compiled! = @compile GordonBell25.compute_boundary_tendencies_workload!(model)
compiled! = @compile GordonBell25.compute_interior_tracer_tendencies_workload!(model)
end

# Reset float type
Expand Down
23 changes: 11 additions & 12 deletions ext/PrecompileComputeInteriorMomentumTendenciesF32.jl
Original file line number Diff line number Diff line change
Expand Up @@ -11,24 +11,23 @@ using Oceananigans: fields, prognostic_fields
using Oceananigans.BoundaryConditions:
fill_halo_regions!

using Oceananigans.Fields:
tupled_fill_halo_regions!

using Oceananigans.Models.HydrostaticFreeSurfaceModels:
mask_immersed_model_fields!,
compute_auxiliaries!,
compute_tendencies!
compute_closure_fields!,
compute_momentum_tendencies!,
compute_tracer_tendencies!

# For reference

* mask_immersed_model_fields!(model, grid)
* tupled_fill_halo_regions!(prognostic_fields(model), grid, model.clock, fields(model))
* compute_auxiliaries!(model)
* fill_halo_regions!(model.diffusivity_fields; only_local_halos=true)
* compute_tendencies!(model, callbacks)
* mask_immersed_model_fields!(model)
* fill_halo_regions!((u, v), model.clock, fields(model))
* fill_halo_regions!(tracers, model.clock, fields(model))
* compute_closure_fields!(model.closure_fields, model.closure, model, ...)
* fill_halo_regions!(model.closure_fields; only_local_halos=true)
* compute_momentum_tendencies!(model, callbacks)
* ab2_step!(model, Δt)
* tupled_fill_halo_regions!(prognostic_fields(model), model.grid, model.clock, fields(model))
* correct_velocities_and_cache_previous_tendencies!(model, Δt)
* fill_halo_regions!(prognostic_fields(model), model.clock, fields(model))
* cache_previous_tendencies!(model)
=#

@setup_workload begin
Expand Down
23 changes: 11 additions & 12 deletions ext/PrecompileComputeInteriorTracerTendenciesF32.jl
Original file line number Diff line number Diff line change
Expand Up @@ -11,24 +11,23 @@ using Oceananigans: fields, prognostic_fields
using Oceananigans.BoundaryConditions:
fill_halo_regions!

using Oceananigans.Fields:
tupled_fill_halo_regions!

using Oceananigans.Models.HydrostaticFreeSurfaceModels:
mask_immersed_model_fields!,
compute_auxiliaries!,
compute_tendencies!
compute_closure_fields!,
compute_momentum_tendencies!,
compute_tracer_tendencies!

# For reference

* mask_immersed_model_fields!(model, grid)
* tupled_fill_halo_regions!(prognostic_fields(model), grid, model.clock, fields(model))
* compute_auxiliaries!(model)
* fill_halo_regions!(model.diffusivity_fields; only_local_halos=true)
* compute_tendencies!(model, callbacks)
* mask_immersed_model_fields!(model)
* fill_halo_regions!((u, v), model.clock, fields(model))
* fill_halo_regions!(tracers, model.clock, fields(model))
* compute_closure_fields!(model.closure_fields, model.closure, model, ...)
* fill_halo_regions!(model.closure_fields; only_local_halos=true)
* compute_momentum_tendencies!(model, callbacks)
* ab2_step!(model, Δt)
* tupled_fill_halo_regions!(prognostic_fields(model), model.grid, model.clock, fields(model))
* correct_velocities_and_cache_previous_tendencies!(model, Δt)
* fill_halo_regions!(prognostic_fields(model), model.clock, fields(model))
* cache_previous_tendencies!(model)
=#

@setup_workload begin
Expand Down
Loading
Loading