Skip to content

Save gnu warnings in rt logfile. Add WARN_AS_ERROR build option // Update ORT input data directories (#3138)#3129

Merged
FernandoAndrade-NOAA merged 21 commits intoufs-community:developfrom
DusanJovic-NOAA:log_gnu_w
Mar 12, 2026
Merged

Save gnu warnings in rt logfile. Add WARN_AS_ERROR build option // Update ORT input data directories (#3138)#3129
FernandoAndrade-NOAA merged 21 commits intoufs-community:developfrom
DusanJovic-NOAA:log_gnu_w

Conversation

@DusanJovic-NOAA
Copy link
Collaborator

@DusanJovic-NOAA DusanJovic-NOAA commented Mar 6, 2026

Commit Queue Requirements:

  • This PR addresses a relevant WM issue (if not, create an issue).
  • All subcomponent pull requests (if any) have been reviewed by their code managers.
  • Run the full Intel+GNU RT suite (compared to current baselines), preferably on Ursa (Derecho or Hercules are acceptable alternatives). Exceptions: documentation-only PRs, CI-only PRs, etc.
    • Commit log file w/full results from RT suite run (if applicable).
    • Verify that test_changes.list indicates which tests, if any, are changed by this PR. Commit test_changes.list, even if it is empty.
  • Fill out all sections of this template.

Description:

#3129

Update rt.sh to save number of gnu compile warnings to log files.
Add new compile option WARN_AS_ERROR (disabled by default) which, when enabled, will treat all warnings as error.
rt.conf is updated to enable this option for tests that currently build with 0 warnings.

#3138

Sync the ORT input data directories to match with rt.sh along with a typo fix within Jenkinsfile.ort.

Commit Message:

* UFSWM - Save gnu warnings in rt logfile. Add WARN_AS_ERROR build option
* UFSWM - update ORT input data directories and Jenkinsfile ORT typo fix 

Priority:

  • Critical Bugfix: Reason
  • High: Reason
  • Normal

Git Tracking

UFSWM:

Sub component Pull Requests:

  • None

UFSWM Blocking Dependencies:

  • Blocked by #
  • None

Documentation:

  • Documentation update required.
    • Relevant updates are included with this PR.
    • 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).
  • Documentation update NOT required.
    • Explanation:

Changes

Regression Test Changes (Please commit test_changes.list):

  • PR Adds New Tests/Baselines.
  • PR Updates/Changes Baselines.
  • No Baseline Changes.

Input data Changes:

  • None.
  • PR adds input data.
  • PR changes existing input data.

