From 2810654b7465c88bafea878ea15d556ae22af1c4 Mon Sep 17 00:00:00 2001 From: yuanchunlin1 Date: Thu, 19 May 2022 11:01:36 +0800 Subject: [PATCH] add ioapi --- package/ioapi/3.2/install.sh | 45 +++++++++++++++++++ .../CMAQ/5.3.1/data.CMAQ.arm_kgcc.cpu.config | 44 ++---------------- .../data.optimized-routines.arm.cpu.config | 33 ++++++++++++++ templates/ioapi/3.2/data.ioapi.arm.cpu.config | 33 ++++++++++++++ 4 files changed, 115 insertions(+), 40 deletions(-) create mode 100644 package/ioapi/3.2/install.sh create mode 100644 templates/OPTIMIZED-ROUTINES/20.02/data.optimized-routines.arm.cpu.config create mode 100644 templates/ioapi/3.2/data.ioapi.arm.cpu.config diff --git a/package/ioapi/3.2/install.sh b/package/ioapi/3.2/install.sh new file mode 100644 index 0000000..73aeddf --- /dev/null +++ b/package/ioapi/3.2/install.sh @@ -0,0 +1,45 @@ +#!/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} +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/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 +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/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" 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/templates/CMAQ/5.3.1/data.CMAQ.arm_kgcc.cpu.config b/templates/CMAQ/5.3.1/data.CMAQ.arm_kgcc.cpu.config index 3bc0bbd..b07c6e9 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 @@ -2,7 +2,6 @@ 11.11.11.11 [DOWNLOAD] -ioapi/3.2 https://codeload.github.com/cjcoats/ioapi-3.2/tar.gz/2020111 ioapi-3.2-2020111.tar.gz CMAQ/5.3.1 https://codeload.github.com/USEPA/CMAQ/tar.gz/CMAQv5.3.1_19Dec2019 CMAQ-CMAQv5.3.1_19Dec2019.tar.gz [DEPENDENCY] @@ -20,11 +19,12 @@ module load hdf5/1.10.1 module add 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 cd ${JARVIS_TMP} rm -rf ioapi-3.2 CMAQ-CMAQv5.3.1_19Dec2019 -tar -xvf ${JARVIS_DOWNLOAD}/ioapi-3.2-2020111.tar.gz tar -xvf ${JARVIS_DOWNLOAD}/CMAQ-CMAQv5.3.1_19Dec2019.tar.gz -mv ioapi-3.2-2020111 ioapi-3.2 + [ENV] module use ${JARVIS_ROOT}/software/modulefiles @@ -34,6 +34,7 @@ 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/3.2 [APP] app_name = CMAQ @@ -44,43 +45,6 @@ case_dir = [BUILD] set -x cd ${JARVIS_TMP} -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/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 -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/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" 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 - cd ${JARVIS_TMP}/CMAQ-CMAQv5.3.1_19Dec2019 sed -i "20c\set CMAQ_HOME = ${JARVIS_TMP}/CMAQ_Project" bldit_project.csh ./bldit_project.csh diff --git a/templates/OPTIMIZED-ROUTINES/20.02/data.optimized-routines.arm.cpu.config b/templates/OPTIMIZED-ROUTINES/20.02/data.optimized-routines.arm.cpu.config new file mode 100644 index 0000000..404f28f --- /dev/null +++ b/templates/OPTIMIZED-ROUTINES/20.02/data.optimized-routines.arm.cpu.config @@ -0,0 +1,33 @@ +[SERVER] +11.11.11.11 + +[DEPENDENCY] +module use ${JARVIS_ROOT}/software/modulefiles +module purge +./jarvis -install kgcc9/9.3.1 com +module load kgcc9/9.3.1 +./jarvis -install hmpi/1.1.1 gcc +module load hmpi1/1.1.1 +export CC=mpicc CXX=mpicxx FC=mpifort F77=mpifort + + +[ENV] +module use ./software/modulefiles +module purge +module load kgcc9/9.3.1 +module load hmpi1/1.1.1 + + +[APP] +app_name = ioapi +build_dir = ${JARVIS_ROOT} +binary_dir = +case_dir = + +[BUILD] +./jarvis -install optimized-routines/20.02 gcc+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.cpu.config new file mode 100644 index 0000000..5098c50 --- /dev/null +++ b/templates/ioapi/3.2/data.ioapi.arm.cpu.config @@ -0,0 +1,33 @@ +[SERVER] +11.11.11.11 + +[DEPENDENCY] +module use ${JARVIS_ROOT}/software/modulefiles +module purge +./jarvis -install kgcc9/9.3.1 com +module load kgcc9/9.3.1 +./jarvis -install hmpi/1.1.1 gcc +module load hmpi1/1.1.1 +export CC=mpicc CXX=mpicxx FC=mpifort F77=mpifort + + +[ENV] +module use ./software/modulefiles +module purge +module load kgcc9/9.3.1 +module load hmpi1/1.1.1 + + +[APP] +app_name = ioapi +build_dir = ${JARVIS_ROOT} +binary_dir = +case_dir = + +[BUILD] +./jarvis -install ioapi/3.2 gcc+mpi + +[RUN] +run = +binary = +nodes = 1 -- Gitee