总是以忙为借口,断更了几个月,随着各个专栏催更的朋友越来越多,感觉再不更新有点对不住大家,所以以后每周多多少少写点笔记吧,也算是对自己的督促。今天先把以前的存货整理整理放上来凑个数。

CESM和GEOS-Chem的模式工作流都写了,WRF-Chem也该闪亮登场了,嘿嘿。

简介:

参考资料:

WRF-chem官网:WRF-Chem

WRF官网:http://www2.mmm.ucar.edu/wrf/users

相关下载链接:

http://www2.mmm.ucar.edu/wrf/users/download/get_sources.html

常用模块:

WPS(WRF Preprocessing System):WRF预处理系统,用来为WRF模型准备输入数据;如果是理想实验则不需要WPS来处理真实数据。

WRF:WRF是数值求解的模块,有两个版本:ARW(advanced Research WRF)和NMM(Nonhydrostatic Mesoscale Model)。通常使用ARW。

附加模块:

WRFDA:用于数据同化

WRF-Chem:用于化学传输

WRF-Plus:包括了WRF-Adjoint等


模式安装:

源文件下载及安装(WRFV3、WPS以及可选的 WRFDA、WRF-chem等)

库函数安装和环境变量配置(Fortran、MPI、 Jasper、libPNG、Zlib、 Netcdf、NCL等) 

1. 下载:参考篇头的网站

共三个文件:WPSV4.0.TAR.gz   WRF-ChemV4.0.TAR.gz  WRFV4.0.TAR.gz

注意:老版本中解压完WRF-Chem要把chem手动放进WRF中,4.0新版本好像不需要。

解压:tar –xzvf *.tar.gz

2. 环境准备

1)Linux系统

2)Zlib库

3)Hdf5库

4)netcdf-c与netcdf-fortran安装(重要)

3. 编译:

WPS编译

./clean

编译有问题修改configure.wps

可参考的链接:用WRF模型进行气象模拟入门(1)——简介以及代码编译 - xg1990

./clean –a

./configure

选对应服务器的设置:比如我自己的一般是选: Linux x86_64, Intel compiler    (dmpar)

这步如果未选对,可能ungrib.exe无法正常生成

serial: 串行计算

dmpar: 分布式并行计算(distributed memory option),即使用openMP,大部分多核电脑都支持这项功能

smpar: 内存共享并行计算(shared memory option),即使用MPI进行并行计算,主要用在计算集群

./compile em_real >& log &或者nohup ./compile em_real >& log &

这步会用到configure生成的configure.wps, 需要把该文件中的几个路径改对


资料前处理 (WPS,WRF Preprocessing System,理想模拟不需要)

1. 先设置namelist.wps,修改&share和&geogrid

参数设置参考:

科学网—WRFV3使用指南:WPS之geogrid.exe - 刘磊的博文 (sciencenet.cn)

​​​​​​科学网—WRFV3使用指南:WPS之metgrid.exe - 刘磊的博文 (sciencenet.cn)

科学网—WRFV3使用指南:WPS之ungrib.exe - 刘磊的博文 (sciencenet.cn)

提取地形资料生成静态文件(./geogrid.exe)

解压观测资料生成中间文件(./ungrib.exe)

以上二者水平插值生成初始资料(./metgrid.exe)


模式运行 (在WRFV3/run/目录下操作)

PS:在WRFV3下先复制run文件夹再进行操作(只要在此目录下完整复制run目录可以完整运行wrf.exe),如cp –rf ./run ./run_01,这样方便进行多次敏感性试验。

进入如上述的run_01文件夹后:

对初始资料垂直插值(./real.exe)

运行模式进行计算(./wrf.exe)

具体流程如下:

输入“vim namelist.input”设置时间、domain、参数化等(domain一定要与WPS一致!)

参数设置参考:

WRF user guide: WRF Users' Guide (ucar.edu)

WRF-Chem user guide: Users_guide.pdf (noaa.gov)

科学网—WRFV3使用指南:认识Vtable - 刘磊的博文 (sciencenet.cn)

科学网—WRFV3使用指南:云微物理参数化 - 刘磊的博文 (sciencenet.cn)

  1. “ln -s ../../WPS/met_em* .”  (把wps经过水平插值的文件链接过来)
  2. “./real.exe”或 “./real.exe >&log”(将输出保存到log文件中)

查看rsl.error.0000检查real.exe是否运行成功

