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

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://xiahunao.cn/news/3280717.html

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

相关文章

Python文件加密库之cryptography使用详解

概要 在现代信息社会中,数据的安全性变得越来越重要。为了保护敏感信息,文件加密技术被广泛应用。Python的cryptography库提供了强大的加密功能,可以轻松实现文件加密和解密。本文将详细介绍如何使用cryptography库进行文件加密,包含具体的示例代码。 cryptography库简介 …

模型剪枝综述

目录 1 深度神经网络的稀疏性: 2 剪枝算法分类: 3 具体的剪枝方法包括: 4 剪枝算法流程: 5 几种常见的剪枝算法: 6 结构化剪枝和非结构化剪枝各有其优缺点: 7 剪枝算法对模型精度的影响 8 影响剪枝…

《集成电路应用》是什么级别的期刊?是正规期刊吗?能评职称吗?

​问题解答 问:《集成电路应用》是不是核心期刊? 答:不是,是知网收录的第一批认定学术期刊。 问:《集成电路应用》级别? 答:国家级。主管单位:中国电子信息产业集团有限公司 主…

【错误总结】Ubuntu系统中执行 sudo apt-get update报错

Ubuntu系统中执行 sudo apt-get update报错 命令行描述升级sudo报错并解决错误描述错误解决原因1:系统网络问题 原因2:设置清华源后/etc/apt/sources.list不匹配原因3:ubuntu自带的源/etc/apt/sources.list有问题 apt-get update成功log参考 …

电脑的录屏功能在哪?精准操作,电脑录屏方法大揭秘

电脑的录屏功能已成为数字时代创作和分享的重要工具。然而,对于许多人来说,要找到电脑上的录屏功能可能并不容易。究竟它们隐藏在哪里?如何启用这个功能呢?这些问题可能会让人感到困惑。 本文将带您一起探索电脑上的录屏功能所在…

ip地址会因为位置不同而改变吗

在数字化时代,IP地址作为互联网用户的“数字指纹”,扮演着至关重要的角色。它不仅是设备接入网络的唯一标识,还常常与用户的地理位置紧密相连。然而,随着移动互联网的普及和人们日常活动的多样化,一个有趣的现象逐渐显…

【漏洞复现】泛微E-Cology9 WorkPlanService 前台SQL注入漏洞(XVE-2024-18112)

0x01 产品简介 泛微e-cology是一款由泛微网络科技开发的协同管理平台,支持人力资源、财务、行政等多功能管理和移动办公。 0x02 漏洞概述 该漏洞是由于泛微e-cology未对用户的输入进行有效的过滤,直接将其拼接进了SQL查询语句中,导致系统出…

Kafka的入门及简单使用

文章目录 前言一、Kafka 的基本架构?1. Producer(生产者)2. Broker(代理/服务器)3. Consumer(消费者)4. Consumer Group(消费者组)5. Topic(主题)…

openJdk21镜像打包制作

文章目录 一.目的:二.dockerfile 代码三.调试四.效果图五.声明 一.目的: 制作基于openjdk21的基础镜像,方便后续使用 内容: 1.使用的是Debian 11 slim 作为基础镜像(在此感谢no name大佬提醒我alpine做为基础镜像不稳…

TypeScript 与 JavaScript 的对比区别

还是大剑师兰特:曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas,webgl,ech…

保研408真题练习:2009年全国硕士研究生入学统一考试(单选篇1)

🧊🧊🧊单项选择题(共40道) 🧊数据结构(10道) 🥥1.打印机的缓冲区逻辑结构 栈:先进后出; 队列:先进先出。 缓冲区的作用是解决主机…

EasyExcel 初使用—— Java 实现多种写入 Excel 功能

前言 大家好,我是雪荷。之前有一篇博客(EasyExcel 初使用—— Java 实现读取 Excel 功能_java easyexcel.read-CSDN博客)介绍了 Java 如何读取 Excel 表格,那么此篇博客就和大家介绍下 Java 如何利用 EasyExcel 写入 Excel。 Ea…

基于PHP+MySQL组合开发的微信活动投票小程序源码系统 带完整的安装代码包以及搭建部署教程

系统概述 在当今数字化时代,微信作为社交媒体的巨头,为企业和个人提供了丰富的互动营销平台。其中,投票活动作为一种有效的用户参与和互动方式,被广泛应用于各种场景。为了满足这一需求,我们推出了一款基于PHPMySQL组…

【原创教程】电气电工主要做什么?(入门篇)

本系列文章主要介绍工业电气电工所涉及到的操作技能,器件原理,图纸识别,以及电气电工质量管理。掌握本系列的技能,将能够胜任电气自动化方面的电气电工工作。 电气电工,它是一个细分领域,是目前许多公司迫…

【Python系列】Python 中`eval()`函数的正确使用及其风险分析

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

2024服贸会媒体邀约资源表-附媒体名单

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 2024年服贸会作为全球服务贸易领域的重要盛会,将再次聚焦全球目光。计划于2024年举行的服贸会将继续发挥其作为国际服务贸易桥梁的作用,不仅是展示中国服务贸易成…

激光传感器 - 从零开始认识各种传感器【第二十一期】

激光传感器|从零开始认识各种传感器 1、什么是激光传感器 激光传感器是一种利用激光技术来进行测量和检测的设备。这类传感器使用激光光束来探测目标物体的位置、距离、速度或其他特性。激光传感器具有精度高、测量距离长,抗干扰能力强的特点。 2、激光传感器是如何…

Linux下杀死进程和线程的方法

文章目录 1. 背景介绍2. 命令介绍2.1 kill 命令2.2 pkill 命令2.3 top 或 htop 命令2.4 ps 命令 3. 使用方法3.1 杀死指定PID的进程3.2 杀死指定用户的所有进程3.3 杀死所有特定名称的进程3.4 使用 top 或 htop 杀死进程 4. 代码示例5. 总结 1. 背景介绍 在Linux操作系统中&am…

电脑格式化了还能恢复数据吗?

在日常使用电脑的过程中,我们可能会因为各种原因需要格式化硬盘。然而,格式化操作会清除硬盘上的所有数据,很多人担心格式化后数据无法找回。本文将详细介绍电脑格式化后的数据恢复方法,帮助大家在不小心格式化硬盘后,…

安卓赤拳配音v1.0.3Ai配音神器+百位主播音色

Ai配音神器 本人自用版本!超级稳定!百位主播音色 登陆即可用 链接: https://pan.baidu.com/s/1NqSx32vB-xvij-1T_qYqxQ?pwdnb3b 提取码: nb3b