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

相关推荐
墨寒博客栈11 小时前
Linux基础常用命令
java·linux·运维·服务器·前端
重生之我在20年代敲代码11 小时前
【Linux网络编程】初识网络,理解TCP/IP五层模型
linux·运维·服务器·网络
**蓝桉**11 小时前
服务器管理
linux·笔记
没枕头我咋睡觉12 小时前
【运维】ubuntu修改镜像源
linux·运维·ubuntu
鲸鱼爱泡芙12 小时前
IMX6ULL无法通过Ubuntu22.04 NFS uboot挂载rootfs根目录解决
linux
努力学习的小廉12 小时前
深入了解linux网络—— 守护进程
linux·运维·网络
wheeldown13 小时前
【Linux】从内存布局到信号屏蔽:Linux 内核态与用户态交互核心知识点汇总
linux·运维·服务器
落羽的落羽13 小时前
【Linux系统】C/C++的调试器gdb/cgdb,从入门到精通
linux·服务器·c语言·c++·人工智能·学习·机器学习
张彦峰ZYF13 小时前
高频面试题(含笔试高频算法整理)基本总结回顾5
linux·运维·服务器
liuccn13 小时前
Ubuntu 22.04 离线升级 OpenSSH 到 9.8p1
linux·ubuntu·github