【WRF安装第二期(Ubuntu)】搭建WRF编译所需系统-系统环境检验

news2024/9/9 6:54:12

WRF安装第二期:搭建WRF编译所需系统-系统环境检验

  • 0 升级和安装基础环境
  • 1 系统环境检验(System Environment Tests)
    • 1.1 检验和安装基础包
      • 1.1.1 安装指令
      • 1.1.2 检验指令
    • 1.2 WRF安装的目录结构
      • 1.2.1 WRF系统环境测试
    • 1.3 测试编译器,进入测试目录,下载测试包并解压
  • 参考

WRF官方安装教程

如果您使用的是个人计算机,并且不熟悉您的系统、编译器、库等,建议您遵循我们的在线编译教程网页。我们已经整理了一个页面,它将有助于验证您的系统是否正确设置,以及您是否有必要的编译器。它还将帮助您安装库,如netCDF和MPICH(用于并行运行),并将确保所有内容都是最新的并彼此兼容。然后它将帮助您编译WRF ARW和WPS。

在这里插入图片描述
主要步骤如下:

  • 系统环境检验(System Environment Tests)
  • 构建库(Building Libraries)
  • 库(Library Comparability Tests)
  • 构建WRF(Building WRF)
  • 构建WPS(Building WPS)
  • 静态地理数据(Static Geography Data)
  • 实时数据(Real-time Data)
  • 运行WPS和WRF(Run WPS and WRF)

0 升级和安装基础环境

1、升级sudo,输入以下指令

sudo apt-get update

终端界面如下:
在这里插入图片描述
注:sudo是系统管理指令,可以暂时性地让普通用户获得一些超级权限。
在个人你的计算机上,执行sudo命令需要当前Linux账户的密码,所以在注册时请务必记清账户密码;如果你已经是root超级用户,则你已经拥有了Linux系统全部的权限,不需要sudo便可以执行所有的命令;如果你在服务器上没有超级权限,无法执行安装命令,又缺少一些必要基础包,请联系你的管理员询问解决办法。

1 系统环境检验(System Environment Tests)

WRF模型需要安装的系统环境有:

系统环境用途
cshShell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务,csh是具有C语言风格的一种shell。
m4m4是一个通用的宏处理器,主要是后续的安装过程中会用到,不然会报错。
gccgcc是由GNU推出的一款功能强大的、性能优越的多平台编译器。gcc编译器能将C、C++语言源程序和目标程序编译、连接成可执行文件,而后面很多包都是C或者C++的。
g++和gcc功能差不多,或者说干的事情都是一样的,但是有些文件用gcc编译会报错,所以还需要它。
cppcpp文件是指C++源代码文件,它包含了使用C++编写的程序的源代码
gfortran对应的fortran编译器,WRF有一些东西是fortran编的。
makemake是一种C文件编译器,和gcc一样,但是大型的工程中,里面有很多文件,因此进行开发的时候,每个文件都使用gcc进行编译会很麻烦。而使用make文件,则可一次性对很多文件进行编译。

1.1 检验和安装基础包

1.1.1 安装指令

输入以下安装指令:

sudo apt-get install gfortran cpp gcc g++ m4 libcurl4-openssl-dev libxml2 libxml2-dev libhdf5-dev

终端窗口如下:
在这里插入图片描述
其他基础指令:

ar head sed awk hostname sleep cat ln sort cd ls tar cp make touch cut mkdir tr expr mv uname file nm wc grep printf which gzip rm unzip curl ld locate

这些指令一般Linux系统自带,如果没有则使用apt-get自行安装。

此外git指令也是需要的,下载地址https://git-scm.com/

1.1.2 检验指令

gfortran编译器以及gcc和cpp非常重要。

第一步:测试是否存在
要测试系统中是否存在,请输入以下命令:

which gfortran
which cpp
which gcc
  • which指令用于查找并显示给定命令软件(二进制文件)的绝对路径,这个指令非常实用,当一个命令有多个安装路径时,这个指令可以确定命令调用的路径。
  • 如果发现which没有返回结果,即PATH中缺失某个路径,则需要安装相应软件。
  • 当调用的路径不是你希望的路径时,需要在PATH左侧添加重新添加路径以调整路径优先级。

终端窗口如下:显示路径表明已安装
在这里插入图片描述
第二步:确定安装版本
确定gfortran等的版本代码如下:

gfortran --version
cpp --version
gcc --version

终端窗口如下:
在这里插入图片描述

1.2 WRF安装的目录结构

WRF安装的目录结构如下:

Build_WRF
  |-- TESTS
  |-- LIBRARIES
  |-- WPS
  |-- WRF
  |–DATA(输入场数据,位置可自选)
  |-- GEOG(地表静态数据,位置可自选)

1.2.1 WRF系统环境测试

第一步:创建各目录/文件夹

创建两个文件夹,一个Build_WRF,用来进行WRF的安装;一个TESTS,用来进行安装前的环境测试。
输入命令如下:

