Moving smoke aerosol emissions for Thompson AA scheme into separate module#1715
Conversation
|
@gthompsnWRF I would be grateful if you could please approve of the new code changes. Thanks! |
|
Tests have not passed. Needs checking. |
@dudhia Is it possible to share more details? I see build 410 doesn't like the changes, but I am not able to see anything more. Thanks |
|
I think Wei has access to the results
…On Thu, Apr 14, 2022 at 9:40 AM Timothy Juliano ***@***.***> wrote:
Tests have not passed. Needs checking.
@dudhia <https://github.com/dudhia> Is it possible to share more details?
I see build 410 doesn't like the changes, but I am not able to see anything
more. Thanks
—
Reply to this email directly, view it on GitHub
<#1715 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AEIZ77A4WA57PU5BVSDBQ63VFA35ZANCNFSM5TMABJ6Q>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
|
@twjuliano @dudhia The regression tests failed on two bit-for-bit comparison tests, which we've occasionally seen before. For some reason, some PRs trigger more test runs (for example, 158 vs 156 runs). And when these two additional runs are made, these failed comparison tests show up. This two failed comparison tests use WSM3 microphysics, so it is unlikely due to your code change. In fact I made a PR last night, and it passed all tests but with only 156 test runs. I also tested this particular namelist that failed comparison test on Cheyenne, it has no problem there. I'd wait and see if Greg has any suggestions for change, that would trigger another tests. We will see if you can get away from this or not. We've seen other PRs got away on second try. |
|
@gthompsnWRF We would really appreciate your input soon, as we are planning for the release next week. |
gthompsnWRF
left a comment
There was a problem hiding this comment.
Thanks Tim for refactoring the emissions stuff outside the MP scheme. It makes much more sense this way.
To trigger a new Jenkins test.
|
@twjuliano Good news! This time the reg tests have passed. We are good to go! |
|
Jenkins tests have passed: |
Thanks, @gthompsnWRF ! |
@weiwangncar Great news! Thanks, Wei |
weiwangncar
left a comment
There was a problem hiding this comment.
This represents approval by Greg.
|
I see. As long has it is verified that this method works with sst_update=1,
I will approve it,
Jimy
…On Mon, Apr 18, 2022 at 2:30 PM weiwangncar ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In Registry/Registry.EM_COMMON
<#1715 (comment)>:
> @@ -488,11 +488,11 @@ state real dfi_qh ikjftb dfi_moist 1 - \
rusdf=(bdy_interp:dt) "DFI_QHAIL" "Hail mixing ratio" "kg kg-1"
state real qvold ikj misc 1 - rdu "QVOLD" "Water vapor mixing ratio, old time step" "kg kg-1"
state real rimi ikj misc 1 - irh "RIMI" "riming intensity" "fraction"
-state real qnwfa2d ij misc 1 - i014{17}rhdu "QNWFA2D" "Surface aerosol number conc emission" "kg-1 s-1"
-state real qnifa2d ij misc 1 - i014{17}rhdu "QNIFA2D" "Surface dust number conc emission" "kg-1 s-1"
-state real qnbca2d ij misc 1 - i014{17}rhdu "QNBCA2D" "Surface black carbon number conc emission" "kg-1 s-1"
-state real qnocbb2d ij misc 1 - i014{17}rhdu "QNOCBB2D" "Surface organic carbon biomass burning number conc emission" "kg-1 s-1"
-state real qnbcbb2d ij misc 1 - i014{17}rhdu "QNBCBB2D" "Surface black carbon biomass burning number conc emission" "kg-1 s-1"
+state real qnwfa2d ij misc 1 - i01{17}rhdu "QNWFA2D" "Surface aerosol number conc emission" "kg-1 s-1"
+state real qnifa2d ij misc 1 - i01{17}rhdu "QNIFA2D" "Surface dust number conc emission" "kg-1 s-1"
+state real qnbca2d ij misc 1 - i01{17}rhdu "QNBCA2D" "Surface black carbon number conc emission" "kg-1 s-1"
+state real qnocbb2d ij misc 1 - i01{17}rhdu "QNOCBB2D" "Surface organic carbon biomass burning number conc emission" "kg-1 s-1"
+state real qnbcbb2d ij misc 1 - i01{17}rhdu "QNBCBB2D" "Surface black carbon biomass burning number conc emission" "kg-1 s-1"
@dudhia <https://github.com/dudhia> There may be advantages to separate
aerosol input from other input already in wrflowinp file.
—
Reply to this email directly, view it on GitHub
<#1715 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AEIZ77EC2VM45OZPYSFOLSDVFXA4XANCNFSM5TMABJ6Q>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
|
@dudhia This is controlled by qna_update=1, not sst_update = 1. |
|
@dudhia If you are ok with this, can you approve it? |
|
@dudhia @weiwangncar I have run a simulation with both qna_update=1 and sst_update=1 and it does work as intended |
|
If this is controlled by the same frequency as sst_update, it seems someone could easily forget to set qna_update, and it would be a hard problem to detect in a run. Can we set this automatically based on aerosol option and sst_update? |
|
Another question is what happens if they forget to re-run real to create that file if switching to the aerosol option for wrf.exe. |
|
@dudhia These questions should be posted to the original PR. This PR only moves the code from mp module to outside it. I think we can leave those to a future PR should any problem arises. |
@dudhia The qna_update is controlled separately thru auxinput17 options but in a similar manner as auxinput4 for sst_update. So, the user can specify aerosol frequency accordingly without worrying about sst_update |
@dudhia If the file is not available then the model will crash and the user will see: If the file is available but there is no data at the indicated time interval then the model will crash and the user will see: |
|
Thanks, I am still concerned that it is too easy to forget to add the
auxinput17 section in the namelist in which
case aerosols will not be updated, especially as previous users of this
option have not had to do that.
…On Mon, Apr 18, 2022 at 8:48 PM Timothy Juliano ***@***.***> wrote:
Another question is what happens if they forget to re-run real to create
that file if switching to the aerosol option for wrf.exe.
@dudhia <https://github.com/dudhia> If the file is not available then the
model will crash and the user will see:
[image: image]
<https://user-images.githubusercontent.com/46979614/163910110-4d70261a-fb5e-42fc-86d5-a0a1015771c5.png>
If the file is available but there is no data at the indicated time
interval then the model will crash and the user will see:
[image: image]
<https://user-images.githubusercontent.com/46979614/163910224-6f741d8d-4e82-4785-82e5-7322c7c52fe7.png>
—
Reply to this email directly, view it on GitHub
<#1715 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AEIZ77CN7PYG6RQ33X4GP6TVFYNIDANCNFSM5TMABJ6Q>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
|
@twjuliano Can you help us to understand this? Does qna_update only use sources like GEOS-5, a real-time product, or can it use the climatological data too? If you can provide us some information, we can update this page on how to use this scheme. In particular what are the ways to use the data, whether it is climatological or real-time. |
|
@twjuliano : I also have same question as @weiwangncar . Does this resolve the issue with using the older Climo data (that Trude and I created) to have wrflowinput contain the aerosol climo over time for long-duration simulations in which I was previously "hacking" this with sst_update? Or does this soley work only with your new BC additions? Obviously, I wish it to work for our older aerosol climo as well as your newer stuff. |
|
@twjuliano Can we assume these icbc switches are on when sst_update is on, or maybe we should test on those switches instead of sst_update? |
@dudhia I think it makes more sense to test on the icbc switches since we are trying to separate the aerosol forcing from sst_update. I can make the code change if this sounds OK |
|
Yes, I agree. Are you going to put the check in real? nca_input may need to
be checked again in wrf (check-a-mundo).
…On Thu, Apr 21, 2022 at 10:44 AM Timothy Juliano ***@***.***> wrote:
@twjuliano <https://github.com/twjuliano> Can we assume these icbc
switches are on when sst_update is on, or maybe we should test on those
switches instead of sst_update?
@dudhia <https://github.com/dudhia> I think it makes more sense to test
on the icbc switches since we are trying to separate the aerosol forcing
from sst_update. I can make the code change if this sounds OK
—
Reply to this email directly, view it on GitHub
<#1715 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AEIZ77BCHG74MLZBZYEW5L3VGGAWRANCNFSM5TMABJ6Q>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
…cing options are turned on
|
@dudhia @weiwangncar @gthompsnWRF Check has been added to check-a-mundo, which takes care of both real and wrf. I ran tests to confirm. Please let me know if this look good, thanks |
|
The Jenkins tests have passed: |
|
@twjuliano Thanks for adding the check. Can you show us this will work if someone does not set qna_update = 1? |
|
@weiwangncar Here is what the user will see if qna_update is not =1: If the user then sets qna_update=1 but not the auxinput17 settings, then they will see: |
|
@twjuliano Thanks! Let's see if @dudhia is happy about this. |
|
This looks fine. I don't see the auxinput17 check in the PR. Was it in the
code already?
Does aer_init_opt capture the icbc settings. I am not sure how many of
these switches are automatically set.
…On Fri, Apr 22, 2022 at 9:53 AM weiwangncar ***@***.***> wrote:
@twjuliano <https://github.com/twjuliano> Thanks! Let's see if @dudhia
<https://github.com/dudhia> is happy about this.
—
Reply to this email directly, view it on GitHub
<#1715 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AEIZ77HLLKJKGRFN74DFYW3VGLDPRANCNFSM5TMABJ6Q>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
|
@twjuliano It may be helpful to add a section in test/em_real/examples.namelist file for the set of namelist required to generate low boundary file, similar to that for sst_update: ** Using qna_update option (add these to namelist records &time_control and &time_control &physics While you are doing this, can you also correct a typo in your print message in module_check_a_mundo.F: '... and control through auxinput17...'? |
@dudhia Yes, the auxinput17 check was already in the code from the previous PR. And yes, aer_init_opt is a derived variable used to capture the icbc settings: =1 is for climo and =2 is for first guess |
@weiwangncar This is now done |
|
@twjuliano Thanks for adding the info. @dudhia Any other concerns? |
|
I will look again at the PR to approve it.
…On Fri, Apr 22, 2022 at 2:21 PM weiwangncar ***@***.***> wrote:
@twjuliano <https://github.com/twjuliano> Thanks for adding the info.
@dudhia <https://github.com/dudhia> Any other concerns?
—
Reply to this email directly, view it on GitHub
<#1715 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AEIZ77CBAAK3TYGOBMTKHUTVGMC5FANCNFSM5TMABJ6Q>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
|
I notice a failed test |
Add a few more mp schemes in comment
|
@dudhia I'm re-doing one now. It means you will have to approve it again if it passes. |
|
On second try, the Jenkins tests have passed: |
|
@dudhia Can you review and approve one more time? Thanks. |
|
To make sure you get the messages check the email address in this or your
.gitconfig file where you submit the PR from.
git config --global --edit
…On Thu, Apr 14, 2022 at 10:41 AM Jimy Dudhia ***@***.***> wrote:
I think Wei has access to the results
On Thu, Apr 14, 2022 at 9:40 AM Timothy Juliano ***@***.***>
wrote:
> Tests have not passed. Needs checking.
>
> @dudhia <https://github.com/dudhia> Is it possible to share more
> details? I see build 410 doesn't like the changes, but I am not able to see
> anything more. Thanks
>
> —
> Reply to this email directly, view it on GitHub
> <#1715 (comment)>, or
> unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AEIZ77A4WA57PU5BVSDBQ63VFA35ZANCNFSM5TMABJ6Q>
> .
> You are receiving this because you were mentioned.Message ID:
> ***@***.***>
>
|
|
The main issue is that it is too easy to forget to set qna_update when
running real or wrf as this was not needed before with the current aerosol
option, and mistakenly using fixed surface aerosols would not be easily
detected in the output. Another way to do this is to use check-a-mundo and
stop if sst_update is 1 and the aerosol option is on without qna_update.
…On Tue, Apr 19, 2022 at 3:17 PM gthompsnWRF ***@***.***> wrote:
I still need convincing that this needs a separate input stream. I am
happier to keep it in wrflowinp unless we see the need for a separate
frequency.
I am very against keeping sst_update as a namelist variable that also
treats aerosols. Makes no sense any longer. If you are still opposed, then
it is time to change this to something like wrf-lower-boundary-input so it
can be more generic towards whatever variables need updating at/near the
surface.
—
Reply to this email directly, view it on GitHub
<#1715 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AEIZ77GU63CXES2SYYU7FMDVF4PFNANCNFSM5TMABJ6Q>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
…odule (wrf-model#1715) TYPE: enhancement KEYWORDS: real, Thompson aerosol-aware, microphysics SOURCE: Timothy W. Juliano (NCAR/RAL) DESCRIPTION OF CHANGES: This is an update to a previous PR wrf-model#1616 that added biomass burning aerosol emissions for the Thompson AA scheme. In general, this PR cleans up the implementation of the biomass burning aerosol emissions. In the current PR, two things occurred: 1. As requested by Greg Thompson, the emissions of smoke aerosols are now self-contained in a module separate from the Thompson AA scheme. The module is called immediately after mp_gt_driver, inside of the microphysics driver. 2. As requested, the 2D aerosol emissions are removed from io stream 4. 3. A check is added to stop users if use_aero_icbc or use_rap_aero_icbc is set, but not qna_update. LIST OF MODIFIED FILES: M Registry/Registry.EM_COMMON M phys/module_microphysics_driver.F M phys/module_mp_thompson.F M phys/Makefile N phys/module_fire_emis.F M share/module_check_a_mundo.F M test/em_real/examples.namelist TESTS CONDUCTED: 1. Conducted two simulations: one before and one after the code changes. Results are bit-for-bit equivalent. 2. Jenkins tests are all passing.




TYPE: enhancement
KEYWORDS: real, Thompson aerosol-aware, microphysics
SOURCE: Timothy W. Juliano (NCAR/RAL)
DESCRIPTION OF CHANGES:
This is an update to a previous PR #1616 that added biomass burning aerosol emissions for the Thompson AA scheme. In general, this PR cleans up the implementation of the biomass burning aerosol emissions.
In the current PR, two things occurred:
LIST OF MODIFIED FILES:
M Registry/Registry.EM_COMMON
M phys/module_microphysics_driver.F
M phys/module_mp_thompson.F
M phys/Makefile
N phys/module_fire_emis.F
M share/module_check_a_mundo.F
M test/em_real/examples.namelist
TESTS CONDUCTED:
RELEASE NOTE: Biomass burning aerosol emissions for the Thompson Aerosol-Aware microphysics scheme are now self-contained in a separate module and called outside of the Thompson scheme.