diff --git a/benchmark/README.md b/benchmark/README.md old mode 100644 new mode 100755 diff --git a/benchmark/gemm/Makefile b/benchmark/gemm/Makefile old mode 100644 new mode 100755 diff --git a/benchmark/gemm/gemm.cpp b/benchmark/gemm/gemm.cpp old mode 100644 new mode 100755 diff --git a/benchmark/gemm/run.sh b/benchmark/gemm/run.sh old mode 100644 new mode 100755 diff --git a/benchmark/mpi/reduce_avg.c b/benchmark/mpi/reduce_avg.c old mode 100644 new mode 100755 diff --git a/benchmark/mpi/run.sh b/benchmark/mpi/run.sh old mode 100644 new mode 100755 diff --git a/benchmark/omp/Makefile b/benchmark/omp/Makefile old mode 100644 new mode 100755 diff --git a/benchmark/omp/caclPI.cpp b/benchmark/omp/caclPI.cpp old mode 100644 new mode 100755 diff --git a/benchmark/omp/gramSchmidt_gpu.F90 b/benchmark/omp/gramSchmidt_gpu.F90 old mode 100644 new mode 100755 diff --git a/benchmark/omp/gramSchmidt_gpu.c b/benchmark/omp/gramSchmidt_gpu.c old mode 100644 new mode 100755 diff --git a/benchmark/omp/run.sh b/benchmark/omp/run.sh old mode 100644 new mode 100755 diff --git a/benchmark/p2p/Makefile b/benchmark/p2p/Makefile old mode 100644 new mode 100755 diff --git a/benchmark/p2p/p2pBandwidthLatencyTest.cu b/benchmark/p2p/p2pBandwidthLatencyTest.cu old mode 100644 new mode 100755 diff --git a/benchmark/p2p/run.sh b/benchmark/p2p/run.sh old mode 100644 new mode 100755 diff --git a/benchmark/p2p/shared.mk b/benchmark/p2p/shared.mk old mode 100644 new mode 100755 diff --git a/container/ncl/data.NCL.arm.cpu.config.def b/container/ncl/data.NCL.arm.cpu.config.def new file mode 100644 index 0000000000000000000000000000000000000000..16c01d78f1798bfb48bdd7119ab79ce2469cad4c --- /dev/null +++ b/container/ncl/data.NCL.arm.cpu.config.def @@ -0,0 +1,34 @@ +BootStrap: docker +From: openeuler/openeuler:20.03 + +%environment + source /etc/profile || true + cd /hpcrunner + source env.sh + +%post + # Install the necessary development environment + yum install -y environment-modules git dmidecode pciutils wget vim + # Install base gcc + yum install -y gcc gcc-c++ gcc-gfortran glibc-devel make libgfortran + # install network package + yum install -y tcsh tcl lsof tk bc + source /etc/profile || true + git config --global http.sslVerify false + git clone https://gitee.com/openeuler/hpcrunner + cd hpcrunner + source ./init.sh + # add your personal files here + + # Switch config + ./jarvis -use templates/ncl/6.6.2/data.NCL.arm.cpu.config + # download dependency + ./jarvis -d + # install dependency + ./jarvis -dp + # build hpc + ./jarvis -b + # run hpc + ./jarvis -r + # clean tmp directory + rm -rf downloads tmp diff --git a/container/ncl/data.NCL.x86.cpu.config.def b/container/ncl/data.NCL.x86.cpu.config.def new file mode 100644 index 0000000000000000000000000000000000000000..8f8b66cc84d23ab9f7e62ef07e2b151e65a9540f --- /dev/null +++ b/container/ncl/data.NCL.x86.cpu.config.def @@ -0,0 +1,36 @@ +BootStrap: docker +From: openeuler/openeuler:20.03 + +%environment + source /etc/profile || true + cd /hpcrunner + source env.sh + +%post + # Install the necessary development environment + yum install -y environment-modules git dmidecode pciutils wget vim glib2-devel zlib libX11 libX11-devel flex fontconfig flex-devel byacc libXext xz libXmu-devel expat-devel + # Install base gcc + yum install -y gcc gcc-c++ gcc-gfortran glibc-devel make libgfortran imake bzip2 bzip2-devel libXrender-devel libXaw libXaw-devel libcurl-devel libcurl + # install network package + yum install -y tcsh tcl lsof tk bc + source /etc/profile || true + git config --global http.sslVerify false + git clone https://gitee.com/openeuler/hpcrunner + cd hpcrunner + source ./init.sh + # add your personal files here + sed -i '12c make -j2 && make install' package/gcc/10.3.0/install.sh + sed -i '$c make -j2 install' package/openmpi/4.1.2/install.sh + sed -i '4c\ . ${DOWNLOAD_TOOL} -u https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-10.3.0/gcc-10.3.0.tar.gz' package/gcc/10.3.0/install.sh + # Switch config + ./jarvis -use templates/ncl/6.6.2/data.NCL.x86.cpu.config + # download dependency + ./jarvis -d + # install dependency + ./jarvis -dp + # build hpc + ./jarvis -b + # run hpc + ./jarvis -r + # clean tmp directory + rm -rf downloads tmp diff --git a/container/nco/data.NCO.arm.cpu.config.def b/container/nco/data.NCO.arm.cpu.config.def new file mode 100644 index 0000000000000000000000000000000000000000..a9ece4f466bd89dafedb4c6c2a1983a14971ca4d --- /dev/null +++ b/container/nco/data.NCO.arm.cpu.config.def @@ -0,0 +1,34 @@ +BootStrap: docker +From: openeuler/openeuler:20.03 + +%environment + source /etc/profile || true + cd /hpcrunner + source env.sh + +%post + # Install the necessary development environment + yum install -y environment-modules git dmidecode pciutils wget vim expat-devel + # Install base gcc + yum install -y gcc gcc-c++ gcc-gfortran glibc-devel make libgfortran + # install network package + yum install -y tcsh tcl lsof tk bc + source /etc/profile || true + git config --global http.sslVerify false + git clone https://gitee.com/openeuler/hpcrunner + cd hpcrunner + source ./init.sh + # add your personal files here + + # Switch config + ./jarvis -use templates/nco/5.1.4/data.NCO.arm.cpu.config + # download dependency + ./jarvis -d + # install dependency + ./jarvis -dp + # build hpc + ./jarvis -b + # run hpc + ./jarvis -r + # clean tmp directory + rm -rf downloads tmp diff --git a/container/nco/data.NCO.x86.cpu.config.def b/container/nco/data.NCO.x86.cpu.config.def new file mode 100644 index 0000000000000000000000000000000000000000..37774cdca1301b686018e33d6aeccabecd6d8b80 --- /dev/null +++ b/container/nco/data.NCO.x86.cpu.config.def @@ -0,0 +1,37 @@ +BootStrap: docker +From: openeuler/openeuler:20.03 + +%environment + source /etc/profile || true + cd /hpcrunner + source env.sh + +%post + # Install the necessary development environment + yum install -y environment-modules git dmidecode pciutils wget vim glib2-devel zlib libX11 libX11-devel flex fontconfig flex-devel byacc libXext xz libXmu-devel expat-devel + # Install base gcc + yum install -y gcc gcc-c++ gcc-gfortran glibc-devel make libgfortran imake bzip2 bzip2-devel libXrender-devel libXaw libXaw-devel libcurl-devel libcurl + # install network package + yum install -y tcsh tcl lsof tk bc + source /etc/profile || true + git config --global http.sslVerify false + git clone https://gitee.com/openeuler/hpcrunner + cd hpcrunner + source ./init.sh + # add your personal files here + sed -i '12c make -j2 && make install' package/gcc/10.3.0/install.sh + sed -i '$c make -j2 install' package/openmpi/4.1.2/install.sh + sed -i '4c\ . ${DOWNLOAD_TOOL} -u https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-10.3.0/gcc-10.3.0.tar.gz' package/gcc/10.3.0/install.sh + # Switch config + ./jarvis -use templates/nco/5.1.4/data.NCO.x86.cpu.config + # download dependency + + ./jarvis -d + # install dependency + ./jarvis -dp + # build hpc + ./jarvis -b + # run hpc + ./jarvis -r + # clean tmp directory + rm -rf downloads tmp diff --git a/container/ncview/data.ncview.x86.cpu.config.def b/container/ncview/data.ncview.x86.cpu.config.def new file mode 100644 index 0000000000000000000000000000000000000000..dfe95725102eca92e557139319f2a75133e512b9 --- /dev/null +++ b/container/ncview/data.ncview.x86.cpu.config.def @@ -0,0 +1,35 @@ +BootStrap: docker +From: openeuler/openeuler:20.03 + +%environment + source /etc/profile || true + cd /hpcrunner + source env.sh + +%post + # Install the necessary development environment + yum install -y environment-modules git dmidecode pciutils wget vim glib2-devel zlib libX11 libX11-devel flex fontconfig flex-devel byacc libXext xz libXmu-devel expat-devel + # Install base gcc + yum install -y gcc gcc-c++ gcc-gfortran glibc-devel make libgfortran imake bzip2 bzip2-devel libXrender-devel libXaw libXaw-devel libcurl-devel libcurl # install network package + yum install -y tcsh tcl lsof tk bc + source /etc/profile || true + git config --global http.sslVerify false + git clone https://gitee.com/openeuler/hpcrunner + cd hpcrunner + source ./init.sh + # add your personal files here + sed -i '12c make -j2 && make install' package/gcc/10.3.0/install.sh + sed -i '$c make -j2 install' package/openmpi/4.1.2/install.sh + sed -i '4c\ . ${DOWNLOAD_TOOL} -u https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-10.3.0/gcc-10.3.0.tar.gz' package/gcc/10.3.0/install.sh + # Switch config + ./jarvis -use templates/ncview/2.1.7/data.ncview.x86.cpu.config + # download dependency + ./jarvis -d + # install dependency + ./jarvis -dp + # build hpc + ./jarvis -b + # run hpc + ./jarvis -r + # clean tmp directory + rm -rf downloads tmp diff --git "a/doc/ncl_nco_ncview/\343\200\212\345\237\272\344\272\216openEuler\347\232\204ncl_nco_ncview\350\275\257\344\273\266\346\265\213\350\257\225\346\212\245\345\221\212\343\200\213.md" "b/doc/ncl_nco_ncview/\343\200\212\345\237\272\344\272\216openEuler\347\232\204ncl_nco_ncview\350\275\257\344\273\266\346\265\213\350\257\225\346\212\245\345\221\212\343\200\213.md" new file mode 100644 index 0000000000000000000000000000000000000000..4316eac098173bbdaa5484a0a3b31935d2f1ce2f --- /dev/null +++ "b/doc/ncl_nco_ncview/\343\200\212\345\237\272\344\272\216openEuler\347\232\204ncl_nco_ncview\350\275\257\344\273\266\346\265\213\350\257\225\346\212\245\345\221\212\343\200\213.md" @@ -0,0 +1,784 @@ +# 《基于openEuler的NCL/NCO/NCVIEW软件测试报告》 + +## 1.规范性自检 + +项目使用了Artistic Style对文件进行格式化 + +AStyle,即Artistic Style,是一个可用于C, C++, C++/CLI, Objective‑C, C# 和Java编程语言格式化和美化的工具。我们在使用编辑器的缩进(TAB)功能时,由于不同编辑器的差别,有的插入的是制表符,有的是2个空格,有的是4个空格。这样如果别人用另一个编辑器来阅读程序时,可能会由于缩进的不同,导致阅读效果一团糟。为了解决这个问题,使用C++开发了一个插件,它可以自动重新缩进,并手动指定空格的数量,自动格式化源文件。它是可以通过命令行使用,也可以作为插件,在其他IDE中使用。 + +文件格式化配置参考文件`config/mfem.astylerc`,文件内容如下 + +```astylerc +--style=allman +--indent=spaces=3 +--keep-one-line-statements +--keep-one-line-blocks +--pad-header +--max-code-length=80 +--max-instatement-indent=80 +--min-conditional-indent=0 +--indent-col1-comments +--indent-labels +--break-after-logical +--add-brackets +--indent-switches +--convert-tabs +--lineend=linux +--suffix=none +--preserve-date +--formatted +``` + +检查代码规范性,可以通过使用AStyle对所有源码进行重新格式化,然后使用git查看文件修改。 + +统计代码不规范内容。 +## NCL +### 1.1.选择统计文件类型 + +统计项目文件类型及其文件数量 + +使用python编写脚本文件 + +```python +import os + +print(os.getcwd()) + +def getAllFiles(targetDir): + files = [] + listFiles = os.listdir(targetDir) + for i in range(0, len(listFiles)): + path = os.path.join(targetDir, listFiles[i]) + if os.path.isdir(path): + files.extend(getAllFiles(path)) + elif os.path.isfile(path): + files.append(path) + return files + +all_files = getAllFiles(os.curdir) +type_dict = dict() + +for each_file in all_files: + if os.path.isdir(each_file): + type_dict.setdefault("directory", 0) + type_dict["directory"] += 1 + else: + ext = os.path.splitext(each_file)[1] + type_dict.setdefault(ext, 0) + type_dict[ext] += 1 + +for each_type in dict(sorted(type_dict.items(), reverse=True, key=lambda item: item[1])).keys(): + print("当前文件夹下共有[%s]的文件%d个" % (each_type, type_dict[each_type])) +``` + +在NCL项目根目录下运行,运行结果如下 + +```bash +当前文件夹下共有[.f]的文件3857个 +当前文件夹下共有[.c]的文件1481个 +当前文件夹下共有[.m]的文件882个 +当前文件夹下共有[]的文件852个 +当前文件夹下共有[.h]的文件826个 +当前文件夹下共有[.table]的文件618个 +当前文件夹下共有[.rgb]的文件270个 +当前文件夹下共有[.ncl]的文件259个 +当前文件夹下共有[.sed]的文件84个 +当前文件夹下共有[.res]的文件63个 +当前文件夹下共有[.nc]的文件58个 +当前文件夹下共有[.sh]的文件52个 +当前文件夹下共有[.gc]的文件43个 +当前文件夹下共有[.cdf]的文件36个 +当前文件夹下共有[.specific]的文件32个 +当前文件夹下共有[.fc]的文件31个 +当前文件夹下共有[.dat]的文件27个 +当前文件夹下共有[.f90]的文件23个 +当前文件夹下共有[.gp]的文件22个 +当前文件夹下共有[.csh]的文件14个 +当前文件夹下共有[.asc]的文件14个 +当前文件夹下共有[.ttf]的文件13个 +当前文件夹下共有[.o]的文件12个 +当前文件夹下共有[.doc]的文件11个 +当前文件夹下共有[.py]的文件9个 +当前文件夹下共有[.ncmap]的文件8个 +当前文件夹下共有[.txt]的文件6个 +当前文件夹下共有[.xml]的文件6个 +当前文件夹下共有[.md]的文件5个 +当前文件夹下共有[.grb2]的文件5个 +当前文件夹下共有[.l]的文件4个 +当前文件夹下共有[.areas]的文件4个 +当前文件夹下共有[.java]的文件4个 +当前文件夹下共有[.ksh]的文件3个 +当前文件夹下共有[.PGI]的文件3个 +当前文件夹下共有[.INTEL]的文件3个 +当前文件夹下共有[.GNU]的文件3个 +当前文件夹下共有[.yml]的文件3个 +当前文件夹下共有[.csv]的文件2个 +当前文件夹下共有[.dbf]的文件2个 +当前文件夹下共有[.shx]的文件2个 +当前文件夹下共有[.shp]的文件2个 +当前文件夹下共有[.prj]的文件2个 +当前文件夹下共有[.null]的文件2个 +当前文件夹下共有[.y]的文件2个 +当前文件夹下共有[.template]的文件2个 +当前文件夹下共有[.64]的文件2个 +当前文件夹下共有[.tiff]的文件1个 +当前文件夹下共有[.bit]的文件1个 +当前文件夹下共有[.xbm]的文件1个 +当前文件夹下共有[.ad]的文件1个 +当前文件夹下共有[.tbl]的文件1个 +当前文件夹下共有[.PS]的文件1个 +当前文件夹下共有[.CO]的文件1个 +当前文件夹下共有[.3]的文件1个 +当前文件夹下共有[.1]的文件1个 +当前文件夹下共有[.US]的文件1个 +当前文件夹下共有[.2]的文件1个 +当前文件夹下共有[.4]的文件1个 +当前文件夹下共有[.PO]的文件1个 +当前文件夹下共有[.png]的文件1个 +当前文件夹下共有[.pngi]的文件1个 +当前文件夹下共有[.form]的文件1个 +当前文件夹下共有[.pre]的文件1个 +当前文件夹下共有[.imagen]的文件1个 +当前文件夹下共有[.file]的文件1个 +当前文件夹下共有[.grib2]的文件1个 +当前文件夹下共有[.grb]的文件1个 +当前文件夹下共有[.hdf]的文件1个 +当前文件夹下共有[.he2]的文件1个 +当前文件夹下共有[.he5]的文件1个 +当前文件夹下共有[.cocos]的文件1个 +当前文件夹下共有[.cpt]的文件1个 +当前文件夹下共有[.bin]的文件1个 +当前文件夹下共有[.ctl]的文件1个 +当前文件夹下共有[.mdl]的文件1个 +当前文件夹下共有[.xlsx]的文件1个 +当前文件夹下共有[.F90]的文件1个 +当前文件夹下共有[.xsl]的文件1个 +当前文件夹下共有[.pl]的文件1个 +当前文件夹下共有[.ifort]的文件1个 +当前文件夹下共有[.xl]的文件1个 +当前文件夹下共有[.absoft]的文件1个 +当前文件夹下共有[.man]的文件1个 +当前文件夹下共有[.amd64]的文件1个 +当前文件夹下共有[.g95]的文件1个 +当前文件夹下共有[.IA64]的文件1个 +当前文件夹下共有[.ini]的文件1个 +当前文件夹下共有[.32]的文件1个 +当前文件夹下共有[.n32]的文件1个 +当前文件夹下共有[.patch]的文件1个 + +``` + +查看上述结果可知主要源码文件后缀名为 `c`,`h`,`f` + +### 1.2.统计源码总行数 + +统计所有源码文件的代码行数 + +```bash + find ./ -regex ".*\.f\|.*\.c\|.*\.h\|"\ + | xargs wc -l +``` + +统计结果 + +```bash + 1001123 total +``` + +### 1.3.统计不符合要求的总行数 + +对文件后缀名为 `h`,`c` 的所有文件进行格式 +通过git与astyle结合的方式进行统计 +```bash +# astyle -R ./*.cpp,*.h,*.hpp -v +... +------------------------------------------------------------ + 2,179 formatted 128 unchanged 14.4 seconds 1,095,902 lines +``` + +### 1.4.统计结果 + +综上信息,项目中代码规范性自检检查结果为 + +通过率 : 0.2% 1-96213/96400*100% + +不通过率 : 99.8% 96213/96400*100% + +# 2.功能性测试 + +ncl作为图形软件,并无内置测试用例,通过判断ncl软件是否编译成功来进行功能性测试,官方文档中,只有满足所有依赖安装并正确链接方可有ncl软件生成 +```bash +ncl -v +``` +## 2.2.运行结果 + +```bash +Running NCL... + Copyright (C) 1995-2019 - All Rights Reserved + University Corporation for Atmospheric Research + NCAR Command Language Version 6.6.2 + The use of this software is governed by a License Agreement. + See http://www.ncl.ucar.edu/ for more details. +``` + + +测试结果 + +ncl软件存在,编译过程满足各项依赖 + +## 3.性能测试 + +ncl作为图形软件,需要环境支持图形,作为云端服务器,图形环境不满足,如DISPLAY等环境变量并无设定 + +## NCO +### 1.1.选择统计文件类型 + +统计项目文件类型及其文件数量 + +使用python编写脚本文件 + +代码同NCL + +在NCL项目根目录下运行,运行结果如下 + +```bash +当前文件夹下共有[.c]的文件68个 +当前文件夹下共有[]的文件59个 +当前文件夹下共有[.h]的文件56个 +当前文件夹下共有[.cdl]的文件56个 +当前文件夹下共有[.nco]的文件34个 +当前文件夹下共有[.txt]的文件32个 +当前文件夹下共有[.sh]的文件30个 +当前文件夹下共有[.hh]的文件26个 +当前文件夹下共有[.cc]的文件21个 +当前文件夹下共有[.png]的文件17个 +当前文件夹下共有[.1]的文件16个 +当前文件夹下共有[.in]的文件14个 +当前文件夹下共有[.am]的文件8个 +当前文件夹下共有[.shtml]的文件8个 +当前文件夹下共有[.pl]的文件7个 +当前文件夹下共有[.m4]的文件7个 +当前文件夹下共有[.hpp]的文件6个 +当前文件夹下共有[.eps]的文件6个 +当前文件夹下共有[.py]的文件3个 +当前文件夹下共有[.cpp]的文件3个 +当前文件夹下共有[.ncl]的文件3个 +当前文件夹下共有[.pm]的文件3个 +当前文件夹下共有[.xcf]的文件3个 +当前文件夹下共有[.old]的文件2个 +当前文件夹下共有[.cu]的文件2个 +当前文件夹下共有[.po]的文件2个 +当前文件夹下共有[.md]的文件2个 +当前文件夹下共有[.bat]的文件2个 +当前文件夹下共有[.yml]的文件2个 +当前文件夹下共有[.texi]的文件2个 +当前文件夹下共有[.ac]的文件1个 +当前文件夹下共有[.spec]的文件1个 +当前文件夹下共有[.guess]的文件1个 +当前文件夹下共有[.sub]的文件1个 +当前文件夹下共有[.tex]的文件1个 +当前文件夹下共有[.l]的文件1个 +当前文件夹下共有[.g]的文件1个 +当前文件夹下共有[.pot]的文件1个 +当前文件夹下共有[.log]的文件1个 +当前文件夹下共有[.cmd]的文件1个 +当前文件夹下共有[.eg]的文件1个 +当前文件夹下共有[.in2]的文件1个 +当前文件夹下共有[.xsd]的文件1个 +当前文件夹下共有[.slurm]的文件1个 +当前文件夹下共有[.dat]的文件1个 +当前文件夹下共有[.css]的文件1个 +当前文件夹下共有[.pptx]的文件1个 +当前文件夹下共有[.html]的文件1个 +当前文件夹下共有[.ods]的文件1个 +当前文件夹下共有[.3]的文件1个 +当前文件夹下共有[.pdf]的文件1个 +当前文件夹下共有[.odp]的文件1个 +当前文件夹下共有[.jpg]的文件1个 +当前文件夹下共有[.svg]的文件1个 + +``` + +查看上述结果可知主要源码文件后缀名为 `c`,`h` + +### 1.2.统计源码总行数 + +统计所有源码文件的代码行数 + +```bash + find ./ -regex ".*\.f\|.*\.c\|.*\.h\|"\ + | xargs wc -l +``` + +统计结果 + +```bash + 116955 total +``` + +### 1.3.统计不符合要求的总行数 + +对文件后缀名为 `h`,`c` 的所有文件进行格式 +通过git与astyle结合的方式进行统计 +```bash +# astyle -R ./*.c,*.h,*.hpp -v +... +Unchanged src/nco/nco_var_utl.c +Unchanged src/nco/nco_var_utl.h +Unchanged src/nco/ncpdq.c +Unchanged src/nco/ncra.c +Unchanged src/nco/ncrename.c +Unchanged src/nco/ncwa.c +------------------------------------------------------------ + 124 formatted 124 unchanged 4.6 seconds 244,852 lines +``` +```bash + 248 files changed, 126025 insertions(+), 106164 deletions(-) + create mode 100644 bld/libnco_tst.c.orig + rewrite doc/cdtime.c (72%) + copy doc/{cdtime.c => cdtime.c.orig} (100%) + create mode 100644 src/nco/libnco.h.orig + rewrite src/nco/mpncbo.c (91%) + copy src/nco/{mpncbo.c => mpncbo.c.orig} (100%) + rewrite src/nco/mpncecat.c (91%) + copy src/nco/{mpncecat.c => mpncecat.c.orig} (100%) + rewrite src/nco/mpncflint.c (92%) + copy src/nco/{mpncflint.c => mpncflint.c.orig} (100%) + rewrite src/nco/mpncpdq.c (89%) + copy src/nco/{mpncpdq.c => mpncpdq.c.orig} (100%) + rewrite src/nco/mpncra.c (86%) + copy src/nco/{mpncra.c => mpncra.c.orig} (100%) + rewrite src/nco/mpncwa.c (92%) + copy src/nco/{mpncwa.c => mpncwa.c.orig} (100%) + rewrite src/nco/ncap_utl.c (91%) + copy src/nco/{ncap_utl.c => ncap_utl.c.orig} (100%) + create mode 100644 src/nco/ncap_utl.h.orig + rewrite src/nco/ncatted.c (72%) + copy src/nco/{ncatted.c => ncatted.c.orig} (100%) + rewrite src/nco/ncbo.c (89%) + copy src/nco/{ncbo.c => ncbo.c.orig} (100%) + rewrite src/nco/ncecat.c (91%) + copy src/nco/{ncecat.c => ncecat.c.orig} (100%) + rewrite src/nco/ncflint.c (91%) + copy src/nco/{ncflint.c => ncflint.c.orig} (100%) + rewrite src/nco/ncks.c (91%) + copy src/nco/{ncks.c => ncks.c.orig} (100%) + create mode 100644 src/nco/nco.h.orig + rewrite src/nco/nco_att_utl.c (88%) + copy src/nco/{nco_att_utl.c => nco_att_utl.c.orig} (100%) + create mode 100644 src/nco/nco_att_utl.h.orig + rewrite src/nco/nco_aux.c (83%) + copy src/nco/{nco_aux.c => nco_aux.c.orig} (100%) + create mode 100644 src/nco/nco_aux.h.orig + rewrite src/nco/nco_bnr.c (75%) + copy src/nco/{nco_bnr.c => nco_bnr.c.orig} (100%) + create mode 100644 src/nco/nco_bnr.h.orig + rewrite src/nco/nco_cln_utl.c (80%) + copy src/nco/{nco_cln_utl.c => nco_cln_utl.c.orig} (100%) + rewrite src/nco/nco_cln_utl.h (76%) + copy src/nco/{nco_cln_utl.h => nco_cln_utl.h.orig} (100%) + rewrite src/nco/nco_cnf_dmn.c (92%) + copy src/nco/{nco_cnf_dmn.c => nco_cnf_dmn.c.orig} (100%) + create mode 100644 src/nco/nco_cnf_dmn.h.orig + rewrite src/nco/nco_cnf_typ.c (92%) + copy src/nco/{nco_cnf_typ.c => nco_cnf_typ.c.orig} (100%) + create mode 100644 src/nco/nco_cnf_typ.h.orig + rewrite src/nco/nco_cnk.c (85%) + copy src/nco/{nco_cnk.c => nco_cnk.c.orig} (100%) + create mode 100644 src/nco/nco_cnk.h.orig + rewrite src/nco/nco_cnv_arm.c (79%) + copy src/nco/{nco_cnv_arm.c => nco_cnv_arm.c.orig} (100%) + create mode 100644 src/nco/nco_cnv_arm.h.orig + rewrite src/nco/nco_cnv_csm.c (90%) + copy src/nco/{nco_cnv_csm.c => nco_cnv_csm.c.orig} (100%) + create mode 100644 src/nco/nco_cnv_csm.h.orig + create mode 100644 src/nco/nco_crt.c.orig + create mode 100644 src/nco/nco_crt.h.orig + rewrite src/nco/nco_ctl.c (89%) + copy src/nco/{nco_ctl.c => nco_ctl.c.orig} (100%) + create mode 100644 src/nco/nco_ctl.h.orig + rewrite src/nco/nco_dbg.c (61%) + copy src/nco/{nco_dbg.c => nco_dbg.c.orig} (100%) + create mode 100644 src/nco/nco_dbg.h.orig + rewrite src/nco/nco_dmn_utl.c (69%) + copy src/nco/{nco_dmn_utl.c => nco_dmn_utl.c.orig} (100%) + create mode 100644 src/nco/nco_dmn_utl.h.orig + rewrite src/nco/nco_fl_utl.c (89%) + copy src/nco/{nco_fl_utl.c => nco_fl_utl.c.orig} (100%) + create mode 100644 src/nco/nco_fl_utl.h.orig + rewrite src/nco/nco_flt.c (88%) + copy src/nco/{nco_flt.c => nco_flt.c.orig} (100%) + create mode 100644 src/nco/nco_flt.h.orig + rewrite src/nco/nco_getopt.c (71%) + copy src/nco/{nco_getopt.c => nco_getopt.c.orig} (100%) + create mode 100644 src/nco/nco_getopt.h.orig + rewrite src/nco/nco_grp_trv.c (72%) + copy src/nco/{nco_grp_trv.c => nco_grp_trv.c.orig} (100%) + create mode 100644 src/nco/nco_grp_trv.h.orig + rewrite src/nco/nco_grp_utl.c (80%) + copy src/nco/{nco_grp_utl.c => nco_grp_utl.c.orig} (100%) + create mode 100644 src/nco/nco_grp_utl.h.orig + create mode 100644 src/nco/nco_kd.c.orig + create mode 100644 src/nco/nco_kd.h.orig + rewrite src/nco/nco_lmt.c (92%) + copy src/nco/{nco_lmt.c => nco_lmt.c.orig} (100%) + create mode 100644 src/nco/nco_lmt.h.orig + rewrite src/nco/nco_lst_utl.c (76%) + copy src/nco/{nco_lst_utl.c => nco_lst_utl.c.orig} (100%) + create mode 100644 src/nco/nco_lst_utl.h.orig + rewrite src/nco/nco_map.c (92%) + copy src/nco/{nco_map.c => nco_map.c.orig} (100%) + rewrite src/nco/nco_map.h (73%) + copy src/nco/{nco_map.h => nco_map.h.orig} (100%) + create mode 100644 src/nco/nco_md5.c.orig + create mode 100644 src/nco/nco_md5.h.orig + rewrite src/nco/nco_mmr.c (83%) + copy src/nco/{nco_mmr.c => nco_mmr.c.orig} (100%) + create mode 100644 src/nco/nco_mmr.h.orig + create mode 100644 src/nco/nco_mpi.h.orig + rewrite src/nco/nco_msa.c (87%) + copy src/nco/{nco_msa.c => nco_msa.c.orig} (100%) + create mode 100644 src/nco/nco_msa.h.orig + rewrite src/nco/nco_mss_val.c (90%) + copy src/nco/{nco_mss_val.c => nco_mss_val.c.orig} (100%) + create mode 100644 src/nco/nco_mss_val.h.orig + rewrite src/nco/nco_mta.c (77%) + copy src/nco/{nco_mta.c => nco_mta.c.orig} (100%) + rewrite src/nco/nco_mta.h (69%) + copy src/nco/{nco_mta.h => nco_mta.h.orig} (100%) + rewrite src/nco/nco_netcdf.c (75%) + copy src/nco/{nco_netcdf.c => nco_netcdf.c.orig} (100%) + create mode 100644 src/nco/nco_netcdf.h.orig + rewrite src/nco/nco_omp.c (88%) + copy src/nco/{nco_omp.c => nco_omp.c.orig} (100%) + create mode 100644 src/nco/nco_omp.h.orig + rewrite src/nco/nco_pck.c (87%) + copy src/nco/{nco_pck.c => nco_pck.c.orig} (100%) + create mode 100644 src/nco/nco_pck.h.orig + rewrite src/nco/nco_ply.c (86%) + copy src/nco/{nco_ply.c => nco_ply.c.orig} (100%) + rewrite src/nco/nco_ply.h (62%) + copy src/nco/{nco_ply.h => nco_ply.h.orig} (100%) + rewrite src/nco/nco_ply_lst.c (92%) + copy src/nco/{nco_ply_lst.c => nco_ply_lst.c.orig} (100%) + create mode 100644 src/nco/nco_ply_lst.h.orig + rewrite src/nco/nco_ppc.c (92%) + copy src/nco/{nco_ppc.c => nco_ppc.c.orig} (100%) + create mode 100644 src/nco/nco_ppc.h.orig + rewrite src/nco/nco_prn.c (92%) + copy src/nco/{nco_prn.c => nco_prn.c.orig} (100%) + create mode 100644 src/nco/nco_prn.h.orig + rewrite src/nco/nco_rec_var.c (81%) + copy src/nco/{nco_rec_var.c => nco_rec_var.c.orig} (100%) + create mode 100644 src/nco/nco_rec_var.h.orig + rewrite src/nco/nco_rgr.c (88%) + copy src/nco/{nco_rgr.c => nco_rgr.c.orig} (100%) + rewrite src/nco/nco_rgr.h (68%) + copy src/nco/{nco_rgr.h => nco_rgr.h.orig} (100%) + rewrite src/nco/nco_rth_flt.c (67%) + copy src/nco/{nco_rth_flt.c => nco_rth_flt.c.orig} (100%) + create mode 100644 src/nco/nco_rth_flt.h.orig + rewrite src/nco/nco_rth_utl.c (84%) + copy src/nco/{nco_rth_utl.c => nco_rth_utl.c.orig} (100%) + create mode 100644 src/nco/nco_rth_utl.h.orig + rewrite src/nco/nco_s1d.c (95%) + copy src/nco/{nco_s1d.c => nco_s1d.c.orig} (100%) + create mode 100644 src/nco/nco_s1d.h.orig + rewrite src/nco/nco_scl_utl.c (71%) + copy src/nco/{nco_scl_utl.c => nco_scl_utl.c.orig} (100%) + create mode 100644 src/nco/nco_scl_utl.h.orig + rewrite src/nco/nco_scm.c (89%) + copy src/nco/{nco_scm.c => nco_scm.c.orig} (100%) + create mode 100644 src/nco/nco_scm.h.orig + rewrite src/nco/nco_sld.c (92%) + copy src/nco/{nco_sld.c => nco_sld.c.orig} (100%) + rewrite src/nco/nco_sld.h (60%) + copy src/nco/{nco_sld.h => nco_sld.h.orig} (100%) + rewrite src/nco/nco_sng_utl.c (84%) + copy src/nco/{nco_sng_utl.c => nco_sng_utl.c.orig} (100%) + rewrite src/nco/nco_sng_utl.h (74%) + copy src/nco/{nco_sng_utl.h => nco_sng_utl.h.orig} (100%) + rewrite src/nco/nco_sph.c (82%) + copy src/nco/{nco_sph.c => nco_sph.c.orig} (100%) + create mode 100644 src/nco/nco_sph.h.orig + rewrite src/nco/nco_srm.c (75%) + copy src/nco/{nco_srm.c => nco_srm.c.orig} (100%) + create mode 100644 src/nco/nco_srm.h.orig + create mode 100644 src/nco/nco_typ.h.orig + create mode 100644 src/nco/nco_uthash.h.orig + rewrite src/nco/nco_var_avg.c (93%) + copy src/nco/{nco_var_avg.c => nco_var_avg.c.orig} (100%) + create mode 100644 src/nco/nco_var_avg.h.orig + rewrite src/nco/nco_var_lst.c (85%) + copy src/nco/{nco_var_lst.c => nco_var_lst.c.orig} (100%) + create mode 100644 src/nco/nco_var_lst.h.orig + rewrite src/nco/nco_var_rth.c (73%) + copy src/nco/{nco_var_rth.c => nco_var_rth.c.orig} (100%) + rewrite src/nco/nco_var_rth.h (86%) + copy src/nco/{nco_var_rth.h => nco_var_rth.h.orig} (100%) + rewrite src/nco/nco_var_scv.c (86%) + copy src/nco/{nco_var_scv.c => nco_var_scv.c.orig} (100%) + rewrite src/nco/nco_var_scv.h (77%) + copy src/nco/{nco_var_scv.h => nco_var_scv.h.orig} (100%) + rewrite src/nco/nco_var_utl.c (88%) + copy src/nco/{nco_var_utl.c => nco_var_utl.c.orig} (100%) + rewrite src/nco/nco_var_utl.h (81%) + copy src/nco/{nco_var_utl.h => nco_var_utl.h.orig} (100%) + rewrite src/nco/ncpdq.c (91%) + copy src/nco/{ncpdq.c => ncpdq.c.orig} (100%) + rewrite src/nco/ncra.c (92%) + copy src/nco/{ncra.c => ncra.c.orig} (100%) + rewrite src/nco/ncrename.c (89%) + copy src/nco/{ncrename.c => ncrename.c.orig} (100%) + rewrite src/nco/ncwa.c (91%) + copy src/nco/{ncwa.c => ncwa.c.orig} (100%) +``` +### 1.4.统计结果 + +综上信息,项目中代码规范性自检检查结果为 + +通过率 : 7% 79800/1,095,902*100% + +不通过率 : 93% 1-79800/1,095,902*100% + +# 2.功能性测试 + +NCO作为netCDF的operator,并无内置测试用例,判断软件是否正常运行,官方也并未给出测试集 + +```bash +ncdiff +``` +## 2.2.运行结果 + +```bash +ncdiff Command line options cheatsheet (full details at http://nco.sf.net/nco.html#ncdiff): +ncdiff [-3] [-4] [-5] [-6] [-7] [-A] [--bfr byt] [-C] [-c] [--cmp sng] [--cnk_byt byt] [--cnk_csh byt] [--cnk_dmn nm,lmn] [--cnk_map map] [--cnk_min byt] [--cnk_plc plc] [--cnk_scl sz] [-D dbg_lvl] [-d ...] [-F] [--fl_fmt fmt] [-G grp:lvl] [-g ...] [--glb ...] [-H] [-h] [--hdf] [--hdr_pad nbr] [--hpss] [-L lvl] [-l path] [--msa] [-n ...] [--no_cll_msr] [--no_frm_trm] [--no_tmp_fl] [-O] [-o out.nc] [-p path] [-R] [-r] [--ram_all] [-t thr_nbr] [--uio] [--unn] [-v ...] [-X box] [-x] [-y op_typ] in1.nc in2.nc [out.nc] + +-3, --3, classic Output file in netCDF3 CLASSIC (32-bit offset) storage format +-4, --4, netcdf4 Output file in netCDF4 (HDF5) storage format +-5, --5, 64bit_data Output file in netCDF3 64-bit data (i.e., CDF5, PnetCDF) storage format +-6, --6, 64, 64bit_offset Output file in netCDF3 64-bit offset storage format +-7, --7, netcdf4_classic Output file in netCDF4 CLASSIC format (3+4=7) +-A, --apn, append Append to existing output file, if any + --bfr_sz, buffer_size sz Buffer size to open files with +-C, --no_crd, xcl_ass_var Exclude coordinates, CF-associated variables (ancillary, bounds, ...) +-c, --crd, xtr_ass_var Extract coordinates, CF-associated variables (ancillary, bounds, ...) + --cmp cmp_sng Compression string (e.g., 'gbr,3|zstd,1') + --cnk_byt, chunk_byte sz_byt Chunksize in bytes + --cnk_csh, chunk_cache sz_byt Chunk cache size in bytes + --cnk_dmn, chunk_dimension nm,sz_lmn Chunksize of dimension nm (in elements not bytes) + --cnk_map, chunk_map map Chunking map [dmn,lfp,nc4,nco,prd,rd1,rew,scl,xpl,xst] + --cnk_min, chunk_min sz_byt Minimum size [B] of variable to chunk + --cnk_plc, chunk_policy plc Chunking policy [all,g2d,g3d,xpl,xst,uck] + --cnk_scl, chunk_scalar sz_lmn Chunksize scalar (in elements not bytes) (for all dimensions) +-D, --dbg_lvl, debug-level lvl Debug-level is lvl +-d, --dmn, dimension dim,[min][,[max]][,[stride]] Dimension's limits and stride in hyperslab +-F, --ftn, fortran Fortran indexing conventions (1-based) for I/O + --fl_fmt, file_format fmt File format for output [classic,64bit_offset,64bit_data,netcdf4,netcdf4_classic] +-G, --gpe [grp_nm][:[lvl]] Group Path Editing path, levels to replace +-g, --grp grp1[,grp2[...]] Group(s) to process (regular expressions supported) + --glb_att_add nm=val Global attribute to add +-H, --fl_lst_in, file_list Do not create "input_file_list" global attribute that stores stdin filenames +-h, --hst, history Do not append to "history" global attribute + --hdf_upk, hdf_unpack HDF unpack convention: unpacked=scale_factor*(packed-add_offset) + --hdr_pad, header_pad Pad output header with nbr bytes + --hpss, hpss_try Search for unfound files on HPSS with 'hsi get ...' +-L, --dfl_lvl, deflate lvl Lempel-Ziv deflation/compression (lvl=0..9) for netCDF4 output +-l, --lcl, local path Local storage path for remotely-retrieved files + --msa, msa_usr_rdr Multi-Slab-Algorithm output in User-Order +-n, --nintap nbr_files,[nbr_numeric_chars[,increment]] NINTAP-style abbreviation of file list + --no_cll_msr Do not extract cell_measures variables + --no_frm_trm Do not extract formula_terms variables + --no_tmp_fl Do not write output to temporary file +-O, --ovr, overwrite Overwrite existing output file, if any +-o, --output, fl_out Output file name (or use last positional argument) +-p, --pth, path path Path prefix for all input filenames +-R, --rtn, retain Retain remotely-retrieved files after use +-r, --revision, version Compile-time configuration and/or program version + --ram_all, diskless_all Open netCDF3 files and create output files in RAM +-t, --thr_nbr, threads, omp_num_threads thr_nbr Thread number for OpenMP + --uio, share_all Unbuffered I/O to read/write netCDF3 file(s) + --unn, union Select union of specified groups and variables +-v, --variable var1[,var2[...]] Variable(s) to process (regular expressions supported) +-X, --auxiliary lon_min,lon_max,lat_min,lat_max Auxiliary coordinate bounding box +-x, --xcl, exclude Extract all variables EXCEPT those specified with -v +-y, --op_typ, operation op_typ Binary arithmetic operation: add,sbt,mlt,dvd (+,-,*,/) +in1.nc in2.nc Input file names (or use stdin) +[out.nc] Output file name (or use -o option) + +Eight ways to find more help on ncdiff and/or NCO: +1. Examples: http://nco.sf.net/nco.html#xmp_ncdiff +2. Ref. manual: http://nco.sf.net/nco.html#ncdiff +3. User Guide: http://nco.sf.net#RTFM +4. Manual pages: 'man ncdiff', 'man nco', ... +5. Homepage: http://nco.sf.net +6. Code: http://github.com/nco/nco +7. Help Forum: http://sf.net/p/nco/discussion/9830 +8. Publications: http://nco.sf.net#pub +Post questions, suggestions, patches at http://sf.net/projects/nco +``` + + +测试结果 + +nco可正常执行 +## NCVIEW +### 1.1.选择统计文件类型 + +统计项目文件类型及其文件数量 + +使用python编写脚本文件 +代码同上 + +``` + +在NCVIEW项目根目录下运行,运行结果如下 + +```bash +当前文件夹下共有[.f]的文件3857个 +当前文件夹下共有[.c]的文件1481个 +当前文件夹下共有[.m]的文件882个 +当前文件夹下共有[]的文件852个 +当前文件夹下共有[.h]的文件826个 +当前文件夹下共有[.table]的文件618个 +当前文件夹下共有[.rgb]的文件270个 +当前文件夹下共有[.ncl]的文件259个 +当前文件夹下共有[.sed]的文件84个 +当前文件夹下共有[.res]的文件63个 +当前文件夹下共有[.nc]的文件58个 +当前文件夹下共有[.sh]的文件52个 +当前文件夹下共有[.gc]的文件43个 +当前文件夹下共有[.cdf]的文件36个 +当前文件夹下共有[.specific]的文件32个 +当前文件夹下共有[.fc]的文件31个 +当前文件夹下共有[.dat]的文件27个 +当前文件夹下共有[.f90]的文件23个 +当前文件夹下共有[.gp]的文件22个 +当前文件夹下共有[.csh]的文件14个 +当前文件夹下共有[.asc]的文件14个 +当前文件夹下共有[.ttf]的文件13个 +当前文件夹下共有[.o]的文件12个 +当前文件夹下共有[.doc]的文件11个 +当前文件夹下共有[.py]的文件9个 +当前文件夹下共有[.ncmap]的文件8个 +当前文件夹下共有[.txt]的文件6个 +当前文件夹下共有[.xml]的文件6个 +当前文件夹下共有[.md]的文件5个 +当前文件夹下共有[.grb2]的文件5个 +当前文件夹下共有[.l]的文件4个 +当前文件夹下共有[.areas]的文件4个 +当前文件夹下共有[.java]的文件4个 +当前文件夹下共有[.ksh]的文件3个 +当前文件夹下共有[.PGI]的文件3个 +当前文件夹下共有[.INTEL]的文件3个 +当前文件夹下共有[.GNU]的文件3个 +当前文件夹下共有[.yml]的文件3个 +当前文件夹下共有[.csv]的文件2个 +当前文件夹下共有[.dbf]的文件2个 +当前文件夹下共有[.shx]的文件2个 +当前文件夹下共有[.shp]的文件2个 +当前文件夹下共有[.prj]的文件2个 +当前文件夹下共有[.null]的文件2个 +当前文件夹下共有[.y]的文件2个 +当前文件夹下共有[.template]的文件2个 +当前文件夹下共有[.64]的文件2个 +当前文件夹下共有[.tiff]的文件1个 +当前文件夹下共有[.bit]的文件1个 +当前文件夹下共有[.xbm]的文件1个 +当前文件夹下共有[.ad]的文件1个 +当前文件夹下共有[.tbl]的文件1个 +当前文件夹下共有[.PS]的文件1个 +当前文件夹下共有[.CO]的文件1个 +当前文件夹下共有[.3]的文件1个 +当前文件夹下共有[.1]的文件1个 +当前文件夹下共有[.US]的文件1个 +当前文件夹下共有[.2]的文件1个 +当前文件夹下共有[.4]的文件1个 +当前文件夹下共有[.PO]的文件1个 +当前文件夹下共有[.png]的文件1个 +当前文件夹下共有[.pngi]的文件1个 +当前文件夹下共有[.form]的文件1个 +当前文件夹下共有[.pre]的文件1个 +当前文件夹下共有[.imagen]的文件1个 +当前文件夹下共有[.file]的文件1个 +当前文件夹下共有[.grib2]的文件1个 +当前文件夹下共有[.grb]的文件1个 +当前文件夹下共有[.hdf]的文件1个 +当前文件夹下共有[.he2]的文件1个 +当前文件夹下共有[.he5]的文件1个 +当前文件夹下共有[.cocos]的文件1个 +当前文件夹下共有[.cpt]的文件1个 +当前文件夹下共有[.bin]的文件1个 +当前文件夹下共有[.ctl]的文件1个 +当前文件夹下共有[.mdl]的文件1个 +当前文件夹下共有[.xlsx]的文件1个 +当前文件夹下共有[.F90]的文件1个 +当前文件夹下共有[.xsl]的文件1个 +当前文件夹下共有[.pl]的文件1个 +当前文件夹下共有[.ifort]的文件1个 +当前文件夹下共有[.xl]的文件1个 +当前文件夹下共有[.absoft]的文件1个 +当前文件夹下共有[.man]的文件1个 +当前文件夹下共有[.amd64]的文件1个 +当前文件夹下共有[.g95]的文件1个 +当前文件夹下共有[.IA64]的文件1个 +当前文件夹下共有[.ini]的文件1个 +当前文件夹下共有[.32]的文件1个 +当前文件夹下共有[.n32]的文件1个 +当前文件夹下共有[.patch]的文件1个 + +``` + +查看上述结果可知主要源码文件后缀名为 `c`,`h`,`f` + +### 1.2.统计源码总行数 + +统计所有源码文件的代码行数 + +```bash + find ./ -regex ".*\.f\|.*\.c\|.*\.h\|"\ + | xargs wc -l +``` + +统计结果 + +```bash + 1001123 total +``` + +### 1.3.统计不符合要求的总行数 + +对文件后缀名为 `h`,`c` 的所有文件进行格式 +通过git与astyle结合的方式进行统计 +```bash +# astyle -R ./*.cpp,*.h,*.hpp -v +... +------------------------------------------------------------ + 2,179 formatted 128 unchanged 14.4 seconds 1,095,902 lines +``` + +### 1.4.统计结果 + +综上信息,项目中代码规范性自检检查结果为 + +通过率 : 0.2% 1-96213/96400*100% + +不通过率 : 99.8% 96213/96400*100% + +# 2.功能性测试 +NCVIEW作为netCDF的operator,并无内置测试用例,判断软件是否正常运行,官方也并未给出测试集 + +```bash +ncview +``` +## 2.2.运行结果 +```bash +Ncview 2.1.7 David W. Pierce 29 March 2016 +http://meteora.ucsd.edu:80/~pierce/ncview_home_page.html +Copyright (C) 1993 through 2015, David W. Pierce +Ncview comes with ABSOLUTELY NO WARRANTY; for details type `ncview -w'. +This is free software licensed under the Gnu General Public License version 3; type `ncview -c' for redistribution details. +``` +测试结果 + +ncview可正常执行 \ No newline at end of file diff --git "a/doc/ncl_nco_ncview/\343\200\212\345\237\272\344\272\216openEuler\347\232\204ncl_nco_ncview\350\275\257\344\273\266\347\247\273\346\244\215\346\214\207\345\215\227\343\200\213.md" "b/doc/ncl_nco_ncview/\343\200\212\345\237\272\344\272\216openEuler\347\232\204ncl_nco_ncview\350\275\257\344\273\266\347\247\273\346\244\215\346\214\207\345\215\227\343\200\213.md" new file mode 100644 index 0000000000000000000000000000000000000000..bcea9ef8777a53d57076c87c684533cb81a0970a --- /dev/null +++ "b/doc/ncl_nco_ncview/\343\200\212\345\237\272\344\272\216openEuler\347\232\204ncl_nco_ncview\350\275\257\344\273\266\347\247\273\346\244\215\346\214\207\345\215\227\343\200\213.md" @@ -0,0 +1,574 @@ +# 《基于openEuler的NCL/NCO/NCVIEW软件移植指南》 +## 鉴于NCL,NCO,NCVIEW依赖相近,因此在本指南中一并介绍 + +## 1.介绍 +## NCL +- NCL(The NCAR Command Language)是一种专门为科学数据处理以及数据可视化设计的高级语言,很适合用在气象数据的处理和可视化上 + +- 官网地址: + +- 特性: + + - 有独特的语法,可以访问数据文件中的变量 + - 数据处理功能,比如求数据的平均值,做线性回归等 +## NCO +- netCDF Operators (NCO) 工具用来操作和分析 netCDF 自描述数据存储格式 + +- 官网地址: + +- 特性: + + - 简单的算术运算(加、减、乘、除、广播)、插值、统计、数据合并等等 + - 提供了大量的命令可以编辑变量和属性信息,比如属性和变量重命名、变量和属性值更改\添加、缺失值处理等。 + ## NCVIEW +- ncview能非常方便的对netCDF文件进行可视化。 + +- 官网地址: + +- 特性: + + - 提供了非常便捷的方式扩充 ncview 的colormap +## 2.环境要求 + +- 操作系统:OpenEuler arm/x86 (本文档以 x86 架构为例) + +## 3.配置编译环境 + +配置环境指导,手动进行配置依赖环境。 + +### 3.1.环境总览 + +- 编译器: gcc + +- MPI:openmpi + +- 其他类库:freetype, netcdf,hdf4,hdf5,hdf-eos2,hdf-eos5s,antlr,pkg-config,cairo,jasper,gsl,mesa,vis5d+,libjpeg,libpng + + 具体版本和下载地址如下 + +| 名称 | 版本 | 软件下载地址 | +| -------- | ------ | ---------------------------------------------------------------------------------------------- | +| openmpi | 4.1.2 | | +| gcc | 10.3.0 | | +| antlr | 2.7.7 | | +| cairo | 1.16.0 | | +| freetype | 2.5.1 | | +| gdal | 2.2.4 | | +| hdf-eos2 | 2.20 | | +| hdf-eos5 | 1.16 | | +| hdf4 | 4.2.14 | | +| hdf5 | 1.12.0 | | +| jasper | 1.900.1 | | +| libjpeg | v9b | | +| libpng | 1.6.37 | | +| Mesa | 3.1 | | +| pixman | 0.38.0 | | +| pkg-config | 0.28 | | +| proj | 5.2.0 | | +| vis5d+ | 1.3.0 | | + +### 3.2.创建文件夹 + +```bash +mkdir -p $HOME/build +mkdir -p $HOME/install +mkdir -p $HOME/tmp +``` + +### 3.3.安装预设 + +设置环境变量,方便修改自定义安装目录 + +- 编译目录为 $HOME/build , 根据实际情况进行修改 +- 软件安装目录为 $HOME/install , 根据实际情况进行修改 +- 下载目录为 $HOME/tmp , 根据实际情况进行修改 + +```bash +#为了方便自定义软件安装目录 +#环境变量DEP_INSTALL_DIR将在后文中作为软件安装目录的根目录 +export DEP_INSTALL_DIR=$HOME/install +#环境变量DEP_BUILD_DIR将在后文中作为编译的根目录 +export DEP_BUILD_DIR=$HOME/build +#环境变量DEP_DOWNLOAD_DIR将在后文中作为下载文件的保存目录 +export DEP_DOWNLOAD_DIR=$HOME/tmp + +#注: 以上变量只在一次会话中有效。如果中途断开ssh会话,则在后续的安装过程中不会生效,需要重新运行 +``` + +### 3.4.安装环境依赖和gcc编译器 + +```bash +#环境依赖 +yum -y install wget tar expat + +#安装gcc编译器 +wget -P $DEP_DOWNLOAD_DIR https://ftp.gnu.org/gnu/gcc/gcc-10.3.0/gcc-10.3.0.tar.gz +tar -xf $DEP_DOWNLOAD_DIR/gcc-10.3.0.tar.gz -C $DEP_INSTALL_DIR +./contrib/download_prerequisites +./configure --disable-multilib --enable-languages="c,c++,fortran" --prefix=$1 --disable-static --enable-shared +make -j && make install + + +#设置环境变量 +echo "export PATH=$DEP_INSTALL_DIR/gcc-10.3.0/bin:$PATH" >> ~/.bashrc && source ~/.bashrc +export CC=`which gcc` +export CXX=`which g++` +``` + +## 3.5.下载并编译openmpi + +```bash +yum -y install libstdc++ libstdc++-devel +yum -y install unzip make autoconf automake git libtool +#下载解压源码文件 +wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.2.tar.gz -O $DEP_DOWNLOAD_DIR +cd $DEP_BUILD_DIR +tar zxvf $DEP_DOWNLOAD_DIR openmpi-4.1.2.tar.gz +cd openmpi-4.1.2 +./configure CC=gcc CXX=g++ FC=gfortran --prefix=$1 --enable-pretty-print-stacktrace --enable-orterun-prefix-by-default --enable-mpi1-compatibility +make -j install + +yum -y install flex +``` +## 以下是NCL依赖各库 +## 3.6.下载并编译各库 + +```bash + +#libjpeg +. wget -u http://www.ijg.org/files/jpegsrc.v9b.tar.gz +cd $DEP_BUILD_DIR +rm -rf jpeg-9b +tar xvf $DEP_DOWNLOAD_DIR/jpegsrc.v9b.tar.gz +cd jpeg-9b +./configure --prefix=$1 +make -j +make install + +#libpng + +#pkg-config +. wget -u http://pkgconfig.freedesktop.org/releases/pkg-config-0.29.tar.gz +cd $DEP_BUILD_DIR +tar xvf $DEP_DOWNLOAD_DIR/pkg-config-0.29.tar.gz +cd pkg-config-0.29 +./configure --prefix=$1 --enable-shared +make -j +make install + +#pnetcdf +pnetcdf_version='1.12.1' +. wget -u http://cucis.ece.northwestern.edu/projects/PnetCDF/Release/pnetcdf-${pnetcdf_version}.tar.gz +cd $DEP_BUILD_DIR +tar zxvf $DEP_DOWNLOAD_DIR/pnetcdf-${pnetcdf_version}.tar.gz +cd pnetcdf-${pnetcdf_version} +FCFLAGS=-fallow-argument-mismatch FFLAGS=-fallow-argument-mismatch ./configure --prefix=$1 --enable-shared --enable-fortran --enable-large-file-test +make -j16 +make install + +#pixman +. wget -u https://www.cairographics.org/releases/pixman-0.38.0.tar.gz +cd $DEP_BUILD_DIR + +tar xvf $DEP_DOWNLOAD_DIR/pixman-0.38.0.tar.gz +cd pixman-0.38.0 +./configure --prefix=$1 +make -j +make install + +#freetype +. wget -u https://sourceforge.net/projects/freetype/files/freetype2/2.5.1/freetype-2.5.1.tar.gz +cd $DEP_BUILD_DIR +tar -xvf $DEP_DOWNLOAD_DIR/freetype-2.5.1.tar.gz +cd freetype-2.5.1 + +./configure --enable-shared --prefix=$1 +make -j +make install +cd include +cp -r * $1/include + +#gdal +. wget -u http://download.osgeo.org/gdal/2.2.4/gdal-2.2.4.tar.gz +cd $DEP_BUILD_DIR +tar -xvf $DEP_DOWNLOAD_DIR/gdal-2.2.4.tar.gz +cd gdal-2.2.4 + +./configure --with-static-proj4=${PROJ_PATH} --prefix=$1 --with-png=${LIBPNG_PATH} --with-gif=internal --with-libtiff=internal \ + --with-geotiff=internal --with-jpeg=${LIBJPEG_PATH} --with-libz=/usr/local \ + --with-sqlite3=no --with-expat=no --with-curl=no --without-ld-shared \ + --with-hdf4=no --with-hdf5=no --with-pg=no --without-grib --disable-shared \ + --with-freexl=no --with-geos=no --with-openjpeg=no --with-mysql=no \ + --with-ecw=no --with-fgdb=no --with-odbc=no --with-xml2=no --with-ogdi=no\ + --with-pcraster=no --with-xerces=no +make all install + +#gsl +. wget -u http://mirrors.ustc.edu.cn/gnu/gsl/gsl-2.6.tar.gz +cd $DEP_BUILD_DIR +rm -rf gsl-2.6 +tar -xvf $DEP_DOWNLOAD_DIR/gsl-2.6.tar.gz +cd gsl-2.6 +./configure --prefix=$1 +make -j +make install + +#hdf-eos2 +. wget -u https://git.earthdata.nasa.gov/rest/git-lfs/storage/DAS/hdfeos/cb0f900d2732ab01e51284d6c9e90d0e852d61bba9bce3b43af0430ab5414903?response-content-disposition=attachment%3B%20filename%3D%22HDF-EOS2.20v1.00.tar.Z%22%3B%20filename*%3Dutf-8%27%27HDF-EOS2.20v1.00.tar.Z +cd $DEP_DOWNLOAD_DIR +cp -f cb0f900d2732ab01e51284d6c9e90d0e852d61bba9bce3b43af0430ab5414903* HDF-EOS2.20v1.00.tar +cd $DEP_BUILD_DIR + +tar -xvf $DEP_DOWNLOAD_DIR/HDF-EOS2.20v1.00.tar +cd hdfeos + +ac_cv_func_malloc_0_nonnull=yes ac_cv_func_realloc_0_nonnull=yes ./configure --with-hdf4=${HDF4_PATH} --with-jpeg=${LIBJPEG_PATH} --with-zlib=/usr/local --prefix=$1 +make -j +make install +cp -r include $1/ + +#hdf4 +. wget -u https://support.hdfgroup.org/ftp/HDF/releases/HDF4.2.15/src/hdf-4.2.15.tar.gz +cd $DEP_BUILD_DIR +rm -rf hdf-4.2.15 +tar -xvf $DEP_DOWNLOAD_DIR/hdf-4.2.15.tar.gz +cd hdf-4.2.15 +FFLAGS+='-fallow-argument-mismatch' ./configure --prefix=$1 --with-zlib=/usr/local --disable-fortran --with-jpeg=${LIBJPEG_PATH} --disable-netcdf +make -j +make install + +#hdf5 +hdf5_big_version='1.12' +hdf5_version="${hdf5_big_version}.0" +. wget -u https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${hdf5_big_version}/hdf5-${hdf5_version}/src/hdf5-${hdf5_version}.tar.gz +cd $DEP_BUILD_DIR +rm -rf hdf5-${hdf5_version} +tar -xvf $DEP_DOWNLOAD_DIR/hdf5-${hdf5_version}.tar.gz +cd hdf5-${hdf5_version} +./configure --prefix=$1 --enable-fortran --enable-static=yes --enable-parallel --enable-shared +make -j +make install +#netcdf +netcdf_c_version='4.7.4' +netcdf_f_version='4.5.3' +. wget -u https://codeload.github.com/Unidata/netcdf-fortran/tar.gz/refs/tags/v${netcdf_f_version} -f netcdf-fortran-${netcdf_f_version}.tar.gz +. wget -u https://codeload.github.com/Unidata/netcdf-c/tar.gz/refs/tags/v${netcdf_c_version} -f netcdf-c-${netcdf_c_version}.tar.gz +cd $DEP_BUILD_DIR +rm -rf netcdf-c-${netcdf_c_version} netcdf-fortran-${netcdf_f_version} +tar -xvf $DEP_DOWNLOAD_DIR/netcdf-c-${netcdf_c_version}.tar.gz +tar -xvf $DEP_DOWNLOAD_DIR/netcdf-fortran-${netcdf_f_version}.tar.gz +cd netcdf-c-${netcdf_c_version} +if [ x"$(arch)" = xaarch64 ];then + build_type='--build=aarch64-unknown-linux-gnu' +else + build_type='' +fi +HDF5_DIR=${HDF5_PATH} +PNETCDF_DIR=${PNETCDF_PATH} +./configure --prefix=$1 ${build_type} --enable-shared --enable-netcdf-4 --disable-dap --with-pic --disable-doxygen --enable-static --enable-pnetcdf --enable-largefile CPPFLAGS="-O3 -I${HDF5_DIR}/include -I${PNETCDF_DIR}/include" LDFLAGS="-L${HDF5_DIR}/lib -L${PNETCDF_DIR}/lib -Wl,-rpath=${HDF5_DIR}/lib -Wl,-rpath=${PNETCDF_DIR}/lib" CFLAGS="-O3 -L${HDF5_DIR}/lib -L${PNETCDF_DIR}/lib -I${HDF5_DIR}/include -I${PNETCDF_DIR}/include" + +make -j16 +make install + +export PATH=$1/bin:$PATH +export LD_LIBRARY_PATH=$1/lib:$LD_LIBRARY_PATH +export NETCDF=${1} + +cd ../netcdf-fortran-${netcdf_f_version} +./configure --prefix=$1 ${build_type} --disable-shared --with-pic --disable-doxygen --enable-largefile --enable-static CPPFLAGS="-O3 -I${HDF5_DIR}/include -I${1}/include" LDFLAGS="-L${HDF5_DIR}/lib -L${1}/lib -Wl,-rpath=${HDF5_DIR}/lib -Wl,-rpath=${1}/lib" CFLAGS="-O3 -L${HDF5_DIR}/HDF5/lib -L${1}/lib -I${HDF5_DIR}/include -I${1}/include" CXXFLAGS="-O3 -L${HDF5_DIR}/lib -L${1}/lib -I${HDF5_DIR}/include -I${1}/include" FCFLAGS="-O3 -L${HDF5_DIR}/lib -L${1}/lib -I${HDF5_DIR}/include -I${1}/include" +make -j16 +make install + +#hdf-eos5 +. wget -u https://git.earthdata.nasa.gov/rest/git-lfs/storage/DAS/hdfeos5/7054de24b90b6d9533329ef8dc89912c5227c83fb447792103279364e13dd452?response-content-disposition=attachment%3B%20filename%3D%22HDF-EOS5.1.16.tar.Z%22%3B%20filename*%3Dutf-8%27%27HDF-EOS5.1.16.tar.Z +cd $DEP_DOWNLOAD_DIR +cp -f 7054de24b90b6d9533329ef8dc89912c5227c83fb447792103279364e13dd452* HDF-EOS5.1.16.tar +cd $DEP_BUILD_DIR +# gzip -d $DEP_DOWNLOAD_DIR/HDF-EOS2.20v1.00.tar +tar -xvf $DEP_DOWNLOAD_DIR/HDF-EOS5.1.16.tar +cd hdfeos5 + +./configure CC=${HDF5_PATH}/bin/h5pcc --with-hdf4=${HDF5_PATH} --with-zlib=/usr/local --prefix=$1 +make -j +make install +cp -r include $1/ +#proj +. wget -u http://download.osgeo.org/proj/proj-5.2.0.tar.gz +cd $DEP_BUILD_DIR +rm -rf proj-5.2.0 +tar -xvf $DEP_DOWNLOAD_DIR/proj-5.2.0.tar.gz +cd proj-5.2.0 + +./configure --enable-shared --enable-static --prefix=$1 +make all install + +#jasper +. wget -u https://www.ece.uvic.ca/~frodo/jasper/software/jasper_1.900.1.orig.tar.gz +cd $DEP_BUILD_DIR +rm -rf jasper-1.900.2 +tar -xvf $DEP_DOWNLOAD_DIR/jasper_1.900.1.orig.tar.gz +cd jasper-1.900.1 +./configure --prefix=$1 +make -j +make install + +#mesa +. wget -u https://archive.mesa3d.org/older-versions/3.x/MesaLib-3.1.tar.gz +cd $DEP_BUILD_DIR +rm -rf Mesa-3.1 +tar -xvf $DEP_DOWNLOAD_DIR/MesaLib-3.1.tar.gz +cd Mesa-3.1 +cp -f /usr/share/libtool/build-aux/config.guess ./ +cp -f /usr/share/libtool/build-aux/config.sub ./ +./configure --prefix=$1 +make +make install + +#udunits +. wget -u https://artifacts.unidata.ucar.edu/repository/downloads-udunits/2.2.28/udunits-2.2.28.tar.gz +cd $DEP_BUILD_DIR +tar xvf $DEP_DOWNLOAD_DIR/udunits-2.2.28.tar.gz +cd udunits-2.2.28 +./configure --prefix=$1 +make -j +make install + +#vis5d+ +. wget -u https://sourceforge.net/projects/vis5d/files/vis5d/vis5d%2B-1.3.0-beta/vis5d%2B-1.3.0-beta.tar.gz +cd $DEP_BUILD_DIR +rm -rf vis5d+-1.3.0-beta +tar -xvf $DEP_DOWNLOAD_DIR/vis5d%2B-1.3.0-beta.tar.gz +cd vis5d+-1.3.0-beta +sed -i '40c extern float vis_round( float x ); ' src/misc.h +sed -i '150c float vis_round(float x)' src/misc.c + +FFLAGS='-fno-range-check -fallow-rank-mismatch' LDFLAGS=-L${MESA_PATH}/lib CFLAGS=-I${MESA_PATH}/include CPPFLAGS=-I${MESA_PATH}/include ./configure --prefix=$1 --disable-fortran --with-netcdf=${NETCDF_PATH} --disable-shared + +make +make install + +``` + +## 以下是NCO依赖各库 +NCO依赖为netcdf hdf4 hdf5 gsl udunits antlr + +```bash +#antlr +. wget -u https://www.antlr2.org/download/antlr-2.7.7.tar.gz +cd $DEP_BUILD_DIR +tar xvf $DEP_DOWNLOAD_DIR/antlr-2.7.7.tar.gz +cd antlr-2.7.7 +sed -i "13a #include " lib/cpp/antlr/CharScanner.hpp +sed -i "14a #include " lib/cpp/antlr/CharScanner.hpp +./configure \ +--prefix=$1 \ +--disable-csharp \ +--disable-java \ +--disable-python +make -j +make install +#其余同上 +``` + +## 以下为NCVIEW依赖 +ncview依赖为 hdf5 pnetcdf netcdf udunits +```bash +#同上NCL +``` + +## 4.编译 + +### 4.1.下载并编译wannier90 + +获取QMCPACK软件源码并解压文件 + +```bash + +# 下载源码文件 +cd $DEP_DOWNLOAD_DIR +git clone https://github.com/wannier-developers/wannier90.git +# 解压源码文件 +cd $DEP_BUILD_DIR/wannier90 +#编译源码 +cp config/make.inc.gfortran ./make.inc +sed -i '4c F90 = gfortran' make.inc +sed -i '8c MPIF90 = mpif90' make.inc +sed -i '7c COMMS= mpi' make.inc +sed -i '14c FCOPTS = -fstrict-aliasing -fno-omit-frame-pointer -fno-realloc-lhs -fcheck=bounds,do,recursion,pointer -ffree-form -Wall -Waliasing -Wsurprising -Wline-truncation -Wno-tabs -Wno-uninitialized -Wno-unused-dummy-argument -Wno-unused -Wno-character-truncation -O1 -g -fbacktrace' make.inc +sed -i '15c LDOPTS = -fstrict-aliasing -fno-omit-frame-pointer -fno-realloc-lhs -fcheck=bounds,do,recursion,pointer -ffree-form -Wall -Waliasing -Wsurprising -Wline-truncation -Wno-tabs -Wno-uninitialized -Wno-unused-dummy-argument -Wno-unused -Wno-character-truncation -O1 -g -fbacktrace' make.inc + +make +make install +``` + +### 4.2. 运行测试 + +ncl为图形应用,官方并未给出过多用例,所以验证ncl程序是否成功编译, + +```bash +export PATH=$PATH:$INSTALL_DIR/bin +ncl -v +``` + +## 附A:使用hpcrunner进行一键安装ncl、nco、ncview + +推荐使用hpcrunner进行安装ncl、nco、ncview + +### 1.克隆仓库 + +```bash +git clone https://gitee.com/openeuler/hpcrunner.git +``` + +## 2.初始化hpcrunner 和 安装必要软件包 + +初始化项目助手 + +```bash +cd hpcrunner +source init.sh +``` + +安装必要软件包 + +**arm / x86 需要的软件包不同,根据实际环境进行选择** + +```bash +# arm +yum install -y environment-odules git wget unzip make flex tar +# x86 +yum install -y environment-modules git wget unzip make flex tar +yum install -y gcc gcc-c++ gcc-gfortran glibc-devel libgfortran +yum install -y tcsh tcl lsof tk bc +``` + +### 3.选择平台对应配置文件 +## NCL +- arm平台的配置文件为 `templates/ncl/6.6.2/data.NCL.arm.cpu.config` + + ```bash + ./jarvis -use templates/ncl/6.6.2/data.NCL.arm.cpu.config + ``` + +- x86 平台的配置文件为 `templates/ncl/6.6.2/data.ncl.x86.cpu.config` + + ```bash + ./jarvis -use templates/wannier90/3.1.0/data.wannier90.amd.cpu.config + ``` +## NCO +- arm平台的配置文件为 `templates/nco/5.1.4/data.NCO.arm.cpu.config` + + ```bash + ./jarvis -use templates/wannier90/3.1.0/data.wannier90.arm.cpu.config + ``` + +- x86 平台的配置文件为 `templates/nco/5.1.4/data.NCO.x86.cpu.config` + + ```bash + ./jarvis -use templates/wannier90/3.1.0/data.wannier90.amd.cpu.config + ``` + ## NCVIEW + - arm平台的配置文件为 `templates/ncview/2.1.7/data.ncview.arm.cpu.config` + + ```bash + ./jarvis -use templates/wannier90/3.1.0/data.wannier90.arm.cpu.config + ``` + +- x86 平台的配置文件为 `templates/ncview/2.1.7/data.ncview.x86.cpu.config` + + ```bash + ./jarvis -use templates/wannier90/3.1.0/data.wannier90.amd.cpu.config + ``` +### 4.下载QMCPACK源码 + +```bash +./jarvis -d +``` + +### 5.一键配置依赖环境 + +```bash +./jarvis -dp +``` + +### 6.一键进行编译 + +```bash +./jarvis -b +``` + +### 7.一键进行运行测试 + +```bash +./jarvis -r +``` + +## 附B:使用singularity运行容器 + +### 使用教程 + +### 下载容器镜像 + +通过链接下载: + +[百度云盘](https://pan.baidu.com/s/1fxKHH5cIaKVt2boYUhVxmQ?pwd=ic13) + + +#### 1.安装singularity + +安装singularity, + +具体步骤如下 + +```bash +mkdir -p ~/install +mkdir -p ~/build + +#安装编译所需依赖 +yum -y install libatomic libstdc++ libstdc++-devel libseccomp-devel glib2-devel gcc squashfs-tools tar + +#安装bisheng编译器 +cd ~/build +wget https://mirrors.huaweicloud.com/kunpeng/archive/compiler/bisheng_compiler/bisheng-compiler-2.1.0-aarch64-linux.tar.gz +tar -C ~/install -xf bisheng-compiler-2.1.0-aarch64-linux.tar.gz +echo "export PATH=$HOME/install/bisheng-compiler-2.1.0-aarch64-linux/bin:$PATH" >> ~/.bashrc && source ~/.bashrc +export CC=`which clang` +export CXX=`which clang++` + +#安装go编译器 +cd ~/build +wget https://go.dev/dl/go1.19.linux-arm64.tar.gz +tar -C ~/install -xf go1.19.linux-arm64.tar.gz +echo "export PATH=$HOME/install/go/bin:$PATH" >> ~/.bashrc && source ~/.bashrc + +#安装singularity +cd ~/build +wget https://github.com/sylabs/singularity/releases/download/v3.10.2/singularity-ce-3.10.2.tar.gz +tar -xf singularity-ce-3.10.2.tar.gz +cd singularity-ce-3.10.2 +./mconfig --prefix=$HOME/install/singularity +make -C ./builddir +make -C ./builddir install +echo "export PATH=$HOME/install/singularity/bin:$PATH" >> ~/.bashrc && source ~/.bashrc +``` + +#### 2.构建镜像 + +```shell +# x86 +singularity build ./name-of-image.sif openeuler-gcc-9.3.0-hmpi1-qmcpack-3.13.0.def +# arm +singularity build ./name-of-image.sif openeuler-bisheng2-hmpi1-qmcpack-3.13.0.def +# 转换为沙盒 +singularity build --sandbox image-sandbox name-of-image.sif +``` + +#### 3.在沙盒中运行 + +```shell +#进入沙盒 +singularity shell -w image-sandbox +#在沙盒中运行内置的测试案例 +cd /hpcrunner +./jarvis -r +``` diff --git a/downloads/download.md b/downloads/download.md deleted file mode 100644 index ad4924c8e6533ca8f2599871f8ea9d4bd8ee5e2e..0000000000000000000000000000000000000000 --- a/downloads/download.md +++ /dev/null @@ -1,12 +0,0 @@ - - - - -Software Download: - - -

