专栏首页气象杂货铺WRF模式之个例模拟

WRF模式之个例模拟

WPS只是WRF运用实际数据模拟的准备过程,这就好比开车要先上车。讲完前处理过程之后 WRF模式之WPS的配置运行,就要开始模拟了。

模拟之前同样需要设置参数,这里的参数通过 namelist.input 文件控制,常规的 namelist.input 文件内容如下:

&time_control
 run_days                            = 1,
 run_hours                           = 0,
 run_minutes                         = 0,
 run_seconds                         = 0,
 start_year                          = 2015, 2015, 
 start_month                         = 10, 10, 
 start_day                           = 04, 04,
 start_hour                          = 00, 00,
 start_minute                        = 00, 00,
 start_second                        = 00, 00,
 end_year                            = 2015, 2015,
 end_month                           = 10, 10,
 end_day                             = 05, 05,
 end_hour                            = 00, 00,
 end_minute                          = 00, 00,
 end_second                          = 00, 00,
 interval_seconds                    = 21600
 input_from_file                     = .true.,.true.,
 history_interval                    = 10,   5,  # 表示多长时间输出一次结果
 frames_per_outfile                  = 36,  36,  # 表示多少个结果输出到一个文件
 restart                             = .false.,
 restart_interval                    = 360,
 io_form_history                     = 2
 io_form_restart                     = 2
 io_form_input                       = 2
 io_form_boundary                    = 2
 debug_level                         = 10
 /

 &domains
 time_step                           = 45,
 time_step_fract_num                 = 0,
 time_step_fract_den                 = 1,
 max_dom                             = 2,
 s_we                                = 1,     1, 
 e_we                                = 241,   424,
 s_sn                                = 1,     1, 
 e_sn                                = 220,   421,
 s_vert                              = 1,     1, 
 e_vert                              =  48,    48, 
 sfcp_to_sfcp                        = .false.
 dx                                  = 9000,   3000,
 dy                                  = 9000,   3000, 
 grid_id                             = 1,     2, 
 parent_id                           = 0,     1, 
 i_parent_start                      = 0,    50,
 j_parent_start                      = 0,    40, 
 parent_grid_ratio                   = 1,    3, 
 parent_time_step_ratio              = 1,    3, 
 feedback                            = 0,
 smooth_option                       = 1,
 num_metgrid_levels                  = 27,
 num_metgrid_soil_levels             = 4,
 p_top_requested                     = 5000,
 /

 &physics
 mp_physics                          = 17,     17, 
 gsfcgce_hail                        = 0,    
 gsfcgce_2ice                        = 0,     
 ra_lw_physics                       = 1,     1, 
 ra_sw_physics                       = 1,     1, 
 radt                                = 9,     9, 
 sf_sfclay_physics                   = 1,     1,
 sf_surface_physics                  = 2,     2, 
 bl_pbl_physics                      = 1,     1, 
 bldt                                = 0,     0, 
 cu_physics                          = 1,     0, 
 cudt                                = 5,     0, 
 surface_input_source                = 1,
 num_soil_layers                     = 4,
 maxiens                             = 1,
 maxens                              = 3,
 maxens2                             = 3,
 maxens3                             = 16,
 ensdim                              = 144,
 /

 &fdda
 /

 &dynamics
 w_damping                           = 1,
 diff_opt                            = 2,
 km_opt                              = 4,
 diff_6th_opt                        = 2,
 diff_6th_factor                     = 0.12,
 damp_opt                            = 0,
 base_temp                           = 290.
 zdamp                               = 5000.,  5000., 
 dampcoef                            = 0.2,    0.2, 
 khdif                               =   0,     0,  
 kvdif                               =   0,     0,  
 non_hydrostatic                     = .true., .true., 
 time_step_sound                     = 6,      6,  
 h_mom_adv_order                     = 5,      5,  
 v_mom_adv_order                     = 5,      5,  
 h_sca_adv_order                     = 5,      5,  
 v_sca_adv_order                     = 5,      5,  
 moist_adv_opt                       = 3,
 scalar_adv_opt                      = 3,
 momentum_adv_opt                    = 3,
 chem_adv_opt                        = 3,
 tke_adv_opt                         = 3,
 /

 &bdy_control
 spec_bdy_width                      = 5,
 spec_zone                           = 1,
 relax_zone                          = 4,
 specified                           = .true.,
 nested                              = .false., .true., 
 /

 &grib2
 /

 &namelist_quilt
 nio_tasks_per_group = 0,
 nio_groups = 1,
 /

一般情况下,在模拟时需要关心的是 &time_control, &domains,&physics部分的参数设置。

&time_control 部分主要控制的是模拟的时间范围,debug 信息输出,输出格式等信息。

注意

