def varOfFile(filename) : lvars=varsOfFile(filename) if len(lvars) > 1 : clogger.debug("Got multiple variables (%s) and " "no direction to choose - File is %s" %\ (`lvars`,filename)) return(None) if len(lvars)==1 : return lvars[0]
def varOfFile(filename): lvars = varsOfFile(filename) if len(lvars) > 1: clogger.debug( "Got multiple variables (%s) and no direction to choose - File is %s" % (repr(lvars), filename)) return None if len(lvars) == 1: return lvars[0]
def model_id(filename): """ """ from anynetcdf import ncf rep = 'no_model' clogger.debug("opening " + filename) f = ncf(filename, 'r') if 'model_id' in dir(f): rep = f.model_id f.close() return (rep)
def model_id(filename): """ """ from anynetcdf import ncf rep='no_model' clogger.debug("opening "+filename) f=ncf(filename, 'r') if 'model_id' in dir(f) : rep=f.model_id f.close() return(rep)
def dimsOfFile(filename): """ returns the list of dimensions of the netcdf file filename """ from anynetcdf import ncf rep = False clogger.debug("opening " + filename + " for checking the dimensions") fileobj = ncf(filename) dims = fileobj.dimensions if isinstance(dims, dict): dims = dims.keys() fileobj.close() return (dims)
def fileHasVar(filename,varname): """ returns True if FILENAME has variable VARNAME """ from anynetcdf import ncf rep=False clogger.debug("opening "+filename+" for checkin if has variable"+varname) fileobj=ncf(filename) vars=fileobj.variables if isinstance(vars,dict ) : vars=vars.keys() for filevar in vars : if filevar == varname : rep=True break fileobj.close() return(rep)
def fileHasVar(filename,varname): """ returns True if FILENAME has variable VARNAME """ from Scientific.IO.NetCDF import NetCDFFile as ncf rep=False clogger.debug("opening "+filename) try : fileobj=ncf(filename) except: clogger.error("Issue opening file "+filename) return False for filevar in fileobj.variables : if filevar == varname : rep=True break fileobj.close() return(rep)
def fileHasDim(filename, dimname): """ returns True if FILENAME has dimension dimname """ from anynetcdf import ncf rep = False clogger.debug("opening " + filename + " for checkin if has dimension " + dimname) fileobj = ncf(filename) dims = fileobj.dimensions vars = fileobj.variables if isinstance(dims, dict): dims = dims.keys() if isinstance(vars, dict): vars = vars.keys() dims = dims + vars for filedim in dims: if filedim == dimname: rep = True break fileobj.close() return (rep)
def varOfFile(filename) : """ returns the name of the unique non-dimension variable in NetCDF file FILENAME, or None if it is not unique """ from Scientific.IO.NetCDF import NetCDFFile as ncf varname=None fileobj=ncf(filename) #import NetCDF4 #fileobj=netCDF4.Dataset(filename) for filevar in fileobj.variables : if ((filevar not in fileobj.dimensions) and not re.findall("^time_",filevar) and not re.findall("_bnds$",filevar) ): if varname is None : varname=filevar else : clogger.debug("Got at least two variables (%s and %s) " "and no direction to choose - File is %s"%\ (varname,filevar,filename)) return(None) fileobj.close() return(varname)