【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 的主要功能

  1. 图形化界面:
  • 提供用户友好的图形界面,允许用户在地图上直观地选择和调整模型的计算域。
  • 显示地理数据和网格分辨率,使用户能够看到所定义域的实际地理覆盖范围。
  1. 多层嵌套网格:
  • 支持定义多层嵌套网格,用户可以在父网格内定义一个或多个子网格,以提高局部区域的分辨率。
  • 允许用户调整嵌套网格的位置、大小和分辨率比。
  1. 自动生成配置文件:
  • 根据用户在图形界面中的设置,自动生成 namelist.wps 和 namelist.input 配置文件。
  • 确保配置文件中的参数设置正确,并与用户定义的计算域一致。
  1. 地理数据处理:
  • 自动处理和下载所需的地理数据。
  • 提供地形、土地利用类型、植被覆盖等地理信息的可视化和编辑功能。
  1. 用户友好性:
  • 减少用户手动编辑配置文件的需求,降低出错的可能性。
  • 提供帮助文档和使用指南,帮助用户快速上手。

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后怎么写入

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/141342.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

多维时序 | Matlab基于BO-LSSVM贝叶斯优化最小二乘支持向量机数据多变量时间序列预测

多维时序 | Matlab基于BO-LSSVM贝叶斯优化最小二乘支持向量机数据多变量时间序列预测 目录 多维时序 | Matlab基于BO-LSSVM贝叶斯优化最小二乘支持向量机数据多变量时间序列预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab基于BO-LSSVM贝叶斯优化最小二乘支…

从ANN到SNN的转换:实现、原理及两种归一化方法【MINIST、实战】

从ANN到SNN的转换:实现、原理及两种归一化方法 引言 随着神经形态计算的迅猛发展,脉冲神经网络(Spiking Neural Networks, SNNs)作为一种仿生神经计算模型,逐渐展现出其在低功耗和事件驱动计算领域的巨大潜力。不同于…

苹果cms多语言插件,插件配置前端默认语言采集语言等

苹果CMS(maccmscn)是一款功能强大的内容管理系统,广泛应用于视频网站和其他内容发布平台。为了满足全球用户的需求,苹果CMS支持多语言插件,使得网站能够方便地提供多语言版本。以下是关于苹果CMS多语言插件的详细介绍&…

dubbo一

Dubbo 分布式系统的演进 SOA面向服务架构 NSA微服务架构 节点与网络 分片和冗余 分布式系统挑战 分布式系统特性与衡量标准 一致性理论 强一致性ACID CAP 弱一致性BASE 一致性算法 dubbo dubbo六大核心功能 API与SPI

一键生成中秋国风插画!FLUX中秋专属Lora的使用教程

如何在中秋节期间快速生成富有节日气氛的国风插画吗? 不需要复杂的设计技能,或者手绘功底。只需借助FLUX中秋专属Lora-中秋国风人物插画v1.0_FLUX, 就可以轻松实现一键生成精美插画,特别适合用于宣传海报、包装设计等场景。 这个…

gin集成jaeger中间件实现链路追踪

1. 背景 新业务线带来新项目启动,需要改进原有项目的基础框架和组件能力,以提升后续开发和维护效率。项目搭建主要包括技术选型、框架搭建、基础服务搭建等。这其中就涉及到链路追踪的内容,结合其中的踩坑情况,用一篇文章来说明完…

高通Liunx 系统镜像编译

本文将会介绍如何在编译高通Liunx代码, 具体可以在高通 Linux | 高通下查看相关信息。 编译服务器配置 首先,准备一台Ubuntu 22.04版本主机或者服务器 1,编译Yocto 系统,需要如下一些配置 sudo apt update sudo apt install repo gawk wg…

C++——STL(list类)

1.list的介绍 1. list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。 2. list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素…

音视频入门基础:AAC专题(5)——FFmpeg源码中,判断某文件是否为AAC裸流文件的实现

一、引言 通过FFmpeg命令: ./ffmpeg -i XXX.aac 可以判断出某个文件是否为AAC裸流文件: 所以FFmpeg是怎样判断出某个文件是否为AAC裸流文件呢?它内部其实是通过adts_aac_probe函数来判断的。从《FFmpeg源码:av_probe_input_for…

