Skip to content

fix the q2 diagnostics in NoahMP#1383

Open
CharlesZheZhang wants to merge 1 commit intoMPAS-Dev:hotfix-v8.3.1from
CharlesZheZhang:hotfix-v8.3.1_q2diag
Open

fix the q2 diagnostics in NoahMP#1383
CharlesZheZhang wants to merge 1 commit intoMPAS-Dev:hotfix-v8.3.1from
CharlesZheZhang:hotfix-v8.3.1_q2diag

Conversation

@CharlesZheZhang
Copy link
Contributor

This PR is to fix the high q2 issue in urban grids in NoahMP, posted here in this thread:
https://forum.mmm.ucar.edu/threads/high-urban-moisture-with-noah-mp-in-mpas-atmosphere-8-2-3.22160/#post-53574
from a closed PR: #1341

Essentially, the fix is to correct the q2 diagnostics in NoahMP in hotfix-v8.3.1:
in the Noah-MP source file: EnergyVarOutTransferMod.F90
Line 139: MPAS-Model/src/core_atmosphere/physics/physics_noahmp/drivers/mpas/EnergyVarOutTransferMod.F90 at ac3866c1e5b05f6d4f5bd41aeab7d3882bace514 · MPAS-Dev/MPAS-Model
change it to the following:
NoahmpIO%Q2MXY(I) = NoahmpIO%Q2MBXY(I) * ( 1 - NoahmpIO%FVEGXY(I) ) + NoahmpIO%Q2MVXY(I) * NoahmpIO%FVEGXY(I)

I have done a short test with the hotfix-8.3.1 version and with this q2_diag fix, and show this fix will help reduce the high q2 over urban points. please see the figure below:
image
@cenlinhe @barlage

@cenlinhe
Copy link
Collaborator

cenlinhe commented Dec 5, 2025

Yes, this bug fix looks good to me and should be included as soon as possible.

@barlage
Copy link
Contributor

barlage commented Dec 8, 2025

Any sense as to why there is such a large difference over urban areas for this code change? Why is this a "bug" fix? This seems to be an order of operations difference. What makes that special for urban area?

@cenlinhe
Copy link
Collaborator

cenlinhe commented Dec 8, 2025

I think it is because Q2 (mixing ratio) is very low in urban, so the grid-level mean Q2 computed either from Q2MV and Q2MB or from specific humidity depends on the order of operations since the calculation from specific humidity to Q2 is nonlinear, which has the most impact when it is very small.

@tslin2
Copy link

tslin2 commented Jan 7, 2026

Note that in WRF, Q2 for urban grids is Q2MB because urban assumes no vegetation (for urban bulk scheme urban option is 0), urban vegetation is not considered for bulk urban scheme, so here should follow WRF considering NoahmpIO%FVEGXY = 0.0 or NoahmpIO%Q2MXY(I) = NoahmpIO%Q2MBXY(I) for urban grids

https://github.com/wrf-model/WRF/blob/f52c197ed39d12e087d02c50f412d90d418f6186/phys/module_surface_driver.F#L3358-L3366

@mgduda mgduda self-requested a review March 23, 2026 22:06
@mgduda
Copy link
Contributor

mgduda commented Mar 23, 2026

@cenlinhe @barlage If you both have no objections, I'll approve and merge this PR. (Alternatively, I can add you as collaborators on this repository so that you can be added as formal reviewers on this and future PRs.)

@cenlinhe
Copy link
Collaborator

cenlinhe commented Mar 23, 2026

@mgduda Yes, please add me as a collaborator. This PR looks good to me. You can approve and merge it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants