爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 6597|回复: 5

请教NetCDF接口netcdf.inc和Fortran 77/90之间的关系

[复制链接]

新浪微博达人勋

发表于 2016-12-1 11:26:17 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 90后 于 2016-12-1 11:37 编辑

先介绍背景。在NetCDF官网上,我们可以看到好多NetCDF Interface,有F77、F90、C和C++等。这样我们就能使用在Fotran和C等编程语言中调用NetCDF的子程序,进而处理nc数据。以Fortran为例,这些子程序名都放在安装目录下的include中,名为netcdf.inc。打开上面那个netcdf.inc,里面有很多形如“nf_”的子程序。对照官网,这些都是Fortran 77格式的。

那么,我的问题来了:Fortran 90格式的接口文件netcdf.inc在哪呢?从哪个版本开始,NetCDF提供Fortran 90的interface?我是在Linux下用的,这与安装时的编译选项有关系吗?

问题补充:安装平台Linux-Readhat,安装版本netcdf-4.1.3,安装时编译器选项FC=gfortran。安装后,netcdf.inc内容如下:

     

netcdf.inc

netcdf.inc


密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-12-2 09:28:54 | 显示全部楼层
77和的语法和90是不一样的,90之后都用module(模块)来引入外部库,所以netcdf库用use netcdf来引入。函数名称和函数的参数意义也有所调整,具体看netcdf手册。

评分

参与人数 1金钱 +20 收起 理由
90后 + 20 一语中的!

查看全部评分

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-12-1 14:50:29 | 显示全部楼层
我用的时候使用的是
use netcdf
之后调用使用 nf90_*
不过你的问题很有意义,可惜我没研究过
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-12-1 16:10:43 | 显示全部楼层
。。。。感觉好像误解了题主的意思。。。编辑掉。。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-12-2 10:44:57 | 显示全部楼层
Lancelot 发表于 2016-12-1 14:50
我用的时候使用的是
use netcdf
之后调用使用 nf90_*

明白你的意思了。看四楼更清楚。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-5-30 09:16:29 | 显示全部楼层
请问楼主,我在Linux环境的ubuntu
中安装的netcdf4.1.3,为什么在netcdf文件夹的include中没有netcdf.inc呢?好纠结啊
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表