Skip to content

Coupling with refactored Noah-MP v5.1.2#2268

Merged
weiwangncar merged 16 commits intowrf-model:developfrom
cenlinhe:couple_noahmpv512
Feb 15, 2026
Merged

Coupling with refactored Noah-MP v5.1.2#2268
weiwangncar merged 16 commits intowrf-model:developfrom
cenlinhe:couple_noahmpv512

Conversation

@cenlinhe
Copy link
Contributor

@cenlinhe cenlinhe commented Jan 5, 2026

This PR is to couple WRF with the refactored Noah-MP v5.1.2 (latest NoahMP version) via git submodule.

TYPE: enhancement

KEYWORDS: Noah-MP

SOURCE: Cenlin He (NCAR), Tzu-Shun Lin (NCAR)

DESCRIPTION OF CHANGES:
This PR includes necessary code changes to couple WRF with the latest refactored Noah-MP v5.1.2 via git submodule mechanisms. Compared to Noah-MP v4.7 in WRF v4.7.1, the Noah-MP v5.1.2 has several added new model physics:

  1. add new snow compaction scheme (with namelist option control) developed by Abolafia-Rosenzweig et al 2024 (JAMES; https://doi.org/10.1029/2023MS003869) (add new snow compaction scheme from Abolafia-Rosenzweig et al 2024 NCAR/noahmp#174)
  2. improved spring wheat parameters developed by Zhang et al 2023 (GMD; https://doi.org/10.5194/gmd-16-3809-2023) (improve spring wheat parameters from Zhang et al 2023 NCAR/noahmp#175)
  3. add new wetland scheme (with namelist option control) developed by Zhang et al 2022 (WRR; https://doi.org/10.1029/2021WR030573) (Add wetland scheme of Zhang et al 2022 WRR NCAR/noahmp#186)
  4. couple SNICAR v3 snow albedo scheme into Noah-MP (with namelist option control) developed by Lin et al 2024 (JHM; https://doi.org/10.1175/JHM-D-24-0082.1) (Implement SNICAR v3 snow albedo model into Noah-MP NCAR/noahmp#187)
  5. add new snow cover scheme (with namelist option control) developed by Abolafia-Rosenzweig et al 2025 (JAMES; doi:10.1029/2024MS004704) (Add new snow cover scheme of Abolafia-Rosenzweig et al 2025 NCAR/noahmp#191)

LIST OF MODIFIED FILES:
M CMakeLists.txt
M Makefile
M Registry/Registry.EM_COMMON
M Registry/registry.dimspec
M Registry/registry.noahmp
M arch/Config.pl
M chem/depend.chem
M chem/module_uoc_dust.F
M clean
M dyn_em/module_first_rk_step_part1.F
M dyn_em/start_em.F
M main/CMakeLists.txt
M main/depend.common
M phys/CMakeLists.txt
M phys/Makefile
M phys/module_diag_misc.F
M phys/module_diagnostics_driver.F
M phys/module_physics_init.F
M phys/module_sf_clm.F
M phys/module_surface_driver.F
M phys/noahmp
M run/README.namelist
M run/README.physics_files
M share/mediation_wrfmain.F
M share/output_wrf.F
M test/em_real/CMakeLists.txt
M test/em_real/examples.namelist

TESTS CONDUCTED:
The code compiles successfully on NCAR's HPC (Derecho) using both intel and gfortran/gcc compilers. The test runs are also successful including that with activated MMF groundwater scheme, urban scheme, and different combinations of PBL, microphysics, and surface layer schemes. (tested by Cenlin He and Tzu-Shun Lin from NCAR), and has passed the regression tests.

RELEASE NOTE: Coupling with refactored Noah-MP v5.1.2. This new version of NoahMP has a few new options and improvements compared to the previous Noah-MP v4.7 in WRF v4.7.1. See PR for details.

@cenlinhe cenlinhe requested review from a team as code owners January 5, 2026 20:46
@cenlinhe cenlinhe requested a review from a team as a code owner January 8, 2026 02:09
@weiwangncar
Copy link
Collaborator

The regression test results: now all tests have passed! Congratulations!

Test Type              | Expected  | Received |  Failed
= = = = = = = = = = = = = = = = = = = = = = = =  = = = =
Number of Tests        : 23           24
Number of Builds       : 60           57
Number of Simulations  : 158           150        0
Number of Comparisons  : 95           86        0

Failed Simulations are: 
None
Which comparisons are not bit-for-bit: 
None

@dudhia
Copy link
Collaborator

dudhia commented Jan 28, 2026

There seem to be some added capabilities here. Could you add those to the PR message?
Also I see changes in the dependencies related to noahmp code in the main directory. Was there a way to have these in the noahmp directories instead? Just wondering.

@cenlinhe
Copy link
Contributor Author

There seem to be some added capabilities here. Could you add those to the PR message? Also I see changes in the dependencies related to noahmp code in the main directory. Was there a way to have these in the noahmp directories instead? Just wondering.

I have added the new capabilities of NoahMP v5.1.2 compared to Noah-MP v4.7 in WRF v4.7.1 in the PR message.
For the module dependencies, I think we need to add those to the main directory to allow the correct compilation, which is consistent with other WRF physics module dependency defined also in the main directory.

@weiwangncar
Copy link
Collaborator

@cenlinhe Can you confirm that the default NoahMP options are the ones good for NWP purpose?

@cenlinhe
Copy link
Contributor Author

@cenlinhe Can you confirm that the default NoahMP options are the ones good for NWP purpose?

Yes, the default NoahMP options are the ones good for NWP purpose.

@weiwangncar
Copy link
Collaborator

@cenlinhe Thanks, and that's good to know.

@weiwangncar
Copy link
Collaborator

@cenlinhe What is the version of NoahMP in WRF 4.7.0?

weiwangncar
weiwangncar previously approved these changes Jan 30, 2026
@weiwangncar
Copy link
Collaborator

@cenlinhe I'm trying to add a few sentences to 'RELEASE NOTE', which will be pulled out to make the release note. Can you see if you would like to add anything?

@cenlinhe
Copy link
Contributor Author

@cenlinhe I'm trying to add a few sentences to 'RELEASE NOTE', which will be pulled out to make the release note. Can you see if you would like to add anything?

I added "compared to the previous Noah-MP v4.7 in WRF v4.7.1" to the RELEASE NOTE to explicitly show this PR is to update NoahMP from v4.7 in WRFv4.7.1 to Noah-MP v5.1.2.

@cenlinhe
Copy link
Contributor Author

cenlinhe commented Jan 30, 2026

This PR needs to be merged after the urban PR (#2272) since that urban PR modifies the old Noah-MP urban driver code. not sure if the merge would lead to any conflicts. If so, there might need to be simple additional code changes to ensure the merge is smooth. Let me know if that happens and I can fix that Noah-MP inconsistency issue between the two PRs.

@weiwangncar
Copy link
Collaborator

This PR needs to be merged after the urban PR (#2272) since that urban PR modifies the old Noah-MP urban driver code. not sure if the merge would lead to any conflicts. If so, there might need to be simple additional code changes to ensure the merge is smooth. Let me know if that happens and I can fix that Noah-MP inconsistency issue between the two PRs.

Noted.

…WRITE statement (wrf-model#2265)

TYPE: bug fix

KEYWORDS: time series, TS, format, write, wrf solar, solar_diagnostics

SOURCE: Massimo D'Isidoro (ENEA - Italian National Agency for New Technologies, Energy and Sustainable Economic Development)

DESCRIPTION OF CHANGES:
Problem:
When solar diagnostics is activated in namelist.input, the WRF time series output WRITE statement lists 55 variables but the Fortran FMT only specifies 54 fields. This causes the last variable (ts_swddnic2) to
be written in a separate record in the output files *.TS , leading to inconsistent time series data.

Solution:
The WRITE statement FMT has been corrected to match all 55 variables, ensuring that they are written on the same record in the TS file.

ISSUE: 
This fixes part of issue wrf-model#2255

LIST OF MODIFIED FILES: 
M       share/wrf_timeseries.F

TESTS CONDUCTED: 
1. A WRF run with solar_diagnostics activated, compared to previous version to confirm the fix.
2. The regression tests have passed.

RELEASE NOTE: Corrected a bug in the WRF time series output, when solar_diagnostics is activated, where the last variable (ts_swddnic2) was written in a separate record. TS files now correctly includes all the 55 variables on the same record.
dudhia
dudhia previously approved these changes Feb 3, 2026
@dudhia
Copy link
Collaborator

dudhia commented Feb 3, 2026

@cenlinhe looks like Makefile conflict. Should be easy.

@cenlinhe
Copy link
Contributor Author

cenlinhe commented Feb 3, 2026

@dudhia should I resolve this or you or Wei will resolve this?

@dudhia
Copy link
Collaborator

dudhia commented Feb 3, 2026 via email

@dudhia dudhia dismissed stale reviews from weiwangncar and themself via 0754acf February 3, 2026 21:03
dudhia
dudhia previously approved these changes Feb 3, 2026
@dudhia
Copy link
Collaborator

dudhia commented Feb 3, 2026

Reviews have to be done again, @weiwangncar

weiwangncar
weiwangncar previously approved these changes Feb 4, 2026
TYPE: text only

KEYWORDS: WRF, diagnostics, WetBulbTemp, unit label, dewpoint, documentation

SOURCE: Yuxuan Xie (IGSNRR, CAS)

DESCRIPTION OF CHANGES:
Problem:
The WetBulbTemp utility variable tdC was documented with the wrong unit (K) in a comment, inconsistent with its Celsius usage.

Solution:
Update the unit in the comment to C in phys/module_diag_functions.F.

LIST OF MODIFIED FILES: 
M     phys/module_diag_functions.F

RELEASE NOTE: Corrected the WetBulbTemp dewpoint temperature unit label to Celsius in comments.
@weiwangncar
Copy link
Collaborator

@cenlinhe Now the urban NbS code has been merged, it may have added more conflicts between that code and yours. Github says 'it is too complicated to revolve with a web editor'. Can you fetch the latest develop branch in your local NoahMP code branch, resolve the differences and commit the changes?

@cenlinhe
Copy link
Contributor Author

OK, I will do it today. Hopefully those would be easy fix for conflicts.

@cenlinhe cenlinhe dismissed stale reviews from weiwangncar and dudhia via 489daf1 February 13, 2026 16:29
@cenlinhe
Copy link
Contributor Author

@weiwangncar somehow after I merged the develop branch back to my PR and update the noahmp branch link, the regression test failed. I did accidentally merge the master branch first back to my PR which generated the two commits showing a "x" sign above: f15568c and 1957ed7. Not sure if this matters. Could you please send me the failure message for the reg test? Thanks!

@cenlinhe
Copy link
Contributor Author

@weiwangncar @dudhia OK, the issue is resolved and reg test passed. it seems that a bug (not related to NoahMP)was in the Makefile for mp_tempo scheme in develop branch (missing a end symbol for if-statement in Makefile for mp_tempo) and I fixed it. Now the code is ready to be approved and merged. thanks!

@weiwangncar
Copy link
Collaborator

weiwangncar commented Feb 14, 2026

The regression test results:

Test Type              | Expected  | Received |  Failed
= = = = = = = = = = = = = = = = = = = = = = = =  = = = =
Number of Tests        : 23           24
Number of Builds       : 60           57
Number of Simulations  : 158           150        0
Number of Comparisons  : 95           86        0

Failed Simulations are: 
None
Which comparisons are not bit-for-bit: 
None

@weiwangncar
Copy link
Collaborator

@cenlinhe Thanks!

@weiwangncar weiwangncar merged commit 49e5342 into wrf-model:develop Feb 15, 2026
1 check passed
@weiwangncar
Copy link
Collaborator

@cenlinhe It is our miss not to point out that an update in README.namelist file is needed since you've changed some and added new options. Can you do that? While you're doing that, can you correct the typo in the opt_runsrf and opt_runsub (Xiananjiang to Xinanjiang) pointed out in PR-2289 by @andrewsoong? Thanks!

@cenlinhe
Copy link
Contributor Author

cenlinhe commented Mar 2, 2026

@cenlinhe It is our miss not to point out that an update in README.namelist file is needed since you've changed some and added new options. Can you do that? While you're doing that, can you correct the typo in the opt_runsrf and opt_runsub (Xiananjiang to Xinanjiang) pointed out in PR-2289 by @andrewsoong? Thanks!

Hi Wei, in my PR, I already updated the README.namelist file to reflect all the new Noah-MP options. We can leave the typo fix pointed out in PR-#2289 by @andrewsoong later in minor bug fix?

@weiwangncar
Copy link
Collaborator

@cenlinhe Sorry, somehow I missed it. That would be fine to wait to correct it. Thanks!

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants