主题:求助:fortran如何读写netcdf数据
fangp2007
[专家分:180] 发布于 2011-01-11 16:45:00
在windows下如何读写netcdf数据,compad visual fortran 6.5网上查了些资料,也试了,但是不成功。还查到说fortran90的好像不能读取,不知道能不能做,谁做过这方便的麻烦告诉下啊,谢谢了。
回复列表 (共6个回复)
沙发
coarray [专家分:140] 发布于 2011-01-11 17:05:00
我简直就是fortran读nc文件的大师啊~~~~,
读变量,读放大因子/偏移量, 读时次并用udunits转换为年月日时,读缺测值,校验维数的顺序是否正确。。。。还真想不出nc读写方面 我有什么做不到的~~~,问题是至少10天我才有空来这里逛一次,你很难碰上我,
板凳
weixing1531 [专家分:2580] 发布于 2011-01-13 00:02:00
WHIGG F90 LIB (WFL)
http://wfllib.googlepages.com/
楼上太牛了 膜拜中
3 楼
臭石头雪球 [专家分:23030] 发布于 2011-01-13 08:22:00
[quote]我简直就是fortran读nc文件的大师啊~~~~,
读变量,读放大因子/偏移量, 读时次并用udunits转换为年月日时,读缺测值,校验维数的顺序是否正确。。。。还真想不出nc读写方面 我有什么做不到的~~~,问题是至少10天我才有空来这里逛一次,你很难碰上我,[/quote]
果断膜拜,然后围观。
4 楼
fangp2007 [专家分:180] 发布于 2011-01-18 21:56:00
[quote]我简直就是fortran读nc文件的大师啊~~~~,
读变量,读放大因子/偏移量, 读时次并用udunits转换为年月日时,读缺测值,校验维数的顺序是否正确。。。。还真想不出nc读写方面 我有什么做不到的~~~,问题是至少10天我才有空来这里逛一次,你很难碰上我,[/quote]
太夸张了
5 楼
wnyh [专家分:50] 发布于 2011-01-22 14:55:00
我在用ff90程序读取netcdf数据时,老提示fatal error lnk1104 :cnonot open file "ifconsol.lib"但我能按照f77的格式进行读写netcdf格式的数据,f90格式与f77格式的netcdf数据格式有些不同,请问出现上述问题时,有什么解决办法么?我目前用的cvf 6.6,谢谢指教
可以指教一下吗?
6 楼
green_tea789 [专家分:0] 发布于 2012-02-01 21:53:00
我的程序:
1)变量少的话可以先用ncdump 看netcdf文件的维数
2)然后用NF_*读netcdf文件
program topodata
! Traitement of the subgrid scale topographic data for the maximum
! relative altitude(zpic) in a CAM grid.
implicit none
#include "netcdf.inc"
integer,parameter :: imdep=2160 , jmdep=1080 ! dimension of the input topodata
double precision :: lat(imdep),lon(imdep) ! coordinate of the input data
real :: htopo(imdep,jmdep) ! input topo data
integer,parameter :: imar=144 , jmar=96 ! dimension of the output topodata
double precision :: x(imar),y(jmar) ! coordinate of the output data
real :: zpic(imar+1,jmar) ! maximum relative altitude
integer:: ierr,ncid,varid,dimid,i,j
!read topo data
ierr = NF_OPEN('USGS-gtopo30_10min_c050419.nc', NF_NOWRITE, ncid)
ierr = NF_INQ_VARID(ncid,'htopo',varid)
ierr = NF_GET_VAR_REAL(ncid,varid,htopo)
ierr = NF_INQ_VARID(ncid,'lat',dimid)
ierr = NF_GET_VAR_DOUBLE(ncid,dimid,lat)
ierr = NF_INQ_VARID(ncid,'lon',dimid)
ierr = NF_GET_VAR_DOUBLE(ncid,dimid,lon)
ierr = NF_CLOSE(ncid)
end program topodata
我来回复