satpy.tests.utils module
Utilities for various satpy tests.
- class satpy.tests.utils.CustomScheduler(max_computes=1)[source]
Bases:
object
Scheduler raising an exception if data are computed too many times.
Set starting and maximum compute counts.
- class satpy.tests.utils.FakeCompositor(name, common_channel_mask=True, **kwargs)[source]
Bases:
GenericCompositor
Act as a compositor that produces fake RGB data.
Collect custom configuration values.
- Parameters
common_channel_mask (bool) – If True, mask all the channels with a mask that combines all the invalid areas of the given data.
- class satpy.tests.utils.FakeFileHandler(filename, filename_info, filetype_info, **kwargs)[source]
Bases:
BaseFileHandler
Fake file handler to be used by test readers.
Initialize file handler and accept all keyword arguments.
- available_datasets(configured_datasets=None)[source]
Report YAML datasets available unless ‘not_available’ is specified during creation.
- property end_time
Get static end time datetime object.
- property sensor_names
Get sensor name from filetype configuration.
- property start_time
Get static start time datetime object.
- class satpy.tests.utils.FakeModifier(name, prerequisites=None, optional_prerequisites=None, **kwargs)[source]
Bases:
ModifierBase
Act as a modifier that performs different modifications.
Initialise the compositor.
- satpy.tests.utils.assert_attrs_equal(attrs, attrs_exp, tolerance=0)[source]
Test that attributes are equal.
Walks dictionary recursively. Numerical attributes are compared with the given relative tolerance.
- satpy.tests.utils.assert_maximum_dask_computes(max_computes=1)[source]
Context manager to make sure dask computations are not executed more than
max_computes
times.
- satpy.tests.utils.convert_file_content_to_data_array(file_content, attrs=(), dims=('z', 'y', 'x'))[source]
Help old reader tests that still use numpy arrays.
A lot of old reader tests still use numpy arrays and depend on the “var_name/attr/attr_name” convention established before Satpy used xarray and dask. While these conventions are still used and should be supported, readers need to use xarray DataArrays instead.
If possible, new tests should be based on pure DataArray objects instead of the “var_name/attr/attr_name” style syntax provided by the utility file handlers.
- Parameters
file_content (dict) – Dictionary of string file keys to fake file data.
attrs (iterable) – Series of attributes to copy to DataArray object from file content dictionary. Defaults to no attributes.
dims (iterable) – Dimension names to use for resulting DataArrays. The second to last dimension is used for 1D arrays, so for dims of
('z', 'y', 'x')
this would use'y'
. Otherwise, the dimensions are used starting with the last, so 2D arrays are('y', 'x')
Dimensions are used in reverse order so the last dimension specified is used as the only dimension for 1D arrays and the last dimension for other arrays.
- satpy.tests.utils.make_cid(**items)[source]
Make a DataID with a minimal set of keys to id composites.
- satpy.tests.utils.make_fake_scene(content_dict, daskify=False, area=True, common_attrs=None)[source]
Create a fake Scene.
Create a fake Scene object from fake data. Data are provided in the
content_dict
argument. Incontent_dict
, keys should be strings or DataID, and values may be either numpy.ndarray or xarray.DataArray, in either case with exactly two dimensions. The function will convert each of the numpy.ndarray objects into an xarray.DataArray and assign those as datasets to a Scene object. A fake AreaDefinition will be assigned for each array, unless disabled by passingarea=False
. When areas are automatically generated, arrays with the same shape will get the same area.This function is exclusively intended for testing purposes.
If regular ndarrays are passed and the keyword argument daskify is True, DataArrays will be created as dask arrays. If False (default), regular DataArrays will be created. When the user passes xarray.DataArray objects then this flag has no effect.
- Parameters
content_dict (Mapping) – Mapping where keys correspond to objects accepted by
Scene.__setitem__
, i.e. strings or DataID, and values may be eithernumpy.ndarray
orxarray.DataArray
.daskify (bool) – optional, to use dask when converting
numpy.ndarray
toxarray.DataArray
. No effect when the values incontent_dict
are alreadyxarray.DataArray
.area (bool or BaseDefinition) – Can be
True
,False
, or an instance ofpyresample.geometry.BaseDefinition
such asAreaDefinition
orSwathDefinition
. IfTrue
, which is the default, automatically generate areas with the name “test-area”. IfFalse
, values will not have assigned areas. If an instance ofpyresample.geometry.BaseDefinition
, those instances will be used for all generated fake datasets. Warning: Passing an area as a string (area="germ"
) is not supported.common_attrs (Mapping) – optional, additional attributes that will be added to every dataset in the scene.
- Returns
Scene object with datasets corresponding to content_dict.