我有问题在python中打开/获取格式为.nc
的modis数据(级别2)的变量。通常我使用netCDF4模块打开/获取3级modis数据的变量(sst
,chlo_a
,lon
,lat
)并且它可以正常工作。
from netCDF4 import Dataset
f = r"F:\WORK\L3_modis\input\A2016006.L3m_DAY_SST_sst_4km.nc"
fh = Dataset(f, mode='r')
lons = fh.variables['lon'][:]
lats = fh.variables['lat'][:]
sst = fh.variables['sst'][:]
但脚本不能用于2级modis数据。这是脚本:
from netCDF4 import Dataset
r = "F:\\WORK\\L3_modis\\input\\A2012001062000.L2_LAC_OC.x.nc"
fh = Dataset(r, mode='r')
sst = fh.variables['chlo_a'][:] #trying to get chlo_a variable
问题在于它无法找到第2级modis数据的变量(chlo_a
,sst
等等。)
据我所知,当我尝试使用hdf格式的modis 2级时,它可以工作。 chloropyhll-a变量称为< chlor_a'。这是脚本:
import pyhdf.SD import SD
f=SD('D:\\ORS\cilacap_pacitan_2013079\A2013079064500.L2_LAC_OC.x.hdf')
print f.datasets().keys()
['l2_flags', 'elat', 'clon', 'vcal_offset', 'msec', 'vcal_gain', 'chlor_a', 'year', 'elon', 'wavelength', 'tilt', 'cntl_pt_rows', 'latitude', 'slon', 'slat', 'Tau_r', 'day', 'F0', 'k_oz', 'longitude', 'cntl_pt_cols', 'clat', 'csol_z']
data=array(F.select('chlor_a').get()) #trying to get chlor_a variable
print data