diff --git a/tests/calc/test_calc_tools.py b/tests/calc/test_calc_tools.py index d2876a51dd..f087d465bd 100644 --- a/tests/calc/test_calc_tools.py +++ b/tests/calc/test_calc_tools.py @@ -358,6 +358,18 @@ def test_get_layer(pressure, variable, heights, bottom, depth, interp, expected) assert_array_almost_equal(y_layer, expected[1], 3) +def test_get_layer_units(): + """Test get_layer when height profile has different units from bottom and depth.""" + pressure, temperature = layer_test_data() + height = units.Quantity(np.linspace(100, 50000, len(pressure)), 'm') + pres_subset, temp_subset = get_layer(pressure, temperature, + bottom=units.Quantity(1, 'km'), + depth=units.Quantity(5, 'km'), + height=height) + assert_array_almost_equal(pres_subset[1], units.Quantity(900, 'hPa'), 2) + assert_array_almost_equal(temp_subset[1], units.Quantity(16.66666667, 'degC'), 3) + + def test_get_layer_masked(): """Test get_layer with masked arrays as input.""" p = units.Quantity(np.ma.array([1000, 500, 400]), 'hPa')