Skip to content

Commit 206b2d3

Browse files
Merge branch 'ufs-community:develop' into noaa-cloud-rocky8
2 parents c1c17c0 + 25ee7f6 commit 206b2d3

File tree

82 files changed

+4102
-2941
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+4102
-2941
lines changed

.github/pull_request_template.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ Please delete what is not needed.
4242
* MOM6 -
4343
* NOAHMP -
4444
* WW3 -
45+
* fire_behavior
4546
* stochastic_physics -
4647
```
4748

@@ -89,6 +90,7 @@ Example:
8990
* MOM6:
9091
* NOAHMP:
9192
* WW3:
93+
* fire_behavior:
9294
* stochastic_physics:
9395
* None
9496

.gitmodules

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,3 +46,7 @@
4646
path = NOAHMP-interface/noahmp
4747
url = https://github.com/NOAA-EMC/noahmp
4848
branch = develop
49+
[submodule "fire_behavior"]
50+
path = fire_behavior
51+
url = https://github.com/NCAR/fire_behavior
52+
branch = develop

CMEPS-interface/CMEPS

CMakeLists.txt

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/CMakeModules/Modules)
1616
###############################################################################
1717

1818
# Valid applications and choices
19-
list(APPEND VALID_APPS ATM ATMAERO ATMAQ ATMW ATMWM ATML LND S2S S2SA S2SW S2SWA S2SWAL ATM_DS2S ATM_DS2S-PCICE HAFS HAFSW HAFS-MOM6 HAFS-MOM6W HAFS-ALL NG-GODAS)
19+
list(APPEND VALID_APPS ATM ATMAERO ATMAQ ATMW ATMWM ATML ATMF LND S2S S2SA S2SW S2SWA S2SWAL ATM_DS2S ATM_DS2S-PCICE HAFS HAFSW HAFS-MOM6 HAFS-MOM6W HAFS-ALL NG-GODAS)
2020
set(APP NONE CACHE BOOL "Application Name")
2121
if(NOT (APP IN_LIST VALID_APPS))
2222
message(FATAL_ERROR "${APP} is not a valid application.\nValid Applications are: ${VALID_APPS}")
@@ -34,6 +34,7 @@ set(STOCH_PHYS OFF CACHE BOOL "Enable Stochastic Physics")
3434
set(CMEPS OFF CACHE BOOL "Enable CMEPS")
3535
set(CDEPS OFF CACHE BOOL "Enable CDEPS")
3636
set(NOAHMP OFF CACHE BOOL "Enable NOAHMP")
37+
set(FIRE_BEHAVIOR OFF CACHE BOOL "Enable Fire Behavior")
3738

3839
# Configure selected application specific components
3940
message("")
@@ -52,6 +53,7 @@ message("STOCH_PHYS ....... ${STOCH_PHYS}")
5253
message("CDEPS ............ ${CDEPS}")
5354
message("CMEPS ............ ${CMEPS}")
5455
message("NOAHMP ........... ${NOAHMP}")
56+
message("FIRE_BEHAVIOR .... ${FIRE_BEHAVIOR}")
5557

5658
###############################################################################
5759
### Build Options
@@ -155,7 +157,7 @@ if(FMS)
155157
elseif (APP MATCHES "^(S2S|S2SA|S2SW|S2SWA|S2SWAL|ATM_DS2S|ATM_DS2S-PCICE|NG-GODAS|HAFS-MOM6|HAFS-MOM6W)$")
156158
add_library(fms ALIAS FMS::fms_r8)
157159
endif()
158-
if(APP MATCHES "^(ATM|ATMAERO|ATMAQ|ATMWM|ATMW|ATML|HAFS|HAFS-ALL)$")
160+
if(APP MATCHES "^(ATM|ATMAERO|ATMAQ|ATMWM|ATMW|ATML|ATMF|HAFS|HAFS-ALL)$")
159161
if(32BIT)
160162
add_library(fms ALIAS FMS::fms_r4)
161163
else()
@@ -260,6 +262,14 @@ if(NOAHMP)
260262
add_subdirectory(NOAHMP-interface)
261263
endif()
262264

265+
###############################################################################
266+
### Fire Components [FIRE_BEHAVIOR]
267+
###############################################################################
268+
if(FIRE_BEHAVIOR)
269+
set(NUOPC "ON" CACHE STRING "Build fire_behavior with NUOPC cap" FORCE)
270+
add_subdirectory(fire_behavior)
271+
endif()
272+
263273
###############################################################################
264274
### UFS Library
265275
###############################################################################
@@ -339,6 +349,12 @@ if(NOAHMP)
339349
list(APPEND _ufs_libs_public noahmp)
340350
endif()
341351

352+
if(FIRE_BEHAVIOR)
353+
add_dependencies(ufs fire_behavior_nuopc)
354+
list(APPEND _ufs_defs_private FRONT_FIRE_BEHAVIOR=fire_behavior_nuopc)
355+
list(APPEND _ufs_libs_public fire_behavior_nuopc)
356+
endif()
357+
342358
target_compile_definitions(ufs PRIVATE "${_ufs_defs_private}")
343359
target_link_libraries(ufs PUBLIC "${_ufs_libs_public}")
344360

FV3

Submodule FV3 updated from 40e014f to a936459

cmake/configure_apps.cmake

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
###############################################################################
1414
### Configure Application Components
1515
###############################################################################
16-
if(APP MATCHES "^(ATM|ATMW|ATMWM|ATMAQ|ATML)$")
16+
if(APP MATCHES "^(ATM|ATMW|ATMWM|ATMAQ|ATML|ATMF)$")
1717
set(FMS ON CACHE BOOL "Enable FMS" FORCE)
1818
set(FV3 ON CACHE BOOL "Enable FV3" FORCE)
1919
set(STOCH_PHYS ON CACHE BOOL "Enable Stochastic Physics" FORCE)
@@ -31,6 +31,8 @@ if(APP MATCHES "^(ATM|ATMW|ATMWM|ATMAQ|ATML)$")
3131
set(CMEPS ON CACHE BOOL "Enable CMEPS" FORCE)
3232
set(NOAHMP ON CACHE BOOL "Enable NOAHMP" FORCE)
3333
message("Configuring UFS app in Atmosphere with Air Quality mode")
34+
elseif(APP MATCHES "ATMF")
35+
set(FIRE_BEHAVIOR ON CACHE BOOL "Enable Fire Behavior" FORCE)
3436
else()
3537
message("Configuring UFS app in Atmosphere Only mode")
3638
endif()

driver/UFSDriver.F90

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ MODULE UFSDriver
2323
! UFS Driver component
2424
! /|\
2525
! / | \
26-
! ATM/OCN/ICE/WAV/LND/IPM/HYD .. components
26+
! ATM/OCN/ICE/WAV/LND/IPM/HYD/FIR .. components
2727
! | | |
2828
! | | (CICE, etc.)
2929
! | |
@@ -81,6 +81,10 @@ MODULE UFSDriver
8181
#endif
8282
#ifdef FRONT_NOAHMP
8383
use FRONT_NOAHMP, only: NOAHMP_SS => SetServices
84+
#endif
85+
! - Handle build time FIR options:
86+
#ifdef FRONT_FIRE_BEHAVIOR
87+
use FRONT_FIRE_BEHAVIOR, only: FIRE_BEHAVIOR_SS => SetServices
8488
#endif
8589
#ifdef FRONT_LIS
8690
use FRONT_LIS, only: LIS_SS => SetServices
@@ -471,6 +475,14 @@ subroutine SetModelServices(driver, rc)
471475
found_comp = .true.
472476
end if
473477
#endif
478+
#ifdef FRONT_FIRE_BEHAVIOR
479+
if (trim(model) == "fire_behavior") then
480+
call NUOPC_DriverAddComp(driver, trim(prefix), FIRE_BEHAVIOR_SS, &
481+
petList=petList, comp=comp, rc=rc)
482+
if (ChkErr(rc,__LINE__,u_FILE_u)) return
483+
found_comp = .true.
484+
end if
485+
#endif
474486
#ifdef FRONT_LIS
475487
if (trim(model) == "lis") then
476488
!TODO: Remove bail code and pass info and SetVM to DriverAddComp

fire_behavior

Submodule fire_behavior added at 05cad17

tests/bl_date.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
export BL_DATE=20240904
1+
export BL_DATE=20240909

0 commit comments

Comments
 (0)