Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
a863389
Update CDEPS component; update documentation FAQ about setting resour…
binli2337 Feb 22, 2023
23a4116
Change MOM6 and FV3atm restart filename format (#1599)
DeniseWorthen Feb 27, 2023
94cc62a
NCAR-main PR#956 (#1604)
Mar 3, 2023
b388eb9
Faster compile and HAFS app to be compiled with 64bit (#1578)
sadeghitabas Mar 7, 2023
495c5fd
Combined PR: hpc-stack locations, Disable Fused Multiply Add, and Ena…
SamuelTrahanNOAA Mar 9, 2023
daa7a5d
update WW3 with its develop branch (#1625)
JessicaMeixner-NOAA Mar 13, 2023
e3ad808
Fix wave init (#1547)
pjpegion Mar 14, 2023
018e396
Combo for ccpp/physics #41 and #45 and ccpp/framework submodule point…
grantfirl Mar 15, 2023
10ceadd
Bring in changes from production/AQM.v7 (#1656)
BrianCurtis-NOAA Mar 21, 2023
36d6e16
Lightning threat indexes (#1642)
SamuelTrahanNOAA Mar 24, 2023
889254a
Smoke, dust, and MYNN updates (#1658)
SamuelTrahanNOAA Mar 27, 2023
85dc0fd
Write restart files using the write grid component. Combined with WW3…
DusanJovic-NOAA Mar 28, 2023
7267be0
Update CICE with latest Consortium/main (#1672)
DeniseWorthen Mar 29, 2023
20e21f6
Merge latest RUC LSM into community develop (#1646)
tanyasmirnova Mar 31, 2023
587ff4f
update CMEPS to allow bilinear ATM<->WAV mapping for global coupled a…
DeniseWorthen Apr 3, 2023
9be8465
Remove requirement for esmf and mapl debug versions, remove DEBUG_LIN…
climbfuji Apr 5, 2023
b6146cd
Bugfix for convection (prog closure) and gravity wave drag (for stoch…
lisa-bengtsson Apr 6, 2023
be95f64
add cmeps capable atm-wav test (#1407)
DeniseWorthen Apr 11, 2023
f1feb8d
fix the fdiag for GEFS EP4 (#1704)
junwang-noaa Apr 12, 2023
2247060
Update in-line post for RRFS and GFS (#1690)
WenMeng-NOAA Apr 14, 2023
d5ab891
Development of a unified convection scheme and update WW3 with latest…
lisa-bengtsson Apr 17, 2023
cbf1567
update GF for RRFS 2023 HWT SFE (#1713)
haiqinli Apr 20, 2023
46ef6d5
Use nccmp to compare netcdf files in regression test on NOAA R&D mach…
DusanJovic-NOAA Apr 24, 2023
3cc95d6
Add CLM Lake Model and update Flake (#1509)
SamuelTrahanNOAA Apr 26, 2023
6c7d5d4
Dycore semi-implicit solver update (#1720)
XiaqiongZhou-NOAA Apr 28, 2023
3343326
update FV3 to better handle data source for regional model LBC proces…
Jili-Dong May 2, 2023
ee35891
Cloud Dependencies for Regression Testing (#1667)
zach1221 May 3, 2023
eda0b07
PBL, Convection and Microphysics Update for HR2 (#1731)
Qingfu-Liu May 9, 2023
1ac938c
Create new baseline to fix the issue with develop-20230504 and recove…
jkbk2004 May 12, 2023
e403bb4
Add Unstructured WW3 mesh capability to UFS (#1727)
DeniseWorthen May 15, 2023
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
2 changes: 1 addition & 1 deletion AQM
2 changes: 1 addition & 1 deletion CDEPS-interface/CDEPS
Submodule CDEPS updated 53 files
+71 −0 .github/actions/buildesmf/action.yml
+35 −0 .github/actions/buildnetcdff/action.yml
+78 −0 .github/actions/buildpio/action.yml
+30 −0 .github/actions/buildpnetcdf/action.yml
+1 −1 .github/workflows/bumpversion.yml
+72 −88 .github/workflows/extbuild.yml
+19 −13 CMakeLists.txt
+1 −1 README.md
+92 −46 cime_config/buildlib
+0 −3 datm/CMakeLists.txt
+70 −26 datm/atm_comp_nuopc.F90
+13 −9 datm/datm_datamode_cfsr_mod.F90
+19 −9 datm/datm_datamode_clmncep_mod.F90
+2 −2 datm/datm_datamode_cplhist_mod.F90
+15 −10 datm/datm_datamode_era5_mod.F90
+16 −10 datm/datm_datamode_gefs_mod.F90
+11 −8 datm/datm_datamode_gfs_mod.F90
+0 −3 dice/CMakeLists.txt
+38 −14 dice/ice_comp_nuopc.F90
+0 −3 dlnd/CMakeLists.txt
+27 −13 dlnd/lnd_comp_nuopc.F90
+51 −41 doc/source/conf.py
+48 −27 doc/source/datm.rst
+154 −54 doc/source/design_details.rst
+57 −0 doc/source/dice.rst
+58 −0 doc/source/dlnd.rst
+116 −0 doc/source/docn.rst
+115 −0 doc/source/drof.rst
+61 −0 doc/source/dwav.rst
+273 −0 doc/source/extending.rst
+7 −1 doc/source/index.rst
+25 −17 doc/source/introduction.rst
+259 −127 doc/source/streams.rst
+0 −3 docn/CMakeLists.txt
+35 −12 docn/ocn_comp_nuopc.F90
+0 −3 drof/CMakeLists.txt
+27 −13 drof/rof_comp_nuopc.F90
+1 −2 dshr/CMakeLists.txt
+11 −9 dshr/dshr_dfield_mod.F90
+60 −42 dshr/dshr_mod.F90
+0 −3 dwav/CMakeLists.txt
+26 −12 dwav/wav_comp_nuopc.F90
+0 −1 share/CMakeLists.txt
+5 −11 share/shr_abort_mod.F90
+4 −3 share/shr_assert_mod.F90.in
+0 −1 share/shr_infnan_mod.F90.in
+40 −24 share/shr_log_mod.F90
+0 −2,217 share/shr_mpi_mod.F90
+15 −12 share/shr_orb_mod.F90
+1 −1 streams/CMakeLists.txt
+2 −2 streams/dshr_methods_mod.F90
+41 −29 streams/dshr_strdata_mod.F90
+10 −3 streams/dshr_stream_mod.F90
1 change: 0 additions & 1 deletion CDEPS-interface/cdeps_files.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ list(APPEND cdeps_share_files
CDEPS/share/shr_const_mod.F90
CDEPS/share/shr_kind_mod.F90
CDEPS/share/shr_log_mod.F90
CDEPS/share/shr_mpi_mod.F90
CDEPS/share/shr_orb_mod.F90
CDEPS/share/shr_precip_mod.F90
CDEPS/share/shr_strconvert_mod.F90
Expand Down
2 changes: 1 addition & 1 deletion CICE-interface/CICE
Submodule CICE updated 33 files
+1 −1 cicecore/cicedyn/analysis/ice_history.F90
+6 −5 cicecore/cicedyn/dynamics/ice_dyn_shared.F90
+3 −1 cicecore/cicedyn/general/ice_flux.F90
+1 −1 cicecore/cicedyn/general/ice_init.F90
+4 −2 cicecore/cicedyn/general/ice_step_mod.F90
+287 −28 cicecore/cicedyn/infrastructure/comm/mpi/ice_boundary.F90
+338 −104 cicecore/cicedyn/infrastructure/comm/serial/ice_boundary.F90
+5 −1 cicecore/cicedyn/infrastructure/ice_grid.F90
+9 −8 cicecore/cicedyn/infrastructure/io/io_binary/ice_history_write.F90
+28 −7 cicecore/cicedyn/infrastructure/io/io_netcdf/ice_history_write.F90
+25 −6 cicecore/cicedyn/infrastructure/io/io_pio2/ice_history_write.F90
+6 −0 cicecore/cicedyn/infrastructure/io/io_pio2/ice_restart.F90
+2 −2 cicecore/drivers/direct/nemo_concepts/CICE_InitMod.F90
+2 −2 cicecore/drivers/standalone/cice/CICE_InitMod.F90
+472 −0 cicecore/drivers/unittest/halochk/CICE_InitMod.F90
+811 −0 cicecore/drivers/unittest/halochk/halochk.F90
+1 −2 cicecore/shared/ice_constants.F90
+4 −2 configuration/scripts/Makefile
+4 −2 configuration/scripts/cice_decomp.csh
+2 −0 configuration/scripts/options/set_env.halochk
+3 −0 configuration/scripts/options/set_nml.cyclic
+3 −0 configuration/scripts/options/set_nml.open
+3 −0 configuration/scripts/options/set_nml.tripole
+3 −0 configuration/scripts/options/set_nml.tripolet
+28 −13 configuration/scripts/tests/unittest_suite.ts
+4 −3 doc/source/cice_index.rst
+3 −0 doc/source/conf.py
+10 −0 doc/source/master_list.bib
+17 −9 doc/source/science_guide/sg_dynamics.rst
+1 −1 doc/source/user_guide/ug_case_settings.rst
+53 −10 doc/source/user_guide/ug_implementation.rst
+1 −0 doc/source/user_guide/ug_testing.rst
+1 −1 icepack
43 changes: 35 additions & 8 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/CMakeModules/Modules)
###############################################################################

# Valid applications and choices
list(APPEND VALID_APPS ATM ATMAERO ATMAQ ATMW ATML LND S2S S2SA S2SW S2SWA S2SWAL HAFS HAFSW HAFS-ALL NG-GODAS)
list(APPEND VALID_APPS ATM ATMAERO ATMAQ ATMW ATMWM ATML LND S2S S2SA S2SW S2SWA S2SWAL HAFS HAFSW HAFS-ALL NG-GODAS)
set(APP NONE CACHE BOOL "Application Name")
if(NOT (APP IN_LIST VALID_APPS))
message(FATAL_ERROR "${APP} is not a valid application.\nValid Applications are: ${VALID_APPS}")
Expand Down Expand Up @@ -62,14 +62,15 @@ set(AVX2 ON CACHE BOOL "Enable AVX2 instruction set")
set(AVX OFF CACHE BOOL "Enable AVX-I instruction set")
set(SIMDMULTIARCH OFF CACHE BOOL "Enable multi-target SIMD instruction sets")
set(DEBUG OFF CACHE BOOL "Enable DEBUG mode")
set(DEBUG_LINKMPI ON CACHE BOOL "Enable linkmpi option when DEBUG mode is on")
set(DISABLE_FMA OFF CACHE BOOL "Disable Fused Multiply-Add instructions (workaround needed for AMD EPYC)" FORCE)
set(INLINE_POST ON CACHE BOOL "Enable inline post")
set(MULTI_GASES OFF CACHE BOOL "Enable MULTI_GASES")
set(MOVING_NEST OFF CACHE BOOL "Enable moving nest code")
set(OPENMP ON CACHE BOOL "Enable OpenMP threading")
set(PARALLEL_NETCDF OFF CACHE BOOL "Enable parallel NetCDF")
set(JEDI_DRIVER OFF CACHE BOOL "Enable JEDI as top level driver")
set(CMEPS_AOFLUX OFF CACHE BOOL "Enable atmosphere-ocean flux calculation in mediator")
set(CMEPS_AOFLUX OFF CACHE BOOL "Enable atmosphere-ocean flux calculation in mediator")
set(PDLIB OFF CACHE BOOL "Enable Domain Decomposition in WW3 via PDLIB")

set(CMAKE_Platform $ENV{CMAKE_Platform})
if(CMAKE_Platform)
Expand All @@ -82,13 +83,34 @@ if(CMAKE_Platform)
endif()
endif()

option(BUILD_WITH_IFI "Build NCEPpost with In-Flight Icing (IFI) library if present" OFF)
option(REQUIRE_IFI "Abort if libIFI is not found ; enables BUILD_WITH_IFI=ON" OFF)
option(INTERNAL_IFI "Compile with IFI inside the executable, instead of a library" OFF)

if(INTERNAL_IFI)
message("Building with libIFI inside executable. Do not distribute executable outside of WCOSS2.")
set(BUILD_WITH_IFI OFF)
set(REQUIRE_IFI OFF)
endif()

if(REQUIRE_IFI)
set(BUILD_WITH_IFI ON)
endif()

if(BUILD_WITH_IFI)
if(REQUIRE_IFI)
find_package(IFI CONFIG REQUIRED)
else()
find_package(IFI CONFIG)
endif()
endif()

message("")
message("32BIT ............ ${32BIT}")
message("CCPP_32BIT ....... ${CCPP_32BIT}")
message("AVX2 ............. ${AVX2}")
message("SIMDMULTIARCH .... ${SIMDMULTIARCH}")
message("DEBUG ............ ${DEBUG}")
message("DEBUG_LINKMPI .... ${DEBUG_LINKMPI}")
message("INLINE_POST ...... ${INLINE_POST}")
message("MULTI_GASES ...... ${MULTI_GASES}")
message("MOVING_NEST ...... ${MOVING_NEST}")
Expand Down Expand Up @@ -127,7 +149,7 @@ if(FMS)
elseif (APP MATCHES "^(S2S|S2SA|S2SW|S2SWA|S2SWAL|NG-GODAS)$")
add_library(fms ALIAS FMS::fms_r8)
endif()
if(APP MATCHES "^(ATM|ATMAERO|ATMAQ|ATMW|ATML|LND|HAFS|HAFS-ALL)$")
if(APP MATCHES "^(ATM|ATMAERO|ATMAQ|ATMWM|ATMW|ATML|LND|HAFS|HAFS-ALL)$")
if(32BIT)
add_library(fms ALIAS FMS::fms_r4)
else()
Expand All @@ -137,7 +159,7 @@ if(FMS)
endif()

if(CMEPS)
find_package(PIO 2.5.3 REQUIRED COMPONENTS C Fortran STATIC)
find_package(PIO 2.5.3 REQUIRED COMPONENTS C Fortran)
endif()

find_package(bacio 2.4.0 REQUIRED)
Expand Down Expand Up @@ -180,12 +202,16 @@ endif()
### Wave components [WW3]
###############################################################################
if(WW3)
if(APP MATCHES "^(ATMW)$")
if(APP MATCHES "^(ATMWM)$")
set(SWITCH "multi_esmf" CACHE STRING "ESMF cap")
set(UFS_CAP "MULTI_ESMF" CACHE STRING "Build with MULTI_ESMF cap")
list(APPEND _ufs_defs_private FRONT_WW3=WMESMFMD)
else()
set(SWITCH "meshcap" CACHE STRING "NUOPC mesh cap")
if(PDLIB)
set(SWITCH "meshcap_pdlib" CACHE STRING "NUOPC mesh cap")
else()
set(SWITCH "meshcap" CACHE STRING "NUOPC mesh cap")
endif()
set(UFS_CAP "NUOPC_MESH" CACHE STRING "Build with NUOPC_MESH cap")
list(APPEND _ufs_defs_private FRONT_WW3=wav_comp_nuopc)
endif()
Expand Down Expand Up @@ -315,6 +341,7 @@ target_link_libraries(ufs PUBLIC "${_ufs_libs_public}")
add_executable(ufs_model driver/UFS.F90)
add_dependencies(ufs_model ufs)
target_link_libraries(ufs_model ufs esmf w3emc::w3emc_d)
set_target_properties(ufs_model PROPERTIES LINKER_LANGUAGE Fortran)

###############################################################################
### Install
Expand Down
2 changes: 1 addition & 1 deletion FV3
Submodule FV3 updated from 8b8460 to 160b42
2 changes: 1 addition & 1 deletion WW3
Submodule WW3 updated 192 files
13 changes: 6 additions & 7 deletions cmake/Intel.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,6 @@ endif()
if(DEBUG)
add_definitions(-DDEBUG)
set(CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG} -O0 -check -check noarg_temp_created -check nopointer -warn -warn noerrors -fp-stack-check -fstack-protector-all -fpe0 -debug -ftrapuv -init=snan,arrays")
if(DEBUG_LINKMPI)
if(OPENMP)
set(CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG} -link_mpi=dbg_mt")
else()
set(CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG} -link_mpi=dbg")
endif()
endif()
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0 -ftrapuv")
else()
if(FASTER)
Expand Down Expand Up @@ -43,3 +36,9 @@ if(APPLE)
# Passing the -c flag includes them and fixes an error with undefined symbols
set(CMAKE_Fortran_ARCHIVE_FINISH "<CMAKE_RANLIB> -c <TARGET>")
endif()

# This must be last, to override all other optimization settings.
if(DISABLE_FMA)
set(CMAKE_Fortran_FLAGS_RELEASE "${CMAKE_Fortran_FLAGS_RELEASE} -no-fma")
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_Fortran_FLAGS_RELEASE} -no-fma")
endif()
5 changes: 4 additions & 1 deletion cmake/configure_acorn.cmake
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
set(PARALLEL_NETCDF ON CACHE BOOL "Enable parallel NetCDF" FORCE)
set(DEBUG_LINKMPI OFF CACHE BOOL "Enable linkmpi option when DEBUG mode is on" FORCE)
set(AVX2 OFF CACHE BOOL "Enable AVX2 instruction set" FORCE)

if(FASTER)
set(DISABLE_FMA ON CACHE BOOL "Disable Fused Multiply-Add instructions (workaround needed for AMD EPYC)" FORCE)
endif()
6 changes: 5 additions & 1 deletion cmake/configure_apps.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,17 @@
###############################################################################
### Configure Application Components
###############################################################################
if(APP MATCHES "^(ATM|ATMW|ATMAQ|ATML)$")
if(APP MATCHES "^(ATM|ATMW|ATMWM|ATMAQ|ATML)$")
set(FMS ON CACHE BOOL "Enable FMS" FORCE)
set(FV3 ON CACHE BOOL "Enable FV3" FORCE)
set(STOCH_PHYS ON CACHE BOOL "Enable Stochastic Physics" FORCE)
if(APP MATCHES "ATMW")
set(WW3 ON CACHE BOOL "Enable WAVEWATCH III" FORCE)
message("Configuring UFS app in Atmosphere with Waves mode")
set(CMEPS ON CACHE BOOL "Enable CMEPS" FORCE)
elseif(APP MATCHES "ATMWM")
set(WW3 ON CACHE BOOL "Enable WAVEWATCH III" FORCE)
message("Configuring UFS app in Atmosphere with Waves mode")
elseif(APP MATCHES "ATMAQ")
set(AQM ON CACHE BOOL "Enable AQM" FORCE)
message("Configuring UFS app in Atmosphere with Air Quality mode")
Expand Down
1 change: 0 additions & 1 deletion cmake/configure_cheyenne.intel.cmake
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
set(PARALLEL_NETCDF ON CACHE BOOL "Enable parallel NetCDF" FORCE)
set(DEBUG_LINKMPI OFF CACHE BOOL "Enable linkmpi option when DEBUG mode is on" FORCE)
1 change: 0 additions & 1 deletion cmake/configure_gaea.intel.cmake
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
set(PARALLEL_NETCDF ON CACHE BOOL "Enable parallel NetCDF" FORCE)
set(DEBUG_LINKMPI OFF CACHE BOOL "Enable linkmpi option when DEBUG mode is on" FORCE)
set(MOM6_Extra_FORTRAN_FLAGS "-xsse2")
set(HYCOM_Extra_FORTRAN_FLAGS "-xSSE4.2")
set(HYCOM_Extra_C_FLAGS "-xSSE4.2")
1 change: 0 additions & 1 deletion cmake/configure_macosx.intel.cmake
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
set(PARALLEL_NETCDF ON CACHE BOOL "Enable parallel NetCDF" FORCE)
set(DEBUG_LINKMPI OFF CACHE BOOL "Enable linkmpi option when DEBUG mode is on" FORCE)
5 changes: 4 additions & 1 deletion cmake/configure_wcoss2.cmake
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
set(PARALLEL_NETCDF ON CACHE BOOL "Enable parallel NetCDF" FORCE)
set(DEBUG_LINKMPI OFF CACHE BOOL "Enable linkmpi option when DEBUG mode is on" FORCE)
set(AVX2 OFF CACHE BOOL "Enable AVX2 instruction set" FORCE)

if(FASTER)
set(DISABLE_FMA ON CACHE BOOL "Disable Fused Multiply-Add instructions (workaround needed for AMD EPYC)" FORCE)
endif()
1 change: 0 additions & 1 deletion doc/UsersGuide/source/ConfigParameters.rst
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,6 @@ Other Build Options
set(AVX2 ON CACHE BOOL "Enable AVX2 instruction set")
set(AVX OFF CACHE BOOL "Enable AVX-I instruction set")
set(SIMDMULTIARCH OFF CACHE BOOL "Enable multi-target SIMD instruction sets")
set(DEBUG_LINKMPI ON CACHE BOOL "Enable linkmpi option when DEBUG mode is on")
set(INLINE_POST OFF CACHE BOOL "Enable inline post")
set(OPENMP ON CACHE BOOL "Enable OpenMP threading")
set(PARALLEL_NETCDF OFF CACHE BOOL "Enable parallel NetCDF")
Expand Down
Loading