使用 gfortran 编译 CALPUFF

2023-11-03

1. 升级gfortran 7

默认gortran的版本是4.8

gfortran --version

GNU Fortran (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39) Copyright © 2015
Free Software Foundation, Inc.

安装calpuff需要5.4以上的版本,这里通过安装gcc 7 来安装gfortran7

sudo yum install centos-release-scl
sudo yum install devtoolset-7-gcc*
scl enable devtoolset-7 bash
gfortran --version

GNU Fortran (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5) Copyright © 2017
Free Software Foundation, Inc.

2. 安装netcdf

CALWRF需要netcdf,所以先确定本机的netcdf安装目录以及版本

which ncdump

/usr/local/netcdf/bin

ncdump


netcdf library version 4.7.0

如果以上命令没有返回,则说明没有安装netcdf,可通过yum安装

yum install netcdf

3. 编译CALWRF

目前最新的稳定版是 2.0.3: 下载地址:
http://www.src.com/calpuff/download/Mod7_Files/CALWRF_v2.0.3_L190426.zip
下载好后解压,进入解压目录,将文件名全都转换为小写,然后用gfortran进行编译:
如果netcdf的版本是3

gfortran -L/usr/local/netcdf/lib -lnetcdf -I/usr/local/netcdf/include -o calwrf.exe calwrf.f

如果netcdf的版本是4

gfortran -L/usr/local/netcdf/lib -lnetcdff -I/usr/local/netcdf/include -o calwrf.exe calwrf.f

4. 编译CALMET

目前最新的稳定版是 6.5.0: 下载地址:
http://www.src.com/calpuff/download/Mod7_Files/CALMET_v6.5.0_L150223.zip
下载好后解压,进入解压目录,将文件名全都转换为小写,然后用gfortran进行编译:

for f in *; do mv $f `echo $f|tr [A-Z] [a-z]`; done
gfortran calmet.for -o calmet.exe

5. 编译CALPUFF

目前最新的稳定版是 7.2.1: 下载地址:
http://www.src.com/calpuff/download/Mod7_Files/CALPUFF_V7.2.1_L150618.zip
下载好后解压,进入解压目录,如果直接用gfortran进行编译:

gfortran modules.for calpuff.for -o calpuff.exe

会提示以下错误:

Error: Nonnegative width required in format string at (1)

根据提示,找到calpuff.for对应的行数 :修改read()函数第二个参数为*, 比如:read(line_ver((i1+4):32),'(f)') rver 修改为 read(line_ver((i1+4):32),*) rver ,
read(awork2(1:n2),'(i)') irmap(nsamp) 修改为 read(awork2(1:n2),*) irmap(nsamp)
保存,重新执行编译命令即可。

6. 编译CALPOST

目前最新的稳定版是 7.1.0: 下载地址:
http://www.src.com/calpuff/download/Mod7_Files/CALPOST_v7.1.0_L141010.zip
下载好后解压,进入解压目录,如果直接用gfortran进行编译:

gfortran calpost.for -o calpost.exe

会提示以下错误:

Error: Nonnegative width required in format string at (1)

解决方法同 3. 安装CALPUFF一样,修改源代码,重新编译。

参考

