1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.orekit.models.earth.ionosphere;
18
19 import org.hipparchus.CalculusFieldElement;
20 import org.hipparchus.Field;
21 import org.hipparchus.util.Binary64Field;
22 import org.hipparchus.util.FastMath;
23 import org.junit.jupiter.api.Assertions;
24 import org.junit.jupiter.api.BeforeEach;
25 import org.junit.jupiter.api.Test;
26 import org.orekit.Utils;
27
28 public class SingleLayerModelMappingFunctionTest {
29
30 @BeforeEach
31 public void setUp() throws Exception {
32 Utils.setDataRoot("regular-data");
33 }
34
35 @Test
36 public void testMappingFactor() {
37
38 final IonosphericMappingFunction model = new SingleLayerModelMappingFunction();
39
40 final double factor70 = model.mappingFactor(FastMath.toRadians(20.0));
41 Assertions.assertEquals(2.09, factor70, 0.01);
42
43 final double factor75 = model.mappingFactor(FastMath.toRadians(15.0));
44 Assertions.assertEquals(2.32, factor75, 0.01);
45
46 final double factor80 = model.mappingFactor(FastMath.toRadians(10.0));
47 Assertions.assertEquals(2.55, factor80, 0.01);
48
49 final double factor85 = model.mappingFactor(FastMath.toRadians(5.0));
50 Assertions.assertEquals(2.73, factor85, 0.01);
51 }
52
53 @Test
54 public void testFieldMappingFactor() {
55 doTestFieldMappingFactor(Binary64Field.getInstance());
56 }
57
58 private <T extends CalculusFieldElement<T>> void doTestFieldMappingFactor(final Field<T> field) {
59 final T zero = field.getZero();
60
61 final IonosphericMappingFunction model = new SingleLayerModelMappingFunction();
62
63 final T factor70 = model.mappingFactor(zero.add(FastMath.toRadians(20.0)));
64 Assertions.assertEquals(2.09, factor70.getReal(), 0.01);
65
66 final T factor75 = model.mappingFactor(zero.add(FastMath.toRadians(15.0)));
67 Assertions.assertEquals(2.32, factor75.getReal(), 0.01);
68
69 final T factor80 = model.mappingFactor(zero.add(FastMath.toRadians(10.0)));
70 Assertions.assertEquals(2.55, factor80.getReal(), 0.01);
71
72 final T factor85 = model.mappingFactor(zero.add(FastMath.toRadians(5.0)));
73 Assertions.assertEquals(2.73, factor85.getReal(), 0.01);
74 }
75
76 }