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 cmake

sudo 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 main

    use netcdf  ! 正确模块名

    implicit none

    print *, "NetCDF version: ", nf90_inq_libvers()  ! 正确函数名

end program

六、编译运行Fortran程序

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

复制代码
gfortran test.f90 `nf-config --fflags --flibs` -o test.exe

gfortran 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环境中运行了。

相关推荐
Escalating_xu12 分钟前
【Linux 网络编程】DNS 与 ICMP:从域名解析到 ping、traceroute,把“网络通不通”问清楚
linux·网络·php
如若1232 小时前
Windows SSH + Headscale/Tailscale 组网及免密登录完整配置教程
运维·windows·ubuntu·ssh·内网穿透
一枕槐安4872 小时前
大模型限流、重试、超时处理:API 调用健壮性方案
linux·服务器·php·大模型api·指数退避·限流控制·超时预算
西索斯coding2 小时前
gpt-image-2.5-sunburst 和 gemini-3.1-flash-image 差多少?60 组项目素材的成功成本评测框架
java·linux·gpt·ai
箓维2 小时前
应用层协议基础_序列化与反序列化
linux
wuminyu3 小时前
Java字节码学习总结:字节码如何加载、解析和执行
java·linux·c语言·jvm·c++
十年磨一剑~4 小时前
Linux 内核中断处理机制与软硬件协同流程
linux·嵌入式硬件
Ruiery4 小时前
Linux 6.6内核并发与同步(五):mutex 可睡眠锁
linux·运维·服务器
莫晓燚4 小时前
双机部署若依 (RuoYi‑Vue) 传统环境部署---实战
linux·运维·数据库·redis·mysql·nginx·ruoyi
CQU_JIAKE5 小时前
10.30【A】
linux