当前位置: 首页 > 工具软件 > WRF > 使用案例 >

WRF模式|基本模式与流程

端木高卓
2023-12-01

1 preface

1.1 linux中的常用命令

  • 代码直接跳到最后一行:shift+G
  • 代码加注释快捷键:在不可编辑模式下ctrl+c
  • 改文件名名:mv a b 把a改为b的名字
  • 结束运行:ctrl+C
  • 删除某行:在不可编译模式下dd
  • 退回上一层文件夹:cd ..
  • 复制文件夹:cp -r 要复制的文件夹 新文件夹名
  • 新建文件夹:mkdir 文件名
  • 删除文件:rm 文件名
  • 删除文件内所有内容:在该文件夹内 rm *
  • 删除文件夹:rm -r 文件夹名
  • 查看后台运行状态:jobs
  • 查看以…为后缀的文件:ls *.nc
  • 查看nc文件(二进制文件)(举例):ncdump geo_em.d01.nc来打开查看,ncdump -h geo_em.d01.nc只看头文件,ncdump -h geo_em.d01.nc | more只看开头部分,ncdump -v Times geo_em.d01.nc | more是看某个变量
  • ncview +文件名
  • 查看所有链接文件:ls -l *.exe
  • 查看一个文件的末尾部分:tail
  • 解压文件:tar -xf 文件名
  • 打包且压缩文件的解压:tar -xzf model.tar.gz
  • 在log文件中找运行错误的地方也即寻找字符串的命令:在非编辑模式下输/Err,若没有错误会显示Pattern not found:Err
  • 查找文件夹下含wrf_run的所有程序:grep -i wrf_run *.F
  • 在所有文件及其子文件下搜寻关键字符: grep -ir integrate *.F
  • 可视化 (如):ncl 1-spatial-pressere-level.ncl
  • 改环境之后需要:source ~/.bashrc
  • 查看png文件:display a.png &

1.2 其他

  • albedo : 地表反照率
  • greenfrac : 植被覆盖
  • lai : 叶面积指数
  • 10m : m表示分,六十分之一度
  • 30s : 大概一公里
  • .F结尾的是fortran文件模板,.f90是在其基础上修改之后的文件

2 WPS

  • geogrid:用于选择模拟的区域,有地理信息数据
  • ungrib:从再分析数据格点中提取和读取气象数据,grib代表再分析数据(可以从网上下载)
  • metgrid:把全球气象场插入到geogrid中
    最终获得可以被real.exe读取的数据场

2.1 geogrid

用于选择模拟的区域,内含地理信息数据

  1. 修改namelist.wps
    &share:

    • max_dom : 处理的地区数目
    • interval_seconds : 同化数据的切片时间间隔,单位是秒,6个小时是21600
    • io_form_geogrid : 数据格式,取2时是net-CDF格式

    &geogrid:关于格点数的设置

    • i_parent_start : 和多层模拟有关
    • j_parent_start :
    • e_we : 东西向结束(end)的格子边界,一般是所需格子横向数目加一
    • e_sn : 南北向结束的格子边界,一般是所需格子纵向数目加一,(相对应的是s表start,默认取1,可以不写在namelist里面)
    • geog_data_res : 取'default','default',
    • dxdy : 空间分辨率,每个格子的大小,在Lambert投影下,单位是米,在lat-lon投影下单位是度,且latlon的stand_lon数据保持是0.0不用改
    • map_proj : 投影模式,可以取'lambert',lat-lon
    • ref_latref_lon : 模拟区域中心的纬度和经度,单位是度,东经和北纬是正
    • truelat1truelat2 : 忘记了
    • stand_lon : 投影中心!注意这个一定要改成和经度一样
    • geog_data_path : geog数据所在路径

    &ungrib

    • out_format = 'WPS' : 输出格式
    • prefix = 'ungribdata/GFS'

    &metgrid

    • fg_name = 'ungribdata/GFS'
    • io_form_metgrid = 2 : net-CDF格式
    • opt_output_from_metgrid_path = 'finaldata/' : 将模拟数据输出到finaldata文件夹中
  2. 运行geogrid :./geogrid.exe >& geogrid.log &

  3. 检查运行结果:检查geogrid.log文件,运行会产生geo_em.d01.nc文件,使用ncview加文件名查看模拟区域

