Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
…r-model into tempo
  • Loading branch information
dustinswales committed Sep 23, 2024
2 parents ff902c5 + 38a29a6 commit e7d428c
Show file tree
Hide file tree
Showing 88 changed files with 3,974 additions and 2,962 deletions.
2 changes: 2 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ Please delete what is not needed.
* MOM6 -
* NOAHMP -
* WW3 -
* fire_behavior
* stochastic_physics -
```

Expand Down Expand Up @@ -89,6 +90,7 @@ Example:
* MOM6:
* NOAHMP:
* WW3:
* fire_behavior:
* stochastic_physics:
* None

Expand Down
6 changes: 5 additions & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
[submodule "CICE"]
path = CICE-interface/CICE
url = https://github.com/NOAA-EMC/CICE
branch = emc/develop
branch = develop
[submodule "CDEPS"]
path = CDEPS-interface/CDEPS
url = https://github.com/NOAA-EMC/CDEPS
Expand All @@ -46,3 +46,7 @@
path = NOAHMP-interface/noahmp
url = https://github.com/NOAA-EMC/noahmp
branch = develop
[submodule "fire_behavior"]
path = fire_behavior
url = https://github.com/NOAA-EMC/fire_behavior
branch = emc/develop
2 changes: 1 addition & 1 deletion CICE-interface/CICE
Submodule CICE updated 68 files
+ LICENSE.pdf
+5 −5 cice.setup
+1 −1 cicecore/cicedyn/dynamics/ice_dyn_core1d.F90
+6 −6 cicecore/cicedyn/dynamics/ice_dyn_evp.F90
+3 −0 cicecore/cicedyn/general/ice_forcing.F90
+6 −3 cicecore/cicedyn/general/ice_init.F90
+18 −18 cicecore/cicedyn/infrastructure/comm/mpi/ice_gather_scatter.F90
+16 −16 cicecore/cicedyn/infrastructure/comm/serial/ice_gather_scatter.F90
+60 −58 cicecore/cicedyn/infrastructure/ice_domain.F90
+12 −2 cicecore/cicedyn/infrastructure/ice_grid.F90
+33 −1 cicecore/cicedyn/infrastructure/ice_memusage.F90
+7 −4 cicecore/cicedyn/infrastructure/io/io_binary/ice_restart.F90
+29 −0 cicecore/cicedyn/infrastructure/io/io_netcdf/ice_history_write.F90
+22 −0 cicecore/cicedyn/infrastructure/io/io_netcdf/ice_restart.F90
+8 −2 cicecore/cicedyn/infrastructure/io/io_pio2/ice_pio.F90
+1 −6 cicecore/cicedyn/infrastructure/io/io_pio2/ice_restart.F90
+2 −2 cicecore/drivers/direct/hadgem3/CICE.F90
+2 −2 cicecore/drivers/mct/cesm1/CICE_copyright.txt
+2 −2 cicecore/drivers/nuopc/cmeps/CICE_copyright.txt
+5 −5 cicecore/drivers/nuopc/cmeps/cice_wrapper_mod.F90
+11 −5 cicecore/drivers/nuopc/cmeps/ice_comp_nuopc.F90
+4 −0 cicecore/drivers/nuopc/cmeps/ice_prescribed_mod.F90
+2 −2 cicecore/drivers/nuopc/cmeps/ice_shr_methods.F90
+2 −2 cicecore/drivers/nuopc/dmi/CICE.F90
+2 −2 cicecore/drivers/standalone/cice/CICE.F90
+2 −2 cicecore/drivers/unittest/opticep/CICE.F90
+436 −650 cicecore/shared/ice_distribution.F90
+1 −10 cicecore/shared/ice_domain_size.F90
+1 −1 cicecore/version.txt
+25 −0 configuration/scripts/cice.batch.csh
+12 −0 configuration/scripts/cice.launch.csh
+2 −1 configuration/scripts/cice_decomp.csh
+56 −0 configuration/scripts/ciceplots.csh
+148 −0 configuration/scripts/ciceplots2d.py
+2 −1 configuration/scripts/ice_in
+1 −1 configuration/scripts/machines/Macros.compy_intel
+73 −0 configuration/scripts/machines/Macros.gadi_intel
+1 −1 configuration/scripts/machines/Macros.gaffney_gnu
+1 −1 configuration/scripts/machines/Macros.gaffney_intel
+1 −1 configuration/scripts/machines/Macros.izumi_nag
+1 −1 configuration/scripts/machines/Macros.koehr_intel
+1 −1 configuration/scripts/machines/Macros.mustang_intel18
+1 −1 configuration/scripts/machines/Macros.mustang_intel19
+1 −1 configuration/scripts/machines/Macros.mustang_intel20
+1 −1 configuration/scripts/machines/env.chicoma_intel
+56 −0 configuration/scripts/machines/env.gadi_intel
+4 −3 configuration/scripts/machines/env.hera_intel
+3 −0 configuration/scripts/machines/environment.yml
+2 −0 configuration/scripts/options/set_nml.congel
+7 −0 configuration/scripts/options/set_nml.run8year
+2 −0 configuration/scripts/tests/base_suite.ts
+27 −24 configuration/scripts/tests/decomp_suite.ts
+9 −9 configuration/scripts/tests/first_suite.ts
+27 −27 configuration/scripts/tests/gridsys_suite.ts
+24 −24 configuration/scripts/tests/perf_suite.ts
+1 −1 configuration/scripts/tests/prod_suite.ts
+13 −0 configuration/scripts/tests/unittest_suite.ts
+0 −129 configuration/scripts/timeseries.csh
+59 −41 configuration/scripts/timeseries.py
+3 −3 doc/source/conf.py
+3 −2 doc/source/developer_guide/dg_scripts.rst
+1 −1 doc/source/intro/copyright.rst
+1 −2 doc/source/science_guide/sg_coupling.rst
+21 −19 doc/source/science_guide/sg_dynamics.rst
+8 −1 doc/source/user_guide/ug_case_settings.rst
+16 −11 doc/source/user_guide/ug_implementation.rst
+42 −64 doc/source/user_guide/ug_running.rst
+1 −1 icepack
20 changes: 18 additions & 2 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 ATMWM ATML LND S2S S2SA S2SW S2SWA S2SWAL ATM_DS2S ATM_DS2S-PCICE HAFS HAFSW HAFS-MOM6 HAFS-MOM6W HAFS-ALL NG-GODAS)
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)
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 All @@ -34,6 +34,7 @@ set(STOCH_PHYS OFF CACHE BOOL "Enable Stochastic Physics")
set(CMEPS OFF CACHE BOOL "Enable CMEPS")
set(CDEPS OFF CACHE BOOL "Enable CDEPS")
set(NOAHMP OFF CACHE BOOL "Enable NOAHMP")
set(FIRE_BEHAVIOR OFF CACHE BOOL "Enable Fire Behavior")

# Configure selected application specific components
message("")
Expand All @@ -52,6 +53,7 @@ message("STOCH_PHYS ....... ${STOCH_PHYS}")
message("CDEPS ............ ${CDEPS}")
message("CMEPS ............ ${CMEPS}")
message("NOAHMP ........... ${NOAHMP}")
message("FIRE_BEHAVIOR .... ${FIRE_BEHAVIOR}")

###############################################################################
### Build Options
Expand Down Expand Up @@ -155,7 +157,7 @@ if(FMS)
elseif (APP MATCHES "^(S2S|S2SA|S2SW|S2SWA|S2SWAL|ATM_DS2S|ATM_DS2S-PCICE|NG-GODAS|HAFS-MOM6|HAFS-MOM6W)$")
add_library(fms ALIAS FMS::fms_r8)
endif()
if(APP MATCHES "^(ATM|ATMAERO|ATMAQ|ATMWM|ATMW|ATML|HAFS|HAFS-ALL)$")
if(APP MATCHES "^(ATM|ATMAERO|ATMAQ|ATMWM|ATMW|ATML|ATMF|HAFS|HAFS-ALL)$")
if(32BIT)
add_library(fms ALIAS FMS::fms_r4)
else()
Expand Down Expand Up @@ -260,6 +262,14 @@ if(NOAHMP)
add_subdirectory(NOAHMP-interface)
endif()

###############################################################################
### Fire Components [FIRE_BEHAVIOR]
###############################################################################
if(FIRE_BEHAVIOR)
set(NUOPC "ON" CACHE STRING "Build fire_behavior with NUOPC cap" FORCE)
add_subdirectory(fire_behavior)
endif()

###############################################################################
### UFS Library
###############################################################################
Expand Down Expand Up @@ -339,6 +349,12 @@ if(NOAHMP)
list(APPEND _ufs_libs_public noahmp)
endif()

if(FIRE_BEHAVIOR)
add_dependencies(ufs fire_behavior_nuopc)
list(APPEND _ufs_defs_private FRONT_FIRE_BEHAVIOR=fire_behavior_nuopc)
list(APPEND _ufs_libs_public fire_behavior_nuopc)
endif()

target_compile_definitions(ufs PRIVATE "${_ufs_defs_private}")
target_link_libraries(ufs PUBLIC "${_ufs_libs_public}")

Expand Down
2 changes: 1 addition & 1 deletion MOM6-interface/MOM6
Submodule MOM6 updated 54 files
+7 −7 config_src/drivers/FMS_cap/MOM_surface_forcing_gfdl.F90
+10 −10 config_src/drivers/STALE_mct_cap/mom_surface_forcing_mct.F90
+10 −10 config_src/drivers/nuopc_cap/mom_surface_forcing_nuopc.F90
+28 −28 config_src/drivers/solo_driver/MOM_surface_forcing.F90
+2 −2 config_src/drivers/solo_driver/user_surface_forcing.F90
+4 −4 src/ALE/regrid_edge_values.F90
+42 −42 src/core/MOM_CoriolisAdv.F90
+6 −6 src/core/MOM_PressureForce_Montgomery.F90
+51 −51 src/core/MOM_barotropic.F90
+9 −9 src/core/MOM_continuity_PPM.F90
+102 −102 src/core/MOM_density_integrals.F90
+5 −5 src/core/MOM_forcing_type.F90
+5 −3 src/core/MOM_grid.F90
+6 −6 src/core/MOM_isopycnal_slopes.F90
+16 −16 src/core/MOM_open_boundary.F90
+6 −6 src/core/MOM_stoch_eos.F90
+4 −0 src/core/MOM_transcribe_grid.F90
+16 −16 src/diagnostics/MOM_diagnostics.F90
+1 −1 src/diagnostics/MOM_sum_output.F90
+24 −24 src/equation_of_state/MOM_EOS_Wright.F90
+24 −24 src/equation_of_state/MOM_EOS_Wright_full.F90
+24 −24 src/equation_of_state/MOM_EOS_Wright_red.F90
+20 −20 src/equation_of_state/MOM_EOS_linear.F90
+6 −3 src/framework/MOM_dyn_horgrid.F90
+2 −2 src/ice_shelf/MOM_marine_ice.F90
+10 −3 src/initialization/MOM_fixed_initialization.F90
+1 −1 src/initialization/MOM_state_initialization.F90
+13 −13 src/parameterizations/lateral/MOM_MEKE.F90
+16 −20 src/parameterizations/lateral/MOM_Zanna_Bolton.F90
+136 −136 src/parameterizations/lateral/MOM_hor_visc.F90
+2 −2 src/parameterizations/lateral/MOM_interface_filter.F90
+35 −35 src/parameterizations/lateral/MOM_internal_tides.F90
+44 −44 src/parameterizations/lateral/MOM_lateral_mixing_coeffs.F90
+2 −2 src/parameterizations/lateral/MOM_mixed_layer_restrat.F90
+31 −30 src/parameterizations/lateral/MOM_thickness_diffuse.F90
+1 −1 src/parameterizations/vertical/MOM_CVMix_KPP.F90
+1 −1 src/parameterizations/vertical/MOM_CVMix_shear.F90
+5 −5 src/parameterizations/vertical/MOM_bulk_mixed_layer.F90
+10 −10 src/parameterizations/vertical/MOM_diabatic_aux.F90
+1 −1 src/parameterizations/vertical/MOM_energetic_PBL.F90
+20 −20 src/parameterizations/vertical/MOM_kappa_shear.F90
+18 −18 src/parameterizations/vertical/MOM_set_diffusivity.F90
+28 −28 src/parameterizations/vertical/MOM_set_viscosity.F90
+4 −4 src/parameterizations/vertical/MOM_vert_friction.F90
+4 −4 src/tracer/MOM_tracer_advect.F90
+4 −4 src/tracer/MOM_tracer_hor_diff.F90
+2 −2 src/tracer/advection_test_tracer.F90
+15 −15 src/user/Idealized_Hurricane.F90
+7 −7 src/user/MOM_wave_interface.F90
+4 −4 src/user/Neverworld_initialization.F90
+1 −1 src/user/SCM_CVMix_tests.F90
+3 −3 src/user/basin_builder.F90
+1 −1 src/user/circle_obcs_initialization.F90
+1 −1 src/user/seamount_initialization.F90
4 changes: 3 additions & 1 deletion cmake/configure_apps.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
###############################################################################
### Configure Application Components
###############################################################################
if(APP MATCHES "^(ATM|ATMW|ATMWM|ATMAQ|ATML)$")
if(APP MATCHES "^(ATM|ATMW|ATMWM|ATMAQ|ATML|ATMF)$")
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)
Expand All @@ -31,6 +31,8 @@ if(APP MATCHES "^(ATM|ATMW|ATMWM|ATMAQ|ATML)$")
set(CMEPS ON CACHE BOOL "Enable CMEPS" FORCE)
set(NOAHMP ON CACHE BOOL "Enable NOAHMP" FORCE)
message("Configuring UFS app in Atmosphere with Air Quality mode")
elseif(APP MATCHES "ATMF")
set(FIRE_BEHAVIOR ON CACHE BOOL "Enable Fire Behavior" FORCE)
else()
message("Configuring UFS app in Atmosphere Only mode")
endif()
Expand Down
14 changes: 13 additions & 1 deletion driver/UFSDriver.F90
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ MODULE UFSDriver
! UFS Driver component
! /|\
! / | \
! ATM/OCN/ICE/WAV/LND/IPM/HYD .. components
! ATM/OCN/ICE/WAV/LND/IPM/HYD/FIR .. components
! | | |
! | | (CICE, etc.)
! | |
Expand Down Expand Up @@ -81,6 +81,10 @@ MODULE UFSDriver
#endif
#ifdef FRONT_NOAHMP
use FRONT_NOAHMP, only: NOAHMP_SS => SetServices
#endif
! - Handle build time FIR options:
#ifdef FRONT_FIRE_BEHAVIOR
use FRONT_FIRE_BEHAVIOR, only: FIRE_BEHAVIOR_SS => SetServices
#endif
#ifdef FRONT_LIS
use FRONT_LIS, only: LIS_SS => SetServices
Expand Down Expand Up @@ -471,6 +475,14 @@ subroutine SetModelServices(driver, rc)
found_comp = .true.
end if
#endif
#ifdef FRONT_FIRE_BEHAVIOR
if (trim(model) == "fire_behavior") then
call NUOPC_DriverAddComp(driver, trim(prefix), FIRE_BEHAVIOR_SS, &
petList=petList, comp=comp, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
found_comp = .true.
end if
#endif
#ifdef FRONT_LIS
if (trim(model) == "lis") then
!TODO: Remove bail code and pass info and SetVM to DriverAddComp
Expand Down
1 change: 1 addition & 0 deletions fire_behavior
Submodule fire_behavior added at 05cad1
2 changes: 1 addition & 1 deletion tests/bl_date.conf
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export BL_DATE=20240821
export BL_DATE=20240909
10 changes: 8 additions & 2 deletions tests/ci/Jenkinsfile.combined
Original file line number Diff line number Diff line change
Expand Up @@ -343,12 +343,18 @@ pipeline {
GIT_URL = 'https://github.com/ufs-community/ufs-weather-model.git'
}
stages {
stage('Run SonarQube Testing') {
stage('Launch SonarQube') {
steps {
script {
echo "BRANCH_NAME=${env.CHANGE_BRANCH}"
echo "FORK_NAME=${env.CHANGE_FORK}"
echo "CHANGE_URL=${env.CHANGE_URL}"
echo "CHANGE_ID=${env.CHANGE_ID}"
build job: '/ufs-weather-model/ufs-wm-sonarqube', parameters: [
string(name: 'BRANCH_NAME', value: env.CHANGE_BRANCH ?: 'develop'),
string(name: 'FORK_NAME', value: env.CHANGE_FORK ?: '')
string(name: 'FORK_NAME', value: env.CHANGE_FORK ?: ''),
string(name: 'CHANGE_URL', value: env.CHANGE_URL ?: ''),
string(name: 'CHANGE_ID', value: env.CHANGE_ID ?: '')
], wait: false
}
}
Expand Down
Loading

0 comments on commit e7d428c

Please sign in to comment.