WRF嵌套网格设计 以北京地区为例

本文详细介绍了如何利用美国1度天气预报数据,通过嵌套域设计实现北京市及其周边区域的精细化天气预报。包括下载特定分辨率的数据文件,设置多级嵌套区域(D01、D02、D03)进行逐级细化分析,以及调整WPS目录下的namelist.wps和WRFV3/test/em_real/namelist.input文件以匹配预报需求。通过NCL工具可视化域设计,最终实现对特定地理区域的高精度天气预报。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      我通常是先根据数值天气预报的“分辨率”和要观察的经纬度范围来设计。

1、数值天气预报:

     美国数值天气预报提供分辨率为1度、0.5度、1.5度的等等。     欧洲天气预报提供分辨率为0.125度、0.25度的等等。   当然是选择分辨率越小的数值天气预报越好,但这样做下载数据文件会很大。

   本例子中采用美国1度的数值天气预报。(在http://motherlode.ucar.edu/native/grid/NCEP/GFS/Global_onedeg/ 中下载,本例子中下载 GFS_Global_onedeg_20110815_0000.grib2 文件)。

2、嵌套域设计(例子中采用降尺度1:3:3):

假设:北京市的中心经纬度点:116.39,39.92
D03域:取2度的正方形,范围:(117-115,39-41),则需要相当于D01的2格的大小。
D02域:在D03域上下左右各留出2度(相当于D01的2格)。
D01域:在D02域上下左右各留出1度(相当于D01的1格)。
这样:
 D01:高和宽为10度,共10个格。
D02:高和宽为 6度,共6*3+1=19个格。
D03:高和宽为 2度,共3*3*2+1=19个格。
3、修改WPS目录下的namelist.wps

&share
 wrf_core = 'ARW',
 max_dom = 3,
 start_date = '2011-08-15_00:00:00','2011-08-15_00:00:00','2011-08-15_00:00:00',
 end_date   = '2011-08-16_00:00:00','2011-08-16_00:00:00','2011-08-16_00:00:00',
 interval_seconds = 10800
 io_form_geogrid = 2,
/

&geogrid
 parent_id         =   1,   1,    2,
 parent_grid_ratio =   1,   3,    3,
 i_parent_start    =   1,  2,    2,
 j_parent_start    =   1,  2,    2,
 e_we              =  10,  16,    19,
 e_sn              =  10,  16,    19,
 geog_data_res     = '10m','2m',  '30s',
 dx = 80000,
 dy = 80000,
 map_proj = 'lambert',
 ref_lat   =  39.92,
 ref_lon   = 116.39,
 truelat1  =  30.0,
 truelat2  =  60.0,
 stand_lon = 116.39,
 geog_data_path = '/software/geog'
/

&ungrib
 out_format = 'WPS',
 prefix = 'FILE',
/

&metgrid
 fg_name = 'FILE'
 io_form_metgrid = 2,
/

4、修改WRFV3/test/em_real/namelist.input

 &time_control
 run_days                            = 0,
 run_hours                           = 24,
 run_minutes                         = 0,
 run_seconds                         = 0,
 start_year                          = 2011,2011,2011,
 start_month                         = 08,08,08,
 start_day                           = 15,15,15,
 start_hour                          = 00,00,00,
 start_minute                        = 00,00,00,
 start_second                        = 00,00,00,
 end_year                            = 2011,2011,2011,
 end_month                           = 08,08,08,
 end_day                             = 16,16,16,
 end_hour                            = 00,00,00,
 end_minute                          = 00,00,00,
 end_second                          = 00,00,00,
 interval_seconds                    = 10800
 input_from_file                     = .true.,.true.,.true.,
 history_interval                    = 180, 15, 10,  
 frames_per_outfile                  = 1000, 1000, 1000,
 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                           = 180,
 time_step_fract_num                 = 0,
 time_step_fract_den                 = 1,
 max_dom                             = 3,
 e_we                                =  10,  16,    19,
 e_sn                                =  10,  16,    19,
 e_vert                              = 28,    28,    28, 
 p_top_requested                     = 5000,
 num_metgrid_levels                  = 27,
 num_metgrid_soil_levels             = 4,
 dx                                  = 80000, 26666.6,  8888.8,
 dy                                  = 80000, 26666.6,  8888.8,
 grid_id                             = 1,     2,     3,
 parent_id                           = 0,     1,     2,
 i_parent_start                      = 1,  2,    2,
 j_parent_start                      = 1,  2,    2,
 parent_grid_ratio                   = 1,     3,     3,
 parent_time_step_ratio              = 1,     3,     3,
 feedback                            = 1,
 smooth_option                       = 0
 /
 
 &physics
 mp_physics                          = 3,     3,     3, 
 ra_lw_physics                       = 1,     1,     1, 
 ra_sw_physics                       = 1,     1,     1,  
 radt                                = 10,    10,    10,
 sf_sfclay_physics                   = 1,     1,     1,   
 sf_surface_physics                  = 2,     2,     2,
 bl_pbl_physics                      = 1,     1,     1, 
 bldt                                = 0,     0,     0, 
 cu_physics                          = 1,     1,     1,  
 cudt                                = 5,     5,     5,  
 isfflx                              = 1,
 ifsnow                              = 0,
 icloud                              = 1,
 surface_input_source                = 1,
 num_soil_layers                     = 4,
 sf_urban_physics                    = 0,     0,     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,      0,      0,
 diff_6th_factor                     = 0.12,   0.12,   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., .true., .true., 
 moist_adv_opt                       = 1,      1,      1,  
 scalar_adv_opt                      = 1,      1,      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,
 /

 

5、用NCL查看域设计:[也可以可视化地修改域设计]

 

用ncl工具查看:

执行命令: ncl wrf_wps_show_domain_namelist.ncl

ncl的wrf_wps_show_domain_namelist.ncl 可以在http://www.mmm.ucar.edu/wrf/OnLineTutorial/Graphics/NCL/NCL_examples.htm 下载,只需修改wrf_wps_show_domain_namelist.ncl 文件中的;

      #read the following namelist file
      filename = "/software/WPS/namelist.wps"  #这里输入你的namelist.wps文件路径。

展示图如下:


 

### WRF模型中嵌套网格设计与配置 WRF(Weather Research and Forecasting Model)是一种广泛应用于大气科学研究中的数值天气预报工具。其嵌套网格功能允许在一个较大的父内定义多个子,从而实现不同分辨率下的精细化模拟[^1]。 #### 设计嵌套网格的关键要素 在设计嵌套网格时,需考虑以下几个方面: - **空间范围**:确定父和各子的空间覆盖范围。通常情况下,父应完全包含所有子。 - **水平分辨率**:设置每个的格点间距。一般而言,子的分辨率高于父,以便捕捉局部现象的更多细节[^2]。 - **时间步长比**:由于计算效率的原因,子的时间步长通常是父的一个整数倍关系。 - **边界条件更新频率**:指定子从父获取最新边界的间隔时间。 #### 使用QGIS设计嵌套网格 一种直观便捷的方式是借助地理信息系统软件QGIS来规划嵌套网格布局。通过加载地图底图并叠加目标区轮廓线,能够精确调整各个的位置及其相互之间的相对位置。 #### 应用Panoply处理NetCDF文件 对于已经完成初步设定但仍需微调的情况,可运用NCAR开发的数据可视化工具Panoply打开由geogrid程序生成的geo_em.d*类型的NetCDF格式输入数据集,在图形界面下查看实际效果并对某些参数做最后修正。 #### 配置脚本编写指南 当上述准备工作完成后,就需要编辑namelist.input文件以正式确立整个模式体系架构的各项具体属性值了。这部分工作涉及到众多选项开关的选择以及初始猜测场、侧向强迫等资料源路径的确立等问题[^3]。 ```bash &share wrf_core = 'ARW', max_dom = 2, start_date = '2023-01-01_00:00:00','2023-01-01_00:00:00', interval_seconds = 21600 / &domains e_we = 80, 120, e_sn = 80, 120, dx = 9000, 3000, dy = 9000, 3000, grid_id = 1, 2, parent_id = 0, 1, i_parent_start = 1, 25, j_parent_start = 1, 25, parent_grid_ratio = 1, 3, time_step = 120, 40, time_step_fract_num = 0, 0, time_step_fract_den = 0, 0 / ``` 此段代码片段展示了如何为双层嵌套结构制定基本框架参数表项。 #### 结合其他模型增强表现能力 值得注意的是,除了单独使用外,还可以探索与其他专门领内的高级物理过程描述模块相结合的可能性,比如城市冠层模式(PALM),这样可以获得更加全面深入的认识视角[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值