Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
b7f31dc
2024 Updates and Bug Fixes for the P-X LSM (#2023)
coastwx Mar 27, 2024
754f0e5
Merge branch 'master' of github.com:wrf-model/WRF into develop
islas May 9, 2024
bb791e7
fixed redistribution between GOCART dust/sea salt and MOZAIC bins (#2…
saneku Oct 10, 2024
b3eebb3
Update how fogdes identifies land use type (#2110)
WQadam Oct 14, 2024
75a6ff2
Merge remote-tracking branch 'origin/master' into develop
islas Oct 16, 2024
5dd2c19
CMake confcheck switch to try_* functions (#2090)
islas Dec 20, 2024
f096921
Fix typo in cmake find netCDF causing failure on blank responses (#2135)
islas Dec 20, 2024
c2e121f
CMake sanitize leading define flag (#2130)
islas Dec 20, 2024
f204246
CMake Add documentation to custom defined properties (#2131)
islas Dec 20, 2024
0ccba14
Call `project()` before before `enable_language()` in CmakeLists.txt …
Quba1 Dec 20, 2024
4889c3c
CMake Correctly set generated property on autogen source code (#2132)
islas Dec 20, 2024
b6542b0
CMake set release flags properly (#2138)
islas Dec 20, 2024
695f455
CMake WRFPLUS (#2089)
islas Jan 2, 2025
7195dc2
Add manage externals to access MMM-physics repo (#2126)
weiwangncar Jan 9, 2025
5b09725
CMake Fix split command flags to be correctly populated (#2108)
islas Jan 10, 2025
7042598
Consistent double precision definitions (#2099)
islas Jan 11, 2025
6d1db68
hydro: reservoir, reach lakes, style guide cleanup (#2146)
scrasmussen Jan 16, 2025
d96478d
Bug fix for overwriting of LCZ urban cells in LU_INDEX with default U…
lpilz Jan 17, 2025
de213c9
Add RCON Microphysics (#2144)
rconrick Jan 23, 2025
30a16a1
fixed defs for adap time step namelist vars in README.namelist (#2158)
kkeene44 Jan 23, 2025
b26e645
CMake Chem and Chem+KPP Build (#2018)
islas Jan 24, 2025
fd079bf
Update Noah-MP tag for v4.7 with bug fixes (#2160)
cenlinhe Jan 29, 2025
3834765
Implementation of MYNN-EDMF submodule (#2148)
joeolson42 Jan 29, 2025
70855a7
Correction of stability functions for the tke-epsilon-tpe PBL schem…
andreazonato Jan 29, 2025
6741f01
Add incremental analysis update capability (#2151)
weiwangncar Jan 29, 2025
a0144bd
CMake Fix RCON Microphysics (#2162)
islas Jan 29, 2025
94aa27a
Fix memory leaks identified by a PGI compiler (#2139)
likeuclinux Feb 4, 2025
33ce70c
Fix access violation crash (#2137)
likeuclinux Feb 5, 2025
af81014
Determine MPI Data Types in col_on_comm() & dst_on_comm() to preven…
benkirk Feb 5, 2025
61d1c84
When write_hist_at_0h_rst=.true., will now apply to user-def streams …
jhruppert Feb 5, 2025
5fc76c5
Adding udm microphysics as option 27 (#2147)
dudhia Feb 5, 2025
a321883
Corrections for tipping bucket and nudging in very long simulations (…
tlspero Feb 7, 2025
89ba518
Add dzstretch_u and dzbot to namelist.input in test/em_real/ (#2165)
weiwangncar Feb 7, 2025
e222560
Fix CMake build for UDM Microphysics (#2164)
islas Feb 7, 2025
914d9bb
Fix typo in confcheck CMakeLists.txt
islas Mar 5, 2025
6d66c2c
Add quote to optimization flags
islas Mar 5, 2025
b15e341
Add quotes to optimization flags exceptions in CMake (#2180)
islas Mar 10, 2025
2572bc5
Fix typo in confcheck CMakeLists.txt for FSEEKO (#2179)
islas Mar 10, 2025
e4b1d76
updating and cleaning up new udm microphysics for optimization (#2177)
dudhia Mar 12, 2025
313834d
hydro bugfix: correctly handle lake_option=3 / no DA case, WRF-Hydro …
scrasmussen Apr 1, 2025
2f68d7b
Default soiltype namelist option (#2166)
mathieulandreau Apr 1, 2025
9aa3979
Fix the bug: TUV photolysis is inactive if simulation starts on 1st J…
SeregaOsipov Apr 1, 2025
9d763af
NSSL-MP scheme updates (#2170)
MicroTed Apr 2, 2025
3f2465b
Suppress MYNN-EDMF verify checkout command (#2188)
islas Apr 4, 2025
30c03dc
NSSL-mp bug fix for (obsolete) droplet nucleation (#2195)
MicroTed Apr 9, 2025
7053a6a
Update README.namelist file (#2193)
weiwangncar Apr 10, 2025
0171299
Fix for a do loop index in bep_bem urban code (#2196)
LluisFB Apr 10, 2025
5ef63ba
Add return statement to GET_LANDUSE() function (#2197)
islas Apr 12, 2025
bd4ecbe
Remove inaccurate error message regarding ghg_input (#2199)
kkeene44 Apr 21, 2025
4a89769
Updated UDM microphysics to pass test suite (#2203)
dudhia Apr 21, 2025
127a8f4
Move netcdfpar build to postamble (#2181)
islas Apr 21, 2025
2639dcd
Fix compilation of grib2 IO in make build (#2191)
islas Apr 21, 2025
a176a59
bugfix for LCZ index in Noah-MP (#2202)
tslin2 Apr 22, 2025
2e0694f
Rework the dependency linking of hydro CMake compilation (#2178)
islas Apr 22, 2025
8e1d674
Fix aarch64 GCC build when DM configuration selected (#2192)
islas Apr 22, 2025
f11e381
Update Noah-MP tag for v4.7 with latest bug fixes (#2207)
tslin2 Apr 23, 2025
3fd1aef
CMake README documentation typo fixes (#2189)
islas Apr 25, 2025
33036d6
CMake README documentation on <PackageName>_ROOT variables (#2190)
islas Apr 25, 2025
37288aa
Update version info for release v4.7.0 (#2210)
islas Apr 25, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,6 @@
[submodule ".ci/hpc-workflows"]
path = .ci/hpc-workflows
url = https://github.com/islas/hpc-workflows
[submodule "phys/MYNN-EDMF"]
path = phys/MYNN-EDMF
url = https://github.com/NCAR/MYNN-EDMF
85 changes: 69 additions & 16 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
cmake_minimum_required( VERSION 3.20 )
cmake_policy( SET CMP0118 NEW )

project( WRF )

enable_language( C )
enable_language( CXX )
enable_language( Fortran )

project( WRF )
set( EXPORT_NAME ${PROJECT_NAME} )

if ( DEFINED CMAKE_TOOLCHAIN_FILE )
Expand All @@ -14,6 +14,11 @@ if ( DEFINED CMAKE_TOOLCHAIN_FILE )
# include( ${WRF_CONFIG} )
endif()

# Import default flags now, get rid of any imported release flag
# we will handle that ourselves with WRF_FCOPTIM/WRF_FCNOOPT
set( CMAKE_Fortran_FLAGS_RELEASE "" CACHE STRING "" FORCE )
set( CMAKE_C_FLAGS_RELEASE "" CACHE STRING "" FORCE )

# list( APPEND CMAKE_MODULE_PATH )
list( APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/ ${PROJECT_SOURCE_DIR}/cmake/modules )

Expand Down Expand Up @@ -213,6 +218,13 @@ set( DWORDSIZE 8 )
set( LWORDSIZE 4 )


# To limit the KPP generation to not consume copious amounts of RAM
if ( NOT DEFINED MAX_KPP_GEN_THREADS )
# 1 thread takes about 4.75 GB
set( MAX_KPP_GEN_THREADS 2 )
endif()


########################

################################################################################
Expand Down Expand Up @@ -254,6 +266,7 @@ endif()

if ( ${ENABLE_KPP} AND NOT ${ENABLE_CHEM} )
message( WARNING "ENABLE_KPP requires ENABLE_CHEM but is not set, ignoring" )
set( ENABLE_KPP OFF CACHE BOOL "Force ignore by configuration" FORCE )
endif()


Expand Down Expand Up @@ -315,6 +328,29 @@ if ( ${USE_IPO} )
endif()



################################################################################
##
## Checkout external repositories using manage_externals
##
################################################################################
message( STATUS "Checking out external repos via manage_externals" )
set( LOG_FILE ${CMAKE_CURRENT_BINARY_DIR}/checkout_externals.log )
execute_process(
COMMAND
${PROJECT_SOURCE_DIR}/tools/manage_externals/checkout_externals --externals ${PROJECT_SOURCE_DIR}/arch/Externals.cfg
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
RESULT_VARIABLE MANAGE_EXTERNALS_STATUS
OUTPUT_FILE ${LOG_FILE}
ERROR_FILE ${LOG_FILE}
)
if ( ${MANAGE_EXTERNALS_STATUS} AND NOT ${MANAGE_EXTERNALS_STATUS} EQUAL 0 )
message( FATAL_ERROR "Failed to checkout external repos via manage_externals" )
else()
message( STATUS "Finished checking out external repos via manage_externals" )
endif()


################################################################################
##
## Create our flags / defines properties and variables to carry our information
Expand Down Expand Up @@ -377,23 +413,20 @@ if ( ${USE_MPI} )
# Which may or may not get polluted by the environment
# It still technically finds MPI but the output is nonintuitive
# saying things like hdf5 or pthread
find_package( MPI REQUIRED COMPONENTS Fortran C )
list( APPEND PROJECT_COMPILE_DEFINITIONS_OPTIONS
USE_MPI=1
DM_PARALLEL
)

# Supply any language-specific flags for interrogation
if ( DEFINED WRF_MPI_Fortran_FLAGS AND NOT "${WRF_MPI_Fortran_FLAGS}" STREQUAL "" )
list( APPEND PROJECT_COMPILE_OPTIONS_OPTIONS
$<$<COMPILE_LANGUAGE:Fortran>:${WRF_MPI_Fortran_FLAGS}>
)
set( MPI_Fortran_COMPILER_FLAGS ${WRF_MPI_Fortran_FLAGS} )
endif()

if ( DEFINED WRF_MPI_C_FLAGS AND NOT "${WRF_MPI_C_FLAGS}" STREQUAL "" )
list( APPEND PROJECT_COMPILE_OPTIONS_OPTIONS
$<$<COMPILE_LANGUAGE:C>:${WRF_MPI_C_FLAGS}>
)
set( MPI_C_COMPILER_FLAGS ${WRF_MPI_C_FLAGS} )
endif()
find_package( MPI REQUIRED COMPONENTS Fortran C )
list( APPEND PROJECT_COMPILE_DEFINITIONS_OPTIONS
USE_MPI=1
DM_PARALLEL
)

# Check if MPI in all its glory has forced IPO down our throats due to hard-coding the wrapper flags
# https://www.open-mpi.org/faq/?category=mpi-apps#why-no-rpath LOL!
Expand Down Expand Up @@ -472,6 +505,19 @@ if ( ${ENABLE_CTSM} )
# find_package( CTSM REQUIRED )
endif()

if ( ${ENABLE_KPP} )
find_package( BISON REQUIRED )
find_package( FLEX REQUIRED )
if ( ${FLEX_FOUND} AND "${FLEX_LIBRARIES}" STREQUAL "FL_LIBRARY-NOTFOUND" )
message( FATAL_ERROR
"Flex executable found, but libraries were not. Please provide a searchable path for both "
"\n"
"Refer to https://cmake.org/cmake/help/latest/command/find_package.html for more info "
"on providing a suitable path"
)
endif()
endif()

# Will need our own finder
# find_package( GPFS REQUIRED )

Expand Down Expand Up @@ -678,10 +724,13 @@ list( APPEND PROJECT_COMPILE_DEFINITIONS_OPTIONS
# Only define if set, this is to use #ifdef/#ifndef preprocessors
# in code since cmake cannot handle basically any others :(
# https://gitlab.kitware.com/cmake/cmake/-/issues/17398
if ( ${USE_DOUBLE} )
list( APPEND PROJECT_COMPILE_DEFINITIONS_OPTIONS DOUBLE_PRECISION )
endif()
if ( ${ENABLE_CHEM} )
list( APPEND PROJECT_COMPILE_DEFINITIONS_OPTIONS WRF_CHEM=1 )
list( APPEND PROJECT_COMPILE_DEFINITIONS_OPTIONS WRF_CHEM )
if ( ${ENABLE_KPP} )
list( APPEND PROJECT_COMPILE_DEFINITIONS_OPTIONS WRF_KPP=1 )
list( APPEND PROJECT_COMPILE_DEFINITIONS_OPTIONS WRF_KPP )
endif()
endif()
if ( ${ENABLE_CHEM} )
Expand Down Expand Up @@ -914,14 +963,18 @@ add_subdirectory( share )
add_subdirectory( frame )
add_subdirectory( inc )

if ( ${WRF_CHEM} )
if ( ${ENABLE_CHEM} )
add_subdirectory( chem )
endif()

if ( ${ENABLE_HYDRO} )
add_subdirectory( hydro )
endif()

if ( ${WRF_CORE} STREQUAL "PLUS" )
add_subdirectory( wrftladj )
endif()

add_subdirectory( dyn_em )


Expand Down
18 changes: 16 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,20 @@ wrf : framework_only
echo "NoahMP submodule files populating WRF directories" ; \
echo "------------------------------------------------------------------------------" ; \
fi
@if [ \( ! -f phys/module_bl_mynnedmf.F \) -o \
\( ! -f phys/module_bl_mynnedmf_common.F \) -o \
\( ! -f phys/module_bl_mynnedmf_common.F \) ] ; then \
echo " " ; \
echo "------------------------------------------------------------------------------" ; \
echo "Error Error Error MYNN-EDMF submodule files not populating WRF directories" ; \
echo "------------------------------------------------------------------------------" ; \
echo " " ; \
exit 31 ; \
else \
echo "------------------------------------------------------------------------------" ; \
echo "MYNN-EDMF submodule files populating WRF directories" ; \
echo "------------------------------------------------------------------------------" ; \
fi
if [ $(WRF_CHEM) -eq 1 ] ; then $(MAKE) MODULE_DIRS="$(ALL_MODULES)" chemics ; fi
if [ $(WRF_EM_CORE) -eq 1 ] ; then $(MAKE) MODULE_DIRS="$(ALL_MODULES)" em_core ; fi
if [ $(WRF_HYDRO) -eq 1 ] ; then $(MAKE) MODULE_DIRS="$(ALL_MODULES)" wrf_hydro ; fi
Expand Down Expand Up @@ -595,7 +609,7 @@ em_real : wrf
ln -sf ../../run/ishmael-qi-qr.bin . ; \
ln -sf ../../run/BROADBAND_CLOUD_GODDARD.bin . ; \
ln -sf ../../run/STOCHPERT.TBL . ; \
if [ $(RWORDSIZE) -eq 8 ] ; then \
if [ -n "$(DOUBLE_PRECISION)" ] ; then \
ln -sf ../../run/ETAMPNEW_DATA_DBL ETAMPNEW_DATA ; \
ln -sf ../../run/ETAMPNEW_DATA.expanded_rain_DBL ETAMPNEW_DATA.expanded_rain ; \
ln -sf ../../run/RRTM_DATA_DBL RRTM_DATA ; \
Expand Down Expand Up @@ -677,7 +691,7 @@ em_real : wrf
ln -sf ../../run/ishmael-qi-qr.bin . ; \
ln -sf ../../run/BROADBAND_CLOUD_GODDARD.bin . ; \
ln -sf ../../run/STOCHPERT.TBL . ; \
if [ $(RWORDSIZE) -eq 8 ] ; then \
if [ -n "$(DOUBLE_PRECISION)" ] ; then \
ln -sf ../../run/ETAMPNEW_DATA_DBL ETAMPNEW_DATA ; \
ln -sf ../../run/ETAMPNEW_DATA.expanded_rain_DBL ETAMPNEW_DATA.expanded_rain ; \
ln -sf ../../run/RRTM_DATA_DBL RRTM_DATA ; \
Expand Down
2 changes: 1 addition & 1 deletion README
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
WRF Model Version 4.6.1
WRF Model Version 4.7.0

https://www2.mmm.ucar.edu/wrf/users/

Expand Down
Loading