Skip to content

Khairoutdinov and Kogan (2000) autoconversion and accretion as 1-mome… - #814

Merged
tapios merged 2 commits into
mainfrom
aj/kk2000-1m-option
Oct 18, 2026
Merged

tapios merged 2 commits into
mainfrom
aj/kk2000-1m-option

Conversation

@trontrytel

@trontrytel trontrytel commented Oct 12, 2026 •

Copy link
Copy Markdown
Member

This PR adds Khairoutdinov and Kogan 2000 Sc based autoconversion and accretion rates. They are of the form we wanted to test in the last meeting:

Screenshot 2026-10-14 at 5 14 38 PM Screenshot 2026-10-14 at 5 15 11 PM

@codecov

codecov Bot commented Oct 12, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.62%. Comparing base (2906cf9) to head (ebc5b57).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #814      +/-   ##
==========================================
+ Coverage   93.57%   93.62%   +0.04%     
==========================================
  Files          59       59              
  Lines        3177     3201      +24     
==========================================
+ Hits         2973     2997      +24     
  Misses        204      204              
Components Coverage Δ
src 94.36% <100.00%> (+0.04%) ⬆️
ext 69.47% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@tapios
tapios force-pushed the aj/kk2000-1m-option branch from 89f77f3 to 85599cd Compare October 18, 2026 19:26
@tapios

tapios commented Oct 18, 2026

Copy link
Copy Markdown
Member

@sajjadazimi @szy21 Could you please review this? I'd like to get it merged, as I am changing CMP on top of this, and it'll get messy if this lingers (Ania is out next week).

I did go over the PR and made some changes in the second commit (and in ClimaParams). With those, it looks good to me.

@tapios
tapios force-pushed the aj/kk2000-1m-option branch from 85599cd to ddd627e Compare October 18, 2026 20:45
Comment thread src/Microphysics1M.jl Outdated

@szy21 szy21 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some tests are redundant, but we can clean them up later.

@tapios
tapios force-pushed the aj/kk2000-1m-option branch 2 times, most recently from c9ec305 to 94b558d Compare October 18, 2026 22:39
trontrytel and others added 2 commits October 18, 2026 15:40
…irings

Move the Khairoutdinov and Kogan (2000) autoconversion and accretion kernels
to Common.jl, where both the 1-moment and the 2-moment scheme call them, so
Microphysics1M no longer imports Microphysics2M and the include order is
back to 1M before 2M.

Normalize the dimensional inputs of the fractional powers: the rates now read
A q_lcl^a (Nc / N_ref)^b (ρ / ρ_ref)^c and A (q_lcl q_rai)^a (ρ / ρ_ref)^b,
with N_ref (1 cm⁻³) and ρ_ref (1 kg m⁻³) read from the new ClimaParams
entries and the coefficients A in s⁻¹. This needs ClimaParams 1.3.3
(CliMA/ClimaParams.jl#335), where A changes from 7.42e13 to the published
1350; the rates agree to 0.02 %.

For the 1-moment options, store only the parameters each one reads
(AcnvKK2000 and AccrKK2000 instead of the full KK2000 struct) and fold the
factor A (Nc / N_ref)^b of the prescribed droplet number into a coefficient
computed once at construction. Check the cloud liquid + rain accretion
option against its parameters, as rain autoconversion already does, so a
mismatched pairing raises an ArgumentError instead of a MethodError or a
field-access error. Give rain_autoconversion_timescale a KK2000 method that
raises an ArgumentError, since the rate is nonlinear in q_lcl and has no
state-independent timescale. Require a positive prescribed droplet number
for PrescribedNd as well.

Docs: attribute the density dependence to Wood (2005) Table 1, state the
units of Nc, update the 2-moment tables, and list the shared kernels in the
API reference.
@tapios
tapios force-pushed the aj/kk2000-1m-option branch from 94b558d to ebc5b57 Compare October 18, 2026 22:40
@tapios
tapios merged commit 9a61f07 into main Oct 18, 2026
15 of 17 checks passed
@tapios
tapios deleted the aj/kk2000-1m-option branch October 18, 2026 23:11
@tapios tapios mentioned this pull request Oct 18, 2026
tapios referenced this pull request Oct 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Launch Buildkite Needs review Please review my pull request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants