def update_longitude(inst, lon_name=None, high=180.0, low=-180.0): """ Update longitude to the desired range Parameters ------------ inst : pysat.Instrument instance instrument object to be updated lon_name : string name of the longtiude data high : float Highest allowed longitude value (default=180.0) low : float Lowest allowed longitude value (default=-180.0) Returns --------- updates instrument data in column 'lon_name' """ from pysat.utils.coords import adjust_cyclic_data if lon_name not in inst.data.keys(): raise ValueError('uknown longitude variable name') new_lon = adjust_cyclic_data(inst[lon_name], high=high, low=low) # Update based on data type if inst.pandas_format: inst[lon_name] = new_lon else: inst[lon_name].data = new_lon return
def test_adjust_cyclic_data_default(self): """ Test adjust_cyclic_data with default range """ test_in = np.radians(self.test_angles) - np.pi test_angles = coords.adjust_cyclic_data(test_in) assert test_angles.max() < 2.0 * np.pi assert test_angles.min() >= 0.0
def test_adjust_cyclic_data_custom(self): """ Test adjust_cyclic_data with a custom range """ test_angles = coords.adjust_cyclic_data(self.test_angles, high=180.0, low=-180.0) assert test_angles.max() < 180.0 assert test_angles.min() >= -180.0
def test_adjust_cyclic_data_default(self): """ Test adjust_cyclic_data with default range """ ref_rad = np.radians(self.ref_angles) - np.pi ref_angles = coords.adjust_cyclic_data(ref_rad) assert ref_angles.max() < 2.0 * np.pi assert ref_angles.min() >= 0.0