From 34286dc81be10961c24d84fd1e0821e60b589410 Mon Sep 17 00:00:00 2001
From: jsfhd <2162443403@qq.com>
Date: Fri, 11 Apr 2025 14:37:56 +0800
Subject: [PATCH] add CESM-2.1.5 templates
---
.../CESM/2.1.5/data.cesm.arm.cpu.sve.config | 168 ++++++++++++++++++
1 file changed, 168 insertions(+)
create mode 100644 templates/CESM/2.1.5/data.cesm.arm.cpu.sve.config
diff --git a/templates/CESM/2.1.5/data.cesm.arm.cpu.sve.config b/templates/CESM/2.1.5/data.cesm.arm.cpu.sve.config
new file mode 100644
index 0000000..b48ee8a
--- /dev/null
+++ b/templates/CESM/2.1.5/data.cesm.arm.cpu.sve.config
@@ -0,0 +1,168 @@
+[SERVER]
+11.11.11.11
+
+[DOWNLOAD]
+CESM/2.1.5 https://github.com/ESCOMP/CESM/archive/refs/tags/release-cesm2.1.5.tar.gz
+
+[DEPENDENCY]
+set -x
+set -e
+. $CHECK_ROOT && yum install -y perl-XML-LibXML
+
+./jarvis -install package/hpckit/2024.12.30/ any
+module use software/utils/hpckit/2024.12.30/HPCKit/24.12.30/modulefiles
+module purge
+module load bisheng/compiler4.1.0/bishengmodule bisheng/hmpi2.4.3/hmpi
+
+export CC=clang CXX=clang++ FC=flang
+./jarvis -install openblas/0.3.18 clang
+
+
+export CC=mpicc FC=mpifort CXX=mpicxx
+
+./jarvis -install package/hdf5/1.12.0/clang bisheng+mpi
+module use ${JARVIS_ROOT}/software/moduledeps/bisheng4.1.0-hmpi2.4.3/
+module load hdf5-clang/1.12.0
+./jarvis -install package/pnetcdf/1.11.2 bisheng+mpi
+module load pnetcdf/1.11.2
+./jarvis -install package/netcdf/4.7.4/clang bisheng+mpi
+module load netcdf-clang/4.7.4
+module load bisheng/kml2.5.0/kml bisheng/kml2.5.0/kblas/pthread
+
+
+[ENV]
+module purge
+module use ${JARVIS_ROOT}/software/utils/hpckit/2024.12.30/HPCKit/24.12.30/modulefiles
+module purge
+module load bisheng/compiler4.1.0/bishengmodule bisheng/hmpi2.4.3/hmpi
+module use ${JARVIS_ROOT}/software/moduledeps/bisheng4.1.0-hmpi2.4.3/
+module load hdf5-clang/1.12.0
+module load pnetcdf/1.11.2
+module load netcdf-clang/4.7.4
+module load bisheng/kml2.5.0/kml bisheng/kml2.5.0/kblas/pthread
+
+export NETCDF_PATH=${NETCDF_CLANG_PATH}
+export CESM_PATH=$JARVIS_ROOT/software/apps/bisheng4.1.0-hmpi2.4.3/CESM-release-cesm2.1.5
+export CIMEROOT=$CESM_PATH/cime
+export PYTHONPATH=$CIMEROOT/scripts/lib:$CIMEROOT/scripts/Tools:$PYTHONPATH
+export case_name=mycase
+
+[APP]
+app_name = CESM
+build_dir = $CESM_PATH
+binary_dir =
+case_dir = $CESM_PATH/
+
+[BUILD]
+set -e
+set -x
+mkdir -p $JARVIS_ROOT/software/apps/bisheng4.1.0-hmpi2.4.3/CESM-release-cesm2.1.5
+tar -xvf ${JARVIS_DOWNLOAD}/release-cesm2.1.5.tar.gz --strip-components 1 -C $JARVIS_ROOT/software/apps/bisheng4.1.0-hmpi2.4.3/CESM-release-cesm2.1.5
+cd $JARVIS_ROOT/software/apps/bisheng4.1.0-hmpi2.4.3/CESM-release-cesm2.1.5
+
+./manage_externals/checkout_externals
+./manage_externals/checkout_externals -S
+
+
+sed -i '462s|.*| n2|' cime/config/cesm/machines/config_machines.xml
+sed -i '465s|.*| gnu |' cime/config/cesm/machines/config_machines.xml
+sed -i '466s|.*| openmpi |' cime/config/cesm/machines/config_machines.xml
+sed -i "469,474s|\$ENV%{HOME}|$TEST_DIR|g" cime/config/cesm/machines/config_machines.xml
+
+
+export module_line1=" ${JARVIS_ROOT}/software/utils/hpckit/2024.12.30/HPCKit/24.12.30/modulefiles"
+export module_line2=" bisheng/compiler4.1.0/bishengmodule"
+export module_line3=" bisheng/hmpi2.4.3/hmpi"
+export module_line4=" /home/drh/hpcrunner-bak/software/moduledeps/bisheng4.1.0-hmpi2.4.3"
+export module_line5=" hdf5-clang/1.12.0"
+export module_line6=" pnetcdf/1.11.2 "
+export module_line7=" netcdf-clang/4.7.4 "
+sed -i '498a\'"$module_line1"'\n'"$module_line2"'\n'"$module_line3"'\n'"$module_line4"'\n'"$module_line5"'\n'"$module_line6"'\n'"$module_line7"'' cime/config/cesm/machines/config_machines.xml
+
+
+env_line1=" $NETCDF_CLANG_PATH "
+env_line2=" $NETCDF_CLANG_PATH "
+env_line3=" $NETCDF_CLANG_PATH "
+MPI_DIR=`dirname $(dirname $(which mpirun))`
+env_line4=" ${MPI_DIR} "
+sed -i '509a\ '"$env_line1"'\n'"$env_line2"'\n'"$env_line3"'\n'"$env_line4"'' cime/config/cesm/machines/config_machines.xml
+
+sed -i "479,480s|8|128|g" cime/config/cesm/machines/config_machines.xml
+sed -i "479,480s|mpiexec|mpirun|g" cime/config/cesm/machines/config_machines.xml
+
+
+
+#修改config_compilers.xml
+NETCDF_PATH=$NETCDF_CLANG_PATH
+HDF5_PATH=$HDF5_CLANG_PATH
+
+sed -i '109s|.*| -O3 -march=armv8.2-a -mcpu=tsv110 |' cime/config/cesm/machines/config_compilers.xml
+sed -i '125s|.*| -fconvert=big-endian -O3 -march=armv8.2-a -mcpu=tsv110 -I${NETCDF_PATH}/include -L${HDF5_PATH}/include -I${PNETCDF_PATH}/include |' cime/config/cesm/machines/config_compilers.xml
+sed -i '146s|.*| -fopenmp -L${NETCDF_PATH}/lib -L${HDF5_PATH}/lib -L${PNETCDF_PATH}/lib -lopenblas -lnetcdff -lnetcdf -lpnetcdf -lhdf5_hl -lhdf5 -lm -lz |' cime/config/cesm/machines/config_compilers.xml
+
+sed -i '151s|.*| clang |' cime/config/cesm/machines/config_compilers.xml
+sed -i '152s|.*| clang++ |' cime/config/cesm/machines/config_compilers.xml
+sed -i '153s|.*| flang |' cime/config/cesm/machines/config_compilers.xml
+
+alib_line1=" "
+alib_line2=" -L${NETCDF_PATH}/lib -L${HDF5_PATH}/lib -L${PNETCDF_PATH}/lib -lopenblas -lnetcdff -lnetcdf -lpnetcdf -lhdf5_hl -lhdf5 -lm -lz "
+alib_line3=" "
+sed -i '154a\'"$alib_line1"'\n'"$alib_line2"'\n'"$alib_line3"'' cime/config/cesm/machines/config_compilers.xml
+
+
+
+[CLEAN]
+cd cime/scripts/$case_name
+#如果修改env_build.xml
+#./case.build --clean
+#如果修改config_machines/config_compilers
+./case.build --clean-all
+
+[RUN]
+#run = rm -rf cesm_* && chmod +x run.sh && dsub -s run.sh
+run = ./case.submit
+binary =
+nodes = 1
+
+[BATCH]
+#定义日志文件
+LOG_FILE="cesm-proformance.log"
+
+>"$LOG_FILE"
+
+sed -i '469s|.*| /home/ljl/cesm2.1.5/test/cesm/inputdata/cesm/scratch |' cime/config/cesm/machines/config_machines.xml
+sed -i '470s|.*| /home/ljl/cesm2.1.5/test/cesm/inputdata/cesm/inputdata |' cime/config/cesm/machines/config_machines.xml
+sed -i '471s|.*| /home/ljl/cesm2.1.5/test/cesm/inputdata/cesm/inputdata/lmwg |' cime/config/cesm/machines/config_machines.xml
+sed -i '472s|.*| /home/ljl/cesm2.1.5/test/cesm/inputdata/cesm/archive/$CASE |' cime/config/cesm/machines/config_machines.xml
+sed -i '473s|.*| /home/ljl/cesm2.1.5/test/cesm/inputdata/cesm/cesm_baselines |' cime/config/cesm/machines/config_machines.xml
+sed -i '474s|.*| /home/ljl/cesm2.1.5/test/cesm/inputdata/cesm/tools/cime/tools/cprnc/cprnc |' cime/config/cesm/machines/config_machines.xml
+
+cd cime/scripts
+if [ ! -d $case_name ]; then
+ ./create_newcase --case mycase --compset X --res f19_g16 --mach=centos7-linux
+fi
+cd $case_name
+#./xmlchange NTASKS=128
+./case.setup
+./check_case
+
+sed -i '70s|!defined CPRGNU|defined CPRGNU|' ../..//src/share/util/shr_sys_mod.F90
+sed -i '115s|!defined CPRGNU|defined CPRGNU|' ../../src/share/util/shr_sys_mod.F90
+
+MPI_DIR=`dirname $(dirname $(which mpirun))`
+COMPLER_PATH=`dirname $(dirname $(which clang))`
+LIB_MPI=$MPI_DIR/lib
+sed -i "543s|.*| SLIBS += -L${LIB_MPI}/ -lmpi -lopen-pal -L${COMPLER_PATH}/lib -lflang|" Tools/Makefile
+
+#不加download表示查看所有缺失文件
+#./check_input_data --download
+./xmlchange STOP_OPTION=nhours,STOP_N=1
+./xmlchange DOUT_S=FALSE
+#./xmlchange NTASKS_ATM=208,NTASKS_CPL=208,NTASKS_OCN=208,NTASKS_WAV=208,NTASKS_GLC=208,NTASKS_ICE=208,NTASKS_ROF=208,NTASKS_LND=208,NTASKS_ESP=1
+#./case.setup --reset
+./case.build
+
+export OMPI_ALLOW_RUN_AS_ROOT=1
+export OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1
+./xmlchange STOP_N=300
+./case.submit
--
Gitee