X86

-

ARM

- bisheng 2.1.0 - - \ No newline at end of file diff --git a/init.sh b/init.sh old mode 100644 new mode 100755 diff --git a/jarvis b/jarvis old mode 100644 new mode 100755 diff --git a/package/Hyper-tuner/2.3.0/install.sh b/package/Hyper-tuner/2.3.0/install.sh old mode 100644 new mode 100755 diff --git a/package/IPM/2.0.6/install.sh b/package/IPM/2.0.6/install.sh old mode 100644 new mode 100755 diff --git a/package/ImageMagick/7.1.0/install.sh b/package/ImageMagick/7.1.0/install.sh old mode 100644 new mode 100755 diff --git a/package/Porting/2.3.0/install.sh b/package/Porting/2.3.0/install.sh old mode 100644 new mode 100755 diff --git a/package/antlr/2.7.7/install.sh b/package/antlr/2.7.7/install.sh new file mode 100755 index 0000000000000000000000000000000000000000..0c5162a9258610012c9cfe88ff3cac356ad64b0f --- /dev/null +++ b/package/antlr/2.7.7/install.sh @@ -0,0 +1,16 @@ +#!/bin/bash +set -x +set -e +. ${DOWNLOAD_TOOL} -u https://www.antlr2.org/download/antlr-2.7.7.tar.gz +cd ${JARVIS_TMP} +tar xvf ${JARVIS_DOWNLOAD}/antlr-2.7.7.tar.gz +cd antlr-2.7.7 +sed -i "13a #include " lib/cpp/antlr/CharScanner.hpp +sed -i "14a #include " lib/cpp/antlr/CharScanner.hpp +./configure \ +--prefix=$1 \ +--disable-csharp \ +--disable-java \ +--disable-python +make -j +make install diff --git a/package/arpack/96/clang/install.sh b/package/arpack/96/clang/install.sh old mode 100644 new mode 100755 diff --git a/package/automake/1.16.5/install.sh b/package/automake/1.16.5/install.sh old mode 100644 new mode 100755 diff --git a/package/bedtools/2.28.0/clang/install.sh b/package/bedtools/2.28.0/clang/install.sh old mode 100644 new mode 100755 diff --git a/package/bisheng/1.3.3/install.sh b/package/bisheng/1.3.3/install.sh old mode 100644 new mode 100755 diff --git a/package/bisheng/2.1.0/install.sh b/package/bisheng/2.1.0/install.sh old mode 100644 new mode 100755 diff --git a/package/bisheng/2.3.0/install.sh b/package/bisheng/2.3.0/install.sh old mode 100644 new mode 100755 diff --git a/package/bisheng/2.4.0/install.sh b/package/bisheng/2.4.0/install.sh old mode 100644 new mode 100755 diff --git a/package/bisheng/meta.sh b/package/bisheng/meta.sh old mode 100644 new mode 100755 diff --git a/package/blas/3.10.0/clang/install.sh b/package/blas/3.10.0/clang/install.sh old mode 100644 new mode 100755 diff --git a/package/blas/3.10.0/install.sh b/package/blas/3.10.0/install.sh old mode 100644 new mode 100755 diff --git a/package/boost/1.72.0/clang/install.sh b/package/boost/1.72.0/clang/install.sh old mode 100644 new mode 100755 diff --git a/package/bowtie2/2.4.5/install.sh b/package/bowtie2/2.4.5/install.sh old mode 100644 new mode 100755 diff --git a/package/bwa/0.7.17/clang/install.sh b/package/bwa/0.7.17/clang/install.sh old mode 100644 new mode 100755 diff --git a/package/cairo/1.16.0/install.sh b/package/cairo/1.16.0/install.sh new file mode 100755 index 0000000000000000000000000000000000000000..20cc9b686fcee1d89e55ca8bd85f56cadb955ad6 --- /dev/null +++ b/package/cairo/1.16.0/install.sh @@ -0,0 +1,9 @@ +#!/bin/bash +set -x +set -e +. ${DOWNLOAD_TOOL} -u https://www.cairographics.org/releases/cairo-1.16.0.tar.xz +cd ${JARVIS_TMP} +tar xvf ${JARVIS_DOWNLOAD}/cairo-1.16.0.tar.xz +cd cairo-1.16.0 +./configure --prefix=$1 +make all install diff --git a/package/common/check_deps.sh b/package/common/check_deps.sh old mode 100644 new mode 100755 diff --git a/package/common/check_root.sh b/package/common/check_root.sh old mode 100644 new mode 100755 diff --git a/package/common/download.sh b/package/common/download.sh old mode 100644 new mode 100755 diff --git a/package/ctffind/4.1.14/clang/install.sh b/package/ctffind/4.1.14/clang/install.sh old mode 100644 new mode 100755 diff --git a/package/cuda/11.4.0/install.sh b/package/cuda/11.4.0/install.sh old mode 100644 new mode 100755 diff --git a/package/cuda/FAQ b/package/cuda/FAQ old mode 100644 new mode 100755 diff --git a/package/curl/7.82.0/install.sh b/package/curl/7.82.0/install.sh old mode 100644 new mode 100755 diff --git a/package/darshan/3.4/install.sh b/package/darshan/3.4/install.sh old mode 100644 new mode 100755 diff --git a/package/eigen3/3.4.0/install.sh b/package/eigen3/3.4.0/install.sh old mode 100644 new mode 100755 diff --git a/package/elpa/2019.05.001/install.sh b/package/elpa/2019.05.001/install.sh old mode 100644 new mode 100755 diff --git a/package/fftw/2.1.5/install.sh b/package/fftw/2.1.5/install.sh old mode 100644 new mode 100755 diff --git a/package/fftw/3.3.10/install.sh b/package/fftw/3.3.10/install.sh old mode 100644 new mode 100755 diff --git a/package/fftw/3.3.8/install.sh b/package/fftw/3.3.8/install.sh old mode 100644 new mode 100755 diff --git a/package/freetype/2.5.1/install.sh b/package/freetype/2.5.1/install.sh new file mode 100755 index 0000000000000000000000000000000000000000..9a87d86dc578d0badc3cdcc0d36e39fc7f3520be --- /dev/null +++ b/package/freetype/2.5.1/install.sh @@ -0,0 +1,13 @@ +#!/bin/bash +set -x +set -e +. ${DOWNLOAD_TOOL} -u https://sourceforge.net/projects/freetype/files/freetype2/2.5.1/freetype-2.5.1.tar.gz +cd ${JARVIS_TMP} +tar -xvf ${JARVIS_DOWNLOAD}/freetype-2.5.1.tar.gz +cd freetype-2.5.1 + +./configure --enable-shared --prefix=$1 +make -j +make install +cd include +cp -r * $1/include \ No newline at end of file diff --git a/package/g2clib/1.6.0/install.sh b/package/g2clib/1.6.0/install.sh new file mode 100755 index 0000000000000000000000000000000000000000..a29d992d8235f78eb050527e815b90911e3dd3f7 --- /dev/null +++ b/package/g2clib/1.6.0/install.sh @@ -0,0 +1,16 @@ +#!/bin/bash +set -x +set -e +cd ${JARVIS_DOWNLOAD} +rm -rf g2clib-image +git clone https://gitee.com/linruoxuan/g2clib-image.git +cd ${JARVIS_TMP} +tar -xvf ${JARVIS_DOWNLOAD}/g2clib-image/g2clib-1.6.0-patch.tar.gz +cd g2clib-1.6.0-patch + +sed -i '22c INC=-I/glade/p/work/haley/dev/external/gnu/4.7.2/include -I${JASPER_PATH}/include' makefile +make all +mkdir $1/lib +mkdir $1/include +mv libgrib2c.a $1/lib/ +cp grib2.h $1/include/ \ No newline at end of file diff --git a/package/gatk/4.0.0.0/install.sh b/package/gatk/4.0.0.0/install.sh old mode 100644 new mode 100755 diff --git a/package/gcc/10.3.0/install.sh b/package/gcc/10.3.0/install.sh old mode 100644 new mode 100755 diff --git a/package/gcc/9.3.0/install.sh b/package/gcc/9.3.0/install.sh old mode 100644 new mode 100755 diff --git a/package/gdal/2.2.4/install.sh b/package/gdal/2.2.4/install.sh new file mode 100755 index 0000000000000000000000000000000000000000..b8b32c2e38bf3eef1f01ae1e48d606ec4f0d77d4 --- /dev/null +++ b/package/gdal/2.2.4/install.sh @@ -0,0 +1,16 @@ +#!/bin/bash +set -x +set -e +. ${DOWNLOAD_TOOL} -u http://download.osgeo.org/gdal/2.2.4/gdal-2.2.4.tar.gz +cd ${JARVIS_TMP} +tar -xvf ${JARVIS_DOWNLOAD}/gdal-2.2.4.tar.gz +cd gdal-2.2.4 + +./configure --with-static-proj4=${PROJ_PATH} --prefix=$1 --with-png=${LIBPNG_PATH} --with-gif=internal --with-libtiff=internal \ + --with-geotiff=internal --with-jpeg=${LIBJPEG_PATH} --with-libz=/usr/local \ + --with-sqlite3=no --with-expat=no --with-curl=no --without-ld-shared \ + --with-hdf4=no --with-hdf5=no --with-pg=no --without-grib --disable-shared \ + --with-freexl=no --with-geos=no --with-openjpeg=no --with-mysql=no \ + --with-ecw=no --with-fgdb=no --with-odbc=no --with-xml2=no --with-ogdi=no\ + --with-pcraster=no --with-xerces=no +make all install \ No newline at end of file diff --git a/package/git/2.35.1/install.sh b/package/git/2.35.1/install.sh old mode 100644 new mode 100755 diff --git a/package/gmp/6.2.0/install.sh b/package/gmp/6.2.0/install.sh old mode 100644 new mode 100755 diff --git a/package/grads/2.0.a4/install.sh b/package/grads/2.0.a4/install.sh old mode 100644 new mode 100755 diff --git a/package/grib_api/1.21.0/install.sh b/package/grib_api/1.21.0/install.sh old mode 100644 new mode 100755 diff --git a/package/gsl/2.6/install.sh b/package/gsl/2.6/install.sh old mode 100644 new mode 100755 diff --git a/package/hdf-eos2/2.20/install.sh b/package/hdf-eos2/2.20/install.sh new file mode 100755 index 0000000000000000000000000000000000000000..e31ee5f4230b1b908c6466f0a1b3a41b396153cf --- /dev/null +++ b/package/hdf-eos2/2.20/install.sh @@ -0,0 +1,15 @@ +#!/bin/bash +set -x +set -e +. ${DOWNLOAD_TOOL} -u https://git.earthdata.nasa.gov/rest/git-lfs/storage/DAS/hdfeos/cb0f900d2732ab01e51284d6c9e90d0e852d61bba9bce3b43af0430ab5414903?response-content-disposition=attachment%3B%20filename%3D%22HDF-EOS2.20v1.00.tar.Z%22%3B%20filename*%3Dutf-8%27%27HDF-EOS2.20v1.00.tar.Z +cd ${JARVIS_DOWNLOAD} +cp -f cb0f900d2732ab01e51284d6c9e90d0e852d61bba9bce3b43af0430ab5414903* HDF-EOS2.20v1.00.tar +cd ${JARVIS_TMP} +# gzip -d ${JARVIS_DOWNLOAD}/HDF-EOS2.20v1.00.tar +tar -xvf ${JARVIS_DOWNLOAD}/HDF-EOS2.20v1.00.tar +cd hdfeos + +ac_cv_func_malloc_0_nonnull=yes ac_cv_func_realloc_0_nonnull=yes ./configure --with-hdf4=${HDF4_PATH} --with-jpeg=${LIBJPEG_PATH} --with-zlib=/usr/local --prefix=$1 +make -j +make install +cp -r include $1/ \ No newline at end of file diff --git a/package/hdf-eos5/1.16/install.sh b/package/hdf-eos5/1.16/install.sh new file mode 100755 index 0000000000000000000000000000000000000000..b6279280ec5679bfc8d442faf27da50e215249a6 --- /dev/null +++ b/package/hdf-eos5/1.16/install.sh @@ -0,0 +1,14 @@ +#!/bin/bash +set -x +set -e +. ${DOWNLOAD_TOOL} -u https://git.earthdata.nasa.gov/rest/git-lfs/storage/DAS/hdfeos5/7054de24b90b6d9533329ef8dc89912c5227c83fb447792103279364e13dd452?response-content-disposition=attachment%3B%20filename%3D%22HDF-EOS5.1.16.tar.Z%22%3B%20filename*%3Dutf-8%27%27HDF-EOS5.1.16.tar.Z +cd ${JARVIS_DOWNLOAD} +cp -f 7054de24b90b6d9533329ef8dc89912c5227c83fb447792103279364e13dd452* HDF-EOS5.1.16.tar +cd ${JARVIS_TMP} +tar -xvf ${JARVIS_DOWNLOAD}/HDF-EOS5.1.16.tar +cd hdfeos5 + +./configure CC=${HDF5_PATH}/bin/h5pcc --with-hdf4=${HDF5_PATH} --with-zlib=/usr/local --prefix=$1 +make -j +make install +cp -r include $1/ \ No newline at end of file diff --git a/package/hdf4/4.2.13/install.sh b/package/hdf4/4.2.13/install.sh new file mode 100755 index 0000000000000000000000000000000000000000..09137b58145739806fa7ea9b7922d50b879bdc32 --- /dev/null +++ b/package/hdf4/4.2.13/install.sh @@ -0,0 +1,10 @@ +#!/bin/bash +set -x +set -e +. ${DOWNLOAD_TOOL} -u https://rpmfind.net/linux/epel/8/Everything/aarch64/Packages/h/hdf-4.2.14-5.el8.aarch64.rpm +cd ${JARVIS_TMP} +rm -rf hdf-4.2.15 +mkdir hdf-4.2.15 +cd hdf-4.2.15 +rpm2cpio ${JARVIS_DOWNLOAD}/hdf-4.2.14-5.el8.aarch64.rpm | cpio -div +cp -r usr/* $1/ diff --git a/package/hdf4/4.2.15/install.sh b/package/hdf4/4.2.15/install.sh new file mode 100755 index 0000000000000000000000000000000000000000..dcadcb067c7ad9c8cbede214394f45d22178cf72 --- /dev/null +++ b/package/hdf4/4.2.15/install.sh @@ -0,0 +1,11 @@ +#!/bin/bash +set -x +set -e +. ${DOWNLOAD_TOOL} -u https://support.hdfgroup.org/ftp/HDF/releases/HDF4.2.15/src/hdf-4.2.15.tar.gz +cd ${JARVIS_TMP} +rm -rf hdf-4.2.15 +tar -xvf ${JARVIS_DOWNLOAD}/hdf-4.2.15.tar.gz +cd hdf-4.2.15 +FFLAGS+='-fallow-argument-mismatch' ./configure --prefix=$1 --with-zlib=/usr/local --disable-fortran --with-jpeg=${LIBJPEG_PATH} --disable-netcdf +make -j +make install diff --git a/package/hdf5/1.10.1/clang/install.sh b/package/hdf5/1.10.1/clang/install.sh old mode 100644 new mode 100755 diff --git a/package/hdf5/1.10.1/install.sh b/package/hdf5/1.10.1/install.sh old mode 100644 new mode 100755 diff --git a/package/hdf5/1.10.4/install.sh b/package/hdf5/1.10.4/install.sh new file mode 100755 index 0000000000000000000000000000000000000000..c55dc05c2ede590fc3343e82786c8ca3295599db --- /dev/null +++ b/package/hdf5/1.10.4/install.sh @@ -0,0 +1,13 @@ +#!/bin/bash +set -x +set -e +hdf5_big_version='1.10' +hdf5_version="${hdf5_big_version}.4" +. ${DOWNLOAD_TOOL} -u https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${hdf5_big_version}/hdf5-${hdf5_version}/src/hdf5-${hdf5_version}.tar.gz +cd ${JARVIS_TMP} +rm -rf hdf5-${hdf5_version} +tar -xvf ${JARVIS_DOWNLOAD}/hdf5-${hdf5_version}.tar.gz +cd hdf5-${hdf5_version} +CC=`which mpicc` ./configure --prefix=$1 --enable-fortran --enable-static=yes --enable-parallel --enable-shared --with-szlib=${JARVIS_LIBS}/gcc10/szip/2.1.1/lib +make -j +make install diff --git a/package/hdf5/1.12.0/clang/install.sh b/package/hdf5/1.12.0/clang/install.sh old mode 100644 new mode 100755 diff --git a/package/hdf5/1.12.0/install.sh b/package/hdf5/1.12.0/install.sh old mode 100644 new mode 100755 diff --git a/package/hdf5/1.8.12/clang/install.sh b/package/hdf5/1.8.12/clang/install.sh old mode 100644 new mode 100755 diff --git a/package/hdf5/1.8.12/install.sh b/package/hdf5/1.8.12/install.sh old mode 100644 new mode 100755 diff --git a/package/hmpi/1.1.1/install.sh b/package/hmpi/1.1.1/install.sh old mode 100644 new mode 100755 diff --git a/package/hmpi/1.2.0/install.sh b/package/hmpi/1.2.0/install.sh old mode 100644 new mode 100755 diff --git a/package/hmpi/FAQ.md b/package/hmpi/FAQ.md old mode 100644 new mode 100755 diff --git a/package/htslib/1.15/install.sh b/package/htslib/1.15/install.sh old mode 100644 new mode 100755 diff --git a/package/hypre/2.25.0/install.sh b/package/hypre/2.25.0/install.sh old mode 100644 new mode 100755 diff --git a/package/ioapi/3.2/clang/install.sh b/package/ioapi/3.2/clang/install.sh old mode 100644 new mode 100755 diff --git a/package/ioapi/3.2/kgcc/install.sh b/package/ioapi/3.2/kgcc/install.sh old mode 100644 new mode 100755 diff --git a/package/jasper/1.900.2/install.sh b/package/jasper/1.900.2/install.sh old mode 100644 new mode 100755 index ade3fa523323afa97c01703ec5ac91788c4d336c..ae4995b0bdbf47da456515f600c4399a20e3473a --- a/package/jasper/1.900.2/install.sh +++ b/package/jasper/1.900.2/install.sh @@ -1,4 +1,3 @@ -#download from https://www.ece.uvic.ca/~frodo/jasper/software/jasper-1.900.2.tar.gz #!/bin/bash set -x set -e @@ -6,7 +5,7 @@ set -e cd ${JARVIS_TMP} rm -rf jasper-1.900.2 tar -xvf ${JARVIS_DOWNLOAD}/jasper-1.900.2.tar.gz -cd jasper-1.900.2 +cd jasper-1.900.1 #export CC=clang CXX=clang++ ./configure --prefix=$1 make -j diff --git a/package/jellyfish/2.3.0/install.sh b/package/jellyfish/2.3.0/install.sh old mode 100644 new mode 100755 diff --git a/package/kahip/3.10/install.sh b/package/kahip/3.10/install.sh old mode 100644 new mode 100755 diff --git a/package/kfft/1.0.0/install.sh b/package/kfft/1.0.0/install.sh old mode 100644 new mode 100755 diff --git a/package/kgcc/10.3.1/install.sh b/package/kgcc/10.3.1/install.sh old mode 100644 new mode 100755 diff --git a/package/kgcc/9.3.1/install.sh b/package/kgcc/9.3.1/install.sh old mode 100644 new mode 100755 diff --git a/package/kml/1.4.0/bisheng/install.sh b/package/kml/1.4.0/bisheng/install.sh old mode 100644 new mode 100755 diff --git a/package/kml/1.4.0/gcc/install.sh b/package/kml/1.4.0/gcc/install.sh old mode 100644 new mode 100755 diff --git a/package/kml/1.6.0/bisheng/install.sh b/package/kml/1.6.0/bisheng/install.sh old mode 100644 new mode 100755 diff --git a/package/kml/1.6.0/gcc/install.sh b/package/kml/1.6.0/gcc/install.sh old mode 100644 new mode 100755 diff --git a/package/lapack/3.8.0/bisheng/install.sh b/package/lapack/3.8.0/bisheng/install.sh old mode 100644 new mode 100755 diff --git a/package/lapack/3.8.0/install.sh b/package/lapack/3.8.0/install.sh old mode 100644 new mode 100755 diff --git a/package/libint/2.6.0/install.sh b/package/libint/2.6.0/install.sh old mode 100644 new mode 100755 diff --git a/package/libjpeg/v7/install.sh b/package/libjpeg/v7/install.sh old mode 100644 new mode 100755 diff --git a/package/libjpeg/v9b/install.sh b/package/libjpeg/v9b/install.sh new file mode 100755 index 0000000000000000000000000000000000000000..da3dcd3c812539f88e4984edcaf2226dac3b25c8 --- /dev/null +++ b/package/libjpeg/v9b/install.sh @@ -0,0 +1,11 @@ +#!/bin/bash +set -x +set -e +. ${DOWNLOAD_TOOL} -u http://www.ijg.org/files/jpegsrc.v9b.tar.gz +cd ${JARVIS_TMP} +rm -rf jpeg-9b +tar xvf ${JARVIS_DOWNLOAD}/jpegsrc.v9b.tar.gz +cd jpeg-9b +./configure --prefix=$1 +make -j +make install \ No newline at end of file diff --git a/package/libpng/1.6.37/install.sh b/package/libpng/1.6.37/install.sh old mode 100644 new mode 100755 diff --git a/package/libvori/21.04.12/install.sh b/package/libvori/21.04.12/install.sh old mode 100644 new mode 100755 diff --git a/package/libxc/4.3.4/install.sh b/package/libxc/4.3.4/install.sh old mode 100644 new mode 100755 diff --git a/package/libxc/5.1.4/install.sh b/package/libxc/5.1.4/install.sh old mode 100644 new mode 100755 diff --git a/package/mesa/3.1/install.sh b/package/mesa/3.1/install.sh new file mode 100755 index 0000000000000000000000000000000000000000..d695cd03539d3ba9a005a345811fa5b81c542423 --- /dev/null +++ b/package/mesa/3.1/install.sh @@ -0,0 +1,14 @@ +#!/bin/bash +set -x +set -e + +. ${DOWNLOAD_TOOL} -u https://archive.mesa3d.org/older-versions/3.x/MesaLib-3.1.tar.gz +cd ${JARVIS_TMP} +rm -rf Mesa-3.1 +tar -xvf ${JARVIS_DOWNLOAD}/MesaLib-3.1.tar.gz +cd Mesa-3.1 +cp -f /usr/share/libtool/build-aux/config.guess ./ +cp -f /usr/share/libtool/build-aux/config.sub ./ +./configure --prefix=$1 +make +make install \ No newline at end of file diff --git a/package/metis/4.0.3/install.sh b/package/metis/4.0.3/install.sh old mode 100644 new mode 100755 diff --git a/package/mfem/4.4/install.sh b/package/mfem/4.4/install.sh old mode 100644 new mode 100755 diff --git a/package/ncview/2.1.7/install.sh b/package/ncview/2.1.7/install.sh old mode 100644 new mode 100755 diff --git a/package/netcdf/4.7.0/install.sh b/package/netcdf/4.7.0/install.sh old mode 100644 new mode 100755 diff --git a/package/netcdf/4.7.4/clang/install.sh b/package/netcdf/4.7.4/clang/install.sh old mode 100644 new mode 100755 diff --git a/package/netcdf/4.7.4/install.sh b/package/netcdf/4.7.4/install.sh old mode 100644 new mode 100755 diff --git a/package/nvhpc/11.4/install.sh b/package/nvhpc/11.4/install.sh old mode 100644 new mode 100755 diff --git a/package/oneapi/2021.1.0/install.sh b/package/oneapi/2021.1.0/install.sh old mode 100644 new mode 100755 diff --git a/package/openblas/0.3.18/install.sh b/package/openblas/0.3.18/install.sh old mode 100644 new mode 100755 diff --git a/package/openblas/0.3.6/install.sh b/package/openblas/0.3.6/install.sh old mode 100644 new mode 100755 diff --git a/package/opencv/4.5.5/install.sh b/package/opencv/4.5.5/install.sh old mode 100644 new mode 100755 diff --git a/package/openjpeg/2.4.0/install.sh b/package/openjpeg/2.4.0/install.sh old mode 100644 new mode 100755 diff --git a/package/openlb/1.4/install.sh b/package/openlb/1.4/install.sh old mode 100644 new mode 100755 diff --git a/package/openmpi/4.0.1/gpu/install.sh b/package/openmpi/4.0.1/gpu/install.sh old mode 100644 new mode 100755 diff --git a/package/openmpi/4.0.1/install.sh b/package/openmpi/4.0.1/install.sh old mode 100644 new mode 100755 diff --git a/package/openmpi/4.1.2/IB/install.sh b/package/openmpi/4.1.2/IB/install.sh old mode 100644 new mode 100755 diff --git a/package/openmpi/4.1.2/gpu/install.sh b/package/openmpi/4.1.2/gpu/install.sh old mode 100644 new mode 100755 diff --git a/package/openmpi/4.1.2/install.sh b/package/openmpi/4.1.2/install.sh old mode 100644 new mode 100755 diff --git a/package/optimized-routines/20.02/clang/install.sh b/package/optimized-routines/20.02/clang/install.sh old mode 100644 new mode 100755 diff --git a/package/optimized-routines/20.02/install.sh b/package/optimized-routines/20.02/install.sh old mode 100644 new mode 100755 diff --git a/package/parmetis/4.0.3/install.sh b/package/parmetis/4.0.3/install.sh old mode 100644 new mode 100755 diff --git a/package/picard/2.27.0/install.sh b/package/picard/2.27.0/install.sh old mode 100644 new mode 100755 diff --git a/package/pixman/0.38.0/install.sh b/package/pixman/0.38.0/install.sh new file mode 100755 index 0000000000000000000000000000000000000000..cdc121d53b060b1f7549929ea42f0f160d0b555a --- /dev/null +++ b/package/pixman/0.38.0/install.sh @@ -0,0 +1,11 @@ +#!/bin/bash +set -x +set -e +. ${DOWNLOAD_TOOL} -u https://www.cairographics.org/releases/pixman-0.38.0.tar.gz +cd ${JARVIS_TMP} + +tar xvf ${JARVIS_DOWNLOAD}/pixman-0.38.0.tar.gz +cd pixman-0.38.0 +./configure --prefix=$1 +make -j +make install diff --git a/package/pkg-config/0.29/install.sh b/package/pkg-config/0.29/install.sh new file mode 100755 index 0000000000000000000000000000000000000000..59241282d7f2709bce7b0bccab322860079b5e06 --- /dev/null +++ b/package/pkg-config/0.29/install.sh @@ -0,0 +1,10 @@ +#!/bin/bash +set -x +set -e +. ${DOWNLOAD_TOOL} -u http://pkgconfig.freedesktop.org/releases/pkg-config-0.29.tar.gz +cd ${JARVIS_TMP} +tar xvf ${JARVIS_DOWNLOAD}/pkg-config-0.29.tar.gz +cd pkg-config-0.29 +./configure --prefix=$1 --enable-shared +make -j +make install diff --git a/package/plumed/2.5.2/install.sh b/package/plumed/2.5.2/install.sh old mode 100644 new mode 100755 diff --git a/package/plumed/2.6.2/install.sh b/package/plumed/2.6.2/install.sh old mode 100644 new mode 100755 diff --git a/package/plumed/FAQ b/package/plumed/FAQ old mode 100644 new mode 100755 diff --git a/package/pnetcdf/1.11.2/install.sh b/package/pnetcdf/1.11.2/install.sh old mode 100644 new mode 100755 diff --git a/package/pnetcdf/1.12.1/install.sh b/package/pnetcdf/1.12.1/install.sh old mode 100644 new mode 100755 diff --git a/package/precice/2.3.0/install.sh b/package/precice/2.3.0/install.sh old mode 100644 new mode 100755 diff --git a/package/proj/5.2.0/install.sh b/package/proj/5.2.0/install.sh new file mode 100755 index 0000000000000000000000000000000000000000..20a26f83e6ffedd58e6513f2eeb43a6d40697188 --- /dev/null +++ b/package/proj/5.2.0/install.sh @@ -0,0 +1,11 @@ +#!/bin/bash +set -x +set -e +. ${DOWNLOAD_TOOL} -u http://download.osgeo.org/proj/proj-5.2.0.tar.gz +cd ${JARVIS_TMP} +rm -rf proj-5.2.0 +tar -xvf ${JARVIS_DOWNLOAD}/proj-5.2.0.tar.gz +cd proj-5.2.0 + +./configure --enable-shared --enable-static --prefix=$1 +make all install \ No newline at end of file diff --git a/package/python3/3.7.10/install.sh b/package/python3/3.7.10/install.sh old mode 100644 new mode 100755 diff --git a/package/relion/3.1.2/install.sh b/package/relion/3.1.2/install.sh old mode 100644 new mode 100755 diff --git a/package/salmon/1.9.0/bisheng/install.sh b/package/salmon/1.9.0/bisheng/install.sh old mode 100644 new mode 100755 diff --git a/package/salmon/1.9.0/install.sh b/package/salmon/1.9.0/install.sh old mode 100644 new mode 100755 diff --git a/package/samtools/1.15/install.sh b/package/samtools/1.15/install.sh old mode 100644 new mode 100755 diff --git a/package/scalapack/2.1.0/clang/install.sh b/package/scalapack/2.1.0/clang/install.sh old mode 100644 new mode 100755 diff --git a/package/scalapack/2.1.0/install.sh b/package/scalapack/2.1.0/install.sh old mode 100644 new mode 100755 diff --git a/package/scalapack/2.1.0/kml/install.sh b/package/scalapack/2.1.0/kml/install.sh old mode 100644 new mode 100755 diff --git a/package/scotch/7.0.1/install.sh b/package/scotch/7.0.1/install.sh old mode 100644 new mode 100755 diff --git a/package/singularity/3.8.4/install.sh b/package/singularity/3.8.4/install.sh old mode 100644 new mode 100755 diff --git a/package/singularity/3.9.9/install.sh b/package/singularity/3.9.9/install.sh old mode 100644 new mode 100755 diff --git a/package/spglib/1.16.0/install.sh b/package/spglib/1.16.0/install.sh old mode 100644 new mode 100755 diff --git a/package/spooles/2.2/clang/install.sh b/package/spooles/2.2/clang/install.sh old mode 100644 new mode 100755 diff --git a/package/szip/2.1.1/install.sh b/package/szip/2.1.1/install.sh old mode 100644 new mode 100755 diff --git a/package/tau/2.30.0/install.sh b/package/tau/2.30.0/install.sh old mode 100644 new mode 100755 diff --git a/package/udunits/2.2.28/install.sh b/package/udunits/2.2.28/install.sh old mode 100644 new mode 100755 diff --git a/package/valgrind/3.20/install.sh b/package/valgrind/3.20/install.sh old mode 100644 new mode 100755 diff --git a/package/vis5dplus/1.3.0/install.sh b/package/vis5dplus/1.3.0/install.sh new file mode 100755 index 0000000000000000000000000000000000000000..2c1aa8b9a4dfb01612f032ac77ee0dbde17c7406 --- /dev/null +++ b/package/vis5dplus/1.3.0/install.sh @@ -0,0 +1,15 @@ +#!/bin/bash +set -x +set -e +. ${DOWNLOAD_TOOL} -u https://sourceforge.net/projects/vis5d/files/vis5d/vis5d%2B-1.3.0-beta/vis5d%2B-1.3.0-beta.tar.gz +cd ${JARVIS_TMP} +rm -rf vis5d+-1.3.0-beta +tar -xvf ${JARVIS_DOWNLOAD}/vis5d%2B-1.3.0-beta.tar.gz +cd vis5d+-1.3.0-beta +sed -i '40c extern float vis_round( float x ); ' src/misc.h +sed -i '150c float vis_round(float x)' src/misc.c + +FFLAGS='-fno-range-check -fallow-rank-mismatch' LDFLAGS=-L${MESA_PATH}/lib CFLAGS=-I${MESA_PATH}/include CPPFLAGS=-I${MESA_PATH}/include ./configure --prefix=$1 --disable-fortran --with-netcdf=${NETCDF_PATH} --disable-shared + +make +make install \ No newline at end of file diff --git a/package/wxWidgets/3.0.5/install.sh b/package/wxWidgets/3.0.5/install.sh old mode 100644 new mode 100755 diff --git a/package/yaml-cpp/0.6.2/install.sh b/package/yaml-cpp/0.6.2/install.sh old mode 100644 new mode 100755 diff --git a/package/zlib/1.2.12/clang/install.sh b/package/zlib/1.2.12/clang/install.sh old mode 100644 new mode 100755 diff --git a/package/zlib/1.2.12/install.sh b/package/zlib/1.2.12/install.sh old mode 100644 new mode 100755 diff --git a/templates/ncl/6.6.2/data.NCL.arm.cpu.config b/templates/ncl/6.6.2/data.NCL.arm.cpu.config new file mode 100644 index 0000000000000000000000000000000000000000..3c7cccf49402c789024ec07c2b86181c821dcebb --- /dev/null +++ b/templates/ncl/6.6.2/data.NCL.arm.cpu.config @@ -0,0 +1,124 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +NCL/6.6.2 https://rpmfind.net/linux/epel/8/Everything/aarch64/Packages/n/ncl-6.6.2-12.el8.aarch64.rpm + +[DEPENDENCY] +set -e +set -x +module purge +sed -i '1a export bisheng_ver='bisheng-compiler-2.3.0'' package/bisheng/2.3.0/install.sh +./jarvis -install kgcc/10.3.1 com +./jarvis -install bisheng/2.3.0 com +module use ./software/modulefiles +module load bisheng +CC=`which clang` +CXX=`which clang++` +FC=`which flang` +sed -i '9c ./configure --prefix=$1 CFLAGS="-fPIC"' package/libjpeg/v9b/install.sh +./jarvis -install libjpeg/v9b bisheng +./jarvis -install hmpi/1.2.0 bisheng +module load libjpeg + +module load hmpi/1.2.0 + + + + + +CC=`which mpicc` + +./jarvis -install pnetcdf/1.12.1 bisheng +module load pnetcdf/1.12.1 +sed -i '9c ./configure --prefix=$1 --enable-netcdf-4 --disable-shared' package/szip/2.1.1/install.sh + + +sed -i '11c CC=`which mpicc` FC=`which mpifort` ./configure --with-zlib=/usr/lib --prefix=$1 --enable-static=yes --enable-parallel --enable-shared --with-szlib=${JARVIS_LIBS}/bisheng2.3.0/szip/2.1.1/lib' package/hdf5/1.10.4/install.sh +sed -i 's/# sed/sed/g' package/hdf5/1.12.0/install.sh +./jarvis -install hdf5/1.12.0 bisheng + +export CC=`which clang` +export CXX=`which clang++` +export FC=`which flang` +module load hdf5/1.12.0 + +sed -i '21c ./configure --prefix=$1 ${build_type} --enable-shared --enable-netcdf-4 --disable-dap --with-pic --disable-doxygen --enable-static --disable-pnetcdf --enable-largefile CPPFLAGS="-O3 -I${HMPI_PATH}/include -I${HDF5_DIR}/include -I${PNETCDF_DIR}/include" LDFLAGS="-L${HDF5_DIR}/lib -L${PNETCDF_DIR}/lib -Wl,-rpath=${HDF5_DIR}/lib -Wl,-rpath=${PNETCDF_DIR}/lib" CFLAGS="-O3 -L${HDF5_DIR}/lib -L${PNETCDF_DIR}/lib -I${HDF5_DIR}/include -I${PNETCDF_DIR}/include"' package/netcdf/4.7.4/install.sh +./jarvis -install netcdf/4.7.4 bisheng +module load netcdf/4.7.4 +ln -s -f ${NETCDF_PATH}/lib/libnetcdf.so.18 ${NETCDF_PATH}/lib/libnetcdf.so.15 +./jarvis -install hdf4/4.2.13 bisheng + + +module load hdf5/1.12.0 +ln -s -f ${HDF5_PATH}/lib/libhdf5_hl.so.200.0.0 ${HDF5_PATH}/lib/libhdf5_hl.so.100 +ln -s -f ${HDF5_PATH}/lib/libhdf5.so.200.0.0 ${HDF5_PATH}/lib/libhdf5.so.103 +./jarvis -install jasper/1.900.1 bisheng +module load jasper +ln -s -f ${JASPER_PATH}/lib/libjasper.so.1.0.0 ${JASPER_PATH}/lib/libjasper.so.4 + +./jarvis -install proj/5.2.0 bisheng +./jarvis -install gdal/2.2.4 bisheng +module load gdal/2.2.4 +module load proj/5.2.0 +ln -s -f ${GDAL_PATH}/lib/libgdal.so.20.3.3 ${GDAL_PATH}/lib/libgdal.so.26 +ln -s -f ${PROJ_PATH}/lib/libproj.so ${PROJ_PATH}/lib/libproj.so.15 + +export CC=`which clang` +export CXX=`which clang++` +export FC=`which flang` + +./jarvis -install udunits/2.2.28 bisheng +./jarvis -install gsl/2.6 bisheng +module load gsl/2.6 +ln -s -f ${GSL_PATH}/lib/libgsl.so.25.0.0 ${GSL_PATH}/lib/libgsl.so.23 +./jarvis -install openblas/0.3.18 bisheng +module load openblas/0.3.18 + + + + +[ENV] +module purge +module use ./software/modulefiles + +module load bisheng/2.3.0 +module load hmpi/1.2.0 +module load libjpeg +module load hdf5/1.12.0 +module load netcdf/4.7.4 +module load hdf4-clang/4.2.15 +module load hdf5/1.10.4 +module load gsl/2.6 +module load jasper/1.900.1 +module load proj/5.2.0 +module load gdal/2.2.4 +module load udunits/2.2.28 +module load openblas +module load kgcc +export CC=`which mpicc` +export F77=`which mpif77` +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${JARVIS_LIBS}/bisheng2.3.0/szip/2.1.1/lib:${JARVIS_LIBS}/bisheng2.3.0/libjpeg/v9b/lib:${JARVIS_LIBS}/bisheng2.3.0/gsl/2.6/lib + + + +[APP] +app_name = NCL +build_dir = ${JARVIS_TMP}/ncl_ncarg-6.6.2 +binary_dir = ${JARVIS_LIBS}/bisheng2.3.0/ncl/bin +case_dir = ${JARVIS_LIBS}/bisheng2.3.0/ncl/bin + +[BUILD] +cd ${JARVIS_TMP} +rm -rf ncl_ncarg_6.6.2 +mkdir ncl_ncarg_6.6.2 +cd ncl_ncarg_6.6.2 +rpm2cpio ${JARVIS_DOWNLOAD}/ncl-6.6.2-12.el8.aarch64.rpm | cpio -div +cp -r usr/* ${JARVIS_LIBS}/bisheng2.3.0/ncl +export PATH=$PATH:${JARVIS_LIBS}/bisheng2.3.0/ncl/bin +export NCARG_ROOT=${binary_dir} + +[RUN] +run = export PATH=$PATH:${JARVIS_LIBS}/bisheng2.3.0/ncl/bin && export NCARG_ROOT=${JARVIS_LIBS}/bisheng2.3.0/ncl && export NCARG_COLORMAPS=$NCARG_ROOT/lib64/ncarg/colormaps && ncl -Q +binary = +nodes = 1 diff --git a/templates/ncl/6.6.2/data.NCL.x86.cpu.config b/templates/ncl/6.6.2/data.NCL.x86.cpu.config new file mode 100644 index 0000000000000000000000000000000000000000..8d8502b9fdb6c2488898fe21dc4013177fdd3b04 --- /dev/null +++ b/templates/ncl/6.6.2/data.NCL.x86.cpu.config @@ -0,0 +1,181 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +NCL/6.6.2 https://www.earthsystemgrid.org/dataset/ncl.662.src/file/ncl_ncarg-6.6.2.tar.gz + +[DEPENDENCY] +set -e +set -x +module purge +./jarvis -install gcc/10.3.0 com +module use ./software/modulefiles +module load gcc/10.3.0 +./jarvis -install libjpeg/v9b gcc +./jarvis -install openmpi/4.1.2 gcc +./jarvis -install libjpeg/v9b gcc +module load libjpeg/v9b + + +module load openmpi + +./jarvis -install libpng/1.6.37 gcc +./jarvis -install pkg-config/0.29 gcc +module load libpng/1.6.37 +export LIBPNG_CFLAG=${LIBPNG_PATH}/include +export LIBPNG_LDFLAG=${LIBPNG_PATH}/lib +./jarvis -install pixman/0.38.0 gcc +./jarvis -install szip/2.1.1 gcc +./jarvis -install freetype/2.5.1 gcc + +module load pkg-config/0.29 +module load pixman/0.38.0 +module load freetype/2.5.1 + +export PATH=${JARVIS_LIBS}/gcc10.3.0/pkg-config/0.29/bin:$PATH +export png_REQUIRES="libpng16" +export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${FREETYPE_PATH}/lib/pkgconfig/:${LIBPNG_PATH}/lib/pkgconfig:${JARVIS_LIBS}/gcc10.3.0/pixman/0.38.0/lib/pkgconfig/:${JARVIS_LIBS}/gcc10.3.0/pkg-config/0.29 +export C_INCLUDE_PATH=$C_INCLUDE_PATH:${JARVIS_LIBS}/gcc10.3.0/libpng/1.6.37/include:${JARVIS_LIBS}/gcc10.3.0/hdf5/1.10.4/include:${JARVIS_LIBS}/gcc10.3.0/netcdf/4.7.4/include +export FREETYPE_CONFIG="-lfreetype2" +module load pixman/0.38.0 + + + +CC=`which gcc` +./jarvis -install cairo/1.16.0 gcc + + +sed -i '9c ./configure --prefix=$1 --enable-netcdf-4 --disable-shared' package/szip/2.1.1/install.sh +./jarvis -install szip/2.1.1 gcc + +sed -i '11c CC=`which mpicc` ./configure --prefix=$1 --with-zlib=/usr/local --enable-fortran --enable-static=yes --enable-parallel --enable-shared --with-szlib=${JARVIS_LIBS}/gcc10.3.0/szip/2.1.1/lib' package/hdf5/1.10.4/install.sh +./jarvis -install hdf5/1.10.4 gcc +module load hdf5/1.10.4 +./jarvis -install pnetcdf/1.11.2 gcc +module load pnetcdf/1.11.2 +sed -i '21c ./configure --prefix=$1 ${build_type} --enable-shared --enable-netcdf-4 --disable-dap --with-pic --disable-doxygen --enable-static --enable-largefile CPPFLAGS="-O3 -I${OPENMPI_PATH}/include -I${HDF5_DIR}/include -I${PNETCDF_DIR}/include" LDFLAGS="-L${HDF5_DIR}/lib -L${PNETCDF_DIR}/lib -Wl,-rpath=${HDF5_DIR}/lib -Wl,-rpath=${PNETCDF_DIR}/lib" CFLAGS="-O3 -L${HDF5_DIR}/lib -L${PNETCDF_DIR}/lib -I${HDF5_DIR}/include -I${PNETCDF_DIR}/include" ' package/netcdf/4.7.4/install.sh +./jarvis -install netcdf/4.7.4 gcc + +CFLAGS='-I/usr/include/tirpc' LDFLAGS='-ltirpc' ./jarvis -install hdf4/4.2.15 gcc +module load hdf4/4.2.15 + + +./jarvis -install gsl/2.6 gcc +./jarvis -install jasper/1.900.2 gcc +module load jasper/1.900.2 +./jarvis -install g2clib/1.6.0 gcc +module load g2clib/1.6.0 +./jarvis -install proj/5.2.0 gcc +./jarvis -install gdal/2.2.4 gcc +./jarvis -install hdf-eos2/2.20 gcc +./jarvis -install hdf-eos5/1.16 gcc +./jarvis -install udunits/2.2.28 gcc +./jarvis -install mesa/3.1 gcc +module load mesa/3.1 + +./jarvis -install vis5dplus/1.3.0 gcc + +mkdir ${JARVIS_LIBS}/gcc10.3.0/ncl + +[ENV] +module purge +module use ./software/modulefiles + +module load gcc/10.3.0 +module load openmpi +module load libjpeg +module load hdf5/1.10.4 +module load libpng/1.6.37 +module load pkg-config/0.29 +module load pixman/0.38.0 +module load netcdf/4.7.4 +module load hdf4/4.2.15 +module load hdf5/1.10.4 +module load g2clib/1.6.0 +module load gsl/2.6 +module load hdf-eos2/2.20 +module load hdf-eos5/1.16 +module load jasper/1.900.2 +module load proj/5.2.0 +module load gdal/2.2.4 +module load udunits/2.2.28 +module load mesa/3.1 +module load vis5dplus/1.3.0 +export CC=`which mpicc` +export F77=`which mpif77` +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${JARVIS_LIBS}/gcc10.3.0/szip/2.1.1/lib:${JARVIS_LIBS}/gcc10.3.0/libjpeg/v9b/lib:${JARVIS_LIBS}/gcc10.3.0/gsl/2.6/lib + + + +[APP] +app_name = NCL +build_dir = ${JARVIS_TMP}/ncl_ncarg-6.6.2 +binary_dir = ${JARVIS_LIBS}/gcc10.3.0/ncl/bin +case_dir = ${JARVIS_LIBS}/gcc10.3.0/ncl/bin + +[BUILD] +cd ${JARVIS_TMP} +rm -rf ncl_ncarg-6.6.2 + +tar zxvf ${JARVIS_DOWNLOAD}/ncl_ncarg-6.6.2.tar.gz +cd ncl_ncarg-6.6.2 +wget http://www.netlib.org/voronoi/triangle.zip +unzip triangle.zip 'triangle.*' -d ./ni/src/lib/hlu/ +rm -f triangle.zip + +cd config +export CC=`which mpicc` +export F77=`which mpif77` +make -f Makefile.ini +./ymake -config `pwd` + +sed -i '/LibSearch/d' ./Site +sed -i '/IncSearch/d' ./Site +sed -i '/#define ManRoot/a \ +#define YmakeRoot ${JARVIS_LIBS}/gcc10.3.0/ncl \ +#define BinRoot ${JARVIS_LIBS}/gcc10.3.0/ncl/bin \ +#define LibRoot ${JARVIS_LIBS}/gcc10.3.0/ncl/lib \ +#define IncRoot ${JARVIS_LIBS}/gcc10.3.0/ncl/include \ +#define ManRoot ${JARVIS_LIBS}/gcc10.3.0/ncl/man \ +#define TmpRoot /tmp \ +\ +#define RootPath ${JARVIS_LIBS}/gcc10.3.0/ncl \ +#define BinPath ${JARVIS_LIBS}/gcc10.3.0/ncl/bin \ +#define LibPath ${JARVIS_LIBS}/gcc10.3.0/ncl/lib \ +#define IncPath ${JARVIS_LIBS}/gcc10.3.0/ncl/include \ +#define ManPath ${JARVIS_LIBS}/gcc10.3.0/ncl/man \ +#define LibSearch -L/usr/lib64 -L/usr/local/lib -ltirpc -L${LIBJPEG_PATH}/lib -L${LIBPNG_PATH}/lib -L${JARVIS_LIBS}/gcc10.3.0/jasper/1.900.1/lib -L${JARVIS_LIBS}/gcc10.3.0/szip/2.1.1/lib -L${JARVIS_LIBS}/gcc10.3.0/cairo/1.16.0/lib -L${JARVIS_LIBS}/gcc10.3.0/pixman/0.38.0/lib -L${JARVIS_MPI}/openmpi4.1.2-gcc10.3.0/4.1.2/lib -L${JARVIS_LIBS}/gcc10.3.0/hdf5/1.10.4/lib -L${JARVIS_LIBS}/gcc10.3.0/gsl/2.6/lib -L${JARVIS_LIBS}/gcc10.3.0/netcdf/4.7.4/lib -L${JARVIS_LIBS}/gcc10.3.0/hdf4/4.2.15/lib -L${JARVIS_LIBS}/gcc10.3.0/cairo/1.16.0/lib -L${JARVIS_LIBS}/gcc10.3.0/udunits/2.2.28/lib -L${JARVIS_LIBS}/gcc10.3.0/g2clib/1.6.0/lib -L${JARVIS_LIBS}/gcc10.3.0/hdf-eos2/2.20/lib -L${JARVIS_LIBS}/gcc10.3.0/hdf-eos5/1.16/lib\ +#define IncSearch -I/usr/local/include -I${LIBPNG_PATH}/include -I${JARVIS_MPI}/openmpi4.1.2-gcc10.3.0/4.1.2/include -I${JARVIS_LIBS}/gcc10.3.0/hdf5/1.10.4/include -I${JARVIS_LIBS}/gcc10.3.0/gsl/2.6/include -I${JARVIS_LIBS}/gcc10.3.0/netcdf/4.7.4/include -I${JARVIS_LIBS}/gcc10.3.0/hdf4/4.2.15/include -I${JARVIS_LIBS}/gcc10.3.0/cairo/1.16.0/include -I${JARVIS_LIBS}/gcc10.3.0/freetype/2.5.1/include -I${JARVIS_LIBS}/gcc10.3.0/udunits/2.2.28/include -I${JARVIS_LIBS}/gcc10.3.0/g2clib/1.6.0/include -I${JARVIS_LIBS}/gcc10.3.0/hdf-eos2/2.20/include -I${JARVIS_LIBS}/gcc10.3.0/hdf-eos5/1.16/include\ +#define XdrLibrary -ltirpc' ./Site + +sed -i '/#ifdef hostshavano/a\ +#define BuildNCL 1 \ +#define BuildRasterHDF 1 ' ./Site + + +cd .. +sed -i '85c extern NclQuark possibleDimNames[NUMPOSDIMNAMES];' ni/src/ncl/NclNewHDF5.c +sed -i '143,145c extern FILE *thefptr;\ +extern FILE *theoptr;\ +extern int cmd_line;' ni/src/ncl/NclApi.c +pwd +ac_cv_func_malloc_0_nonnull=yes ac_cv_func_realloc_0_nonnull=yes ./Configure -ncar + +sed -i "34c\ r = (iand(index, RMASK) / int(Z'0000FFFF')) / 255." ncarg2d/src/libncarg_gks/bwi/argb2ci.f +sed -i "35c\ g = (iand(index, GMASK) / int(Z'000000FF')) / 255." ncarg2d/src/libncarg_gks/bwi/argb2ci.f + +C_INCLUDE_PATH=$C_INCLUDE_PATH:${LIBPNG_PATH}/include:${JARVIS_LIBS}/gcc10.3.0/g2clib/include:${JARVIS_LIBS}/gcc10.3.0/udunits/include:${JARVIS_LIBS}/gcc10.3.0/netcdf/4.7.4/include:${JARVIS_LIBS}/gcc10.3.0/hdf4/4.2.15/include +CC=gcc FC=`which gfortran` \ +EXTRA_CCOPTIONS='-L/usr/lib64 -ltirpc -L${LIBPNG_PATH}/lib -I${JARVIS_LIBS}/gcc10.3.0/cairo/1.16.0/include -I${LIBPNG_PATH}/include -I${JARVIS_LIBS}/gcc10.3.0/freetype/2.5.1/include -L${JARVIS_LIBS}/gcc10.3.0/cairo/1.16.0/lib -L${JARVIS_LIBS}/gcc10.3.0/pixman/0.38.0/lib' +EXTRA_FCOPTIONS='-fallow-argument-mismatch -fallow-invalid-boz' \ +make Everything >& make-output +make install >& install-output +export PATH=$PATH:${JARVIS_LIBS}/gcc10.3.0/ncl/bin +export DISPLAY=:0.0 +export DISPLAY=128.117.14.12:0 +export DISPLAY=localhost:13.0 + +[RUN] +run = export PATH=$PATH:${JARVIS_LIBS}/gcc10.3.0/ncl/bin && ncl -V && ng4ex gsun01n && ncl gsun01n.ncl +binary = +nodes = 1 diff --git a/templates/nco/5.1.4/data.NCO.arm.cpu.config b/templates/nco/5.1.4/data.NCO.arm.cpu.config new file mode 100644 index 0000000000000000000000000000000000000000..6cd6e7289722fe6b130966ef15526a65c11d4e00 --- /dev/null +++ b/templates/nco/5.1.4/data.NCO.arm.cpu.config @@ -0,0 +1,77 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +NCO/5.1.4 https://sourceforge.net/projects/nco/files/nco-5.1.4.tar.gz + +[DEPENDENCY] +set -e +set -x +module purge +./jarvis -install bisheng/2.3.0 com +module use ./software/modulefiles +module load bisheng/2.3.0 +sed -i '9c ./configure --prefix=$1 CFLAGS="-fPIC"' package/libjpeg/v9b/install.sh +./jarvis -install libjpeg/v9b bisheng +./jarvis -install hmpi/1.2.0 bisheng +module load libjpeg + + +module load hmpi/1.2.0 +sed -i '5c hdf5_version="${hdf5_big_version}.0"' package/hdf5/1.12.0/clang/install.sh +CC=`which mpicc` ./jarvis -install hdf5/1.12.0/clang bisheng +module load hdf5-clang/1.12.0 +sed -i '21c ./configure --prefix=$1 ${build_type} --enable-shared --enable-netcdf-4 --disable-dap --with-pic --disable-doxygen --enable-static --disable-pnetcdf --enable-largefile CPPFLAGS="-O3 -I${HMPI_PATH}/include -I${HDF5_DIR}/include -I${PNETCDF_DIR}/include" LDFLAGS="-L${HDF5_DIR}/lib -L${PNETCDF_DIR}/lib -Wl,-rpath=${HDF5_DIR}/lib -Wl,-rpath=${PNETCDF_DIR}/lib" CFLAGS="-O3 -L${HDF5_DIR}/lib -L${PNETCDF_DIR}/lib -I${HDF5_DIR}/include -I${PNETCDF_DIR}/include"' package/netcdf/4.7.4/install.sh +./jarvis -install netcdf/4.7.4 bisheng +module load netcdf/4.7.4 +./jarvis -install gsl/2.6 bisheng +sed -i '14c --disable-python --build=arm-linux' package/antlr/2.7.7/install.sh +./jarvis -install antlr/2.7.7 bisheng +./jarvis -install udunits/2.2.28 bisheng + + +[ENV] +module purge +module use ./software/modulefiles + +module load bisheng/2.3.0 +module load hmpi/1.2.0 +module load netcdf/4.7.4 +module load gsl/2.6 +module load antlr/2.7.7 +module load udunits/2.2.28 + +export CC=`which clang` + + + + + +[APP] +app_name = NCO +build_dir = ${JARVIS_TMP}/nco-5.1.4 +binary_dir = ${JARVIS_LIBS}/bisheng2.3.0/nco/bin +case_dir = ${JARVIS_LIBS}/bisheng2.3.0/nco/bin + +[BUILD] +cd ${JARVIS_TMP} +rm -rf nco-5.1.4 + +tar zxvf ${JARVIS_DOWNLOAD}/nco-5.1.4.tar.gz +cd nco-5.1.4 +echo ${UDUNITS_PATH} +export NETCDF_INC=${NETCDF_PATH}/include +export NETCDF_LIB=${NETCDF_PATH}/lib +./configure CPPFLAGS="-I${ANTLR_PATH}/include -I${UDUNITS_PATH}/include" CFLAGS="-L${ANTLR_PATH}/lib -I${NETCDF_PATH}/include -I${UDUNITS_PATH}/include -L${UDUNITS_PATH}/lib " --prefix=${JARVIS_LIBS}/bisheng2.3.0/nco +make +make install + + + + + +[RUN] +run = ./ncap2 -v +binary = +nodes = 1 + diff --git a/templates/nco/5.1.4/data.NCO.x86.cpu.config b/templates/nco/5.1.4/data.NCO.x86.cpu.config new file mode 100644 index 0000000000000000000000000000000000000000..1ab560973e46f5e28c41c2d3fc9a8adc20eeefe7 --- /dev/null +++ b/templates/nco/5.1.4/data.NCO.x86.cpu.config @@ -0,0 +1,75 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +NCO/5.1.4 https://sourceforge.net/projects/nco/files/nco-5.1.4.tar.gz + +[DEPENDENCY] +set -e +set -x +module purge +./jarvis -install gcc/10.3.0 com +module use ./software/modulefiles +module load gcc/10.3.0 +./jarvis -install libjpeg/v9b gcc +./jarvis -install openmpi/4.1.2 gcc +module load libjpeg + + +module load openmpi +./jarvis -install hdf5/1.12.0 gcc +module load hdf5/1.12.0 +sed -i '21c ./configure --prefix=$1 ${build_type} --enable-shared --enable-netcdf-4 --disable-dap --with-pic --disable-doxygen --enable-static --enable-largefile CPPFLAGS="-O3 -I${OPENMPI_PATH}/include -I${HDF5_DIR}/include -I${PNETCDF_DIR}/include" LDFLAGS="-L${HDF5_DIR}/lib -L${PNETCDF_DIR}/lib -Wl,-rpath=${HDF5_DIR}/lib -Wl,-rpath=${PNETCDF_DIR}/lib" CFLAGS="-O3 -L${HDF5_DIR}/lib -L${PNETCDF_DIR}/lib -I${HDF5_DIR}/include -I${PNETCDF_DIR}/include" ' package/netcdf/4.7.4/install.sh +./jarvis -install netcdf/4.7.4 gcc +./jarvis -install gsl/2.6 gcc +./jarvis -install antlr/2.7.7 gcc +./jarvis -install udunits/2.2.38 gcc + + +[ENV] +module purge +module use ./software/modulefiles + + +module load gcc/10.3.0 +module load openmpi + +module load hdf5/1.12.0 +module load netcdf/4.7.4 +module load gsl/2.6 +module load antlr/2.7.7 +module load udunits/2.2.28 + +export CC=`which gcc` + + + + + +[APP] +app_name = NCO +build_dir = ${JARVIS_TMP}/nco-5.1.4 +binary_dir = ${JARVIS_LIBS}/gcc10.3.0/nco/bin +case_dir = ${JARVIS_LIBS}/gcc10.3.0/nco/bin + +[BUILD] +cd ${JARVIS_TMP} +rm -rf nco-5.1.4 + +tar zxvf ${JARVIS_DOWNLOAD}/nco-5.1.4.tar.gz +cd nco-5.1.4 +echo ${UDUNITS_PATH} +export NETCDF_INC=${NETCDF_PATH}/include +export NETCDF_LIB=${NETCDF_PATH}/lib +./configure CPPFLAGS="-I${ANTLR_PATH}/include -I${UDUNITS_PATH}/include" CFLAGS="-L${ANTLR_PATH}/lib -I${NETCDF_PATH}/include -I${UDUNITS_PATH}/include -L${UDUNITS_PATH}/lib " --prefix=${JARVIS_LIBS}/gcc10.3.0/nco +make +make install + + + + + +[RUN] +run = ./ncap2 -v +binary = +nodes = 1 diff --git a/templates/ncview/2.1.7/data.ncview.x86.cpu.config b/templates/ncview/2.1.7/data.ncview.x86.cpu.config new file mode 100644 index 0000000000000000000000000000000000000000..bd0e0405e055630dbb66720030cdcbe32838bc66 --- /dev/null +++ b/templates/ncview/2.1.7/data.ncview.x86.cpu.config @@ -0,0 +1,45 @@ +[SERVER] +11.11.11.11 + + +[DEPENDENCY] +module use ./software/modulefiles +module purge +./jarvis -install gcc/10.3.0 com +module load gcc/10.3.0 +./jarvis -install openmpi/4.1.2 gcc +module load openmpi/4.1.2 +sed -i '11c CC=`which mpicc` FC=`which mpifort` ./configure --prefix=$1 --enable-static=yes --enable-parallel --enable-shared --with-szlib=${JARVIS_LIBS}/bisheng2.3.0/szip/2.1.1/lib' package/hdf5/1.10.4/install.sh +./jarvis -install hdf5/1.10.4 gcc +module load hdf5/1.10.4 +export CC=`which mpicc` FC=`which mpifort` +sed -i '9c FFLAGS=-fallow-argument-mismatch ./configure --prefix=$1 --enable-shared --enable-fortran --enable-large-file-test' package/pnetcdf/1.12.1/install.sh +./jarvis -install pnetcdf/1.12.1 gcc +module load pnetcdf/1.12.1 +./jarvis -install netcdf/4.7.4 gcc +./jarvis -install udunits/2.2.28 gcc + +[ENV] +module purge +module use ${JARVIS_ROOT}/software/modulefiles +module load gcc +module add openmpi +module load hdf5/1.10.4 +module load netcdf/4.7.4 +module load udunits/2.2.28 +export CC=`which mpicc` + +[APP] +app_name = ncview +build_dir = ${JARVIS_ROOT} +binary_dir = +case_dir = + +[BUILD] +./jarvis -install netcdf/4.7.4 gcc +sed -i '13c NETCDF_DIR=${1%/*/*}/netcdf/4.7.4' package/ncview/2.1.7/install.sh +./jarvis -install ncview/2.1.7 gcc +[RUN] +run = +binary = +node = 1 diff --git a/test/test-bowtie2.sh b/test/test-bowtie2.sh old mode 100644 new mode 100755 diff --git a/test/test-duns.sh b/test/test-duns.sh old mode 100644 new mode 100755 diff --git a/test/test-elmer.sh b/test/test-elmer.sh old mode 100644 new mode 100755 diff --git a/test/test-mfem.sh b/test/test-mfem.sh old mode 100644 new mode 100755 diff --git a/test/test-qe-opt.sh b/test/test-qe-opt.sh old mode 100644 new mode 100755 diff --git a/test/test-qe.sh b/test/test-qe.sh old mode 100644 new mode 100755 diff --git a/test/test-qmcpack.sh b/test/test-qmcpack.sh old mode 100644 new mode 100755 diff --git a/test/test-trinity.sh b/test/test-trinity.sh old mode 100644 new mode 100755 diff --git a/test/test-util.sh b/test/test-util.sh old mode 100644 new mode 100755 diff --git a/test/test-wannier90.sh b/test/test-wannier90.sh old mode 100644 new mode 100755