【WRF工具】WRF Domain Wizard第一期:软件下载及安装
【WRF工具介绍】WRF Domain Wizard下载及安装
- 1 WRF Domain Wizard 的主要功能
- 2 使用 WRF Domain Wizard 的步骤
- 2.1 安装 WRF Domain Wizard:
- 2.2 启动 WRF Domain Wizard:
- 2.3 定义计算域:
- 2.4 生成配置文件:
- 2.5 运行 WPS 和 WRF:
- 3 软件版-WRFDomainWizard
- 3.1 下载WRFDomainWizard
- 3.2 安装WRFDomainWizard
- 添加环境变量(为当前用户永久添加环境变量)
- Java环境安装
- 4 网页版-WRFDomainWizard
- 参考
在设置namelist.wps时,一个首要问题就是 确定模拟区域。你当然可以使用WPS自带的plotgrids_new.ncl绘制模拟域,但下面的WRF Domain Wizard软件更加方便,只需要轻轻几点,就可以框选出模拟区域,并确定参数信息。
WRF Domain Wizard 是一个图形化工具,用于简化和可视化 WRF (Weather Research and Forecasting) 模型的网格设置和配置过程。它使用户能够直观地定义和调整 WRF 模型的计算域(Domain),并生成相应的 配置文件(如 namelist.wps 和 namelist.input)。该工具特别有用,因为手动编辑这些配置文件不仅容易出错,而且需要详细的技术知识。
1 WRF Domain Wizard 的主要功能
- 图形化界面:
- 提供用户友好的图形界面,允许用户在地图上直观地选择和调整模型的计算域。
- 显示地理数据和网格分辨率,使用户能够看到所定义域的实际地理覆盖范围。
- 多层嵌套网格:
- 支持定义多层嵌套网格,用户可以在父网格内定义一个或多个子网格,以提高局部区域的分辨率。
- 允许用户调整嵌套网格的位置、大小和分辨率比。
- 自动生成配置文件:
- 根据用户在图形界面中的设置,自动生成 namelist.wps 和 namelist.input 配置文件。
- 确保配置文件中的参数设置正确,并与用户定义的计算域一致。
- 地理数据处理:
- 自动处理和下载所需的地理数据。
- 提供地形、土地利用类型、植被覆盖等地理信息的可视化和编辑功能。
- 用户友好性:
- 减少用户手动编辑配置文件的需求,降低出错的可能性。
- 提供帮助文档和使用指南,帮助用户快速上手。
2 使用 WRF Domain Wizard 的步骤
2.1 安装 WRF Domain Wizard:
- 从官方网站或相关资源下载 WRF Domain Wizard 安装包。
- 按照安装说明进行安装,确保所需的依赖库和工具已经正确安装。
2.2 启动 WRF Domain Wizard:
- 运行安装好的 WRF Domain Wizard 应用程序。
- 打开图形化界面。
2.3 定义计算域:
- 在地图上选择模型计算域的位置和大小。
- 设置网格的分辨率和嵌套网格的层次。
- 调整网格参数,如经度、纬度、网格点数等。
2.4 生成配置文件:
- 根据定义的计算域和网格参数,自动生成 namelist.wps 和 namelist.input 配置文件。
- 检查和保存生成的配置文件。
2.5 运行 WPS 和 WRF:
- 使用生成的配置文件运行 WRF Preprocessing System (WPS) 以生成初始和边界条件数据。
- 使用 WRF 模型运行数值模拟。
3 软件版-WRFDomainWizard
3.1 下载WRFDomainWizard
WRF Domain Wizard download

如需获取WRFDomainWizard软件也可附上邮箱评论本博客
3.2 安装WRFDomainWizard
在ubuntu,将WRFDomainWizard下载到了 home/Build_WRF下,与 WRF 和 WPS 文件夹同级,解压之后就是 WRFDomainWizard 文件夹:

因为是在 linux 下,所以用命令:
cd Build_WRF
cd WRFDomainWizard
chmod +x run_DomainWizard # 使运行程序生效
然后直接,输入以下运行命令:
run_DomainWizard # 运行
如果此时报错:run_DomainWizard:未找到命令
终端窗口如下:(说明需要添加环境变量)

添加环境变量(为当前用户永久添加环境变量)
具体代码如下:
# 编辑 .bashrc 文件
sudo gedit ~/.bashrc
gedit ~/.bashrc
说明:.bashrc是home目录下的一个shell文件,用于储存用户的个性化设置。在bash每次启动时都会加载.bashrc文件中的内容,并根据内容定制当前bash的配置和环境。
终端窗口如下:

