gmtb/develop (--> dtc/develop): static build and out-of-source-build capabilities#136
Conversation
…ror from CCPP physics calls
…aster (out-of-source build capabilities)
|
Note: because the two PRs for ccpp-physics, NCAR/ccpp-physics#350 and NCAR/ccpp-physics#343, still need to be tested with ufs-weather-model, this PR cannot be merged until the testing has been completed. |
|
Thanks @climbfuji for making modifications to work with the static build. I started to look at this last week and was a little lost, so thanks for doing this. I tested this on my machine and it works as advertised once a small fix for ccpp_prebuild_config.py was included. As per the instructions, I'm waiting to merge this until NCAR/ccpp-physics#350 is tested in ufs-weather-model, which is currently ongoing on Hera. If tests pass, I'll merge this PR and create the dtc/develop branch from it. |
|
@climbfuji When I started looking at the static build last week, I played around with calling ccpp_prebuild.py from cmake. With the lack of a more complicated build system as in the UFS, would it make sense for us to cut out the manual step of calling ccpp_prebuild by making cmake do it? |
|
ufs-weather-model RT passes on hera/intel with rt.conf for NCAR/ccpp-physics#350 so, I'm going to merge this and create dtc/develop from it. |
Hi @grantfirl, the problem I had was that cmake wouldn't allow me to execute a script before anything else happens in cmake - it would allow me to run it pre_build (but after cmake). I believe Dusan found a solution for this for UFS - can you touch base with him? Thanks! |
gmtb/develop (--> dtc/develop): static build and out-of-source-build capabilities
This PR targets gmtb/develop for code review purposes. Once merged, dtc/develop should be created from gtmtb/develop, made a protected branch and gmtb/develop should be frozen.
This PR:
This PR does not update the documentation wrt building SCM with the static CCPP option.
No changes are required for buidling SCM with dynamic CCPP, i.e. the following still works:
To build SCM in static mode and use the
multi_run_gmtb_scm.pyscript, the following commands are required (compiling all available suites into the executable):With both
-DCMAKE_BUILD_TYPE=Debugand-DCMAKE_BUILD_TYPE=Release, the results are identical between the dynamic and static CCPP builds: