已开启
wrf4.0.2 bisheng kml opt config #889
AtomGit-Bot创建于 2025年12月11日
wrf4.0.2 bisheng kml opt config #889
已开启
从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 | |||
| 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 | ||
应使用init.sh中对应的环境变量代替具体的版本号