KohlerTheory
Köhler theory for cloud condensation nucleus (CCN) activation — Seinfeld & Pandis (2006), Atmospheric Chemistry and Physics, 2nd ed., §17.3–17.4. Computes the equilibrium saturation ratio S_eq over a solution droplet of diameter D_p (Köhler equation, Eq. 17.50), the critical activation diameter D_pc, and the critical supersaturation sc. S_eq combines the Kelvin curvature enhancement (coefficient A = 4 M_w σ / (R T ρ_w)) and the Raoult solute suppression (coefficient B = 6 n_s M_w / (π ρ_w)); at D_p = D_pc the Köhler curve reaches its maximum and the droplet activates spontaneously. Migrated from Aerosol.jl src/cloud_physics.jl:232.
Description
Köhler theory for cloud condensation nucleus (CCN) activation — Seinfeld & Pandis (2006), Atmospheric Chemistry and Physics, 2nd ed., §17.3–17.4. Computes the equilibrium saturation ratio S_eq over a solution droplet of diameter D_p (Köhler equation, Eq. 17.50), the critical activation diameter D_pc, and the critical supersaturation sc. S_eq combines the Kelvin curvature enhancement (coefficient A = 4 M_w σ / (R T ρ_w)) and the Raoult solute suppression (coefficient B = 6 n_s M_w / (π ρ_w)); at D_p = D_pc the Köhler curve reaches its maximum and the droplet activates spontaneously. Migrated from Aerosol.jl src/cloud_physics.jl:232.
Reference
Seinfeld, J. H., and Pandis, S. N. (2006). Atmospheric Chemistry and Physics: From Air Pollution to Climate Change, 2nd Edition, John Wiley & Sons, §17.3–17.4. Köhler equation: Eq. 17.50; critical diameter Eq. 17.52; critical supersaturation Eq. 17.54. Migrated from Aerosol.jl src/cloud_physics.jl:232 @ c8c640bb (esm-xa3).
_source_ref: Aerosol.jl@c8c640bb:src/cloud_physics.jl:232
Upstream KohlerTheory is an MTK @component with 8 parameters (M_w, R_gas, σ_w, ρ_w, π_val, T, n_s, D_p) and 5 algebraic variables (A, B, S_eq, D_pc, sc) with no time derivatives — all purely observed.
Equations (S&P 2006, §17.3–17.4): A = 4 M_w σ_w / (R_gas T ρ_w) [Kelvin coefficient, m — Eq. 17.50 numerator] B = 6 n_s M_w / (π ρ_w) [Raoult coefficient, m³ — Eq. 17.50 denominator] S_eq = exp(A/D_p) × (1 − B/D_p³) [Köhler equilibrium saturation, Eq. 17.50] D_pc = √(3B/A) [critical activation diameter, m — Eq. 17.52] sc = exp(A/D_pc) × (1 − B/D_pc³) − 1 [critical supersaturation — Eq. 17.54]
Physical interpretation: A encodes the Kelvin effect: surface curvature raises the equilibrium vapor pressure above the flat-surface value p°_w. The enhancement exp(A/D_p) is large for small droplets and decays to 1 as D_p → ∞. B encodes the Raoult effect: dissolved solute lowers water activity below 1. The suppression (1 − B/D_p³) = a_w (dilute-solution approximation) is large for small D_p (concentrated solution) and approaches 1 as D_p → ∞. S_eq = Kelvin × Raoult peaks at D_pc where dS_eq/dD_p = 0. Below D_pc the Raoult term dominates and S_eq rises with increasing D_p; above D_pc the Kelvin term controls and S_eq falls back toward 1. A droplet in an environment with S_v > S_c (where S_c = sc + 1) grows past D_pc and activates spontaneously.
Dimensional analysis: A: [kg/mol][N/m] / ([J/mol/K][K][kg/m³]) = [kg·N/(mol·m)] / [J·kg/(mol·m³)] = [N·m³/J/m] = [m] ✓ B: [mol][kg/mol] / [1/m³/kg] (per ρ_w) — units m³ / [kg/m³ × 1] → wait: 6 n_s [mol] × M_w [kg/mol] / (π × ρ_w [kg/m³]) = [kg] / [kg/m³] = m³ ✓ S_eq: dimensionless ✓; D_pc: m ✓; sc: dimensionless ✓
Critical point derivation: dS_eq/dD_p = 0 at D_pc. For the dilute approximation: d(S_eq)/dD_p = 0 → −A/D_pc² × (1 − B/D_pc³) + 3B/D_pc⁴ = 0 → D_pc² ≈ 3B/A (neglecting the small A·B/D_pc term for dilute solutions) → D_pc = √(3B/A), S_c = S_eq(D_pc), sc = S_c − 1
Evaluation order (acyclic): (M_w, σ_w, R_gas, T, ρ_w) → A; (n_s, M_w, π_val, ρ_w) → B; (A, B, D_p) → S_eq; (A, B) → D_pc; (A, B, D_pc) → sc.
Tolerance rationale (model-level rel=1e-9): purely algebraic system with five explicit rational/exponential expressions in float64. The most complex computation is exp(A/D_p) — a single transcendental call. Round-off is ~1e-15 relative; rel=1e-9 leaves six orders of headroom, matching capillary_penetration.esm and heat_transport.esm with comparable arithmetic depth._
Parameters
| Name | Units | Default | Description |
|---|---|---|---|
M_w | kg/mol | 0.018015 | Molar mass of water (S&P Table 17.1). Appears in both A (Kelvin) and B (Raoult) coefficients. |
R_gas | J/mol/K | 8.314 | Universal gas constant. Migrated from upstream @constants block; carried as a fixed-default parameter (the .esm schema has no constant type). |
σ_w | N/m | 0.0728 | Surface tension of liquid water. Default 0.0728 N/m at ~293 K (S&P Table 17.1). Enters the Kelvin coefficient A linearly — higher surface tension increases the vapor-pressure enhancement over small droplets. |
ρ_w | kg/m^3 | 997.0 | Density of liquid water. Default 997 kg/m³ at 293 K. Appears in both A (Kelvin) and B (Raoult) denominators. |
π_val | 1 | 3.141592653589793 | Pi (dimensionless). Migrated from upstream @constants block; used in the Raoult coefficient B = 6 n_s M_w / (π ρ_w) to convert between droplet volume and moles of water. |
T | K | 293.15 | Droplet and air temperature (S&P Eq. 17.50). Enters the Kelvin coefficient A in the denominator — cooler air gives a larger Kelvin enhancement and smaller critical diameter. |
n_s | mol | 1e-18 | Moles of solute dissolved in the droplet (S&P Eq. 17.50 Raoult term). Controls the Raoult coefficient B and hence the critical diameter D_pc and critical supersaturation sc: more solute → larger D_pc, lower sc. |
D_p | m | 2e-07 | Droplet diameter at which to evaluate the Köhler equilibrium saturation S_eq (S&P Eq. 17.50). Does not affect the critical diameter D_pc or critical supersaturation sc, which depend only on A and B. |
Observed
| Name | Units | Default | Description |
|---|---|---|---|
A | m | Kelvin coefficient (S&P Eq. 17.50 numerator exponent): A = 4 M_w σ_w / (R_gas T ρ_w). Proportional to surface tension and inversely proportional to temperature; characterizes the vapor-pressure enhancement over a curved surface. Units: m (so A/D_p is dimensionless). Default ≈ 2.159 nm at T = 293.15 K. | |
B | m^3 | Raoult coefficient (S&P Eq. 17.50 denominator correction): B = 6 n_s M_w / (π ρ_w). Proportional to moles of solute; characterizes the water-activity suppression. B/D_p³ equals the mole fraction of solute (dilute-solution approximation). Units: m³ (so B/D_p³ is dimensionless). | |
S_eq | 1 | Köhler equilibrium saturation ratio at droplet diameter D_p (S&P Eq. 17.50): S_eq = exp(A/D_p) × (1 − B/D_p³). Combines the Kelvin curvature enhancement (exp term, always > 1) and the Raoult solute suppression ((1 − B/D_p³), always < 1 for n_s > 0). S_eq peaks at D_p = D_pc and determines whether a droplet in ambient saturation S_v will grow (S_v > S_eq) or evaporate (S_v < S_eq). | |
D_pc | m | Critical activation diameter (S&P Eq. 17.52): D_pc = √(3B/A). The droplet diameter at which the Köhler curve S_eq(D_p) reaches its maximum — equivalently, the minimum diameter for spontaneous growth in supersaturated air. Derived from dS_eq/dD_p = 0 in the dilute-solution approximation. Scales as n_s^(1/2): doubling the solute increases D_pc by √2. | |
sc | 1 | Critical supersaturation (S&P Eq. 17.54): sc = S_eq(D_pc) − 1 = exp(A/D_pc) × (1 − B/D_pc³) − 1. The minimum ambient supersaturation required to activate the CCN: an environment with S_v − 1 > sc will cause spontaneous droplet growth past D_pc. Scales as n_s^(−1/2): larger solute mass → larger D_pc → lower sc (easier CCN activation). |
Observed expressions
$$ A = \frac{4 \cdot M_{w} \cdot σ_{w}}{R_{gas} \cdot T \cdot ρ_{w}} $$Kelvin coefficient (S&P Eq. 17.50 numerator exponent): A = 4 M_w σ_w / (R_gas T ρ_w). Proportional to surface tension and inversely proportional to temperature; characterizes the vapor-pressure enhancement over a curved surface. Units: m (so A/D_p is dimensionless). Default ≈ 2.159 nm at T = 293.15 K.
$$ B = \frac{6 \cdot n_{s} \cdot M_{w}}{π_{val} \cdot ρ_{w}} $$Raoult coefficient (S&P Eq. 17.50 denominator correction): B = 6 n_s M_w / (π ρ_w). Proportional to moles of solute; characterizes the water-activity suppression. B/D_p³ equals the mole fraction of solute (dilute-solution approximation). Units: m³ (so B/D_p³ is dimensionless).
$$ S_{eq} = e^{\frac{A}{D_{p}}} \cdot \left(1 + \left(-1\right) \cdot \frac{B}{D_{p}^{3}}\right) $$Köhler equilibrium saturation ratio at droplet diameter D_p (S&P Eq. 17.50): S_eq = exp(A/D_p) × (1 − B/D_p³). Combines the Kelvin curvature enhancement (exp term, always > 1) and the Raoult solute suppression ((1 − B/D_p³), always < 1 for n_s > 0). S_eq peaks at D_p = D_pc and determines whether a droplet in ambient saturation S_v will grow (S_v > S_eq) or evaporate (S_v < S_eq).
$$ D_{pc} = \sqrt{\frac{3 \cdot B}{A}} $$Critical activation diameter (S&P Eq. 17.52): D_pc = √(3B/A). The droplet diameter at which the Köhler curve S_eq(D_p) reaches its maximum — equivalently, the minimum diameter for spontaneous growth in supersaturated air. Derived from dS_eq/dD_p = 0 in the dilute-solution approximation. Scales as n_s^(1/2): doubling the solute increases D_pc by √2.
$$ sc = e^{\frac{A}{D_{pc}}} \cdot \left(1 + \left(-1\right) \cdot \frac{B}{D_{pc}^{3}}\right) + -1 $$Critical supersaturation (S&P Eq. 17.54): sc = S_eq(D_pc) − 1 = exp(A/D_pc) × (1 − B/D_pc³) − 1. The minimum ambient supersaturation required to activate the CCN: an environment with S_v − 1 > sc will cause spontaneous droplet growth past D_pc. Scales as n_s^(−1/2): larger solute mass → larger D_pc → lower sc (easier CCN activation).
Analyses
kohler_curve
The classic Köhler curve: equilibrium saturation ratio S_eq vs droplet diameter D_p for n_s=1e-18 mol at T=293.15 K. The curve rises from S_eq < 1 (Raoult-dominated, small D_p), peaks at the critical point (D_pc ≈ 219 nm, sc ≈ 0.659%), then falls back toward 1 from above (Kelvin-dominated tail). This is the canonical activation diagram of Seinfeld & Pandis Fig. 17.5: droplets in an environment with S_v − 1 > sc grow spontaneously past D_pc and activate as cloud droplets.
Time span: 0.0 → 1.0
Swept over: D_p

