当前位置: 首页 > news >正文

Linux环境下(Ubuntu)Fortran语言如何安装配置NetCDF

NetCDF(Network Common Data Form)格式,简称nc格式,是一种自描述、与平台无关的二进制数据文件,特别适合多维数据的存储和交换,广泛应用于气象、海洋、地球科学等领域。本文介绍如何在Ubuntu系统下安装配置NetCDF库。

一、环境准备

操作系统:

  • Ubuntu 22.04

所需软件包:

  • Fortran编译工具:gcc,gfortran
  • CMake(可选)
  • NetCDF-C 和 NetCDF-Fortran库(从源码安装时需要)

二、安装依赖项

sudo apt update   #sudo apt install build-essential gfortran cmakesudo apt install libhdf5-dev hdf5-tools

三、安装NetCDF库

  • 安装NetCDF-C(C语言接口),Ubuntu可以通过系统管包管理器直接安装
sudo apt install libnetcdf-dev
  • 安装NetCDF-Fortran (Fortran接口),同样通过Ubuntu系统管包管理器直接安装
sudo apt install libnetcdff-dev

四、验证安装是否成功

查看NetCDF-C 库是否安装及版本

nc-config –version

结果显示:netCDF 4.8.1 表示已安装4.8.1版本的NetCDF-C;

查看NetCDF-Fortran 库是否安装及版本:

nf-config –version

结果显示:netCDF-Fortran 4.5.4 表示已安装版本4.5.4版本的netCDF-Fortran;

查看Fortran编译参数信息:

nf-config –version

会输出Fortran编译的相关信息:

五、编写Fortran程序测试NetCDF

创建文件 test.f90

program mainuse netcdf  ! 正确模块名implicit noneprint *, "NetCDF version: ", nf90_inq_libvers()  ! 正确函数名end program

六、编译运行Fortran程序

可以使用nf-config自动生成编译参数:

gfortran test.f90 `nf-config --fflags --flibs` -o test.exegfortran test.f90 -o test.exe `nf-config --fflags --flibs`

或者手动指定netcdf.mod所在路径:

gfortran test.f90 -o test.exe \-I/usr/include \-L/usr/lib \-lnetcdff -lnetcdf

运行命令:

./test.exe

运行正常会输出NetCDF版本信息,例如:

NetCDF version: 4.8.1 of Sep 29 2021 09:36:14 $

这样,就说明NetCDF已经安装完成,可以在Fortran程序中正常调用,并在Linux环境中运行了。

http://www.lryc.cn/news/610198.html

相关文章:

  • Integer Types Range and varieties
  • QT:交叉编译mysql驱动库
  • MySQL进阶:(第八篇)深入解析InnoDB存储架构
  • 如何手动打包 Linux(麒麟系统)的 Qt 程序
  • Linux 系统启动原理
  • 通用代码自用
  • [硬件电路-156]:什么是电信号? 电信号的本质:电信号是随时间变化的电压或电流。本质是电子运动表征信息,兼具能量传输与信息编码传递功能。
  • 开源网页生态掘金:从Bootstrap二次开发到行业专属组件库的技术变现
  • 多线程(一)
  • 【Spring AI快速上手 (二)】Advisor实现对话上下文管理
  • 【计算机网络 | 第2篇】计算机网络概述(下)
  • 如何使用 DBeaver 连接 MySQL 数据库
  • 移动端 WebView 视频无法播放怎么办 媒体控件错误排查与修复指南
  • SAP-ABAP:ABAP Open SQL 深度解析:核心特性、性能优化与实践指南
  • 深入剖析Java Stream API性能优化实践指南
  • Mybatis 简单练习,自定义sql关联查询
  • 卸油管链接检测误检率↓76%:陌讯多模态融合算法实战解析
  • Dbeaver数据库的安装和使用(保姆级别)
  • 基于FAISS和Ollama的法律智能对话系统开发实录-【大模型应用班-第5课 RAG技术与应用学习笔记】
  • Ubuntu系统VScode实现opencv(c++)图像一维直方图
  • 机器学习【六】readom forest
  • 微服务配置管理:Spring Cloud Alibaba Nacos 实践
  • 电子电气架构 ---智能电动汽车嵌入式软件开发过程中的block点
  • Nginx服务做负载均衡网关
  • 36.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--缓存Token
  • FPGA学习笔记——简单的乒乓缓存(RAM)
  • 飞算JavaAI需求转SpringBoot项目沉浸式体验
  • android内存作假通杀补丁(4GB作假8GB)
  • labview连接PLC的三种方式
  • 设计模式(一)——抽象工厂模式