-
Notifications
You must be signed in to change notification settings - Fork 29
Building UFS S2S model using compile.sh script
- Build system continues to be GNUmakefile
- Compile.sh
- No longer requires
*.appBuilder
file - Located in
ufs-s2s-model/tests/
- No longer requires
- Compile.sh parses build options and passes them onto GNUmakefile
compile.sh path target [ make_opt [ name [ clean_before [ clean_after ]]]]
- arg 1 (
path
): path toufs-s2s-model/FV3/
(e.g.,../FV3
if invoked fromufs-s2s-model/tests/
) - arg 2 (
target
): machine/compiler combination (e.g.,hera.intel
,orion.intel
) - arg 3 (
make_opt
): make option (optional, see next slide) - arg 4 (
name
): suffix to the exe file name to be generated inufs-s2s-model/tests/
(optional,fcst.exe
is generated if not specified,fcst_name.exe
otherwise) - arg 5 (
clean_before
): clean before build (optional, defaults to yes) - arg 6 (
clean_after
): clean after build (optional, defaults to yes)
- Specify components to build, e.g.,
MOM6=Y
CICE=Y
WW3=Y
CMEPS=Y
- Build with CCPP, e.g.,
CCPP=Y SUITES=FV3_GFS_2017_coupled
CCPP=Y SUITES=FV3_GFS_v15p2_coupled
- Build in debug mode
DEBUG=Y
- Putting everything together, e.g.,
CCPP=Y SUITES=FV3_GFS_2017_coupled,FV3_GFS_2017_satmedmf_coupled MOM6=Y CICE=Y WW3=Y CMEPS=Y
- Assume you are in
ufs-s2s-model/tests/
directory on Hera -
./compile.sh ../FV3 hera.intel
- no
make_opt
specified; build FV3 only -
fcst.exe
generated - clean before & after build
- no
-
./compile.sh ../FV3 hera.intel '' 1
- no
make_opt
specified; build FV3 only -
fcst_1.exe
generated - clean before & after build
- no
-
./compile.sh ../FV3 hera.intel 'CCPP=Y SUITES=FV3_GFS_2017_coupled WW3=Y' 2 no
- build FV3+CCPP+WW3
-
fcst_2.exe
generated - do not clean before build; clean after build
-
./compile.sh ../FV3 hera.intel 'DEBUG=Y MOM6=Y CICE=Y' coupled no no
- build FV3+MOM6+CICE in debug mode
-
fcst_coupled.exe
generated - do not clean before & after build
-
./compile.sh ../FV3 hera.intel 'CCPP=Y SUITES=FV3_GFS_2017_coupled,FV3_GFS_2017_satmedmf_coupled MOM6=Y CICE=Y WW3=Y CMEPS=Y'
- build FV3+CCPP+MOM6+CICE+WW3+CMEPS
-
fcst.exe
generated - clean before & after build
Usage with rt.sh (regression testing script, see rt.sh)
- All args except
target
(arg 2) andmake_opt
(arg 3) are specified byrt.sh
- Define a row in
ufs-s2s-model/tests/rt.conf
that starts with COMPILE - Specify arg 2 in the fourth column (with delimiter | ) of
rt.conf
- Specify arg 3 in the second column (with delimiter | ) of
rt.conf
- Examples:
COMPILE | CCPP=Y SUITES=FV3_GFS_2017_coupled,FV3_GFS_2017_satmedmf_coupled,FV3_GFS_v15p2_coupled MOM6=Y CICE=Y | | hera.intel | fv3 |
COMPILE | CCPP=Y SUITES=FV3_GFS_2017_coupled,FV3_GFS_2017_satmedmf_coupled,FV3_GFS_v15p2_coupled MOM6=Y CICE=Y WW3=Y | | hera.intel | fv3 |
COMPILE | CCPP=Y DEBUG=Y SUITES=FV3_GFS_2017_coupled,FV3_GFS_2017_satmedmf_coupled,FV3_GFS_v15p2_coupled MOM6=Y CICE=Y | | hera.intel | fv3 |
COMPILE | CCPP=Y SUITES=FV3_GFS_2017_coupled,FV3_GFS_2017_satmedmf_coupled,FV3_GFS_v15p2_coupled MOM6=Y CICE=Y CMEPS=Y | | hera.intel | fv3 |
COMPILE | CCPP=Y SUITES=FV3_GFS_2017_coupled,FV3_GFS_2017_satmedmf_coupled,FV3_GFS_v15p2_coupled MOM6=Y CICE=Y WW3=Y CMEPS=Y | | hera.intel | fv3 |
COMPILE | CCPP=Y DEBUG=Y SUITES=FV3_GFS_2017_coupled,FV3_GFS_2017_satmedmf_coupled,FV3_GFS_v15p2_coupled MOM6=Y CICE=Y CMEPS=Y | | orion.intel | fv3 |
Creating a GitHub Account for Development Work
Participating in the Development Process (Under Construction)
Developer Information
- Debug mode
- Restarting the coupled model
- Changing the number of PEs for FV3
- Updating the MOM6-interface
- Profile Timing across Components
- Porting to a new machine
Wiki Links
Applications (include workflow)
Models
- UFS Weather Model
- UFS Subseasonal to Seasonal Model
- UFS Hurricane Analysis and Forecast System Model
Utilities
- NCEPLIBS - builds bundled library dependencies
- NCEPLIBS-external - builds external library dependencies