2.2 ungrib

如果复制的WPS文件夹做过ungrib:把ungribdata文件夹里的数据删掉或新建ungribdata文件夹,再重新运行ungrib

  1. 新建并进入inputdata文件夹
  2. 链接数据①:ln -sf .../fnl_201505* ./(视具体情况而定),此时,inputdata文件夹下会出现一堆类似于fnl_20150501_00_00.grib2的文件,以你设置的“6个小时为间隔”
  3. 链接数据②:在WPS下,ln -sf ungrib/Variable_Tables/Vtables.GFS ./Vtable,将vtable也链接到WPS文件夹下
  4. 链接数据③:在WPS文件夹内有一个link_grib.csh文件,./link_grib.csh inputdata/,将inputdata的数据在该文件中运行,会在WPS文件夹中得到GRIBFILE.AAA等类似的一批文件
  5. 运行程序:./ungrib.exe >& ungrib.log &
  6. 检查运行结果:查看ungrib.log

2.3 metgrid

  1. 新建finaldata文件夹,或把finaldata中的文件删了
  2. 运行metgrid:./metgrid.exe >& metgrid.log &,会在finaldata中产生类似于met_em.d01.2015-05-01_00:00:00.nc的系列文件,再pwd一下,把路径显示出来
  3. 检查metem文件夹

3 WRF

  1. 去到v3.5_wrf文件夹下,进入namelist.input文件,修改参数

    • history_interval:输出数据的频率,单位是分钟
    • frames_per_outfile : n次输出的数据输出到一个文件里
    • restart : 如果某次模拟到5h,停了,要继续使用之前的数据的话就是true
    • io_form : 2表示netcdf
    • input4是下垫面类型,海温
    • input7是火
    • input8是沙尘
    • debug_level : 0,不debug;10,选择重要的输出,500最高

    &time_control

    • run_days : 跑的天数
    • start_year : 开始年份
    • end_year : 结束年份

    &domains

    time_step                           = 300,!单位是s,最大取格子大小的6倍,与稳定性有关,CFL判定标准,单位是km,可以改小
    time_step_fract_num                 = 0,
    time_step_fract_den                 = 1,
    max_dom                             = 1,
    s_we                                = 1,     1,     1,
    e_we                                = 61,    112,   94,
    s_sn                                = 1,     1,     1,
    e_sn                                = 61,    97,    91,
    !上面的部分必须和wps中保持一致
    s_vert                              = 1,     1,     1,
    e_vert                              = 31,    28,    28,!垂直方向参数,分30层(设置的是边界数)
    p_top_requested                     = 5000,!单位是pa
    num_metgrid_levels                  = 27,
    num_metgrid_soil_levels             = 4,
    !数字设置来自met_em
    dx                                  = 50000, 10000,  3333.33,
    dy                                  = 50000, 10000,  3333.33,
    !和wps中一样
    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                            = 0,
    smooth_option                       = 0
    zap_close_levels                    = 50
    interp_theta                        = .true.
    interp_type                         = 1
    t_extrap_type                       = 2
    force_sfc_in_vinterp                = 0
    use_levels_below_ground             = .true.
    use_surface                         = .true.
    lagrange_order                      = 1
    sfcp_to_sfcp                        = .true.,
    /
    nproc_x                             = 32,
    nproc_y                             = 15,
    
  2. 进入metdata文件夹,将里面之前产生的文件删了

  3. 将WPS中finaldata中产生的文件链接到metdata文件夹,ln -sf ....../finaldata/met_em.d01.2015-05-0* ./,将数据链接到metdata

  4. 退回到wrf文件夹,运行real.exe,./real.exe >& real.log &

  5. 再运行wrf.exe,./wrf.exe >& wrf.log &

  6. 会出现wrfout_d01_2015-05-01_00:00:00类似的文件

在运行过程或运行结束后可随时查看log文件以查看运行情况

 类似资料: