Skip to content

Commit 7c6d85d

Browse files
committed
Sinks for evaporation and sublimation
1 parent 95df386 commit 7c6d85d

File tree

4 files changed

+18
-16
lines changed

4 files changed

+18
-16
lines changed

papers/ice_nucleation_2024/AIDA_calibrations.jl

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ global edf_data_names = [
2222
"in07_01_aida.edf", "in07_19_aida.edf",
2323
]
2424
data_file_names = [
25-
["in05_17_aida.edf", "in05_18_aida.edf", "TROPIC04"],
25+
["in05_17_aida.edf", "in05_18_aida.edf"],
2626
["in07_01_aida.edf"],
2727
["in07_19_aida.edf"],
2828
["ACI04_22"],
@@ -33,7 +33,7 @@ data_file_names = [
3333
]
3434
batch_names = ["HOM", "IN0701", "IN0719", "ACI04_22", "EXP19", "EXP45", "DEP", "IMM"]
3535
start_time_list = [ # freezing onset
36-
[Int32(150), Int32(180), Int32(0)],
36+
[Int32(150), Int32(180)],
3737
[Int32(50)],
3838
[Int32(35)],
3939
[Int32(0)],
@@ -43,7 +43,7 @@ start_time_list = [ # freezing onset
4343
[Int32(0), Int32(0)],
4444
]
4545
end_time_list = [ # approximate time freezing stops
46-
[Int32(295), Int32(290), Int32(700)],
46+
[Int32(295), Int32(290)],
4747
[Int32(375)],
4848
[Int32(375)],
4949
[Int32(300)],
@@ -54,7 +54,7 @@ end_time_list = [ # approximate time freezing stops
5454
]
5555
moving_average_n = 5 # average every length(data) / n points
5656
updrafts = [ # updrafts matching AIDA cooling rate
57-
[FT(1.5), FT(1.4), FT(1.4)],
57+
[FT(1.5), FT(1.4)],
5858
[FT(1.5)],
5959
[FT(1.5)],
6060
[FT(1.5)],
@@ -146,7 +146,7 @@ for (batch_index, batch_name) in enumerate(batch_names)
146146
### Plot for individual experiments.
147147
for (exp_index, data_file) in enumerate(data_file_name_list)
148148
if batch_name == "HOM"
149-
exp_names = ["HOM_Batch_IN0517", "HOM_Batch_IN0518", "HOM_Batch_TROPIC04"]
149+
exp_names = ["HOM_Batch_IN0517", "HOM_Batch_IN0518"]
150150
elseif batch_name == "DEP"
151151
exp_names = ["DEP_Batch_IN0701", "DEP_Batch_IN0719", "DEP_Batch_EXP45"]
152152
elseif batch_name == "IMM"

papers/ice_nucleation_2024/calibration_setup.jl

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ function AIDA_IN05_params(FT, w, t_max, t_profile, T_profile, P_profile; P3 = fa
164164
IN_mode = "ABHOM"
165165
const_dt = FT(1)
166166
prescribed_thermodynamics = true
167-
aerosol_act = "AeroAct"
167+
aerosol_act = "None"
168168
aerosol = CMP.Sulfate(FT)
169169
dep_nucleation = P3 ? "P3_dep" : "ABDINM"
170170
heterogeneous = P3 ? "P3_het" : "ABIFM"
@@ -200,9 +200,9 @@ function AIDA_IN05_IC(FT, data_file)
200200
ϵₘ = R_d / R_v
201201

202202
if data_file == "in05_17_aida.edf"
203-
Nₗ = FT(320.876 * 1e6)
204203
Nᵢ = FT(0.05 * 1e6)
205-
Nₐ = FT(360 * 1e6) - Nₗ - Nᵢ
204+
Nₗ = FT(360 * 1e6) - Nᵢ
205+
Nₐ = FT(0)
206206
r₀ = FT(5.18056 / 2 * 1e-6)
207207
p₀ = FT(894.409 * 1e2)
208208
T₀ = FT(237.871)
@@ -217,9 +217,9 @@ function AIDA_IN05_IC(FT, data_file)
217217
eₛ = TD.saturation_vapor_pressure(tps, T₀, TD.Liquid())
218218
Sₗ = FT(e / eₛ)
219219
elseif data_file == "in05_18_aida.edf"
220-
Nₗ = FT(212.885 * 1e6)
221220
Nᵢ = FT(0.787 * 1e6)
222-
Nₐ = FT(275 * 1e6) - Nₗ - Nᵢ
221+
Nₗ = FT(275 * 1e6)- Nᵢ
222+
Nₐ = FT(0)
223223
r₀ = FT(6.83925 / 2 * 1e-6)
224224
p₀ = FT(878.345 * 1e2)
225225
T₀ = FT(237.234)

papers/ice_nucleation_2024/plots.jl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -114,9 +114,9 @@ function plot_calibrated_parcels(
114114
calibrated_parcel_fig = MK.Figure(size = (1500, 800), fontsize = 20)
115115
ax_parcel_1 =
116116
MK.Axis(calibrated_parcel_fig[1, 1], ylabel = "saturation [-]", xlabel = "time [s]", title = "$exp_name")
117-
ax_parcel_2 = MK.Axis(calibrated_parcel_fig[2, 1], ylabel = "liq mixing ratio [g/kg]", xlabel = "time [s]")
117+
ax_parcel_2 = MK.Axis(calibrated_parcel_fig[2, 1], ylabel = "qₗ [kg/kg]", xlabel = "time [s]")
118118
ax_parcel_3 = MK.Axis(calibrated_parcel_fig[1, 2], ylabel = "temperature [K]", xlabel = "time [s]")
119-
ax_parcel_4 = MK.Axis(calibrated_parcel_fig[2, 2], ylabel = "qᵢ [g/kg]", xlabel = "time [s]")
119+
ax_parcel_4 = MK.Axis(calibrated_parcel_fig[2, 2], ylabel = "qᵢ [kg/kg]", xlabel = "time [s]")
120120
ax_parcel_5 = MK.Axis(calibrated_parcel_fig[3, 1], ylabel = "Nₗ [m^-3]", xlabel = "time [s]")
121121
ax_parcel_6 = MK.Axis(calibrated_parcel_fig[3, 2], ylabel = "Nᵢ [m^-3]", xlabel = "time [s]")
122122
ax_parcel_7 = MK.Axis(calibrated_parcel_fig[1, 3], ylabel = "pressure [Pa]", xlabel = "time [s]")
@@ -309,12 +309,12 @@ function plot_ICNC_overview(overview_data)
309309
overview_fig = MK.Figure(size = (1000, 800), fontsize = 24)
310310

311311
exp_name_list = [
312-
"IN05_17", "IN05_18", "TROPIC04",
312+
"IN05_17", "IN05_18",
313313
"IN07_01", "IN07_19", "EXP45",
314314
"ACI04_22", "EXP19",
315315
]
316316
position = [
317-
overview_fig[1, 1], overview_fig[2, 1], overview_fig[3, 1],
317+
overview_fig[1, 1], overview_fig[2, 1],
318318
overview_fig[1, 2], overview_fig[2, 2], overview_fig[3, 2],
319319
overview_fig[1, 3], overview_fig[2, 3],
320320
]

parcel/ParcelModel.jl

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,13 +122,15 @@ function parcel_model(dY, Y, p, t)
122122

123123
# Condensation/evaporation
124124
dqₗ_dt_ce = condensation(ce_params, PSD_liq, state, ρ_air)
125+
dNₗ_dt_ce = dqₗ_dt_ce < FT(0) && qₗ > FT(0) && qₗ < FT(1e-6) ? Nₗ * dqₗ_dt_ce / qₗ : FT(0)
125126
# Deposition/sublimation
126127
dqᵢ_dt_ds = deposition(ds_params, PSD_ice, state, ρ_air)
128+
dNᵢ_dt_ds = dqᵢ_dt_ds < FT(0) && qᵢ > FT(0) && qᵢ < FT(1e-6) ? Nᵢ * dqᵢ_dt_ds / qᵢ : FT(0)
127129

128130
# number concentration and ...
129-
dNᵢ_dt = dNᵢ_dt_dep + dNᵢ_dt_imm + dNᵢ_dt_hom
131+
dNᵢ_dt = dNᵢ_dt_dep + dNᵢ_dt_imm + dNᵢ_dt_hom + dNᵢ_dt_ds
130132
dNₐ_dt = -dNᵢ_dt_dep - dNₗ_dt_act
131-
dNₗ_dt = dNₗ_dt_act - dNᵢ_dt_imm - dNᵢ_dt_hom
133+
dNₗ_dt = dNₗ_dt_act - dNᵢ_dt_imm - dNᵢ_dt_hom + dNₗ_dt_ce
132134
# ... water mass budget
133135
dqₗ_dt_v2l = dqₗ_dt_ce + dqₗ_dt_act
134136
dqᵢ_dt_l2i = dqᵢ_dt_imm + dqᵢ_dt_hom

0 commit comments

Comments
 (0)