WRF模式的运行(三)

在第一篇、第二篇讲述了WRF模式的基础知识以及WRF模式前处理部分的运行。

本篇将讲述WRF模式的主模块的运行。首先得知道WRF主模块的namelist.input的参数意义。

&time_control(时间设置)
• run_days = 0, (运行时间(天))
• run_hours = 06, (时)
• run_minutes = 0, (分)
• run_seconds = 0, (秒)
• start_year = 2006, 2006, 2003, (起始年份)
• start_month = 08, 08, 07, (起始月份)
• start_day = 16, 16, 09, (起始日数)
• start_hour = 12, 12, 00, (起始小时)
• start_minute = 00, 00, 0, (起始分钟)
• start_second = 00, 00, 00, (起始秒数)
• interval_seconds = 21600 (前处理程序的两次分析时间之间的时间间隔)
• input_from_file = .true.,.true.,.false.,(嵌套初始场输入选项。嵌套时,指定嵌套网格是否用不同的初始场文件)
• history_interval = 180, 60, 60, (指定模式结果输出的时间间隔,以分钟为单位)
• frames_per_outfile = 1000, 1000, 1000, (选择所有时刻是输出到一个文件还是分开输出到单独的文件)
• restart = .false., (是否进行重行启动)
• restart_interval = 1440, (重起时间间隔)
• io_form_history = 2 (2 = NetCDF )
• io_form_restart = 2 (指定模式断点重启输出的格式, 2为netCDF格式)
• io_form_input = 2 (2 = NetCDF)
• io_form_boundary = 2 (指定模式边界条件数据的格式)


