-
Notifications
You must be signed in to change notification settings - Fork 253
Building model
Denise Worthen edited this page Jan 14, 2021
·
16 revisions
This page is under construction
- build.sh is a simple wrapper that calls CMake build system
module use modulefiles/<machine>.<compiler> (i.e. orion.intel, hera.intel, hera.gnu)
module load fv3 (or fv3_debug)
- export before the call to build.sh, for example:
export CMAKE_FLAGS="-DS2S=ON -DDATM=ON"
export CCPP_SUITES="FV3_GFS_2017_coupled,FV3_GFS_v15p2_coupled"
./build.sh
- on one-line, two examples:
CMAKE_FLAGS="-DS2S=ON" CCPP_SUITES="FV3_GFS_2017_coupled,FV3_GFS_v15p2_coupled" ./build.sh > output 2>&1 &
or
CMAKE_FLAGS="-DS2S=ON -DDEBUG=ON" CCPP_SUITES="FV3_GFS_2017_coupled,FV3_GFS_2017_satmedmf_coupled,FV3_GFS_v15p2_coupled" BUILD_VERBOSE=1 BUILD_JOBS=1
BUILD_DIR=test_cpld ./build.sh > output 2>&1 &
Executable will be build/ufs_model
If you edit source code files, just run the same command again. CMake does not need to be cleaned (as much).
- File location is
ufs-weather-model/tests
- Sets up environment variables and calls build.sh
- Used by ufs-weather-model/tests/rt.sh
- For examples, see the second column of rows that start with
COMPILE
inufs-weather-model/tests/rt.conf
- Specify components to build, e.g.,
-
S2S=Y
(include MOM6, CICE, CMEPS) WW3=Y
-
- Specify CCPP suite name, e.g.,
CCPP=Y SUITES=FV3_GFS_2017
CCPP=Y SUITES=FV3_GFS_2017_coupled
- Build in debug mode
DEBUG=Y
- Putting everything together, e.g.,
CCPP=Y SUITES=FV3_GFS_2017_coupled S2S=Y WW3=Y
- Commit Queue
- WCOSS2/Acorn Library Install Status
- News
- Making code changes in the UFS weather model using the GitHub repository
- UFS weather model code commit tutorial recordings
- Building model
- Running regression tests
- Regression Test Policy for Weather Model Platforms and Compilers
- Running operational requirements tests
- Porting to a new machine
-
spack-stack - builds prerequisite software stack for the UFS WM, including NCEPLIBS and NCEPLIBS-external
- NCEPLIBS - builds bundled library dependencies
- NCEPLIBS-external - builds external library dependencies