CentOS 7 直接安装 gcc 7
Ubuntu下gfortran编译安装CALWRF
calpuff_install-v2.pdf
CALPUFF 7.3.1 modeling system is now available

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 gfortran 编译 CALPUFF 的相关文章

  • 通过 os.system 推送 [重复]

    这个问题在这里已经有答案了 我正在使用 crontab 为我的 Minecraft 服务器运行维护脚本 大多数时候它工作正常 除非 crontab 尝试使用重新启动脚本 如果我手动运行重新启动脚本 则不会有任何问题 因为我相信它与路径名有关
  • 脚本通过 CentOS 安装 mysql-server,无需密码提示

    我的操作系统是 CentOS 6 6 我想知道如何通过 shell 脚本自动安装 mysql server 我发现有一个主题讨论了同样的问题 但在 CentOS 6 上失败了 ubuntu安装mysql无密码提示 https stackov
  • shell_exec 不在后台运行,还有其他解决方案吗?

    我在 CentOS 上的 apache 中使用 php 我需要为用户提供服务 他们可以通过点击删除大文件 尝试使用 shell exec 但它不在后台运行 它运行并让用户等待 我的命令 D command rm rf 视频 Mdelete
  • 在 Linux 上安装 nloptr

    我正在尝试安装 R 包nloptr在没有互联网连接的 CentOS Linux 机器上 如下所示 install packages home ravi nloptr 1 0 4 tar gz repos NULL type source 该
  • APC缓存碎片问题

    我在 CentOS 服务器 5 上运行 APC php 缓存 每天 13 000 次访问 运行 php 5 3 3 APC 3 1 4 和 4Gb RAM 在过去的几周里 我经历了很多 unable to allocate memory f
  • Centos 7 Postgres 服务的环境变量

    最近我遇到了使用自定义 PGDATA 路径启动 postgresql 服务的问题 它尝试查找未初始化的默认数据目录 var lib pgsql 9 3 data 因此触发了这些错误 问题似乎是 Centos 7 上的服务启动器删除了所有环境
  • 将 apply 的管道输出传送到 centos 中的记录

    我正在尝试自动化 websocket 客户端的一些测试 该客户端根据命令连接到服务器 该服务器基本上是一个语音到文本引擎 客户端支持来自麦克风的音频流 这样人们就可以实时录制自己的声音并将其传输到引擎 我在 centos 虚拟机中运行客户端
  • 在centos 6.4上安装numpy&scipy

    我在虚拟环境中工作 安装 numpy 和 scipy 时遇到问题 据我了解 在使用 scipy 之前我必须完全安装 numpy 但是我在安装 numpy 时遇到了问题 I usedpip install numpy并将 numpy 安装到我
  • make: *** /lib/modules/2.6.32-279.el6.x86_64/build: 没有这样的文件或目录。停止

    我从他们的网站下载了 RALINK 驱动程序 untar xvf rtl 然后我在其中运行 make 谷歌搜索建议 kernel devel 需要安装 我安装了 kernel devel 软件包 但仍然收到此错误 make lib modu
  • git 存储库在 Linux 中从 jenkins 连接时出现 403 错误

    嗨 我只想将我的项目从 github 配置到 jenkins 来生成 build gradle 文件 我收到以下错误 Failed to connect to repository Command usr bin git ls remote
  • 从 CentOS 7 或 RHEL 7 中完全删除 MariaDB 或 MySQL

    我在 CentOS 7 上安装了 MariaDB 但我在某些配置上遇到了一些问题 现在它完全配置错误 因此 我想用 yum remove mariadb mariadb server 删除MariaDB 然后用 yum install ma
  • 编译 Lua - 创建 .so 文件?

    我正在 Centos 6 5 上编译 Lua 5 2 3 编译 安装工作正常 但是 我还需要编译另一个程序的开发库 我通常会通过这样做来安装它们 yum install lua devel 问题是安装 Lua 5 1 共享库 而不是 5 2
  • Python - 什么时候可以使用 os.system() 发出常见的 Linux 命令

    从另一个线程中分离出来 什么时候适合使用 os system 发出 rm rf cd make xterm ls 等命令 考虑到上述命令有模拟版本 make 和 xterm 除外 我假设使用这些内置 python 命令而不是使用 os sy
  • PHP 5.3.8 上的 Mime 类型检测失败并显示 fileinfo

    我在 CentOS 服务器上安装了 PHP 5 3 8 时 无法使用 fileinfo 检测简单 PNG 文件的 mime 类型 问题 基本上 如果我有以下代码 如您所见 该文件是 PNG 图像 文件的头字节已被检查并
  • Composer 已安装,但获取 /usr/bin/env: php: No such file or directory

    在 CentOS 7 上 我安装了 PHP 7 1 然后我安装了作曲家 cd tmp curl sS https getcomposer org installer php71 gt used php71 instead of php ph
  • 套接字错误 10054

    我有一个C S程序 客户端使用socket向服务器发送文件 发送后大约超过700k数据 客户端 在win7上 将收到套接字10054错误 这意味着连接被对等方重置 服务器运行在CentOS 5 4上 客户端是在virtual box中运行的
  • 如何使用缓存快速重建dockerfile?

    我想优化我的 Dockerfile 我希望将缓存文件保留在磁盘中 但是 当我跑步的时候我发现docker build 它总是尝试从网络获取每个文件 我希望在构建期间共享我的缓存目录 例如 var cache yum x86 64 6 但是
  • 将 bash 脚本作为守护进程运行

    我有一个脚本 它每 X 次运行我的 PHP 脚本 bin bash while true do usr bin php f my script php echo Waiting sleep 3 done 我怎样才能将它作为守护进程启动 要从
  • 错误:无法下载存储库“appstream”的元数据:无法准备内部镜像列表:镜像列表中没有 URL

    我正在尝试使用我在 Dockerfile 中指定的 centOs 上的 yum 下载 java 拉取 centOs 镜像后 运行崩溃并抛出此错误 还要提一下 我的服务器实例是AWS EC2 Step 2 9 RUN yum install
  • 在centos上设置jenkins:ssh密钥和git的问题

    经历了很多问题 但似乎没有什么能解决我的问题 或者更准确地说 我不确定我是否正确地完成了整个事情 所以这里是 已安装centos 6 3操作系统 然后我按照以下指南安装詹金斯 https wiki jenkins ci org displa

