WRF 入门

WRF–ARW Online Tutorial



安装:

官网指南 compilation_tutorial

https://github.com/camposdelano/configuring-wrf-3.8-on-ubuntu-server-16.04

https://github.com/Toberumono/WRF-Setup-Script

https://blog.csdn.net/ESA_DSQ/article/details/78228678


Walkthrough and notes taken while configuring WRF v3.8 on Ubuntu Server 16.04 LTS at Laboratório de Modelagem Climática (LMC/INPA).

Installing and running WRF 3.8 on Linux Ubuntu LTS 16.04 with Intel i7 4-core (8-threads) cpu



视频教程:Configuring WRF 3.8 on Ubuntu Server 16.04 youtobe

WRF Tutorial 


日本https://sites.google.com/site/afcwrf/home



教程:WRF 3.9.1.1 在Ubuntu16.04 LTS 下的安装包括Chem kpp (气象家园转)

64win7ubuntu16.04LTS双系统下安装WRF 3.9.1.1 (WPS, WRFV, WRFDA, WRF_Chem)

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

小其其格及其帖子

http://bbs.06climate.com/forum.php?mod=viewthread&tid=55032&extra=page%3D1

ljh110011及其帖子

http://bbs.06climate.com/forum.php?mod=viewthread&tid=33557

Lrxwisdom及其帖子

http://bbs.06climate.com/forum.php?mod=viewthread&tid=37339

科研菜鸟(博客地址http://blog.sciencenet.cn/u/sanshiphy


//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

所有软件的版本介绍

系统:Ubuntu 16.04 LTS(cat /etc/issue 查看)

WRFV3.9.1.1 WRFV3.9.1.1.TAR.gzWRFV3-Chem-3.9.1.TAR.gzWPSV3.9.1.TAR.gzWRFDA_V3.9.1.tar.gz WRFDomainWizard

NETCDF (NetCDF-C V4.4.1; NetCDF-FORTRAN V4.4.4)

HDF5: V1.8.18; NCL: V6.4.0

库函数:zlib: V1.2.10;Jasper: V1.900.1 (要是版本过高会不生成ungrid.exe, 也有解决办法,后文提到) ; PNG:V1.6.26;Libjpeg.v9a

gcc 5.4.0  g++ 5.4.0  gfortran 5.4.0

byacc.1.9.tar.Z  wgrib2.tgz  

所有的软件都已经打包了好了,也是给自己以后留一个备份。

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Win&Ubuntu双系统

/boot, LinuxUUniversal_USB_Installer一定要首先更新一下系统,并且把所有的package都修复啦!

sudo apt-get upgrade

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

安装编译工具

1)进入Ubuntu后,打开左侧ubuntuSoftware,查找新立得软件包管理器(synaptic,点击安装,然后等待自行完成。

2perl(version 5 or later) (perl –v)

3C shell(csh), Bourne shell (sh),这两个可以被tcsh兼容,所以只需安装tcsh

awk (which awk 若是usr/bin/awk返回,则说明OK)

4)接下来

apt-get install tcsh samba cpp m4 quota

tcsh --version

samba --version

cpp --version

m4 –version

检查是否成功

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

安装WRF编译工具

1)首先判断gccg++gfortran版本是否一致

gcc --version

g++ --version

gfortran –version

基本上gfortran是没有的,然后正常安装即可

apt-get install gfortran

之后再检查一遍这三个是否一样。Ubuntu16.04里面这三个都是5.4.0版本的。

2)根据小其其格的说法,需要重新连接一遍,不然会寻址不到。

【重新链接gccg++gfortran

1.建立备份文件夹:

mkdir /usr/bin/gccbackup

mkdir /usr/bin/g++backup

mkdir /usr/bin/gfortranbackup

2.先将原来的链接改名,终端输入:

mv /usr/bin/gcc /usr/bin/gccbackup

mv /usr/bin/g++ /usr/bin/g++backup

mv /usr/bin/gfortran /usr/bin/gfortranbackup

