| Total Complexity | 2 |
| Total Lines | 47 |
| Duplicated Lines | 0 % |
| Changes | 0 | ||
| 1 | # -*- coding: utf-8 -*- |
||
| 2 | import datetime as dt |
||
| 3 | import numpy as np |
||
| 4 | import pytest |
||
| 5 | |||
| 6 | import eppaurora as aur |
||
| 7 | |||
| 8 | |||
| 9 | @pytest.mark.parametrize( |
||
| 10 | "edissfunc", |
||
| 11 | [ |
||
| 12 | aur.rr1987, |
||
| 13 | aur.rr1987_mod, |
||
| 14 | aur.fang2008, |
||
| 15 | aur.fang2010_mono, |
||
| 16 | aur.fang2010_maxw_int, |
||
| 17 | aur.fang2013_protons, |
||
| 18 | aur.berger1974, |
||
| 19 | ] |
||
| 20 | ) |
||
| 21 | def test_endiss(edissfunc): |
||
| 22 | energies = np.logspace(-1, 2, 4) |
||
| 23 | fluxes = np.ones_like(energies) |
||
| 24 | # ca. 100, 150, 200 km |
||
| 25 | scale_heights = np.array([6e5, 27e5, 40e5]) |
||
| 26 | rhos = np.array([5e-10, 1.7e-12, 2.6e-13]) |
||
| 27 | # energy dissipation "profiles" |
||
| 28 | ediss = edissfunc( |
||
| 29 | energies[None, :], fluxes[None, :], |
||
| 30 | scale_heights[:, None], rhos[:, None] |
||
| 31 | ) |
||
| 32 | assert ediss.shape == (3, 4) |
||
| 33 | return |
||
| 34 | |||
| 35 | |||
| 36 | def test_ssusi_ioniz(): |
||
| 37 | energies = np.logspace(-1, 2, 4) |
||
| 38 | fluxes = np.ones_like(energies) |
||
| 39 | z = np.array([100, 120, 150]) |
||
| 40 | # energy dissipation "profiles" |
||
| 41 | ediss = aur.ssusi_ioniz( |
||
| 42 | z[:, None], |
||
| 43 | energies[None, :], fluxes[None, :], |
||
| 44 | ) |
||
| 45 | assert ediss.shape == (3, 4) |
||
| 46 | return |
||
| 47 |