TCP socket

TCP的socket和UDP大同小异,基本的代码结构都是相同的。一些相同的接口本文就不赘述了,例如,socket,bind,有需要看这篇文章UDP socket 服务端server 两步:初始化服务端,运行服务端 初始化服务端 创建soc…

物品识别——基于python语言

目录 1.物品识别 2.模型介绍 3.文件框架 4.代码示例 4.1 camera.py 4.2 interaction.py 4.3 object_detection.py 4.4 main.py 4.5 运行结果 5.总结 1.物品识别 该项目使用Python,OpenCV进行图像捕捉,进行物品识别。我们将使用YOLO&#xff08…

人工智能——猴子摘香蕉问题

一、实验目的 求解猴子摘香蕉问题,根据猴子不同的位置,求解猴子的移动范围,求解对应的过程,针对不同的目标状态进行求解。 二、实验内容 根据场景有猴子、箱子、香蕉,香蕉挂天花板上。定义多种谓词描述位置、状态等…

Vue生命周期;Vue路由配置;vue网络请求;vue跨域处理

一&#xff0c;Vue生命周期 <template><div > <h1 click"changeText">{{ info }}</h1></div> </template><script> export default {name: HelloWorld,data(){return{info:"介绍组件生命周期"}},methods:{chang…

CenterNet官方代码—目标检测模型推理部分

CenterNet模型推理部分解析 CenterNet官方代码环境部署 CenterNet作为2019年CVPR推出的论文&#xff0c;论文中给出了官方代码所在的github仓库地址。https://github.com/xingyizhou/CenterNet。 整个代码的代码量并不是特别大&#xff0c;但整个项目的难点在于使用了老版本的…

Djourney新手入门基础,AI摄影+AI设计+AI绘画-AIGC作图

人工智能技术的飞速发展&#xff0c;AI正逐渐渗透进创意领域&#xff0c;特别是在摄影、设计和绘画方面&#xff0c;AIGC&#xff08;Artificial Intelligence for Generative Content&#xff09;技术正在重塑我们的创作方式。本文将深入探讨Djourney这款创新工具&#xff0c;…

XML_Tomcat_HTTP

第四章 XML_Tomcat10_HTTP 一 XML XML是EXtensible Markup Language的缩写&#xff0c;翻译过来就是可扩展标记语言。所以很明显&#xff0c;XML和HTML一样都是标记语言&#xff0c;也就是说它们的基本语法都是标签。 可扩展 三个字表面上的意思是XML允许自定义格式。但这不代…

推荐这款神器:Perplexity

今天推荐是一款AI搜索引擎&#xff0c;还支持gpt-4模型的使用&#xff0c;虽然4小时只能使用5次&#xff0c;但是相比于常规的搜索引擎&#xff0c;在某些方面还是很强的&#xff0c;个人感觉优于newbing。 页面简洁&#xff0c;没有广告&#xff0c;内容丰富&#xff0c;功能…

LinkedHashMap 如何实现排序

目录 一、LinkedHashMap二、排序实现三、代码片段分析 一、LinkedHashMap LinkedHashMap 是 Java 中的一个集合类&#xff0c;它是 HashMap 的一个子类&#xff0c;继承了 HashMap 的所有特性&#xff0c;并且在此基础上增加了一个双向链表来维护元素的插入顺序或者访问顺序。L…

Day26_0.1基础学习MATLAB学习小技巧总结(26)——数据插值

利用空闲时间把碎片化的MATLAB知识重新系统的学习一遍&#xff0c;为了在这个过程中加深印象&#xff0c;也为了能够有所足迹&#xff0c;我会把自己的学习总结发在专栏中&#xff0c;以便学习交流。 参考书目&#xff1a; 1、《MATLAB基础教程 (第三版) (薛山)》 2、《MATL…

C++ STL中sort函数

STL的sort算法&#xff0c;数据量大时采用QuickSort快排算法&#xff0c;分段归并排序。一旦分段后的数据量小于某个门槛&#xff08;16&#xff09;&#xff0c;为避免QuickSort快排的递归调用带来过大的额外负荷&#xff0c;就改用Insertion Sort插入排序。如果递归层次过深&…