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

相关推荐
Hey小孩12 小时前
[个人总结] LDD3:3.字符驱动 - scull(4)
linux·驱动开发
陈让然12 小时前
VS Code新版本无法连接WSL ubuntu18.04
linux·运维·ubuntu
oMcLin12 小时前
如何在Oracle Linux 8.4上通过配置Oracle RAC集群,确保企业级数据库的高可用性与负载均衡?
linux·数据库·oracle
小杰帅气12 小时前
神秘的环境变量和进程地址空间
linux·运维·服务器
Vect__12 小时前
基于CSAPP对链接和库的理解
linux
胖咕噜的稞达鸭12 小时前
进程间的通信(1)(理解管道特性,匿名命名管道,进程池,systeam V共享内存是什么及优势)重点理解代码!
linux·运维·服务器·数据库
Coder个人博客12 小时前
Linux6.19-ARM64 boot Makefile子模块深入分析
linux·车载系统·系统架构·系统安全·鸿蒙系统
知识分享小能手12 小时前
Ubuntu入门学习教程,从入门到精通,Ubuntu 22.04中的人工智能—— 知识点详解 (25)
人工智能·学习·ubuntu
可爱又迷人的反派角色“yang”12 小时前
k8s(五)
linux·运维·docker·云原生·容器·kubernetes
oMcLin12 小时前
如何在Ubuntu 22.10上通过配置K3s轻量级Kubernetes集群,提升边缘计算环境的资源管理能力?
ubuntu·kubernetes·边缘计算