-
Notifications
You must be signed in to change notification settings - Fork 102
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
Build standalone UPP via cmake #257
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
some comments for your consideration.
tests/compile_upp.sh
Outdated
rm -rf build install | ||
mkdir build && cd build | ||
cmake -DCMAKE_INSTALL_PREFIX=../install -DBUILD_WITH_WRFIO=ON ../.. | ||
make -j12 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
12 is too many threads to compile in parallel. I am not sure UPP will benefit significantly from more than 4-6.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@aerorahul Would you suggest the option "-j4" or no option? I actually don't know if this option has impact on UPP build performance or run performance.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
4 should be enough. 12 is too much.
make -jN
enables parallel compilation (as much as the code will allow).
@aerorahul The compile_upp.sh was updated based on your comments. Please review it. Thanks! |
The build tests were completed on WCOSS-Dell, WCOSS-Cray, Hera, Orion and Jet. The upp lib and executable were successfully generated. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @WenMeng-NOAA
This is very much improved.
In a later PR, I would suggest enabling a choice of a compiler as well as supporting a generic Linux and macOS.
@aerorahul |
…OAA-EMC#257) ## DESCRIPTION OF CHANGES: As it currently exists, the generate_FV3SAR_wflow.sh script can fail in some non-obvious ways if the correct python environment is not available. This PR adds some checks at the beginning of this script for the required python version and python modules that are needed to successfully set up the regional workflow, so the script will immediately fail with a descriptive error message if the necessary python environment is not available. The error messaging is still not ideal, as the structure of this script does not allow for a simple exit upon error and still outputs some spurious error messages, but this is an improvement over the previous behavior in the case of a bad python environment. ## TESTS CONDUCTED: Ran checks on Cheyenne, Jet, and Hera for the script's expected behavior. When the correct python environment was loaded, behavior did not change, as expected. When python versions or modules were insufficient, the script now fails immediately, and outputs a descriptive error message about the unmet requirement. Also ran the end-to-end workflow tests on Hera, there was no change in behavior.
… larger ensemble size (NOAA-EMC#257) * Changes for running EnKF more efficiently and fixing EnKF crashes for larger ensemble size * Simplify config.sh.RRFS_CONUS_3km * Simplify config.sh.RRFS_CONUS_13km
Add capacity of building standalone UPP via cmake and with all UPP dependency libraries from the hpc-stack on WCOSS-Dell, WCOSS-Cray, Hera, Orion and Jet. The build script is under tests/complile.sh. The GNC make capacity will be phased out in the future.
The changes include: