一键安装WRF

首先百度网盘下载WRF_setup.tar.gz

WRF_setupicon-default.png?t=M1L8https://pan.baidu.com/s/1_XCx3O5D2ivYdPPYBccD8A?pwd=robi

链接:https://pan.baidu.com/s/1_XCx3O5D2ivYdPPYBccD8A?pwd=robi 
提取码:robi

然后解压缩 WRF_setup.tar.gz

tar -zxvf WRF_setup.tar.gz

然后看看anzhuangwrf.sh有没有要改的(这步可省略)

vim anzhuang.sh

然后运行anzhuangwrf.sh

或许要改下权限chmod 775 anzhuangwrf.sh

chmod 775 anzhuangwrf.sh 
./anzhuangwrf.sh

 



 最后贴下anzhuangwrf.sh

#!/bin/bash 
#purpose: build WRF WPS 
#Ma Yubin
#Huan
echo "=============================anzhuang wrf========================================"
rm -r WRF
rm -r WPS
tar -zxvf WPSV4.0.TAR.gz  
tar -zxvf WRFV4.0.TAR.gz
}
echo "========================system environment tests================================="
 
module purge
module load compiler/intel/2021.3.1  
module load mpi/intelmpi/2021.3.1
module load mathlib/netcdf/intel/4.4.1
module load mathlib/pnetcdf/intel/1.12.1
#------------------------------------------------
module load mathlib/hdf5/intel/1.8.20 
module load mathlib/jasper/intel/1.900.1
module load mathlib/libpng/intel/1.2.12
module load mathlib/zlib/intel/1.2.11
module load mathlib/hdf4/intel/4.2.13 
module load apps/anaconda3/5.3.0


#export CC icc
#export CXX icpc
#export FC ifort
#export FCFLAGS -m64
#export F77 ifort
#export FFLAGS -m64
export NETCDF="/public/software/mathlib/libs-intel/netcdf/4.4.1"

testcompiler_gnu(){
echo "==========================================test compiler=========================="
which gfortran 
which cpp
which gcc
gcc --version

mkdir TESTS
cp Fortran_C_tests.tar ./TESTS
cd ./TESTS
tar -xf Fortran_C_tests.tar
gfortran TEST_1_fortran_only_fixed.f
./a.out 
gfortran TEST_2_fortran_only_free.f90
./a.out
gcc TEST_3_c_only.c
./a.out
gcc -c -m64 TEST_4_fortran+c_c.c
gfortran -c -m64 TEST_4_fortran+c_f.f90
gfortran -m64 TEST_4_fortran+c_f.o TEST_4_fortran+c_c.o
./a.out
./TEST_csh.csh
./TEST_perl.pl
./TEST_sh.sh
cd ..

cp Fortran_C_NETCDF_MPI_tests.tar ./TESTS
cd ./TESTS
tar -xf Fortran_C_NETCDF_MPI_tests.tar

echo ${NETCDF}
cp ${NETCDF}/include/netcdf.inc .
gfortran -c 01_fortran+c+netcdf_f.f
gcc -c 01_fortran+c+netcdf_c.c
gfortran 01_fortran+c+netcdf_f.o 01_fortran+c+netcdf_c.o -L${NETCDF}/lib -lnetcdff -L${NETCDF}/lib -lnetcdf
./a.out

mpif90 -c 02_fortran+c+netcdf+mpi_f.f
mpicc -c 02_fortran+c+netcdf+mpi_c.c
mpif90 02_fortran+c+netcdf+mpi_f.o \
02_fortran+c+netcdf+mpi_c.o \
     -L${NETCDF}/lib -lnetcdff -lnetcdf
mpirun ./a.out

cd ..
}


