-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MAM4xx Dry Deposition process interface for EAMxx #2894
MAM4xx Dry Deposition process interface for EAMxx #2894
Conversation
This is an interface to the mam4::DryDeposition::compute_tendencies() function. This means taking Scream Kokkos views of data and mapping them to mam4 Kokkos views of data. Most of the time it is just a sub-view so memory is not created or destroyed. There were a couple of choices for mapping which Scream data to the mam4 data that need to be reviewed. The resulting tendencies are in a local Kokkos view called tendencies. These need to be made available to Scream. This needs to be compiled and tested on a GPU.
Implement the MAMDryDep::run_impl() function.
Status Flag 'Pre-Test Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging |
Status Flag 'Pull Request AutoTester' - Jenkins Testing: 1 or more Jobs FAILED Note: Testing will normally be attempted again in approx. 2 Hrs. If a change to the PR source branch occurs, the testing will be attempted again on next available autotester run. Pull Request Auto Testing has FAILED (click to expand)Build InformationTest Name: SCREAM_PullRequest_Autotester_Mappy
Jenkins Parameters
Build InformationTest Name: SCREAM_PullRequest_Autotester_Weaver
Jenkins Parameters
SCREAM_PullRequest_Autotester_Mappy # 5751 FAILED (click to see last 100 lines of console output)
SCREAM_PullRequest_Autotester_Weaver # 5979 FAILED (click to see last 100 lines of console output)
|
Looks like the only tests that fail are due to baselines cmp. I'm assuming all tests are new, correct? |
The only unexpected fail are:
The baselines were not generated for these tests earlier. I will ask for a retest and expect the tests above to The following tests are all new tests and are expected to fail due to missing baselines:
(I have edited my comment above to include another unexpected test fail) |
Status Flag 'Pull Request AutoTester' - User Requested Retest - Label AT: RETEST will be reset after testing. |
Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects: Pull Request Auto Testing STARTING (click to expand)Build InformationTest Name: SCREAM_PullRequest_Autotester_Mappy
Jenkins Parameters
Build InformationTest Name: SCREAM_PullRequest_Autotester_Weaver
Jenkins Parameters
Using Repos:
Pull Request Author: overfelt |
Status Flag 'Pull Request AutoTester' - Jenkins Testing: 1 or more Jobs FAILED Note: Testing will normally be attempted again in approx. 2 Hrs. If a change to the PR source branch occurs, the testing will be attempted again on next available autotester run. Pull Request Auto Testing has FAILED (click to expand)Build InformationTest Name: SCREAM_PullRequest_Autotester_Mappy
Jenkins Parameters
Build InformationTest Name: SCREAM_PullRequest_Autotester_Weaver
Jenkins Parameters
SCREAM_PullRequest_Autotester_Mappy # 5768 FAILED (click to see last 100 lines of console output)
SCREAM_PullRequest_Autotester_Weaver # 5994 FAILED (click to see last 100 lines of console output)
|
All the failing tests in the recent re-run of the tests are expected fails (missing baselines). |
Below is the checklist required by the PR review guidance: https://acme-climate.atlassian.net/wiki/spaces/EAMXX/pages/4128768032/Short+description+of+EAGLES+PR+review+process
Yes. It might be helpful to explicitly mention that this PR only handles the dry deposition calculation for aerosols, but not for gases.
Yes, the PR summary does the job.
The new feature (when turned on) will
The aerosol and gas tracers are "prognostic" since their values are affected by transport. When this feature (drydep) is turned on, the aerosol tracers (both interstitial and cloud-borne) are affected by dry removal. Due to the idealized configuration with this feature, there is no benchmark to compare with.
No new coupling (that affects meteorological fields) is added, except that aerosol concentrations will be changed by drydep and this will affect "aci" calculation in the next model time step.
The "drydep" feature alone only changes aerosol concentrations and does not directly affect meteorological fields. Also, the current tests are short idealized simulations and the impact on climate is not evaluated.
Due to the idealized configuration of the current model feature, we can only evaluate the feature impact qualitatively. It would be more meaningful to perform the aerosol mass and number budget analysis when we can run a longer simulation with more realistic aerosol fields in MAMxx/EAMxx.
The simulated changes in aerosol burden and dry deposition fluxes were assessed (here we only consider dry removal of aerosols). Over a period of five days, the simulated burden of black carbon (BC) aerosols decreased by 21% (figure), while the dust burden declined by 43% (figure). The higher dry removal rate for dust is consistent with expectations, as the dry deposition flux accounts for sedimentation, a significant sink for larger dust particles. The dry removal rate for sea salt appears to be underestimated, with the burden decreasing by only 18% over the same five-day period (figure). On the other hand, with the idealized configuration and short simulation, it's hard to tell whether this is correct or wrong. Additional diagnostics can be found here: https://web.lcrc.anl.gov/public/e3sm/diagnostic_output/ac.kzhang/TMP/drydep/
N/A.
The dry deposition flux includes both turbulent dry deposition at the surface and sedimentation flux. In the future, it would be nice to diagnose the two (turbulent dry deposition and sedimentation) separately.
The process coupling between emission, dry deposition, and turbulent transport needs to be revisited when all of the aerosol processes/parameterizations have been integrated into EAMxx.
|
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.
Other than the overall comment, I only have two other comments/questions that could be easily addressed, so I'm going to approve this PR.
c35785d
Thanks, Kai for your detailed review. I have addressed all your comments and questions. |
Status Flag 'Pull Request AutoTester' - User Requested Retest - Label AT: RETEST will be reset after testing. |
Status Flag 'Pre-Test Inspection' - SUCCESS: The last commit to this Pull Request has been INSPECTED by label AT: PRE-TEST INSPECTED! Autotester is Removing Label; this inspection will remain valid until a new commit to source branch is performed. |
Status Flag 'Pull Request AutoTester' - User Requested Retest - Label AT: RETEST will be reset after testing. |
Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects: Pull Request Auto Testing STARTING (click to expand)Build InformationTest Name: SCREAM_PullRequest_Autotester_Mappy
Jenkins Parameters
Build InformationTest Name: SCREAM_PullRequest_Autotester_Weaver
Jenkins Parameters
Using Repos:
Pull Request Author: overfelt |
Status Flag 'Pull Request AutoTester' - Jenkins Testing: 1 or more Jobs FAILED Note: Testing will normally be attempted again in approx. 2 Hrs. If a change to the PR source branch occurs, the testing will be attempted again on next available autotester run. Pull Request Auto Testing has FAILED (click to expand)Build InformationTest Name: SCREAM_PullRequest_Autotester_Mappy
Jenkins Parameters
Build InformationTest Name: SCREAM_PullRequest_Autotester_Weaver
Jenkins Parameters
SCREAM_PullRequest_Autotester_Mappy # 5771 FAILED (click to see last 100 lines of console output)
SCREAM_PullRequest_Autotester_Weaver # 5997 FAILED (click to see last 100 lines of console output)
|
We have the expected fails. @kaizhangpnl, if everything looks good to you, should we go ahead and merge it? |
Thanks for addressing my comments. Yes, it looks good to me. I recommend merging it into the master. |
Updated the PR description to add timing information for all the unit tests (including this process). |
This PR connects MAM4xx’s dry deposition codes to EAMxx using an interface. Since the cmake option,
SCREAM_ENABLE_MAM
is alwaysON
, this code is always compiled with the EAMxx codebase. Dry deposition is added as an EAMxx process with the ability to turn it on/off using the labelmam4_drydep
in thenamelist_scream.xml
file. The atmchange command to invoke this process in a CIME simulation is:./atmchange physics::atm_procs_list="mac_aero_mic,rrtmgp,mam4_drydep"
To set up a test with the above configuration, use the following commands:
Where,
<machine>
is the machine name<compiler>
is the compiler to use on the machine<test id >
is a unique string test identifier<project id>
is the allocation project to chargescream-mam4xx-drydep
is the test modifier that addsmam4_drydep
to theatm_procs_list
process list and increases the number of tracers to 41.The output from this process includes:
1. Updated interstitial aerosols
2. Updated cloud-borne aerosols
3. Deposition flux of interstitial aerosols
4. Deposition flux of cloud-borne aerosols
Testing
We added 1 single process, 2 multi process, and 1 CIME low-resolution test in EAMxx. These are all smoke tests. MAM4xx has its validation testing suites where we validate all MAM4xx codes. Manual end-to-end validation was done for the entire dry deposition interface and the results were exactly the same as EAMv2 grid cells up to single precision. We don’t expect an exact match till double precision as the computing environments are different for both runs.
Figures from model analysis
Standalone Test Timings (Compy):
Important notes: