diff --git a/package/ioapi/3.2/kgcc/install.sh b/package/ioapi/3.2/kgcc/install.sh index 995b1cc6b32191605110f85f8427ba2f162e721e..1f801fda7652267ba51e8e4049ac46d107f91cf4 100755 --- a/package/ioapi/3.2/kgcc/install.sh +++ b/package/ioapi/3.2/kgcc/install.sh @@ -10,12 +10,15 @@ cp ioapi/Makeinclude.Linux2_ia64gfort ioapi/Makeinclude.Linux4_aarch64 sed -i "14c\CC = mpicc" ioapi/Makeinclude.Linux4_aarch64 sed -i "15c\CXX = mpicxx" ioapi/Makeinclude.Linux4_aarch64 sed -i "16c\FC = mpifort" ioapi/Makeinclude.Linux4_aarch64 +sed -i '21 s/^/# /' ioapi/Makeinclude.Linux4_aarch64 +sed -i '25 s/^/# /' ioapi/Makeinclude.Linux4_aarch64 +sed -i '26 s/^/# /' ioapi/Makeinclude.Linux4_aarch64 sed -i "30c\#FSFLAGS = -save" ioapi/Makeinclude.Linux4_aarch64 cp ioapi/Makefile.nocpl ioapi/Makefile export HOME=${JARVIS_TMP} cp m3tools/Makefile.nocpl m3tools/Makefile -sed -i "65c\LIBS = -L\${OBJDIR} -lioapi -L${JARVIS_ROOT}/software/libs/kgcc9.3.1/hmpi1.1.1/netcdf/4.7.0/lib/ -lnetcdff -lnetcdf -L${JARVIS_ROOT}/software/libs/kgcc9.3.1/hmpi1.1.1/hdf5/1.10.1/lib -lhdf5_hl -lhdf5 -lz \$(OMPLIBS) \$(ARCHLIB) \$(ARCHLIBS)" m3tools/Makefile -sed -i "146c\LIBS = -L\${OBJDIR} -lioapi -L${JARVIS_ROOT}/software/libs/kgcc9.3.1/hmpi1.1.1/netcdf/4.7.0/lib/ -lnetcdff -lnetcdf -L${JARVIS_ROOT}/software/libs/kgcc9.3.1/hmpi1.1.1/hdf5/1.10.1/lib -lhdf5_hl -lhdf5 -lz \$(OMPLIBS) \$(ARCHLIB) \$(ARCHLIBS)" m3tools/Makefile +sed -i "65c\LIBS = -L\${OBJDIR} -lioapi -L${NETCDF_PATH}/lib -lnetcdff -lnetcdf -L${HDF5_PATH}/lib -lhdf5_hl -lhdf5 -lz \$(OMPLIBS) \$(ARCHLIB) \$(ARCHLIBS)" m3tools/Makefile +#sed -i "146c\LIBS = -L\${OBJDIR} -lioapi -L${JARVIS_ROOT}/software/libs/kgcc9.3.1/hmpi1.1.1/netcdf/4.7.0/lib/ -lnetcdff -lnetcdf -L${JARVIS_ROOT}/software/libs/kgcc9.3.1/hmpi1.1.1/hdf5/1.10.1/lib -lhdf5_hl -lhdf5 -lz \$(OMPLIBS) \$(ARCHLIB) \$(ARCHLIBS)" m3tools/Makefile cp Makefile.template Makefile sed -i "138c\BIN = Linux4_aarch64" Makefile @@ -25,7 +28,8 @@ sed -i "141c\LIBINST = \$(INSTALL)/\$(BIN)" Makefile sed -i "142c\BININST = \$(INSTALL)/\$(BIN)" Makefile sed -i "143c\CPLMODE = nocpl" Makefile sed -i '144c\IOAPIDEFS = "-DIOAPI_NCF4"' Makefile -sed -i "193c\NCFLIBS = -L${JARVIS_ROOT}/software/libs/kgcc9.3.1/hmpi1.1.1/netcdf/4.7.0/lib/ -lnetcdff -lnetcdf -L${JARVIS_ROOT}/software/libs/kgcc9.3.1/hmpi1.1.1/hdf5/1.10.1/lib -lhdf5_hl -lhdf5 -lz" Makefile +sed -i "146c\NCFLIBS = -L${NETCDF_PATH}/lib -lnetcdff -lnetcdf -L${HDF5_PATH}/lib -lhdf5_hl -lhdf5 -lz" Makefile +sed -i "193c\NCFLIBS = -L${NETCDF_PATH}/lib -lnetcdff -lnetcdf -L${HDF5_PATH}/lib -lhdf5_hl -lhdf5 -lz" Makefile make BIN=Linux4_aarch64 sed -i "174c\ COMMON / BSTATE3 / " ioapi/STATE3.EXT sed -i "175c\ & P_ALP3, P_BET3, P_GAM3, " ioapi/STATE3.EXT @@ -41,5 +45,7 @@ sed -i "184c\ & BSIZE3, LDATE3, LTIME3, NDATE3, NTIME3, ILAST3, sed -i "185c\ & VTYPE3, " ioapi/STATE3.EXT sed -i "186c\ & ILCNT3, NLIST3, IFRST3, ILIST3, BEGRC3, ENDRC3, " ioapi/STATE3.EXT sed -i "191c\ COMMON / CSTATE3 / " ioapi/STATE3.EXT -cp -a Linux4_aarch64 $1/bin +cp -r Linux4_aarch64 $1/ +cp -r ioapi $1/ +cp -a Linux4_aarch64 $1/bin diff --git a/templates/CMAQ/5.3.1/data.CMAQ.arm_kgcc.cpu.config b/templates/CMAQ/5.3.1/data.CMAQ.arm_kgcc.cpu.config index 45a2b1ddc72a6ff441ce3fb2ecf2b5ce07fef533..50e155464d6f83a9c5f75e19d70fd27723716ffd 100644 --- a/templates/CMAQ/5.3.1/data.CMAQ.arm_kgcc.cpu.config +++ b/templates/CMAQ/5.3.1/data.CMAQ.arm_kgcc.cpu.config @@ -5,22 +5,25 @@ CMAQ/5.3.1 https://codeload.github.com/USEPA/CMAQ/tar.gz/CMAQv5.3.1_19Dec2019 CMAQ-CMAQv5.3.1_19Dec2019.tar.gz [DEPENDENCY] +yum install tcsh -y module use ${JARVIS_ROOT}/software/modulefiles module purge -./jarvis -install kgcc9.3.1/9.3.1 com +./jarvis -install kgcc/9.3.1 com module load kgcc/9.3.1 ./jarvis -install hmpi/1.1.1 gcc module load hmpi/1.1.1 export CC=mpicc CXX=mpicxx FC=mpifort F77=mpifort ./jarvis -install hdf5/1.10.1 gcc+mpi +module use ./software/moduledeps/kgcc9.3.1-hmpi1.1.1 module load hdf5/1.10.1 ./jarvis -install pnetcdf/1.11.2 gcc+mpi +module load pnetcdf/1.11.2 ./jarvis -install netcdf/4.7.0 gcc+mpi -module add netcdf/4.7.0 +module load netcdf/4.7.0 ./jarvis -install optimized-routines/20.02 gcc+mpi module load optimized-routines/20.02 -./jarvis -install package/ioapi/3.2 gcc+mpi -module load ioapi/3.2 +./jarvis -install ioapi/3.2/kgcc gcc+mpi +module load ioapi-kgcc/3.2 cd ${JARVIS_TMP} rm -rf ioapi-3.2 CMAQ-CMAQv5.3.1_19Dec2019 tar -xvf ${JARVIS_DOWNLOAD}/CMAQ-CMAQv5.3.1_19Dec2019.tar.gz @@ -31,44 +34,54 @@ module use ${JARVIS_ROOT}/software/modulefiles module purge module load kgcc/9.3.1 module load hmpi/1.1.1 +export CC=mpicc CXX=mpicxx FC=mpifort F77=mpifort +module use ./software/moduledeps/kgcc9.3.1-hmpi1.1.1 module load hdf5/1.10.1 +module load pnetcdf/1.11.2 module load netcdf/4.7.0 module load optimized-routines/20.02 -module load ioapi/3.2 +module load ioapi-kgcc/3.2 [APP] app_name = CMAQ build_dir = ${JARVIS_TMP} -binary_dir = -case_dir = +binary_dir = +case_dir = [BUILD] set -x cd ${JARVIS_TMP} cd ${JARVIS_TMP}/CMAQ-CMAQv5.3.1_19Dec2019 +setenv HOME $IOAPI_KGCC_PATH +setenv PATH $KGCC_PATH/bin:$PATH +setenv INCLUDE $KGCC_PATH/include +setenv LD_LIBRARY_PATH $KGCC_PATH/lib +setenv PATH $HMPI_PATH/bin:$PATH +setenv INCLUDE $HMPI_PATH/include:$INCLUDE +setenv LD_LIBRARY_PATH $HMPI_PATH/lib:$LD_LIBRARY_PATH sed -i "20c\set CMAQ_HOME = ${JARVIS_TMP}/CMAQ_Project" bldit_project.csh ./bldit_project.csh cd ../CMAQ_Project/ sed -i "138c\ case kgcc:" config_cmaq.csh -sed -i "140c\ setenv IOAPI_MOD_DIR ${JARVIS_ROOT}/tmp/ioapi-3.2/Linux4_aarch64/" config_cmaq.csh -sed -i "141c\ setenv IOAPI_INCL_DIR ${JARVIS_ROOT}/tmp/ioapi-3.2/ioapi/" config_cmaq.csh -sed -i "142c\ setenv IOAPI_LIB_DIR ${JARVIS_ROOT}/tmp/ioapi-3.2/Linux4_aarch64/" config_cmaq.csh -sed -i "143c\ setenv NETCDF_LIB_DIR ${JARVIS_ROOT}/software/libs/kgcc9.3.1/hmpi1.1.1/netcdf/4.7.0/lib/" config_cmaq.csh -sed -i "144c\ setenv NETCDF_INCL_DIR ${JARVIS_ROOT}/software/libs/kgcc9.3.1/hmpi1.1.1/netcdf/4.7.0/include/" config_cmaq.csh -sed -i "147c\ setenv MPI_LIB_DIR ${JARVIS_ROOT}/software/mpi/hmpi1.1.1-kgcc9.3.1/1.1.1/" config_cmaq.csh -sed -i "145c\ setenv NETCDFF_LIB_DIR ${JARVIS_ROOT}/software/libs/kgcc9.3.1/hmpi1.1.1/netcdf/4.7.0/lib/ #> netCDF Fortran directory path" config_cmaq.csh -sed -i "146c\ setenv NETCDFF_INCL_DIR ${JARVIS_ROOT}/software/libs/kgcc9.3.1/hmpi1.1.1/netcdf/4.7.0/include/ #> netCDF Fortran directory path" config_cmaq.csh -sed -i "151c\ setenv myFC mpifort" config_cmaq.csh -sed -i "152c\ setenv myCC mpicc" config_cmaq.csh -sed -i '158c\ setenv myLINK_FLAG "-fopenmp"' config_cmaq.csh -sed -i '161c\ setenv mpi_lib "-lmpi" #> -lmpich for mvapich or -lmpi for openmpi' config_cmaq.csh -sed -i '184c\ setenv netcdf_lib "-lnetcdf -lnetcdff -lgomp" #> -lnetcdff -lnetcdf for netCDF v4.2.0 and later' config_cmaq.csh +sed -i "141c\ setenv IOAPI_INCL_DIR $IOAPI_KGCC_PATH/ioapi/" config_cmaq.csh +sed -i "142c\ setenv IOAPI_LIB_DIR $IOAPI_KGCC_PATH/Linux4_aarch64/" config_cmaq.csh +sed -i "143c\ setenv NETCDF_LIB_DIR $NETCDF_PATH/lib/" config_cmaq.csh +sed -i "144c\ setenv NETCDF_INCL_DIR $NETCDF_PATH/include/" config_cmaq.csh +sed -i "145c\ setenv MPI_LIB_DIR $HMPI_PATH/" config_cmaq.csh +sed -i "146c\ setenv NETCDFF_LIB_DIR $NETCDF_PATH/lib/" config_cmaq.csh +sed -i "147c\ setenv NETCDFF_INCL_DIR $NETCDF_PATH/include/" config_cmaq.csh + +sed -i '223s/^/#/' config_cmaq.csh +sed -i '224s/^/#/' config_cmaq.csh +sed -i '225s/^/#/' config_cmaq.csh +sed -i '226s/^/#/' config_cmaq.csh + ./config_cmaq.csh kgcc 9.3.1 cd CCTM/scripts/ ./bldit_cctm.csh kgcc 9.3.1 [RUN] -run = -binary = +run = +binary = nodes = 1