此时namelist.input中的5,6,7对应为0,即关闭排放

或提交到tianhe为:“yhrun –n 28 –p debug ./real.exe”

yhrun为提交命令, 28为核数,debug为分区

./real.exe完成后,会

  1. 生成wrfinput_d0x 为初始场,每个 domain 一个
  2. 生成wrfbdy_d01 为边界场,仅 d01 有
  3. 接下来做三个排放(这里仅介绍流程,怎么做排放之后有空再单独写吧):

人为排放(anthropogenic emission):指人类生命活动产生的各种排放,包括有机和无机,常用的有EDGAR\MIX\MEIC。 关于排放源文件下载查看:

WRF-Chem笔记——相关数据下载网址链接- CSDN搜索

生物质排放(bio emission):指植物生命活动产生的排放,多为VOC类,常用MEGIN

生物质燃烧排放(biomass burning):指生物质燃烧包括秸秆燃烧和野火,常用FINN的卫星观测

人为排放

在/home/zjjiang/WRF/Large_emis/make_anth_emissions_step/下完成,

/make_anth_emissions_step_CBMZ(CBMZ机制)

具体步骤参见:

Generating Anthropogenic Emissions for WRF-Chem

User’s Guide for Generating Anthropogenic Emissions for WRF-Chem

生物质排放

在MEGAN下完成

进入.. /MEGAN/megan_code/目录下,

“vim megan_bio_emiss_2014.inp”,修改对应的domains,wrf_dir,起始月份和终止月份,(注意如果是1月,则设置应为start_lai_mnth=1, end_lai_mnth=12)等  

“ ./megan_bio_emiss <megan_bio_emiss_2014.inp”

生物质燃烧排放

在FINN下完成

进入../FINN/src/目录下,

“vim finn2wrf*.inp”,修改对应的domains,fire_filename,等  

“./fire_emis <finn2wrf*.inp”

使用combine*.m将单个文件合成大文件

  1. 三个排放文件做好之后,移动到/run_01/目录下,修改namelist.input中的5,6,7对应改为2, 即打开排放,然后第二次运行“./real.exe”(即重复操作)
  2. 做边界场

下载注意事项:
东西南北边界要覆盖住整个domain1

时间要覆盖住整个模拟时间,可以对应模拟时间前后加一天

在MOZBC下完成

进入.. /MOZBC/目录下,

“vim SAPRC_MOSAIC_4bins2.inp”,修改对应的domain,dir_wrf,等  

“./mozbc < SAPRC_MOSAIC_4bins2.inp”

注意使用对应化学机制的文件

注意化学机制需要和chem_opt对应上,如:CBMZ对应chem_opt=9

domain =1,2,3…… 从外到里修改进行边界场制作

注:自2022年3月,边界场文件从MOZART转到CAM-Chem, inp文件修改参考这篇:

https://blog.csdn.net/qq_27984679/article/details/124360384

运行模式进行积分计算

直接运行:“./wrf.exe”或 “./wrf.exe >&wrflog”(wrflog为输出日志)

Pbs作业提交系统:qsub wrf.pbs

对应修改wrf.pbs

关键行:mpirun -np 48 ./wrf.exe > log

或提交到超算比如tianhe为:“yhbatch –n 84 –p TH_HPC1 ./runwrf.sh”

  1. 会生成 wrfout_d0X_YYYY-MM-DD_00:00:00 等输出(每个 domain 一个)
  2. 看积分进程:vim rsl.error.0000
  3. 若要看实时进程:
  4. tail –f rsl.error.0000 (退出按ctrl+c即可)
  5. “vim rsl.error.0000”可以查看模式错误信息
  6. 若嫌输出文件太大,有的物理量又不需要,想改输出文件容量大小设置,可在积分前在WRFV3目录下进Registry目录修改 Registry.EM_COMMON 文件里的参数,h(history)表示会输出的变量,再重新编译!(初学者请勿进行此操作,此备注仅作为以后科研参考。

结果分析(NCL、RIP4、ARWpost+GrADS、ARWpost+Vis5D、VAPOR等)


这只是一个大概流程啦,细节的问题大家按自己的需要多多摸索吧~好久不跑我手也生了,所以大家看个热闹,别问我太难的问题,我答不上来。。。然后虽然断更了好久,但粉丝数量好像一直在涨,问问题的同学也多了不少,所以回复比较随机哈,没回的UU们见谅,很可能是我也不太会。。。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