|
@@ 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]) |