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