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

Update FV3ATM Cmakelists #2515

Open
dustinswales opened this issue Dec 3, 2024 · 5 comments
Open

Update FV3ATM Cmakelists #2515

dustinswales opened this issue Dec 3, 2024 · 5 comments
Assignees
Labels
enhancement New feature or request feature-MPAS Label to identify tasks associated with the MPAS dynamical core implementation

Comments

@dustinswales
Copy link
Collaborator

dustinswales commented Dec 3, 2024

Description

The CMakeLists.txt controls the atmospheric build configuration for several FV3 based UFS applications. This script will need to be abstracted to do either an FV3 or MPAS enabled builds.

Solution

The UWM CMakelists.txt supplies a pre-processor directive to control the dynamical core choice, FV3 or MPAS. The FV3 build shoud be unchanged other than to accommodate any codebase reorganization associated with the generalization of the atmospheric component.

@dustinswales dustinswales converted this from a draft issue Dec 3, 2024
@dustinswales dustinswales added the enhancement New feature or request label Dec 3, 2024
@dustinswales dustinswales self-assigned this Dec 3, 2024
@dustinswales
Copy link
Collaborator Author

@scrasmussen This has already been done in https://github.com/NOAA-EMC/fv3atm/pull/873/files, but we should pull out only the generalization/reorganizational relevant pieces (e.g No MPAS build just yet, I will add another Issue for that)

@dustinswales dustinswales added the feature-MPAS Label to identify tasks associated with the MPAS dynamical core implementation label Dec 3, 2024
@scrasmussen
Copy link
Collaborator

@dustinswales Just an update, I have the fv3atm-cmake-generalization branch with the generalization changes to FV3. I've tested the build but I'm having some issues running the regression test suite on Derecho. I'll continue to work on that.

I've also split off the MPAS build into the fv3atm-cmake-mpas branch for Issue #2517. I need to fix a few things there to get it to build but should be ready soon.

@dustinswales
Copy link
Collaborator Author

@dustinswales Just an update, I have the fv3atm-cmake-generalization branch with the generalization changes to FV3. I've tested the build but I'm having some issues running the regression test suite on Derecho. I'll continue to work on that.

I've also split off the MPAS build into the fv3atm-cmake-mpas branch for Issue #2517. I need to fix a few things there to get it to build but should be ready soon.

@scrasmussen Great to hear of the progress.
Let me know if you hit any snags with the testing.

@scrasmussen
Copy link
Collaborator

@scrasmussen Great to hear of the progress. Let me know if you hit any snags with the testing.

@dustinswales The GNU build on Derecho is working but the Intel compiler setup on Derecho is not, there is an Internal Compiler Error and it is not immediately clear why. It's building with the Spack stack's ifort 2023.2.1, so I guess I have two questions:

  1. I'm guessing you are not having trouble building on Hera with Intel?
  2. When running the regression tests in rt.conf it seems the main tests I care about are all setup to run with the Intel compiler, is it a problem if I change it to GNU? I'd guess compiler optimization differences would maybe cause results to differ from an Intel baseline... anyway, I changed the atm_dyn32 compiler to GNU and it is running. Is there a default subset of regression tests that we would want to run before submitting the fv3atm-cmake-generalization branch as a PR? I scanned through the documentation and wasn't sure if it was the whole rt.conf that was needed or a subset?
COMPILE | atm_dyn32 | gnu | -DAPP=ATM -DCCPP_SUITES=FV3_GFS_v16,FV3_GFS_v16_flake,FV3_GFS_v17_p8,FV3_GFS_v17_p8_rrtmgp,FV3_GFS_v15_thompson_mynn_lam3km,FV3_WoFS_v0,FV3_GFS_v17_p8_mynn,FV3_GFS_v17_p8_ugwpv1 -D32BIT=ON | | fv3 |

@dustinswales
Copy link
Collaborator Author

dustinswales commented Jan 7, 2025

@scrasmussen

  1. I was using Intel on Hera w/o issue, but it's totally fine for you to switch to GNU at this stage of the process. If you do this, I would start by using one of the GNU tests in rt.conf, rather than switching an Intel test to GNU.
  2. Exactly, there are GNU and Intel specific baselines for that reason. In my experience, I would run one test or a few of the tests in rt.conf, just cutting out the rest of the file. If that worked, then I would run the full set using ECFLOW. If that all worked, then open PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request feature-MPAS Label to identify tasks associated with the MPAS dynamical core implementation
Projects
Development

No branches or pull requests

2 participants