模式利器 | MEIC污染源清单向WRF-Chem模式网格插值分配工具——meic2wrf
https://gitee.com/jinfan0931/meic2wrf (推荐国内仓库√)
https://github.com/jinfan0931/meic2wrf
欢迎大家star!
工具简介
本工具针对清华大学MEIC源排放清单[1](0.25°×0.25°,2016),实现了清单中各污染物排放量向WRF-Chem模式网格的插值和分配,可窗口界面运行或脚本运行。
获取地址(已从Github搬迁至Gitee,Gitee为国内代码托管平台,稳定,下载速度快):https://gitee.com/jinfan0931/meic2wrf.git[2](求star,欢迎pull request共同改进?)
使用方法请参考Gitee该项目仓库中的《操作手册》。
注意: 本工具要求WRF-Chem用户设定的最大模拟范围处于MEIC清单覆盖范围内。
基本原理
以对2016年MEIC清单1月份NH3排放量的处理为例:
- 提取MEIC清单中某一部门(如农业部门)NH3排放量,将排放量单位转换为WRF-Chem模式要求的单位后,插值到模式模拟区域
- 按照部门排放特征,确定逐小时和逐层排放因子后,将模拟区域的NH3排放量进行时空分配:
- 对其余四部门(工业、电力、民用、交通)的NH3排放量重复1、2步骤后,再将所有部门NH3排放量同时刻、同层进行加和,即完成将MEIC清单NH3排放量插值并分配到WRF-Chem模拟区域网格上。对MEIC清单中其余物种的处理过程同NH3。
运行环境
Python 3.7.7[3]
PyNIO 1.5.5[4]
可通过Conda
——环境管理及包安装工具,搭建上述运行环境。
窗口界面运行——meic2wrf_GUI.py
搭建好运行环境后,通过命令python meic2wrf_GUI.py
启动窗口界面。工具的主界面由1. 整合MEIC清单中各污染物不同部门的排放数据和2. 向WRF-Chem模式网格插值分配”两部分组成。 如图所示:
窗口界面运行方法请参考Gitee该项目仓库中的《操作手册》[5]
终端脚本运行——meic2wrf_noGUI.py
若以脚本模式运行,终端下用文本编辑器打开meic2wrf_noGUI.py(如vim meic2wrf_noGUI.py
),在脚本末尾if __name__ == '__main__':
后,指定相应文件和目录路径,保存退出后,终端输入python meic2wrf_noGUI.py
,等待脚本运行结束,则会在save_dir路径下生成WRF-Chem源排放文件。
WRF-Chem多层嵌套网格
若用户设定的WRF-Chem网格为多层嵌套,即有多个wrfinput文件(如对于三层嵌套,有:wrfinput_d01,wrfinput_d02,wrfinput_d03
三个初始场文件),只需对每个wrfinput文件重复上述操作,即可得到对应WRF-Chem嵌套网格的MEIC清单插值分配结果。
其它说明
引用: 樊晋,周永龙,徐旋烨,蒋沛雅,李卓.MEIC污染源清单向WRF-Chem模式网格插值分配程序软件V1.0[Z].国家版权局,2020SR0414107
.
感谢中国气象局气象科学研究院的张磊博士在工具开发期间提供的帮助。
感谢Github开源平台吕浩工程师对meic2wrf_noGUI.py
脚本的贡献。
感谢《气象学家》公众号的支持和推广。
感谢成都信息工程大学大创项目的支持(项目编号:202010621016
)。
感谢成都兰蓝环境科技有限公司的协助。
参考资料
[1]
清华大学MEIC源排放清单: http://www.meicmodel.org/
[2]
工具地址: https://gitee.com/jinfan0931/meic2wrf.git
[3]
Python 3.7.7: https://www.python.org/downloads/release/python-377/
[4]
PyNIO 1.5.5: https://www.python.org/downloads/release/python-377/
[5]
《操作手册》: https://gitee.com/jinfan0931/meic2wrf.git
- spring cloud 学习(4) - hystrix 服务熔断处理
- Hadoop(十)Hadoop IO之数据完整性
- Tomcat 端口号修改
- Mac OSX网络诊断命令
- spring cloud 学习(5) - config server
- Java魔法堂:解读基于Type Erasure的泛型
- spring cloud 学习(3) - feign入门
- Java集合源码分析(四)HashMap
- Java魔法堂:解读基于Type Erasure的泛型
- 显示mybatis的执行的sql
- spring cloud 学习(2) - eureka server注册中心高可用及安全认证
- mybatis在xml文件中处理大于号小于号的方法
- kafka集群部署
- Hadoop(九)Hadoop IO之Compression和Codecs
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 起飞 | 应用YOLOV4 - DeepSort 实现目标跟踪
- 如何将elastic search 的健康状态由红色red变为绿色green
- 拥抱K8s系列-01
- elastic search 修改日志级别为warn
- prometheus学习笔记(3)-使用exporter监控mysql
- elasticsearch query里面的slop选项
- 彻底明白Android设计模式—(动态)代理模式
- elastic search 如何将yellow 状态变为green健康状态
- All clients has disconnected from. You can graceful shutdown now., dubbo version: , current host
- Failed to instantiate org.mybatis.spring.SqlSessionTemplate Constructor threw exception
- 护网之Linux应急处理操作手册
- 对新版安全狗学习
- redis key的删除策略及LRU的实现
- 护网Linux应急处置操作手册-Tools篇
- 加密,编码三问