Code Duplication    Length = 8-10 lines in 3 locations

metpy/calc/tests/test_tools.py 3 locations

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