Skip to content

Commit

Permalink
Update cmake documentation, remove old build scripts (ufs-community#45)
Browse files Browse the repository at this point in the history
## DESCRIPTION OF CHANGES: 
The new cmake build requires the user to set up the environment specific to their platform. These requirements are now documented in a series of README_* files that the user can follow along with for setting their environment.

In addition, this PR would remove the old build system scripts to avoid confusion.

## TESTS CONDUCTED: 
Built successfully on all of the platforms with associated README files, save Cheyenne (gnu) and MacOSX. I will iterate on these instructions until I can get a successful build.

Out of an abundance of caution, also ran a series of end-to-end run tests on Hera; all of which ran successfully:

 * grid_RRFS_CONUS_13km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v15p2
 * grid_RRFS_CONUS_13km_ics_HRRRX_lbcs_RAPX_suite_RRFS_v1beta
 * grid_RRFS_CONUS_25km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v15p2
 * grid_RRFS_CONUS_25km_ics_HRRRX_lbcs_RAPX_suite_RRFS_v1beta
 * grid_RRFS_CONUS_3km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v15p2
 * grid_RRFS_CONUS_3km_ics_HRRRX_lbcs_RAPX_suite_RRFS_v1beta

## ISSUES: 
Resolves ufs-community#40, ufs-community#37
  • Loading branch information
mkavulich authored Nov 2, 2020
1 parent da87a57 commit 44324ff
Show file tree
Hide file tree
Showing 16 changed files with 100 additions and 874 deletions.
33 changes: 33 additions & 0 deletions docs/INSTALL
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Simple setup instructions for the UFS SRW App
# For more details, see the "Getting Started" guide:
# https://github.com/ufs-community/ufs-srweather-app/wiki/Getting-Started

# Getting the UFS SRW App code
#
# The SRW App can be downloaded directly from github, either by using `git clone` or by downloading
# from the web.

git clone -b release/public-v1 https://github.com/ufs-community/ufs-srweather-app.git

cd ufs-srweather-app/
./manage_externals/checkout_externals

# Prior to building, you must set up the environment so cmake can find the appropriate compilers
# and libraries. For instructions specific to supported platforms, see the included "README" files
# in this directory. These README files give instructions assuming a bash or ksh login shell, for
# csh and tcsh users you will have to modify the commands for setting envronment variables.

# Supported CMake flags:
# -DCMAKE_INSTALL_PREFIX Location where the bin/ include/ lib/ and share/ directories containing
# the various components of the SRW App will be created. Recommended value
# is "..", one directory up from the build directory
# -DCCPP_SUITES A comma-separated list of CCPP suites to build with the UFS weather
# model. See the User's Guide for a full list of available suites. The
# default is to build with the released supported suites: FV3_GFS_v15p2 and
# FV3_RRFS_v1beta

mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=..
make -j 8


18 changes: 18 additions & 0 deletions docs/README_cheyenne_gnu.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#Setup instructions for CISL Cheyenne using Intel-19.1.1 (bash shell)

module purge
module load ncarenv/1.3
module load gnu/9.1.0
module load mpt/2.19
module load ncarcompilers/0.5.0
module load cmake/3.16.4

module use -a /glade/p/ral/jntp/UFS_SRW_app/temp/NCEPLIBS-ufs-v2.0.0/gnu-9.1.0/mpt-2.19/modules/
module load esmf/8.0.0
module load NCEPLIBS/2.0.0

export CMAKE_C_COMPILER=mpicc
export CMAKE_CXX_COMPILER=mpicxx
export CMAKE_Fortran_COMPILER=mpif90
export CMAKE_Platform=cheyenne.intel

37 changes: 3 additions & 34 deletions docs/README_cheyenne_intel.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,44 +7,13 @@ module load mpt/2.19
module load ncarcompilers/0.5.0
module load cmake/3.16.4

export CC=mpicc
export FC=mpif90
export CXX=mpicxx
module use -a /glade/p/ral/jntp/UFS_SRW_app/temp/NCEPLIBS-ufs-v2.0.0/intel-19.1.1/mpt-2.19/modules/

NCEPLIBS_INSTALL=/glade/p/ral/jntp/GMTB/tools/NCEPLIBS-ufs-v2.0.0/intel-19.1.1/mpt-2.19

module use -a ${NCEPLIBS_INSTALL}/modules

module load bacio/2.4.1
module load g2/3.4.1
module load ip/3.3.3
module load nemsio/2.5.2
module load sp/2.3.3
module load w3emc/2.7.3
module load w3nco/2.4.1
module load sigio/2.3.2
module load g2tmpl/1.9.1
module load sfcio/1.4.1
module load gfsio/1.4.1
module load nemsiogfs/2.5.3
module load landsfcutil/2.4.1
module load wgrib2/2.0.8
module load netcdf/4.7.4
module load crtm/2.3.0

export ESMFMKFILE=/glade/p/ral/jntp/GMTB/tools/NCEPLIBS-ufs-v2.0.0/intel-19.1.1/mpt-2.19/lib64/esmf.mk
module load esmf/8.0.0
module load NCEPLIBS/2.0.0

export CMAKE_C_COMPILER=mpicc
export CMAKE_CXX_COMPILER=mpicxx
export CMAKE_Fortran_COMPILER=mpif90
export CMAKE_Platform=cheyenne.intel

git clone -b release/public-v1 [email protected]:ufs-community/ufs-srweather-app

cd ufs-srweather-app/
./manage_externals/checkout_externals

mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=..
make -j 4
38 changes: 2 additions & 36 deletions docs/README_hera_intel.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,46 +5,12 @@ module load intel/18.0.5.274
module load impi/2018.0.4
module load cmake/3.16.1

export CC=icc
export CXX=icpc
export FC=ifort

NCEPLIBS_INSTALL=/scratch1/BMC/gmtb/software/NCEPLIBS-ufs-v2.0.0/intel-18.0.5.274/impi-2018.0.4

module use ${NCEPLIBS_INSTALL}/modules

module load libpng/1.6.35

module load bacio/2.4.1
module load g2/3.4.1
module load g2tmpl/1.9.1
module load ip/3.3.3
module load nemsio/2.5.2
module load sp/2.3.3
module load w3emc/2.7.3
module load w3nco/2.4.1
module load sigio/2.3.2

module load sfcio/1.4.1
module load gfsio/1.4.1
module load nemsiogfs/2.5.3
module load landsfcutil/2.4.1
module load wgrib2/2.0.8
module load netcdf/4.7.4
module use -a /scratch1/BMC/gmtb/software/NCEPLIBS-ufs-v2.0.0/intel-18.0.5.274/impi-2018.0.4/modules
module load NCEPLIBS/2.0.0
module load esmf/8.0.0
module load crtm/2.3.0

export CMAKE_C_COMPILER=mpiicc
export CMAKE_CXX_COMPILER=mpiicpc
export CMAKE_Fortran_COMPILER=mpiifort
export CMAKE_Platform=hera.intel

git clone -b release/public-v1 [email protected]:ufs-community/ufs-srweather-app

cd ufs-srweather-app/
./manage_externals/checkout_externals

mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=..
make -j 4
42 changes: 4 additions & 38 deletions docs/README_jet_intel.txt
Original file line number Diff line number Diff line change
@@ -1,54 +1,20 @@
#Setup instructions for NOAA RDHPC Jet using Intel-18.0.5.274 (bash shell)

module purge

module use -a /contrib/sutils/modulefiles
module use /contrib/sutils/modulefiles
module load sutils

module load intel/18.0.5.274
module load impi/2018.4.274
module load hdf5/1.10.4
module load netcdf/4.6.1
module load hdf5/1.10.5
module load cmake/3.16.1

export CC=icc
export CXX=icpc
export FC=ifort

NCEPLIBS_INSTALL=/lfs4/HFIP/hfv3gfs/software/NCEPLIBS-ufs-v2.0.0/intel-18.0.5.274/impi-2018.4.274

module use -a ${NCEPLIBS_INSTALL}/modules
module use /lfs4/HFIP/hfv3gfs/software/NCEPLIBS-ufs-v2.0.0/intel-18.0.5.274/impi-2018.4.274/modules

module load bacio/2.4.1
module load crtm/2.3.0
module load g2/3.4.1
module load g2tmpl/1.9.1
module load ip/3.3.3
module load landsfcutil/2.4.1
module load nceppost/dceca26
module load nemsio/2.5.2
module load nemsiogfs/2.5.3
module load sp/2.3.3
module load w3emc/2.7.3
module load w3nco/2.4.1

module load gfsio/1.4.1
module load sfcio/1.4.1
module load sigio/2.3.2
module load NCEPLIBS/2.0.0
module load esmf/8.0.0
module load wgrib2/2.0.8

export CMAKE_C_COMPILER=mpiicc
export CMAKE_CXX_COMPILER=mpiicpc
export CMAKE_Fortran_COMPILER=mpiifort
export CMAKE_Platform=jet.intel

git clone -b release/public-v1 [email protected]:ufs-community/ufs-srweather-app

cd ufs-srweather-app/
./manage_externals/checkout_externals

mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=..
make -j 4
23 changes: 23 additions & 0 deletions docs/README_macos_gccgfortran.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#Setup instructions for macOS Mojave or Catalina using gcc-10.2.0 + gfortran-10.2.0

# This path should point to your NCEPLIBS install directory
export NCEPLIBS=/usr/local/NCEPLIBS-ufs-v2.0.0

# Need this environment script to be executable
chmod +x ${NCEPLIBS}/bin/setenv_nceplibs.sh
${NCEPLIBS}/bin/setenv_nceplibs.sh

export CC=gcc-10
export FC=gfortran-10
export CXX=g++-10
ulimit -S -s unlimited

export NETCDF=${NCEPLIBS}
export ESMFMKFILE=${NCEPLIBS}/lib/esmf.mk
export CMAKE_PREFIX_PATH=${NCEPLIBS}

export CMAKE_C_COMPILER=mpicc
export CMAKE_CXX_COMPILER=mpicxx
export CMAKE_Fortran_COMPILER=mpifort
export CMAKE_Platform=macosx.gnu

17 changes: 17 additions & 0 deletions docs/README_orion_intel.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#Setup instructions for MSU Orion using Intel-19.1.0.166 (bash shell)

module purge
module load intel/2020
module load impi/2020
module load cmake/3.15.4

module use /work/noaa/gmtb/dheinzel/NCEPLIBS-ufs-v2.0.0/intel-19.1.0.166/impi-2020.0.166/modules

module load NCEPLIBS/2.0.0
module load esmf/8.0.0

export CMAKE_C_COMPILER=mpiicc
export CMAKE_CXX_COMPILER=mpiicpc
export CMAKE_Fortran_COMPILER=mpiifort
export CMAKE_Platform=orion.intel

54 changes: 0 additions & 54 deletions src/build_UFS_UTILS.sh

This file was deleted.

Loading

0 comments on commit 44324ff

Please sign in to comment.