|
@@ 85-105 (lines=21) @@
|
| 82 |
|
return |
| 83 |
|
|
| 84 |
|
|
| 85 |
|
@pytest.mark.parametrize( |
| 86 |
|
"edissfunc, expected", |
| 87 |
|
# exclude bremsstrahlung for now, |
| 88 |
|
# scipy's rbf interpolation uses np.meshgrid |
| 89 |
|
# which messes with the order of the dimensions |
| 90 |
|
# and doesn't work for higher-dimensional arrays |
| 91 |
|
EDISS_FUNCS_EXPECTED[:-1], |
| 92 |
|
) |
| 93 |
|
def test_endiss_3d_transposed(edissfunc, expected): |
| 94 |
|
energies = np.logspace(-1, 2, 4) |
| 95 |
|
fluxes = np.ones_like(energies) |
| 96 |
|
# ca. 100, 150, 200 km |
| 97 |
|
scale_heights = np.array([6e5, 27e5, 40e5]) |
| 98 |
|
rhos = np.array([5e-10, 1.7e-12, 2.6e-13]) |
| 99 |
|
ediss = edissfunc( |
| 100 |
|
energies[None, :, None], fluxes[None, :, None], |
| 101 |
|
scale_heights[:, None, None], rhos[:, None, None] |
| 102 |
|
) |
| 103 |
|
assert ediss.shape == (3, 4, 1) |
| 104 |
|
np.testing.assert_allclose(ediss[0, 2, 0], expected) |
| 105 |
|
return |
| 106 |
|
|
| 107 |
|
|
| 108 |
|
def test_ssusi_ioniz(): |
|
@@ 62-82 (lines=21) @@
|
| 59 |
|
return |
| 60 |
|
|
| 61 |
|
|
| 62 |
|
@pytest.mark.parametrize( |
| 63 |
|
"edissfunc, expected", |
| 64 |
|
# exclude bremsstrahlung for now, |
| 65 |
|
# scipy's rbf interpolation uses np.meshgrid |
| 66 |
|
# which messes with the order of the dimensions |
| 67 |
|
# and doesn't work for higher-dimensional arrays |
| 68 |
|
EDISS_FUNCS_EXPECTED[:-1], |
| 69 |
|
) |
| 70 |
|
def test_endiss_3d(edissfunc, expected): |
| 71 |
|
energies = np.logspace(-1, 2, 4) |
| 72 |
|
fluxes = np.ones_like(energies) |
| 73 |
|
# ca. 100, 150, 200 km |
| 74 |
|
scale_heights = np.array([6e5, 27e5, 40e5]) |
| 75 |
|
rhos = np.array([5e-10, 1.7e-12, 2.6e-13]) |
| 76 |
|
ediss = edissfunc( |
| 77 |
|
energies[None, None, :], fluxes[None, None, :], |
| 78 |
|
scale_heights[:, None, None], rhos[:, None, None] |
| 79 |
|
) |
| 80 |
|
assert ediss.shape == (3, 1, 4) |
| 81 |
|
np.testing.assert_allclose(ediss[0, 0, 2], expected) |
| 82 |
|
return |
| 83 |
|
|
| 84 |
|
|
| 85 |
|
@pytest.mark.parametrize( |