&domains(区域格点设置)
time_step = 180, (积分的时间步长,为整型数,单位为秒,在真实大气中推荐值为dx公里数的6倍)
time_step_fract_num = 0, (实数型时间步长的分子部分)
time_step_fract_den = 1, (实数型时间步长的分母部分)
max_dom = 2, (最大区域数)
s_we = 1, 1, 1, (x方向(西-东方向)的起始格点值 (通常为1))
e_we = 74, 112, 94, (x方向(西-东方向)的终止格点值 (通常为x方向的格点数))
s_sn = 1, 1, 1, (y方向(南-北方向)的起始格点值 (通常为1))
e_sn = 61, 97, 91, (y方向(南-北方向)的终止格点值 (通常为y方向的格点数)
s_vert = 1, 1, 1, (z方向(垂直方向)的起始格点值 )
e_vert = 28, 28, 28, (z方向(垂直方向)的终止格点值,即全垂直eta层的总层数。垂直
层数在各嵌套网格中必须保持一致 )
dx = 30000, 10000, 3333, (指定x方向的格距(单位为米)。在真实大气方案中,此参
数值必须与输入数据中的x方向格距一致)
dy = 30000, 10000, 3333, (指定y方向的格距(单位为米)。在真实大气方案中,此参
数值必须与输入数据中的x方向格距一致)
grid_id = 1, 2, 3, (计算区域的编号,一般是从1开始)
parent_id = 0, 1, 2, (嵌套网格的上一级网格(母网格)的编号,一般是从0开始)
p_top_requested= 5000 (模式顶气压)
num_metgrid_levels= 34 (启动数据的数据层数)
i_parent_start = 0, 31, 30, (嵌套网格的左下角(LLC)在上一级网格(母网格)中x方向的
起始位置)
j_parent_start = 0, 17, 30, (嵌套网格的左下角(LLC)在上一级网格(母网格)中y方向的
起始位置)
parent_grid_ratio = 1, 3, 3, (母网格相对于嵌套网格的水平网格比例)
parent_time_step_ratio = 1, 3, 3, (嵌套时,母网格相对于嵌套网格的时间步长比例)
feedback = 1, (嵌套时,嵌套网格向母网格得反馈作用。设置为0时,无反馈作用。而反馈
作用也只有在母网格和子网格的网格比例(parent_grid_ratio)为奇数时才起作用)
smooth_option = 0(向上一级网格(母网格)反馈的平滑选项,只有设置反馈选项为1时才起作用的)

&physics (物理过程参数化设置)
mp_physics = 3, 3, 3,
设置微物理过程方案,默认值为 0。
0 不采用微物理过程方案
1 Kessler 方案 (暖雨方案)
2 Lin 等的方案 (水汽、雨、雪、云水、冰、冰雹)
3 WSM 3类简单冰方案
4 WSM 5类方案
5 Ferrier(new Eta)微物理方案(水汽、云水)
6 WSM 6类冰雹方案
8 新Thompson的冰雹方案
98 NCEP 3类简冰方案 (水汽、云/冰和雨/雪)
99 NCEP 5类方案(水汽、雨、雪、云水和冰)

&physics(物理过程参数化设置)
ra_lw_physics = 1, 1, 1,
此选项指定长波辐射方案,默认值为 0。
0 不采用长波辐射方案
1 rrtm 方案
99 GFDL (Eta) 长波方案 (semi-supported)
ra_sw_physics = 1, 1, 1,
此选项指定短波辐射方案,默认值为 0。
0 不采用短波辐射方案
1 Dudhia 方案
2 Goddard 短波方案
99 GFDL (Eta) 短波方案 (semi-supported)
radt = 10, 10, 10, (此参数指定调用辐散物理
方案的时间间隔,默认值为 0, 单位为分钟。建议与dx的公里数取同样的值)


&physics(物理过程参数化设置)
sf_sfclay_physics = 1, 1, 1,
此选项指定近地面层(surface-layer)方案,默认值为 0。
0 不采用近地面层方案
1 Monin-Obukhov 方案
2 MYJ Monin-Obukhov 方案 (仅用于MYJ 边界层方案)
sf_surface_physics = 1, 1, 1,
此选项指定陆面过程方案,默认值为 0。
0 不采用陆面过程方案
1 热量扩散方案
2 Noah 陆面过程方案
3 RUC 陆面过程方案

&physics(物理过程参数化设置)
bl_pbl_physics = 1, 1, 1,
此选项指定边界层方案,默认值为 0
0 不采用边界层方案
1 YSU 方案
2 Eta Mellor-Yamada-Janjic TKE(湍流动能) 方案
3 NCEP Global Forecast System方案
99 MRF 方案
bldt = 0, 0, 0,
(此参数指定调用边界层物理方案的时间间隔,默认值为 0,单位为分钟。此参
数指定调用边界层物理方案的时间间隔,默认值为 0,单位为分钟。0 (推荐值)
表示每一个时间步长都调用边界层物理方案)

&physics(物理过程参数化设置)
cu_physics = 1, 1, 0,
此选项指定积云参数化方案,默认值为 0。
0 不采用积云参数化方案
1 浅对流Kain-Fritsch (new Eta)方案
2 Betts-Miller-Janjic 方案
3 Grell-Devenyi 集合方案
4 Simplified Arakawa-Schubert方案
99 老Kain-Fritsch 方案
cudt = 5, 5, 5,
(积云参数化方案的调用时间间隔,默认值为 0, 单位为分钟。 一般的积云参数
化方案是每一步都要调用,但如果是用Kain-Fritsch 方案(cu_physics=1),
则可以设cudt=5)

&physics(物理过程参数化设置)
isfflx = 1,
在选用扰动边界层和陆面物理过程时(sf_sfclay_physics = 1)是否考虑地面热
量和水汽通量,默认值为1。
0 不考虑地面通量
1 考虑地面通量
ifsnow = 0,
是否考虑雪盖效应。考虑雪盖效应时,必须要有雪盖输入场。默认值为0,只有
在利用扰动边界层PBL预报土壤温度时才有效,即sf_surface_physics = 1。
0 不考虑雪盖效应
1 考虑雪盖效应
&physics(物理过程参数化设置)
icloud = 1,
辐射光学厚度中是否考虑云的影响,默认值为1。仅当ra_sw_physics = 1 和
ra_lw_physics = 1时有效。
0 不考虑云的影响
1 考虑云的影响
surface_input_source = 1,
1 SI/gridgen(由SI的gridgen_model.exe程序产生)
土地利用类型和土壤类型数据的来源格式,默认值为1。
2 其他模式产生的GRIB码数据(VEGCAT/SOILCAT 数据)


&physics(物理过程参数化设置)
num_soil_layers = 5,
指定陆面模式中的土壤层数,默认值为5
5 热量扩散方案
4 Noah 陆面过程方案
6 RUC 陆面过程方案

&dfi_control(数字滤波初始化设置)
dfi_opt = 3, (指定数字滤波类型)
dfi_nfilter = 7,(指定所采用的数字滤波器)


&dynamics(动力框架参数设置)
hybrid_opt = 0, (地形跟随垂直坐标系)
hybrid_opt = 2, (混合垂直坐标系)


 以上是整个namelist.input的说明。在运行real部分之前需要对namelist.input进行修改。修改的主要内容是时间、区域设置、层数、物理参数化方案等。其中时间、区域设置必须和namelist.wps设置一样。

以下是我本人在模式上一篇文章提到的天气过程时候设置情况:

&time_control
 run_days                            = 0,
 run_hours                           = 6,
 run_minutes                         = 0,
 run_seconds                         = 0,
 start_year                          = 2019, 2000, 2000,
 start_month                         = 08,   01,   01,
 start_day                           = 07 ,   24,   24,
 start_hour                          = 18 ,   12,   12,
 end_year                            = 2019, 2000, 2000,
 end_month                           = 08,   01,   01,
 end_day                             = 08,   25,   25,
 end_hour                            = 00,   12,   12,
 interval_seconds                    = 21600
 input_from_file                     = .true.,.true.,.true.,
 history_interval                    = 360,  60,   60,
 frames_per_outfile                  = 1, 1000, 1000,
 restart                             = .false.,
 restart_interval                    = 7200,
 io_form_history                     = 2
 io_form_restart                     = 2
 io_form_input                       = 2
 io_form_boundary                    = 2
 /

 &domains
 time_step                           = 40,
 time_step_fract_num                 = 0,
 time_step_fract_den                 = 1,
 max_dom                             = 1,
 e_we                                = 721,    112,   94,
 e_sn                                = 541,    97,    91,
 e_vert                              = 33,    33,    33,
 p_top_requested                     = 5000,
 num_metgrid_levels                  = 48,
 num_metgrid_soil_levels             = 4,
 dx                                  = 9000,
 dy                                  = 9000,
 grid_id                             = 1,     2,     3,
grid_id                             = 1,     2,     3,
 parent_id                           = 0,     1,     2,
 i_parent_start                      = 1,     31,    30,
 j_parent_start                      = 1,     17,    30,
 parent_grid_ratio                   = 1,     3,     3,
 parent_time_step_ratio              = 1,     3,     3,
 feedback                            = 1,
 smooth_option                       = 0
 /

 &physics
 mp_physics                          = 6,    -1,    -1,
 cu_physics                          = 6,    -1,     0,
 ra_lw_physics                       = 4,    -1,    -1,
 ra_sw_physics                       = 4,    -1,    -1,
 bl_pbl_physics                      = 1,    -1,    -1,
 sf_sfclay_physics                   = 1,    -1,    -1,
 sf_surface_physics                  = 2,    -1,    -1,
 radt                                = 30,    30,    30,
 bldt                                = 0,     0,     0,
 cudt                                = 5,     5,     5,
 icloud                              = 1,
 num_land_cat                        = 21,
 sf_urban_physics                    = 0,     0,     0,
 /

 &fdda
 /

 &dynamics
 hybrid_opt                          = 2,
 w_damping                           = 0,
 diff_opt                            = 1,      1,      1,
 km_opt                              = 4,      4,      4,
 diff_6th_opt                        = 0,      0,      0,
 diff_6th_factor                     = 0.12,   0.12,   0.12,
 base_temp                           = 290.
 damp_opt                            = 3,
 zdamp                               = 5000.,  5000.,  5000.,
 dampcoef                            = 0.2,    0.2,    0.2
 khdif                               = 0,      0,      0,
 kvdif                               = 0,      0,      0,
 non_hydrostatic                     = .true., .true., .true.,
 moist_adv_opt                       = 1,      1,      1,
 scalar_adv_opt                      = 1,      1,      1,
 gwd_opt                             = 1,      1,      0,
 /

 &bdy_control
 spec_bdy_width                      = 5,
 specified                           = .true.
 /

 &grib2
 /

 &namelist_quilt
 nio_tasks_per_group = 0,
 nio_groups = 1,

namelist.input设置完成后,需要将在wps部分生成的met文件链接到wrf的目录下,命令如下:

ln -sf /met文件所在的目录/met* .

链接成功后可以执行real部分的运行。此处不建议在前台单核运行,若在大型机上运行可以提交作业脚本的形式,若是在自己的电脑上运行 可以使用 mpirun -4 -np 核数根据自己的电脑进行选择。

本人在该处是在大型机上运行所以使用的是作业脚本提交的方式。

脚本如下:

#!/bin/bash
#BSUB -J 0718_ysf                       ### set the job Name
#BSUB -m node1                          ### select the node
#BSUB -n 20                             ### ask for number of cores (default: 1)
#BSUB -W 40:00                          ### set walltime limit: hh:mm
#BSUB -o %J.out                         ### Specify the output and error file. %J is the job-id 
#BSUB -e %J.err                         ### -o and -e mean append, -oo and -eo mean overwrite 

# here follow the commands you want to execute

## This uses the LSB_DJOB_NUMPROC to assign all the cores reserved
### This is a very basic syntax. For more complex examples, see the documentation

echo $LSB_DJOB_NUMPROC
mpirun -np $LSB_DJOB_NUMPROC  ./real.exe

提交脚本后 等待运行结束可以查看rsl.error.0000文件查看运行结果。若成功会出现successful real

若失败 会进行报错。成功会生成wrfbdy以及wrfinput文件

之后运行wrf.exe。同样此处不建议在前台单核运行,建议并行运算。方式参照real部分。

本次本人继续选择脚本提交的方式

#!/bin/bash
#BSUB -J 0718_ysf                       ### set the job Name
#BSUB -m node1                          ### select the node
#BSUB -n 20                             ### ask for number of cores (default: 1)
#BSUB -W 40:00                          ### set walltime limit: hh:mm
#BSUB -o %J.out                         ### Specify the output and error file. %J is the job-id 
#BSUB -e %J.err                         ### -o and -e mean append, -oo and -eo mean overwrite 

# here follow the commands you want to execute

## This uses the LSB_DJOB_NUMPROC to assign all the cores reserved
### This is a very basic syntax. For more complex examples, see the documentation

echo $LSB_DJOB_NUMPROC
mpirun -np $LSB_DJOB_NUMPROC  ./wrf.exe

 提交作业后,待运行结束。可以查看rsl.error.0000 如成功会出现successful wrf!!! 否则会出现报错,并进行相应的修改。成功后同时会出现wrfout文件。如下

到处整个WRF模式部分已经结束。

接下来可以使用python,NCL grads等进行wrf模式后处理。 

  • 10
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个WRF模拟em_real中namelist.input的样例,其中包含了全球等经纬度投影和0.25度的分辨率配置: ``` &time_control run_days = 0, run_hours = 12, run_minutes = 0, run_seconds = 0, start_year = 2021, 2021, 2021, start_month = 07, 07, 07, start_day = 13, 14, 15, start_hour = 12, 12, 12, start_minute = 00, 00, 00, start_second = 00, 00, 00, end_year = 2021, 2021, 2021, end_month = 07, 07, 07, end_day = 14, 15, 16, end_hour = 00, 00, 00, end_minute = 00, 00, 00, end_second = 00, 00, 00, interval_seconds = 21600 input_from_file = .true.,.true.,.true., history_interval = 60, 60, 60, frames_per_outfile = 1, 1, 1, restart = .false., restart_interval = 5000, io_form_history = 2 io_form_restart = 2 io_form_input = 2 io_form_boundary = 2 debug_level = 0 / &domains time_step = 300, time_step_fract_num = 0, time_step_fract_den = 1, max_dom = 1, e_we = 1440, e_sn = 721, e_vert = 31, p_top_requested = 5000, num_metgrid_levels = 32, num_metgrid_soil_levels = 4, dx = 0.25, dy = 0.25, grid_id = 1, parent_id = 0, i_parent_start = 1, j_parent_start = 1, parent_grid_ratio = 1, parent_time_step_ratio = 1, feedback = 1, smooth_option = 0 / &physics mp_physics = 3, ra_lw_physics = 1, ra_sw_physics = 1, radt = 30, sf_sfclay_physics = 1, sf_surface_physics = 2, bl_pbl_physics = 1, bldt = 0, cu_physics = 1, cudt = 5, isfflx = 1, ifsnow = 0, icloud = 1, surface_input_source = 1, num_soil_layers = 4, sf_urban_physics = 0, maxiens = 1, maxens = 3, maxens2 = 3, maxens3 = 16, ensdim = 144, / &fdda / &dynamics w_damping = 0, diff_opt = 1, km_opt = 4, diff_6th_opt = 0, diff_6th_factor = 0.12, base_temp = 290. damp_opt = 0, zdamp = 5000., 5000., 5000., dampcoef = 0.2, 0.2, 0.2, khdif = 0, 0, 0, kvdif = 0, 0, 0, non_hydrostatic = .true., moist_adv_opt = 1, scalar_adv_opt = 1, / &bdy_control spec_bdy_width = 5, spec_zone = 1, relax_zone = 4, specified = .true., .false.,.false., nested = .false.,.true., .true., / &grib2 / &namelist_quilt nio_tasks_per_group = 0, nio_groups = 1, / ``` 注意,这只是一个样例,具体配置可能需要根据你的模拟需求进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值