Skip to content

Remove dynamic CCPP build#107

Merged
DusanJovic-NOAA merged 11 commits into
ufs-community:developfrom
climbfuji:remove_ccpp_dynamic_build
Apr 23, 2020
Merged

Remove dynamic CCPP build#107
DusanJovic-NOAA merged 11 commits into
ufs-community:developfrom
climbfuji:remove_ccpp_dynamic_build

Conversation

@climbfuji
Copy link
Copy Markdown
Collaborator

@climbfuji climbfuji commented Apr 21, 2020

This PR and associated PRs below completely remove the dynamic CCPP from the ufs-weather-model and all its submodules.

Change relevant for ufs-weather-model:

  • argument STATIC=Y no longer required
  • if SUITES=abc,xyz argument is omitted when calling compile.sh or compile_cmake.sh, all suites (suite_*.xml) in FV3/ccpp/suites/ will be compiled into the executable

Associated PRs:

NOAA-EMC/GFDL_atmos_cubed_sphere#18
NCAR/ccpp-framework#287
NCAR/ccpp-physics#439
NOAA-EMC/ufsatm#103
NOAA-EMC/NEMS#54
#107

For regression testing information, see below.

@climbfuji
Copy link
Copy Markdown
Collaborator Author

Early regression testing on hera.intel (after commit dc69a25 on 04/20/2020): all tests pass using rt.sh with rt.conf.

@climbfuji climbfuji marked this pull request as ready for review April 21, 2020 02:25
@climbfuji
Copy link
Copy Markdown
Collaborator Author

Regression testing on hera.intel using NEMSCompsetRun: all tests pass. Regression test logs updated in the PR.

NEMSCompsetRun_hera_intel.log

@climbfuji
Copy link
Copy Markdown
Collaborator Author

Regression testing on hera.intel using rt.sh: all tests pass. Regression test logs updated in the PR.

Copy link
Copy Markdown
Collaborator

@DusanJovic-NOAA DusanJovic-NOAA left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can these lines:

# Add path to libccpp.so and libccpphys.so to LD_LIBRARY_PATH, append to module-setup.sh
echo " " >> module-setup.sh
echo "# Add path to libccpp.so and libccpphys.so to LD_LIBRARY_PATH"
echo "export LD_LIBRARY_PATH=${PATHRT}/../FV3/${CCPP_LIB_DIR}:${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" >> module-setup.sh
echo " " >> module-setup.sh

be removed for all ccpp*.IN files in tests/fv3_conf

Comment thread tests/compile.sh
SUITES=$( echo $MAKE_OPT | sed 's/.* SUITES=//' | sed 's/ .*//' )
fi
echo "Compiling suites ${SUITES}"
MAKE_OPT="${MAKE_OPT} SUITES=${SUITES}"
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I realize now that this will duplicate the SUITES=... argument in case it is already provided in the MAKEOPT string. This doesn't hurt, though, because the NEMS build system only extracts it once before calling ccpp_prebuild.py.

@climbfuji
Copy link
Copy Markdown
Collaborator Author

Can these lines:

# Add path to libccpp.so and libccpphys.so to LD_LIBRARY_PATH, append to module-setup.sh
echo " " >> module-setup.sh
echo "# Add path to libccpp.so and libccpphys.so to LD_LIBRARY_PATH"
echo "export LD_LIBRARY_PATH=${PATHRT}/../FV3/${CCPP_LIB_DIR}:${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" >> module-setup.sh
echo " " >> module-setup.sh

be removed for all ccpp*.IN files in tests/fv3_conf

Oh yes - I forgot. Will do right away.

@climbfuji
Copy link
Copy Markdown
Collaborator Author

Can these lines:

# Add path to libccpp.so and libccpphys.so to LD_LIBRARY_PATH, append to module-setup.sh
echo " " >> module-setup.sh
echo "# Add path to libccpp.so and libccpphys.so to LD_LIBRARY_PATH"
echo "export LD_LIBRARY_PATH=${PATHRT}/../FV3/${CCPP_LIB_DIR}:${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" >> module-setup.sh
echo " " >> module-setup.sh

be removed for all ccpp*.IN files in tests/fv3_conf

Oh yes - I forgot. Will do right away.

Done.

@climbfuji
Copy link
Copy Markdown
Collaborator Author

Regression tests on hera.intel after updating the baseline with the new WW3 grid files: both rt.sh and NEMSCompsetRun pass, regression test logs updated in the PR.

rt_hera_intel.log
NEMSCompsetRun.log

@climbfuji
Copy link
Copy Markdown
Collaborator Author

Regression tests on wcoss_dell_p3 and wcoss_cray after updating the baseline with the new WW3 grid files: rt.sh and NEMSCompsetRun pass, regression test logs updated in the PR.

@climbfuji
Copy link
Copy Markdown
Collaborator Author

From @DusanJovic-NOAA: rt.sh also passed on orion.intel.

@climbfuji
Copy link
Copy Markdown
Collaborator Author

This PR is ready to merge from my side.

Comment thread CCPP_repro.appBuilder

COMPONENTS=( CCPP FMS FV3 )

FV3_MAKEOPT="REPRO=Y CCPP=Y STATIC=Y SUITES=FV3_GFS_2017"
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so we do not need the suite files here?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's correct. If no SUITES=... argument is specified when compile.sh or compile_cmake.sh is called (which is called through the app builder), then all available suites will be compiled into the executable.

@DusanJovic-NOAA DusanJovic-NOAA merged commit ce9fefb into ufs-community:develop Apr 23, 2020
climbfuji pushed a commit to climbfuji/ufs-weather-model that referenced this pull request Nov 1, 2021
…e_from_develop_20211025

Update gsl/develop from develop 2021/10/25
epic-cicd-jenkins pushed a commit that referenced this pull request Apr 17, 2023
Change mpirun to srun in make_sfc_climo task
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants