Code Duplication    Length = 8-10 lines in 3 locations

metpy/calc/tests/test_tools.py 3 locations

@@ 333-340 (lines=8) @@
330
def test_log_interp_2d():
331
    """Test interpolating with log x-scale in 2 dimensions."""
332
    x_log = np.array([[1e3, 1e4, 1e5, 1e6], [1e3, 1e4, 1e5, 1e6]])
333
    y_log = np.log(x_log) * 2 + 3
334
    x_interp = np.array([5e3, 5e4, 5e5])
335
    y_interp_truth = np.array([20.0343863828, 24.6395565688, 29.2447267548])
336
    y_interp = log_interp(x_interp, x_log, y_log, axis=1)
337
    assert_array_almost_equal(y_interp[1], y_interp_truth, 7)
338
339
340
def test_log_interp_3d():
341
    """Test interpolating with log x-scale 3 dimensions along second axis."""
342
    x_log = np.ones((3, 4, 3)) * np.array([1e3, 1e4, 1e5, 1e6]).reshape(-1, 1)
343
    y_log = np.log(x_log) * 2 + 3
@@ 323-330 (lines=8) @@
320
      np.array([7.93049516, 0., -8.33333333, -13.14758845]) * units.degC))
321
])
322
def test_get_layer(pressure, variable, heights, bottom, depth, interp, expected):
323
    """Tests get_layer functionality."""
324
    p_layer, y_layer = get_layer(pressure, variable, heights=heights, bottom=bottom,
325
                                 depth=depth, interpolate=interp)
326
    assert_array_almost_equal(p_layer, expected[0], 5)
327
    assert_array_almost_equal(y_layer, expected[1], 5)
328
329
330
def test_log_interp_2d():
331
    """Test interpolating with log x-scale in 2 dimensions."""
332
    x_log = np.array([[1e3, 1e4, 1e5, 1e6], [1e3, 1e4, 1e5, 1e6]])
333
    y_log = np.log(x_log) * 2 + 3
@@ 343-352 (lines=10) @@
340
def test_log_interp_3d():
341
    """Test interpolating with log x-scale 3 dimensions along second axis."""
342
    x_log = np.ones((3, 4, 3)) * np.array([1e3, 1e4, 1e5, 1e6]).reshape(-1, 1)
343
    y_log = np.log(x_log) * 2 + 3
344
    x_interp = np.array([5e3, 5e4, 5e5])
345
    y_interp_truth = np.array([20.0343863828, 24.6395565688, 29.2447267548])
346
    y_interp = log_interp(x_interp, x_log, y_log, axis=1)
347
    assert_array_almost_equal(y_interp[0, :, 0], y_interp_truth, 7)
348
349
350
def test_log_interp_4d():
351
    """Test interpolating with log x-scale 4 dimensions."""
352
    x_log = np.ones((2, 2, 3, 4)) * np.array([1e3, 1e4, 1e5, 1e6])
353
    y_log = np.log(x_log) * 2 + 3
354
    x_interp = np.array([5e3, 5e4, 5e5])
355
    y_interp_truth = np.array([20.0343863828, 24.6395565688, 29.2447267548])