def initialize(self, args, **cfg_args): self.configure(**cfg_args) (grid_file, data_file, interface, varname, grid_coords, var_proc_op) = args self.gf = cdms2.open(grid_file) if grid_file else None self.df = cdms2.open(data_file) self.var = self.getProcessedVariable(varname, var_proc_op) self.extractMetadata() self.grid = self.var.getGrid() self.lev = self.getLevel(self.var) lon, lat = self.getLatLon(grid_coords) if (id(lon) <> id(None)) and (id(lat) <> id(None)): self.time = self.var.getTime() z_scale = 0.5 self.missing_value = self.var.attributes.get('missing_value', None) if self.lev == None: domain = self.var.getDomain() for axis in domain: if PlotType.isLevelAxis(axis[0].id.lower()): self.lev = axis[0] break self.computePoints() self.setPointHeights(height_var=grid_coords[3], z_scale=z_scale) np_var_data_block = self.getDataBlock(self.var).flatten() if self.missing_value: var_data = numpy.ma.masked_equal(np_var_data_block, self.missing_value, False) else: var_data = np_var_data_block self.point_data_arrays[self.defvar] = var_data self.vrange = (var_data.min(), var_data.max()) self.var_data_cache[self.iTimeStep] = var_data self.metadata['vbounds'] = self.vrange
def initialize( self, args, **cfg_args ): self.configure( **cfg_args ) ( grid_file, data_file, interface, varname, grid_coords, var_proc_op ) = args self.gf = cdms2.open( grid_file ) if grid_file else None self.df = cdms2.open( data_file ) self.var = self.getProcessedVariable( varname, var_proc_op ) self.extractMetadata() self.grid = self.var.getGrid() self.lev = self.getLevel(self.var) lon, lat = self.getLatLon( grid_coords ) if ( id(lon) <> id(None) ) and ( id(lat) <> id(None) ): self.time = self.var.getTime() z_scale = 0.5 self.missing_value = self.var.attributes.get( 'missing_value', None ) if self.lev == None: domain = self.var.getDomain() for axis in domain: if PlotType.isLevelAxis( axis[0].id.lower() ): self.lev = axis[0] break self.computePoints() self.setPointHeights( height_var=grid_coords[3], z_scale=z_scale ) np_var_data_block = self.getDataBlock(self.var).flatten() if self.missing_value: var_data = numpy.ma.masked_equal( np_var_data_block, self.missing_value, False ) else: var_data = np_var_data_block self.point_data_arrays[ self.defvar ] = var_data self.vrange = ( var_data.min(), var_data.max() ) self.var_data_cache[ self.iTimeStep ] = var_data self.metadata['vbounds'] = self.vrange