Skip to content

Commit

Permalink
adds vertical integral diagnostics
Browse files Browse the repository at this point in the history
Change to using LazyBroadcast

Co-authored-by: Zhaoyi Shen <[email protected]>

Co-authored-by: Zhaoyi Shen <[email protected]>

fixes q_vap, lazy loading, and adds clivi, lwp, renames husv

Co-authored-by: Zhaoyi Shen <[email protected]>
Co-authored-by: Gabriele Bozzola <[email protected]>

Fixes allocations and adds ci plot for gcm_driven_scm

Updates ClimaCore compat and adds new diagnostics to moist defaults

formatter
  • Loading branch information
Julians42 committed Aug 26, 2024
1 parent 2f7b33a commit f947e99
Show file tree
Hide file tree
Showing 6 changed files with 424 additions and 11 deletions.
2 changes: 1 addition & 1 deletion Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ ArtifactWrappers = "0.2"
Artifacts = "1"
AtmosphericProfilesLibrary = "0.1.6"
ClimaComms = "0.6.2"
ClimaCore = "0.14.11"
ClimaCore = "0.14.12"
ClimaDiagnostics = "0.2"
ClimaParams = "0.10.12"
ClimaTimeSteppers = "0.7.33"
Expand Down
2 changes: 1 addition & 1 deletion config/model_configs/prognostic_edmfx_gcmdriven_column.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ diagnostics:
period: 10mins
- short_name: [entr, detr, lmix, bgrad, strain, edt, evu]
period: 10mins
- short_name: [rlut, rlutcs, rsut, rsutcs]
- short_name: [rlut, rlutcs, rsut, rsutcs, clwvi, lwp, clivi, dsevi, clvi, prw, hurvi, husv]
period: 10mins
- reduction_time: max
short_name: tke
Expand Down
12 changes: 6 additions & 6 deletions perf/flame.jl
Original file line number Diff line number Diff line change
Expand Up @@ -38,15 +38,15 @@ ProfileCanvas.html_file(joinpath(output_dir, "flame.html"), results)
#####

allocs_limit = Dict()
allocs_limit["flame_perf_target"] = 1_458_344
allocs_limit["flame_perf_target_tracers"] = 1_595_760
allocs_limit["flame_perf_target"] = 1_674_376
allocs_limit["flame_perf_target_tracers"] = 1_820_752
allocs_limit["flame_perf_diagnostics"] = 12_301_560
allocs_limit["flame_perf_target_diagnostic_edmfx"] = 2_285_552
allocs_limit["flame_perf_target_frierson"] = 1_632_920
allocs_limit["flame_perf_target_diagnostic_edmfx"] = 2_555_280
allocs_limit["flame_perf_target_frierson"] = 1_849_976
allocs_limit["flame_perf_target_threaded"] = 2_306_856
allocs_limit["flame_perf_target_callbacks"] = 1_662_096
allocs_limit["flame_perf_target_callbacks"] = 1_879_184
allocs_limit["flame_perf_gw"] = 882_938_744
allocs_limit["flame_perf_target_prognostic_edmfx_aquaplanet"] = 2_225_384
allocs_limit["flame_perf_target_prognostic_edmfx_aquaplanet"] = 2_490_248
allocs_limit["flame_gpu_implicit_barowave_moist"] = 336_378
# Ideally, we would like to track all the allocations, but this becomes too
# expensive there is too many of them. Here, we set the default sample rate to
Expand Down
49 changes: 48 additions & 1 deletion post_processing/ci_plots.jl
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ import CairoMakie
import CairoMakie.Makie
import ClimaAnalysis
import ClimaAnalysis: Visualize as viz
import ClimaAnalysis: SimDir, slice, read_var
import ClimaAnalysis: SimDir, slice, read_var, average_xy
import ClimaAnalysis.Utils: kwargs as ca_kwargs

import ClimaCoreSpectra: power_spectrum_2d
Expand Down Expand Up @@ -1311,3 +1311,50 @@ function make_plots(::EDMFSpherePlots, output_paths::Vector{<:AbstractString})
MAX_NUM_ROWS = 4,
)
end


function make_plots(
::Val{:gcm_driven_scm},
output_paths::Vector{<:AbstractString},
)
simdirs = SimDir.(output_paths)
short_names_2D = [
"rlut",
"rlutcs",
"rsut",
"rsutcs",
"clwvi",
"lwp",
"clivi",
"dsevi",
"clvi",
"prw",
"hurvi",
]
short_names_3D = ["husv", "thetaa", "ta", "hur", "hus", "clw", "cl"]
reduction = "inst"
vars_2D = map_comparison(simdirs, short_names_2D) do simdir, short_name
average_xy(get(simdir; short_name, reduction))
end
vars_3D = map_comparison(simdirs, short_names_3D) do simdir, short_name
data = window(
get(simdir; short_name, reduction),
"z",
left = 0,
right = 4000,
)
return average_xy(data)
end
make_plots_generic(
output_paths,
vars_2D;
MAX_NUM_COLS = 2,
output_name = "summary_2D",
)
make_plots_generic(
output_paths,
vars_3D;
MAX_NUM_COLS = 2,
output_name = "summary_3D",
)
end
Loading

0 comments on commit f947e99

Please sign in to comment.