diff --git a/package/IPM/2.0.6/install.sh b/package/IPM/2.0.6/install.sh new file mode 100644 index 0000000000000000000000000000000000000000..05fd11caf00964c7161a4b81912fe845fc408b74 --- /dev/null +++ b/package/IPM/2.0.6/install.sh @@ -0,0 +1,13 @@ +#!/bin/bash +set -x + +. ${DOWNLOAD_TOOL} -u https://github.com/nerscadmin/IPM/archive/refs/tags/2.0.6.tar.gz -f IPM-2.0.6.tar.gz +cd ${JARVIS_TMP} +tar -xvf ${JARVIS_DOWNLOAD}/IPM-2.0.6.tar.gz +cd IPM-2.0.6 +./bootstrap.sh +./bootstrap.sh +sed -i "5749cint main(int argc, char *argv[]) {" configure +./configure --prefix=$1 +make +make install diff --git a/package/ioapi/3.2/clang/install.sh b/package/ioapi/3.2/clang/install.sh new file mode 100644 index 0000000000000000000000000000000000000000..6b4d0a9da891e99b6a6bd1aec3627f5ee39227ad --- /dev/null +++ b/package/ioapi/3.2/clang/install.sh @@ -0,0 +1,46 @@ +#!/bin/bash +set -x +set -e +. ${DOWNLOAD_TOOL} -u https://codeload.github.com/cjcoats/ioapi-3.2/tar.gz/2020111 -f ioapi-3.2-2020111.tar.gz +cd ${JARVIS_TMP} +rm -rf ioapi-3.2-2020111 ioapi-3.2 +tar -xvf ${JARVIS_DOWNLOAD}/ioapi-3.2-2020111.tar.gz +mv ioapi-3.2-2020111 ioapi-3.2 +cd ioapi-3.2 +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 "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/bisheng2/hmpi1/netcdf/4.7.0/lib/ -lnetcdff -lnetcdf -L${JARVIS_ROOT}/software/libs/bisheng2/hmpi1/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/bisheng2/hmpi1/netcdf/4.7.0/lib/ -lnetcdff -lnetcdf -L${JARVIS_ROOT}/software/libs/bisheng2/hmpi1/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 +sed -i "139c\BASEDIR = \${PWD}" Makefile +sed -i "140c\INSTALL = \${HOME}" Makefile +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/bisheng2/hmpi1/netcdf/4.7.0/lib/ -lnetcdff -lnetcdf -L${JARVIS_ROOT}/software/libs/bisheng2/hmpi1/hdf5/1.10.1/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 +sed -i "176c\ & XCENT3, YCENT3, XORIG3, YORIG3, XCELL3, YCELL3, " ioapi/STATE3.EXT +sed -i "177c\ & VGTYP3, VGTOP3, VGLVS3, " ioapi/STATE3.EXT +sed -i "178c\ & FINIT3, COUNT3, CURDATE, CURTIME, LOGDEV, " ioapi/STATE3.EXT +sed -i "179c\ & CDFID3, FTYPE3, SDATE3, STIME3, TSTEP3, MXREC3, " ioapi/STATE3.EXT +sed -i "180c\ & NVARS3, NLAYS3, NROWS3, NCOLS3, NTHIK3, " ioapi/STATE3.EXT +sed -i "181c\ & TINDX3, NINDX3, SINDX3, LINDX3, WCNDX3, WRNDX3, " ioapi/STATE3.EXT +sed -i "182c\ & XINDX3, YINDX3, ZINDX3, DXNDX3, DYNDX3, VINDX3, " ioapi/STATE3.EXT +sed -i "183c\ & GDTYP3, VOLAT3, RONLY3, " ioapi/STATE3.EXT +sed -i "184c\ & BSIZE3, LDATE3, LTIME3, NDATE3, NTIME3, ILAST3, " ioapi/STATE3.EXT +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 + diff --git a/package/ioapi/3.2/install.sh b/package/ioapi/3.2/kgcc/install.sh similarity index 90% rename from package/ioapi/3.2/install.sh rename to package/ioapi/3.2/kgcc/install.sh index 73aeddf8d69f06b90104ba7419f7a6d9421b5a84..c4a41ff9c7e89a41c6be358ff0c1b3ba265012ee 100644 --- a/package/ioapi/3.2/install.sh +++ b/package/ioapi/3.2/kgcc/install.sh @@ -14,8 +14,8 @@ 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/hmpi1/netcdf/4.7.0/lib/ -lnetcdff -lnetcdf -L${JARVIS_ROOT}/software/libs/kgcc9/hmpi1/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/hmpi1/netcdf/4.7.0/lib/ -lnetcdff -lnetcdf -L${JARVIS_ROOT}/software/libs/kgcc9/hmpi1/hdf5/1.10.1/lib -lhdf5_hl -lhdf5 -lz \$(OMPLIBS) \$(ARCHLIB) \$(ARCHLIBS)" m3tools/Makefile +sed -i "65c\LIBS = -L\${OBJDIR} -lioapi -L${JARVIS_ROOT}/software/libs/kgcc9/hmpi1/netcdf/4.7.0/lib/ -lnetcdff -lnetcdf -L${JARVIS_ROOT}/software/libs/kgcc9/hmpi1/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/hmpi1/netcdf/4.7.0/lib/ -lnetcdff -lnetcdf -L${JARVIS_ROOT}/software/libs/kgcc9/hmpi1/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 diff --git a/templates/CMAQ/5.3.1/data.CMAQ.arm_clang.cpu.config b/templates/CMAQ/5.3.1/data.CMAQ.arm_clang.cpu.config new file mode 100644 index 0000000000000000000000000000000000000000..9b967d4fe6939ac06fac02d1695954f9e834b1b2 --- /dev/null +++ b/templates/CMAQ/5.3.1/data.CMAQ.arm_clang.cpu.config @@ -0,0 +1,75 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +CMAQ/5.3.1 https://codeload.github.com/USEPA/CMAQ/tar.gz/CMAQv5.3.1_19Dec2019 CMAQ-CMAQv5.3.1_19Dec2019.tar.gz + +[DEPENDENCY] +module use ${JARVIS_ROOT}/software/modulefiles +module purge +./jarvis -install bisheng2/2.1.0 com +module load bisheng2/2.1.0 +./jarvis -install hmpi/1.1.1 clang +module load hmpi1/1.1.1 +export CC=mpicc CXX=mpicxx FC=mpifort F77=mpifort +./jarvis -install hdf5/1.10.1 clang+mpi +module load hdf5/1.10.1 +./jarvis -install pnetcdf/1.11.2 clang+mpi +./jarvis -install netcdf/4.7.0 clang+mpi +module add netcdf/4.7.0 +./jarvis -install optimized-routines/20.02 clang+mpi +module load optimized-routines/20.02 +./jarvis -install ioapi/3.2/clang clang+mpi +module load ioapi-clang/3.2 +cd ${JARVIS_TMP} +rm -rf CMAQ-CMAQv5.3.1_19Dec2019 CMAQ_Project +tar -xvf ${JARVIS_DOWNLOAD}/CMAQ-CMAQv5.3.1_19Dec2019.tar.gz + + +[ENV] +module use ${JARVIS_ROOT}/software/modulefiles +module purge +module load bisheng2/2.1.0 +module load hmpi1/1.1.1 +module load hdf5/1.10.1 +module load netcdf/4.7.0 +module load optimized-routines/20.02 +module load ioapi-clang/3.2 + +[APP] +app_name = CMAQ +build_dir = ${JARVIS_TMP} +binary_dir = +case_dir = + +[BUILD] +set -x +cd ${JARVIS_TMP} +cd ${JARVIS_TMP}/CMAQ-CMAQv5.3.1_19Dec2019 +sed -i "20c\set CMAQ_HOME = ${JARVIS_TMP}/CMAQ_Project" bldit_project.csh +./bldit_project.csh +cd ../CMAQ_Project/ +sed -i "138c\ case clang:" 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/bisheng2/hmpi1/netcdf/4.7.0/lib/" config_cmaq.csh +sed -i "144c\ setenv NETCDF_INCL_DIR ${JARVIS_ROOT}/software/libs/bisheng2/hmpi1/netcdf/4.7.0/include/" config_cmaq.csh +sed -i "147c\ setenv MPI_LIB_DIR ${JARVIS_ROOT}/software/mpi/hmpi1-bisheng2/1.1.1/" config_cmaq.csh +sed -i "145c\ setenv NETCDFF_LIB_DIR ${JARVIS_ROOT}/software/libs/bisheng2/hmpi1/netcdf/4.7.0/lib/ #> netCDF Fortran directory path" config_cmaq.csh +sed -i "146c\ setenv NETCDFF_INCL_DIR ${JARVIS_ROOT}/software/libs/bisheng2/hmpi1/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 '153c\ setenv myFSTD "-O3 -funroll-loops -finit-character=32 -Wtabs -Wsurprising"' 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 +./config_cmaq.csh clang 2.1.0 +cd CCTM/scripts/ +./bldit_cctm.csh clang 2.1.0 +set +x + +[RUN] +run = +binary = +nodes = 1 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 2606817cb0ebd9c6ea342327bc204a842a6c6d61..716e8256d078bc6e9ffbeda8dd4e87df954c4148 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 @@ -22,7 +22,7 @@ module load optimized-routines/20.02 ./jarvis -install package/ioapi/3.2 gcc+mpi module load ioapi/3.2 cd ${JARVIS_TMP} -rm -rf CMAQ-CMAQv5.3.1_19Dec2019 +rm -rf ioapi-3.2 CMAQ-CMAQv5.3.1_19Dec2019 tar -xvf ${JARVIS_DOWNLOAD}/CMAQ-CMAQv5.3.1_19Dec2019.tar.gz @@ -61,7 +61,7 @@ sed -i "146c\ setenv NETCDFF_INCL_DIR ${JARVIS_ROOT}/software/libs/kgcc9/ 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 '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 ./config_cmaq.csh kgcc 9.3.1 cd CCTM/scripts/ diff --git a/templates/IPM/2.0.6/data.IPM.arm.cpu.config b/templates/IPM/2.0.6/data.IPM.arm.cpu.config new file mode 100644 index 0000000000000000000000000000000000000000..07cb4fc49f67bfb5e942951b4365b7526b93b4d6 --- /dev/null +++ b/templates/IPM/2.0.6/data.IPM.arm.cpu.config @@ -0,0 +1,31 @@ +[SERVER] +11.11.11.11 + +[DEPENDENCY] +module use ${JARVIS_ROOT}/software/modulefiles +module purge +./jarvis -install bisheng2/2.1.0 com +module load bisheng2/2.1.0 +./jarvis -install hmpi/1.1.1 clang +module load hmpi1/1.1.1 +export CC=mpicc CXX=mpicxx FC=mpifort F77=mpifort + +[ENV] +module use ${JARVIS_ROOT}/software/modulefiles +module purge +module load bisheng2/2.1.0 +module load hmpi1/1.1.1 + +[APP] +app_name = IPM +build_dir = ${JARVIS_ROOT} +binary_dir = +case_dir = + +[BUILD] +./jarvis -install IPM/2.0.6 clang+mpi + +[RUN] +run = +binary = +nodes = 1 diff --git a/templates/ioapi/3.2/data.ioapi.arm.cpu.config b/templates/ioapi/3.2/data.ioapi.arm_kgcc.cpu.config similarity index 92% rename from templates/ioapi/3.2/data.ioapi.arm.cpu.config rename to templates/ioapi/3.2/data.ioapi.arm_kgcc.cpu.config index 5098c50590b30c29164b41bf26341b608c4fd71d..dd6eca6fdd53034f564744b97a9c588ba0f4809f 100644 --- a/templates/ioapi/3.2/data.ioapi.arm.cpu.config +++ b/templates/ioapi/3.2/data.ioapi.arm_kgcc.cpu.config @@ -25,7 +25,7 @@ binary_dir = case_dir = [BUILD] -./jarvis -install ioapi/3.2 gcc+mpi +./jarvis -install ioapi/3.2/kgcc gcc+mpi [RUN] run = diff --git a/templates/ioapi/3.2/data.ioapi_clang.arm.cpu.config b/templates/ioapi/3.2/data.ioapi_clang.arm.cpu.config new file mode 100644 index 0000000000000000000000000000000000000000..804a9fc737fb09957c7950fdac92b20e0c213538 --- /dev/null +++ b/templates/ioapi/3.2/data.ioapi_clang.arm.cpu.config @@ -0,0 +1,34 @@ +[SERVER] +11.11.11.11 + +[DEPENDENCY] +module use ${JARVIS_ROOT}/software/modulefiles +module purge +./jarvis -install bisheng/2.1.0 com +export CC=clang CXX=clang++ FC=flang +module load kgcc9/9.3.1 +./jarvis -install hmpi/1.1.1 clang +module load hmpi1/1.1.1 +export CC=mpicc CXX=mpicxx FC=mpifort F77=mpifort + + +[ENV] +module use ${JARVIS_ROOT}/software/modulefiles +module purge +module load bisheng2/2.1.0 +module load hmpi1/1.1.1 + + +[APP] +app_name = ioapi +build_dir = ${JARVIS_ROOT} +binary_dir = +case_dir = + +[BUILD] +./jarvis -install ioapi/3.2/clang clang+mpi + +[RUN] +run = +binary = +nodes = 1 diff --git a/templates/qe/6.4/data.qe.arm.cpu.config b/templates/qe/6.4/data.qe.arm.cpu.config new file mode 100644 index 0000000000000000000000000000000000000000..fd937875485b1403175a2d0d9345436ac0de557e --- /dev/null +++ b/templates/qe/6.4/data.qe.arm.cpu.config @@ -0,0 +1,54 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +qe/6.4 https://github.com/QEF/q-e/archive/refs/tags/qe-6.4.1.tar.gz q-e-qe-6.4.1.tar.gz + +[DEPENDENCY] +set -x +set -e +./jarvis -install bisheng/2.1.0 com +module purge +module use ./software/modulefiles +module load bisheng2/2.1.0 +export CC=`which clang` +export CXX=`which clang++` +export FC=`which flang` +./jarvis -install hmpi/1.1.1 bisheng +module load hmpi1/1.1.1 +./jarvis -bench mpi +./jarvis -install openblas/0.3.18 bisheng +cd tmp/ +tar -xzvf ${JARVIS_DOWNLOAD}/q-e-qe-6.4.1.tar.gz + +[ENV] +source /etc/profile +module purge +module use ./software/modulefiles +module load bisheng2/2.1.0 +export CC=`which clang` +export CXX=`which clang++` +export FC=`which flang` +module load hmpi1/1.1.1 +module load openblas/0.3.18 +export BLAS_LIBS="-L${JARVIS_LIBS}/bisheng2/openblas/0.3.18/lib -lopenblas" +export LAPACK_LIBS="-L${JARVIS_LIBS}/bisheng2/openblas/0.3.18/lib -lopenblas" + +[APP] +app_name = QE +build_dir = ${JARVIS_ROOT}/tmp/q-e-qe-6.4.1 +binary_dir = +case_dir = + +[BUILD] +./configure --prefix=${JARVIS_ROOT}/software/apps/QE F90=flang F77=flang MPIF90=mpifort MPIF77=mpifort CC=mpicc FCFLAGS="-O3" CFLAGS="-O3" --with-scalapack=no --enable-openmp +make -j pwall +make install + +[CLEAN] +make clean + +[RUN] +run = +binary = +nodes = 1