From ed30fcfb99b67cb1899db7915a1868c98685a12c Mon Sep 17 00:00:00 2001 From: wubingcheng Date: Thu, 11 Dec 2025 18:13:10 +0800 Subject: [PATCH] wrf4.0.2 bisheng kml opt config --- .../wrf/4.0.2/bisheng/data.wrf.arm.cpu.config | 149 ++++++++++++++++++ 1 file changed, 149 insertions(+) create mode 100644 templates/wrf/4.0.2/bisheng/data.wrf.arm.cpu.config diff --git a/templates/wrf/4.0.2/bisheng/data.wrf.arm.cpu.config b/templates/wrf/4.0.2/bisheng/data.wrf.arm.cpu.config new file mode 100644 index 00000000..da6531d2 --- /dev/null +++ b/templates/wrf/4.0.2/bisheng/data.wrf.arm.cpu.config @@ -0,0 +1,149 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +wrf/4.0.2 $JARVIS_PROXY/wrf-model/WRF/archive/refs/tags/v4.0.2.tar.gz wrf-4.0.2.tar.gz + +[DEPENDENCY] +set -e +set -x +# basic system components +module purge +./jarvis -install hpckit/25.0.0 com +module use ./software/compiler/hpckit/25.0.0/HPCKit/latest/modulefiles +module load bisheng/compiler4.2.0/bishengmodule +module load bisheng/hmpi25.0.0/hmpi +export CC="clang -Wno-implicit-function-declaration -Wno-incompatible-function-pointer-types" CXX=clang++ FC=flang +./jarvis -install jasper/1.900.2 clang +module use ./software/moduledeps/bisheng4.2.0 +module load jasper/1.900.2 +export CC=mpicc CXX=mpicxx FC=mpifort +module use ./software/moduledeps/bisheng4.2.0-hmpi25.0.0 +./jarvis -install hdf5/1.12.0/clang clang+mpi +module load hdf5-clang/1.12.0 +./jarvis -install pnetcdf/1.12.1 clang+mpi +module load pnetcdf/1.12.1 +./jarvis -install netcdf/4.7.4/clang clang+mpi +module load netcdf-clang/4.7.4 +if [ ! -d "./WRF-4.0.2" ]; then + tar -zxvf $JARVIS_DOWNLOAD/wrf-4.0.2.tar.gz +fi + +[ENV] +#!/bin/bash +module purge +module use ${JARVIS_ROOT}//software/compiler/hpckit/25.0.0/HPCKit/latest/modulefiles +module load bisheng/compiler4.2.0/bishengmodule +module use ${JARVIS_ROOT}/software/moduledeps/bisheng4.2.0 +module use ${JARVIS_ROOT}/software/moduledeps/bisheng4.2.0-hmpi25.0.0 +module load jasper/1.900.2 +module load bisheng/hmpi25.0.0/hmpi +module load hdf5-clang/1.12.0 pnetcdf/1.12.1 netcdf-clang/4.7.4 +module load bisheng/kml25.0.0/kml +export WRFIO_NCD_LARGE_FILE_SUPPORT=1 +export NETCDF=$NETCDF_CLANG_PATH +export HDF5=$HDF5_CLANG_PATH +export PHDF5=$HDF5 +export PNETCDF=$PNETCDF_PATH +export JASPER=$JASPER_PATH +export JASPERLIB=$JASPER_PATH/lib +export JASPERINC=$$JASPER_PATH/include +export CPPFLAGS="-I$HDF5/include -I$PNETCDF/include -I$NETCDF/include" +export LDFLAGS="-L$HDF5/lib -L$PNETCDF/lib -L$NETCDF/lib -lnetcdf -lnetcdff -lpnetcdf -lhdf5_hl -lhdf5 -lz" +export CC=mpicc CXX=mpicxx FC=mpif90 F77=mpif90 F90=mpif90 +export WRF_DIR=$JARVIS_ROOT/WRF-4.0.2 +export MPI_LIB="-L$JARVIS_COMPILER/hpckit/25.0.0/HPCKit/latest/hmpi/bisheng/hmpi/lib -lmpi -lomp" +export INCLUDE=$WRF_DIR/include:$INCLUDE +export KML_LIB=$JARVIS_COMPILER/hpckit/25.0.0/HPCKit/latest/kml/bisheng/lib/noarch + +[APP] +app_name = WRF +build_dir = ${WRF_DIR} +binary_dir = +#case_dir = ${JARVIS_ROOT}/ +case_dir = ${JARVIS_ROOT}/WRF-4.0.2/run + +[BUILD] +cat << \EOF > ./arch/configure.defaults +########################################################### +#ARCH Linux aarch64,clang HYPERMPI#serial smpar dmpar dm+sm +DESCRIPTION = CLANG ($SFC/$SCC) +DMPARALLEL = 1 +OMPCPP = -D_OPENMP +OMP = -fopenmp +OMPCC = -fopenmp +SFC = flang +SCC = clang -Wno-implicit-function-declaration -Wno-implicit-int -Wno-deprecated-non-prototype +CCOMP = clang +DM_FC = mpif90 -f90=$(SFC) +DM_CC = mpicc -cc=$(SCC) -DMPI2_SUPPORT +FC = CONFIGURE_FC +CC = CONFIGURE_CC +LD = $(FC) +RWORDSIZE = CONFIGURE_RWORDSIZE +PROMOTION = #-fdefault-real-8 +ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR -DWRF_USE_CLM +CFLAGS_LOCAL = -w -O3 -c -Mcache_align -march=armv8.5-a+sve -fvectorize -funroll-loops -I/usr/include/tirpc -Wno-implicit-function-declaration -Wno-implicit-int -Wno-implicit-int +LDFLAGS_LOCAL = +CPLUSPLUSLIB = +ESMF_LDFLAG = $(CPLUSPLUSLIB) +FCOPTIM = -O3 -Mcache_align -march=armv8.5-a+sve -fveclib=KPL_SVML_SVE -fvectorize -funroll-loops -ffast-math -fhonor-nans -mllvm -unroll-indirect-loads=true -fopenmp -fstack-arrays -Wl,-rpath,-L${KML_LIB}../sve -lksvml -L${KML_LIB} -lkm -lmathlib -lm -ltirpc +FCREDUCEDOPT = $(FCOPTIM) +FCNOOPT = -O0 +FCDEBUG = -g # -fbacktrace -ggdb-fcheck=bounds,do,mem,pointer -ffpe-trap=invalid,zero,overflow +FORMAT_FIXED = -ffixed-form +FORMAT_FREE = -ffree-form -ffree-line-length-0 +FCSUFFIX = +BYTESWAPIO = -fconvert=big-endian +FCBASEOPTS_NO_G = -w $(FORMAT_FREE) $(BYTESWAPIO) +FCBASEOPTS = -mcpu=native $(OMP) $(FCBASEOPTS_NO_G) +MODULE_SRCH_FLAG = +TRADFLAG = -traditional +CPP = /lib/cpp -P +AR = ar +ARFLAGS = ru +M4 = m4 -G +RANLIB = ranlib +RLFLAGS = +CC_TOOLS = $(SCC) + +#insert new stanza before the Fujitsu block, keep Fujitsu at the end of the list +########################################################### +#ARCH NULL +EOF +sed -i 's/derf/erf/g' ./phys/module_mp_SBM_polar_radar.F +echo 4 | ./configure +./compile -j 20 em_real 2>&1 | tee compile.log + +[CLEAN] +./clean + +[RUN] +run = mpirun --allow-run-as-root -np 32 -x OMP_NUM_THREADS=4 --map-by ppr:8:numa:pe=4 -bind-to core -display-map -mca pml ucx -mca btl ^vader,tcp,openib,uct -x UCX_TLS=self,sm ./wrf.exe +binary = +nodes = 1 + +[JOB] +#!/bin/sh +#DSUB -n wrf_test +#DSUB --job_type cosched:hmpi +#DSUB -A root.default +#DSUB -q root.default +#DSUB -N 1 +#DSUB -R cpu=128 +#DSUB -oo wrf.%J.out +#DSUB -eo wrf.%J.err + +##set runtime environment variables + +ulimit -s unlimited +ulimit -c unlimited +rm -rf rsl.* +echo "----HOSTFILE generated---" +cat $CCS_HOST_FILE +echo "-------------------------" +EXEC_CMD="time -p mpirun $CCS_MPI_OPTIONS -n 32 -x OMP_NUM_THREADS=1 -x UCX_NET_DEVICES=mlx5_0:1 -mca io romio321 -mca pml ucx -mca btl ^vader,tcp,openib,uct -x UCX_TLS=self,sm,rc -bind-to core -x PATH -x LD_LIBRARY_PATH $WRF_DIR/run/wrf.exe" +echo "$EXEC_CMD" +date +$EXEC_CMD +date -- Gitee