Skip to content
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

EAMxx: Modify microphysics interface to include sethet (washout rates) #3120

Merged
merged 3 commits into from
Nov 20, 2024

Conversation

odiazib
Copy link
Contributor

@odiazib odiazib commented Nov 19, 2024

An existing EAMxx interface (eamxx_mam_microphysics_process_interface.cpp) is modified to include the invocation of the washout rates for gases.

Since the CMake option, SCREAM_ENABLE_MAM, is always ON, these codes are always compiled with the EAMxx codebase, but this interface can be turned off/on using the namelist flags.

Output variables

This process computes het_rates that are used in gas phase chemistry

Testing

We have existing tests for this interface, so we didn't add any new tests. We have a suite of validation tests in the MAM4xx repo to validate sethet process

The atmchange command to invoke this process in a CIME simulation is:

./atmchange physics::atm_procs_list="mac_aero_mic,rrtmgp,mam4_aero_microphys

To set up a test with the above configuration, use the following commands:

cd cime/scripts
./create_test SMS_D_P32x1_Ln5.ne4pg2_oQU480.F2010-SCREAMv1-MPASSI.<machine>_<compiler>.scream-mam4xx-aero_microphysics -t <test id> -p <project id>

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 charge

scream-mam4xx-aero_microphysics is the test modifier that adds mam4_aero_microphys to the atm_procs_list process list and increases the number of tracers to 41.

For ne30pg2 grid, use the following command:

./create_test SMS_D_P32x1.ne30pg2_oECv.F2010-SCREAMv1-MPASSI.<machine>_<compiler>.scream-mam4xx-aero_microphysics -t <test id> -p <project id> 

New input data

No new input data

Figures from model analysis

We ran a simulation using ne30 grid with only microphysics process turned on. Here are the gas and aerosol species burden with (labeled sethet) and without (labeled ctl) the sethet process:
image

image

Standalone Test Timings (Compy):

We will upload the timings once the PR is reviewed and approved

Copy link
Contributor

mergify bot commented Nov 19, 2024

Merge Protections

Your pull request matches the following merge protections and will not be merged until they are valid.

🟠 Enforce checks passing

Waiting checks: cpu-gcc / ${{ matrix.test.short_name }}, cpu-gcc / SMS_D_Ln5.ne4pg2_oQU480.F2010-SCREAMv1-MPASSI.scream-mam4xx-all_mam4xx_procs, gcc-cuda / ${{ matrix.build_type }}, gcc-cuda / dbg, gcc-cuda / opt, gcc-cuda / sp, gcc-openmp / ${{ matrix.build_type }}, gcc-openmp / dbg, gcc-openmp / opt, gcc-openmp / sp.

Make sure that checks are not failing on the PR, and reviewers approved

  • any of:
    • check-skipped={% raw %}gcc-openmp / ${{ matrix.build_type }}{% endraw %}
    • all of:
      • check-success="gcc-openmp / dbg"
      • check-success="gcc-openmp / opt"
      • check-success="gcc-openmp / sp"
      • check-success="gcc-openmp / fpe"
  • any of:
    • check-skipped={% raw %}gcc-cuda / ${{ matrix.build_type }}{% endraw %}
    • all of:
      • check-success="gcc-cuda / dbg"
      • check-success="gcc-cuda / opt"
      • check-success="gcc-cuda / sp"
  • any of:
    • check-skipped={% raw %}cpu-gcc / ${{ matrix.test.short_name }}{% endraw %}
    • all of:
      • check-success="cpu-gcc / SMS_D_Ln5.ne4pg2_oQU480.F2010-SCREAMv1-MPASSI.scream-mam4xx-all_mam4xx_procs"
      • check-success="cpu-gcc / ERS_Ln22.ne4pg2_ne4pg2.F2010-SCREAMv1.scream-small_kernels--scream-output-preset-5"
      • check-success="cpu-gcc / ERS_Ln9.ne4_ne4.F2000-SCREAMv1-AQP1.scream-output-preset-2"
      • check-success="cpu-gcc / ERS_P16_Ln22.ne30pg2_ne30pg2.FIOP-SCREAMv1-DP.scream-dpxx-arm97"
  • #approved-reviews-by >= 1
  • #changes-requested-reviews-by == 0
  • any of:
    • check-skipped=cpu-gcc
    • check-success=cpu-gcc

singhbalwinder
singhbalwinder previously approved these changes Nov 19, 2024
@singhbalwinder
Copy link
Contributor

@odiazib has moved this PR from E3SM to Scream as E3SM is missing a PR that this PR depends upon. Hopefully, we can merge it before we merge the repos (E3SM and Scream).

@rljacob
Copy link
Member

rljacob commented Nov 19, 2024

Leave it open. After the next merge from scream to E3SM, you should have what you need.

@rljacob
Copy link
Member

rljacob commented Nov 19, 2024

Which PR exactly do you need?

mahf708
mahf708 previously approved these changes Nov 19, 2024
@singhbalwinder
Copy link
Contributor

Which PR exactly do you need?

We need PR #3108

@odiazib odiazib dismissed stale reviews from mahf708 and singhbalwinder via 00d55a0 November 19, 2024 18:07
singhbalwinder
singhbalwinder previously approved these changes Nov 19, 2024
@singhbalwinder singhbalwinder added EAGLES Work related to the EAGLES aerosol project MAM labels Nov 19, 2024
…ne test is sensitive to changes in the interface.
Copy link
Contributor

@kaizhangpnl kaizhangpnl left a comment

Choose a reason for hiding this comment

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

Most of relevant changes (and the original code development) were made in the mamxx (external) repo:

Therefore, there are only minor code changes in this repo. The EALGES team has performed simulations to test the new feature (w. vs. w/o) and the result (see above: to be posted) suggests the feature works as expected, at least qualitatively. On the other hand, we need more detailed evaluation of the aerosol/chemistry budget to make sure the sulfur chemistry and sulfate formation are reasonably simulated. This will need additional code implementation (for process rates output at multiple places) and significant effort for diagnostic tool development/adjustment, which is out of scope for this PR.

@singhbalwinder
Copy link
Contributor

Thanks, Kai! I have uploaded the figures in the PR description.

The PR Is failing the expected tests. CUDA tests are not running on AT. I have manually run a CUDA test on PM-GPU, and the standalone test (in single precision mode) ran fine without emitting any new warnings.

@jgfouca jgfouca merged commit f7a7ad6 into E3SM-Project:master Nov 20, 2024
12 of 20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
EAGLES Work related to the EAGLES aerosol project MAM
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants