def __init__(self, filename=None, topology_file=None, extrapolate=False, time_offset=0, **kwargs): """ Initialize an IceWindMover :param filename: absolute or relative path to the data file: could be netcdf or filelist :param topology_file=None: absolute or relative path to topology file. If not given, the IceMover will compute the topology from the data file. :param active_range: Range of datetimes for when the mover should be active :type active_range: 2-tuple of datetimes :param wind_scale: Value to scale wind data :param extrapolate: Allow current data to be extrapolated before and after file data :param time_offset: Time zone shift if data is in GMT uses super, super(IceWindMover,self).__init__(\*\*kwargs) """ # NOTE: will need to add uncertainty parameters and other dialog fields # use super with kwargs to invoke base class __init__ # if child is calling, the self.mover is set by child - do not reset if type(self) == IceWindMover: self.mover = CyIceWindMover() if not os.path.exists(filename): raise ValueError( 'Path for current file does not exist: {0}'.format(filename)) if topology_file is not None: if not os.path.exists(topology_file): raise ValueError( 'Path for Topology file does not exist: {0}'.format( topology_file)) # check if this is stored with cy_ice_wind_mover? self.name = os.path.split(filename)[1] self.filename = filename self.topology_file = topology_file # check if this is stored with cy_ice_wind_mover? self.extrapolate = extrapolate self.mover.text_read(filename, topology_file) self.mover.extrapolate_in_time(extrapolate) self.mover.offset_time(time_offset * 3600.) super(IceWindMover, self).__init__(**kwargs)