Python和netCDF脚本不再运行

时间:2014-07-15 09:25:03

标签: variables python-2.6 netcdf

我正在使用python 2.6脚本,我已经使用了很长一段时间了,我得到一个错误,它不应该存在。 python脚本从netCDF文件所在的位置运行,这里是代码

from numpy import *
import numpy as numpy
from netCDF4 import Dataset
import datetime as DT
from time import strftime
import os

floc ='/media/USB-HDD/NCEP_NCAP data/data_2010/'   #location of directory that the file resides
fname ='cfsr_Scotland_2010'    # name of the netCDF file
in_ext = '.nc'        # ending extentsion of the netCDF

basetime = DT.datetime(2010,01,01,0,0,0)   # Initial time (start) for the netCDF

ncfile = Dataset(floc+fname+in_ext,'r')    # netCDF assigned name



time = ncfile.variables['time']
lon = ncfile.variables['lon'] 
lat = ncfile.variables['lat']
uwind = ncfile.variables['10u']  
vwind = ncfile.variables['10v']
ht = ncfile.variables['height'] 

我在ncfile命名中得到错误,这很奇怪,因为我检查了它的写法

Traceback (most recent call last):
  File "CFSR2WIND.py", line 24, in <module>
    ncfile = Dataset(floc+fname+in_ext,'r')    # netCDF assigned name
  File "netCDF4.pyx", line 1317, in netCDF4.Dataset.__init__ (netCDF4.c:14608)
RuntimeError: No such file or directory

有谁知道原因和原因,以及如何解决

谢谢

乔治

1 个答案:

答案 0 :(得分:1)

尝试使用scipy中的netcdf模块:

from scipy.io.netcdf import netcdf_file as Dataset 

结合其他建议:

  1. 导入numpy。你导入了两次,使用*在所有实例中读取都有点危险。按照惯例,大多数人将numpy缩写为np并将其加载为import numpy as np。然后,您可以使用np.mean()来调用numpy中的实例。

  2. 连接路径,文件名和文件扩展名。使用+符号使用字符串连接是可以的,但是使用join命令可以使用另一种方法。因此,总文件名将类似于filename = ''.join([floc, fname, in_ext])