-
Notifications
You must be signed in to change notification settings - Fork 33
Building UFS S2S model using compile.sh script
- Build system continues to be GNUmakefile
- Compile.sh
- No longer requires
*.appBuilderfile - 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.,../FV3if 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.exeis generated if not specified,fcst_name.exeotherwise) - 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=YCICE=YWW3=YCMEPS=Y
- Build with CCPP, e.g.,
CCPP=Y SUITES=FV3_GFS_2017_coupledCCPP=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_optspecified; build FV3 only -
fcst.exegenerated - clean before & after build
- no
-
./compile.sh ../FV3 hera.intel '' 1- no
make_optspecified; build FV3 only -
fcst_1.exegenerated - 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.exegenerated - 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.exegenerated - 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.exegenerated - 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.confthat 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