Skip to content

Commit 0174b39

Browse files
committed
Merge remote-tracking branch 'remotes/upstream/develop' into feature/3dtke_gfspbl
2 parents 0f21c33 + aba31a4 commit 0174b39

File tree

156 files changed

+7676
-5267
lines changed

Some content is hidden

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

156 files changed

+7676
-5267
lines changed

.cicd/Jenkinsfile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ def generateStage(nodeLabel) {
7878
set +x
7979
8080
echo "Testing concluded...removing labels for $machine from $GIT_URL"
81-
echo "https://api.github.com/repos/${GIT_OWNER}/${GIT_REPO_NAME}/issues/${CHANGE_ID}/labels /{$machine-RT,$machine-BL}"
81+
echo "https://api.github.com/repos/${GIT_OWNER}/${GIT_REPO_NAME}/issues/${CHANGE_ID}/labels/{$machine-RT,$machine-BL}"
8282
curl --silent -X DELETE -H "Accept: application/vnd.github.v3+json" -H "Authorization: Bearer ${GITHUB_TOKEN}" https://api.github.com/repos/${GIT_OWNER}/${GIT_REPO_NAME}/issues/${CHANGE_ID}/labels/{$machine-RT,$machine-BL}
8383
'''
8484
currentBuild.result = 'FAILURE'
@@ -131,7 +131,7 @@ def generateStage(nodeLabel) {
131131
set +x
132132
133133
echo "Testing concluded...removing label ${label} for ${machine} from ${GIT_URL}"
134-
echo "https://api.github.com/repos/${GIT_OWNER}/${GIT_REPO_NAME}/issues/${CHANGE_ID}/labels /${machine}-${label}"
134+
echo "https://api.github.com/repos/${GIT_OWNER}/${GIT_REPO_NAME}/issues/${CHANGE_ID}/labels/${machine}-${label}"
135135
curl --silent -X DELETE -H "Accept: application/vnd.github.v3+json" -H "Authorization: Bearer ${GITHUB_TOKEN}" https://api.github.com/repos/${GIT_OWNER}/${GIT_REPO_NAME}/issues/${CHANGE_ID}/labels/{$machine-RT,$machine-BL}
136136
'''
137137
}
@@ -150,7 +150,7 @@ pipeline {
150150
parameters {
151151
booleanParam name: 'WM_BUILD', defaultValue: false, description: 'Whether to attempt to compile the model code tests'
152152
// Regression Test Suite ?
153-
choice(name: 'WM_OPERATIONAL_TESTS', choices: ['default', 'control_p8', 'cpld_control_p8', 'comprehensive', 'rt.sh', 'none'], description: 'Specify the suite of tests to run')
153+
choice(name: 'WM_OPERATIONAL_TESTS', choices: ['rt.conf', 'default', 'control_p8', 'cpld_control_p8', 'comprehensive', 'none'], description: 'Specify the suite of tests to run')
154154
}
155155
environment {
156156
ACCNR = 'epic'

.cicd/README.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
This folder contains scripts to perform automated builds.
2+
It is intended to collect important performance metrics for trending.

.github/pull_request_template.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,15 @@ Please delete what is not needed.
103103
* Blocked by #
104104
* None
105105

106+
### Documentation:
107+
<!--
108+
Indicate what documentation, if any, is needed for this PR and who will add it (if applicable).
109+
Please delete what is not needed.
110+
-->
111+
* This PR requires a documentation update, and the WM User's Guide has been updated based on the changes in this PR.
112+
* This PR requires a documentation update, and a WM issue has been opened to track the need for a documentation update; a person responsible for submitting the update has been assigned to the issue (link issue).
113+
* No documentation update is required for this PR (please explain).
114+
106115
---
107116
## Changes
108117
### Regression Test Changes (Please commit test_changes.list):
@@ -145,7 +154,6 @@ Please delete what is not needed.
145154
- [ ] Hera
146155
- [ ] Orion
147156
- [ ] Hercules
148-
- [ ] GaeaC5
149157
- [ ] GaeaC6
150158
- [ ] Derecho
151159
- WCOSS2

.github/workflows/aux.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ env:
1515
jobs:
1616
pre:
1717
name: Preprocess
18-
runs-on: ubuntu-20.04
18+
runs-on: ubuntu-latest
1919

2020
steps:
2121
- name: Share helper id
@@ -28,7 +28,7 @@ jobs:
2828

2929
repocheck:
3030
name: Repo check
31-
runs-on: ubuntu-20.04
31+
runs-on: ubuntu-22.04
3232

3333
steps:
3434
- name: Check up-to-dateness and post comment

.github/workflows/build_test._yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ env:
1010
jobs:
1111
repocheck:
1212
name: Check if repos are up to date
13-
runs-on: ubuntu-20.04
13+
runs-on: ubuntu-22.04
1414

1515
outputs:
1616
current: ${{ steps.check.outputs.current }}

CDEPS-interface/CDEPS

Submodule CDEPS updated 44 files

CDEPS-interface/ufs/cdeps_share/shr_is_restart_fh_mod.F90

Lines changed: 55 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ module shr_is_restart_fh_mod
1919
end type is_restart_fh_type
2020

2121
public :: init_is_restart_fh, is_restart_fh, finalize_restart_fh, is_restart_fh_type
22+
public :: log_restart_fh
2223

2324
contains
2425

@@ -81,7 +82,7 @@ subroutine init_is_restart_fh(currentTime, dtime, lLog, restartfh_info)
8182
call ESMF_ConfigDestroy(CF_mc, rc=rc)
8283
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, line=__LINE__, file=__FILE__)) return
8384
end if !model_configure
84-
85+
8586
end subroutine init_is_restart_fh
8687

