Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[pull] master from wrf-model:master#4

Merged
pull[bot] merged 12 commits into
MRE-Code-Hub:masterfrom
wrf-model:master
Jun 3, 2025
Merged

[pull] master from wrf-model:master#4
pull[bot] merged 12 commits into
MRE-Code-Hub:masterfrom
wrf-model:master

Conversation

@pull

@pull pull Bot commented Jun 3, 2025

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.1)

Can you help keep this open source service alive? 💖 Please sponsor : )

islas and others added 12 commits May 21, 2025 08:39
TYPE: bug fix

KEYWORDS: syntax

SOURCE: internal

DESCRIPTION OF CHANGES:
Problem:
There is invalid Fortran syntax for line continuation in the chem code.
More sensitive compilers catch this as an error during the CMake build
as files are not sanitized as much compared to the make build.

Solution:
Change the lines to be a single line. 

ISSUE: 
#2214 

TESTS CONDUCTED: 
1. Recreated issue noted in #2214 using Intel OneAPI compilers and
testing code modifications to pass compilation successfully.
…riable (#2222)

TYPE: bug fix

KEYWORDS: make, compilation

SOURCE: internal

DESCRIPTION OF CHANGES:
Problem:
PR #2018 introduced CMake compilation of the chem and KPP code. In order
to do that certain helper programs created during the compilation
process were reworked. The KPP mechanism integration edit program,
`integr_edit.exe` was changed to take in explicit arguments for the
files to read and write. However, the edits to the makefile that control
this call use an invalid variable `$(MODEL)` where `$(MECH)` should be
used instead.

Solution:
Use the appropriate `$(MECH)` variable to construct command line
arguments to `intergr_edit.exe`

ISSUE: 
#2216

TESTS CONDUCTED: 
1. Recreated the issues noted in #2216, though not limited to the intel
compilers. Diagnosed as segfault due to reading of nonexistent file from
null expansion of bad make variable. Fixed and recompiled successfully.
Fix for the results of the confchecks not getting passed correctly to
the main CMakeLists.txt.

TYPE: bugfix

KEYWORDS: bugfix, CMake, confcheck

SOURCE: Max Balsmeier

DESCRIPTION OF CHANGES:
Problem:
See #2217 

Solution:
The result variables of the confchecks are set with the PARENT_SCOPE
attribute in confcheck/CMakeLists.txt.

ISSUE:
Fixes #2217 

LIST OF MODIFIED FILES: confcheck/CMakeLists.txt

TESTS CONDUCTED: 
1. I tested it locally, the confcheck results get passed correctly now.

RELEASE NOTE: Bugfix: CMake confcheck result variables passed correctly
to main CMakeLists.txt.
TYPE: bug fix

KEYWORDS: cmake, ideal

SOURCE: internal

DESCRIPTION OF CHANGES:
Problem:
PR #2089 introduced the ability to compile WRFPLUS, however it
inadvertently removed the compilation of `wrf[.exe]` from any
configurations that weren't `PLUS` or 'EM_REAL`. Thus, the ideal cases
under `ARW` core but not `EM_REAL` no longer compiled the `wrf` target,
effectively breaking compilation for any ideal cases.

Solution:
Adjust the logic to compile the `wrf` executable for `ARW` or `PLUS`
cores.

ISSUE: For use when this PR closes an issue.
Fixes #2224 

TESTS CONDUCTED: 
1. Tested fixes to ensure em_real, ideal, chem, and plus configurations
all compile correctly again.

RELEASE NOTE: 
CMake bug fix to ensure ideal cases compile correctly again.
TYPE: bugfix, text only

KEYWORDS: README, namelist, default, MYNN

SOURCE: Max Balsmeier

DESCRIPTION OF CHANGES:
Problem:
The default for namelist bl_mynn_mixlength was wrong and the definition
of bl_mynn_cloudmix was not clear for MYNN PBL.

Solution:
The README was fixed and clarified.

LIST OF MODIFIED FILES: run/README.namelist

RELEASE NOTE: Fix and clarification in README.namelist regarding MYNN
PBL scheme.
Fix the conversion of kinematic water vapor flux to evaporation in m/s for water budget in slucm

TYPE: bug fix

KEYWORDS: slucm, urban evaporation, urban physics

SOURCE: Einara Zahn, Princeton University

DESCRIPTION OF CHANGES:
Problem:
Evaporation rate over impervious surfaces was incorrectly computed in SLUCM for option IMP_SCHEME==2. The kinematic vapor flux (kg/kg x m/s) was not converted to evaporation in m/s before entering the water budget equation, leading to wrong update of water storage.

Solution:
Multiplied the kinematic water vapor flux by air density and divided by water density in module_sf_urban.f90, only inside the code block for IMP_SCHEME == 2. The conversion does not affect the default version IMP_SCHEME==1.

ISSUE: For use when this PR closes an issue.
Fixes #2186

LIST OF MODIFIED FILES:  phys/module_sf_urban.F

TESTS CONDUCTED: 
1. Running urban simulations on rainy days, with and without the unit conversion.
2. Jenkins tests have passed.

RELEASE NOTE: Corrected evaporation rate calculation for water budget over impervious surfaces in SLUCM when IMP_SCHEME == 2. Affects available water in impervious surfaces and latent heat flux output in urban simulations with impervious scheme enabled.
TYPE: text only

KEYWORDS: README file, MYNN

SOURCE: internal (replacing PR-2218)

DESCRIPTION OF CHANGES:
This PR moves the MYNN closure options together with other MYNN specific
options, and makes a change to the description of the MYNN PBL option.

LIST OF MODIFIED FILES: 
M   run/README.namelist

RELEASE NOTE:
…2231)

TYPE: bug fix

KEYWORDS: mpi, quilting, comm

SOURCE: internal

DESCRIPTION OF CHANGES:
Problem:
PR #2157 added changes to match an appropriate `MPI_Datatype` to a
specific `typesize` during `col_on_comm()` and `dst_on_comm()`. This
relies on `MPI_Type_match_size()` to query MPI about the equivalent MPI
definition for a particular datatype size. There are safety checks to
query `MPI_TYPECLASS_INTEGER` if `MPI_TYPECLASS_REAL` fails.

However, when given a datatype size that does not match a possible
`MPI_TYPECLASS_REAL` value (e.g. 1 byte where no real exists for single
byte) instead of getting a failure via return code the query is treated
as a critical failure and fully aborts the program. As the query does
not rely on critical process handling _and_ since there already exists
adequate checks to abort if no sufficient value is found, this
preemptive abort is unnecessary.

Solution:
Temporarily install a pass through errhandler that does not modify the
return code but also does not abort. Allow the if statements of finding
a correct `MPI_Datatype` to abort if deemed necessary. Additionally,
once the checks are complete, reinstate any previous errhandler and free
our pass through handle.

ISSUE: 
#2225 

TESTS CONDUCTED: 
1. Tested the stability of this call to handle correct and incorrect
types various times while constantly replacing the error handler.

RELEASE NOTE: 
In collect_on_comm.c, use a temporary pass through errhandler to allow
MPI_Type_match_size to fail correctly with error code rather than fully
abort the program.
…mestamp check (#2221)

TYPE: bug fix

KEYWORDS: cmake, compilation

SOURCE: internal

DESCRIPTION OF CHANGES:
Problem:
With the new CMake build, if a file that gets manually preprocessed
prior to compilation is edited it will not trigger preprocessing again
and thus skip recompilation for those edits.

Solution:
Add the original source file to the list of `DEPENDS` files when adding
the custom command. This will add the appropriate make checks to compare
timestamps between the original source file and the output results,
triggering recompilation.

TESTS CONDUCTED: 
1. Tested recompilation of `wrf_io.F90` as a file that undergoes C and
M4 preprocessing.
…icit (#2228)

TYPE: bug fix

KEYWORDS: gcc, gcc15, compilation

SOURCE: internal

DESCRIPTION OF CHANGES:
Problem:
GCC 15 uses newer standards compliance, notably the disallowance of
`func()` function declaration as a way to defer true arguments later
specified in the function definition. Instead, functions declared as
`func()` will be assumed to mean `func(void)` and any other amount of
arguments must be explicitly noted in the declaration.

Solution:
Make sure function declarations and definitions match.

ISSUE: For use when this PR closes an issue.
Fixes #2226 

TESTS CONDUCTED: 
1. Built and tested against GCC 15.1.0

RELEASE NOTE: 
Fix compilation with GCC 15 by correcting function declaration syntax to
explicitly list function arguments.
@pull pull Bot added the ⤵️ pull label Jun 3, 2025
@pull pull Bot merged commit f52c197 into MRE-Code-Hub:master Jun 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

4 participants