Skip to content

Commit

Permalink
test rrtmgp branch
Browse files Browse the repository at this point in the history
  • Loading branch information
szy21 committed Jan 31, 2025
1 parent 5b0e533 commit 573da3c
Show file tree
Hide file tree
Showing 6 changed files with 47 additions and 49 deletions.
4 changes: 3 additions & 1 deletion .buildkite/Manifest-v1.11.toml
Original file line number Diff line number Diff line change
Expand Up @@ -1977,7 +1977,9 @@ version = "1.11.0"

[[deps.RRTMGP]]
deps = ["Adapt", "Artifacts", "ClimaComms", "DocStringExtensions", "Random"]
git-tree-sha1 = "56240e81cd9fa6dde6c860509cb88833920d0d99"
git-tree-sha1 = "fb35b62209fdf9c38a0f0d777c3cc2c5206a9fe1"
repo-rev = "zs/ck/aerosol"
repo-url = "https://github.com/CliMA/RRTMGP.jl.git"
uuid = "a01a1ee8-cea4-48fc-987c-fc7878d79da1"
version = "0.19.2"
weakdeps = ["CUDA", "ClimaParams"]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ orographic_gravity_wave: "gfdl_restart"
surface_setup: "DefaultMoninObukhov"
prescribe_ozone: true
reproducibility_test: true
prescribed_aerosols: ["CB1", "CB2", "SO4"]
toml: [toml/sphere_aquaplanet_1M.toml]
prescribed_aerosols: ["CB1", "CB2", "SO4", "DST01", "SSLT01"]
toml: [toml/sphere_aquaplanet_1m.toml]
diagnostics:
- short_name: [edt, evu, mmrso4, mmrbcpo, mmrbcpi, o3]
reduction_time: average
Expand Down
2 changes: 1 addition & 1 deletion src/cache/tracer_cache.jl
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ function tracer_cache(Y, atmos, prescribed_aerosol_names, start_date)
reference_date = start_date,
regridder_type = :InterpolationsRegridder,
regridder_kwargs = (; extrapolation_bc),
method = LinearPeriodFillingInterpolation(Year(1)),
method = LinearInterpolation(PeriodicCalendar(Year(1), Date(2010))),
) for name in prescribed_aerosol_names
]

Expand Down
42 changes: 10 additions & 32 deletions src/callbacks/callbacks.jl
Original file line number Diff line number Diff line change
Expand Up @@ -200,39 +200,17 @@ NVTX.@annotate function rrtmgp_model_callback!(integrator)
if radiation_mode.aerosol_radiation
ᶜΔz = Fields.Δz_field(Y.c)

ᶜaero_conc = Fields.array2field(
rrtmgp_model.center_dust_column_mass_density,
axes(Y.c),
)
@. ᶜaero_conc = 0
for prescribed_aerosol_name in [:DST01, :DST02, :DST03, :DST04]
if prescribed_aerosol_name in
propertynames(p.tracers.prescribed_aerosols_field)
aerosol_field = getproperty(
p.tracers.prescribed_aerosols_field,
prescribed_aerosol_name,
)
@. ᶜaero_conc += aerosol_field * Y.c.ρ * ᶜΔz
end
end

ᶜaero_conc = Fields.array2field(
rrtmgp_model.center_ss_column_mass_density,
axes(Y.c),
)
@. ᶜaero_conc = 0
for prescribed_aerosol_name in [:SSLT01, :SSLT02, :SSLT03, :SSLT04]
if prescribed_aerosol_name in
propertynames(p.tracers.prescribed_aerosols_field)
aerosol_field = getproperty(
p.tracers.prescribed_aerosols_field,
prescribed_aerosol_name,
)
@. ᶜaero_conc += aerosol_field * Y.c.ρ * ᶜΔz
end
end

aerosol_names_pair = [
(:center_dust1_column_mass_density, :DST01),
(:center_dust2_column_mass_density, :DST02),
(:center_dust3_column_mass_density, :DST03),
(:center_dust4_column_mass_density, :DST04),
(:center_dust5_column_mass_density, :DST05),
(:center_ss1_column_mass_density, :SSLT01),
(:center_ss2_column_mass_density, :SSLT02),
(:center_ss3_column_mass_density, :SSLT03),
(:center_ss4_column_mass_density, :SSLT04),
(:center_ss5_column_mass_density, :SSLT05),
(:center_so4_column_mass_density, :SO4),
(:center_bcpi_column_mass_density, :CB2),
(:center_bcpo_column_mass_density, :CB1),
Expand Down
20 changes: 11 additions & 9 deletions src/parameterized_tendencies/radiation/RRTMGPInterface.jl
Original file line number Diff line number Diff line change
Expand Up @@ -831,16 +831,18 @@ function RRTMGPModel(
# See the lookup table in RRTMGP for the order of aerosols
aero_size = DA{FT}(undef, n_aerosol_sizes, nlay, ncol)
aero_mass = DA{FT}(undef, n_aerosols, nlay, ncol)
aerosol_size_names = ["dust", "ss"]
#aerosol_size_names = ["dust", "ss"]
aerosol_names =
["dust", "ss", "so4", "bcpi", "bcpo", "ocpi", "ocpo"]
for (i, name) in enumerate(aerosol_size_names)
set_and_save!(
view(aero_size, i, :, :),
"center_$(name)_radius",
t...,
dict,
)
["dust1", "ss1", "so4", "bcpi", "bcpo", "ocpi", "ocpo", "dust2", "dust3", "dust4", "dust5", "ss2", "ss3", "ss4", "ss5"]
for (i, name) in enumerate(aerosol_names)
if occursin("dust", name) || occursin("ss", name)
set_and_save!(
view(aero_size, i, :, :),
"center_$(name)_radius",
t...,
dict,
)
end
end
for (i, name) in enumerate(aerosol_names)
set_and_save!(
Expand Down
24 changes: 20 additions & 4 deletions src/parameterized_tendencies/radiation/radiation.jl
Original file line number Diff line number Diff line change
Expand Up @@ -247,10 +247,26 @@ function radiation_model_cache(
kwargs = (;
kwargs...,
# assuming fixed aerosol radius
center_dust_radius = 0.55,
center_ss_radius = 11.5,
center_dust_column_mass_density = NaN, # initialized in callback
center_ss_column_mass_density = NaN, # initialized in callback
center_dust1_radius = 0.55,
center_dust2_radius = 1.4,
center_dust3_radius = 2.4,
center_dust4_radius = 4.5,
center_dust5_radius = 7.5,
center_ss1_radius = 0.55,
center_ss2_radius = 1.4,
center_ss3_radius = 2.4,
center_ss4_radius = 4.5,
center_ss5_radius = 7.5,
center_dust1_column_mass_density = NaN, # initialized in callback
center_dust2_column_mass_density = NaN, # initialized in callback
center_dust3_column_mass_density = NaN, # initialized in callback
center_dust4_column_mass_density = NaN, # initialized in callback
center_dust5_column_mass_density = NaN, # initialized in callback
center_ss1_column_mass_density = NaN, # initialized in callback
center_ss2_column_mass_density = NaN, # initialized in callback
center_ss3_column_mass_density = NaN, # initialized in callback
center_ss4_column_mass_density = NaN, # initialized in callback
center_ss5_column_mass_density = NaN, # initialized in callback
center_so4_column_mass_density = NaN, # initialized in callback
center_bcpi_column_mass_density = NaN, # initialized in callback
center_bcpo_column_mass_density = NaN, # initialized in callback
Expand Down

0 comments on commit 573da3c

Please sign in to comment.