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

Method test_to_and_from_iris

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

Source from the content-addressed store, hash-verified

7066class TestIrisConversion:
7067 @requires_iris
7068 def test_to_and_from_iris(self) -> None:
7069 import cf_units # iris requirement
7070 import iris
7071
7072 # to iris
7073 coord_dict: dict[Hashable, Any] = {}
7074 coord_dict["distance"] = ("distance", [-2, 2], {"units": "meters"})
7075 coord_dict["time"] = ("time", pd.date_range("2000-01-01", periods=3, unit="ns"))
7076 coord_dict["height"] = 10
7077 coord_dict["distance2"] = ("distance", [0, 1], {"foo": "bar"})
7078 coord_dict["time2"] = (("distance", "time"), [[0, 1, 2], [2, 3, 4]])
7079
7080 original = DataArray(
7081 np.arange(6, dtype="float").reshape(2, 3),
7082 coord_dict,
7083 name="Temperature",
7084 attrs={
7085 "baz": 123,
7086 "units": "Kelvin",
7087 "standard_name": "fire_temperature",
7088 "long_name": "Fire Temperature",
7089 },
7090 dims=("distance", "time"),
7091 )
7092
7093 # Set a bad value to test the masking logic
7094 original.data[0, 2] = np.nan
7095
7096 original.attrs["cell_methods"] = "height: mean (comment: A cell method)"
7097 actual = original.to_iris()
7098 assert_array_equal(actual.data, original.data)
7099 assert actual.var_name == original.name
7100 assert tuple(d.var_name for d in actual.dim_coords) == original.dims
7101 assert actual.cell_methods == (
7102 iris.coords.CellMethod(
7103 method="mean",
7104 coords=("height",),
7105 intervals=(),
7106 comments=("A cell method",),
7107 ),
7108 )
7109
7110 for coord, original_key in zip((actual.coords()), original.coords, strict=True):
7111 original_coord = original.coords[original_key]
7112 assert coord.var_name == original_coord.name
7113 assert_array_equal(
7114 coord.points, CFDatetimeCoder().encode(original_coord.variable).values
7115 )
7116 assert actual.coord_dims(coord) == original.get_axis_num(
7117 original.coords[coord.var_name].dims
7118 )
7119
7120 assert (
7121 actual.coord("distance2").attributes["foo"]
7122 == original.coords["distance2"].attrs["foo"]
7123 )
7124 assert actual.coord("distance").units == cf_units.Unit(
7125 original.coords["distance"].units

Callers

nothing calls this directly

Calls 9

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

Tested by

no test coverage detected