随机推荐

  • vue3+ts+mock

    项目地址 使用vite创建的vue3 ts项目 集成了mock vuex 项目截图 修改主题 项目克隆及运行 克隆 git clone https gitee com liwensa vue3 tsmock git 进入项目运行 npm i
  • 深度学习中常见的损失函数

    目录 一 损失函数的定义 二 常见的回归损失函数 1 L1 LOSS MAE平均绝对误差 2 L2 LOSS MSE均方差误差 3 Smooth L1 LOSS 4 IOU LOSS及其各种变种 三 常见的分类损失函数 1 交叉熵损失函数
  • Linux删除含有特殊符号文件名的文件

    1 使用 ls i 查处该文件的 inode 号 假设为123 2 使用find命令删除 rm find inum 123 如果是目录 rm rvf find inum 123
  • Going deeper with convolutions(InceptionNet)

    进一步深化卷积 Abstract 摘要 我们提出了一个代号为Inception的深度卷积神经网络架构 该架构负责设置2014年ImageNet大规模视觉识别挑战赛 ILSVRC14 中用于分类和检测的新技术 该体系结构的主要标志是提高了网络
  • 一个例子理解梯度下降法(附梯度下降法与最小二乘法比较)

    一个例子理解梯度下降法 例子描述 梯度下降法简介 基于python3 matplotlib的实现代码 梯度下降法实现 最小二乘法实现 比较结果 总结 最近听课时 AI导论老师留下了一个简单的线性回归例子 这个例子属于单变量线性回归 可以用梯
  • Ajax入门

    文章目录 axios体验 axios 查询参数 常用请求方法 数据提交 axios错误处理 axios体验 引入axios库 使用axios语法 axios url 目标资源地址 then result gt 对服务器返回的数据做后续处理
  • 识别图片中曲线并获取其坐标

    识别图片中曲线并获取其坐标 github主页 https github com Taot chen 有时候需要用到一些数据库里面曲线图的数据 进行进一步的变换处理 但是很多时候都只有图片 没有数据 基于这个问题 给出了以下算法 思路 1 通
  • live555 移植

    转自 http blog csdn net lawishere article details 8182952 Live555 是一个为跨平台的C 开源项目 它实现了RTP RTCP RTSP SIP等的支持 并且相对于其他的流媒体服务器是
  • 记一次Ubuntu PHP-SSH2扩展安装

    要部署 PHP SSH2的项目 按照网上教程来 发现操作十分繁琐 于是就去apt找有没有相关的安装 首先 更新apt源 apt update 再 进行libssh2的安装 apt get install libssh2 1 libssh2
  • Mat 变换错误排查

    背景 想执行一个平移变换 try cv Mat original points cv Mat
  • 深度学习中:epoch、batch size和iterations之间的关系

    机器学习中 epoch batchsize和iterations之间的关系 在深度学习中 epoch batchsize和iterations是在训练模型时 一定用到的一些概念 那么分别是什么意思呢 首先 为什么会用到以上概念 是因为 梯度
  • 算法题——洛谷2

    P8723 乘法表 题目描述 九九乘法表是学习乘法时必须要掌握的 在不同进制数下 需要不同的乘法表 例如 四进制下的乘法表如下所示 1 1 1 2 1 2 2 2 10 3 1 3 3 2 12 3 3 21 请注意 乘法表中两个数相乘的顺
  • 清理memcached缓存

    清理memcached缓存 首先telnet连接memcache 然后 flush all 清除缓存 最后quit退出 root admin telnet 192 168 101 51 12000 Trying 10 118 180 58
  • AES+BASE64双重加密,解密 私钥,向量解析

    使用AES加密 再使用base64编码加密 具体细节请看注释 加密 param sSrc 加密的明文 param sKey 秘钥 param iv 向量 16 bytes return throws Exception public sta
  • 如何用最短的时间理解一项数字技术?推荐这7本最新的白皮书(大数据、云原生、区块链、联邦学习等,附下载)...

    正文开始 信息技术 数据被国家认定为新的生产要素 对于数据从业者来说是时代赋予的巨大红利 但也要认识到 数据要素要发挥出价值 离不开数据要素市场的培育 更依赖于信息技术 大数据 人工智能 区块链 云计算 边缘计算 物联网等 的加持 为了抓住
  • ML算法——梯度下降随笔【机器学习】

    文章目录 2 1 梯度下降 2 1 梯度下降 梯度下降如何帮助参数优化 梯度下降是一种用于参数优化的常见方法 它的基本思想是通过迭代地更新参数 以减小损失函数 代价函数的值 从而找到一个最优解 梯度方向 向右 正向 向左 反方向 梯度方向是
  • 《机器学习(周志华)》 西瓜数据集3.0(含规范化以后数据)

    书上的一个常用数据集 plain view plain copy 编号 色泽 根蒂 敲声 纹理 脐部 触感 密度 含糖率 好瓜 1 青绿 蜷缩 浊响 清晰 凹陷 硬滑 0 697 0 46 是 2 乌黑 蜷缩 沉闷 清晰 凹陷 硬滑 0 7
  • 【vue3】锚点定位(两种实现方式)

    方法1 利用ref实现锚点定位 前面的废话文学 说到锚点定位 很多人第一时间会想到 a标签 但是a标签实现的锚点定位并不是那么的完美 特别是在hash模式下 对我而言 vue3的ref就实在是太完美了 解决问题的方法 很多情况下 我们会循环
  • 五层网络协议,各层功能,各层协议

    一 OSI七层模型 OSI七层协议模型主要是 应用层 Application 表示层 Presentation 会话层 Session 传输层 Transport 网络层 Network 数据链路层 Data Link 物理层 Physic
  • 使用 gfortran 编译 CALPUFF

    1 升级gfortran 7 默认gortran的版本是4 8 gfortran version GNU Fortran GCC 4 8 5 20150623 Red Hat 4 8 5 39 Copyright 2015 Free Sof