#在文件末尾加:(需要根据WRFDomainWizard的文件位置修改)
export PATH=/home/test/Build_WRF/WRFDomainWizard:$PATH
#保存退出
文件修改如下:
注意:对 .bashrc 所做的任何修改将在下一次启动终端时生效。如果你想立刻生效的话,运行下面的命令:
#命令行输入:
source ~/.bashrc
#使环境变量生效
重新运行。
如果报错关于java,则需下载java。

Java环境安装
1、Java环境检测
可以先检测自己有没有Java环境,如果没有,必然报错。
# 检测有无Java环境
java-version
2、Java下载
Java下载地址:Java Downloads Oracle

另外,x64 Compressed Archive 是一种 Java 的免安装版本。
2.1 进入 Oracle 官方网站,下载合适的 JDK 版本(后缀为.tar.gz),准备安装。

2.2 创建Java目录
代码如下:
mkdir Java
cd Java
把下载的文件jdk-8u421-linux-x64.tar.gz 放在此Java/目录下。

2.3 解压 JDK
代码如下:
tar -zxvf jdk-8u421-linux-x64.tar.gz

2.4 设置环境变量
首先,打开终端,修改 vi /etc/profile
输入以下命令:
sudo vi /etc/profile
说明:/etc/profile文件为系统的每个用户设置环境变量信息,此文件的修改会影响到所有用户。
用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。
编辑方式: 进入 vi 编辑器的命令模式。在这个模式下,不能直接编辑文件内容,需要切换到编辑模式。按下 i 键进入编辑模式。此时可以进行编辑。
在编辑模式下,找到要进行更改的部分,然后进行编辑。
编辑完成后,按下 Esc 键退出编辑模式,回到命令模式。
终端输入上述命令后,界面如下:

随后,在 profile 文件中添加如下内容并保存:
set java environment
JAVA_HOME=/usr/test/Java/jdk1.8.0_421
JRE_HOME=/usr/test/Java/jdk1.8.0_421/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

说明:Linux vi /etc/profile强制退出
在Linux中,如果你使用vi或vim编辑器打开了/etc/profile文件,并且需要强制退出,可以使用以下方法:
- 如果你在命令模式下(即没有在插入或者替换模式),可以直接按下Esc键进入命令模式,然后输入:q!来强制退出不保存更改。
- 如果你处于插入模式或替换模式,首先需要按Esc键退出编辑模式,然后再进行上述的命令模式下的操作。
- 如果你想保存更改后强制退出,可以在命令模式下输入:wq!。
以下是实际操作的例子:
- 假设你已经用vi打开了/etc/profile文件,现在想强制退出:
按Esc键进入命令模式。
输入:q!并按下Enter键来强制退出而不保存更改。 - 如果你想保存更改并强制退出:按Esc键进入命令模式。
输入:wq!并按下Enter键。
或在安装结束后:
gedit ~/.bashrc#添加路径:
export JAVA_HOME=/home/test/Java/jdk1.8.0_421
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JRE_HOME=$JAVA_HOME/jresource ~/.bashrc

2.5 测试Java是否安装成功
# 检测有无Java环境
java-version
显示 java 版本信息,则说明 JDK 安装成功。
随后,再次输入前代码,查看能否打开WRFDomainWizard。软件界面如下:

4 网页版-WRFDomainWizard
具体操作步骤如下:
1、打开网址,出现如下主界面:
官网-WRFDomainWizard

2、点击"New"后,出现wrf_core、map_proj、dx和dy几项。
- wrf_core:默认为ARW(该工具这里写成了AWR,应该是弄错了,不过最后输出的仍为ARW),不支持自选;
- map_proj:地图投影,可选lambert、mercator、polar以及lat-lon。
- dx和dy:最外层空间分辨率

