一、WRF模式介绍:
Weather Research andForecasting Model(WRF)被誉为是次世代的中尺度天气预报模式。二战后,由于计算机技术的迅猛发展,气象预报技术也随之突飞猛进。短短的几十年里,世界各地的气象研究机关开发出了各自的相对独立的气象模式。这些模式之间缺少互换性,对科研及业务上的交流极其不便。从上世纪90年代后半开始,美国对这种乱立的模式状况进行反省。最后由美国环境预测中心(NCEP),美国国家大气研究中心(NCAR)等美国的科研机构为中心开始着手开发一种统一的气象模式。终于于2000年开发出了WRF模式。WRF包括多重区域、从几公里到数千公里的灵活分辨率、多重嵌套网格,以及与之协调的三维变分同化系统3DVAR等。WRF数值模式采用高度模块化、并行化和分层设计技术,集成了迄今为止中尺度方面的研究成果。为使研究成果能够迅速地应用到现实的天气预报当中去,WRF模式分为ARW(the AdvancedResearch WRF)和NMM(the Nonhydrostatic Mesoscale Model)两种,即研究用和业务用两种形式,分别由NCEP和NCAR管理维持着。
WRF为中尺度研究和业务数值气象预报提供共同框架;设计用于1~10 km格距的模拟;与一般计算平台上典型的实时预报能力相适应。它也为理想化动力研究以及完整物理的数值气象预报与区域气候模拟提供共同框架。WRF的优点有多维动态内核、更为合理的模式动力框架、先进的三维变分资料同化系统、可达几公里的水平分辨率及集合参数化物理过程方案。WRF模式为完全可压缩以及非静力模式,采用F90语言编写。水平方向采用Arakawa C(荒川C)网格点,垂直方向则采用地形跟随质量坐标。WRF模式在时间积分方面采用三阶或者四阶的Runge-Kutta算法。WRF模式不仅可以用于真实天气的个案模拟,也可以用其包含的模块组作为基本物理过程探讨的理论根据。
WRF几种模式的简介:
1、仅需要模拟理想状态问题: WRF-ARW Model +PostProcessing
2、需要模拟实际问题: WPS + WRF-ARWModel + PostProcessing
3、 模拟加入影响变动值后的实际问题: WPS + WRF-Var +WRF-ARW Model + PostProcessing
本次安装使用的是第2种模式。模拟实际问题。
WRFV3.4于2012年4月6日发布,WPSV3.4于2012年6月5日发布。
WRF框架如下图:
二、准备工作:
本次安装的平台是REDHATENTERPRISE 5.5。编译器采用intelc++和intel fortran编译器
设置编译器环境变量:
##export for compliers
export CC=icc CXX=icpc F77=ifort FC=ifortF90=ifort
安装mpich2
./configure --prefix=/opt/mpich2 --enable-g=all --enable-f77 --enable-fc --enable-cxx --enable-debuginfo --with-pm=mpd:hydra
make
make install
设置环境变量:##thempich2 environment
export PATH=/opt/mpich2/bin:$PATH
安装zlib1.2.7
./configure --prefix=/opt/zlib-1.2.7 --archs="-arch x86_64"
需要修改 makefile 把其中的CFFLAGS=–fPIC
Make
Make install
设置环境变量:
#export for lib enviroment vars
export LD_LIBRARY_PATH= /opt/zlib-1.2.7/lib:$LD_LIBRARY_PATH
安装libpng1.5.12
./configure --prefix=/opt/libpng-1.5.12 --with-zlib-prefix
Make
Makeinstall
设置环境变量:
export LD_LIBRARY_PATH=/opt/libpng-1.5.12/lib:$LD_LIBRARY_PATH
安装jasper1.9
./configure --prefix=/opt/jasper-1.9 --enable-debug
Make
Makeinstall
设置环境变量:
##jasper-1.9 environment vars
export JASPERLIB=/opt/jasper-1.9/lib
export JASPERINC=/opt/jasper-1.9/include
安装hdf5
./configure --prefix=/opt/hdf5 --enable-fortran --enable-cxx --enable-debug=all –with-zlib=/opt/zlib-1.2.7
修改Makefile 在有FLAGS的后面加上 –Dpgifortran
Make
Make install
设置环境变量:
export LD_LIBRARY_PATH=/opt/hdf5/lib:$LD_LIBRARY_PATH
安装netcdf4.1.3
./configure --prefix=/opt/netcdf-4.1.3 CPPFLAGS="-I/opt/hdf5/include -I/opt/zlib-1.2.7/include" LDFLAGS="-L/opt/hdf5/lib -L/opt/zlib-1.2.7/lib"
修改Makefile在CPPFLAGS的后面加上 –Dpgifortran
Make
Make install
设置环境变量:
##the netcdf4.1.3envrionment
export NETCDF=/opt/netcdf-4.1.3
三、安装WRFV3.4:
安装WRFV3.4
./configure 根据自己平台系统的实际情况选择
这里选第15
./compile em_real
安装WPSV3.4
./configure 选 15
修改configure.wps
WRF_DIR = /opt/WRFV3.4
FFLAGS = -FR -convert big_endian -Dpgifortran
F77FLAGS = -FI -convert big_endian -Dpgifortran
LDFLAGS = -lnetcdf –lnetcdff
CPPFLAGS = -D_UNDERSCORE -DBYTESWAP -DLINUX-DIO_NETCDF -DIO_BINARY -DIO_GRIB1 -DBIT32 -D_MPI -Dpgifrotran
COMPRESSION_LIBS = -L/opt/jasper-1.9/lib -L/opt/zlib-1.2.7/lib-L/opt/libpng-1.5.12/lib -ljasper -lpng -lz
COMPRESSION_INC = -I/opt/jasper-1.9/include -I/opt/zlib-1.2.7/include-I/opt/libpng-1.5.12/include
./compile
安装ARWpostV3
./configure
修改configure.arwp
LDFLAGS = -lnetcdf –lnetcdff
./compile
四、WRF运行
下载test data:
geogrid.exe 输入数据包:geog_v3.4.tar.gz;
ungrib.exe输入数据包:JAN00_AWIP.tar.gz;
编辑共享文件namelist.wps
将&share部分的起止时间改成:
start_date = '2000-01-24_12:00:00',
end_date = '2000-01-25_12:00:00'
将&geogird 部分的geog_data_path 改成你下载的geogrid数据的位置= '/test/wrf/geog'
运行geogrid.exe
./geogrid.exe
Parsed 22 entries in GEOGRID.TBL
Processing domain 1 of 1
Processing XLAT and XLONG
Processing MAPFAC
Processing F and E
Processing ROTANG
Processing LANDUSEF
Calculating landmask from LANDUSEF ( WATER = 16 )
Processing HGT_M
Processing HGT_U
Processing HGT_V
Processing SOILTEMP
Processing SOILCTOP
Processing SCT_DOM
Processing SOILCBOT
Processing SCB_DOM
Processing ALBEDO12M
Processing GREENFRAC
Processing SNOALB
Processing SLOPECAT
Processing SLOPECAT
Processing CON
Processing VAR
Processing OA1
Processing OA2
Processing OA3
Processing OA4
Processing OL1
Processing OL2
ProcessingOL3
Processing OL4
Processing VAR_SSO
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Successful completion of geogrid. !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
运行ungrib.exe
ln -sf /opt/WPSV3.4/ungrib/Variable_Tables/Vtable.AWIPVtable
./link_grib.csh /test/wrf/JAN00/2000012*
./ungrib.exe
Subroutine DATINT: Interpolating 3-d filesto fill in any missing data...
Looking for data at time 2000-01-24_12
Found file: FILE:2000-01-24_12
Looking for data at time 2000-01-24_18
Found file: FILE:2000-01-24_18
Looking for data at time 2000-01-25_00
Found file: FILE:2000-01-25_00
Looking for data at time 2000-01-25_06
Found file: FILE:2000-01-25_06
Looking for data at time 2000-01-25_12
Found file: FILE:2000-01-25_12
End Subroutine DATINT.
**********
Deleting temporary files created byungrib...
**********
Deleting file: ./PFILE:2000-01-24_12
Deleting file: ./PFILE:2000-01-24_18
Deleting file: ./PFILE:2000-01-25_00
Deleting file: ./PFILE:2000-01-25_06
Deleting file: ./PFILE:2000-01-25_12
**********
Done deleting temporary files.
**********
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Successful completion of ungrib. !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
运行metgrib.exe
./metgrib.exe
Processing domain 1 of 1
Processing 2000-01-24_12
FILE
Processing 2000-01-24_18
FILE
Processing 2000-01-25_00
FILE
Processing 2000-01-25_06
FILE
Processing 2000-01-25_12
FILE
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Successful completion of metgrid. !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
至此WPS的数据前处理部分结束。
WRF模拟部分
根据实际情况决定是否要编辑namelist.input
运行real.exe
ln –sf /test/met_* .
./real.exe
starting wrf task 0 of 1
运行wrf.exe
./wrf.exe
starting wrf task 0 of 1
如果运行中出现 Segmentationfault的错误,请在运行之前输入ulimit-s unlimited. 最好把ulimit –s unlimited 写在/etc/profil文件中,就不需要每次运行wrf.exe 前执行ulimit –s unlimited 命令了。
WRF模拟到此运行结束
运行ARWpost.exe
编辑namelist.ARWpost
主要是修改其中的input_root_name= ' ' output_root_name = ' ‘ 两项让ARWpost能够找到输入文件并确定输出的文件名.
最后生成 *.ctl 和 *.dat 文件可以用grabs等软件画出最后的图像。
四、注意:
geogrid.exe、metgrid.exe、real.exe、wrf.exe可以并行运行
mpirun –n 8 ****.exe
ungrib.exe只能够串行运行
./ungrib.exe