Description
I am testing aerosol-aware TEMPO in WRF using:
mp_physics = 88
tempo_aerosolaware = 1
- TEMPO v3.1.1
- climatological WFA/IFA initial and lateral boundary conditions
- time-dependent surface aerosol tendencies through
wrfqnainp_d01
- YSU PBL (
bl_pbl_physics = 1)
The WFA pathway appears to work, but IFA surface emissions and automatic PBL mixing may be missing from the WRF–TEMPO integration.
Namelist configuration
&time_control
auxinput17_inname = "wrfqnainp_d<domain>",
auxinput17_interval = 360,
io_form_auxinput17 = 2,
/
&domains
num_wif_levels = 30,
wif_input_opt = 1,
/
&physics
mp_physics = 88,
tempo_aerosolaware = 1,
tempo_hailaware = 1,
use_aero_icbc = .true.,
use_rap_aero_icbc = .false.,
aer_opt = 3,
qna_update = 1,
bl_pbl_physics = 1,
scalar_pblmix = 1,
dust_emis = 1,
/
### 1. IFA surface emissions are not applied by TEMPO
In phys/module_microphysics_driver.F, the TEMPO branch applies the WFA surface tendency:
if (present(qnwfa_curr) .and. present(qnwfa2d)) then
call tempo_aerosol_surface_emissions( &
dt=dt, nwfa=qnwfa_curr, nwfa2d=qnwfa2d, &
ims=ims, ime=ime, jms=jms, jme=jme, &
kms=kms, kme=kme, kts=kts)
endif
**There is no corresponding call that applies QNIFA2D to QNIFA.**
This means that qna_update=1 can read QNIFA2D from wrfqnainp_d01, but the tendency does not appear to be used by TEMPO.
Would it be appropriate to add an analogous call such as:
if (present(qnifa_curr) .and. present(qnifa2d)) then
call tempo_aerosol_surface_emissions( &
dt=dt, nwfa=qnifa_curr, nwfa2d=qnifa2d, &
ims=ims, ime=ime, jms=jms, jme=jme, &
kms=kms, kme=kme, kts=kts)
endif
### 2. Online dust emission is restricted to mp_physics=28
The meteorology-dependent dust-emission routine in dyn_em/solve_em.F is currently guarded by:
IF (config_flags%dust_emis == 1 .AND. &
config_flags%mp_physics == thompsonaero) THEN
CALL bulk_dust_emis(..., grid%qnifa2d, ...)
ENDIF
Therefore, dust_emis=1 calculates QNIFA2D only for mp_physics=28, not for aerosol-aware TEMPO.
Would it be physically and technically appropriate to extend this condition to:
IF (config_flags%dust_emis == 1 .AND. &
(config_flags%mp_physics == thompsonaero .OR. &
(config_flags%mp_physics == TEMPO .AND. &
config_flags%tempo_aerosolaware == 1))) THEN
Together with applying QNIFA2D in the TEMPO driver, this would provide meteorology-dependent online dust/IFA
emissions for aerosol-aware TEMPO.
Is the current omission intentional, for example because TEMPO is expected to obtain IFA only from IC/BC or
externally generated emission files?
### 3. PBL mixing with YSU
QNWFA and QNIFA are prognostic WRF scalar fields. With YSU PBL scheme, they appear to receive PBL turbulent mixing only when: **scalar_pblmix = 1**
The WRF consistency checks automatically enable scalar_pblmix for Thompson aerosol-aware microphysics, but
aerosol-aware TEMPO is not included in that check.
Because the default is scalar_pblmix=0, a TEMPO simulation using YSU may transport QNWFA and QNIFA by resolved advection while omitting their PBL scalar mixing unless the user sets this option manually. This is especially important for QNWFA2D, which is injected at the lowest model level.
Would it be appropriate for the WRF namelist checks to enable or recommend:
scalar_pblmix = 1
when:
mp_physics == TEMPO
tempo_aerosolaware == 1
except when MYNN performs aerosol/scalar mixing internally?
### 4. factor-of-ten difference in WFA surface emissions
I also found a factor-of-ten difference between the WFA surface-emission tendencies generated by real.exe for Thompson--Eidhammer and aerosol-aware TEMPO.
For the monthly-climatology aerosol initialization, the WRF integration currently calculates:
For mp_physics=28:
QNWFA2D = W_WIF_NOW * 0.000196 * (50.0 / z1)
For mp_physics=88:
QNWFA2D = W_WIF_NOW * 0.000196 * (5.0 / z1)
As a result, QNWFA2D in the TEMPO wrfinput/wrfqnainp files is exactly ten times smaller than in an otherwise identical Thompson-Eidhammer configuration. The three-dimensional initial QNWFA and QNIFA fields are identical between the two cases.
Both microphysics implementations subsequently apply the surface tendency as:
QNWFA(kts) = QNWFA(kts) + QNWFA2D * dt
I could not identify a compensating unit conversion or factor of ten in the TEMPO surface-emission application. Is the use of 5.0/z1 for TEMPO intentional? If not, the WRF host integration should use the same 50.0/z1 scaling for both schemes so that Thompson-versus-TEMPO experiments do not include an unintended tenfold difference in WFA forcing.
### 5. real.exe correctly creates nonzero three-dimensional aerosol fields in wrfinput_d01:
- QNWFA: approximately 1.16e8 to 3.25e9 kg-1
- QNIFA: approximately 4.0e-5 to 5.26e7 kg-1
However, all corresponding lateral-boundary values and tendencies in wrfbdy_d01 are zero:
- QNWFA_BXS/BXE/BYS/BYE
- QNWFA_BTXS/BTXE/BTYS/BTYE
- QNIFA_BXS/BXE/BYS/BYE
- QNIFA_BTXS/BTXE/BTYS/BTYE
The problem is in main/real_em.F. The aerosol-boundary processing is enabled only for:
config_flags%mp_physics .EQ. THOMPSONAERO
## Proposed fix
Replace the seven Thompson-only conditions in main/real_em.F with:
IF ( ( config_flags%mp_physics .EQ. THOMPSONAERO .OR. &
( config_flags%mp_physics .EQ. TEMPO .AND. &
config_flags%tempo_aerosolaware .EQ. 1 ) ) .AND. &
config_flags%aer_init_opt .GT. 0 ) THEN
This preserves the existing Thompson behavior and enables the same lateral-boundary processing for aerosol-aware TEMPO.
### Questions
1. Is omission of the QNIFA2D tendency in aerosol-aware TEMPO intentional?
2. Should bulk_dust_emis be enabled for aerosol-aware TEMPO?
3. Should WRF automatically set or recommend scalar_pblmix=1 for aerosol-aware TEMPO with YSU?
4. Are there physical constraints in TEMPO that would make direct application of QNIFA2D inappropriate?
5. Is the factor-of-ten reduction in climatological QNWFA2D for TEMPO intentional? Specifically, why does aerosol-aware TEMPO use 5.0/z1 while Thompson--Eidhammer uses 50.0/z1
Description
I am testing aerosol-aware TEMPO in WRF using:
mp_physics = 88tempo_aerosolaware = 1wrfqnainp_d01bl_pbl_physics = 1)The WFA pathway appears to work, but IFA surface emissions and automatic PBL mixing may be missing from the WRF–TEMPO integration.
Namelist configuration