3、用鼠标在地图上拉取目标区域,再结合模拟需求调整truelat1、truelat2以及stand_lon,最后再调整好e_we和w_sn后点击左下角的“Update”即可在右图看到区域效果。
4、设置完d01后,点击d01下图中的加号,设置好parent_grid_ratio以及i/j_parent_start,按照第三步的方法设置好e_we和e_sn后,点击Update即可设置完d02。如有三层及以上的模拟嵌套需求,按照本步操作即可。
5、至此,点击Update旁边的Save选项,即可出现WPS需要的namelist.wps文件,确认无误后,选择Download或者Copy即可。
注意: 在设置嵌套网格Nests时,NX和NY对应namelist.wps中的e_we和e_sn,但是它们的值有时是错误的,你需要点一下Edit按钮然后OK修正。判断e_we和e_sn是否正确就是看它们减1是否能被parent_grid_ratio整除,比如ratio为3,e_we或e_sn设为91是可以的,90则不行
参考
1、CSDN博客-Linux下 WRF Domain Wizard 使用教程(PART1:下载+安装)
2、CSDN博客-Linux下WRF Domain Wizard使用教程(PART2: 使用教程及 遇到的种种BUG)
3、知乎-WRF运行 | domain wizard辅助小工具
4、CSDN博客-【LINUX】在Linux系统中,用vi指令进入/etc/profile后怎么写入
相关文章:
【WRF工具】WRF Domain Wizard第一期:软件下载及安装
【WRF工具介绍】WRF Domain Wizard下载及安装 1 WRF Domain Wizard 的主要功能2 使用 WRF Domain Wizard 的步骤2.1 安装 WRF Domain Wizard:2.2 启动 WRF Domain Wizard:2.3 定义计算域:2.4 生成配置文件:2.5 运行 WPS 和 WRF&am…...
使用CUBE_MX实现STM32 DMA功能 (储存器发送数据到外设串口)+(外设串口将数据写入到存储器)
目录 一、配置串口打印(参考串口打印的文章) 二、CUBE_MX配置 三、KEIL5配置 1.打开dma.c文件(默认初始化DMA中断函数) 2.打开usart.c文件 3.打开main.c文件(储存器发送数据到外设串口) 4.打开main.c…...
【JavaScript】数据结构之树
什么是树形结构? 一种分层数据的抽象模型,用来分层级关系的。虚拟dom它所组织的那个数据原理就是树形结构 深度优先搜索(遍历)- 递归 从根出发,尽可能深的搜索树的节点技巧 访问根节点对根节点的children挨个进行深…...
【AI大模型】LLM主流开源大模型介绍
目录 🍔 LLM主流大模型类别 🍔 ChatGLM-6B模型 2.1 训练目标 2.2 模型结构 2.3 模型配置(6B) 2.4 硬件要求 2.5 模型特点 2.6 衍生应用 🍔 LLaMA模型 3.1 训练目标 3.2 模型结构 3.3 模型配置(7B) 3.4 硬件…...
Uniapp的alertDialog返回值+async/await处理确定/取消问题
今天在使用uniui的alertDialog时,想添加一个确定/取消的警告框时 发现alertDialog和下面的处理同步进行了,没有等待alaertDialog处理完才进行 查询后发现问题在于 await 关键字虽然被用来等待 alertDialog.value.open() 的完成,但是 alertDi…...
Spring Boot中的响应与分层解耦架构
Spring Boot中的响应与分层解耦架构 在Spring Boot框架中,响应与分层解耦架构是两个核心概念,它们共同促进了应用程序的高效性、可维护性和可扩展性。下面将详细探讨这两个方面,包括Spring Boot的响应机制、分层解耦的三层架构以及它们在实际…...
基于python+django+vue的图书管理系统
作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于pythondjangovueMySQL的图…...
Oracle数据库安装与SQL*Plus使用
一、实验过程 1、安装完数据库服务器程序后,查看系统服务启动状况并截图。 2、启动 SOL Plus工具,分别以SYS用户和 SYSTEM用户登录数据库,并解锁scott用户,用scott用户登录。每次登录完成后用show user命令查看当前用户,并截图。…...
C#通过MXComponent与三菱PLC通信
1,MXComponent安装包与手册。 https://download.csdn.net/download/lingxiao16888/89767137 2,使用管理员权限打开MXComponent,并进行配置。 3,引用相应的类库。 //通信类库 ActUtlTypeLib.dll或者ActProgType.dll 注明&#x…...
深度学习实战91-利用时空特征融合模型的城市网络流量预测分析与应用
大家好,我是微学AI,今天给大家介绍一下深度学习实战91-利用时空特征融合模型的城市网络流量预测分析与应用。本文围绕基于时空特征融合的城市网络流量预测展开。介绍了城市网络流量预测的重要性和现实需求,以及时空特征融合模型,包括其原理和优势。然后展示所使用的数据集,…...
GlusterFS 分布式文件系统
一、GlusterFS 概述 1.1 什么是GlusterFS GlusterFS 是一个开源的分布式文件系统,它可以将多个存储服务器结合在一起,创建一个大的存储池,供客户端使用。它不需要单独的元数据服务器,这样可以提高系统的性能和可靠性。由于没有…...
论文学习笔记6:Relation-Aware Heterogeneous Graph Neural Network for Fraud Detection
文章目录 Abstract一、Introduction二、Preliminaries2.1Problem Definition2.2Related Works 三、Proposed Method3.1Model Architecture3.2Computation Graph Pre-process3.3Heterogeneous Propagation Abstract 欺诈检测是金融和社交媒体领域的一项重要数据挖掘任务。传统的…...
无人机光电吊舱的技术!!
1. 成像技术 可见光成像:通过高分辨率相机捕捉地面或空中目标的清晰图像,提供直观的视觉信息。 红外热成像:利用红外辐射探测目标的温度分布,实现夜间或恶劣天气条件下的隐蔽目标发现。 多光谱成像:通过不同波段的光…...
C++——判断year是不是闰年。
没注释的源代码 #include <iostream> using namespace std; void Y(int y); int main() { int year; cout<<"请输入一个年份:"; cin>>year; Y(year); return 0; } void Y(int y) { if(((y%40)&&(y%100!0))||(y%…...
31. 三维向量Vector3与模型位置
点模型Points、线模型Line、网格网格模型Mesh等模型对象的父类都是Object3D (opens new window),如果想对这些模型进行旋转、缩放、平移等操作,如何实现,可以查询Threejs文档Object3D (opens new window)对相关属性和方法的介绍。 三维向量Ve…...
C# Action和delegate区别及示例代码
Action和delegate类似但没有返回值 Action和delegate在C#编程语言中有明显的区别,主要体现在它们的定义、用途和特性上。 1. 定义 Delegate:Delegate是C#中用于定义方法签名的类型,它允许将方法作为参数传递,或者将方法赋值给变…...
深度优先搜索: 探索图结构的括号化旅程
深度优先搜索: 探索图结构的括号化旅程 图的括号化结构示例图深度优先搜索的伪代码C语言实现解释运行结果总结在解决图相关问题时,深度优先搜索(DFS)是一种非常有用的算法。DFS 通过递归或使用栈的方式遍历图的节点,尽可能深地搜索每一个分支,然后回溯以搜索其他未访问的节…...
LINUX网络编程:传输层
目录 1.端口号 1.1知名端口号 1.2注意 2.UDP协议 2.1UDP报头的格式 2.2UDP的特点 2.3UDP的缓冲区 1.端口号 端口号的作用标识一个网络中主机的一个进程。 网络之间通信无非就是,发送端和接受端进程之间的通信,所以通过ip地址找到目标主机之后&am…...
PyTorch框架
PyTorch是一个开源的深度学习框架,由Facebook AI Research(FAIR)团队开发,自2017年发布以来,凭借其出色的灵活性、易用性和强大的功能,在深度学习和机器学习领域得到了广泛的应用和认可。以下是对PyTorch框…...
分布式系统实战经验
分布式系统是现代软件架构的核心部分,它通过多个计算节点协同工作来处理大规模数据和请求,提供高可用性、可扩展性和容错能力。在实际开发和运维中,构建分布式系统需要考虑多方面的挑战。以下是一些在分布式系统中的实战经验: 1.…...
[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里…...
visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...
ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...
Java求职者面试指南:计算机基础与源码原理深度解析
Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...
RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill
视觉语言模型(Vision-Language Models, VLMs),为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展,机器人仍难以胜任复杂的长时程任务(如家具装配),主要受限于人…...
前端中slice和splic的区别
1. slice slice 用于从数组中提取一部分元素,返回一个新的数组。 特点: 不修改原数组:slice 不会改变原数组,而是返回一个新的数组。提取数组的部分:slice 会根据指定的开始索引和结束索引提取数组的一部分。不包含…...
redis和redission的区别
Redis 和 Redisson 是两个密切相关但又本质不同的技术,它们扮演着完全不同的角色: Redis: 内存数据库/数据结构存储 本质: 它是一个开源的、高性能的、基于内存的 键值存储数据库。它也可以将数据持久化到磁盘。 核心功能: 提供丰…...
