MCPcopy Index your code
hub / github.com/pydata/xarray / test_to_and_from_iris_dask

Method test_to_and_from_iris_dask

xarray/tests/test_dataarray.py:7139–7217  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

7137 @requires_iris
7138 @requires_dask
7139 def test_to_and_from_iris_dask(self) -> None:
7140 import cf_units # iris requirement
7141 import dask.array as da
7142 import iris
7143
7144 coord_dict: dict[Hashable, Any] = {}
7145 coord_dict["distance"] = ("distance", [-2, 2], {"units": "meters"})
7146 coord_dict["time"] = ("time", pd.date_range("2000-01-01", periods=3, unit="ns"))
7147 coord_dict["height"] = 10
7148 coord_dict["distance2"] = ("distance", [0, 1], {"foo": "bar"})
7149 coord_dict["time2"] = (("distance", "time"), [[0, 1, 2], [2, 3, 4]])
7150
7151 original = DataArray(
7152 da.from_array(np.arange(-1, 5, dtype="float").reshape(2, 3), 3),
7153 coord_dict,
7154 name="Temperature",
7155 attrs=dict(
7156 baz=123,
7157 units="Kelvin",
7158 standard_name="fire_temperature",
7159 long_name="Fire Temperature",
7160 ),
7161 dims=("distance", "time"),
7162 )
7163
7164 # Set a bad value to test the masking logic
7165 original.data = da.ma.masked_less(original.data, 0)
7166
7167 original.attrs["cell_methods"] = "height: mean (comment: A cell method)"
7168 actual = original.to_iris()
7169
7170 # Be careful not to trigger the loading of the iris data
7171 actual_data = (
7172 actual.core_data() if hasattr(actual, "core_data") else actual.data
7173 )
7174 assert_array_equal(actual_data, original.data)
7175 assert actual.var_name == original.name
7176 assert tuple(d.var_name for d in actual.dim_coords) == original.dims
7177 assert actual.cell_methods == (
7178 iris.coords.CellMethod(
7179 method="mean",
7180 coords=("height",),
7181 intervals=(),
7182 comments=("A cell method",),
7183 ),
7184 )
7185
7186 for coord, original_key in zip((actual.coords()), original.coords, strict=True):
7187 original_coord = original.coords[original_key]
7188 assert coord.var_name == original_coord.name
7189 assert_array_equal(
7190 coord.points, CFDatetimeCoder().encode(original_coord.variable).values
7191 )
7192 assert actual.coord_dims(coord) == original.get_axis_num(
7193 original.coords[coord.var_name].dims
7194 )
7195
7196 assert (

Callers

nothing calls this directly

Calls 11

to_irisMethod · 0.95
DataArrayClass · 0.90
assert_identicalFunction · 0.90
CFDatetimeCoderClass · 0.85
typeFunction · 0.85
arangeMethod · 0.80
from_irisMethod · 0.80
from_arrayMethod · 0.45
coordsMethod · 0.45
encodeMethod · 0.45
get_axis_numMethod · 0.45

Tested by

no test coverage detected