Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
13 changes: 13 additions & 0 deletions .buildkite/longruns/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,13 @@ steps:
key: "init_cpu_env"
command:
- echo "--- Instantiate project"
- "julia --project -e 'using Pkg; Pkg.add(;url=\"https://github.com/CliMA/ClimaTimeSteppers.jl\", rev=\"dy/reformulation\")'"
- "julia --project -e 'using Pkg; Pkg.instantiate(;verbose=true)'"
- "julia --project -e 'using Pkg; Pkg.precompile()'"
- "julia --project -e 'using Pkg; Pkg.status()'"

- echo "--- Instantiate"
- "julia --project=examples -e 'using Pkg; Pkg.add(;url=\"https://github.com/CliMA/ClimaTimeSteppers.jl\", rev=\"dy/reformulation\")'"
- "julia --project=examples -e 'using Pkg; Pkg.instantiate(;verbose=true)'"
- "julia --project=examples -e 'using Pkg; Pkg.precompile()'"
- "julia --project=examples -e 'using CUDA; CUDA.precompile_runtime()'"
Expand Down Expand Up @@ -64,6 +66,17 @@ steps:
slurm_time: 24:00:00
env:
JOB_NAME: "longrun_ssp_bw_rhoe_equil_highres"

- label: ":computer: SSP baroclinic wave (ρe_tot) no lim equilmoist high resolution centered diff"
command:
- "srun julia --project=examples examples/hybrid/driver.jl --config_file $CONFIG_PATH/$$JOB_NAME.yml"
artifact_paths: "$$JOB_NAME/output_active/*"
agents:
slurm_ntasks: 32
slurm_nodes: 2
slurm_time: 24:00:00
env:
JOB_NAME: "longrun_ssp_bw_rhoe_equil_highres_no_lim"

- label: ":computer: aquaplanet equilmoist clearsky radiation + prognostic edmf diffusion only + 0M microphysics"
command:
Expand Down
1 change: 1 addition & 0 deletions .buildkite/longruns_gpu/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ steps:
key: "init_gpu_env"
command:
- echo "--- Instantiate examples"
- "julia --project=examples -e 'using Pkg; Pkg.add(;url=\"https://github.com/CliMA/ClimaTimeSteppers.jl\", rev=\"dy/reformulation\")'"
- julia --project=examples -e 'using Pkg; Pkg.instantiate(;verbose=true)'
- julia --project=examples -e 'using Pkg; Pkg.precompile()'
- julia --project=examples -e 'using CUDA; CUDA.precompile_runtime()'
Expand Down
3 changes: 3 additions & 0 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,17 +24,20 @@ steps:
- "echo $$JULIA_DEPOT_PATH"

- echo "--- Instantiate project"
- "julia --project -e 'using Pkg; Pkg.add(;url=\"https://github.com/CliMA/ClimaTimeSteppers.jl\", rev=\"dy/reformulation\")'"
- "julia --project -e 'using Pkg; Pkg.instantiate(;verbose=true)'"
- "julia --project -e 'using Pkg; Pkg.precompile()'"
- "julia --project -e 'using Pkg; Pkg.status()'"

- echo "--- Instantiate examples"
- "julia --project=examples -e 'using Pkg; Pkg.add(;url=\"https://github.com/CliMA/ClimaTimeSteppers.jl\", rev=\"dy/reformulation\")'"
- "julia --project=examples -e 'using Pkg; Pkg.instantiate(;verbose=true)'"
- "julia --project=examples -e 'using Pkg; Pkg.precompile()'"
- "julia --project=examples -e 'using CUDA; CUDA.precompile_runtime()'"
- "julia --project=examples -e 'using Pkg; Pkg.status()'"

