From a211a3420a2c719f0527b16137f6d668028149e3 Mon Sep 17 00:00:00 2001 From: Soren Rasmussen Date: Mon, 20 May 2024 16:10:25 -0600 Subject: [PATCH] Removing bacio and sp depedency --- .../workflows/ci_build_scm_ubuntu_22.04.yml | 18 ------------------ .../ci_build_scm_ubuntu_22.04_nvidia.yml | 18 ------------------ .github/workflows/ci_run_scm_DEPHY.yml | 18 ------------------ .github/workflows/ci_run_scm_rts.yml | 18 ------------------ docker/Dockerfile | 4 ++-- scm/doc/TechGuide/chap_quick.rst | 8 ++++---- scm/doc/TechGuide/chap_repo.rst | 4 ++-- scm/etc/modules/derecho_gnu.lua | 1 - scm/etc/modules/derecho_intel.lua | 1 - scm/etc/modules/hera_gnu.lua | 1 - scm/etc/modules/hera_intel.lua | 1 - scm/etc/modules/jet_gnu.lua | 1 - scm/etc/modules/jet_intel.lua | 1 - scm/etc/modules/orion_gnu.lua | 1 - scm/etc/modules/orion_intel.lua | 1 - scm/src/CMakeLists.txt | 4 ---- 16 files changed, 8 insertions(+), 92 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04.yml b/.github/workflows/ci_build_scm_ubuntu_22.04.yml index 06e71b53..d3332b65 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04.yml @@ -17,7 +17,6 @@ jobs: env: NFHOME: /home/runner/netcdf-fortran NFVERSION: v4.5.3 - bacio_ROOT: /home/runner/bacio sp_ROOT: /home/runner/NCEPLIBS-sp SCM_ROOT: /home/runner/work/ccpp-scm/ccpp-scm intel_ROOT: /home/runner/intel @@ -84,23 +83,6 @@ jobs: sudo apt-get install intel-hpckit-getting-started intel-oneapi-clck intel-oneapi-common-licensing intel-oneapi-common-vars sudo apt-get install intel-oneapi-dev-utilities intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic intel-oneapi-compiler-fortran intel-oneapi-itac - - name: Cache bacio library v2.4.1 - id: cache-bacio-fortran - uses: actions/cache@v3 - with: - path: /home/runner/bacio - key: cache-bacio-fortran-${{matrix.fortran-compiler}}-key - - - name: Install bacio library v2.4.1 - if: steps.cache-bacio-fortran.outputs.cache-hit != 'true' - run: | - git clone --branch v2.4.1 https://github.com/NOAA-EMC/NCEPLIBS-bacio.git bacio - cd bacio && mkdir build && cd build - cmake -DCMAKE_INSTALL_PREFIX=${bacio_ROOT} ../ - make -j2 - make install - echo "bacio_DIR=/home/runner/bacio/lib/cmake/bacio" >> $GITHUB_ENV - - name: Cache SP-library v2.3.3 id: cache-sp-fortran uses: actions/cache@v3 diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 38ead4a5..2847d77d 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -17,7 +17,6 @@ jobs: # Environmental variables env: NETCDF: /home/runner/netcdf - bacio_ROOT: /home/runner/bacio sp_ROOT: /home/runner/NCEPLIBS-sp SCM_ROOT: /home/runner/work/ccpp-scm/ccpp-scm zlib_ROOT: /home/runner/zlib @@ -184,23 +183,6 @@ jobs: make make install - - name: Cache bacio library v2.4.1 - id: cache-bacio-fortran - uses: actions/cache@v3 - with: - path: /home/runner/bacio - key: cache-bacio-fortran-${{matrix.fortran-compiler}}-key - - - name: Install bacio library v2.4.1 - if: steps.cache-bacio-fortran.outputs.cache-hit != 'true' - run: | - git clone --branch v2.4.1 https://github.com/NOAA-EMC/NCEPLIBS-bacio.git bacio - cd bacio && mkdir build && cd build - cmake -DCMAKE_INSTALL_PREFIX=${bacio_ROOT} ../ - make -j2 - make install - echo "bacio_DIR=/home/runner/bacio/lib/cmake/bacio" >> $GITHUB_ENV - - name: Cache SP-library v2.3.3 id: cache-sp-fortran uses: actions/cache@v3 diff --git a/.github/workflows/ci_run_scm_DEPHY.yml b/.github/workflows/ci_run_scm_DEPHY.yml index eb8d6701..38cea9ec 100644 --- a/.github/workflows/ci_run_scm_DEPHY.yml +++ b/.github/workflows/ci_run_scm_DEPHY.yml @@ -16,7 +16,6 @@ jobs: env: NFHOME: /home/runner/netcdf-fortran NFVERSION: v4.5.3 - bacio_ROOT: /home/runner/bacio sp_ROOT: /home/runner/NCEPLIBS-sp SCM_ROOT: /home/runner/work/ccpp-scm/ccpp-scm suites: SCM_GFS_v16,SCM_GFS_v16_ps @@ -53,23 +52,6 @@ jobs: ####################################################################################### # Install FORTRAN dependencies ####################################################################################### - - name: Cache bacio library v2.4.1 - id: cache-bacio-fortran - uses: actions/cache@v3 - with: - path: /home/runner/bacio - key: cache-bacio-fortran-${{matrix.fortran-compiler}}-key - - - name: Install bacio library v2.4.1 - if: steps.cache-bacio-fortran.outputs.cache-hit != 'true' - run: | - git clone --branch v2.4.1 https://github.com/NOAA-EMC/NCEPLIBS-bacio.git bacio - cd bacio && mkdir build && cd build - cmake -DCMAKE_INSTALL_PREFIX=${bacio_ROOT} ../ - make -j2 - make install - echo "bacio_DIR=/home/runner/bacio/lib/cmake/bacio" >> $GITHUB_ENV - - name: Cache SP-library v2.3.3 id: cache-sp-fortran uses: actions/cache@v3 diff --git a/.github/workflows/ci_run_scm_rts.yml b/.github/workflows/ci_run_scm_rts.yml index c561d273..4638f857 100644 --- a/.github/workflows/ci_run_scm_rts.yml +++ b/.github/workflows/ci_run_scm_rts.yml @@ -17,7 +17,6 @@ jobs: env: NFHOME: /home/runner/netcdf-fortran NFVERSION: v4.5.3 - bacio_ROOT: /home/runner/bacio sp_ROOT: /home/runner/NCEPLIBS-sp SCM_ROOT: /home/runner/work/ccpp-scm/ccpp-scm suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0 @@ -70,23 +69,6 @@ jobs: echo "CC=icx" >> $GITHUB_ENV echo "FC=ifort" >> $GITHUB_ENV - - name: Cache bacio library v2.4.1 - id: cache-bacio-fortran - uses: actions/cache@v3 - with: - path: /home/runner/bacio - key: cache-bacio-fortran-${{matrix.fortran-compiler}}-key - - - name: Install bacio library v2.4.1 - if: steps.cache-bacio-fortran.outputs.cache-hit != 'true' - run: | - git clone --branch v2.4.1 https://github.com/NOAA-EMC/NCEPLIBS-bacio.git bacio - cd bacio && mkdir build && cd build - cmake -DCMAKE_INSTALL_PREFIX=${bacio_ROOT} ../ - make -j2 - make install - echo "bacio_DIR=/home/runner/bacio/lib/cmake/bacio" >> $GITHUB_ENV - - name: Cache SP-library v2.3.3 id: cache-sp-fortran uses: actions/cache@v3 diff --git a/docker/Dockerfile b/docker/Dockerfile index 7d058609..1df88e8e 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -49,7 +49,7 @@ RUN mkdir -p $NCEPLIBS_DIR/src && cd $NCEPLIBS_DIR/src \ && mkdir NCEPLIBS-bacio/build && cd NCEPLIBS-bacio/build \ && cmake -DCMAKE_INSTALL_PREFIX=$NCEPLIBS_DIR .. \ && make VERBOSE=1 \ - && make install + && make install RUN cd $NCEPLIBS_DIR/src \ && git clone -b v2.3.3 --recursive https://github.com/NOAA-EMC/NCEPLIBS-sp \ @@ -82,7 +82,7 @@ RUN cd /comsoftware \ && make -j4 # The analysis scripts have options for using LaTeX when making figure labels. -# If you would like to install LaTeK, uncomment the section below. +# If you would like to install LaTeK, uncomment the section below. # Note: This will increase the image size by 1 GB. #USER root #RUN yum -y update \ diff --git a/scm/doc/TechGuide/chap_quick.rst b/scm/doc/TechGuide/chap_quick.rst index 4f2858b5..15e19d25 100644 --- a/scm/doc/TechGuide/chap_quick.rst +++ b/scm/doc/TechGuide/chap_quick.rst @@ -123,7 +123,7 @@ System Requirements, Libraries, and Tools The source code for the SCM and CCPP components is in the form of programs written in FORTRAN 90 (with some required features from the FORTRAN 2008 standard), and C. In addition, the model I/O -relies on the NetCDF libraries, as well as the NCEP libraries ``bacio``, ``sp`` and ``w3emc``. +relies on the NetCDF libraries. Beyond the standard shell scripts, the build system relies on use of the Python scripting language, along with cmake, @@ -233,9 +233,9 @@ or ``linux_gnu`` modules. If libraries were installed manually, users will need to set some environment variables needed for specifying the location of the various prerequisites. Users will need to set variables for the -compilers (``CC``, ``CXX``, ``FC``), as well as the root directories for the library installs of NetCDF (``NetCDF_ROOT``), -``bacio`` (``bacio_ROOT``), ``sp`` (``sp_ROOT``), and ``w3emc`` (``w3emc_ROOT``). This is the procedure used in the -provided Dockerfile in ``ccpp-scm/docker/``, so users can reference that file for guidance on how to install this software +compilers (``CC``, ``CXX``, ``FC``), as well as the root directories for the library installs of NetCDF (``NetCDF_ROOT``). +This is the procedure used in the provided Dockerfile in ``ccpp-scm/docker/``, +so users can reference that file for guidance on how to install this software and set these variables. diff --git a/scm/doc/TechGuide/chap_repo.rst b/scm/doc/TechGuide/chap_repo.rst index 36f0a10c..02e7fbdb 100644 --- a/scm/doc/TechGuide/chap_repo.rst +++ b/scm/doc/TechGuide/chap_repo.rst @@ -76,8 +76,8 @@ Continuous Integration The CCPP SCM GitHub repository is set up with Continuous Integration (CI) testing for building the SCM and running some simple test cases. These tests are run automatically on code changes before they are merged, and so ensures that new changes to the SCM do not break basic capabilities. The latest set of tests use the following combinations of SCM prerequisites: **Regression tests** - - GNU compilers 11.4.0, Python 3.9.12, netCDF-c 4.7.3, netCDF-FORTRAN 4.5.3, bacio 2.4.1, sp 2.3.3, and w3emc 2.9.2 + - GNU compilers 11.4.0, Python 3.9.12, netCDF-c 4.7.3, and netCDF-FORTRAN 4.5.3 **Build tests** -All tests use the same versions of NCEP-supported libraries: bacio 2.4.1, sp 2.3.3, and w3emc 2.9.2. Detailed information on these tests can be found in the definition files for these tests, stored in the SCM repository under ``ccpp-scm/.github/workflows``. +Detailed information on these tests can be found in the definition files for these tests, stored in the SCM repository under ``ccpp-scm/.github/workflows``. diff --git a/scm/etc/modules/derecho_gnu.lua b/scm/etc/modules/derecho_gnu.lua index 30094ece..f6c41998 100644 --- a/scm/etc/modules/derecho_gnu.lua +++ b/scm/etc/modules/derecho_gnu.lua @@ -20,7 +20,6 @@ load("py-netcdf4/1.5.8") load("netcdf-c/4.9.2") load("netcdf-fortran/4.6.0") -load("bacio/2.4.1") load("sp/2.3.3") setenv("CMAKE_C_COMPILER","mpicc") diff --git a/scm/etc/modules/derecho_intel.lua b/scm/etc/modules/derecho_intel.lua index 6a93b9d6..38e9ab10 100644 --- a/scm/etc/modules/derecho_intel.lua +++ b/scm/etc/modules/derecho_intel.lua @@ -20,7 +20,6 @@ load("py-netcdf4/1.5.8") load("netcdf-c/4.9.2") load("netcdf-fortran/4.6.0") -load("bacio/2.4.1") load("sp/2.3.3") setenv("CMAKE_C_COMPILER","cc") diff --git a/scm/etc/modules/hera_gnu.lua b/scm/etc/modules/hera_gnu.lua index fe2a1250..09299ca5 100644 --- a/scm/etc/modules/hera_gnu.lua +++ b/scm/etc/modules/hera_gnu.lua @@ -20,7 +20,6 @@ load("py-netcdf4/1.5.8") load("netcdf-c/4.9.2") load("netcdf-fortran/4.6.0") -load("bacio/2.4.1") load("sp/2.3.3") setenv("CMAKE_C_COMPILER","mpicc") diff --git a/scm/etc/modules/hera_intel.lua b/scm/etc/modules/hera_intel.lua index 98d2feb9..97f65c26 100644 --- a/scm/etc/modules/hera_intel.lua +++ b/scm/etc/modules/hera_intel.lua @@ -19,7 +19,6 @@ load("py-netcdf4/1.5.8") load("netcdf-c/4.9.2") load("netcdf-fortran/4.6.0") -load("bacio/2.4.1") load("sp/2.3.3") setenv("CMAKE_C_COMPILER","mpiicc") diff --git a/scm/etc/modules/jet_gnu.lua b/scm/etc/modules/jet_gnu.lua index b5a4b70b..c5bdece6 100644 --- a/scm/etc/modules/jet_gnu.lua +++ b/scm/etc/modules/jet_gnu.lua @@ -21,7 +21,6 @@ load("py-netcdf4/1.5.8") load("netcdf-c/4.9.2") load("netcdf-fortran/4.6.0") -load("bacio/2.4.1") load("sp/2.3.3") setenv("CMAKE_C_COMPILER","mpicc") diff --git a/scm/etc/modules/jet_intel.lua b/scm/etc/modules/jet_intel.lua index e44932cb..54f1bf88 100644 --- a/scm/etc/modules/jet_intel.lua +++ b/scm/etc/modules/jet_intel.lua @@ -21,7 +21,6 @@ load("py-netcdf4/1.5.8") load("netcdf-c/4.9.2") load("netcdf-fortran/4.6.0") -load("bacio/2.4.1") load("sp/2.3.3") setenv("CMAKE_C_COMPILER","mpiicc") diff --git a/scm/etc/modules/orion_gnu.lua b/scm/etc/modules/orion_gnu.lua index dec39653..c66dee9f 100644 --- a/scm/etc/modules/orion_gnu.lua +++ b/scm/etc/modules/orion_gnu.lua @@ -20,7 +20,6 @@ load("py-netcdf4/1.5.8") load("netcdf-c/4.9.2") load("netcdf-fortran/4.6.0") -load("bacio/2.4.1") load("sp/2.3.3") setenv("CMAKE_C_COMPILER","mpicc") diff --git a/scm/etc/modules/orion_intel.lua b/scm/etc/modules/orion_intel.lua index ddcedf9d..b82bc128 100644 --- a/scm/etc/modules/orion_intel.lua +++ b/scm/etc/modules/orion_intel.lua @@ -20,7 +20,6 @@ load("py-netcdf4/1.5.8") load("netcdf-c/4.9.2") load("netcdf-fortran/4.6.0") -load("bacio/2.4.1") load("sp/2.3.3") setenv("CMAKE_C_COMPILER","mpiicc") diff --git a/scm/src/CMakeLists.txt b/scm/src/CMakeLists.txt index 739c4761..193fa754 100644 --- a/scm/src/CMakeLists.txt +++ b/scm/src/CMakeLists.txt @@ -68,8 +68,6 @@ include(CMakeForceCompiler) SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/../../CMakeModules/Modules) find_package(NetCDF REQUIRED COMPONENTS C Fortran) -find_package(bacio REQUIRED) -find_package(sp REQUIRED) SET(CCPP_FRAMEWORK_SRC ${CMAKE_SOURCE_DIR}/../../ccpp/framework) SET(CCPP_PHYSICS_SRC ${CMAKE_SOURCE_DIR}/../../ccpp/physics) @@ -276,8 +274,6 @@ if(OPENMP) TARGET_LINK_LIBRARIES(scm PUBLIC OpenMP::OpenMP_Fortran) endif() TARGET_LINK_LIBRARIES(scm NetCDF::NetCDF_Fortran) -TARGET_LINK_LIBRARIES(scm bacio::bacio_4) -TARGET_LINK_LIBRARIES(scm sp::sp_d) TARGET_LINK_LIBRARIES(scm ccpp_framework) TARGET_LINK_LIBRARIES(scm ccpp_physics)