testcompiler_intel(){
echo "==========================================test compiler=========================="

mkdir TESTS
cp Fortran_C_tests.tar ./TESTS
cd ./TESTS
tar -xf Fortran_C_tests.tar
ifort TEST_1_fortran_only_fixed.f
./a.out 
ifort TEST_2_fortran_only_free.f90
./a.out
icc TEST_3_c_only.c
./a.out
icc -c -m64 TEST_4_fortran+c_c.c
ifort -c -m64 TEST_4_fortran+c_f.f90
ifort -m64 TEST_4_fortran+c_f.o TEST_4_fortran+c_c.o
./a.out
./TEST_csh.csh
./TEST_perl.pl
./TEST_sh.sh
cd ..

cp Fortran_C_NETCDF_MPI_tests.tar ./TESTS
cd ./TESTS
tar -xf Fortran_C_NETCDF_MPI_tests.tar

echo ${NETCDF}
cp ${NETCDF}/include/netcdf.inc .
ifort -c 01_fortran+c+netcdf_f.f
icc -c 01_fortran+c+netcdf_c.c
ifort 01_fortran+c+netcdf_f.o 01_fortran+c+netcdf_c.o -L${NETCDF}/lib -lnetcdff -L${NETCDF}/lib -lnetcdf
./a.out

mpiifort -c 02_fortran+c+netcdf+mpi_f.f
mpiicc -c 02_fortran+c+netcdf+mpi_c.c
mpiifort 02_fortran+c+netcdf+mpi_f.o \
02_fortran+c+netcdf+mpi_c.o \
     -L${NETCDF}/lib -lnetcdff -lnetcdf
mpirun ./a.out

cd ..
}


