已开启
wrf4.0.2 bisheng kml opt config #889
AtomGit-Bot创建于 2025年12月11日
wrf4.0.2 bisheng kml opt config #889
已开启
AtomGit-Bot创建于 2025年12月11日
refs/pull/889/head合入到master
1 个文件变更+149-0
@@ -0,0 +1,149 @@
1+[SERVER]
2+11.11.11.11
3+ 
4+[DOWNLOAD]
5+wrf/4.0.2 $JARVIS_PROXY/wrf-model/WRF/archive/refs/tags/v4.0.2.tar.gz wrf-4.0.2.tar.gz
6+ 
7+[DEPENDENCY]
8+set -e
9+set -x
10+# basic system components
11+module purge
12+./jarvis -install hpckit/25.0.0 com
H
Hhelloworld6642025年12月11日

应使用init.sh中对应的环境变量代替具体的版本号

likedislike
13+module use ./software/compiler/hpckit/25.0.0/HPCKit/latest/modulefiles
14+module load bisheng/compiler4.2.0/bishengmodule
15+module load bisheng/hmpi25.0.0/hmpi
16+export CC="clang -Wno-implicit-function-declaration -Wno-incompatible-function-pointer-types" CXX=clang++ FC=flang
17+./jarvis -install jasper/1.900.2 clang
18+module use ./software/moduledeps/bisheng4.2.0
19+module load jasper/1.900.2
20+export CC=mpicc CXX=mpicxx FC=mpifort
21+module use ./software/moduledeps/bisheng4.2.0-hmpi25.0.0
22+./jarvis -install hdf5/1.12.0/clang clang+mpi
23+module load hdf5-clang/1.12.0
24+./jarvis -install pnetcdf/1.12.1 clang+mpi
25+module load pnetcdf/1.12.1
26+./jarvis -install netcdf/4.7.4/clang clang+mpi
27+module load netcdf-clang/4.7.4
28+if [ ! -d "./WRF-4.0.2" ]; then
29+ tar -zxvf $JARVIS_DOWNLOAD/wrf-4.0.2.tar.gz
30+fi
31+ 
32+[ENV]
33+#!/bin/bash
34+module purge
35+module use ${JARVIS_ROOT}//software/compiler/hpckit/25.0.0/HPCKit/latest/modulefiles
36+module load bisheng/compiler4.2.0/bishengmodule
37+module use ${JARVIS_ROOT}/software/moduledeps/bisheng4.2.0
38+module use ${JARVIS_ROOT}/software/moduledeps/bisheng4.2.0-hmpi25.0.0
39+module load jasper/1.900.2
40+module load bisheng/hmpi25.0.0/hmpi
41+module load hdf5-clang/1.12.0 pnetcdf/1.12.1 netcdf-clang/4.7.4
42+module load bisheng/kml25.0.0/kml
43+export WRFIO_NCD_LARGE_FILE_SUPPORT=1
44+export NETCDF=$NETCDF_CLANG_PATH
45+export HDF5=$HDF5_CLANG_PATH
46+export PHDF5=$HDF5
47+export PNETCDF=$PNETCDF_PATH
48+export JASPER=$JASPER_PATH
49+export JASPERLIB=$JASPER_PATH/lib
50+export JASPERINC=$$JASPER_PATH/include
51+export CPPFLAGS="-I$HDF5/include -I$PNETCDF/include -I$NETCDF/include"
52+export LDFLAGS="-L$HDF5/lib -L$PNETCDF/lib -L$NETCDF/lib -lnetcdf -lnetcdff -lpnetcdf -lhdf5_hl -lhdf5 -lz"
53+export CC=mpicc CXX=mpicxx FC=mpif90 F77=mpif90 F90=mpif90
54+export WRF_DIR=$JARVIS_ROOT/WRF-4.0.2
55+export MPI_LIB="-L$JARVIS_COMPILER/hpckit/25.0.0/HPCKit/latest/hmpi/bisheng/hmpi/lib -lmpi -lomp"
56+export INCLUDE=$WRF_DIR/include:$INCLUDE
57+export KML_LIB=$JARVIS_COMPILER/hpckit/25.0.0/HPCKit/latest/kml/bisheng/lib/noarch
58+ 
59+[APP]
60+app_name = WRF
61+build_dir = ${WRF_DIR}
62+binary_dir =
63+#case_dir = ${JARVIS_ROOT}/
64+case_dir = ${JARVIS_ROOT}/WRF-4.0.2/run
65+ 
66+[BUILD]
67+cat << \EOF > ./arch/configure.defaults
68+###########################################################
69+#ARCH Linux aarch64,clang HYPERMPI#serial smpar dmpar dm+sm
70+DESCRIPTION = CLANG ($SFC/$SCC)
71+DMPARALLEL = 1
72+OMPCPP = -D_OPENMP
73+OMP = -fopenmp
74+OMPCC = -fopenmp
75+SFC = flang
76+SCC = clang -Wno-implicit-function-declaration -Wno-implicit-int -Wno-deprecated-non-prototype
77+CCOMP = clang
78+DM_FC = mpif90 -f90=$(SFC)
79+DM_CC = mpicc -cc=$(SCC) -DMPI2_SUPPORT
80+FC = CONFIGURE_FC
81+CC = CONFIGURE_CC
82+LD = $(FC)
83+RWORDSIZE = CONFIGURE_RWORDSIZE
84+PROMOTION = #-fdefault-real-8
85+ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR -DWRF_USE_CLM
86+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
87+LDFLAGS_LOCAL =
88+CPLUSPLUSLIB =
89+ESMF_LDFLAG = $(CPLUSPLUSLIB)
90+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
91+FCREDUCEDOPT = $(FCOPTIM)
92+FCNOOPT = -O0
93+FCDEBUG = -g # -fbacktrace -ggdb-fcheck=bounds,do,mem,pointer -ffpe-trap=invalid,zero,overflow
94+FORMAT_FIXED = -ffixed-form
95+FORMAT_FREE = -ffree-form -ffree-line-length-0
96+FCSUFFIX =
97+BYTESWAPIO = -fconvert=big-endian
98+FCBASEOPTS_NO_G = -w $(FORMAT_FREE) $(BYTESWAPIO)
99+FCBASEOPTS = -mcpu=native $(OMP) $(FCBASEOPTS_NO_G)
100+MODULE_SRCH_FLAG =
101+TRADFLAG = -traditional
102+CPP = /lib/cpp -P
103+AR = ar
104+ARFLAGS = ru
105+M4 = m4 -G
106+RANLIB = ranlib
107+RLFLAGS =
108+CC_TOOLS = $(SCC)
109+ 
110+#insert new stanza before the Fujitsu block, keep Fujitsu at the end of the list
111+###########################################################
112+#ARCH NULL
113+EOF
114+sed -i 's/derf/erf/g' ./phys/module_mp_SBM_polar_radar.F
115+echo 4 | ./configure
116+./compile -j 20 em_real 2>&1 | tee compile.log
117+ 
118+[CLEAN]
119+./clean
120+ 
121+[RUN]
122+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
123+binary =
124+nodes = 1
125+ 
126+[JOB]
127+#!/bin/sh
128+#DSUB -n wrf_test
129+#DSUB --job_type cosched:hmpi
130+#DSUB -A root.default
131+#DSUB -q root.default
132+#DSUB -N 1
133+#DSUB -R cpu=128
134+#DSUB -oo wrf.%J.out
135+#DSUB -eo wrf.%J.err
136+ 
137+##set runtime environment variables
138+ 
139+ulimit -s unlimited
140+ulimit -c unlimited
141+rm -rf rsl.*
142+echo "----HOSTFILE generated---"
143+cat $CCS_HOST_FILE
144+echo "-------------------------"
145+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"
146+echo "$EXEC_CMD"
147+date
148+$EXEC_CMD
149+date