critical_supersaturation_vs_solute
Critical supersaturation sc as a function of moles of solute n_s. As n_s increases the CCN becomes ‘more hygroscopic’: D_pc grows and sc drops, making the particle easier to activate. The n_s^(−1/2) power law (sc ∝ 1/√n_s) appears as a straight line on a log-log axis — a classical diagnostic for CCN closure studies.
Time span: 0.0 → 1.0
Swept over: n_s


critical_supersaturation_vs_temperature
Critical supersaturation sc as a function of temperature T for n_s=1e-18 mol solute. Colder air gives larger A (A ∝ 1/T), smaller D_pc (D_pc ∝ √T), and higher sc (sc ∝ 1/√T). Sweeping T from 253 K (Arctic winter) to 313 K (tropical boundary layer) traces the temperature-dependence of CCN activation: cold clouds require ~10–15% higher peak supersaturation than warm clouds for the same CCN nucleus size.
Time span: 0.0 → 1.0
Swept over: T


Raw .esm
Raw .esm JSON (this component)
{
"reference": {
"citation": "Seinfeld, J. H., and Pandis, S. N. (2006). Atmospheric Chemistry and Physics: From Air Pollution to Climate Change, 2nd Edition, John Wiley & Sons, §17.3–17.4. Köhler equation: Eq. 17.50; critical diameter Eq. 17.52; critical supersaturation Eq. 17.54. Migrated from Aerosol.jl src/cloud_physics.jl:232 @ c8c640bb (esm-xa3).",
"notes": "source_ref: Aerosol.jl@c8c640bb:src/cloud_physics.jl:232\n\nUpstream `KohlerTheory` is an MTK `@component` with 8 parameters (M_w, R_gas, σ_w, ρ_w, π_val, T, n_s, D_p) and 5 algebraic variables (A, B, S_eq, D_pc, sc) with no time derivatives — all purely observed.\n\nEquations (S&P 2006, §17.3–17.4):\n A = 4 M_w σ_w / (R_gas T ρ_w) [Kelvin coefficient, m — Eq. 17.50 numerator]\n B = 6 n_s M_w / (π ρ_w) [Raoult coefficient, m³ — Eq. 17.50 denominator]\n S_eq = exp(A/D_p) × (1 − B/D_p³) [Köhler equilibrium saturation, Eq. 17.50]\n D_pc = √(3B/A) [critical activation diameter, m — Eq. 17.52]\n sc = exp(A/D_pc) × (1 − B/D_pc³) − 1 [critical supersaturation — Eq. 17.54]\n\nPhysical interpretation:\n A encodes the Kelvin effect: surface curvature raises the equilibrium vapor pressure above the flat-surface value p°_w. The enhancement exp(A/D_p) is large for small droplets and decays to 1 as D_p → ∞.\n B encodes the Raoult effect: dissolved solute lowers water activity below 1. The suppression (1 − B/D_p³) = a_w (dilute-solution approximation) is large for small D_p (concentrated solution) and approaches 1 as D_p → ∞.\n S_eq = Kelvin × Raoult peaks at D_pc where dS_eq/dD_p = 0. Below D_pc the Raoult term dominates and S_eq rises with increasing D_p; above D_pc the Kelvin term controls and S_eq falls back toward 1. A droplet in an environment with S_v > S_c (where S_c = sc + 1) grows past D_pc and activates spontaneously.\n\nDimensional analysis:\n A: [kg/mol][N/m] / ([J/mol/K][K][kg/m³]) = [kg·N/(mol·m)] / [J·kg/(mol·m³)] = [N·m³/J/m] = [m] ✓\n B: [mol][kg/mol] / [1/m³/kg] (per ρ_w) — units m³ / [kg/m³ × 1] → wait:\n 6 n_s [mol] × M_w [kg/mol] / (π × ρ_w [kg/m³]) = [kg] / [kg/m³] = m³ ✓\n S_eq: dimensionless ✓; D_pc: m ✓; sc: dimensionless ✓\n\nCritical point derivation: dS_eq/dD_p = 0 at D_pc. For the dilute approximation:\n d(S_eq)/dD_p = 0 → −A/D_pc² × (1 − B/D_pc³) + 3B/D_pc⁴ = 0\n → D_pc² ≈ 3B/A (neglecting the small A·B/D_pc term for dilute solutions)\n → D_pc = √(3B/A), S_c = S_eq(D_pc), sc = S_c − 1\n\nEvaluation order (acyclic): (M_w, σ_w, R_gas, T, ρ_w) → A; (n_s, M_w, π_val, ρ_w) → B; (A, B, D_p) → S_eq; (A, B) → D_pc; (A, B, D_pc) → sc.\n\nTolerance rationale (model-level rel=1e-9): purely algebraic system with five explicit rational/exponential expressions in float64. The most complex computation is exp(A/D_p) — a single transcendental call. Round-off is ~1e-15 relative; rel=1e-9 leaves six orders of headroom, matching capillary_penetration.esm and heat_transport.esm with comparable arithmetic depth."
},
"tolerance": {
"rel": 1e-09
},
"variables": {
"M_w": {
"type": "parameter",
"units": "kg/mol",
"default": 0.018015,
"description": "Molar mass of water (S&P Table 17.1). Appears in both A (Kelvin) and B (Raoult) coefficients."
},
"R_gas": {
"type": "parameter",
"units": "J/mol/K",
"default": 8.314,
"description": "Universal gas constant. Migrated from upstream @constants block; carried as a fixed-default parameter (the .esm schema has no constant type)."
},
"σ_w": {
"type": "parameter",
"units": "N/m",
"default": 0.0728,
"description": "Surface tension of liquid water. Default 0.0728 N/m at ~293 K (S&P Table 17.1). Enters the Kelvin coefficient A linearly — higher surface tension increases the vapor-pressure enhancement over small droplets."
},
"ρ_w": {
"type": "parameter",
"units": "kg/m^3",
"default": 997.0,
"description": "Density of liquid water. Default 997 kg/m³ at 293 K. Appears in both A (Kelvin) and B (Raoult) denominators."
},
"π_val": {
"type": "parameter",
"units": "1",
"default": 3.141592653589793,
"description": "Pi (dimensionless). Migrated from upstream @constants block; used in the Raoult coefficient B = 6 n_s M_w / (π ρ_w) to convert between droplet volume and moles of water."
},
"T": {
"type": "parameter",
"units": "K",
"default": 293.15,
"description": "Droplet and air temperature (S&P Eq. 17.50). Enters the Kelvin coefficient A in the denominator — cooler air gives a larger Kelvin enhancement and smaller critical diameter."
},
"n_s": {
"type": "parameter",
"units": "mol",
"default": 1e-18,
"description": "Moles of solute dissolved in the droplet (S&P Eq. 17.50 Raoult term). Controls the Raoult coefficient B and hence the critical diameter D_pc and critical supersaturation sc: more solute → larger D_pc, lower sc."
},
"D_p": {
"type": "parameter",
"units": "m",
"default": 2e-07,
"description": "Droplet diameter at which to evaluate the Köhler equilibrium saturation S_eq (S&P Eq. 17.50). Does not affect the critical diameter D_pc or critical supersaturation sc, which depend only on A and B."
},
"A": {
"type": "unknown",
"units": "m",
"description": "Kelvin coefficient (S&P Eq. 17.50 numerator exponent): A = 4 M_w σ_w / (R_gas T ρ_w). Proportional to surface tension and inversely proportional to temperature; characterizes the vapor-pressure enhancement over a curved surface. Units: m (so A/D_p is dimensionless). Default ≈ 2.159 nm at T = 293.15 K."
},
"B": {
"type": "unknown",
"units": "m^3",
"description": "Raoult coefficient (S&P Eq. 17.50 denominator correction): B = 6 n_s M_w / (π ρ_w). Proportional to moles of solute; characterizes the water-activity suppression. B/D_p³ equals the mole fraction of solute (dilute-solution approximation). Units: m³ (so B/D_p³ is dimensionless)."
},
"S_eq": {
"type": "unknown",
"units": "1",
"description": "Köhler equilibrium saturation ratio at droplet diameter D_p (S&P Eq. 17.50): S_eq = exp(A/D_p) × (1 − B/D_p³). Combines the Kelvin curvature enhancement (exp term, always > 1) and the Raoult solute suppression ((1 − B/D_p³), always < 1 for n_s > 0). S_eq peaks at D_p = D_pc and determines whether a droplet in ambient saturation S_v will grow (S_v > S_eq) or evaporate (S_v < S_eq)."
},
"D_pc": {
"type": "unknown",
"units": "m",
"description": "Critical activation diameter (S&P Eq. 17.52): D_pc = √(3B/A). The droplet diameter at which the Köhler curve S_eq(D_p) reaches its maximum — equivalently, the minimum diameter for spontaneous growth in supersaturated air. Derived from dS_eq/dD_p = 0 in the dilute-solution approximation. Scales as n_s^(1/2): doubling the solute increases D_pc by √2."
},
"sc": {
"type": "unknown",
"units": "1",
"description": "Critical supersaturation (S&P Eq. 17.54): sc = S_eq(D_pc) − 1 = exp(A/D_pc) × (1 − B/D_pc³) − 1. The minimum ambient supersaturation required to activate the CCN: an environment with S_v − 1 > sc will cause spontaneous droplet growth past D_pc. Scales as n_s^(−1/2): larger solute mass → larger D_pc → lower sc (easier CCN activation)."
}
},
"equations": [
{
"lhs": "A",
"rhs": {
"op": "/",
"args": [
{
"op": "*",
"args": [
4,
"M_w",
"σ_w"
]
},
{
"op": "*",
"args": [
"R_gas",
"T",
"ρ_w"
]
}
]
}
},
{
"lhs": "B",
"rhs": {
"op": "/",
"args": [
{
"op": "*",
"args": [
6,
"n_s",
"M_w"
]
},
{
"op": "*",
"args": [
"π_val",
"ρ_w"
]
}
]
}
},
{
"lhs": "S_eq",
"rhs": {
"op": "*",
"args": [
{
"op": "exp",
"args": [
{
"op": "/",
"args": [
"A",
"D_p"
]
}
]
},
{
"op": "+",
"args": [
1,
{
"op": "*",
"args": [
-1,
{
"op": "/",
"args": [
"B",
{
"op": "^",
"args": [
"D_p",
3
]
}
]
}
]
}
]
}
]
}
},
{
"lhs": "D_pc",
"rhs": {
"op": "sqrt",
"args": [
{
"op": "/",
"args": [
{
"op": "*",
"args": [
3,
"B"
]
},
"A"
]
}
]
}
},
{
"lhs": "sc",
"rhs": {
"op": "+",
"args": [
{
"op": "*",
"args": [
{
"op": "exp",
"args": [
{
"op": "/",
"args": [
"A",
"D_pc"
]
}
]
},
{
"op": "+",
"args": [
1,
{
"op": "*",
"args": [
-1,
{
"op": "/",
"args": [
"B",
{
"op": "^",
"args": [
"D_pc",
3
]
}
]
}
]
}
]
}
]
},
-1
]
}
}
],
"tests": [
{
"id": "default_parameters",
"description": "All five observables at the upstream Aerosol.jl defaults (T=293.15 K, n_s=1e-18 mol, D_p=200 nm, σ_w=0.0728 N/m, ρ_w=997 kg/m³, M_w=0.018015 kg/mol, R_gas=8.314 J/mol/K, π=π). A=2.1589e-9 m; B=3.4510e-23 m³; D_pc≈218.99 nm (≈ D_p, the droplet is near the critical point); S_eq≈1.00649 (0.649% supersaturation for equilibrium at D_p=200 nm); sc≈0.006589 (0.659% critical supersaturation). Time-invariant algebraic system — same values at t=0 and t=1.",
"time_span": {
"start": 0.0,
"end": 1.0
},
"assertions": [
{
"variable": "A",
"time": 0.0,
"expected": 2.1588902257792764e-09
},
{
"variable": "A",
"time": 1.0,
"expected": 2.1588902257792764e-09
},
{
"variable": "B",
"time": 0.0,
"expected": 3.4509644531199536e-23
},
{
"variable": "S_eq",
"time": 0.0,
"expected": 1.0064923995380628
},
{
"variable": "S_eq",
"time": 1.0,
"expected": 1.0064923995380628
},
{
"variable": "D_pc",
"time": 0.0,
"expected": 2.1898561647724977e-07
},
{
"variable": "D_pc",
"time": 1.0,
"expected": 2.1898561647724977e-07
},
{
"variable": "sc",
"time": 0.0,
"expected": 0.006588594334001163
},
{
"variable": "sc",
"time": 1.0,
"expected": 0.006588594334001163
}
]
},
{
"id": "cold_temperature",
"description": "T=263.15 K (−10 °C). Colder air gives a larger Kelvin coefficient A (A ∝ 1/T): A rises from 2.1589e-9 to 2.4050e-9 m, increasing the curvature enhancement. With the same n_s, B is unchanged, but D_pc = √(3B/A) falls to ≈207.5 nm. The critical supersaturation sc rises to ≈0.7750%, consistent with the S&P result that cold clouds require higher peak supersaturation to activate typical CCN. S_eq at D_p=200 nm also rises to 1.00773 because the exp(A/D_p) term is larger.",
"time_span": {
"start": 0.0,
"end": 1.0
},
"parameter_overrides": {
"T": 263.15
},
"assertions": [
{
"variable": "A",
"time": 0.0,
"expected": 2.4050110951234834e-09
},
{
"variable": "S_eq",
"time": 0.0,
"expected": 1.0077317558855765
},
{
"variable": "D_pc",
"time": 0.0,
"expected": 2.074781314810448e-07
},
{
"variable": "sc",
"time": 0.0,
"expected": 0.007750151797208948
}
]
},
{
"id": "larger_solute_droplet",
"description": "n_s=1e-16 mol (100× more solute), D_p=2e-6 m (2 μm, activated droplet). The larger solute increases B by 100×, so D_pc scales up by √100 = 10× to ≈2.190 μm. The critical supersaturation sc drops by 1/√100 = 10× to ≈0.0657%. D_p=2 μm ≈ D_pc so S_eq≈1.000648, near the peak of the Köhler curve. This n_s is representative of a ∼100 nm-diameter NaCl seed particle.",
"time_span": {
"start": 0.0,
"end": 1.0
},
"parameter_overrides": {
"n_s": 1e-16,
"D_p": 2e-06
},
"assertions": [
{
"variable": "B",
"time": 0.0,
"expected": 3.4509644531199535e-21
},
{
"variable": "S_eq",
"time": 0.0,
"expected": 1.0006481915158965
},
{
"variable": "D_pc",
"time": 0.0,
"expected": 2.1898561647724977e-06
},
{
"variable": "sc",
"time": 0.0,
"expected": 0.0006574015685034684
}
]
},
{
"id": "below_critical_diameter",
"description": "D_p=1e-7 m (100 nm), below D_pc≈219 nm for n_s=1e-18 mol. In this regime the Raoult suppression (1 − B/D_p³) dominates the Kelvin enhancement — S_eq drops below 1 (S_eq≈0.9866). A droplet smaller than D_pc cannot grow unless the ambient is supersaturated enough to provide the additional driving force. This is the cusp region where CCN pre-activation chemistry matters.",
"time_span": {
"start": 0.0,
"end": 1.0
},
"parameter_overrides": {
"D_p": 1e-07
},
"assertions": [
{
"variable": "S_eq",
"time": 0.0,
"expected": 0.9865608585261599
}
]
},
{
"id": "large_droplet_kelvin_limit",
"description": "D_p=1e-5 m (10 μm, cloud droplet). At this size both the Kelvin and Raoult terms are negligible: B/D_p³ ≈ 3.45e-8 → 0, exp(A/D_p) ≈ 1 + A/D_p ≈ 1 + 2.16e-4 → 1. S_eq approaches 1 from above, consistent with the S&P limit S_eq → 1 as D_p → ∞. The tiny residual exp(A/D_p) ≈ 1.000216 dominates over the negligible Raoult term for this large diameter.",
"time_span": {
"start": 0.0,
"end": 1.0
},
"parameter_overrides": {
"D_p": 1e-05
},
"assertions": [
{
"variable": "S_eq",
"time": 0.0,
"expected": 1.0002158778111945
}
]
},
{
"id": "critical_supersaturation_scaling",
"description": "Verifies the n_s^(−1/2) scaling of sc: doubling n_s by 4× (from 1e-18 to 4e-18 mol) should halve sc to ≈0.3294%. D_pc scales as n_s^(1/2): 4× solute → 2× D_pc ≈ 437.97 nm. Confirms the classical S&P §17.4 result that larger CCN activate at lower supersaturation.",
"time_span": {
"start": 0.0,
"end": 1.0
},
"parameter_overrides": {
"n_s": 4e-18
},
"assertions": [
{
"variable": "D_pc",
"time": 0.0,
"expected": 4.3797123295449953e-07
},
{
"variable": "sc",
"time": 0.0,
"expected": 0.003290247563378035
}
]
}
],
"analyses": [
{
"id": "kohler_curve",
"description": "The classic Köhler curve: equilibrium saturation ratio S_eq vs droplet diameter D_p for n_s=1e-18 mol at T=293.15 K. The curve rises from S_eq < 1 (Raoult-dominated, small D_p), peaks at the critical point (D_pc ≈ 219 nm, sc ≈ 0.659%), then falls back toward 1 from above (Kelvin-dominated tail). This is the canonical activation diagram of Seinfeld & Pandis Fig. 17.5: droplets in an environment with S_v − 1 > sc grow spontaneously past D_pc and activate as cloud droplets.",
"time_span": {
"start": 0.0,
"end": 1.0
},
"parameter_sweep": {
"type": "cartesian",
"dimensions": [
{
"parameter": "D_p",
"range": {
"start": 5e-08,
"stop": 2e-06,
"count": 60,
"scale": "log"
}
}
]
},
"plots": [
{
"id": "S_eq_vs_D_p",
"type": "line",
"description": "Köhler curve S_eq vs D_p (water droplet with n_s=1e-18 mol solute, T=293.15 K). The peak marks the critical activation point.",
"x": {
"variable": "D_p",
"label": "Droplet diameter D_p (m)"
},
"y": {
"variable": "S_eq",
"label": "Equilibrium saturation ratio S_eq"
}
}
]
},
{
"id": "critical_supersaturation_vs_solute",
"description": "Critical supersaturation sc as a function of moles of solute n_s. As n_s increases the CCN becomes 'more hygroscopic': D_pc grows and sc drops, making the particle easier to activate. The n_s^(−1/2) power law (sc ∝ 1/√n_s) appears as a straight line on a log-log axis — a classical diagnostic for CCN closure studies.",
"time_span": {
"start": 0.0,
"end": 1.0
},
"parameter_sweep": {
"type": "cartesian",
"dimensions": [
{
"parameter": "n_s",
"range": {
"start": 1e-21,
"stop": 1e-13,
"count": 40,
"scale": "log"
}
}
]
},
"plots": [
{
"id": "sc_vs_n_s",
"type": "line",
"description": "Critical supersaturation sc vs moles of solute n_s. Straight on a log-log axis with slope −1/2, reflecting S&P Eq. 17.54.",
"x": {
"variable": "n_s",
"label": "Solute moles n_s (mol)"
},
"y": {
"variable": "sc",
"label": "Critical supersaturation sc (dimensionless)"
}
},
{
"id": "D_pc_vs_n_s",
"type": "line",
"description": "Critical diameter D_pc vs moles of solute n_s. Straight on a log-log axis with slope +1/2, reflecting S&P Eq. 17.52.",
"x": {
"variable": "n_s",
"label": "Solute moles n_s (mol)"
},
"y": {
"variable": "D_pc",
"label": "Critical diameter D_pc (m)"
}
}
]
},
{
"id": "critical_supersaturation_vs_temperature",
"description": "Critical supersaturation sc as a function of temperature T for n_s=1e-18 mol solute. Colder air gives larger A (A ∝ 1/T), smaller D_pc (D_pc ∝ √T), and higher sc (sc ∝ 1/√T). Sweeping T from 253 K (Arctic winter) to 313 K (tropical boundary layer) traces the temperature-dependence of CCN activation: cold clouds require ~10–15% higher peak supersaturation than warm clouds for the same CCN nucleus size.",
"time_span": {
"start": 0.0,
"end": 1.0
},
"parameter_sweep": {
"type": "cartesian",
"dimensions": [
{
"parameter": "T",
"range": {
"start": 253.15,
"stop": 313.15,
"count": 25,
"scale": "linear"
}
}
]
},
"plots": [
{
"id": "sc_vs_T",
"type": "line",
"description": "Critical supersaturation sc vs temperature T (n_s=1e-18 mol). Rises as T decreases — cold clouds need higher supersaturation to activate the same CCN.",
"x": {
"variable": "T",
"label": "Temperature T (K)"
},
"y": {
"variable": "sc",
"label": "Critical supersaturation sc (dimensionless)"
}
},
{
"id": "D_pc_vs_T",
"type": "line",
"description": "Critical diameter D_pc vs temperature T. D_pc ∝ √T — colder air activates CCN at smaller critical diameter.",
"x": {
"variable": "T",
"label": "Temperature T (K)"
},
"y": {
"variable": "D_pc",
"label": "Critical diameter D_pc (m)"
}
}
]
}
]
}