- echo "--- Instantiate perf"
- "julia --project=perf -e 'using Pkg; Pkg.add(;url=\"https://github.com/CliMA/ClimaTimeSteppers.jl\", rev=\"dy/reformulation\")'"
- "julia --project=perf -e 'using Pkg; Pkg.instantiate(;verbose=true)'"
- "julia --project=perf -e 'using Pkg; Pkg.precompile()'"
- "julia --project=perf -e 'using Pkg; Pkg.status()'"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
dt_save_state_to_disk: "10days"
initial_condition: "MoistBaroclinicWave"
z_elem: 45
dt: "150secs"
t_end: "100days"
dz_bottom: 30.0
h_elem: 16
ode_algo: "SSP333"
precip_model: "0M"
job_id: "longrun_ssp_bw_rhoe_equil_highres_no_lim"
moist: "equil"
apply_limiter: false
diagnostics:
- short_name: [pfull, wa, va, rv, hus]
period: 1days
1 change: 1 addition & 0 deletions post_processing/ci_plots.jl
Original file line number Diff line number Diff line change
Expand Up @@ -700,6 +700,7 @@ LongMoistBaroWavePlots = Union{
Val{:longrun_bw_rhoe_equil_highres},
Val{:longrun_zalesak_tracer_energy_bw_rhoe_equil_highres},
Val{:longrun_ssp_bw_rhoe_equil_highres},
Val{:longrun_ssp_bw_rhoe_equil_highres_no_lim},
Val{:longrun_bw_rhoe_equil_highres_topography_earth},
}

Expand Down
15 changes: 7 additions & 8 deletions src/solver/type_getters.jl
Original file line number Diff line number Diff line change
Expand Up @@ -367,14 +367,13 @@ function get_surface_setup(parsed_args)
end

is_explicit_CTS_algo_type(alg_or_tableau) =
alg_or_tableau <: CTS.ERKAlgorithmName
alg_or_tableau <: CTS.RKAlgorithmName

is_imex_CTS_algo_type(alg_or_tableau) =
alg_or_tableau <: CTS.IMEXARKAlgorithmName
is_imex_CTS_algo_type(alg_or_tableau) = alg_or_tableau <: CTS.ARKAlgorithmName

is_implicit_type(alg_or_tableau) = is_imex_CTS_algo_type(alg_or_tableau)

is_imex_CTS_algo(::CTS.IMEXAlgorithm) = true
is_imex_CTS_algo(::CTS.ARKAlgorithm) = true
is_imex_CTS_algo(::SciMLBase.AbstractODEAlgorithm) = false

is_implicit(ode_algo) = is_imex_CTS_algo(ode_algo)
Expand Down Expand Up @@ -427,7 +426,7 @@ function ode_configuration(::Type{FT}, parsed_args) where {FT}
@info "Using ODE config: `$alg_or_tableau`"

if is_explicit_CTS_algo_type(alg_or_tableau)
return CTS.ExplicitAlgorithm(alg_or_tableau())
return CTS.RKAlgorithm(alg_or_tableau())
elseif !is_implicit_type(alg_or_tableau)
return alg_or_tableau()
elseif is_imex_CTS_algo_type(alg_or_tableau)
Expand Down Expand Up @@ -459,7 +458,7 @@ function ode_configuration(::Type{FT}, parsed_args) where {FT}
nothing
end,
)
return CTS.IMEXAlgorithm(alg_or_tableau(), newtons_method)
return CTS.ARKAlgorithm(alg_or_tableau(), newtons_method)
else
return alg_or_tableau(; linsolve = linsolve!)
end
Expand Down Expand Up @@ -525,8 +524,8 @@ function args_integrator(parsed_args, Y, p, tspan, ode_algo, callback)
# Can we just pass implicit_tendency! and jac_prototype etc.?
lim! = limiters_func!,
dss!,
post_explicit! = set_precomputed_quantities!,
post_implicit! = set_precomputed_quantities!,
pre_newton_iteration! = set_precomputed_quantities!, # TODO: set_implicit_precomputed_quantities!
post_stage! = set_precomputed_quantities!,
)
else
SciMLBase.SplitFunction(implicit_func, remaining_tendency!)
Expand Down