wrf名称列表的配置生成器

wrfconf的Python项目详细描述


wrfconf

用于从结构化yaml文件生成wrf配置的命令行工具。

此包的目的是能够以可扩展的方式轻松生成wrf和wps名称列表。从配置生成名称列表 可由源代码控制并包含名称列表中不存在的其他元数据的文件

快速启动

可以使用pip安装wrfconf:

pip install wrfconf

在生成wrf和wps名称列表之前,需要一个描述时间、域和物理设置的yaml文件。可以使用python或 其他脚本语言或手工编辑。一旦您有了配置文件,namelist.input和namelist.wps可以由以下生成:

::
wrfconf创建../examples/run.yml

配置文件

示例yaml文件包含在examples/run.yml:

---
meta:
  owner: Jared Lewis
  email: jared@jared.kiwi.nz
  run_name: test

run_info:
  start_date: '2006-08-16_12:00:00'
  run_hours: 36
  max_dom: 2

domain:
  parent_id: [1, 1]
  parent_grid_ratio: 1, 3,
  i_parent_start: 1, 34,
  j_parent_start: 1, 25,
  e_we: [ 85, 73]
  e_sn: [ 93, 79]
  dx: [36000, 12000]
  dy: [36000, 12000]
  map_proj: 'lambert'
  ref_lat: -41.276
  ref_lon: 169.228
  ref_x: 42.5
  ref_y: 46.5
  truelat1: -41.276
  truelat2: -41.276
  stand_lon: 169.228
  geog_data_res: ['10m','2m']

wps:
  share:
    wrf_core: ARW
    interval_seconds: 10800
    io_form_geogrid: 2

  geogrid:
    geog_data_path: '/mnt/data/WRF/WPS_GEOG'
    opt_geogrid_tbl_path: 'geogrid/'

  ungrib:
   out_format: 'WPS'
   prefix: 'FILE'

  metgrid:
   fg_name: 'FILE'
   io_form_metgrid: 2

wrf:
  time_control:
    interval_seconds: 10800
    input_from_file: [True, True, True, True]
    history_interval: [ 60, 60, 60, 60]
    frames_per_outfile: [ 1000, 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
    p_top_requested: 5000
    num_metgrid_levels: 32
    num_metgrid_soil_levels: 4
    feedback: 1
    smooth_option: 0


  physics:
    mp_physics:         [ 3, 3, 3, 3]
    ra_lw_physics:      [ 1, 1, 1, 1]
    ra_sw_physics:      [ 1, 1, 1, 1]
    radt:               [ 30, 30, 30, 30]
    sf_sfclay_physics:  [ 1, 1, 1, 1]
    sf_surface_physics: [ 2, 2, 2, 2]
    bl_pbl_physics:     [ 1, 1, 1, 1]
    bldt:               [ 0, 0, 0, 0]
    cu_physics:         [ 1, 1, 0, 0]
    cudt:               [ 5, 5, 5, 5]
    isfflx: 1,
    ifsnow: 1,
    icloud: 1,
    surface_input_source: 3,
    num_soil_layers:    4
    num_land_cat:       21
    sf_urban_physics:   [ 0, 0, 0, 0]

  dynamics:
    w_damping: 0,
    diff_opt: [ 1, 1, 1, 1]
    km_opt: [ 4, 4, 4, 4]
    diff_6th_opt: [ 0, 0, 0, 0]
    diff_6th_factor: 0.12, 0.12, 0.12, 0.12
    base_temp: 290.
    damp_opt: 0,
    zdamp: [5000., 5000., 5000., 5000.]
    dampcoef: [0.2, 0.2, 0.2, 0.2]
    khdif: [ 0, 0, 0, 0]
    kvdif: [ 0, 0, 0, 0]
    non_hydrostatic: [ True, True, True, True]
    moist_adv_opt: [ 1, 1, 1, 1]
    scalar_adv_opt: [ 1, 1, 1, 0]

  bdy_control:
    spec_bdy_width: 5,
    spec_zone: 1,
    relax_zone: 4,
    specified: [True, False,False,False]
    nested: [False, True, True,True]

  namelist_quilt:
    nio_tasks_per_group: 0,
    nio_groups: 1,

这些配置文件中有许多顶级键:

meta

本节包含有关运行的元数据,不影响生成的名称列表。任何有效的yaml都可以包含在本节中

运行信息

特定于此特定运行的信息,如运行的开始时间和长度

特定于域的信息

wps

重写wps文件中的任何属性。本节遵循与wps文件中相同的结构和命名约定

wrf

重写WRF名称列表中的任何属性。本节遵循与wrf namelist文件中相同的结构和命名约定

开发设置

git clone https://github.com/lewisjared/wrfconf.git
cd wrfconf
python setup.py develop

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java有没有一种方法可以在不关闭底层流的情况下关闭Writer?   java旋转形状不出现在小程序上   java将JPanel插入JOptionPane并检索数据   java如何对不同列表中的ArrayList进行排序   java永恒提醒服务   amazon web服务在Java中创建表之后创建DynamoDB全局二级索引   java循环程序以在完成检查后重新启动   在只读应用程序中共享对话式Hibernate EntityManager appwide的java陷阱?   java系统。出来运行代码时不显示打印?   使用Java在Solr中进行编程完全导入   java如何跟踪鼠标退出/进入/悬停在组合上?   java Android:如何防止开发者选项在下次启动时重置?   java是否可以在不生成查询类型的情况下使用Querydsl?   我想用正则表达式在java中拆分字符串   spring是否可以从数据库获取JavaFMT消息包?