3.重新链接

ln -s /usr/bin/gcc-5 /usr/bin/gcc

ln -s /usr/bin/gfortran-5 /usr/bin/gfortran

ln -s /usr/bin/g++-5 /usr/bin/g++

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

安装NetCDF

NetCDF的安装需要有HDF5lib,而HDF5的安装需要先有zlibcurl。所以先要安装zlibcurl。本人将zlibcurl,  jpeg, png.  Jasper 一起安装了,并且建立了一个JASPER文件夹将这几个libinclude都放在一起,方便后期的环境设置。

打开synaptic,点击搜索,输入libjpeg8,然后libjpeg8-dbg/libjpeg8-dev选项,前面没有打钩的。双击打钩标记,标记后会变绿色,点击应用,然后安装。

同理输入glibc,然后就会看到结果有三个红点的glibc选项,也apply

同理输入grib2,然后就会看到结果有libgrib2c-dev/libgrib2c0d选项,也apply

开始安装各个小东西

第一步解压,把下载好的都解压了,我这里是解压到/usr/local/src,安装完可以删除

tar -zxf zlib-1.2.10.tar.gz -C /usr/local/src

tar -zxf jpegsrc.v9a.tar.gz -C /usr/local/src

tar -zxf libpng-1.6.26.tar.gz -C /usr/local/src

tar -zxf jasper-1.900.1.zip -C /usr/local/src

接下来就是各种安装了

1. zlib

cd /usr/local/src/zlib-1.2.10/

./configure --prefix=/usr/local/zlib

make

make check

make install

2. curl

apt-get install curl

3. jpeg-9a

cd /usr/local/src/ jpeg-9a

./configure --prefix=/usr/local/libjpeg

make

make install

4. libpng

cd /usr/local/src/libpng-1.6.26

export LDFLAGS=-L/usr/local/zlib/lib

export CPPFLAGS=-I/usr/local/zlib/include

./configure --prefix=/usr/local/libpng

make

make install

5. jasper-1.900.1

cd /usr/local/src/jasper-1.900.1

. /configure --prefix=/usr/local/jasper

make

make install

我安装的是1.9,因为高版本在后面可能出现不了ungrib.exe

根据科研菜鸟理论 高版本的Jasper需要修改jas_image.h文件

cd /usr/local/jasper/include/jasper/

gedit jas_image.h(找到bool inmem_; 将前面的“//“去掉)

配置环境变量

mkdir /usr/local/JASPER

mkdir /usr/local/JASPER/lib

mkdir /usr/local/JASPER/include

cp -r /usr/local/zlib/lib/* /usr/local/JASPER/lib

cp -r /usr/local/libpng/lib/* /usr/local/JASPER/lib

cp -r /usr/local/jasper/lib/* /usr/local/JASPER/lib

cp -r /usr/local/zlib/include/* /usr/local/JASPER/include

cp -r /usr/local/libpng/include/* /usr/local/JASPER/include

cp -r /usr/local/jasper/include/* /usr/local/JASPER/include

gedit ~/.bashrc

在最后添加下面路径指向:

#for zlib

export ZLIB_HOME=/usr/local/zlib

export LD_LIBRARY_PATH=$ZLIB_HOME/lib:$LD_LIBRARY_PATH

#for libpng

export ZLIB_HOME=/usr/local/libpng

export LIBPNGLIB=/usr/local/libpng/lib

export LIBPNGINC=/usr/local/libpng/include

#set JASPER

export JASPER=/usr/local/JASPER

export JASPERLIB=/usr/local/JASPER/lib

export JASPERINC=/usr/local/JASPER/include

保存后退出

source ~/.bashrc

要是保存不了,就 chmod 修改一下你的权限吧

(JASPER的两个文件夹下分别有15个和7个文件)

安装配置hdf5

tar-xf hdf5-1.8.18.tar -C /usr/local/src

cd /usr/local/src/hdf5-1.8.18

./configure --prefix=/usr/local/HDF5 --with-zlib=/usr/local/zlib

make (会有很多警告,但是不影响)

make check

make install

make check-install

时间稍长

gedit ~/.bashrc

在最后添加下面:

# for hdf5

export CPPFLAGS=-I$PRO_PATH/usr/local/HDF5/include

export LDFLAGS=-L$PRO_PATH/usr/local/HDF5/lib

export LD_LIBRARY_PATH=$PRO_PATH/usr/local/HDF5/lib

保存后退出。

source ~/.bashrc

安装NetCDF-C

tar -zxf netcdf-c-4.4.1.tar.gz -C /usr/local/src

cd /usr/local/src/netcdf-c-4.4.1/

export CPPFLAGS=-I/usr/local/HDF5/include

export LDFLAGS=-L/usr/local/HDF5/lib

export LD_LIBRARY_PATH=$/usr/local/HDF5/lib

./configure --prefix=/usr/local/NETCDF --disable-netcdf-4

make

make check

make install

然后安装好。

安装NetCDF -fortran

tar -xzf netcdf-fortran-4.4.4.tar.gz -C /usr/local/src

cd /usr/local/src/netcdf-fortran-4.4.4/

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/NETCDF/lib

export CPPFLAGS=-I/usr/local/NETCDF/include

export LDFLAGS=-L/usr/local/NETCDF/lib

./configure --prefix=/usr/local/NETCDF FC=gfortran

make

make check

make install

接着设置环境变量

gedit ~/.bashrc

在最后添加下列语句:

#for netcdf

export PATH=/usr/local/NETCDF/bin:$PATH

export LD_LIBRARY_PATH=/usr/local/NETCDF/lib:$LD_LIBRARY_PATH

保存后退出

source ~/.bashrc

安装NCL

mkdir /usr/local/ncarg

tar -zxf ncl_ncarg-6.4.0.Linux_Debian8.6_x86_64_gnu492.tar.gz -C /usr/local/ncarg/

cd /usr/local/ncarg

gedit ~/.bashrc

在最后添加下列语句:

#for ncarg

Export NCARG_ROOT=/usr/local/ncarg

Export PATH=$NCARG_ROOT/bin:$PATH

Export MANPATH=$NCARG_ROOT/man:$MANPATH

Export DISPLAY=:0.0

export WRFIO_NCD_LARGE_FILE_SUPPORT=1(这一句用于WRF输出大数据)

保存后退出

source ~/.bashrc

检验NCL是否成功安装,新终端输入:

ncargversion

安装wgrib2

cd /usr/local

tar –zxvf wgrib2.tgz

cd grib2

export CC=gcc

export FC=gfortran

make

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

安装WRF

mkdir /home/yourname/model/

gedit ~/.bashrc

# for WRF

export JASPERLIB=/usr/local/JASPER/lib

export JASPERINC=/usr/local/JASPER/include

export NETCDF=/usr/local/NETCDF

source ~/.bashrc

tar -xzf WRFV3.9.1.1.TAR.gz -C /home/yourname/models

这时在/model出现了WRFV3的文件,进入WRFV3里面的arch文件夹,找到Config_new.pl文件,打开后,找到下面这句并做如下修改:

$I_really_want_to_output_grib2_from_WRF= "TRUE" ;

对应下面几行,找到并修改:

$sw_jasperlib_path= "/usr/local/JASPER/lib";

$sw_jasperinc_path= "/usr/local/JASPER/include";

保存后退出。

cd /home/yourname/models/WRFV3/

./configure

选择gcc、gfortran、serial那一行(第32项),输入:32,回车

在arch文件夹里面找到configure_new.defaults,打开,找到这一部分

#ARCH   x86_64 Linux, gfortran compiler withgcc  #serial smpar dmpar dm+sm

找到下面几行,做如下修改:

FORMAT_FIXED  =       -ffixed-form -cpp

FORMAT_FREE   =       -ffree-form -cpp -ffree-line-length-none

保存后退出。

在WRFV3目录下找到configure.wrf文件并打开,做如下修改:(同上)

FORMAT_FIXED  =       -ffixed-form -cpp

FORMAT_FREE   =       -ffree-form -cpp -ffree-line-length-none

保存后退出。

./compile em_real >&checkwrf.log

ls -ls main/*.exe

查看 main目录下若有 ndwon.exe\real.exe\wrf.exe\tc.exe,编译成功。若未编译成功,在 checkwrf.log中查看是否有 error,修正 error后,用./clean -a清除前次编译后,重新编译。

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

安装KPP

chongzika,如果您要查看本帖隐藏内容请回复

Flex

mkdir /usr/local/flex

cd /usr/local/flex

tar -xzf flex.tar.gz

cd flex-2.5.3

./configure --prefix=/usr/local/flex

make

make install

Yacc:

gzip -d byacc.1.9.tar.Z

mkdir /usr/local/yacc

tar -xf byacc.1.9.tar -C /usr/local/yacc

make

gedit ~/.bashrc

# for chem

export WRF_CHEM=1 (编译 WRF_Chem)

export WRF_KPP=1(安装 KPP,0 表示不安装 KPP,若不安装 KPP,下面的环境变量不需要设置)

export PATH=/usr/local/yacc:$PATH

export PATH=/usr/local/flex/bin:$PATH

export YACC='/usr/local/yacc/yacc -d'

export FLEX=/usr/local/flex/bin/flex

export FLEX_LIB_DIR=/usr/local/flex/lib

source ~/.bashrc

设置前利用 which flex 和 which yacc 查一下系统原来是否安装有 flex/yacc 其它版本。如果有,必须在 PATH 路径中加入自己安装的 flex/yacc 执行程序路径,如上面标黄部分所示。

WRF-Chem

tar –xzf WRFV3-Chem-3.9.1.TAR.gz -C /home/yourname/models/WRFV3

打开WRF-Chem下的arch文件夹,找到Config_new.pl,打开并做如下修改:(同WRF)

$I_really_want_to_output_grib2_from_WRF = "TRUE" ;

对应下面几行,找到并修改:

$sw_jasperlib_path = "/usr/local/JASPER/lib";

$sw_jasperinc_path = "/usr/local/JASPER/include";

保存后退出。

cd /home/yourname/models/WRFV3

./clean -a (删除以前的 WRF 编译)

./configure

./compileem_real >&checkwrf.log

ls -ls main/*.exe

查看 main 目录下若有 ndwon.exe\real.exe\wrf.exe\tc.exe,编译成功

若未编译成功,在 checkwrf.log 中查看是否有 error,修正 error 后,用./clean -a 清除前次编译后,重新编译.

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

安装WPS

WRFV3 和WPS 必须在同一个父目录下。

tar -xzf WPSV3.9.1.1.TAR.gz -C /home/yourname/models/

cd /home/yourname/models/WPS

打开WPS下的arch文件夹,找到configure.defaults,打开,找到这一部分:

#ARCH    Linux x86_64, gfortran  # serial serial_NO_GRIB2 dmpardmpar_NO_GRIB2

在这部分里面做如下修改:

COMPRESSION_LIBS   = -L/usr/local/JASPER/lib -ljasper -lpng -lpng16 -lz

COMPRESSION_INC = -I/usr/local/JASPER/include

FFLAGS      =-ffree-form -cpp -O-fconvert=big-endian-frecord-marker=4

F77FLAGS    =-ffixed-form -cpp -O -fconvert=big-endian-frecord-marker=4

保存后退出。

找到preamble文件,打开做如下修改:

WRF_DIR = /home/yourname/model/WRFV3

编辑环境信息

gedit ~/.bashrc

# for WPS

export JASPERLIB=/usr/local/JASPER/lib

export JASPERINC=/usr/local/JASPER/include

export LD_LIBRARY_PATH=/usr/local/jasper/lib:$LD_LIBRARY_PATH

export LD_LIBRARY_PATH=/usr/local/libpng/lib:$LD_LIBRARY_PATH

export LD_LIBRARY_PATH=/usr/local/zlib/lib:$LD_LIBRARY_PATH

source ~/.bashrc

./configure

./compile > checkwps.log

ls -ls *.exe

检查当前目录中/home/models/WPS是否有名为geogrid.exe\ungrib.exe\metgrid.exe的链接文件,若有,编译成功。

ls -ls util/*.exe

检查当前目录中是否有如下exe,编译成功:

avg_tsfc.exe g1print.exeheight_ukmo.exe mod_levs.exe

calc_ecmwf_p.exeg2print.exe int2nc.exe rd_intermediate.exe

若未编译成功,在checkwps.log 中查看是否有error,修正error 后,用./clean-a清除前次编译后,重新编译。

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

安装WRFDA

打开WRFDA下的arch文件夹,找到Config_new.pl,打开并做如下修改: $I_really_want_to_output_grib2_from_WRF = "TRUE" ;

对应下面几行,找到并修改:

$sw_jasperlib_path = "/usr/local/JASPER/lib";

$sw_jasperinc_path = "/usr/local/JASPER/include";

保存后退出。

终端输入:

cd /home/yourname/model/WRFDA

./configure wrfda

选择gcc、gfortran、serial那一行(第32项),输入:32,回车

gedit configure.wrf

做如下修改:

FORMAT_FIXED   =      -ffixed-form -cpp

FORMAT_FREE    =      -ffree-form -cpp-ffree-line-length-none

保存后退出。

./compile all_wrfvar >&checkwrfda.log

cd var/build

ls *.exe

看看有没有da_wrfvar.exe文件,并且全部可执行文件不显示红色,那么WRFDA安装成功。

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

安装WRFDomainWizard

首先安装java

1.官网下载JDK

2.解压缩,放到指定目录

sudo mkdir/usr/lib/jvm

sudo tar -zxvf  jdk-7u79-linux-x64.tar.gz -C /usr/lib/jvm

3.修改环境变量:

sudo gedit ~/.bashrc

文件的末尾追加下面内容:

#set oracle jdkenvironment

export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_60  ## 这里要注意目录要换成自己解压的jdk 目录

export JRE_HOME=${JAVA_HOME}/jre  

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH  

使环境变量马上生效

source ~/.bashrc

4.设置系统默认jdk 版本

sudo update-alternatives --install /usr/bin/java java/usr/lib/jvm/jdk1.7.0_79/bin/java 300  

sudo update-alternatives --install /usr/bin/javac javac/usr/lib/jvm/jdk1.7.0_79/bin/javac 300  

sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.7.0_79/bin/jar300   

sudo update-alternatives --install /usr/bin/javah javah/usr/lib/jvm/jdk1.7.0_79/bin/javah 300   

sudo update-alternatives --install /usr/bin/javap javap/usr/lib/jvm/jdk1.7.0_79/bin/javap 300   

然后执行:

sudo update-alternatives--config java

若是初次安装jdk,会有下面的提示

There is only one alternative in link group java (providing/usr/bin/java):

/usr/lib/jvm/jdk1.7.0_60/bin/java

否者,选择合适的jdk

5.测试jdk

java –version

然后安装WRFDomainWizard

解压WRFDomainWizard.zip到/home/yourname/model下

终端输入:

cd /home/yourname/model/WRFDomainWizard

chmod +x run_DomainWizard

./run_DomainWizard

这样就出来一个图形界面 (你已经完全成功了)

感觉代码写的时候没啥事,到网页上之后,会有空格被吃掉的情况,大家一定要注意!!

# 运行

https://github.com/toberumono/WRF-Runner

# 其他练习

[Brian_Blaylock](http://home.chpc.utah.edu/~u0553130/Brian_Blaylock/wrf.html)


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,132评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,802评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,566评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,858评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,867评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,695评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,064评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,705评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,915评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,677评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,796评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,432评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,041评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,992评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,223评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,185评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,535评论 2 343

推荐阅读更多精彩内容