Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AQMv7 EE2 Compliance: Propagate CMAKE_Fortran_FLAGS_DEBUG into chgres_cube #874

Closed

Conversation

BrianCurtis-NOAA
Copy link

@BrianCurtis-NOAA BrianCurtis-NOAA commented Nov 20, 2023

DESCRIPTION OF CHANGES:

To meet EE2 requirements for AQMv7, a change was made to propagate CMAKE_Fortran_FLAGS_DEBUG into chgres_cube.

AQM uses the ufs-srweather-app to call CMake for UFS_UTILS. CMake configuration here: https://github.com/BrianCurtis-NOAA/ufs-srweather-app/blob/ee2_fixes/sorc/CMakeLists.txt#L227C1-L258

NCO requires that Debug builds have -ftrapuv and -check all in all compile flags for the project.

Upon testing, the -ftrapuv and -check all was set here:

set(CMAKE_Fortran_FLAGS_DEBUG "-O0 -check all -ftrapuv")
but it was not making it into (at least) the chgres_cube compile lines.

This one line change fixed that issue.

TESTS CONDUCTED:

If there are changes to the build or source code, the tests below must be conducted. Contact a repository manager if you need assistance.

  • Compile branch on all Tier 1 machines using Intel (Orion, Jet, Hera and WCOSS2).
  • Compile branch on Hera using GNU.
  • Compile branch in 'Debug' mode on WCOSS2.
  • Run unit tests locally on any Tier 1 machine.
  • Run relevant consistency tests locally on all Tier 1 machine.

Describe any additional tests performed.

DEPENDENCIES:

None

DOCUMENTATION:

None Added

ISSUE:

None

@BrianCurtis-NOAA
Copy link
Author

@GeorgeGayno-NOAA Here is the PR discussed earlier. Would you be able to run testing for me on the task items I have not been able to get to?

@GeorgeGayno-NOAA
Copy link
Collaborator

@BrianCurtis-NOAA can you provide more details on how AQM is compiling UFS_UTILS and why this change is needed.

@BrianCurtis-NOAA
Copy link
Author

@BrianCurtis-NOAA can you provide more details on how AQM is compiling UFS_UTILS and why this change is needed.

@GeorgeGayno-NOAA I have updated the description, please let me know if you need any more information.

@GeorgeGayno-NOAA
Copy link
Collaborator

Thanks for the additional detail. I am not sure why the debug flags are not propagating to chgres. I have no problem when compiling UFS_UTILS stand-alone. What about CMAKE_Fortran_FLAGS_RELEASE? Are those flags being used by chgres?

@BrianCurtis-NOAA
Copy link
Author

Thanks for the additional detail. I am not sure why the debug flags are not propagating to chgres. I have no problem when compiling UFS_UTILS stand-alone. What about CMAKE_Fortran_FLAGS_RELEASE? Are those flags being used by chgres?

Yes, it did seem to be using the Release flags.

@BrianCurtis-NOAA
Copy link
Author

Thanks for the additional detail. I am not sure why the debug flags are not propagating to chgres. I have no problem when compiling UFS_UTILS stand-alone. What about CMAKE_Fortran_FLAGS_RELEASE? Are those flags being used by chgres?

Yes, it did seem to be using the Release flags.

Let me double check that. I might recall seeing the CMake_Fortran_FLAGS and not the RELEASE specific ones

@BrianCurtis-NOAA
Copy link
Author

I tried with default UFS_UTILS and it works fine. Most likely a configuration got mixed up while I was testing. Thanks for your time @GeorgeGayno-NOAA

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants