Skip to content

Commit 0706c6c

Browse files
authored
Merge pull request #3667 from CliMA/gb/atmos_constructor
Add constructor for AtmosSimulation
2 parents 9fe02ce + b7f6479 commit 0706c6c

File tree

7 files changed

+28
-14
lines changed

7 files changed

+28
-14
lines changed

examples/hybrid/driver.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ if !(@isdefined config)
1414
(; config_file, job_id) = CA.commandline_kwargs()
1515
config = CA.AtmosConfig(config_file; job_id)
1616
end
17-
simulation = CA.get_simulation(config)
17+
simulation = CA.AtmosSimulation(config)
1818
sol_res = CA.solve_atmos!(simulation)
1919

2020
include(joinpath(pkgdir(CA), "post_processing", "ci_plots.jl"))

src/simulation/AtmosSimulations.jl

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,19 @@ function Base.show(io::IO, sim::AtmosSimulation)
2323
"└── Stop time: $(sim.t_end) seconds",
2424
)
2525
end
26+
27+
28+
"""
29+
AtmosSimulation(config::AtmosConfig)
30+
AtmosSimulation(config_file_path)
31+
AtmosSimulation(config_dict)
32+
33+
Construct a simulation.
34+
"""
35+
function AtmosSimulation(config::AtmosConfig)
36+
return get_simulation(config)
37+
end
38+
39+
function AtmosSimulation(args...; kwargs...)
40+
return AtmosSimulation(AtmosConfig(args...; kwargs...))
41+
end

test/coupler_compatibility.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ const T2 = 290
4444
);
4545
job_id = "coupler_compatibility1",
4646
)
47-
simulation = CA.get_simulation(config)
47+
simulation = CA.AtmosSimulation(config)
4848
(; integrator) = simulation
4949
(; p, t) = integrator
5050
Y = integrator.u
@@ -111,7 +111,7 @@ end
111111
);
112112
job_id = "coupler_compatibility2",
113113
)
114-
simulation = CA.get_simulation(config)
114+
simulation = CA.AtmosSimulation(config)
115115

116116
# Check: ρ_flux_uₕ is initialized to zero
117117
@test all(
@@ -229,5 +229,5 @@ end
229229
);
230230
job_id = "coupler_compatibility3",
231231
)
232-
simulation = CA.get_simulation(config)
232+
simulation = CA.AtmosSimulation(config)
233233
end

test/restart.jl

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -225,9 +225,7 @@ function test_restart(test_dict; job_id, comms_ctx, more_ignore = Symbol[])
225225

226226
local_success = true
227227

228-
config = CA.AtmosConfig(test_dict; job_id, comms_ctx)
229-
230-
simulation = CA.get_simulation(config)
228+
simulation = CA.AtmosSimulation(test_dict; job_id, comms_ctx)
231229
CA.solve_atmos!(simulation)
232230

233231
# Check re-importing the same state
@@ -244,7 +242,7 @@ function test_restart(test_dict; job_id, comms_ctx, more_ignore = Symbol[])
244242
comms_ctx,
245243
)
246244

247-
simulation_restarted = CA.get_simulation(config_should_be_same)
245+
simulation_restarted = CA.AtmosSimulation(config_should_be_same)
248246

249247
if pkgversion(CA.RRTMGP) < v"0.22"
250248
# Versions of RRTMGP older than 0.22 have a bug and do not set the
@@ -303,7 +301,7 @@ function test_restart(test_dict; job_id, comms_ctx, more_ignore = Symbol[])
303301
comms_ctx,
304302
)
305303

306-
simulation_restarted2 = CA.get_simulation(config2)
304+
simulation_restarted2 = CA.AtmosSimulation(config2)
307305
CA.fill_with_nans!(simulation_restarted2.integrator.p)
308306

309307
CA.solve_atmos!(simulation_restarted2)

test/surface_albedo.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ redirect_stderr(IOContext(stderr, :stacktrace_types_limited => Ref(false)))
1414
config.parsed_args["rad"] = "clearsky"
1515
config.parsed_args["FLOAT_TYPE"] = string(FT)
1616
config.parsed_args["output_default_diagnostics"] = false
17-
simulation = ClimaAtmos.get_simulation(config)
17+
simulation = ClimaAtmos.AtmosSimulation(config)
1818
(; u, p, t) = simulation.integrator
1919
ClimaAtmos.set_surface_albedo!(u, p, t, p.atmos.surface_albedo)
2020

@@ -24,7 +24,7 @@ redirect_stderr(IOContext(stderr, :stacktrace_types_limited => Ref(false)))
2424
# test set_surface_albedo!(Y, p, t, α_type::RegressionFunctionAlbedo)
2525
config.parsed_args["rad"] = "clearsky"
2626
config.parsed_args["albedo_model"] = "RegressionFunctionAlbedo"
27-
simulation = ClimaAtmos.get_simulation(config)
27+
simulation = ClimaAtmos.AtmosSimulation(config)
2828
(; u, p, t) = simulation.integrator
2929

3030
ClimaAtmos.set_surface_albedo!(u, p, t, p.atmos.surface_albedo)
@@ -36,7 +36,7 @@ redirect_stderr(IOContext(stderr, :stacktrace_types_limited => Ref(false)))
3636
# test set_surface_albedo!(Y, p, t, α_type::CouplerAlbedo)
3737
config.parsed_args["rad"] = "clearsky"
3838
config.parsed_args["albedo_model"] = "CouplerAlbedo"
39-
simulation = ClimaAtmos.get_simulation(config)
39+
simulation = ClimaAtmos.AtmosSimulation(config)
4040
(; u, p) = simulation.integrator
4141

4242
ClimaAtmos.set_surface_albedo!(u, p, Float64(0), p.atmos.surface_albedo)

test/test_helpers.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import ClimaCore:
2121

2222
function generate_test_simulation(config)
2323
parsed_args = config.parsed_args
24-
simulation = CA.get_simulation(config)
24+
simulation = CA.AtmosSimulation(config)
2525
(; integrator) = simulation
2626
Y = integrator.u
2727
p = integrator.p

test/test_init_with_file.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import ClimaAtmos as CA
22

3-
simulation = CA.get_simulation(
3+
simulation = CA.AtmosSimulation(
44
CA.AtmosConfig(
55
Dict(
66
"initial_condition" => "artifact\"DYAMOND_SUMMER_ICS_p98deg\"/DYAMOND_SUMMER_ICS_p98deg.nc",

0 commit comments

Comments
 (0)