def _get_valid_input_index(source_geo_def, target_geo_def, reduce_data, radius_of_influence): """Find indices of reduced input data.""" source_lons, source_lats = _get_raveled_lonlats(source_geo_def) valid_input_index = da.invert( find_indices_outside_min_and_max(source_lons, -180., 180.) | find_indices_outside_min_and_max(source_lats, -90., 90.)) if reduce_data and is_swath_to_grid_or_grid_to_grid( source_geo_def, target_geo_def): valid_input_index &= get_valid_indices_from_lonlat_boundaries( target_geo_def, source_lons, source_lats, radius_of_influence) return valid_input_index, source_lons, source_lats
def _limit_output_values_to_input(self, data, res, fill_value): epsilon = 1e-6 data_min = da.nanmin(data) - epsilon data_max = da.nanmax(data) + epsilon res = da.where( find_indices_outside_min_and_max(res, data_min, data_max), fill_value, res) return da.where(np.isnan(res), fill_value, res)