8788
subroutine is_restart_fh(clock, restartfh_info, lWrite)
@@ -91,7 +92,7 @@ subroutine is_restart_fh(clock, restartfh_info, lWrite)
9192
!
9293
! !USES:
9394
use ESMF, only : ESMF_ClockGetNextTime
94-
95+
9596
!
9697
! !ARGUMENTS:
9798
type(ESMF_Clock), intent(in) :: clock
@@ -114,8 +115,59 @@ subroutine is_restart_fh(clock, restartfh_info, lWrite)
114115
end if
115116

116117
lWrite = restartfh_info%write_restartfh
117-
118+
118119
end subroutine is_restart_fh
120+
!===============================================================================
121+
!> Write a log file
122+
!!
123+
!> @details Write a log file for a named component when a restart file is written
124+
!!
125+
!! @param[in] nextTime the ESMF time at the end of a ModelAdvance
126+
!! @param[in] startTime the ESMF time at the Model Start
127+
!! @param[in] complog the named component
128+
!! @param[out] rc return code
129+
!!
130+
!> @authorDenise.Worthen@noaa.gov
131+
!> @date 04-14-2025
132+
subroutine log_restart_fh(nextTime, startTime, complog, rc)
133+
134+
use ESMF, only : ESMF_SUCCESS, ESMF_MAXSTR, ESMF_Time, ESMF_TimeInterval
135+
use ESMF, only : ESMF_TimeGet, ESMF_TimeIntervalGet
136+
use ESMF, only : operator(==), operator(-)
137+
138+
type(ESMF_Time), intent(in) :: nextTime, startTime
139+
character(len=*), intent(in) :: complog
140+
integer, intent(out) :: rc
141+
142+
! local variables
143+
type(ESMF_TimeInterval) :: elapsedTime
144+
real(ESMF_KIND_R8) :: fhour
145+
character(ESMF_MAXSTR) :: filename
146+
character(ESMF_MAXSTR) :: nexttimestring
147+
integer :: fh_logunit
148+
integer :: yr,mon,day,hour,minute,sec ! time units
149+
character(len=*), parameter :: subname='(log_restart_fh)'
150+
!-----------------------------------------------------------------------
151+
152+
call ESMF_LogWrite(trim(subname)//": called", ESMF_LOGMSG_INFO)
153+
rc = ESMF_SUCCESS
154+
155+
elapsedTime = nextTime - startTime
156+
call ESMF_TimeIntervalGet(elapsedTime, h_r8=fhour,rc=rc)
157+
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, line=__LINE__, file=__FILE__)) return
158+
159+
call ESMF_TimeGet(nexttime, yy=yr, mm=mon, dd=day, h=hour, m=minute, s=sec, rc=rc)
160+
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, line=__LINE__, file=__FILE__)) return
161+
write(nexttimestring,'(6i8)')yr,mon,day,hour,minute,sec
162+
163+
write(filename,'(a,i4.4)')'log.'//trim(complog)//'.f',int(fhour)
164+
open(newunit=fh_logunit,file=trim(filename))
165+
write(fh_logunit,'(a)')'completed: '//trim(complog)
166+
write(fh_logunit,'(a,f10.3)')'forecast hour:',fhour
167+
write(fh_logunit,'(a)')'valid time: '//trim(nexttimestring)
168+
close(fh_logunit)
169+
170+
end subroutine log_restart_fh
119171

120172
subroutine finalize_restart_fh(restartfh_info)
121173
!

CMakeLists.txt

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ include(cmake/configure_apps.cmake)
4343

4444
message("")
4545
message("FMS .............. ${FMS}")
46-
message("FV3 .............. ${FV3}")
46+
message("FV3_dy ........... ${FV3}")
4747
message("AQM .............. ${AQM}")
4848
message("GOCART ........... ${UFS_GOCART}")
4949
message("MOM6 ............. ${MOM6}")
@@ -141,7 +141,10 @@ else()
141141
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Set type of build to Release." FORCE)
142142
endif()
143143

144-
include(cmake/${CMAKE_Fortran_COMPILER_ID}.cmake)
144+
# Detect and set UFS_COMPILER_SUITE in detect_compiler_suite.cmake
145+
set(UFS_COMPILER_SUITE)
146+
include(cmake/detect_compiler_suite.cmake)
147+
include(cmake/${UFS_COMPILER_SUITE}.cmake)
145148

146149
###############################################################################
147150
### Find Dependencies
@@ -190,6 +193,11 @@ endif()
190193

191194
###############################################################################
192195
### Atmosphere Components [FV3, MPAS?]
196+
### DJS2024: There will be a generalized atmospheric component with multiple
197+
### dycores, not multiple atmospheric components (one for each dycore).
198+
### So, - rename the atmospheric component FV3 to UFSATM or ATM, then
199+
### - if FV3 or MPAS, add_sudirectory(UFSATM or ATM)
200+
###
193201
###############################################################################
194202
if(FV3)
195203
add_subdirectory(FV3)
@@ -318,9 +326,9 @@ if(STOCH_PHYS)
318326
endif()
319327

320328
if(FV3)
321-
add_dependencies(ufs fv3atm)
322-
list(APPEND _ufs_defs_private FRONT_FV3=fv3atm_cap_mod)
323-
list(APPEND _ufs_libs_public fv3atm)
329+
add_dependencies(ufs ufsatm_fv3)
330+
list(APPEND _ufs_defs_private FRONT_FV3=${DYCORE_TARGET_CAP_MOD})
331+
list(APPEND _ufs_libs_public ${DYCORE_TARGET})
324332
endif()
325333

326334
if(MOM6)

0 commit comments

Comments
 (0)