赞
踩
VMware:VMware Workstation 16 Pro
Ubuntu:ubuntu-14.04.6-desktop-amd64.iso
官方文档:How to Compile WRF: The Complete Process
参考视频:WRF配置(英文文字提要)
参考博客:Ubuntu中配置WRF
注:本笔记适合WRF小白,如有错误请留言
1.安装csh,gfortran,m4和build-essential
按ctrl+alt+t,打开命令行终端
test@test:~$ sudo apt-get install csh gfortran m4 build-essential
当出现E: Unable to locate package错误时有两种方法,解决方法1:sudo apt-get update更新一下apt-get;解决方法2:当执行sudo apt-get update也继续报错时(我就是出现了这种情况),你需要去更新镜像源,我在系统设置中的软件与更新中,更新为国内镜像网站,但是更新的时候总是提示网络连接有问题,而我的网络连接是没有问题的,可以浏览各种网页,就是更新不了软件包,这个时候你需要打开,在命令行中输入sudo nano /etc/apt/sources.list,将http://cn.archive.ubuntu.com/ubuntu/替换成其他的,我把它替换成了http://mirrors.163.com/ubuntu/,就可以运行了。具体可参考Ubuntu软件更新过程中系统提示网络连接失败,如果更换了还是不行,可以试一试更换一下网络,有时候是网络不行。
注意这里需要你输入密码,输入密码在终端是不会显示的,只需直接输入按enter键即可。
2.system environment test
First and foremost, it is very important to have a gfortran compiler, as well as gcc and cpp. To test whether these exist on the system, type the following:
test@test:~$ which [文件]
得出下面结果即可:
test@test:~$ which gfortran
/usr/bin/gfortran
test@test:~$ which cpp
/usr/bin/cpp
test@test:~$ which gcc
/usr/bin/gcc
3.check your gcc version. it is recommend using version 4.4.0 or later.
检查版本号
test@test:~$ gcc --version
gcc (Ubuntu 4.8.4-2ubuntu1~14.04.4) 4.8.4
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
4.Create a new, clean directory called Build_WRF, and another one called TESTS.
test@test:~$ mkdir Build_WRF TESTS
5.Below is a tar file that contains the tests. Download the tar file and place it in the TESTS directory.
切换到TESTS文件夹下
test@test:~$ cd TESTS/
下载Fortran and C Tests Tar File
test@test:~/TESTS$ wget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/Fortran_C_tests.tar
在TESTS文件夹下解压Fortran_C_tests.tar文件
test@test:~/TESTS$ tar -xvf Fortran_C_tests.tar
There are 7 tests available, so start at the top and run through them, one at a time.
Test #1: Fixed Format Fortran Test: TEST_1_fortran_only_fixed.f
test@test:~/TESTS$ gfortran TEST_1_fortran_only_fixed.f
test@test:~/TESTS$ ./a.out
SUCCESS test 1 fortran only fixed format
Test #2: Free Format Fortran: TEST_2_fortran_only_free.f90
test@test:~/TESTS$ gfortran TEST_2_fortran_only_free.f90
test@test:~/TESTS$ ./a.out
Assume Fortran 2003: has FLUSH, ALLOCATABLE derived type, and ISO C Binding
SUCCESS test 2 fortran only free format
Test #3: C: TEST_3_c_only.c
test@test:~/TESTS$ gcc TEST_3_c_only.c
test@test:~/TESTS$ ./a.out
SUCCESS test 3 C only
Test #4: Fortran Calling a C Function (our gcc and gfortran have different defaults, so we force both to always use 64 bit [-m64] when combining them): TEST_4_fortran+c_c.c, and TEST_4_fortran+x_f.f90
test@test:~/TESTS$ gcc -c -m64 TEST_4_fortran+c_c.c
test@test:~/TESTS$ gfortran -c -m64 TEST_4_fortran+c_f.f90
test@test:~/TESTS$ gfortran -m64 TEST_4_fortran+c_f.o TEST_4_fortran+c_c.o
test@test:~/TESTS$ ./a.out
C function called by Fortran
Values are xx = 2.00 and ii = 1
SUCCESS test 4 fortran calling c
Test #5:csh In the command line, type:
test@test:~/TESTS$ csh TEST_csh.csh
SUCCESS csh test
Test #6:perl In the command line, type:
test@test:~/TESTS$ ./TEST_perl.pl
SUCCESS perl test
Test #7:sh In the command line, type:
test@test:~/TESTS$ ./TEST_sh.sh
SUCCESS sh test
#退回原来的目录下
test@test:~/TESTS$ cd ..
Before getting started, you need to make another directory. Go inside your Build_WRF directory:
test@test:~$ cd Build_WRF/
test@test:~/Build_WRF$ mkdir LIBRARIES
Depending on the type of run you wish to make, there are various libraries that should be installed. Below are 5 libraries. Download all 5 tar files and place them in the LIBRARIES directory.
根据您希望进行的运行类型,应该安装不同的库。下面是5个库。下载所有5个tar文件并将它们放在LIBRARIES目录中。
mpich-3.0.4
test@test:~/Build_WRF$ cd LIBRARIES/
test@test:~/Build_WRF/LIBRARIES$ wget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/mpich-3.0.4.tar.gz
test@test:~/Build_WRF/LIBRARIES$ wget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/netcdf-4.1.3.tar.gz
test@test:~/Build_WRF/LIBRARIES$ wget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/jasper-1.900.1.tar.gz
test@test:~/Build_WRF/LIBRARIES$ wget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/libpng-1.2.50.tar.gz
test@test:~/Build_WRF/LIBRARIES$ wget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/zlib-1.2.7.tar.gz
It is important to note that these libraries must all be installed with the same compilers as will be used to install WRF and WPS.
Before installing the libraries, these paths need to be set:Modify the .bashrc file in the home directory of current user to set the environment variables.
test@test:~/Build_WRF/LIBRARIES$ sudo nano ~/.bashrc
输入密码,进入之后下拉到底部空白的地方,填写以下内容:
# WRF environment variables
export DIR=/home/test/Build_WRF/LIBRARIES 注意这里需要填写自己的路径
export CC=gcc
export CXX=g++
export FC=gfortran
export FCFLAGS=-m64
export F77=gfortran
export FFLAGS=-m64
export JASPERLIB=$DIR/grib2/lib
export JASPERINC=$DIR/grib2/include
export LDFLAGS=-L$DIR/grib2/lib
export CPPFLAGS=-I$DIR/grib2/include
输入完之后,按ctrl+x键,再按y键,再按enter键就可保存设置的环境变量,自动退出到命令终端中。
Then source the .bashrc file to make these settings active for current session.
test@test:~/Build_WRF/LIBRARIES$ source ~/.bashrc
解压netcdf-4.1.3.tar.gz文件
test@test:~/Build_WRF/LIBRARIES$ tar -zxvf netcdf-4.1.3.tar.gz
进入netcdf-4.1.3d目录,并使用显示的参数运行configure脚本,然后运行make和make install。
test@test:~/Build_WRF/LIBRARIES$ cd netcdf-4.1.3/
test@test:~/Build_WRF/LIBRARIES/netcdf-4.1.3$ ./configure --prefix=$DIR/netcdf --disable-dap --disable-netcdf-4 --disable-shared
test@test:~/Build_WRF/LIBRARIES/netcdf-4.1.3$ make
test@test:~/Build_WRF/LIBRARIES/netcdf-4.1.3$ make install
再次修改.bashrc文件,并在底部设置两个新的环境变量
test@test:~/Build_WRF/LIBRARIES/netcdf-4.1.3$ sudo nano ~/.bashrc
在打开窗口输入:export PATH=$DIR/netcdf/bin:$PATH
export NETCDF=$DIR/netcdf
test@test:~/Build_WRF/LIBRARIES/netcdf-4.1.3$ source ~/.bashrc
test@test:~/Build_WRF/LIBRARIES/netcdf-4.1.3$ cd ..
test@test:~/Build_WRF/LIBRARIES$
MPICH: This library is necessary if you are planning to build WRF in parallel. If your machine does not have more than 1 processor, or if you have no need to run WRF with multiple processors, you can skip installing MPICH.
test@test:~/Build_WRF/LIBRARIES$ tar -zxvf mpich-3.0.4.tar.gz
test@test:~/Build_WRF/LIBRARIES$ cd mpich-3.0.4/
test@test:~/Build_WRF/LIBRARIES/mpich-3.0.4$ ./configure --prefix=$DIR/mpich
test@test:~/Build_WRF/LIBRARIES/mpich-3.0.4$ make
test@test:~/Build_WRF/LIBRARIES/mpich-3.0.4$ make install
test@test:~/Build_WRF/LIBRARIES/mpich-3.0.4$ sudo nano ~/.bashrc
在打开窗口输入:export PATH=$DIR/mpich/bin:$PATH
test@test:~/Build_WRF/LIBRARIES/mpich-3.0.4$ source ~/.bashrc
test@test:~/Build_WRF/LIBRARIES/mpich-3.0.4$ cd ..
test@test:~/Build_WRF/LIBRARIES$
zlib: This is a compression library necessary for compiling WPS (specifically ungrib) with GRIB2 capability
test@test:~/Build_WRF/LIBRARIES$ tar -zxvf zlib-1.2.7.tar.gz
test@test:~/Build_WRF/LIBRARIES$ cd zlib-1.2.7/
test@test:~/Build_WRF/LIBRARIES/zlib-1.2.7$ ./configure --prefix=$DIR/grib2
test@test:~/Build_WRF/LIBRARIES/zlib-1.2.7$ make
test@test:~/Build_WRF/LIBRARIES/zlib-1.2.7$ make install
test@test:~/Build_WRF/LIBRARIES/zlib-1.2.7$ cd ..
libpng: This is a compression library necessary for compiling WPS (specifically ungrib) with GRIB2 capability
test@test:~/Build_WRF/LIBRARIES$ tar -zxvf libpng-1.2.50.tar.gz
test@test:~/Build_WRF/LIBRARIES$ cd libpng-1.2.50/
test@test:~/Build_WRF/LIBRARIES/libpng-1.2.50$ ./configure --prefix=$DIR/grib2
test@test:~/Build_WRF/LIBRARIES/libpng-1.2.50$ make
test@test:~/Build_WRF/LIBRARIES/libpng-1.2.50$ make install
test@test:~/Build_WRF/LIBRARIES/libpng-1.2.50$ cd ..
Jasper: This is a compression library necessary for compiling WPS (specifically ungrib) with GRIB2 capability
test@test:~/Build_WRF/LIBRARIES$ tar -zxvf jasper-1.900.1.tar.gz
test@test:~/Build_WRF/LIBRARIES$ cd jasper-1.900.1/
test@test:~/Build_WRF/LIBRARIES/jasper-1.900.1$ ./configure --prefix=$DIR/grib2
test@test:~/Build_WRF/LIBRARIES/jasper-1.900.1$ make
test@test:~/Build_WRF/LIBRARIES/jasper-1.900.1$ make install
test@test:~/Build_WRF/LIBRARIES/jasper-1.900.1$ cd ..
返回到最前面的目录
test@test:~/Build_WRF/LIBRARIES$ cd ..
test@test:~/Build_WRF$ cd ..
test@test:~$
验证这些库是否能够与将用于WPS和WRF构建的编译器一起使用
Below is a tar file that contans these tests. Download this tar file and place it in the TESTS directory, and then “cd” into the TESTS directory:
Fortran_C_NETCDF_MPI_tests.tar
test@test:~$ cd TESTS/
test@test:~/TESTS$ wget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/Fortran_C_NETCDF_MPI_tests.tar
test@test:~/TESTS$ tar -xvf Fortran_C_NETCDF_MPI_tests.tar
Test #1: Fortran + C + NetCDF
test@test:~/TESTS$ cp ${NETCDF}/include/netcdf.inc .
test@test:~/TESTS$ gfortran -c 01_fortran+c+netcdf_f.f
test@test:~/TESTS$ gcc -c 01_fortran+c+netcdf_c.c
test@test:~/TESTS$ gfortran 01_fortran+c+netcdf_f.o 01_fortran+c+netcdf_c.o -L${NETCDF}/lib -lnetcdff -lnetcdf
test@test:~/TESTS$ ./a.out
C function called by Fortran
Values are xx = 2.00 and ii = 1
SUCCESS test 1 fortran + c + netcdf
Test #2: Fortran + C + NetCDF + MPI
test@test:~/TESTS$ cp ${NETCDF}/include/netcdf.inc .
test@test:~/TESTS$ mpif90 -c 02_fortran+c+netcdf+mpi_f.f
test@test:~/TESTS$ mpicc -c 02_fortran+c+netcdf+mpi_c.c
test@test:~/TESTS$ mpif90 02_fortran+c+netcdf+mpi_f.o 02_fortran+c+netcdf+mpi_c.o -L${NETCDF}/lib -lnetcdff -lnetcdf
test@test:~/TESTS$ mpirun ./a.out
C function called by Fortran
Values are xx = 2.00 and ii = 1
status = 2
SUCCESS test 2 fortran + c + netcdf + mpi
我这里用的WRF版本是WRF-4.1.2.tar.gz,如果想安装其他版本可以到官网上去下载。我是先下载好,然后把它放入Build_WRF目录下,之后进行解压。
test@test:~/TESTS$ cd ..
test@test:~$ cd Build_WRF/
因为包已经下载好了,故不需要进行wget。
test@test:~/Build_WRF$ tar -zxvf WRF-4.1.2.tar.gz
test@test:~/Build_WRF$ cd WRF-4.1.2/ test@test:~/Build_WRF/WRF-4.1.2$ ./configure checking for perl5... no checking for perl... found /usr/bin/perl (perl) Will use NETCDF in dir: /home/test/Build_WRF/LIBRARIES/netcdf HDF5 not set in environment. Will configure WRF for use without. PHDF5 not set in environment. Will configure WRF for use without. Will use 'time' to report timing information If you REALLY want Grib2 output from WRF, modify the arch/Config.pl script. Right now you are not getting the Jasper lib, from the environment, compiled into WRF. ------------------------------------------------------------------------ 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 Enter selection [1-75] :
在这里停下来,填32,然后按enter键
------------------------------------------------------------------------
Compile for nesting? (0=no nesting, 1=basic, 2=preset moves, 3=vortex following) [default 0]: 1
这里填1即可,然后按enter键,得到下面结果
###################### ------------------------------------------------------------------------ Settings listed above are written to configure.wrf. If you wish to change settings, please edit that file. If you wish to change the default options, edit the file: arch/configure.defaults NetCDF users note: This installation of NetCDF supports large file support. To DISABLE large file support in NetCDF, set the environment variable WRFIO_NCD_NO_LARGE_FILE_SUPPORT to 1 and run configure again. Set to any other value to avoid this message. Testing for NetCDF, C and Fortran compiler This installation of NetCDF is 64-bit C compiler is 64-bit Fortran compiler is 64-bit It will build in 64-bit ************************** W A R N I N G ************************************ There are some IEEE Fortran 2003 features in WRF that your compiler does not recognize. The IEEE function calls have been removed. ***************************************************************************** ***************************************************************************** This build of WRF will use classic (non-compressed) NETCDF format *****************************************************************************
对实际案例进行编译WRF
test@test:~/Build_WRF/WRF-4.1.2$ ./compile em_real >& compile.log &
[1] 101211
test@test:~/Build_WRF/WRF-4.1.2$ tail -f compile.log
编译结果如下所示:
==========================================================================
build started: 2022年 02月 22日 星期二 23:50:12 CST
build completed: 2022年 02月 23日 星期三 00:04:45 CST
---> Executables successfully built <---
-rwxrwxr-x 1 test test 45616498 2月 23 00:04 main/ndown.exe
-rwxrwxr-x 1 test test 45473006 2月 23 00:04 main/real.exe
-rwxrwxr-x 1 test test 44965567 2月 23 00:04 main/tc.exe
-rwxrwxr-x 1 test test 50220274 2月 23 00:04 main/wrf.exe
==========================================================================
运行到这里会卡住,如果成功了,在~/Build_WRF/WRF/main文件夹里是否有wrf.exe等4个文件,看一下关闭终端然后接着做
我这里使用的WPS是WPS-4.1.tar.gz,如果想安装其他版本可以到官网上去下载。我是先下载好,然后把它放入Build_WRF目录下,之后进行解压。
test@test:~$ cd Build_WRF/
test@test:~/Build_WRF$ tar -zxvf WPS-4.1.tar.gz
test@test:~/Build_WRF$ cd WPS-4.1/
test@test:~/Build_WRF/WPS-4.1$ ./clean
The next step is to configure WPS, however, you first need to set some paths for the ungrib libraries:
test@test:~/Build_WRF/WPS-4.1$ sudo nano ~/.bashrc
在后面输入:export WRF_DIR=../WRF-4.1.2
test@test:~/Build_WRF/WPS-4.1$ source ~/.bashrc test@test:~/Build_WRF/WPS-4.1$ ./configure Will use NETCDF in dir: /home/test/Build_WRF/LIBRARIES/netcdf Using WRF I/O library in WRF build identified by $WRF_DIR: ../WRF-4.1.2 Found Jasper environment variables for GRIB2 support... $JASPERLIB = /home/test/Build_WRF/LIBRARIES/grib2/lib $JASPERINC = /home/test/Build_WRF/LIBRARIES/grib2/include ------------------------------------------------------------------------ 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) Enter selection [1-40] :
在运行处停下来的地方填1,enter即可,结果如下:
Enter selection [1-40] : 1
------------------------------------------------------------------------
Configuration successful. To build the WPS, type: compile
------------------------------------------------------------------------
Testing for NetCDF, C and Fortran compiler
This installation NetCDF is 64-bit
C compiler is 64-bit
Fortran compiler is 64-bit
metgrid.exe和geogrid.exe程序依赖于configure.wps文件,该文件将WPS构建系统从WRF模型引导到I / O库的位置:WRF_DIR = …/WRF-4.1.2
test@test:~/Build_WRF/WPS-4.1$ sudo nano configure.wps
Above is the default setting. As long as the name of the WRF model’s top-level directory is “WRF” and the WPS and WRF directories are at the same level (which they should be if you have followed exactly as instructed on this page so far), then the existing default setting is correct and there is no need to change it. If it is not correct, you must modify the configure file and then save the changes before compiling.
以上是默认设置。只要WRF模型的顶级目录名为“WRF”,并且WPS和WRF目录处于同一级别(如果您完全按照本页上的说明进行操作,则应该是同一级别),那么现有的默认设置是正确的,无需更改。如果不正确,则必须修改配置文件,然后在编译之前保存更改。
test@test:~/Build_WRF/WPS-4.1$ ./compile >& compile.log & [1] 109655 test@test:~/Build_WRF/WPS-4.1$ tail -f compile.log make[1]:正在离开目录 `/home/test/Build_WRF/WPS-4.1/util/src' if [ -h int2nc.exe ] ; then \ /bin/rm -f int2nc.exe ; \ fi ; \ if [ -h ../int2nc.exe ] ; then \ /bin/rm -f ../int2nc.exe ; \ fi ; \ if [ -e src/int2nc.exe ] ; then \ ln -sf src/int2nc.exe . ; \ fi #运行到这里卡住,按Ctrl+C键结束进程: ^C[1]+ 已完成 ./compile &> compile.log test@test:~/Build_WRF/WPS-4.1$ ls -las *.exe 0 lrwxrwxrwx 1 test test 23 2月 23 00:39 geogrid.exe -> geogrid/src/geogrid.exe 0 lrwxrwxrwx 1 test test 23 2月 23 00:39 metgrid.exe -> metgrid/src/metgrid.exe 0 lrwxrwxrwx 1 test test 21 2月 23 00:39 ungrib.exe -> ungrib/src/ungrib.exe
编译完成后,要检查编译是否成功,需要在WPS顶级目录中查找3个主要的可执行文件,然后确认它们的大小不为零。
WRF建模系统能够创建理想的模拟,尽管大多数用户对实际数据案例感兴趣。 要启动实际数据案例,必须创建域在地球上的物理位置以及该位置的静态信息。
这需要一个数据集,其中包括地形和土地用途分类等字段。 移至Build_WRF目录,下载文件并解压缩。 解压缩文件时,它将被称为“ geog”,将其重命名为“ WPS_GEOG”。
geog_10m.tar.gz
test@test:~/Build_WRF/WPS-4.1$ cd ..
test@test:~/Build_WRF$ tar -zxvf geog_10m.tar.gz
把解压出来的geog文件夹改名字成WPS_GEOG
test@test:~/Build_WRF$ mv geog WPS_GEOG
The directory infomation is given to the geogrid program in the namelist.wps file in the &geogrid section. The complete data expands to approximately 10 GB. This data allows a user to run the geogrid.exe program.
目录信息在&geogrid部分的namelist.wps文件中提供给geogrid程序。 完整的数据将扩展到大约10 GB。 该数据允许用户运行geogrid.exe程序。
test@test:~/Build_WRF$ cd WPS-4.1/
test@test:~/Build_WRF/WPS-4.1$ nano namelist.wps
把geog_data_path = '/glade/p/work/wrfhelp/WPS_GEOG/'改成geog_data_path = ‘/home/test/Build_WRF/WPS_GEOG/’
ARWpost is a Fortran program that reads WRF-ARW input and output file, then generates GrADS output files.
ARWpost是一个Fortran程序,它读取WRF-ARW输入和输出文件,然后生成GrADS输出文件。
Once the output files have been generated, GrADS can be used to produce horizontal or vertical cross-section plots of scalar fields(contours) or vector fields(barbs or arrows),vertical profiles and soundings.
一旦生成了输出文件,即可使用GrADS生成标量场(轮廓)或矢量场(倒钩或箭头),垂直剖面和测深的水平或垂直横截面图。
Is recommend the use of ARW post Version 3 or higher. This code is not dependent on the successful compilation of the WRFV3 code, and can therefore be installed anywhere, even if WRFV3 is not installed on this computer.
建议在版本3或更高版本中使用ARW。 此代码不依赖于WRFV3代码的成功编译,因此即使未在此计算机上安装WRFV3,也可以将其安装在任何位置。
Move to your Build_WRF directory, download the file and unpack it.
移至Build_WRF目录,下载文件并解压缩
test@test:~/Build_WRF/WPS-4.1$ cd ..
test@test:~/Build_WRF$ tar -zxvf ARWpost_V3.tar.gz
Once unpacked,move to AWRpost directory and look for the following files:
解压缩后,移至AWRpost目录并查找以下文件:
arch, clean, compile, configure, namelist.ARWpost, README, src, script and util.
test@test:~/Build_WRF$ cd ARWpost/ test@test:~/Build_WRF/ARWpost$ ls -las 总用量 60 4 drwxr-xr-x 6 test test 4096 3月 2 2011 . 4 drwxrwxr-x 7 test test 4096 2月 23 01:13 .. 4 drwxr-xr-x 2 test test 4096 2月 23 01:13 arch 4 -rwxr-xr-x 1 test test 905 5月 25 2007 clean 4 -rwxr-xr-x 1 test test 490 12月 16 2010 compile 8 -rwxr-xr-x 1 test test 4257 5月 25 2007 configure 4 -rw-r--r-- 1 test test 12 5月 25 2007 fields.plt 4 -rw-r--r-- 1 test test 19 5月 25 2007 myLIST 4 -rw-r--r-- 1 test test 1150 12月 16 2010 namelist.ARWpost 8 -rw-r--r-- 1 test test 7189 12月 16 2010 README 4 drwxr-xr-x 2 test test 4096 2月 23 01:13 scripts 4 drwxr-xr-x 2 test test 4096 2月 23 01:13 src 4 drwxr-xr-x 2 test test 4096 3月 2 2011 util
Assuming that the NETCDF variable is set, it is possible to configure the ARWpost.
假设已设置NETCDF变量,则可以配置ARWpost。
test@test:~/Build_WRF/ARWpost$ ./configure
Will use NETCDF in dir: /home/test/Build_WRF/LIBRARIES/netcdf
------------------------------------------------------------------------
Please select from among the following supported platforms.
1. PC Linux i486 i586 i686 x86_64, PGI compiler
2. PC Linux i486 i586 i686 x86_64, Intel compiler
3. PC Linux i486 i586 i686 x86_64, gfortran compiler
Enter selection [1-3] : 3
------------------------------------------------------------------------
Configuration successful. To build the ARWpost, type: compile
------------------------------------------------------------------------
Edit the Makefile file into the src directory and modify the -L$(NETCDF) line into the ARWpost.exe environment.
将Makefile文件编辑到src目录中,并将-L $(NETCDF)行修改到ARWpost.exe环境中。
test@test:~/Build_WRF/ARWpost$ cd src/
test@test:~/Build_WRF/ARWpost/src$ nano Makefile
ARWpost.exe: $(OBJS)
$(FC) $(FFLAGS) $(LDFLAGS) -o $@ $(OBJS) \
-L$(NETCDF)/lib -lnetcdf -lnetcdff -I$(NETCDF)/include -lnetcdf
添加-lnetcdf -lnetcdff部分
Move to the ARWpost directory and modify the CFLAGS and CPP lines into the configure.arwp file.
移至ARWpost目录,然后将CFLAGS和CPP行修改为configure.arwp文件。
test@test:~/Build_WRF/ARWpost/src$ cd ..
test@test:~/Build_WRF/ARWpost$ nano configure.arwp
CPP = /lib/cpp -C -P -traditional 变为 CPP = /lib/cpp -P -traditional
CFLAGS = -m64变为CFLAGS = -fPIC -m64
Then compile the ARWpost. If successful, the executable ARWpost.exe will be created.
然后编译ARWpost。 如果成功,将创建可执行文件ARWpost.exe。
test@test:~/Build_WRF/ARWpost$ ./compile
test@test:~/Build_WRF/ARWpost$ ls -ls *.exe
0 lrwxrwxrwx 1 test test 15 2月 23 01:24 ARWpost.exe -> src/ARWpost.exe
到这里就结束了!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。