Library Changes/Upgrades:

  • Required
    • Library names w/versions:
    • Git Stack Issue (JCSDA/spack-stack#)
  • No Updates

Testing Log:

  • RDHPCS
    • Orion
    • Hercules
    • GaeaC6
    • Derecho
    • Ursa
  • WCOSS2
    • Dogwood/Cactus
    • Acorn
  • CI
  • opnReqTest (complete task if unnecessary)

@github-project-automation github-project-automation bot moved this to Evaluating in PRs to Process Mar 6, 2026
@gspetro-NOAA gspetro-NOAA moved this from Evaluating to Draft in PRs to Process Mar 6, 2026
@DusanJovic-NOAA DusanJovic-NOAA marked this pull request as ready for review March 6, 2026 22:28
@gspetro-NOAA gspetro-NOAA moved this from Draft to Evaluating in PRs to Process Mar 8, 2026
@gspetro-NOAA gspetro-NOAA added the No Baseline Change No Baseline Change label Mar 8, 2026
@gspetro-NOAA gspetro-NOAA moved this from Evaluating to Review in PRs to Process Mar 8, 2026
@gspetro-NOAA
Copy link
Collaborator

@DusanJovic-NOAA Could you sync your branch? I think this PR will be next.

@gspetro-NOAA gspetro-NOAA moved this from Review to Schedule in PRs to Process Mar 11, 2026
@gspetro-NOAA
Copy link
Collaborator

We'd like to bring in changes from #3138 . Would you like me to do that?

@DeniseWorthen
Copy link
Collaborator

@DusanJovic-NOAA Do you recall what the warning was on C6 that made you have to turn off the warn-as-error in aac684d?

@DusanJovic-NOAA
Copy link
Collaborator Author

We'd like to bring in changes from #3138 . Would you like me to do that?

Sure.

@DusanJovic-NOAA
Copy link
Collaborator Author

@DusanJovic-NOAA Do you recall what the warning was on C6 that made you have to turn off the warn-as-error in aac684d?

Something about long symbol names ( module variables or subroutines). We have compile flag to suppress that specific warning, but for some reason on Gaea it does not work. It's probably specific to the compiler version used currently on Gaea.

@gspetro-NOAA gspetro-NOAA changed the title Save gnu warnings in rt logfile. Add WARN_AS_ERROR build option Save gnu warnings in rt logfile. Add WARN_AS_ERROR build option // Update ORT input data directories (#3138) Mar 11, 2026
@gspetro-NOAA gspetro-NOAA added Ready for Commit Queue The PR is ready for the Commit Queue. All checkboxes in PR template have been checked. In Testing The PR that is currently in testing stages labels Mar 11, 2026
@gspetro-NOAA
Copy link
Collaborator

gspetro-NOAA commented Mar 12, 2026

@DusanJovic-NOAA datm_cdeps_gnu has failed to compile twice on Derecho. The err file (/glade/derecho/scratch/gpetro/FV3_RT/rt_37587/compile_datm_cdeps_gnu/err) has a CICE-related error message:

CMake Warning:
  Manually-specified variables were not used by the project:

    MPI

+ OMP_NUM_THREADS=1
+ make -j 3 VERBOSE=1
/glade/derecho/scratch/gpetro/RTs/ufs-wm/3129a/CICE-interface/CICE/cicecore/cicedyn/infrastructure/comm/mpi/ice_reprosum.F90:1043:26:

 1043 |       call mpi_allreduce (i8_arr_lsum_level, i8_arr_gsum_level, &
      |                          1
......
 1381 |       call mpi_allreduce (arr_lsum_dd, arr_gsum_dd, nflds, &
      |                          2
Error: Type mismatch between actual argument at (1) and actual argument at (2) (INTEGER(8)/COMPLEX(8)). [-Werror]
/glade/derecho/scratch/gpetro/RTs/ufs-wm/3129a/CICE-interface/CICE/cicecore/cicedyn/infrastructure/comm/mpi/ice_reprosum.F90:1043:45:

 1043 |       call mpi_allreduce (i8_arr_lsum_level, i8_arr_gsum_level, &
      |                                             1
......
 1381 |       call mpi_allreduce (arr_lsum_dd, arr_gsum_dd, nflds, &
      |                                       2
Error: Type mismatch between actual argument at (1) and actual argument at (2) (INTEGER(8)/COMPLEX(8)). [-Werror]
f951: all warnings being treated as errors
make[2]: *** [CICE-interface/CMakeFiles/cice.dir/build.make:1169: CICE-interface/CMakeFiles/cice.dir/CICE/cicecore/cicedyn/infrastructure/comm/mpi/ice_reprosum.F90.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:369: CICE-interface/CMakeFiles/cice.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

My latest test directory is at /glade/derecho/scratch/gpetro/RTs/ufs-wm/3129a/tests.

FYI @NickSzapiro-NOAA

@DusanJovic-NOAA
Copy link
Collaborator Author

@DusanJovic-NOAA datm_cdeps_gnu has failed to compile twice on Derecho. The err file (/glade/derecho/scratch/gpetro/FV3_RT/rt_37587/compile_datm_cdeps_gnu/err) has a CICE-related error message:

CMake Warning:
  Manually-specified variables were not used by the project:

    MPI

+ OMP_NUM_THREADS=1
+ make -j 3 VERBOSE=1
/glade/derecho/scratch/gpetro/RTs/ufs-wm/3129a/CICE-interface/CICE/cicecore/cicedyn/infrastructure/comm/mpi/ice_reprosum.F90:1043:26:

 1043 |       call mpi_allreduce (i8_arr_lsum_level, i8_arr_gsum_level, &
      |                          1
......
 1381 |       call mpi_allreduce (arr_lsum_dd, arr_gsum_dd, nflds, &
      |                          2
Error: Type mismatch between actual argument at (1) and actual argument at (2) (INTEGER(8)/COMPLEX(8)). [-Werror]
/glade/derecho/scratch/gpetro/RTs/ufs-wm/3129a/CICE-interface/CICE/cicecore/cicedyn/infrastructure/comm/mpi/ice_reprosum.F90:1043:45:

 1043 |       call mpi_allreduce (i8_arr_lsum_level, i8_arr_gsum_level, &
      |                                             1
......
 1381 |       call mpi_allreduce (arr_lsum_dd, arr_gsum_dd, nflds, &
      |                                       2
Error: Type mismatch between actual argument at (1) and actual argument at (2) (INTEGER(8)/COMPLEX(8)). [-Werror]
f951: all warnings being treated as errors
make[2]: *** [CICE-interface/CMakeFiles/cice.dir/build.make:1169: CICE-interface/CMakeFiles/cice.dir/CICE/cicecore/cicedyn/infrastructure/comm/mpi/ice_reprosum.F90.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:369: CICE-interface/CMakeFiles/cice.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

My latest test directory is at /glade/derecho/scratch/gpetro/RTs/ufs-wm/3129a/tests.

FYI @NickSzapiro-NOAA

I do not have access to Derecho. For now, turn WARN_AS_ERROR to OFF for that build, until that warning if fixed.

@BrianCurtis-NOAA
Copy link
Collaborator

https://github.com/NOAA-EMC/CICE/blob/def9c53b17d6722cc9991ba72ddae8ad2d5d25d9/cicecore/cicedyn/infrastructure/comm/mpi/ice_reprosum.F90#L1043-L1044

      call mpi_allreduce (i8_arr_lsum_level, i8_arr_gsum_level, &
                          veclth, MPI_INTEGER8, MPI_SUM, mpi_comm, ierr)

vs
https://github.com/NOAA-EMC/CICE/blob/def9c53b17d6722cc9991ba72ddae8ad2d5d25d9/cicecore/cicedyn/infrastructure/comm/mpi/ice_reprosum.F90#L1381-L1382

      call mpi_allreduce (arr_lsum_dd, arr_gsum_dd, nflds, &
                          MPI_COMPLEX16, mpi_sumdd, mpi_comm, ierr)

@gspetro-NOAA gspetro-NOAA removed the In Testing The PR that is currently in testing stages label Mar 12, 2026
Copy link
Collaborator

@gspetro-NOAA gspetro-NOAA left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Testing completed successfully on all systems. Noting that runtimes on Ursa were highly variable, likely due to fairshare/queue issues.

@FernandoAndrade-NOAA FernandoAndrade-NOAA merged commit de0da94 into ufs-community:develop Mar 12, 2026
13 of 14 checks passed
@github-project-automation github-project-automation bot moved this from Schedule to Done in PRs to Process Mar 12, 2026
@NickSzapiro-NOAA
Copy link
Collaborator

It's curious that the CICE warning shows up in datm but not cpld (?). As for fixes...

It looks like the CICE code may already have a specific workaround for this:

#if defined (NO_I8)
     ! Workaround for when i8 is not supported.
!      if (detailed_timing) call xicex_timer_start("repro_sum_allr_i4")
      call mpi_allreduce (i8_arr_lsum_level, i8_arr_gsum_level, &
                          veclth, MPI_INTEGER, MPI_SUM, mpi_comm, ierr)
!      if (detailed_timing) call xicex_timer_stop("repro_sum_allr_i4")
#else
!      if (detailed_timing) call xicex_timer_start("repro_sum_allr_i8")
      call mpi_allreduce (i8_arr_lsum_level, i8_arr_gsum_level, &
                          veclth, MPI_INTEGER8, MPI_SUM, mpi_comm, ierr)
!      if (detailed_timing) call xicex_timer_stop("repro_sum_allr_i8")
#endif

These MPI type mismatch interface warnings can also come from use mpi instead of better use mpi_f08

@DusanJovic-NOAA DusanJovic-NOAA deleted the log_gnu_w branch March 13, 2026 14:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

No Baseline Change No Baseline Change Ready for Commit Queue The PR is ready for the Commit Queue. All checkboxes in PR template have been checked.

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

Save number of GNU warnings in rt logs. Add build option to turn warnings into errors ORTs are using older input data

9 participants