Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add vertical diagnostics #3254

Merged
merged 1 commit into from
Aug 27, 2024
Merged
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
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
Comment on lines +1336 to +1347
Copy link
Member

Choose a reason for hiding this comment

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

If your simulation is just a column, you can slice(var, x = 0, y = 0) to get its value

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
Loading