mkdir Build_WRF
cd Build_WRF
mkdir TESTS
mkdir LIBRARIES

终端窗口如下:
在这里插入图片描述

添加目录位置变量,以简化指令的输入,这里的xxx由你自己服务器的情况而定:

#export DIR=/home/xxx/Build_WRF
export DIR=`pwd`
echo $DIR #返回结果应该为/home/xxx/Build_WRF

第二步:下载并解压测试环境文件

将操作目录进入TESTS,输入以下命令

cd TESTS

下载fortran 和 c 语言的测试包,输入以下指令:

wget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/Fortran_C_tests.tar

终端窗口如下:
在这里插入图片描述
解压文件,执行以下命令:

tar -xvf Fortran_C_tests.tar

终端窗口如下:
在这里插入图片描述

1.3 测试编译器,进入测试目录,下载测试包并解压

一共有七项测试,均显示SUCCESS则表示成功。值得注意的是本文使用的编译器是GUN编译器,相应的C和Fortran编译器为gcc和gfortran。除此之外,还有一种Intel编译器,相应的C和Fortran编译器为icc和ifort。

text 1 固定格式 Fortran 测试:TEST_1_fortran_only_fixed.f
输入以下命令:

gfortran TEST_1_fortran_only_fixed.f
./a.out

终端窗口如下:
在这里插入图片描述
text 2 自由格式 Fortran 测试:TEST_2_fortran_only_free.f90
输入以下命令:

gfortran TEST_2_fortran_only_free.f90
./a.out

终端窗口如下:
在这里插入图片描述
text 3 C 测试:TEST_3_c_only.c
输入以下命令:

gcc TEST_3_c_only.c
./a.out

终端窗口如下:
在这里插入图片描述
text 4 Fortran调用C函数 测试( gcc 和 gfortran 有不同的默认值,因此强制两者在组合时始终使用 64 位 [-m64]):TEST_4_fortran+c_c.c和TEST_4_fortran+x_f.f90
输入以下命令:

gcc -c -m64 TEST_4_fortran+c_c.c
gfortran -c -m64 TEST_4_fortran+c_f.f90
gfortran -m64 TEST_4_fortran+c_f.o TEST_4_fortran+c_c.o
./a.out

终端窗口如下:
在这里插入图片描述
text 5 csh 测试
输入以下命令:

./TEST_csh.csh

终端窗口如下:
在这里插入图片描述
text 6 perl 测试
输入以下命令:

./TEST_perl.pl

终端窗口如下:
在这里插入图片描述
text 7 sh 测试
输入以下命令:

./TEST_sh.sh

终端窗口如下:
在这里插入图片描述
至此,WRF模型安装前环境测试顺利完成。

参考

1、CSDN博客-WRF安装和运行的技术教程
2、CSDN博客-WRF模型安装教程(ububtu系统)-- Ⅰ.系统环境设置与检测

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

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

相关文章

(40)温度传感器

文章目录 前言 1 设置 2 记录 3 参数说明 前言 ArduPilot 已经有许多可能的温度报告来源:电调,智能电池,电机 EFI,这些独立的传感器可以用来取代 ArduPilot 中已经存在的那些设备温度报告。它们也可以只是被记录下来。 ArduP…

智慧环卫可视化:科技赋能城市清洁管理

图扑智慧环卫可视化通过实时监控、数据分析和智能调度,提高环卫作业效率,优化资源配置,提升城市清洁水平,实现城市管理的精细化和现代化。

【p-export-excel】一个轻松实现Excel文件导出的JavaScript插件

