-
Notifications
You must be signed in to change notification settings - Fork 250
Building model
Jun Wang edited this page Apr 4, 2022
·
16 revisions
This page is under construction
- build.sh is a simple wrapper that calls CMake build system
module use modulefiles
module load ufs_${platform}.${compiler}
- NOTE: On platform GAEA, you must first set up the lmod environment:
source /lustre/f2/pdata/esrl/gsd/contrib/lua-5.1.4.9/init/init_lmod.sh
- export before the call to build.sh, for example:
export CMAKE_FLAGS="-DAPP=S2S -DCCPP_SUITES=FV3_GFS_2017_coupled,FV3_GFS_v16_coupled"
./build.sh
- build using one-line command, several examples:
Build the ufs-weather-model ATM app (standalone ATM):
CMAKE_FLAGS="-DAPP=ATM -DCCPP_SUITES=FV3_GFS_v16" ./build.sh > output 2>&1 &
Build the ufs-weather-model ATMW app (standalone ATM with waves):
CMAKE_FLAGS="-DAPP=ATMW -DCCPP_SUITES=FV3_GFS_2017_coupled,FV3_GFS_v16_coupled" ./build.sh > output 2>&1 &
Build the ufs-weather-model S2S app (atm/ice/ocean):
CMAKE_FLAGS="-DAPP=S2S -DCCPP_SUITES=FV3_GFS_2017_coupled,FV3_GFS_v16_coupled" ./build.sh > output 2>&1 &
Build the ufs-weather-model S2S app (coupled atm/ice/ocean) with debugging flags turned on, with verbose build messages, using a single build job and a specified build directory:
CMAKE_FLAGS="-DAPP=S2S -DDEBUG=ON -DCCPP_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 &
Build the ufs-weather-model S2SW app (coupled atm/ice/ocean/waves):
CMAKE_FLAGS="-DAPP=S2SW -DCCPP_SUITES=FV3_GFS_2017_coupled,FV3_GFS_2017_satmedmf_coupled,FV3_GFS_v15p2_coupled,FV3_GFS_v16beta_coupled" ./build.sh >output 2>&1 &
Build the ufs-weather-model NemsDATM app (NemsDATM/ocean/ice):
CMAKE_FLAGS="-DAPP=DATM_NEMS" ./build.sh >output 2>&1 &
In each case, the 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.,
-
-DAPP=ATM
(include ATM) -
-DAPP=ATMW
(include ATM, WAVES) -
-DAPP=ATMAERO
(include ATM, GOCART) -
-DAPP=S2S
(include ATM, MOM6, CICE, CMEPS) -
-DAPP=S2SW
(include ATM, MOM6, CICE6, WAVES, CMEPS) -
-DAPP=S2SWA
(include ATM, MOM6, CICE6, WAVES, GOCART, CMEPS)
-
- Specify CCPP suite name, e.g.,
-DCCPP_SUITES=FV3_GFS_v16
-DCCPP_SUITES=FV3_GFS_v16_coupled_p8
- Build in debug mode
DEBUG=Y
- Putting build options together, e.g.,
-DCCPP_SUITES=FV3_GFS_v16_coupled_p8 -DAPP=S2SWA
- 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