Skip to content

Add aerosol emission for TEMPO MP#240

Open
haiqinli wants to merge 6 commits into
ufs-community:noaa/developfrom
haiqinli:gsl/develop-mp-emission
Open

Add aerosol emission for TEMPO MP#240
haiqinli wants to merge 6 commits into
ufs-community:noaa/developfrom
haiqinli:gsl/develop-mp-emission

Conversation

@haiqinli
Copy link
Copy Markdown
Collaborator

@haiqinli haiqinli commented Apr 6, 2026

In the TEMPO Microphysics, the hygroscopic aerosol is referred as a “water friendly” aerosol (WFA), and the non-hygroscopic ice-nucleating aerosol is referred as “ice friendly” aerosol (IFA). For usual TEMPO applications, WFA and IFA are derived using GOCART climatologies. The default WFA emission is an empirical formula from the surface layer WFA, and no IFA emissions. In this PR, the sea-salt emission, organic carbon from wildfire biomass burning and anthropogenic emissions are combined to represent the WFA emission, while the prognostic emission of dust is used to represent IFA emission.

There is a namelist option of "config_mp_aero_emission" in the chemistry namelist file. It is false by default, and no impact on nwfa2d and nifa2d. If it is true, it will overwrite the nwfa2d and nifa2d every timestep.

Mandatory Questions

  • Does this PR include any additions or changes to external inputs (e.g., microphysics lookup tables, static data for gravity-wave drag -- things like that)?
    • no
  • Does this PR require updating one or more baselines for the CI tests? If so, what?
    • no

Priority Reviewers

Comment thread src/core_atmosphere/physics/registry.chemistry.xml
Copy link
Copy Markdown
Collaborator

@joeolson42 joeolson42 left a comment

Choose a reason for hiding this comment

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

I don't see any obvious coding issues.

Comment thread src/core_atmosphere/physics/mpas_atmphys_driver_smoke.F Outdated
@dustinswales dustinswales moved this from Todo to In progress in MPAS-A PRs to process Apr 21, 2026
@dustinswales dustinswales moved this from In progress to Todo in MPAS-A PRs to process Apr 21, 2026
@dustinswales dustinswales moved this from Todo to In progress in MPAS-A PRs to process Apr 21, 2026
@clark-evans clark-evans moved this from In progress to Needs review in MPAS-A PRs to process Apr 28, 2026
Copy link
Copy Markdown
Collaborator

@dustinswales dustinswales left a comment

Choose a reason for hiding this comment

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

@haiqinli I don't see any problems here.
Can you please update the logic as per Anders request? Then I will approve.

Comment thread src/core_atmosphere/physics/mpas_atmphys_driver_smoke.F Outdated
@haiqinli
Copy link
Copy Markdown
Collaborator Author

haiqinli commented May 5, 2026

@dustinswales @AndersJensen-NOAA I updated the logic Anders suggested with hash of e578867 two weeks ago.
Screenshot 2026-05-05 at 8 40 20 AM

@dustinswales
Copy link
Copy Markdown
Collaborator

@dustinswales @AndersJensen-NOAA I updated the logic Anders suggested with hash of e578867 two weeks ago. Screenshot 2026-05-05 at 8 40 20 AM

@haiqinli My apologies. I was looking at the wrong hash.

@haiqinli
Copy link
Copy Markdown
Collaborator Author

haiqinli commented May 5, 2026

Thanks @dustinswales !

Comment thread src/core_atmosphere/physics/mpas_atmphys_driver_smoke.F Outdated
@dustinswales dustinswales moved this from Needs review to Needs evaluation in MPAS-A PRs to process May 6, 2026
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR adds support for TEMPO microphysics aerosol emissions (WFA/IFA) driven by SMOKE/chemistry inputs and controlled via a new chemistry namelist option, enabling the model to overwrite TEMPO aerosol surface emissions each timestep when configured.

Changes:

  • Adds a new chemistry namelist option config_mp_aero_emission to enable/disable TEMPO aerosol emission updates.
  • Updates dust input field naming/stream expectations (e.g., introduces rdrag_m_in/ssm_in and rdrag) and propagates these through physics/smoke plumbing.
  • Extends the SMOKE driver interface to pass TEMPO aerosol surface-emission fields (nwfa2d, nifa2d) and the new emission toggle into the SMOKE driver call path, and updates build source lists accordingly.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
src/core_atmosphere/physics/registry.chemistry.xml Adds new namelist option and updates dust input stream/diagnostic field definitions for the chemistry/SMOKE pathway.
src/core_atmosphere/physics/mpas_atmphys_vars.F Renames/remaps dust-related allocatable fields used by SMOKE/dust emission drivers.
src/core_atmosphere/physics/mpas_atmphys_update_surface.F Updates monthly dust-field interpolation to the new drag-partition field (rdrag).
src/core_atmosphere/physics/mpas_atmphys_driver_smoke.F Wires TEMPO aerosol surface emission fields and the new toggle into the SMOKE driver path; updates dust-field plumbing.
src/core_atmosphere/CMakeLists.txt Adds a new SMOKE source (module_mp_aero_emissions.F90) to the build list.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +197 to +200
if ((config_microp_scheme .eq. 'mp_tempo') .and. config_tempo_aerosolaware ) then
if(.not.allocated(nwfa2d_p)) allocate(nwfa2d_p(ims:ime,jms:jme))
if(.not.allocated(nifa2d_p)) allocate(nifa2d_p(ims:ime,jms:jme))
endif
Comment on lines 273 to +277
<var name="sandfrac_in"/>
<var name="clayfrac_in"/>
<var name="uthres_in"/>
<var name="uthres_sg_in"/>
<var name="sep_in"/>
<var name="albedo_drag_m_in"/>
<var name="feff_m_in"/>
<var name="ssm_in"/>
<var name="rdrag_m_in"/>
Comment on lines +195 to +198
<nml_option name="config_mp_aero_emission" type="logical" default_value="false" in_defaults="false"
units="-"
description="Flag that controls aerosol emissions for Tempo microphysics"
possbile_values=".true. or .false."/>
Comment on lines 136 to 140
seas_ngac_mod.F90
ssalt_mod.F90
module_anthro_emissions.F90
module_mp_aero_emissions.F90
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Needs evaluation

Development

Successfully merging this pull request may close these issues.

6 participants