很久之前写的一个小程序,当初要提取大量netCDF文件中的部分数据。所以写了一个小程序来进行自动化处理。
ncBrowse可以用来查看netCDF文件的中的字段和信息。
我写的程序用到了netCDF4这个包,具体源码如下:
#!/usr/bin env python#-*- coding:utf-8 -*-# __author__ = 'ShadonSniper'
from netCDF4 import Datasetimport osimport argparsefrom threading import *import time"""TEMP_FLAG = False
TEMP_ADJUSTED_FLAG = False
PSAL_FLAG = False
PSAL_ADJUSTED_FLAG = False
PRES_FLAG = False
PRES_ADJUSTED_FLAG=False
CYCLE_NUMBER_FLAG = False
PROJECT_NAME_FLAG = False
DATA_MODE_FLAG = False
LATITUDE_FLAG = False
LONGITUDE_FLAG = False
PI_NAME_FLAG = False
POSITIONING_SYSTEM_FLAG = False
"""def nc2txt(nc_file): #nc_file is your nc file path
TEMP_FLAG = False
TEMP_ADJUSTED_FLAG = False
PSAL_FLAG = False
PSAL_ADJUSTED_FLAG = False
PRES_FLAG = False
PRES_ADJUSTED_FLAG = False
CYCLE_NUMBER_FLAG = False
PROJECT_NAME_FLAG = False
DATA_MODE_FLAG = False
LATITUDE_FLAG = False
LONGITUDE_FLAG = False
PI_NAME_FLAG = False
POSITIONING_SYSTEM_FLAG = False
print '[+] File: %s Processing!'%(nc_file)
nc_fid = Dataset(nc_file, 'r')
for attr in nc_fid.variables:#print attrif attr == 'TEMP': TEMP_FLAG = Trueelif attr == 'TEMP_ADJUSTED': TEMP_ADJUSTED_FLAG = True
elif attr == 'PSAL': PSAL_FLAG=True
elif attr == 'PSAL_ADJUSTED': PSAL_ADJUSTED_FLAG = True
elif attr == 'PRES': PRES_FLAG = True
elif attr == 'PRES_ADJUSTED': PRES_ADJUSTED_FLAG = True
elif attr == 'CYCLE_NUMBER': CYCLE_NUMBER_FLAG = True
elif attr =='PROJECT_NAME': PROJECT_NAME_FLAG = True
elif attr =='DATA_MODE': DATA_MODE_FLAG = True
elif attr ==