p-export-excel(github:https://github.com/pbstar/p-export-excel)是一个功能强大的JavaScript插件,专门用于导出Excel文件。它支持xlsx和csv两种格式,且提供了丰富的配置选项,允许开发者根据实际需求进行…

SuperMap iDesktopXiClient3D for WebGL 基于确定性空间插值生成水体流场

目录 摘要1 原始数据解析2 数据空间插值2.1流场UVW0.dat文件转xlsx2.2生成流场点数据2.3生成U、V栅格数据2.4裁剪U、V栅格数据2.5生成零值棋盘网格2.6生成U、V棋盘栅格 3 棋盘栅格转棋盘点3.1U、V棋盘栅格矢量化3.2U、V字段追加3.3流场数据JSON标准解析3.3.1流场数据JSON范例3.…

Nacos配置到springboot快速入门(笔记)

本人学习中的简单笔记,本文写的极其不详细,慎看!!! Nacos 简介 Nacos 致力于帮助开发者发现、配置和管理微服务。它提供了一组简单易用的特性集,帮助开发者快速实现动态服务发现、服务配置、服务元数据及…

【RL】强化学习入门:从基础到应用

本篇文章是博主强化学习RL领域学习时,用于个人学习、研究或者欣赏使用,并基于博主对相关等领域的一些理解而记录的学习摘录和笔记,若有不当和侵权之处,指出后将会立即改正,还望谅解。文章强化学习: 强化学习…

ECRS标准工时分析软件:中小企业数字化转型的工时管理利器

在当今全球化竞争日益激烈的背景下,中小企业面临着前所未有的挑战与机遇。为了在市场中脱颖而出,实现可持续发展,数字化转型已成为不可逆转的趋势。然而,对于资源相对有限的中小企业而言,如何高效、精准地管理工时&…

昇思25天学习打卡营第9天|RNN实现情感分类

第十天的不小心把第九天的覆盖了。现在重新补上。 情感分类是自然语言处理中的经典任务,是典型的分类问题。输入一句话,然后去语义理解这句话是褒义贬义还是中性的。不同的情感语境下理解的大基调是不同的。 RRN情感分类也是一个分类模型,是…

【提问募集】向世界级软件开发大师“Bob 大叔”Robert C. Martin 提出你的疑虑!

函数式编程作为一种编程范式,其根源可以追溯到 20 世纪 30 年代,当时数学家们正在探索计算理论的基础。1936 年,阿隆佐丘奇提出了 λ 演算(Lambda Calculus),这是一种形式系统,用于表达函数抽象…

【EI会议征稿通知】第五届大数据、人工智能与软件工程国际研讨会(ICBASE 2024)

重要信息 会议官网:www.icbase.org(查看详情) 中文主页:【往届会后3个月检索】第五届大数据、人工智能与软件工程国际研讨会(ICBASE 2024)_艾思科蓝_学术一站式服务平台 会议时间:2024年9月2…

【优秀python案例】基于Python的京东商城口红商品的爬虫与可视化的设计与实现

摘要:随着互联网的普及,网络购物已经成为了人们购物的首选,用户只需要在电商平台上进行自己喜欢的商品进行搜素,就可以得到成千上万条商品信息。而在购买商品时,商品价格就成为了用户的主要关注对象,而在一…

深入理解 go context

打个广告:欢迎关注我的微信公众号,在这里您将获取更全面、更新颖的文章! 原文链接:深入理解 go context 欢迎点赞关注 context 介绍 context 是 Go 语言中用于处理并发操作的一个重要概念。context也被称作上下文,主要…

vue基础知识总结(2)--- axios的使用

一.下载Vue3: 选择自己想要下载的项目文件夹,cmd回车打开命令栏,执行 : cnpm init vuelatest 然后等待一会就可以创建一个项目,并更改项目名: √ 请输入项目名称: ... vue-project 之后按照…

python做简单爬虫的一些常用组件

文章目录 前言requestjsonbs4 前言 最近一直在做零散的一次性的爬虫工作,基本都是用python开发的,整理一下python做小规模爬虫开发常用的一些工具类 request python最简单的发http请求的包,request.get和request.post就可以搞定绝大部分的…

ECMA6Script学习笔记(五)

【摘要】 本文是对自己学习ES6的学习笔记回顾,后面是概要: 本文介绍了ES6中的对象创建和拷贝方法。对象创建方面,ES6通过class关键字支持了面向对象的语法糖,包括属性设置、getter和setter方法、构造器、静态方法以及私有属性的定义。同时,展…

Linux系统root账号密码破解(重置)

如果想不起root账号密码应该怎么做? 先关机再重新启动(重启虚拟机)做相关操作,开机时不能让服务器完全启动,需要把开机引导系统(GRUB)调出来 注:在实际生产环境中使用的Linux没有图…

四,系统规划

一,企业系统规划法BSP(2009、2010、2018,步骤以及优缺点、用到的工具) 企业系统规划法(Business Systems Planning,BSP)是IBM公司20世纪70年代提出的一种结构化的信息系统规划方法。该方法通过…

Spring Cloud微服务项目公共类抽取

在微服务架构中,代码的重用性和维护性是非常重要的。Spring Cloud 提供了丰富的工具和框架来帮助我们构建和管理微服务应用,但随着项目规模的扩大,我们会遇到大量的重复代码和相似的逻辑。在这种情况下,抽取公共类成为提高代码质量…

回归测试:保障软件质量的利器

目录 前言1. 回归测试的概念1.1 定义1.2 目标 2. 回归测试的主要作用2.1 确保系统稳定性2.2 提高软件质量2.3 节省维护成本 3. 回归测试在整个测试中的地位3.1 单元测试阶段3.2 集成测试阶段3.3 系统测试阶段3.4 验收测试阶段 4. 回归测试的主要工具4.1 Selenium4.2 JUnit4.3 J…

《Redis设计与实现》读书笔记-数据结构(SDS)

目录 SDS定义 SDS结构 SDS与C字符串结构差异 SDS优点 SDS扩容策略 SDS惰性空间回收 SDS定义 SDS(简单动态字符串),用于代替C语言自身的字符串(字符容量与字符数组强相关)。 SDS结构 sdshdr{int free //sds 中…