From 0559d32de8500a8e717a6dc14ba421d053f865ea Mon Sep 17 00:00:00 2001 From: Agnieszka Makulska Date: Sat, 24 Feb 2024 13:18:32 +0100 Subject: [PATCH] formatting --- parcel/Example_Frostenberg_Immersion_Freezing.jl | 9 +++++++-- parcel/ParcelParameters.jl | 2 +- parcel/ParcelTendencies.jl | 8 +++++--- src/IceNucleation.jl | 9 ++++----- 4 files changed, 17 insertions(+), 11 deletions(-) diff --git a/parcel/Example_Frostenberg_Immersion_Freezing.jl b/parcel/Example_Frostenberg_Immersion_Freezing.jl index 766eea1679..f78bb85cfa 100644 --- a/parcel/Example_Frostenberg_Immersion_Freezing.jl +++ b/parcel/Example_Frostenberg_Immersion_Freezing.jl @@ -65,8 +65,13 @@ params = parcel_params{FT}( sol = run_parcel(IC, FT(0), t_max, params) # Plot results -MK.lines!(ax1, sol.t / 60, sol[1, :] .-1, label = "S_liq") -MK.lines!(ax1, sol.t / 60, S_i.(tps, sol[3, :], sol[1, :]) .- 1, label = "S_ice") +MK.lines!(ax1, sol.t / 60, sol[1, :] .- 1, label = "S_liq") +MK.lines!( + ax1, + sol.t / 60, + S_i.(tps, sol[3, :], sol[1, :]) .- 1, + label = "S_ice", +) MK.lines!(ax2, sol.t / 60, sol[3, :]) MK.lines!(ax3, sol.t / 60, sol[6, :] * 1e3) MK.lines!(ax4, sol.t / 60, sol[5, :] * 1e3) diff --git a/parcel/ParcelParameters.jl b/parcel/ParcelParameters.jl index 0644c19356..031282855f 100644 --- a/parcel/ParcelParameters.jl +++ b/parcel/ParcelParameters.jl @@ -48,7 +48,7 @@ struct Frostenberg_stochastic{FT} <: CMP.ParametersType{FT} γ::FT end -struct Frostenberg_mean{FT} <: CMP.ParametersType{FT} +struct Frostenberg_mean{FT} <: CMP.ParametersType{FT} ip::CMP.ParametersType{FT} end diff --git a/parcel/ParcelTendencies.jl b/parcel/ParcelTendencies.jl index 192812a48d..7bb85c5903 100644 --- a/parcel/ParcelTendencies.jl +++ b/parcel/ParcelTendencies.jl @@ -114,6 +114,8 @@ function immersion_freezing(params::Frostenberg_random, PSD, state) if mod(t, drawing_interval) == 0 μ = CMI_het.INP_concentration_mean(T) INPC = exp(rand(Normal(μ, ip.σ))) + else + INPC = 0 end return min(Nₗ, max(FT(0), INPC - Nᵢ)) end @@ -131,9 +133,9 @@ function immersion_freezing(params::Frostenberg_stochastic, PSD, state) (; ip, γ) = params (; T, Nₗ, Nᵢ, t) = state μ = CMI_het.INP_concentration_mean(T) - g = ip.σ * sqrt(2*γ) - mean = (1 - exp(-γ*t)) * μ - st_dev = sqrt( g^2 /(2*γ) * (1 - exp(-2*γ*t)) ) + g = ip.σ * sqrt(2 * γ) + mean = (1 - exp(-γ * t)) * μ + st_dev = sqrt(g^2 / (2 * γ) * (1 - exp(-2 * γ * t))) INPC = exp(rand(Normal(mean, st_dev))) return min(Nₗ, max(FT(0), INPC - Nᵢ)) end diff --git a/src/IceNucleation.jl b/src/IceNucleation.jl index 6db272c84f..10564880f1 100644 --- a/src/IceNucleation.jl +++ b/src/IceNucleation.jl @@ -184,7 +184,8 @@ function INP_concentration_frequency( μ = INP_concentration_mean(T) - return 1 / (sqrt(2 * FT(π)) * params.σ) * exp(-(log(INPC) - μ)^2 / (2 * params.σ^2)) + return 1 / (sqrt(2 * FT(π)) * params.σ) * + exp(-(log(INPC) - μ)^2 / (2 * params.σ^2)) end @@ -196,12 +197,10 @@ end Returns the logarithm of mean INP concentration (in m^-3), depending on the temperature. Based on the function μ(T) in Frostenberg et al., 2023. See DOI: 10.5194/acp-23-10883-2023 """ -function INP_concentration_mean( - T::FT, -) where {FT} +function INP_concentration_mean(T::FT) where {FT} T_celsius = T - FT(273.15) - + return log(-(T_celsius)^9 * 10^(-9)) end