build_wrf(){
echo "====================================Building WRF================================="
pwd
#Please select from among the following Linux x86_64 options:
#
#  1. (serial)   2. (smpar)   3. (dmpar)   4. (dm+sm)   PGI (pgf90/gcc)
#  5. (serial)   6. (smpar)   7. (dmpar)   8. (dm+sm)   PGI (pgf90/pgcc): SGI MPT
#  9. (serial)  10. (smpar)  11. (dmpar)  12. (dm+sm)   PGI (pgf90/gcc): PGI accelerator
# 13. (serial)  14. (smpar)  15. (dmpar)  16. (dm+sm)   INTEL (ifort/icc)
#                                         17. (dm+sm)   INTEL (ifort/icc): Xeon Phi (MIC architecture)
# 18. (serial)  19. (smpar)  20. (dmpar)  21. (dm+sm)   INTEL (ifort/icc): Xeon (SNB with AVX mods)
# 22. (serial)  23. (smpar)  24. (dmpar)  25. (dm+sm)   INTEL (ifort/icc): SGI MPT
# 26. (serial)  27. (smpar)  28. (dmpar)  29. (dm+sm)   INTEL (ifort/icc): IBM POE
# 30. (serial)               31. (dmpar)                PATHSCALE (pathf90/pathcc)
# 32. (serial)  33. (smpar)  34. (dmpar)  35. (dm+sm)   GNU (gfortran/gcc)
# 36. (serial)  37. (smpar)  38. (dmpar)  39. (dm+sm)   IBM (xlf90_r/cc_r)
# 40. (serial)  41. (smpar)  42. (dmpar)  43. (dm+sm)   PGI (ftn/gcc): Cray XC CLE
# 44. (serial)  45. (smpar)  46. (dmpar)  47. (dm+sm)   CRAY CCE (ftn $(NOOMP)/cc): Cray XE and XC
# 48. (serial)  49. (smpar)  50. (dmpar)  51. (dm+sm)   INTEL (ftn/icc): Cray XC
# 52. (serial)  53. (smpar)  54. (dmpar)  55. (dm+sm)   PGI (pgf90/pgcc)
# 56. (serial)  57. (smpar)  58. (dmpar)  59. (dm+sm)   PGI (pgf90/gcc): -f90=pgf90
# 60. (serial)  61. (smpar)  62. (dmpar)  63. (dm+sm)   PGI (pgf90/pgcc): -f90=pgf90
# 64. (serial)  65. (smpar)  66. (dmpar)  67. (dm+sm)   INTEL (ifort/icc): HSW/BDW
# 68. (serial)  69. (smpar)  70. (dmpar)  71. (dm+sm)   INTEL (ifort/icc): KNL MIC
# 72. (serial)  73. (smpar)  74. (dmpar)  75. (dm+sm)   FUJITSU (frtpx/fccpx): FX10/FX100 SPARC64 IXfx/Xlfx

cat >xuanxianghao<<EOF
15
EOF
./clean -a 
./configure <xuanxianghao 
./compile em_real |tee log.compile
ls -ls main/*.exe
cd ..
}


build_wps(){
echo "=======================================Building WPS=============================="
cd WPS
pwd
./clean
#Please select from among the following supported platforms.

#   1.  Linux x86_64, gfortran    (serial)
#   2.  Linux x86_64, gfortran    (serial_NO_GRIB2)
#   3.  Linux x86_64, gfortran    (dmpar)
#   4.  Linux x86_64, gfortran    (dmpar_NO_GRIB2)
#   5.  Linux x86_64, PGI compiler   (serial)
#   6.  Linux x86_64, PGI compiler   (serial_NO_GRIB2)
#   7.  Linux x86_64, PGI compiler   (dmpar)
#   8.  Linux x86_64, PGI compiler   (dmpar_NO_GRIB2)
#   9.  Linux x86_64, PGI compiler, SGI MPT   (serial)
#  10.  Linux x86_64, PGI compiler, SGI MPT   (serial_NO_GRIB2)
#  11.  Linux x86_64, PGI compiler, SGI MPT   (dmpar)
#  12.  Linux x86_64, PGI compiler, SGI MPT   (dmpar_NO_GRIB2)
#  13.  Linux x86_64, IA64 and Opteron    (serial)
#  14.  Linux x86_64, IA64 and Opteron    (serial_NO_GRIB2)
#  15.  Linux x86_64, IA64 and Opteron    (dmpar)
#  16.  Linux x86_64, IA64 and Opteron    (dmpar_NO_GRIB2)
#  17.  Linux x86_64, Intel compiler    (serial)
#  18.  Linux x86_64, Intel compiler    (serial_NO_GRIB2)
#  19.  Linux x86_64, Intel compiler    (dmpar)
#  20.  Linux x86_64, Intel compiler    (dmpar_NO_GRIB2)
#  21.  Linux x86_64, Intel compiler, SGI MPT    (serial)
#  22.  Linux x86_64, Intel compiler, SGI MPT    (serial_NO_GRIB2)
#  23.  Linux x86_64, Intel compiler, SGI MPT    (dmpar)
#  24.  Linux x86_64, Intel compiler, SGI MPT    (dmpar_NO_GRIB2)
#  25.  Linux x86_64, Intel compiler, IBM POE    (serial)
#  26.  Linux x86_64, Intel compiler, IBM POE    (serial_NO_GRIB2)
#  27.  Linux x86_64, Intel compiler, IBM POE    (dmpar)
#  28.  Linux x86_64, Intel compiler, IBM POE    (dmpar_NO_GRIB2)
#  29.  Linux x86_64 g95 compiler     (serial)
#  30.  Linux x86_64 g95 compiler     (serial_NO_GRIB2)
#  31.  Linux x86_64 g95 compiler     (dmpar)
#  32.  Linux x86_64 g95 compiler     (dmpar_NO_GRIB2)
#  33.  Cray XE/XC CLE/Linux x86_64, Cray compiler   (serial)
#  34.  Cray XE/XC CLE/Linux x86_64, Cray compiler   (serial_NO_GRIB2)
#  35.  Cray XE/XC CLE/Linux x86_64, Cray compiler   (dmpar)
#  36.  Cray XE/XC CLE/Linux x86_64, Cray compiler   (dmpar_NO_GRIB2)
#  37.  Cray XC CLE/Linux x86_64, Intel compiler   (serial)
#  38.  Cray XC CLE/Linux x86_64, Intel compiler   (serial_NO_GRIB2)
#  39.  Cray XC CLE/Linux x86_64, Intel compiler   (dmpar)
#  40.  Cray XC CLE/Linux x86_64, Intel compiler   (dmpar_NO_GRIB2)
cat > xuanxianghao<<eof
19
eof
./configure<xuanxianghao
WRF_DIR="../WRF"

./compile |tee log.compile
}

#===========================================main program================================
init
testcompiler_gnu
testcompiler_intel
build_wrf
build_wps

#=======================================================================================

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值