&domains 部分的参数设置要和所用初始场以及WPS namelist.wps的一些参数设置相同,否则会出错。

&physics 部分主要控制的是微物理方案,辐射方案以及积云对流参数化等的选择。

&dynamics 部分控制的是动力参数的设置。

&fdda 主要应用于资料同化参数的设置。

还有一些其它部分的参数设置,通常这些部分的参数不需要更改。

大概了解了一下namelist.input的参数设置之后,就可以运行了。再运行之前,先把WPS过程中运行 metgrid.exe 的时候生成了一些 met_em*文件拷贝或是链接到 WRFV3/run下,当然也可以链接到 WRFV3/test/em_real/ 下。(关于链接和拷贝的命令看这里 linux常用命令之进阶

开始之前先进入 WRFV3/run 目录下:

  • 链接 met_em* 文件 ln -sf ../../WPS/met_em.d0* .

注意: 命令后的 . 不能省,这里的 . 表示当前路径。

  • 初始化气象要素 ./real.exe 运行成功后会生成一些文件,wrfbdy_d01,wrfinput_d*
  • 模拟积分——开始模拟 ./wrf.exe 上述方式为串行运行,如果编译支持并行运算的话,可以执行以下命令: mpirun -np 4 ./wrf.exe 表示使用4个处理器进行运算。当然, real.exe 也支持并行运算。

然后就等模拟结束就行了。耗时长短与模拟个例时间长短,嵌套层数多少,模拟域范围大小等因素有关。当然,如果出错了的话就另说了==

模拟结束之后会生成一系列输出文件,比如:wrfout_d01_2015-10-04_00:00:00 等文件。可能没有后缀,但是默认的输出文件格式为 nc。模拟结束之后就是后处理过程了。

关于模式后处理,之前也提到过一些:

真・WRF模式后处理之Python版

WRF模式后处理

高维数据可视化

后处理过程其实就是处理数据的过程。使用什么工具或是编程语言都可以,没有限制。只要你能得到想要的结果就行了。

本文分享自微信公众号 - 气象杂货铺(meteogs),作者:lightning

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-10-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何利用CDO从数据集中提取数据

    之前说了如何利用CDO查看数据集信息 使用CDO查看气象数据信息。这一次说一下利用CDO从数据集中提取数据。这部分是非常使用的,尤其是当涉及到大数据集的时候,其...

    bugsuse
  • 利用python-cdo处理气象数据

    如果你不喜欢命令行的操作方式,那么你可以尝试使用python-cdo,利用python脚本语言的优势来处理气象数据。命令行的方式有其优势,比如简单易操作,可扩展...

    bugsuse
  • 数据同化概念和方法(1)

    数据同化(Data Assimilation):在地球物理学领域,数据同化就是利用物理特性以及时间演变定律的一致性约束将观测信息加入到模式状态中的一种分析技术。...

    bugsuse
  • php7高效生成二维码:composer和荷兰PHP开发者的QrCode

    关于QrCode这个类库没必要详细介绍,基于php的GD库,用于生成任意尺寸的二维码,并且可以将logo水印也打上去,还可以在二维码图片下方加入文字。QrCod...

    V站CEO-西顾
  • 嵌入式linux之go语言开发(八)存储模块的封装(一)

    首先想到的是使用嵌入式数据库sqllite,没错,选他作为存储媒介,用go调用也是很方便的。

    特立独行的猫a
  • TypeScript 设计模式之观察者模式

    观察者模式,它定义了一种一对多的关系,让多个观察者对象同时监听某一个主题对象,这个主题对象的状态发生变化时就会通知所有的观察者对象,使得它们能够自动更新自己。

    阿宝哥
  • 个体评分稳定性评估

    对于整体评分的稳定性通常使用PSI指数进行衡量,那么对于客户个体的评分变动怎样去评估呢?如下表,score1是原评分,score2是新评分,个体的评...

    小石头记
  • JS中判断null、undefined与NaN的方法

    写了个 str ="s"++;  然后出现Nan,找了一会。  收集资料如下判断: 1.判断undefined: 1 2 3 4 va...

    庞小明
  • 多线程 start 和 run 方法到底有什么区别?

    昨天栈长介绍了《Java多线程可以分组,还能这样玩!》线程分组的妙用。今天,栈长会详细介绍 Java 中的多线程 start() 和 run() 两个方法,Ja...

    Java技术栈
  • 强劲的Linux Trace工具:bpftrace (DTrace 2.0) for Linux 2018

    译者注:原作者是大名鼎鼎的性能分析专家:Brendan Gregg,现在工作在Netflix,之前工作在Sun,在Sun公司的时候,他就做了大量的性能分析和tr...

    Linux阅码场

扫码关注云+社区

领取腾讯云代金券