From a1866483a860f32ce749443503ec559071ce7060 Mon Sep 17 00:00:00 2001 From: Zhaoyi Shen <11598433+szy21@users.noreply.github.com> Date: Thu, 26 Dec 2024 15:48:21 -0800 Subject: [PATCH 1/6] prescribe hourly cloud and water vapor --- src/callbacks/callbacks.jl | 15 ++++++++++++++- .../radiation/radiation.jl | 2 +- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/callbacks/callbacks.jl b/src/callbacks/callbacks.jl index 1334d397ae..5b3fa220f0 100644 --- a/src/callbacks/callbacks.jl +++ b/src/callbacks/callbacks.jl @@ -130,7 +130,10 @@ NVTX.@annotate function rrtmgp_model_callback!(integrator) end # assume that ᶜq_vap = ᶜq_tot when computing ᶜvmr_h2o - @. ᶜvmr_h2o = TD.shum_to_mixing_ratio(ᶜq_tot, ᶜq_tot) + @. ᶜvmr_h2o = TD.vol_vapor_mixing_ratio( + thermo_params, + TD.PhasePartition(ᶜq_tot), + ) else @. ᶜvmr_h2o = TD.vol_vapor_mixing_ratio( thermo_params, @@ -148,6 +151,16 @@ NVTX.@annotate function rrtmgp_model_callback!(integrator) if radiation_mode isa RRTMGPI.AllSkyRadiation || radiation_mode isa RRTMGPI.AllSkyRadiationWithClearSkyDiagnostics if !radiation_mode.idealized_clouds + if radiation_mode.cloud isa PrescribedCloudInRadiation + @. ᶜvmr_h2o = TD.vol_vapor_mixing_ratio( + thermo_params, + TD.PhasePartition( + p.radiation.prescribed_clouds_field.q, + p.radiation.prescribed_clouds_field.clwc, + p.radiation.prescribed_clouds_field.ciwc, + ), + ) + end ᶜΔz = Fields.Δz_field(Y.c) ᶜlwp = Fields.array2field( rrtmgp_model.center_cloud_liquid_water_path, diff --git a/src/parameterized_tendencies/radiation/radiation.jl b/src/parameterized_tendencies/radiation/radiation.jl index cda8f81837..7533c32822 100644 --- a/src/parameterized_tendencies/radiation/radiation.jl +++ b/src/parameterized_tendencies/radiation/radiation.jl @@ -290,7 +290,7 @@ end get_cloud_cache(_, _, _) = (;) function get_cloud_cache(::PrescribedCloudInRadiation, Y, start_date) target_space = axes(Y.c) - prescribed_cloud_names = ("cc", "clwc", "ciwc") + prescribed_cloud_names = ("cc", "clwc", "ciwc", "q") prescribed_cloud_names_as_symbols = Symbol.(prescribed_cloud_names) extrapolation_bc = (Intp.Periodic(), Intp.Flat(), Intp.Flat()) timevaryinginputs = [ From d0863fe39603857dc87d04a41b9f889d44838313 Mon Sep 17 00:00:00 2001 From: Zhaoyi Shen <11598433+szy21@users.noreply.github.com> Date: Fri, 3 Jan 2025 11:43:19 -0800 Subject: [PATCH 2/6] dust size 1.75 --- src/parameterized_tendencies/radiation/radiation.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/parameterized_tendencies/radiation/radiation.jl b/src/parameterized_tendencies/radiation/radiation.jl index 7533c32822..3591a6e803 100644 --- a/src/parameterized_tendencies/radiation/radiation.jl +++ b/src/parameterized_tendencies/radiation/radiation.jl @@ -231,7 +231,7 @@ function radiation_model_cache( kwargs = (; kwargs..., # assuming fixed aerosol radius - center_dust_radius = 0.2, + center_dust_radius = 1.75, center_ss_radius = 11.5, center_dust_column_mass_density = NaN, # initialized in callback center_ss_column_mass_density = NaN, # initialized in callback From c5f839bbb458b990bf020fb9c5d744d35d2b2c2a Mon Sep 17 00:00:00 2001 From: Zhaoyi Shen <11598433+szy21@users.noreply.github.com> Date: Sat, 4 Jan 2025 20:24:54 -0800 Subject: [PATCH 3/6] dust size 3.75 --- src/parameterized_tendencies/radiation/radiation.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/parameterized_tendencies/radiation/radiation.jl b/src/parameterized_tendencies/radiation/radiation.jl index 3591a6e803..504cac0b6a 100644 --- a/src/parameterized_tendencies/radiation/radiation.jl +++ b/src/parameterized_tendencies/radiation/radiation.jl @@ -231,7 +231,7 @@ function radiation_model_cache( kwargs = (; kwargs..., # assuming fixed aerosol radius - center_dust_radius = 1.75, + center_dust_radius = 3.75, center_ss_radius = 11.5, center_dust_column_mass_density = NaN, # initialized in callback center_ss_column_mass_density = NaN, # initialized in callback From b04f97c8ae41b94fa5cdd72f83d94f45c89f4c25 Mon Sep 17 00:00:00 2001 From: Zhaoyi Shen <11598433+szy21@users.noreply.github.com> Date: Sun, 5 Jan 2025 22:24:13 -0800 Subject: [PATCH 4/6] dust size 7.5 --- src/parameterized_tendencies/radiation/radiation.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/parameterized_tendencies/radiation/radiation.jl b/src/parameterized_tendencies/radiation/radiation.jl index 504cac0b6a..f69a05ab8d 100644 --- a/src/parameterized_tendencies/radiation/radiation.jl +++ b/src/parameterized_tendencies/radiation/radiation.jl @@ -231,7 +231,7 @@ function radiation_model_cache( kwargs = (; kwargs..., # assuming fixed aerosol radius - center_dust_radius = 3.75, + center_dust_radius = 7.5, center_ss_radius = 11.5, center_dust_column_mass_density = NaN, # initialized in callback center_ss_column_mass_density = NaN, # initialized in callback From 109a198c6d790f272e1d48108dda3b629690c3b2 Mon Sep 17 00:00:00 2001 From: Zhaoyi Shen <11598433+szy21@users.noreply.github.com> Date: Wed, 8 Jan 2025 23:13:11 -0800 Subject: [PATCH 5/6] anthro aerosol 2x --- src/callbacks/callbacks.jl | 2 +- src/parameterized_tendencies/radiation/radiation.jl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/callbacks/callbacks.jl b/src/callbacks/callbacks.jl index 5b3fa220f0..7b9e1efeea 100644 --- a/src/callbacks/callbacks.jl +++ b/src/callbacks/callbacks.jl @@ -254,7 +254,7 @@ NVTX.@annotate function rrtmgp_model_callback!(integrator) p.tracers.prescribed_aerosols_field, prescribed_aerosol_name, ) - @. ᶜaero_conc = aerosol_field * Y.c.ρ * ᶜΔz + @. ᶜaero_conc = aerosol_field * Y.c.ρ * ᶜΔz * 2 else @. ᶜaero_conc = 0 end diff --git a/src/parameterized_tendencies/radiation/radiation.jl b/src/parameterized_tendencies/radiation/radiation.jl index f69a05ab8d..245ffa28d6 100644 --- a/src/parameterized_tendencies/radiation/radiation.jl +++ b/src/parameterized_tendencies/radiation/radiation.jl @@ -231,7 +231,7 @@ function radiation_model_cache( kwargs = (; kwargs..., # assuming fixed aerosol radius - center_dust_radius = 7.5, + center_dust_radius = 0.1, center_ss_radius = 11.5, center_dust_column_mass_density = NaN, # initialized in callback center_ss_column_mass_density = NaN, # initialized in callback From 6011075f58bb16d99526f1bcee898ff772fb5b05 Mon Sep 17 00:00:00 2001 From: Zhaoyi Shen <11598433+szy21@users.noreply.github.com> Date: Thu, 9 Jan 2025 12:29:12 -0800 Subject: [PATCH 6/6] anthro aero 4x --- src/callbacks/callbacks.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/callbacks/callbacks.jl b/src/callbacks/callbacks.jl index 7b9e1efeea..b0d6e8dedf 100644 --- a/src/callbacks/callbacks.jl +++ b/src/callbacks/callbacks.jl @@ -254,7 +254,7 @@ NVTX.@annotate function rrtmgp_model_callback!(integrator) p.tracers.prescribed_aerosols_field, prescribed_aerosol_name, ) - @. ᶜaero_conc = aerosol_field * Y.c.ρ * ᶜΔz * 2 + @. ᶜaero_conc = aerosol_field * Y.c.ρ * ᶜΔz * 4 else @. ᶜaero_conc = 0 end