Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lewisjared/wrfconf
Generate configuration files for WRF from YAML
https://github.com/lewisjared/wrfconf
configuration namelist wrf
Last synced: 4 months ago
JSON representation
Generate configuration files for WRF from YAML
- Host: GitHub
- URL: https://github.com/lewisjared/wrfconf
- Owner: lewisjared
- License: mit
- Created: 2018-01-09T05:01:35.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2023-04-27T20:19:47.000Z (almost 2 years ago)
- Last Synced: 2024-06-11T18:29:39.024Z (8 months ago)
- Topics: configuration, namelist, wrf
- Language: Python
- Homepage:
- Size: 94.7 KB
- Stars: 7
- Watchers: 2
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
wrfconf
=======A commandline tool for generating WRF configuration from structured YAML files.
The purpose of this package is to be able to easily generate WRF and WPS namelists in an extensible manner. Namelists are generated from configuration
files which can be source controlled and include additional metadata not present in the namelistQuick start
============wrfconf can be installed using pip:
::
pip install wrfconf
Before the WRF and WPS namelists can be generated, a yaml file describing the time, domain and physics settings. This can be generated using python or
other scripting language or manually edited. Once you have a configuration file, namelist.input and namelist.wps can be generated by:::
wrfconf create ../examples/run.ymlConfiguration file
==================An example YAML file is included in examples/run.yml:
::
---
meta:
owner: Jared Lewis
email: [email protected]
run_name: testrun_info:
start_date: '2006-08-16_12:00:00'
run_hours: 36
max_dom: 2domain:
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: 2geogrid:
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: 2wrf:
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: 0domains:
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: 0physics:
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,There are a number of top level keys in these configuration files:
meta
----This section includes metadata about the run and does not impact the generated namelists. Any valid YAML can be included in this section
run_info
--------Information specific to this particular run, such as the start time and length of run
domain
------Domain specific information
wps
---Override any attributes in the WPS file. This section follows the same structure and naming conventions as in a WPS file
wrf
---Override any attributes in the WRF namelist. This section follows the same structure and naming conventions as in a WRF namelist file
Development setup
==================::
git clone https://github.com/lewisjared/wrfconf.git
cd wrfconf
python setup.py develop