-
Notifications
You must be signed in to change notification settings - Fork 77
Move first order moisture flux to new tendency specification #1725
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it seems that NonEquilMoist models are not tested
Maybe add bomex_les.jl --moisture-model=nonequilibrium
also to the pipeline?
I'll add the single stack one, since this is cheaper but still exercises the kernels. |
4279a09
to
a42811b
Compare
The plan was to have a full bomex run with both equilibrium and nonequilibrium mositure as a part of weekly/nightly tests. Once we have them |
In general I would say that moisture variables (q_tot, q_liq and q_ice) will have the same flux but different source terms. And then the upcoming precipitation variables (q_rai and q_sno) will have different fluxes and source terms. |
That's great, we can group them as we need, then. |
a42811b
to
a2a4722
Compare
Sounds good. I'll leave it for now so that we know that the kernels are syntactically correct, but I agree that we should hook in QA tests. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unfortunately my limited understanding of the balance law framework hinders my ability to review this PR. Nothing egregious pops out to me so I'm approving.
A higher-level question is --- does it make sense to modularize the microphysics implementation a bit more? Right now it looks like terms like "mass, momentum, energy" prognostic variables are specified alongside moisture terms. A more modular design might separate these implementations a bit more (I can't tell if they just happen to be nearby in the code, or if their proximity reflects a deeper entanglement).
Can you use independent balance laws to different aspects of the equations (one for "primary" variables like mass, momentum, and energy, another for microphysics variables, another for passive chemical species) to enforce / ease this modularization?
They are modularized in the sense that we have fallback methods for (for example) |
For sure, my questions is about "more" modularization (not necessarily functionally but just by writing the code differently, eg by using different files), which makes it easier for future developers to build further without impacting the readability of core stuff. |
a2a4722
to
97e8cb3
Compare
bors r+ |
1725: Move first order moisture flux to new tendency specification r=charleskawczynski a=charleskawczynski ### Description This PR - moves the first order moisture flux to the new tendency specification. I can confirm that the tendency table is updated, for `experiments/AtmosLES/bomex_model.jl` with `moisture_model == "nonequilibrium"`, but I haven't checked the results. - Renames `flux_moisture!` to `flux_first_order!` in efforts to standardize some of the AtmosModel method calls - Adds `Moisture <: PrognosticVariable` to combine specification for the moisture variables. Co-authored-by: Charles Kawczynski <kawczynski.charles@gmail.com>
Build failed: |
97e8cb3
to
4e4a386
Compare
bors r+ |
1725: Move first order moisture flux to new tendency specification r=charleskawczynski a=charleskawczynski ### Description This PR - moves the first order moisture flux to the new tendency specification. I can confirm that the tendency table is updated, for `experiments/AtmosLES/bomex_model.jl` with `moisture_model == "nonequilibrium"`, but I haven't checked the results. - Renames `flux_moisture!` to `flux_first_order!` in efforts to standardize some of the AtmosModel method calls - Adds `Moisture <: PrognosticVariable` to combine specification for the moisture variables. Co-authored-by: Charles Kawczynski <kawczynski.charles@gmail.com>
Build failed: |
4e4a386
to
ca14169
Compare
bors r+ |
1687: Extract remaining citations r=charleskawczynski a=charleskawczynski ### Description Extracts remaining references/citations to `docs/bibliography.bib`. 1725: Move first order moisture flux to new tendency specification r=charleskawczynski a=charleskawczynski ### Description This PR - moves the first order moisture flux to the new tendency specification. I can confirm that the tendency table is updated, for `experiments/AtmosLES/bomex_model.jl` with `moisture_model == "nonequilibrium"`, but I haven't checked the results. - Renames `flux_moisture!` to `flux_first_order!` in efforts to standardize some of the AtmosModel method calls - Adds `Moisture <: PrognosticVariable` to combine specification for the moisture variables. Co-authored-by: Charles Kawczynski <kawczynski.charles@gmail.com>
Build failed (retrying...): |
1725: Move first order moisture flux to new tendency specification r=charleskawczynski a=charleskawczynski ### Description This PR - moves the first order moisture flux to the new tendency specification. I can confirm that the tendency table is updated, for `experiments/AtmosLES/bomex_model.jl` with `moisture_model == "nonequilibrium"`, but I haven't checked the results. - Renames `flux_moisture!` to `flux_first_order!` in efforts to standardize some of the AtmosModel method calls - Adds `Moisture <: PrognosticVariable` to combine specification for the moisture variables. Co-authored-by: Charles Kawczynski <kawczynski.charles@gmail.com>
Build failed: |
bors r+ |
1725: Move first order moisture flux to new tendency specification r=charleskawczynski a=charleskawczynski ### Description This PR - moves the first order moisture flux to the new tendency specification. I can confirm that the tendency table is updated, for `experiments/AtmosLES/bomex_model.jl` with `moisture_model == "nonequilibrium"`, but I haven't checked the results. - Renames `flux_moisture!` to `flux_first_order!` in efforts to standardize some of the AtmosModel method calls - Adds `Moisture <: PrognosticVariable` to combine specification for the moisture variables. Co-authored-by: Charles Kawczynski <kawczynski.charles@gmail.com>
Build failed: |
ca14169
to
3cf5eaa
Compare
bors r+ |
1725: Move first order moisture flux to new tendency specification r=charleskawczynski a=charleskawczynski ### Description This PR - moves the first order moisture flux to the new tendency specification. I can confirm that the tendency table is updated, for `experiments/AtmosLES/bomex_model.jl` with `moisture_model == "nonequilibrium"`, but I haven't checked the results. - Renames `flux_moisture!` to `flux_first_order!` in efforts to standardize some of the AtmosModel method calls - Adds `Moisture <: PrognosticVariable` to combine specification for the moisture variables. Co-authored-by: Charles Kawczynski <kawczynski.charles@gmail.com>
Build failed: |
3cf5eaa
to
52fb4c1
Compare
bors r+ |
Description
This PR
experiments/AtmosLES/bomex_model.jl
withmoisture_model == "nonequilibrium"
, but I haven't checked the results.flux_moisture!
toflux_first_order!
in efforts to standardize some of the AtmosModel method callsMoisture <: PrognosticVariable
to combine specification for the moisture variables.