add support for sectional dry deposition - #230
Open
zdaq12 wants to merge 4 commits into
Open
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #230 +/- ##
==========================================
- Coverage 78.49% 78.47% -0.03%
==========================================
Files 56 56
Lines 9755 9806 +51
==========================================
+ Hits 7657 7695 +38
- Misses 2098 2111 +13 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
zdaq12
marked this pull request as ready for review
September 9, 2026 16:46
Removed redundant comments about aerosol dilution treatment.
jcurtis2
self-requested a review
September 9, 2026 20:40
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds dry deposition support to the sectional representation. Also corrects the
deposition velocity formula shared by all representations to match
Zhang et al. (2001) and Emerson et al. (2020) as published.
Sectional dry deposition
scenario_binned_loss()applies per-bin loss each timestep via the samescenario_loss_rate()dispatcher already used by the particle-resolvedand modal paths, so the sectional model supports every
loss_function_type(constant, volume, drydep, chamber), not just drydeposition.
Each bin decays as
m(t+dt) = m(t) * exp(-rate*dt)— the exact solutionof
dm/dt = -rate*m. Mass (vol_conc) isprognostic and
num_concis diagnosed, matching the convention already used bysectional coagulation.
output_sectional()/input_sectional()gain ascenarioargument sodry deposition parameters are written to and read from NetCDF output,
mirroring
output_modal()/input_modal().Deposition velocity formula change
The
R_a*R_s*V_sterm comes from the two-layer flux balance(Seinfeld and Pandis, 1998); however, it is not a physically representative term, but
rather a direct artifact of the mathematical manipulation of the multilayer resistance analogy
system of equations with settling acting through all layers. Strictly speaking, neither
Zhang et al. (2001) nor Emerson et al. (2020) use this term. Both follow Slinn (1982)'s
derivation where settling is treated purely in parallel. Since
drydep_params_tis explicitlyparameterized to switch between Z01-and E20 coefficient sets, retaining the cross
term would implement neither parameterization as published.
Applied in all three places:
scenario_loss_rate_drydep(particle/sectional),
scenario_integrated_loss_rate_drydep(modal,analytic), and
dep_vel_integrand(modal, QUADPACK).New spec-file option
do_aero_dilution(sectional runs) skips both background-exchangedilution and the mixing-layer-growth correction when set to
no. Themodal representation has no dilution treatment at all, so this is needed
for the modal/sectional comparison and lets dry deposition be
studied in isolation.
Tests
test_loss_16— sectional dry deposition regression testtest_loss_17— checks sectional against particle-resolvedReference files for
test_loss_13,test_loss_14(QUADPACK), andtest_loss_16are regenerated due to formula update.