Skip to content

Commit 7a93542

Browse files
authored
Merge pull request #3922 from CliMA/sa/edmf_2M_microphysics_sources
add 2M sources to PrgnosticEDMF
2 parents 46ff5db + b277278 commit 7a93542

17 files changed

+905
-279
lines changed

.buildkite/pipeline.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -934,6 +934,15 @@ steps:
934934
agents:
935935
slurm_mem: 20GB
936936

937+
- label: ":umbrella: Prognostic EDMFX Rico with 2-moment in a column"
938+
command: >
939+
julia --color=yes --project=.buildkite .buildkite/ci_driver.jl
940+
--config_file $CONFIG_PATH/prognostic_edmfx_rico_column_2M.yml
941+
--job_id prognostic_edmfx_rico_column_2M
942+
artifact_paths: "prognostic_edmfx_rico_column_2M/output_active/*"
943+
agents:
944+
slurm_mem: 20GB
945+
937946
- label: ":umbrella: Prognostic EDMFX TRMM in a column"
938947
command: >
939948
julia --color=yes --project=.buildkite .buildkite/ci_driver.jl
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
initial_condition: "Rico"
2+
subsidence: "Rico"
3+
ls_adv: "Rico"
4+
surface_setup: "Rico"
5+
turbconv: "prognostic_edmfx"
6+
implicit_diffusion: false
7+
implicit_sgs_advection: false
8+
approximate_linear_solve_iters: 2
9+
edmfx_upwinding: first_order
10+
edmfx_entr_model: "Generalized"
11+
edmfx_detr_model: "Generalized"
12+
edmfx_sgs_mass_flux: true
13+
edmfx_sgs_diffusive_flux: true
14+
edmfx_nh_pressure: true
15+
edmfx_filter: true
16+
prognostic_tke: true
17+
moist: "nonequil"
18+
cloud_model: "quadrature_sgs"
19+
call_cloud_diagnostics_per_stage: true
20+
precip_model: "2M"
21+
config: "column"
22+
z_max: 4e3
23+
x_elem: 2
24+
y_elem: 2
25+
z_elem: 100
26+
z_stretch: false
27+
perturb_initstate: false
28+
dt: "10secs"
29+
t_end: "6hours"
30+
dt_save_state_to_disk: "10mins"
31+
toml: [toml/prognostic_edmfx_1M.toml]
32+
netcdf_interpolation_num_points: [8, 8, 100]
33+
prescribed_aerosols: ["SO4", "CB1", "OC1", "DST01", "SSLT01", "SSLT02", "SSLT03", "SSLT04", "SSLT05"]
34+
diagnostics:
35+
- short_name: [ts, ta, thetaa, ha, pfull, rhoa, ua, va, wa, hur, hus, cl, clw, cli, cdnc, hussfc, evspsbl, pr]
36+
period: 10mins
37+
- short_name: [arup, waup, taup, thetaaup, haup, husup, hurup, clwup, cliup, cdncup, husraup, hussnup, ncraup, waen, taen, thetaaen, haen, husen, huren, clwen, clien, cdncen, husraen, hussnen, ncraen, tke]
38+
period: 10mins
39+
- short_name: [entr, detr, lmix, bgrad, strain, edt, evu]
40+
period: 10mins
41+
- short_name: [husra, hussn, ncra]
42+
period: 10mins

post_processing/ci_plots.jl

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1396,6 +1396,7 @@ EDMFBoxPlots = Union{
13961396

13971397
EDMFBoxPlotsWithPrecip = Union{
13981398
Val{:prognostic_edmfx_rico_column},
1399+
Val{:prognostic_edmfx_rico_column_2M},
13991400
Val{:prognostic_edmfx_trmm_column},
14001401
Val{:prognostic_edmfx_dycoms_rf02_column},
14011402
}
@@ -1490,8 +1491,25 @@ function make_plots(
14901491
simdirs = SimDir.(output_paths)
14911492

14921493
if sim_type isa EDMFBoxPlotsWithPrecip
1493-
precip_names =
1494-
("husra", "hussn", "husraup", "hussnup", "husraen", "hussnen")
1494+
if sim_type isa Val{:prognostic_edmfx_rico_column_2M}
1495+
precip_names = (
1496+
"husra",
1497+
"hussn",
1498+
"husraup",
1499+
"hussnup",
1500+
"husraen",
1501+
"hussnen",
1502+
"cdnc",
1503+
"ncra",
1504+
"cdncup",
1505+
"ncraup",
1506+
"cdncen",
1507+
"ncraen",
1508+
)
1509+
else
1510+
precip_names =
1511+
("husra", "hussn", "husraup", "hussnup", "husraen", "hussnen")
1512+
end
14951513
elseif sim_type isa DiagEDMFBoxPlotsWithPrecip
14961514
precip_names = ("husra", "hussn", "husraup", "hussnup")
14971515
else

src/cache/precipitation_precomputed_quantities.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -414,7 +414,8 @@ function set_precipitation_cache!(
414414
::Microphysics2Moment,
415415
::PrognosticEDMFX,
416416
)
417-
error("Not implemented yet")
417+
# Nothing needs to be done on the grid mean. The Sources are computed
418+
# in edmf sub-domains.
418419
return nothing
419420
end
420421

src/cache/precomputed_quantities.jl

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,21 @@ function precomputed_quantities(Y, atmos)
148148
ᶜSqᵢᵖ⁰ = similar(Y.c, FT),
149149
ᶜSqᵣᵖ⁰ = similar(Y.c, FT),
150150
ᶜSqₛᵖ⁰ = similar(Y.c, FT),
151+
) :
152+
atmos.microphysics_model isa Microphysics2Moment ?
153+
(;
154+
ᶜSqₗᵖʲs = similar(Y.c, NTuple{n, FT}),
155+
ᶜSqᵢᵖʲs = similar(Y.c, NTuple{n, FT}),
156+
ᶜSqᵣᵖʲs = similar(Y.c, NTuple{n, FT}),
157+
ᶜSqₛᵖʲs = similar(Y.c, NTuple{n, FT}),
158+
ᶜSnₗᵖʲs = similar(Y.c, NTuple{n, FT}),
159+
ᶜSnᵣᵖʲs = similar(Y.c, NTuple{n, FT}),
160+
ᶜSqₗᵖ⁰ = similar(Y.c, FT),
161+
ᶜSqᵢᵖ⁰ = similar(Y.c, FT),
162+
ᶜSqᵣᵖ⁰ = similar(Y.c, FT),
163+
ᶜSqₛᵖ⁰ = similar(Y.c, FT),
164+
ᶜSnₗᵖ⁰ = similar(Y.c, FT),
165+
ᶜSnᵣᵖ⁰ = similar(Y.c, FT),
151166
) : (;)
152167
advective_sgs_quantities =
153168
atmos.turbconv_model isa PrognosticEDMFX ?

0 commit comments

Comments
 (0)