Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove dynamic CCPP build #107

Merged

Conversation

climbfuji
Copy link
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/fv3atm#103
NOAA-EMC/NEMS#54
#107

For regression testing information, see below.

@climbfuji
Copy link
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
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
Collaborator Author

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

Copy link
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

SUITES=$( echo $MAKE_OPT | sed 's/.* SUITES=//' | sed 's/ .*//' )
fi
echo "Compiling suites ${SUITES}"
MAKE_OPT="${MAKE_OPT} SUITES=${SUITES}"
Copy link
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
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
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
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
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
Collaborator Author

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

@climbfuji
Copy link
Collaborator Author

This PR is ready to merge from my side.

@@ -4,7 +4,7 @@

COMPONENTS=( CCPP FMS FV3 )

FV3_MAKEOPT="REPRO=Y CCPP=Y STATIC=Y SUITES=FV3_GFS_2017"
Copy link
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
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