Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/development' into AWAKEN_Refactor
Browse files Browse the repository at this point in the history
  • Loading branch information
Mahesh Natarajan committed Oct 15, 2024
2 parents d5041f2 + 8368bf0 commit 6ba7b7e
Show file tree
Hide file tree
Showing 249 changed files with 8,745 additions and 4,575 deletions.
2 changes: 1 addition & 1 deletion .codespell-ignore-words
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ inout
parms
pres
rime
wth
wth
1 change: 1 addition & 0 deletions .codespellrc
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
[codespell]
skip = .git,*.ipynb,*.bib,*.ps,*.patch,*~,CHANGES,*/Submodules,*/tmp_build_dir,Cell_D_*
ignore-words = .codespell-ignore-words
uri-ignore-words-list = *
2 changes: 1 addition & 1 deletion .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
run: |
cmake \
-B${{runner.workspace}}/ERF/build \
-DBUILD_SHARED_LIBS:BOOL=TRUE \
-DBUILD_SHARED_LIBS:BOOL=FALSE \
-DCMAKE_CXX_COMPILER_LAUNCHER=$(which ccache) \
-DCMAKE_BUILD_TYPE:STRING=Debug \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
Expand Down
15 changes: 14 additions & 1 deletion CHANGES
Original file line number Diff line number Diff line change
@@ -1,4 +1,17 @@
#24.09
# 24.10
-- Add WENO7 advection operators (#1858)

-- Multi-level inflow plane capability (#1851)

-- Fast integrator fill bug fix (#1853)

-- Refactor set/nudging with real BDYs (#1841)

-- First pass at GAD sources (#1839)

-- Anelastic with FFT option for Poisson eq (#1838)

# 24.09
-- AMReX submodule set to 24.09 release hash (74127d6)

-- Arbitrary number of scalars similar to WRF chem (#1782)
Expand Down
44 changes: 18 additions & 26 deletions CMake/BuildERFExe.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,8 @@ function(build_erf_lib erf_lib_name)
target_compile_definitions(${erf_lib_name} PUBLIC ERF_USE_MOISTURE)

if(ERF_ENABLE_MULTIBLOCK)
target_sources(${erf_lib_name} PRIVATE
${SRC_DIR}/MultiBlock/ERF_MultiBlockContainer.cpp)
target_compile_definitions(${erf_lib_name} PUBLIC ERF_USE_MULTIBLOCK)
# if(NOT ERF_MB_EXTERN)
target_sources(${erf_lib_name} PRIVATE
${SRC_DIR}/MultiBlock/ERF_MultiBlockContainer.cpp)
target_include_directories(${erf_lib_name} PRIVATE $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/Source/MultiBlock>)
# endif()
endif()
endif()

if(ERF_ENABLE_WARM_NO_PRECIP)
target_compile_definitions(${erf_lib_name} PUBLIC ERF_USE_WARM_NO_PRECIP)
Expand Down Expand Up @@ -91,10 +84,10 @@ function(build_erf_lib erf_lib_name)
${CMAKE_SOURCE_DIR}/Submodules/RRTMGP/cpp/extensions/fluxes_byband/mo_fluxes_byband_kernels.cpp
)

# The interface code needs to know about the RRTMGP includes
# The interface code needs to know about the RRTMGP includes
target_compile_definitions(${erf_lib_name} PUBLIC ERF_USE_RRTMGP)

target_include_directories(${erf_lib_name} SYSTEM PUBLIC
target_include_directories(${erf_lib_name} SYSTEM PUBLIC
${CMAKE_SOURCE_DIR}/Submodules/RRTMGP/cpp/extensions/fluxes_byband
${CMAKE_SOURCE_DIR}/Submodules/RRTMGP/cpp/extensions/cloud_optics
${CMAKE_SOURCE_DIR}/Submodules/RRTMGP/cpp/examples
Expand Down Expand Up @@ -122,6 +115,7 @@ function(build_erf_lib erf_lib_name)
${SRC_DIR}/BoundaryConditions/ERF_BoundaryConditions_xvel.cpp
${SRC_DIR}/BoundaryConditions/ERF_BoundaryConditions_yvel.cpp
${SRC_DIR}/BoundaryConditions/ERF_BoundaryConditions_zvel.cpp
${SRC_DIR}/BoundaryConditions/ERF_BoundaryConditions_basestate.cpp
${SRC_DIR}/BoundaryConditions/ERF_BoundaryConditions_bndryreg.cpp
${SRC_DIR}/BoundaryConditions/ERF_BoundaryConditions_realbdy.cpp
${SRC_DIR}/BoundaryConditions/ERF_FillPatch.cpp
Expand All @@ -136,15 +130,18 @@ function(build_erf_lib erf_lib_name)
${SRC_DIR}/Diffusion/ERF_ComputeStrain_N.cpp
${SRC_DIR}/Diffusion/ERF_ComputeStrain_T.cpp
${SRC_DIR}/Diffusion/ERF_ComputeTurbulentViscosity.cpp
${SRC_DIR}/Initialization/ERF_init_bcs.cpp
${SRC_DIR}/Initialization/ERF_init_custom.cpp
${SRC_DIR}/Initialization/ERF_init_from_hse.cpp
${SRC_DIR}/Initialization/ERF_init_from_input_sounding.cpp
${SRC_DIR}/Initialization/ERF_init_from_wrfinput.cpp
${SRC_DIR}/Initialization/ERF_init_from_metgrid.cpp
${SRC_DIR}/Initialization/ERF_init_geowind.cpp
${SRC_DIR}/Initialization/ERF_init_rayleigh.cpp
${SRC_DIR}/Initialization/ERF_init_sponge.cpp
${SRC_DIR}/Initialization/ERF_init_uniform.cpp
${SRC_DIR}/Initialization/ERF_init1d.cpp
${SRC_DIR}/Initialization/ERF_init_TurbPert.cpp
${SRC_DIR}/Initialization/ERF_input_sponge.cpp
${SRC_DIR}/IO/ERF_Checkpoint.cpp
${SRC_DIR}/IO/ERF_ReadBndryPlanes.cpp
${SRC_DIR}/IO/ERF_WriteBndryPlanes.cpp
Expand All @@ -157,7 +154,7 @@ function(build_erf_lib erf_lib_name)
${SRC_DIR}/PBL/ERF_ComputeDiffusivityMYNN25.cpp
${SRC_DIR}/PBL/ERF_ComputeDiffusivityYSU.cpp
${SRC_DIR}/SourceTerms/ERF_ApplySpongeZoneBCs.cpp
${SRC_DIR}/SourceTerms/ERF_ApplySpongeZoneBCs_ReadFromFile.cpp
${SRC_DIR}/SourceTerms/ERF_ApplySpongeZoneBCs_ReadFromFile.cpp
${SRC_DIR}/SourceTerms/ERF_make_buoyancy.cpp
${SRC_DIR}/SourceTerms/ERF_add_thin_body_sources.cpp
${SRC_DIR}/SourceTerms/ERF_make_mom_sources.cpp
Expand Down Expand Up @@ -201,13 +198,6 @@ function(build_erf_lib erf_lib_name)
${SRC_DIR}/LandSurfaceModel/MM5/ERF_MM5.cpp
)

if(NOT "${erf_exe_name}" STREQUAL "erf_unit_tests")
target_sources(${erf_lib_name}
PRIVATE
${SRC_DIR}/main.cpp
)
endif()

include(AMReXBuildInfo)
generate_buildinfo(${erf_lib_name} ${CMAKE_SOURCE_DIR})
if (${ERF_USE_INTERNAL_AMREX})
Expand Down Expand Up @@ -246,7 +236,7 @@ endif()
target_include_directories(${erf_lib_name} PUBLIC $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/Source/Microphysics>)
target_include_directories(${erf_lib_name} PUBLIC $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/Source/Microphysics/Null>)
target_include_directories(${erf_lib_name} PUBLIC $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/Source/Microphysics/SAM>)
target_include_directories(${erf_lib_name} PUBLIC $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/Source/Microphysics/Kessler>)
target_include_directories(${erf_lib_name} PUBLIC $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/Source/Microphysics/Kessler>)
target_include_directories(${erf_lib_name} PUBLIC $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/Source/WindFarmParametrization>)
target_include_directories(${erf_lib_name} PUBLIC $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/Source/WindFarmParametrization/Null>)
target_include_directories(${erf_lib_name} PUBLIC $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/Source/WindFarmParametrization/Fitch>)
Expand All @@ -257,7 +247,7 @@ endif()
target_include_directories(${erf_lib_name} PUBLIC $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/Source/LandSurfaceModel/Null>)
target_include_directories(${erf_lib_name} PUBLIC $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/Source/LandSurfaceModel/SLM>)
target_include_directories(${erf_lib_name} PUBLIC $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/Source/LandSurfaceModel/MM5>)

if(ERF_ENABLE_RRTMGP)
target_link_libraries(${erf_lib_name} PUBLIC yakl)
target_link_libraries(${erf_lib_name} PUBLIC rrtmgp)
Expand Down Expand Up @@ -292,15 +282,17 @@ function(build_erf_exe erf_exe_name)

set(SRC_DIR ${CMAKE_SOURCE_DIR}/Source)

if(NOT "${erf_exe_name}" STREQUAL "erf_unit_tests")
target_sources(${erf_exe_name}
PRIVATE
${SRC_DIR}/main.cpp
)
endif()

target_link_libraries(${erf_exe_name} PUBLIC ${erf_lib_name})
include(${CMAKE_SOURCE_DIR}/CMake/SetERFCompileFlags.cmake)
set_erf_compile_flags(${erf_exe_name})

target_sources(${erf_exe_name}
PRIVATE
${SRC_DIR}/Initialization/ERF_init_bcs.cpp

)
if(ERF_ENABLE_CUDA)
set(pctargets "${erf_exe_name}")
foreach(tgt IN LISTS pctargets)
Expand Down
13 changes: 9 additions & 4 deletions Docs/sphinx_doc/Discretizations.rst
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ Sauer, J. A., & Muñoz-Esparza, D. (2020). The FastEddy® resident-GPU accelerat

WENO Methods
------------
Additionally, weighted essentially non-oscillatory (WENO) schemes are available for :math:`3rd` and :math:`5th` order interpolation. The general formulation is as follows:
Additionally, weighted essentially non-oscillatory (WENO) schemes are available for :math:`3rd`, :math:`5th`, and :math:`7th` order interpolation. The general formulation is as follows:

.. math::
Expand Down Expand Up @@ -237,8 +237,11 @@ With the WENO5 scheme, one has :math:`N=3, \; \omega_{1} = 1/10, \; \omega_{2} =
q_{m + \frac{1}{2}}^{(3)} = \frac{1}{3} q_{m} + \frac{5}{6} q_{m+1} - \frac{1}{6} q_{m+2}
\end{array}
By default, the WENO3 scheme will be employed for moisture variables if the code is compiled with moisture support.
However, users may utilize the WENO scheme for dry scalar variables as well. The scheme for each type is specified by
Details for the WENO7 scheme are provided in `Shu, C.W. (1997)`_.
By default, the WENO3 scheme will be employed for moisture variables if the code is compiled with moisture support. However, users may
utilize the WENO scheme for dry scalar variables as well. The scheme for each type is specified by

.. _`Shu, C.W. (1997)`: https://www3.nd.edu/~zxu2/acms60790S13/Shu-WENO-notes.pdf

::

Expand All @@ -247,7 +250,9 @@ However, users may utilize the WENO scheme for dry scalar variables as well. T
erf.moistscal_horiz_adv_type =
erf.moistscal_vert_adv_type =

Ref: Muñoz-Esparza, D., Sauer, J. A., Jensen, A. A., Xue, L., & Grabowski, W. W. (2022). The FastEddy® resident-GPU accelerated large-eddy simulation framework: Moist dynamics extension, validation and sensitivities of modeling non-precipitating shallow cumulus clouds. Journal of Advances in Modeling Earth Systems, 14, e2021MS002904.
Ref: Muñoz-Esparza, D., Sauer, J. A., Jensen, A. A., Xue, L., & Grabowski, W. W. (2022). The FastEddy® resident-GPU accelerated large-eddy
simulation framework: Moist dynamics extension, validation and sensitivities of modeling non-precipitating shallow cumulus clouds.
Journal of Advances in Modeling Earth Systems, 14, e2021MS002904.
`doi:10.1029/2021MS002904 <https://onlinelibrary.wiley.com/doi/10.1029/2021MS002904>`_

Momentum, Thermal, and Scalar Diffusion Contribution to DNS
Expand Down
2 changes: 1 addition & 1 deletion Docs/sphinx_doc/Inputs.rst
Original file line number Diff line number Diff line change
Expand Up @@ -771,7 +771,7 @@ and "Centered_6th".
The allowed advection types for the dry and moist scalars are
"Centered_2nd", "Upwind_3rd", "Blended_3rd4th", "Centered_4th", "Upwind_5th", "Blended_5th6th",
"Centered_6th" and in addition,
"WENO3", "WENOZ3", "WENOMZQ3", "WENO5", and "WENOZ5."
"WENO3", "WENOZ3", "WENOMZQ3", "WENO5", "WENOZ5", "WENO7", and "WENOZ7."

Note: if using WENO schemes, the horizontal and vertical advection types must be set to
the same string.
Expand Down
Loading

0 comments on commit 6ba7b7e

Please sign in to comment.